Битовые сдвиги

Автор работы: Пользователь скрыл имя, 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

Прикрепленные файлы: 1 файл

Курсовая.doc

— 347.50 Кб (Скачать документ)

 

 

 

 

 

 

 

Приложение 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(); // закрываем приложение

}

//---------------------------------------------------------------------------

 

 

 

 


Информация о работе Битовые сдвиги