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

Отчет 1 - Анализ задачи - СФ

.pdf
Скачиваний:
7
Добавлен:
19.03.2023
Размер:
250.5 Кб
Скачать

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

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

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

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

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

Отчет по лабораторной работе № 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