Частина тексту файла (без зображень, графіків і формул):
ЛАБОРАТОРНА РОБОТА №2.
ПЕРЕВЕДЕННЯ ЧИСЕЛ В ПОЗИЦІЙНІ СИСТЕМИ ЧИСЛЕННЯ
Мета роботи: засвоєння поняття позиційної системи числення, методи переходу з однієї системи числення в іншу, набуття навиків програмування операцій переходу, закріплення навиків застосування циклів та символьних змінних.
Завдання: перевести натуральні десяткові числа X1, X2, X3 в їх двійкові еквіваленти заданим методом, згідно з номером варіанту. Результат повинен бути одержаний у вигляді послідовності символів і збережений у символьній змінній.
Значення X1, X2, X3 для варіанту 3 відповідно: 0, 9, 255.
Аналіз завдання: необхідно перевести число з десяткової системи у двійкову методом маскування. Метод призначений виключно для машинного виконання. Базується на тому, що на рівні процесора-обчислювача та пристроїв пам’яті комп’ютер оперує числами у двійковому поданні. І тільки при виведенні на екран, стандартні процедури виведення мови Pascal переводять числа в десяткову систему числення. Для переводу числа треба скористатися такими правилами:
а) над заданим числом A і маскою M, яка дорівнює вазі i-го розряду, виконуємо операцію логічного множення - A&M, почавши з і=0.
б) якщо отримуємо нуль, то зліва дописуємо до значення результату “0”, інакше - “1”.
в) якщо номер і-го розряду менший за кількість розрядів заданого числа, то збільшуємо його на 1 і переходимо до п. а).
Спосіб вводу і виводу даних: вводити дані будемо за допомогою клавіатури , а виводити дані на екран за допомогою команд read(ln) і write(ln) відповідно.
Структура даних.
№
Позначення
Ім’я
Тип
Призначення , опис
1
x
X
Ціла
Число в десятковій системі
2
i
i
Ціла
Кількість знаків двійкового числа
3
k
k
Ціла
Потрібна для реалізації циклу for
4
j
j
Ціла
Потрібна для реалізації циклу for
5
f
M
Ціла
маска
6
cod
cod
string
Зберігає число в двійковій системі
Алгоритм програми у вигляді блок-схеми:
Текст програми:
program lab2;
var x,i,k,j,f:integer;
cod: string[20];
begin
for j:=1 to 3
do
begin
write ('Введіть число в десятковій системі числення:');
read (x);
write ('Значення числа в двійковій системі числення:');
cod:=('');
if x<>0
then i:=trunc(ln(x)/ln(2))
else i:=0;
for k:=0 to i
do
begin
f:=trunc(exp(k*ln(2)));
if (x and f)=0
then cod:='0'+cod
else cod:='1'+cod;
end;
writeln (cod)
end;
end.
Результати виконання і налагодження програми:
/
Висновок: Я навчився переводити числа з десяткової системи в двійкову, засвоїв поняття позиційної системи числення, ознайомився з методами переходу з однієї системи числення в іншу.