Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая (Берлог).docx
Скачиваний:
1
Добавлен:
08.09.2019
Размер:
302.75 Кб
Скачать

Державний університет інформаційно-комунікаційних технологій

Інститут інформаційних технологій

Кафедра Комп’ютерних систем та мереж

КУРСОВА РОБОТА

(пояснювальна записка)

з дисципліни

“Комп’ютерні інформаційні технології”

Тема

"Переклад чисел в різні системи числення"

Варіант № 1

Спеціальність: КСМ

Виконав: студент групи КСД-11 Берлог Анатолій Вячеславович

Перевірив: доцент кафедри КСМ Черевик В'ячеслав Михайлович

Київ 2012

Зміст

Вступ…...……………………………………………………………………………………………1

Завдання……...…………………………………………………………………...………………. .2

1.Математичний опис задачі………………………………………………..…...……………….3

2.1.Опис програми………………….……………………………...…………………...….............4

2.2.Компоненти та їх значення….....................……………………………………...…………..4

3.Схема алгоритму вирішення задачі…………………….…………………………...…...........5

4.Лістинг програми…………………………………………………………………………..……6

5.Налагоджування та тестування програми……………………………………………….....10

Висновки…………………...…………………………………………………………………...…14

Список використаної літератури……...…………………………………………………….....15

Вступ

Мова Delphi – об`єктно-орієнтована мова, що суворо типізується, в основі якого лежить добре знайомий програмістам Object Pascal.

В даний час програмістам стала доступна чергова версія пакету Delphi – Borland Delphi 7 Studio. До складу пакету включені всілякі утиліти, що забаезпечують роботу з базами даних, XML-документами, створення довікової системи, вирішення інших завдань. Відмітною особливістю сьомої версії є підтримка технології .NET.

На сучасному етапі розвитку компютерних систем в світі розвинулася і поширилася велика кількість мов програмування, які призначені для різних областей людської діяльності. Визначальним моментом при виборі мови програмування додатків в більшості випадків являється досвід у використанні тієї чи іншої мови.

Згідно технічного завдання мені необхідно використати середовище Delphi для розробки архіватора на основі статистичного метода Хаффмана.

Delphi - є середовищем розробки програм, яке використовує багато передових ідей і концепцій, закладених в графічному інтерфейсі Windows. Як відомо, середовище розробки великою мірою визначає ефективність роботи програміста. У середовищі програмування Delphi є всі необхідні інструменти для того, щоб створювати повноцінні програми. Писати, компілювати і тестувати програму - все це можна робити, не виходячи з Delphi.

В Delphi використовується мова Object Pascal, який постійно розширюється та доповнюється Borland. Мова в повній мірі відповідає всім вимогам, які пред`являються до об`єктно-орієнтовної мови програмування.

Таким чином, ви можете використовувати Delphi для створення як найпростіших програм, на розробку яких потрібно близько 2-3 годин, так і серйозних корпоративних проектів, призначених для роботи десятків та сотень користувачів. Причому для цього можна використовувати будь-які новинки у світі комп`ютерних технологій з мінімальними затратами часу та сил.

Borland Delphi 7 Studio може працювати в середовищі операційних систем від Windows 98 до Windows 7. Особливих вимог, по сучасних мірках, до ресурсів комп'ютера пакет не пред'являє, так як вони досить низькі процесор має бути типа Pentium або Celeron з тактовою частотою не нижче 166 Мгц (рекомендується Pentium II 400 Мгц), оперативній пам'яті - 128 Мбайт (рекомендується 256 Мбайт), достатня кількість вільного дискового простору (для повної установки версії Enterprise необхідне приблизно 475 Мбайт)

Завдання

Метою курсової роботи є створення зручної та коректно працюючої програми. Її функцією буде переклад числа в іншу систему числення з основами 2, 8, 10, 16. Зразком для даної програми є звичайний системний калькулятор.

1. Математичний опис задачі

Переведення цілого числа з десяткової системи числення у будь-яку іншу здійснюється шляхом послідовного ділення числа на основу нової системи числення. Ділення виконується до тих пір, поки остання частка не стане менше дільника. Отримані остачі від ділення, взяті у зворотному порядку, будуть значеннями розрядів числа в новій системі числення. Остання частка дає старшу цифру числа.

Приклад: (24)10 = (?)2

(24)10 = (11000) 2

Приклад: (143)10 = (?)8

(143)10 = (217)8

Приклад: (687)10 = (?)16

(687)10 = (2AF)16

2.1 Опис програми

Під час запуску виводиться вікно програми (Рисунок 1), що містить блакитне поле і розміщені на ньому кнопки: 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, С, = («Перевести»), а також «дисплеї» на яких відображаються початкове число та результат обчислень.

При натисканні на кнопку-цифру на «дисплеї» з початковим числом з`явиться набрана цифра. Після введення потрібного числа потрібно вибрати бажану систему числень (початково вибрана 2-ва система, також доступні 8-ва, 10-ва, 16-ва).

Для обчислення та виводу результату потрібно натиснути конпку «Перевести», а для скидання результату потрібно натиснути кнопку «С».

Рисунок 1

2.2 Компоненти та їх значення

Edit1 – поле для введення необхідного числа;

SpinEdit1 – компонента для введення цілих чисел, в даному випадку для вибору системи числення;

Button1 – кнопка для переводу числа та отримання результату;

Bevel1 – поле для відображення кінцевого результату переводу числа;

BitBtn 1..11 – кнопки для введення (або для видалення «С») необхідного числа;

Label 1..5 – умовні позначення.

3. Схема алгоритму вирішення задачі

Схема алгоритму переводу числа в іншу систему числень (див.Рисунок 2).

Рисунок 2

Введення даних – початкове число;

i – обрана система числень;

S – результат операцій переводу.

4. Лістинг програми

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons, Spin, ExtCtrls;

type

TForm1 = class(TForm)

edit1: TEdit;

button1: TButton;

label1: TLabel;

Label2: TLabel;

Label3: TLabel;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

BitBtn4: TBitBtn;

BitBtn5: TBitBtn;

BitBtn6: TBitBtn;

BitBtn7: TBitBtn;

BitBtn8: TBitBtn;

BitBtn9: TBitBtn;

BitBtn10: TBitBtn;

BitBtn11: TBitBtn;

SpinEdit1: TSpinEdit;

Label4: TLabel;

Bevel1: TBevel;

Label5: TLabel;

procedure button1Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure BitBtn4Click(Sender: TObject);

procedure BitBtn5Click(Sender: TObject);

procedure BitBtn6Click(Sender: TObject);

procedure BitBtn7Click(Sender: TObject);

procedure BitBtn8Click(Sender: TObject);

procedure BitBtn9Click(Sender: TObject);

procedure BitBtn11Click(Sender: TObject);

procedure BitBtn10Click(Sender: TObject);

procedure SpinEdit1Change(Sender: TObject);

private

{ Private declarations }

Продовження лістингу

public

{ Public declarations }

end;

const

zn : string[36] = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';

var

Form1: TForm1;

implementation

{$R *.dfm}

function Convert(chis:integer;osn:byte):string;

begin

result:='';

repeat

result:=zn[(chis mod osn)+1] + result;

chis:=chis div osn;

until chis=0;

end;

procedure TForm1.button1Click(Sender: TObject);

var s:string; //число

intc:integer; //ціла частина

osn:byte;//основа від 2 до 36

begin

s:=Edit1.text; //число

osn:=StrToint(SpinEdit1.Text);

if pos(',',s)<>0 then

begin

intc:=Strtoint(copy(s,1,pos(',',s)-1)); //ціла частина

Label1.Caption:=Convert(intc,osn)+',';

end

else if pos(',',s)=0 then

Label1.Caption:=Convert(StrToInt(s),osn);

end;

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

Edit1.Text:=Edit1.Text+'1';

end;

procedure TForm1.BitBtn2Click(Sender: TObject);

begin

Edit1.Text:=Edit1.Text+'2';

end;

Продовження лістингу

procedure TForm1.BitBtn3Click(Sender: TObject);

begin

Edit1.Text:=Edit1.Text+'3';

end;

procedure TForm1.BitBtn4Click(Sender: TObject);

begin

Edit1.Text:=Edit1.Text+'4';

end;

procedure TForm1.BitBtn5Click(Sender: TObject);

begin

Edit1.Text:=Edit1.Text+'5';

end;

procedure TForm1.BitBtn6Click(Sender: TObject);

begin

Edit1.Text:=Edit1.Text+'6';

end;

procedure TForm1.BitBtn7Click(Sender: TObject);

begin

Edit1.Text:=Edit1.Text+'7';

end;

procedure TForm1.BitBtn8Click(Sender: TObject);

begin

Edit1.Text:=Edit1.Text+'8';

end;

procedure TForm1.BitBtn9Click(Sender: TObject);

begin

Edit1.Text:=Edit1.Text+'9';

end;

procedure TForm1.BitBtn11Click(Sender: TObject);

begin

Edit1.Text:=Edit1.Text+'0';

end;

procedure TForm1.BitBtn10Click(Sender: TObject);

begin

Edit1.Text:='';

label1.caption:='';

end;

procedure TForm1.SpinEdit1Change(Sender: TObject);

begin

Продовження лістингу

if SpinEdit1.Value=4 then SpinEdit1.Value:=8;

if SpinEdit1.Value=12 then SpinEdit1.Value:=16;

if SpinEdit1.Value=18 then SpinEdit1.Value:=2;

if SpinEdit1.Value=0 then SpinEdit1.Value:=16;

if SpinEdit1.Value=14 then SpinEdit1.Value:=10;

if SpinEdit1.Value=6 then SpinEdit1.Value:=2;

end;

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]