Частина тексту файла (без зображень, графіків і формул):
ЛАБОРАТОРНА РОБОТА №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.
Результати виконання і налагодження програми:
/
Висновок: Я навчився переводити числа з десяткової системи в двійкову, засвоїв поняття позиційної системи числення, ознайомився з методами переходу з однієї системи числення в іншу.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!