Добавил:
СПбГУТ * ИКСС * Программная инженерия Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Готовые отчеты / ЛиФП. Курсовая работа

.pdf
Скачиваний:
40
Добавлен:
29.01.2021
Размер:
438.36 Кб
Скачать

Федеральное агентство связи ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ

ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М. А. БОНЧ-БРУЕВИЧА» (СПбГУТ)

Факультет инфокоммуникационных сетей и систем Кафедра программной инженерии и вычислительной техники

КУРСОВАЯ РАБОТА по дисциплине «Логическое и функциональное программирование»

Выполнил: студент 3-го курса дневного отделения группы ИКПИ-85

Коваленко Леонид Александрович Преподаватель:

доцент кафедры ПИиВТ Ерофеев Сергей Анатольевич

Санкт-Петербург

2020

 

Оглавление

 

1.

Постановка задачи...............................................................................................

3

2.

Схема решения.....................................................................................................

3

3.

Обзор разработанной программы......................................................................

4

4.

Тестирование......................................................................................................

11

5.

Код программы..................................................................................................

13

6.

Заключение.........................................................................................................

24

2

1. Постановка задачи

Написать программу на языке Turbo Prolog 2.0 для работы с базой данных пьезоматериалов.

2. Схема решения База данных будет содержать одну таблицу — таблицу

пьезоматериалов, столбцы которой перечислены далее:

1.Name — название пьезоматериала.

2.Source — изготовитель.

3.Density — плотность пьезоматериала.

4.Структура, содержащая константы-параметры пьезоматериала: C11E,

C12E,

C13E,

C33E,

C44E,

C11D,

C12D,

C13D,

C33D,

C44D,

S11E,

S12E,

S13E,

S33E,

S44E,

S11D,

S12D,

S13D,

S33D,

S44D,

E31,

E33,

E15,

D31,

D33, D15, H31, H33, H15, G31, G33, G15, E11S, E33S, E11T, E33T.

Предполагаются следующие возможности программы:

1.Добавление пьезоматериала с консоли;

2.Добавление пьезоматериалов с CSV-файла;

3.Отображение пьезоматериалов в консоли;

4.Отображение списка изготовителей пьезоматериалов;

5.Редактирование пьезоматериалов;

6.Удаление пьезоматериала по названию;

7.Удаление всех пьезоматериалов;

8.Сохранение пьезоматериалов в CSV-файл.

3

3. Обзор разработанной программы Меню программы представлено на рис. 1.

Рисунок 1 — Меню программы При отсутствии данных в программе, пункты меню 3-7 выводят

сообщение о том, что данных нет (рис. 2).

Рисунок 2 — Информирование об отсутствии данных Остается два варианта — добавить данные с консоли либо с файла.

Выберем добавление данных с консоли, программа предложит ввести название пьезоматериала, введем P-110 (рис. 3).

Рисунок 3 — Ввод названия

Программа предложит ввести изготовителя, введем CIS (рис. 4).

4

Рисунок 4 — Ввод изготовителя Программа предложит ввести плотность пьезоматериала, введем 8 (рис.

5).

Рисунок 5 — Ввод плотности

Программа предложит выбрать elastic-константы для ввода (либо CE, либо CD, либо SE, либо SD), выберем SE (рис. 6).

Рисунок 6 — Выбор третьего типа elastic-констант

Все остальные типы констант рассчитываются программой автоматически на основе выбранных elastic-, piezoelectric- и permittivitiesконстант.

Программа предложит ввести elastic-константы выбранного типа. Вводя значения, будем проверять обработку неверного ввода (рис. 7).

Рисунок 7 — Ввод констант SE

5

Знак перед S12E и S13E говорит о том, что он уже учитывается и писать повторно не надо. Нечисловой ввод не приветствуется.

Программа предложит выбрать piezoelectric-константы для ввода (либо E, либо D, либо H, либо G), выберем G (рис. 8).

Рисунок 8 — Выбор четвертого типа piezoelectric-констант Программа предложит ввести piezoelectric-константы выбранного типа.

Вводя значения, будем проверять обработку неверного ввода (рис. 9).

Рисунок 9 — Ввод констант G

Программа предложит выбрать permittivities-константы для ввода (ES либо ET), выберем ET (рис. 10).

Рисунок 10 — Выбор второго типа permittivities-констант Программа предложит ввести permittivities-константы выбранного

типа. Вводя значения, будем проверять обработку неверного ввода (рис. 11).

6

Рисунок 11 — Ввод констант ET

Программа информирует о том, что пьезоматериал был добавлен (рис.

12).

Рисунок 12 — Информирование о результате добавления Просмотреть добавленный материал можно, выбрав в меню пункт 3 —

Show data (рис. 13).

Рисунок 13 — Отображение добавленного пьезоматериала

Можно добавить данные с CSV-файла. Воспользуемся входными данными табл. 3 (рис. 14).

Рисунок 14 — Добавление данных с файла

7

Можно выбрать пункт меню 3 — Show data — и посмотреть все добавленные записи. Перемещение вперед по записям осуществляется нажатием клавиши Enter.

Выберем пункт меню 4 — Show by source (рис. 15).

Рисунок 15 — Отображение всех изготовителей Выбрав любого изготовителя, можно посмотреть все пьезоматериалы,

которые он изготавливает. Выберем PengXiang (рис. 16).

Рисунок 16 — Отображение пьезоматериалов изготовителя PengXiang (просматриваемый материал: C-84)

В режиме просмотра пьезоматериалов (хоть по пункту меню Show data, хоть по пункту Show by source) можно вводить специальные команды:

close (перейти к основному меню программы);

edit (редактировать пьезоматериал);

delete (удалить пьезоматериал).

При вводе delete получим оповещение о том, что пьезоматериал был удален (рис. 17).

8

Рисунок 17 — Удаление пьезоматериала

При вводе edit программа позволит отредактировать любую информацию о пьезоматериале (рис. 18).

Рисунок 18 — Редактирование пьезоматериала Пункты 1-4 меню редактирования меняют информацию о материале.

Пункт 0 (Close) завершает редактирование материала.

Пункт 5 основного меню — Delete by name — позволяет удалить пьезоматериал по названию (рис. 19). Материал либо будет найден и удален, либо программа оповестит о том, что материал с таким именем не был найден.

Рисунок 19 — Удаление пьезоматериала по названию

Пункт 6 основного меню — Clear — позволяет очистить все данные пьезоматериалов (рис. 20).

9

Рисунок 20 — Удаление всех пьезоматериалов

Пункт 7 основного меню — Save into file — позволяет сохранить все результирующие данные о пьезоматериалах в CSV-файл. Предварительно загрузим с файла данные и сохраним результирующие в OUT.CSV (рис. 21).

Рисунок 21 — Сохранение результата в CSV-файл Полученный CSV-файл можно посмотреть в Excel-подобном ПО.

Например, в LibreOffice Calc (рис. 22).

Рисунок 22 — Отображение файла с результатом в LibreOffice Calc

10