СИСТЕМИ ЧИСЛЕННЯ

ЛАБОРАТОРНИЙ ПРАКТИКУМ

Лабораторна робота 1

СИСТЕМИ ЧИСЛЕННЯ

 

Мета роботи

У результаті виконання лабораторної роботи:

· навчитись зображувати числа в двійковій, вісімковій, шістнадцятковій і двійково-десятковій системах числення (СЧ);

· навчитись переводити числа з однієї системи числення в іншу.

 

Теми для попереднього пророблення

1.2.1. Перелік цифр, які входять до складу тієї або іншої системи числення.

1.2.2. Зображення чисел у різних системах числення.

1.2.3.Алгоритми переведення цілих чисел без знака з 10‑ї в 2‑ту, 8‑у, 16‑ту та 2–10‑у системи числення.

1.2.4.Алгоритми отримання значення числа з 2‑ї, 8‑ї, 16‑ї та 2–10‑ї системи числення в 10‑й системі числення.

Завдання до лабораторної роботи

Таблиця 1.1 – Подання чисел у різних системах числення Системи числення Десяткова Двійкова Вісімкова … Продовження таблиці 1.1 Системи числення Десяткова …  

Перевірка за допомогою демонстраційної програми правильності результатів, отриманих під час виконання індивідуального завдання у відповідності до п. 1.4

1.5.1. Спочатку треба заповнити для свого індивідуального завдання (у відповідності до п.1.3.2) всі клітинки в таблиці 1.3 (у відповідності до п.1.4).

1.5.2. Перевірити правильність заповнення всіх клітинок у таблиці 1.3 за допомогою демонстраційної програми, текст якої розміщений нижче.

1.5.3. Демонстраційну програму треба запустити на виконання в одному з середовищ, яке підтримує програмування на мові Pascal.

1.5.4. Текст демонстраційної програми.

 

{ Ця програма працює тільки с цілими числами без знака.

С 4-байтовыми значеннями не працює.}

 

program schislen;

uses crt;

var num_st,res,s:string;

key,new_key,

mult,j,i,n1,

div_,num_10,

mod_,code :word; { byte - unsigned 8-bit; word - unsigned 16-bit; }

d :char;

begin

while true do

begin

clrscr;

textcolor(13);

writeln('Ограничения:');

writeln('- ця програма працює тільки с цілими числами без знака ');

writeln('- можна використовувати тільки системи счисления - 2, 8, 10 или 16');

writeln('- нельзя использовать значения, для размещения которых');

writeln(' требуется больше 2-х байт');

writeln('- нет анализа на ошибку при неправильном указании ');

writeln(' основания использованной системы счисления или той,');

writeln(' в которую надо перевести');

writeln('- нет анализа на ошибку при использовании цифр,');

writeln(' которых нет в данной системе счисления');

writeln;

textcolor(15);

write('Введите число в системе счисления 2, 8, 10 или 16: ');

textcolor(14);

readln(num_st);

textcolor(10);

write('Введите основание использованной системы счисления: ');

textcolor(14);

readln(key);

num_10:=0;

for i:=1 to length(num_st)do

begin

num_st[i]:=upcase(num_st[i]);

if num_st[i] in ['A'..'Z']then n1:=ord(num_st[i])-55

else val(num_st[i],n1,code);

mult:=1;

for j:=1 to (length(num_st)-i)do

mult:=mult*key;

num_10:=num_10+n1*mult;

end;

textcolor(14);

writeln;

write('Ваше число в 10-й системе счисления: ');

textcolor(7);

writeln(num_10);

textcolor(10);

writeln;

write('Введите основание системы счисления, в которую надо перевести ‘);

write (‘полученное число:');

textcolor(14);

readln(new_key);

div_:=num_10;

mod_:=num_10;

res:='';

while div_>=1 do

begin

mod_:=div_ mod new_key;

div_:=div_ div new_key;

str(mod_,s);

if mod_>=10 then s:=chr(mod_+55);

res:=s+res;

end;

textcolor(11);

writeln;

write('Ваше число в ');

write(new_key);

write('-й системе счисления: ');

textcolor(9);

writeln(res);

gotoxy(30,25);

textcolor(15);

writeln('Нажмите: Enter - чтобы продолжить и ');

write(' 1 - чтобы выйти');

d:=readkey;

if (d='1') then halt;

end;

end.

 

Зміст звіту

1.6.2.Звіт може бути роздрукований. 1.6.3. Звіт виконують українською мовою. 1.6.4. У звіті мають бути вказані:

Контрольні запитання

1. Дати визначення поняття непозиційних і позиційних систем числення, навести приклади непозиційного і позиційного зображення числа.

2. Дати визначення понять біт і байт.

3. Указати максимальне додатне число, яке ще можна розмістити в одному, двох, чотирьох або восьми байтах.

4. Перелічити цифри 2‑ї, 8‑ї, 10‑ї та 16‑ї систем числення.