МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
ІКТА
кафедра БІТ
Звіт
до лабораторної роботи № 1
з дисципліни "Алгоритмічні основи криптології"
по темі : "Алгоритми для виконання операцій з довгими числами"
Варіант 13
Мета роботи - вивчити способи представлення та алгоритми для виконання операцій введення-виведення, порівняння, підсумовування, віднімання довгих чисел та навчитися розробляти програмне забезпеченнядля реалізації перерахованих алгоритмів на комп’ютері.
1. ЗАВДАННЯ
1) Вивчити основні способи представлення довгих чисел та алгоритми для реалізації операцій введення, виведення, порівняння, а також арифметичних операцій додавання-віднімання довгих чисел.
2) Скласти блок-схеми алгоритмів та підпрограми для реалізації операцій введення та виведення довгих чисел. Варіанти представлення довгих чисел та способи заповнення невикористаних розрядів беруться за вказівкою викладача.
3) Скласти блок-схеми алгоритмів, підпрограми та програму для реалізації адитивних операцій та операцій порівняння для роботи з довгими числами. Дані для роботи беруться з таблиці 5 за вказівкою викладача.
№
з/п
Варіант представлення числа
Заповнення невикористаних розрядів
Операції з довгими числами
13
1
0
Віднімання, більше
2. Блок-схеми алгоритмів
/
Рис.1. Блок-схема алгоритму введення довгого числа.
/
Рис.2. Алгоритм виведення довгого числа.
/Рис.3. Блок-схеми алгоритмів порівняння довгих чисел.
/
Рис.5. Блок-схема алгоритму віднімання довгих чисел.
3. Список ідентифікаторів констант, змінних, процедур і функцій, використаних у блок-схемах алгоритмів і програм, та їх пояснення
i, ind - змінна цілого типу, індекс масиву
r_size - змінна цілого типу, різниця к-сті цифр більшого числа від меншого
size - змінна цілого типу, загальний розмір чисел
n - змінна цілого типу, розмір першого числа
m - змінна цілого типу, розмір другого числа
m1 - змінна логічного типу, від'ємність першого числа
m2 - змінна логічного типу, від'ємність другого числа
ch1 - масив символьного типу, перше число зі знаком
ch2 - масив символьного типу, друге число зі знаком
temp1 - масив символьного типу, перше число без знаку
temp2 - масив символьного типу, друге число без знаку
res_sign - змінна символьного типу, знак результату
c1 - масив цілого типу, перше число без знаку
c2 - масив цілого типу, друге число без знаку
result - масив цілого типу, результат операції
r - масив цілого типу, результат віднімання
res - змінна цілого типу, цифра результат віднімання
st - змінна цілого типу, перехід в старший розряд
a - масив цілого типу, результат додавання
res - змінна цілого типу, цифра результат додавання
st - змінна цілого типу, перехід в старший розряд
test_tia - масив цілого типу, конвертований з масиву символьного типу
tid - змінна цілого типу, конвертована з змінної символьного типу
test - масив символьного типу, конвертований з текстової стрічки
q, k - змінні цілого типу, розміри першого і другого числа
str1 - змінна текстового типу, стрічка з першим числом
str2 - змінна текстового типу, стрічка з другим числом
ln - обєкт з доступом до класу LongNumbers
Crypto_Lab1 - простір імен
LongNumbers - клас, котрий реалізує операції з довгими числами
Program - клас, котрий контролює програму
LongNumbers() - конструктор, котрий перероблює дані для подальшого виконання операції з числами
Actions() - функція, котра виконує операцію над довгими числами
Substract() - функція повертає масив цілого типу, котра реалізує операцію віднімання довгих чисел
Add() - функція повертає масив цілого типу, котра реалізує операцію додавання довгих чисел
ShowResult() - функція, виводить на екран остаточний результат операцій з довгими числами
ToIntArray() - функція повертає масив цілого типу, котра конвертує значення з символьного масиву в цілочисельний масив
ToIntDigit() - функція повертає значення цілого типу, котра конвертує символьне значення змінної в цілочисельне
ToChar() - функція повертає масив символьного типу, котра реалізує пере...