Отчет 1 - Анализ задачи - СФ
.pdfМинистерство науки и высшего образования Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования
ТОМСКИЙ ГОСУДАРСТВЕЕНЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра комплексной информационной безопасности электронно-
вычислительных систем (КИБЭВС)
АНАЛИЗ ЗАДАЧИ. АБСТРАКЦИЯ ПРОГРАММ И ДАННЫХ. СИНТАКСИС ЯЗЫКА ПРОГРАММИРОВАНИЯ
Отчет по лабораторной работе № 1 По дисциплине «Языки программирования»
Студент гр.ххх
________ ххх
________
Принял
ххх
________ ххх
________
Томск 2023
1 Введение
Цель работы: Знакомство с основными элементами языка программирования, расширенной формой записи Бэкуса-Наура для записи синтаксиса языка программирования.
Для работы был взят 14 вариант задания «Почтовый клиент».
2
2 Ход работы
На рисунках 2.1 и 2.2 изображена декомпозиция программы «Почтовый клиент».
Рисунок 2.1 - Декомпозиция программы "Почтовый клиент", первая часть
3
Рисунок 2.2 - Декомпозиция программы "Почтовый клиент", вторая часть
Описание модулей:
Модуль 1:
1) Наименование – «Проверка корректности данных»;
Назначение – исключение ввода некорректных данных для задачи.
2)Входные данные: данные типа string и integer, элементы Login и pass
присваивают вводимые данные.
3)Выходные данные – если данные были введены корректно, то программа добавляет аккаунт иначе программа просит ввести корректные данные.
4)Ошибка – введение некорректных данных.
4
Модуль 2:
1) Наименование – «Написание сообщения»;
Назначение – занести текст сообщения в форму для сообщений.
2)Входные данные: Данные типа string и integer.
3)Выходные данные – сообщение, содержащее в себе раннее введенный текст.
4)Ошибка – выход за диапазон границ вводимых символов.
Модуль 3:
1) Наименование – «Написать напоминание»;
Назначение – занести текст напоминания в форму для напоминаний.
2)Входные данные: Данные типа string и integer.
3)Выходные данные – напоминание, содержащее в себе раннее введенный текст.
4)Ошибка – выход за диапазон границ вводимых символов.
Модуль 4:
1) Наименование – «Добавить задачу»;
Назначение – занести текст задачи в форму для задач.
2)Входные данные: Данные типа string и integer.
3)Выходные данные – напоминание, содержащее в себе раннее введенный текст.
4)Ошибка – выход за диапазон границ вводимых символов.
Модуль 5:
1) Наименование – «Заполнить данные аккаунта» Назначение – добавить новый аккаунт в книгу контактов.
2)Входные данные: Данные типа string и integer.
3)Выходные данные – добавленные контакт.
4)Ошибка – выход за диапазон границ вводимых символов.
5
3 Синтаксис языка
program ::= ‘Name’, white space, identifier, white space, ‘{’, white space
{assignment, “;”, white space} ‘}’.
identifier :: = alphabet character, {alphabetic character, digit}. datatype :: = “string” | “int” | “string[]”.
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" | "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" . white space ::= ? white space characters ? .
all characters ::= ? all visible characters ? . add ::= identifier, “=”“input”,”(“”)”.
Converse ::= identifier, “=” datatype, “.”, “To”, “.”, datatype”(”add”)”. emailExists ::= “if”, “(”, identifier “==” emailUserDB“)”.
Ниже приведен пример кода программы на данном языке программирования:
Name SendMessage
{
string emailAdressBox = input();
if (emailAdressBox == dbemail.User) string messageBox = input();
}
6
Name AddContact
{
string NameContact = input();
int DataBorn = string.To.int(input());
int telephoneNumber = string.To.int(input());
}
7
3Заключение
Входе данной лабораторной работы был выбран вариант №14 «Почтовый клиент», была создана декомпозиция для данной программы, а также был записан в простейшей форме синтаксис языка, позволяющий реализовать программу, для данного синтаксиса была использована расширенная форма Бэкуса-Наура, далее было приведено два примера работы модулей для данной программы на разработанном языке.
8