Автор работы: Пользователь скрыл имя, 30 Октября 2013 в 20:56, курсовая работа
Набор операций АЛУ является одной из основных его характеристик, которые должны быть функционально полными, т.е. обеспечивать реализацию любого вычислительного алгоритма. И хотя функциональную полноту можно обеспечить очень узким набором операций, число различных операций, выполняемых в АЛУ, обычно составляет от нескольких десятков до нескольких сотен. Это обеспечивает сокращение длины программ и повышение быстродействия ЭВМ в целом.
Введение………………………………………………………………………….3
1. Техническое задание на проектирование……………………………………4
1.1. Основание и назначение…………………………………………………4
1.2. Назначение………………………………………………………………..4
1.3. Требование к программе…………………………………………………4
1.3.1 Общие требования………………………………………………….4
1.3.2. Требования к функциональным характеристикам……………….4
1.3.3. Требования к надежности…………………………………………5
1.3.4. Требования к параметрам технических средств…………………5
1.3.5. Требования к программной совместимости………………………5
1.3.6. Требование к технической документации………………………..5
2. Разработка программного приложения…………………………………….6
2.1. Алгоритм решения задачи……………………………………………….6
2.2. Пользовательский интерфейс…………………………………………….6
2.3. Ввод и вывод данных………………………………………………….….7
2.4. Операции сдвигов………………………………………………………..8
2.5. Завершение работы и закрытие приложения……………………………9
3. Реализация проекта………………………………………………………….10
3.1. Интерфейсная часть……………………………………………………..11
3.2. Кодовая часть…………………………………………………………….12
4. Компиляция, компоновка и тестирование программы……………………17
4.1. Компиляция………………………………………………………………17
4.2. Компоновка………………………………………………………………18
4.3. Тестирование…………………………………………………………….19
5. Руководство пользователя…………………………………………………………21
Список литературы……………………………………………………………………22
Приложение 1………………………………………………………………………….23
Приложение 2………………………………………………………………………….24
Приложение 2
Листинг программы «Битовые сдвиги»
//----------------------------
#include <vcl.h>
#pragma hdrstop
#include "b_sdvig.h"
//----------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//----------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//----------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Form1->BorderStyle = bsToolWindow; // создание окна с ограниченными размерами
}
//----------------------------
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
if(IsCharAlpha(Key) || Key == '!' || Key == '"' || Key == ';' || Key == '%' ||
Key == ':' || Key == '?' || Key == '*' || Key == '(' || Key == ')' ||
Key == '=' || Key == '+' || Key == '_' || Key == '@' || Key == '#' ||
Key == '$' || Key == '^' || Key == '&')
Key = 0; // запрет ввода алфавитных символов и др.
}
//----------------------------
void __fastcall TForm1::Edit2KeyPress(TObject *Sender, char &Key)
{
if(IsCharAlpha(Key) || Key == '!' || Key == '"' || Key == ';' || Key == '%' ||
Key == ':' || Key == '?' || Key == '*' || Key == '(' || Key == ')' ||
Key == '=' || Key == '+' || Key == '_' || Key == '@' || Key == '#' ||
Key == '$' || Key == '^' || Key == '&')
Key = 0; // запрет ввода алфавитных символов и др.
}
//----------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if (Edit1->Text=="" || Edit2->Text=="") // проверяем введены ли числа
{
ShowMessage ("Числа не введены!"); // если нет выводим сообщение
}
else // если введены то
{
int a; // переменная для числа a
int b; // переменная для числа b
int result; // переменная для результата
a=StrToInt (Edit1->Text); // берем из Edit1 строку и переводим ее в число
b=StrToInt (Edit2->Text); // берем из Edit2 строку и переводим ее в число
result=a<<b; // сдвигаем число а на b-битов влево и помещаем в переменную для результата
Edit3->Text=IntToStr (result); // выводим значение переменной
}
}
//----------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
if (Edit1->Text=="" || Edit2->Text=="") // проверяем введены ли числа
{
ShowMessage ("Числа не введены!"); // если нет выводим сообщение
}
else // если введены то
{
int a; // переменная для числа a
int b; // переменная для числа b
int result; // переменная для результата
a=StrToInt (Edit1->Text); // берем из Edit1 строку и переводим ее в число
b=StrToInt (Edit2->Text); // берем из Edit2 строку и переводим ее в число
result=a>>b; // сдвигаем число а на b-битов вправо и помещаем в переменную для результата
Edit3->Text=IntToStr (result); // выводим значение переменной результат
}
}
//----------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Close(); // закрываем приложение
}
//----------------------------