Объявление типа записи.
typeИмяТипа= recordИмяПоля1: ТипПоля1;ИмяПоля2: ТипПоля2; ИмяПоляN: ТипПоляN;end; Затем объявляются переменные соответствующего типа. varИмяПеременной: ИмяТипа;Значение полей записи могут использоваться в выражениях. Обращение к значению поля осуществляется с помощью имени переменной и имени поля, разделенных точкой. Такая комбинация называется составным именем. Записи могут быть элементами массивов. Отдельные поля записей тоже могут быть записями. За счет этого в Паскале можно создавать сложные структуры данных.
ЭТАПЫ СОЗДАНИЯ ПРОГРАММЫ ПОСТАНОВКА ЗАДАЧИ Создать базу данных расписание занятий на неделю учитывая, что каждый день имеет 4 пары. Реализовать редактирование записей (изменение, добавление, удаление). Исходные данные должны вводиться с проверкой на область допустимых значений. Предусмотреть вывод всей базы данных на экран. Вся обработка базы данных должна происходить путем выбора соответствующего пункта из меню. В программе должны быть предусмотрены соответствующие процедуры и функции, корректно обрабатывающие входные данные, ввод-вывод файлов базы данных. АНАЛИЗ ЗАДАЧИ На основе тщательного анализа условия поставленной задачи, а также уже существующих программ, предназначенных для решения задач, подобных той, что стояла передо мной, я создал представление о том, как мне правильно разработать программу для её решения, учитывая состав и состояние имевшихся в моём распоряжении технических и программных ресурсов и средств. Я создал логические и математические модели её решения, осознал, каким образом структурировать и типизировать имеющиеся и получаемые в результате работы данные. АНАЛИЗ ТРЕБОВАНИЙ ТРЕБОВАНИЯ К ФУНКЦИОНАЛЬНЫМ ХАРАКТЕРИСТИКАМ Для реализации поставленной задачи программа должна выполнять следующие функции: 1) Ввод данных пользователем с клавиатуры. Входные данные: Const неделя: array[1..6] of string=(понедельник, вторник, среда, четверг, пятница, суббота); Время: array[1..4] of string=(9.00-10.35;10.50-12.20; 13.00-14.35;14.50-16.20); Type dis=array[1..4] of string; Расписание =запись Название, номер. 2) Реализовать запросы: 1) Отображать расписание на неделю; 2) Отобразить расписание на один конкретный день; 3) В зависимости от дня недели и времени отобразить название занятия; 4) По названию предмета определить, в какие дни и какое время оно проводится. ТРЕБОВАНИЯ НАДЁЖНОСТИ Программа должна работать без прерываний по пользовательским и программным ошибкам, а именно учитывать возможные ошибки пользователя, способные возникнуть в процессе его работы с программой и выдавать реакции, способные минимизировать ущерб и неудобства от этих ошибок и помочь пользователю с их исправлением (например, на ввод несуществующего пункта меню программа ответит уведомлением о причине ошибки). ТРЕБОВАНИЯ К ПАРАМЕТРАМ И СОСТАВУ ТЕХНИЧЕСКИХ СРЕДСТВ Программа должна быть предназначена для использования на персональном компьютере типа AMD или IBM стандартной комплектации. ПРОЕКТИРОВАНИЕ На основе созданных мною логических и математических моделей я разработал алгоритм своей программы, после чего оформил его в виде блок-схемы, используя и учитывая общепринятые стандарты оформления алгоритмических блок-схем. Провёл ряд мысленных экспериментов и тестов, позволивших мне убедиться в правильности и адекватности разработанного мной алгоритма. В программе используются процедуры, вызываемые из основной программы в её начале (vvod) и при вводе соответствующей цифры из указаных в меню, выводимом основной программой. Процедура vvod вводит в цикле номера и названия предметов на неделю. Процедура izm вводит в цикле номера и названия предметов на день, введённый пользователем, используя для нахождения нужного дня условие. Процедура vizm вводит в цикле номер и название предмета на день и время, указанные пользователем, используя для нахождения нужного дня и времени условие. Процедура vivod выводит в цикле дни, время, соответствующие номера и названия предметов. Процедура vvivod выводит в цикле номера и названия предметов на введённые пользователем день и время с помощью условия. Процедура pvivod выводит на введённый пользователем предмет с помощью условия день и время его проведения. Процедура dvivod выводит в цикле номера и названия предметов на введённый пользователем день с помощью условия. Алгоритм программы представлен в приложении А. КОДИРОВАНИЕ Используя созданный мной алгоритм, я записал программу в программном коде, применив для этого язык программирования Паскаль, как применяемый в системе образования язык. Код программы представлен в приложении B. Краткая функциональная спецификация процедур: 1) vvod - производит ввод исходных данных (предметов) пользователем с клавиатуры на всю неделю; входных и выходных данных нет; не вызывает никаких процедур; вызывается из основной программы; 2) izm - производит ввод исходных данных (предметов) пользователем с клавиатуры на один день; входных и выходных данных нет; не вызывает никаких процедур; вызывается из основной программы; 3) vizm - производит ввод исходных данных (предметов) пользователем с клавиатуры на один день и указанное время; входных и выходных данных нет; не вызывает никаких процедур; вызывается из основной программы; 4) ) vivod - производит вывод исходных данных (предметов) на экран на всю неделю; входных и выходных данных нет; не вызывает никаких процедур; вызывается из основной программы; 5) vvivod - производит вывод исходных данных (предметов) на экран на один день и указанное время; входных и выходных данных нет; не вызывает никаких процедур; вызывается из основной программы; 6) dvivod - производит вывод исходных данных (предметов) на экран на один день; входных и выходных данных нет; не вызывает никаких процедур; вызывается из основной программы; 7) pvivod - производит вывод дня и времени на экран по введённому предмету; входных и выходных данных нет; не вызывает никаких процедур; вызывается из основной программы; Код программы представлен в приложении В. ТЕСТИРОВАНИЕ Я произвёл ряд экспериментальных и тестовых запусков написанной мною программы. На основе анализа полученных мною результатов, я вносил корректировки и исправления в текст программы до тех пор, пока она не стала полностью соответствовать нужным для решения поставленной передо мной задачи требованиям. Результаты тестирования представлены в приложении С. ЗАКЛЮЧЕНИЕ В процессе работы над курсовой работой я освоил методы использования таких составляющих языка программирования Паскаль, как процедуры и записи и научился основам грамотного проектирования и разработки программных средств, а также обращению с базами данных.
ПРИЛОЖЕНИЕ А
ПРОЦЕДУРА VIVOD
ПРОЦЕДУРА VVIVOD
ПРОЦЕДУРА DVIVOD
ПРОЦЕДУРА PVIVOD
ПРОЦЕДУРА VVOD
нет да
ПРИЛОЖЕНИЕ В ЛИСТИНГ ПРОГРАММЫ Program kursovayaZOPBOEVIS092; Uses CRT; Const Nedelya:array[1..6] of string=(‘понедельник’,’вторник’,’среда’,’четверг’,’пятница’,’суббота’); Vremya:array[1..4] of string=(’09.00-10.35’,’10.45-12.20’,’13.00-14.35’,’14.45-16.20’); Type Dis=array[1..4] of string; Raspisanie=record Nazvanie:dis; Nomer:dis; End; Var Para:array[1..6] of raspisanie; N,v,k,t,p:integer; D,c:string; Procedure izm; Begin Writeln(‘введите день (строго следите за правильностью написания слов)’); Readln(d); For n:=1 to 6 do If (d=nedelya[n]) then For v:=1 to 4 do Begin Writeln(vremya[v]); Writeln(‘введите номер и название (строго следите за правильностью написания слов)’); Readln(para[n].nomer[v]); Readln(para[n].nazvanie[v]); End; End; Procedure vizm; Begin Writeln(‘введите день (строго следите за правильностью написания слов)’); Readln(d); For n:=1 to 6 do If (d=nedelya[n]) then Begin Writeln(‘введите время, чч.мм-чч.мм’); Readln(c); For v:=1 to 4 do If (c=vremya[v]) then Begin Writeln(‘введите номер и название (строго следите за правильностью написания слов)’); Readln(para[n].nomer[v]); Readln(para[n].nazvanie[v]); End; End; End; Procedure vvod; Begin For n:=1 to 6 do Begin Writeln(nedelya[n]); For v:=1 to 4 do Begin Writeln(vremya[v]); Writeln(‘введите номер и название’); Readln(para[n].nomer[v]); Readln(para[n].nazvanie[v]); End; End; End; Procedure vivod; Begin For n:=1 to 6 do Begin Writeln(nedelya[n],’-‘); For v:=1 to 4 do Writeln(vremya[v],’-‘,para[n].nomer[v],’-‘,para[n].nazvanie[v]); End; End; Procedure vvivod; Begin writeln(‘введите день (строго следите за правильностью написания слов)’); Readln(d); For n:=1 to 6 do If (d=nedelya[n]) then Begin Writeln(‘введите время, чч.мм-чч.мм’); Readln(c); For v:=1 to 4 do If (c=vremya[v]) then Writeln(para[n].nomer[v],’-‘,para[n].nazvanie[v]); End; End; Procedure dvivod; Begin Writeln(‘введите день (строго следите за правильностью написания слов)’); Readln(d); For n:=1 to 6 do If (d=nedelya[n]) then For v:=1 to 4 do Writeln(vremya[v],’-‘,para[n].nomer[v],’-‘,para[n].nazvanie[v]); End; Procedure pvivod; Begin Writeln(‘введите предмет (строго соблюдайте правила верного написания слов)’); Readln(d); For n:=1 to 6 do For v:=1 to 4 do If (d=para[n].nazvanie[v]) then Writeln(nedelya[n],vremya[v]); End; Begin Vvod; Repeat Writeln(‘если хотите увидеть расписание на неделю, введите 1, на день – 2, на день и время – 3, когда проводится предмет - 4’); Writeln(‘хотите ввести новое расписание на неделю – 5, на день – 6, день и время – 7’); Readln(t); Case t of 1:vivod; 2:dvivod; 3:vvivod; 4:pvivod; 5:vvod; 6:izm; 7:vizm; Else Writeln(‘Вы ошиблись! Не вводите никаких символов кроме указанных в инструкциях!’); End; Writeln(‘выйти из программы (да(ввести 1))/(нет(ввести 2))?’); Readln(p) Until (p=1); End.
ПРИЛОЖЕНИЕ С
Популярное: Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы... Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... ![]() ©2015-2024 megaobuchalka.com Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (186)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||