Лабораторная работа

Построение меню

Категория:

Лабораторная работа

Дисциплина:

Функциональное и логическое программирование

Город:

Беларусь, Минск

Учебное заведение:

БНТУ, ФИТР

Стоимость работы:

4 руб.

Оценка: 10
Объем страниц: 8
Год сдачи: 2021
Дата публикации: 09.09.2021

Фрагменты для ознакомления

Отчет по лабораторной работе № 10

дисциплина: «Функциональное и логическое программирование»

«ПОСТРОЕНИЕ МЕНЮ»

Цель работы: умение создавать в программе удобный для пользователя интерфейс.

Задание общее по лабораторной работе:

Создать программу, использующую меню, в которой предусмотрено выполнение следующих действий: создание файла, дополнение имеющегося файла, редактирование данных файла, просмотр данных файла, удаление файла.

Изображение структурной диаграммы программы:

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

domains 

       file = filename

       kstr, fstr = string

predicates

       nondeterm repeat

       nondeterm shows_menu

       nondeterm create_file(string)

       nondeterm delete_file(string)

       nondeterm view_data(string)

       nondeterm editing_data(string)

       nondeterm complement_file(string)

       readin(kstr, fstr) 

       result

       nondeterm process(char)

goal

       result.

clauses

       result :- 

                   shows_menu, 

                   write("Press any key..."),

                   readchar(_),

                   exit.                %Выполняет немедленный выход из программы

       repeat. 

       repeat :- repeat.                                  %Правило повтора, обеспечивает циклическое выполнение расположенных после repeat подцелей                

       shows_menu :-

                   repeat, 

                   write("Enter the number of the menu:"), nl,

                   write("1. Creation of a file;"), nl,

                   write("2. Complement existing file;"), nl,

                   write("3. Editing data file;"), nl,

                   write("4. View data file;"), nl,

                   write("5. Delete the file;"), nl,

                   write("Esc - Exit"), nl,

                   readchar(C), nl,

                   process(C), C = 27, !.

Скриншоты результатов:

Контрольные вопросы:

  1. Назначение и механизм работы правила repeat
  2. Можно ли вместо repeat использовать в правиле повтора другое имя?
  3. Что отображается на структурной диаграмме программы?
  4. Как можно расширить структурную диаграмму, приведенную в данной работе?
  5. Можно ли отождествить структурную диаграмму со схемой алгоритма программы?
  6. Как можно изменить приведенный вариант программы, чтобы при реализации каждого пункта меню не нужно было вводить имя файла?
  7. Как будет работать приведенный вариант программы, если при вводе номера пункта меню набрать, например, цифру 7?
  8. Что произойдет, если в конце правила process убрать подцель readchar(_)?
  9. Объяснить, каким образом и в каких случаях после выполнения отдельного пункта меню производится опять возврат в главное меню?

Вывод приобрёл практические навыки в создании программ с удобным для пользователя интерфейсом.

17