Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Отчеты / ЯП1

.pdf
Скачиваний:
9
Добавлен:
05.06.2022
Размер:
173.23 Кб
Скачать

Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)

Кафедра комплексной информационной безопасности электронно-

вычислительных систем (КИБЭВС)

АНАЛИЗ ЗАДАЧИ. АБСТРАКЦИЯ ПРОГРАММ И ДАННЫХ. СИНТАКСИС ЯЗЫКА ПРОГРАММИРОВАНИЯ

Отчет по лабораторной работе №1 по дисциплине «Языки программирования»

Выполнил:

Студент гр. 710-2

_______ _____Кузьмина А.А.

__.04.2022

Принял:

Младший научный сотрудник

Кафедры КИБЭВС

_______ ________Полюга В.А.

___.04.2022

Томск - 2022

2

1 Введение

Цель работы: знакомство с основными элементами языка программирования, расширенной формой записи Бэкуса-Наура для записи синтаксиса языка программирования.

Для работы был взят 5 вариант задания «шифр Хилла».

3

2 Ход работы На рисунке 1 представлена декомпозиция программы.

Рисунок 1 – Декомпозиция программы «Шифр Хилла».

Модуль 1:

1) Наименование – «Проверка данных»;

Назначение – исключение ввода некорректных для задачи входных данных.

2)Входные данные: message – вводимый текст с консоли типа string, key

– вводимый ключ с консоли типа string.

3)Выходные данные: если некорректных данных найдено не было,

программа переходит к следующему этапу, если найдены, то в диалоговом окне отображается ошибка и пользователю предлагается заново ввести шифруемый текст или ключ.

4

4) Ошибки – выход за диапазон ключа.

Модуль 2:

1)Наименование – «Кодирование»;

Назначение – кодирование текста с помощью алфавита и преобразование текста в массив.

2)Входные данные: message – вводимый текст с консоли типа string, key – вводимый ключ с консоли типа string.

3)Выходные данные: массив типа int, содержащий кодированный текст с помощью алфавита.

4)Ошибок нет.

Модуль 3:

1) Наименование – «Шифр Хилла»;

Назначение – шифрование кодированного текста типа int.

2)Входные данные: массив типа int, содержащий кодированный текст с помощью алфавита.

3)Выходные данные: зашифрованный текст типа string.

4)Ошибок нет.

5

Синтаксис языка

identifier ::= alphabetic character, {alphabetic character | digit}.

dataType ::= "string" | "int" | "int[,]".

number ::= [ "-" ], digit, { digit } . string ::= '"' , { all characters }, '"' .

assignment ::= identifier , ":=" , (number | identifier | string).

alphabetic character ::= "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z".

digit ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" .

vvod ::= inditifier, “=“input” “(“ “)".

vivod ::= “output” “(", indetifier, ")"

shif ::= inditifier, “=” encrypt "(", inditifier, ",", inditifier, ")"

Пример программы с использованием синтаксиса

string strIn;

int[,] key;

string strOut;

strIn = input();

key = input();

strOut = encrypt(key, strIn);

output(strOut);

6

3 Заключение

Проведен анализ задачи программы «Шифр Хилла», разработан синтаксис языка программирования и записан в форме РБНФ, приведен пример программы, записанной на разработанном языке.

Соседние файлы в папке Отчеты