Реферат Расписание занятий
Работа добавлена на сайт bukvasha.net: 2015-10-28Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
от 25%
договор
СОДЕРЖАНИЕ
Введение.......................................................................................................................3
Теоретические сведения..............................................................................................5
Алгоритмизация...........................................................................................................5
Язык программирования Паскаль............................................................................10
Этапы создания программы......................................................................................17
Постановка задачи.....................................................................................................17
Анализ задачи............................................................................................................17
Анализ требований....................................................................................................17
Проектирование.........................................................................................................18
Кодирование...............................................................................................................19
Тестирование..............................................................................................................21
Заключение.................................................................................................................21
Приложение А. Алгоритм задачи............................................................................22
Приложение В. Листинг программы.......................................................................30
Приложение С. Результаты тестовых испытаний..................................................35
ВВЕДЕНИЕ
В современном обществе активно происходит процесс информатизации. Информатизация общества – это процесс, особенность которого в том, что доминирующим видом деятельности в сфере общественного производства является сбор, накопление, обработка, хранение, передача и использование информации, осуществляемые на основе современных средств вычислительной техники, а также на базе разнообразных средств информационного обмена.
Информатизация общества обеспечивает:
1) активное использование постоянно расширяющегося интеллектуального потенциала общества
2) интеграцию информационных технологий в научные и производственные виды деятельности
3) высокий уровень информационного обслуживания, доступность любого члена общества к источникам достоверной информации, визуализацию представляемой информации, существенность используемых данных.
Современное цивилизованное общество невозможно представить без информационных технологий.
Информационные технологии - это широкий класс дисциплин и областей деятельности, относящихся к технологиям управления и обработки данных, в том числе, с применением вычислительной техники.
В последнее время под информационными технологиями чаще всего понимают компьютерные технологии .В частности , информационные технологии имеют дело с использованием компьютеров и программного обеспечения для хранения, преобразования, защиты, обработки, передачи и получения информации.
Согласно определению, принятому ЮНЕСКО, информационные технологии - это комплекс взаимосвязанных научных, инженерных, технологических дисциплин, изучающих методы эффективной организации труда людей, занятых обработкой и хранением информации; вычислительную технику и методы организации взаимодействия с людьми и производственным оборудованием, их практические приложения, а также связанные со всем этим социальные, экономические и культурные проблемы.
Один из важнейших аспектов информатизации - развитие средств программирования. Программирование - раздел прикладной математики, разрабатывающий методы программирования, то есть это сфера деятельности, направленная на создание программ. Программы предназначены для решения конкретных задач (то есть для машинной реализации задач) и представляют собой последовательность команд, посредством выполнения которых вычислительная система обрабатывает информацию и решает поставленную задачу. Информационные и вычислительные системы не могут функционировать без программ.
ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
АЛГОРИТМИЗАЦИЯ
Алгоритмизация - это процесс построения алгоритма решения задачи, результатом которого является выделение этапов процессов обработки данных, формальная запись содержания этих этапов и порядок их выполнения.
Алгоритм - точное предписание, определяющее вычислительный процесс, ведущий от начальных данных к искомому результату. Это конечный набор правил, однозначно раскрывающий содержание и последовательность выполнения операций для систематического решения определенного класса задач за конечное число шагов.
Любой алгоритм обладает следующими свойствами:
1) Детерминированность - набор указаний алгоритма должен быть понят любым исполнителем. Это свойство определяет однозначность результата работы алгоритма при заданных исходных данных.
2) Массивность - возможность варьирования исходных данных в некоторых пределах. Это свойство определяет пригодность использования алгоритма для решения множества конкретных задач определенного класса.
3) Результативность - для любых допустимых исходных данных алгоритм должен через конечное число шагов завершить свою работу.
4) Дискретность - возможность разбиения определенного алгоритмического процесса на отдельные элементарные этапы, возможность реализации которых человеком или компьютером не вызывает сомнения, а результат выполнения каждого элементарного этапа вполне определен и понятен.
Существует несколько способов описания алгоритмов:
1) Словесный - отражает содержание выполняемых действий средствами естественного языка. К достоинствам этого способа описания следует отнести его общедоступность, возможность описывать алгоритм с любой степенью детализации. К главным недостаткам этого способа следует отнести достаточно громоздкое описание, отсутствие строгой формализации вследствие неоднозначности восприятия естественного языка.
2) Формально-словесный - запись содержания выполняемых действий с использованием изобразительных возможностей языка математики, дополненного с целью указания необходимых пояснений средствами естественного языка. Данный способ, обладая всеми достоинствами словесного способа, вместе с тем более лаконичен, а значит, и более нагляден, имеет большую формализацию, однако тоже не является строго формальным.
3) Графический - изображение логико-математической структуры алгоритма, при котором все этапы процесса обработки данных представляются с помощью определенного набора геометрических фигур (блоков), имеющих строго определенную конфигурацию в соответствии с характером выполняемых действий.
Все блоки в схеме располагаются в последовательности сверху вниз и слева направо, объединяясь между собой линиями потока.
ЭЛЕМЕНТЫ БЛОК-СХЕМ
Элементы блок-схем:
1) Блоки начала и конца используются для обозначения начала и окончания программы, для выхода в подпрограмму.
2) Блок ввода-вывода. Обозначает момент ввода данных в ячейки памяти переменных с указанными именами или момент вывода содержимого указанных ячеек на экран монитора.
3) Блок действия. Блок, в котором происходит обработка данных, результатов обработки в ячейках памяти переменных с определенным именем или просто размещение данных в ячейки памяти без предварительной обработки.
4) Блок разветвления алгоритма:
а) Полный выбор: в зависимости от результатов проверки условия выполняется действие ветви «Да» или действие ветви «Нет» в зависимости от истинности условия.
б) Неполный выбор: в зависимости от результатов проверки условия выполняются действия одной ветки, либо эти действия пропускаются.
5) Блок множественного выбора. В зависимости от результата выбора будет выполнено одно из перечисленных действий.
6) Блок цикла с предварительным условием. Условие – это условие выполнения цикла. Тело цикла может не выполняться ни разу.
7) Цикл с параметром. Сначала переменная цикла 1 присваивает начальное значение 1 и выполняется тело цикла. Затем переменная цикла увеличивается на шаг и проверяется конечное значение N. Если «да», цикл заканчивается, если «нет» - повторяется заново.
8) Блок цикла с постусловием. Условие – условие окончания цикла. Тело цикла выполняется хотя бы раз.
ОСНОВНЫЕ МОМЕНТЫ ПРИ СОСТАВЛЕНИИ БЛОК-СХЕМ
1) Показывать только основные, важные для решения шаги.
2) Использовать только горизонтальные и вертикальные линии, которые не должны пересекаться.
3) В точках разветвления писать «Да» или «Нет» с целью указания выбранного направления.
При составлении блок схем необходимо пользоваться следующими принципами:
1) Выяснить какие данные исходные, а какие результат решения. Ввести обозначения;
2) Разработать математический метод решения задачи;
3) Организовать ввод исходных данных и констант, присвоить текущим переменным начальные значения.
АЛГОРИТМЫ ЛИНЕЙНОЙ СТРУКТУРЫ
Алгоритмы линейной структуры – алгоритмы, в которых блоки выполняются последовательно друг за другом в порядке, заданном схемой. Такой порядок называется естественным.
АЛГОРИТМЫ РАЗВЕТВЛЯЮЩЕЙСЯ СТРУКТУРЫ
В зависимости от каких либо промежуточных результатов вычисление осуществляется либо по одним формулам, либо по другим, т. е в зависимости от выполнения некоторого логического условия вычислительный процесс осуществляется по одной или по другой ветви.
АЛГОРИТМЫ ЦИКЛИЧЕСКОЙ СТРУКТУРЫ
Часто при решении задач приходится многократно вычислять значения по одним и тем же математическим зависимостям для различных значений входящих в них величин. Такие многократно повторяемые участки вычислительного процесса называются циклами. Использование циклов позволяет существенно сократить объем схемы алгоритма и длину соответствующей ей программы. Различают циклы с заданным и с неизвестным числом повторений. К последним относятся итерационные циклы, характеризующиеся последовательным приближением к искомому значению с заданной точностью.
Для организации цикла необходимо выполнить следующие действия:
1) Задать начальное значение переменной, изменяющейся в цикле.
2) Изменять переменную перед каждым новым повторением цикла.
3) Проверять условие окончания или повторения цикла.
4) Управлять циклом, т.е. переходить к его началу, если он не закончен, или выходить из него по окончании. Последние три функции выполняются многократно.
Переменная, изменяющаяся в цикле - параметр цикла. В одном цикле может быть несколько параметров.
Переменная, значения которой вычисляются машиной и хранятся в одной и той же ячейке памяти - простая переменная, а переменная, являющаяся элементом массива - переменная с индексом. Следует иметь в виду, что параметром цикла является при использовании простой переменной сама переменная, а при использовании переменной с индексом - ее индекс.
В зависимости от того где осуществляется проверка условия продолжения или окончания цикла но подразделяются на:
1) Цикл с предусловием - цикл начинается с проверки условия.
2) Цикл с постусловием – условие проверяется после выполнения тела цикла.
В циклах с известным числом повторений, всегда можно определить переменную, связанную с числом повторений цикла, значение которой изменяется по заданному закону от начального до конечного с постоянным шагом. Такая переменная используется для управления циклом в условии окончания цикла и осуществляется сравнение текущего значения с заданным порогом. Для схематического представления используют специальную управляющую структуру с блоком модификации, где указывают закон изменения параметра цикла в цикл. Блок модификации включает в себя подготовку цикла (х:=х0), изменение параметра цикла (х:=х+h), управление циклом - проверку условия его продолжения или окончания цикла. Проверка х<xn проводится перед каждым выполнением цикла. Если начальное значение параметра больше конечного, то цикл не выполняется ни разу.
Схема алгоритма получается более компактной и наглядной, если для ее построения использовать блок цикла, который выполняет все функции, необходимые для организации цикла.
ЯЗЫК ПРОГРАММИРОВАНИЯ ПАСКАЛЬ
Язык Паскаль, начиная с момента своего создания Н.Виртом в
Трансляторы для программ, написанных на Паскале, разработаны для различных компьютеров и в настоящее время имеют множество разновидностей. Они являются компиляторами, обрабатывающими разработанные программистами тексты программ.
Любая Паскаль-программа является текстовым файлом с собственным именем и с расширением .pas. Паскаль-программа имеет вид последовательности символов латинских и русских букв, арабских цифр, знаков операций, скобок, знаков препинания и некоторых дополнительных символов. В ней можно выделить описания типов, констант, переменных и операторы, описывающие действия, которые надо выполнить машине над этими данными.
Тип данных понятие языков программирования высокого уровня, обозначающее множество допустимых значений, объединенных совокупностью применимых к ним операций.
Константа — элемент данных, присутствующий в тексте программы и не меняющий своего значения при многократном ее использовании.
Переменная — элемент данных в программе, которому присвоено имя. Переменные различаются по имени и принимают разные значения, т.е. не являются постоянными. Значение переменной может быть получено и изменено программой.
Оператор задает полное описание некоторого действия, которое необходимо выполнить. Для описания сложного действия может потребоваться группа операторов. В этом случае операторы объединяются в составной оператор.
Алгоритм решения задачи проектируется путем декомпозиции всей задачи на отдельные подзадачи. Обычно подзадачи реализуются в виде подпрограмм.
Подпрограмма это последовательность операторов, которые определены и записаны только в одном месте программы, однако их можно вызвать для выполнения из одной или нескольких точек программы. Каждая подпрограмма определяется уникальным именем. В языке Паскаль существуют два типа подпрограмм - процедуры и функции.
Процедура — конструкция языка программирования высокого уровня, представляющая собой поименованную часть программы, которая может выполнять некоторые заданные действия над данными, передаваемыми ей в качестве параметров.
Функция — аналогичная процедуре конструкция, представляющая собой поименованную часть программы, результатом выполнения которой является значение, присваиваемое имени функции.
СТРУКТУРА ПРОГРАММЫ |
Программа на языке Pascal состоит из следующих разделов: раздел подключаемых библиотек;
1) раздел объявления меток;
2) раздел объявления констант;
3) раздел объявления типов;
4) раздел объявления переменных;
5) раздел объявления процедур и функций;
6) раздел инструкций программы.
Структура программы в общем виде выглядит следующим образом:
program Имя_Программы;
uses
Имя_Модуля1,...;
label
Имя_Метки1,...;
const
Имя_Константы=Значение_Константы;
type
Имя_Типа=Значение_Типа;
var
Имя_Переменной:Тип переменной;
{объявление процедур и функций пользователя};
begin
{Инструкции основной программы};
end.
ОБЪЯВЛЕНИЕ КОНСТАНТ
Пример:
Const a = -1.5;
b = True;
c = `pascal`;
ОБЪЯВЛЕНИЕ ТИПОВ
Кроме ранее перечисленных стандартных типов языка Паскаль в программе могут быть описаны собственные типы данных. Общий вид описания
Type <имя типа> = <определение типа>;
ОБЪЯВЛЕНИЕ ПЕРЕМЕННЫХ
Var <список имен переменных> : <имя типа>;
Имя типа здесь - это имя какого-либо стандартного или описанного в данной программе типа данных.
Раздел операторов содержит список выполняемых операторов программы.
Обязательным является наличие служебного слова Begin в начале и служебного слова End в конце раздела. Весь текст программы должен завершаться точкой
ХАРАКТЕРИСТИКИ ПРОГРАММЫ |
Программа реализует алгоритм решения задачи. Основные характеристики программы следующие: точность полученного результата, время выполнения, объем требуемой памяти.
ТИПЫ ДАННЫХ |
Любые объекты, т.е. константы, переменные, значения функций или выражения, в Паскале характеризуются своими типами. Тип определяет множество допустимых значений того или иного объекта, а также множество операций, которые к нему применимы. Кроме того, тип определяет формат внутреннего представления данных в памяти ЭВМ.
К простым типам данных языка Pascal относятся:
1)целые числа (integer и др.);
2) вещественные числа (real и др.);
3) символы (char);
4) строки (string);
5) логический (boolean);
Целые числа и числа с плавающей точкой могут быть представлены в различных форматах.
ОПЕРАТОРЫ |
Оператором называется предложение языка программирования, задающее полное описание некоторого действия, которое необходимо выполнить.
Операторы языка Turbo Pascal можно разделить на простые и структурные.
ПРОСТЫЕ ОПЕРАТОРЫ
Простые не содержат внутри себя других операторов. К ним относятся операторы присваивания, безусловного перехода, вызова процедур, пустой оператор, операторы ввода и вывода.
Оператор присваивания (:=) предписывает выполнить выражение, заданное в его правой части, и присвоить результат переменной, идентификатор которой расположен в левой части. Переменная и выражение должны быть совместимы по типу. Его общий вид
<имя переменной> := <выражение>;
Оператор безусловного перехода (go to) означает "перейти к" и применяется в случаях, когда после выполнения некоторого оператора надо выполнить не следующий по порядку, а какой-либо другой, отмеченный меткой оператор.
Оператор вызова процедуры служит для активизации предварительно определенной пользователем, или стандартной, процедуры.
Пустой оператор не содержит никаких символов и не выполняет никаких действий. Обычно такой оператор используется для организации перехода к концу локального или глобального блока в случаях, если необходимо пропустить несколько операторов, но не выходить из блока. Для этого перед зарезервированным словом end ставится метка и двоеточие.
Ввод данных - это передача исходных данных программы в оперативную память компьютера для обработки. Для ввода данных предусмотрены следующие процедуры ввода: read (читай), readln (читай строку).
Вывод данных - это передача данных после обработки из оперативной памяти на внешнее устройство, чаще всего на экран монитора. Для вывода данных предусмотрены следующие процедуры ввода: write (пиши), writeln (пиши строку). Процедура Writeln после вывода элементов списка переводит курсор на новую строку.
В список ввода могут входить переменные типа Integer, Real, Char. В списке вывода могут содержаться константы, переменные, выражения типа Integer, Real, Char и Boolean.
СТРУКТУРНЫЕ ОПЕРАТОРЫ
Структурные (сложные) операторы представляют собой конструкции, содержащие простые операторы. К этой группе операторов относятся: составной оператор, оператор условного перехода, операторы цикла, оператор выбора, оператор присоединения в записях.
Составной оператор представляет собой группу из произвольного числа операторов, отделенных друг от друга точками с запятой, и ограниченную операторными скобками begin и and.
В созданной и представленной мной курсовой работе я использовал ещё один элемент, присущий языку программирования Паскаль - записи.
ЗАПИСИ
Распространенным случаем в программировании является необходимость описать атрибуты (характеристики) некоторого объекта, представляемого и обрабатываемого в программе. Таким объектом может быть человек, некоторый вычислительный комплекс и т.д. В этих и во всех подобных случаях атрибуты объекта представляются значениями различных типов.
Для записи комбинации данных разных типов в языке Паскаль применяется комбинированный тип данных запись. Запись представляет собой наиболее общий и гибкий структурированный тип данных, т.к. она может быть образована из неоднотипных компонентов, и в ней явным образом выражена связь между элементами данных, которые характеризуют реальный объект.
Запись - это структурированный тип данных, состоящий из фиксированного числа компонентов одного или нескольких типов, называемых полями записи. Каждое поле имеет свое имя.
Объявление типа записи.
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 - производит вывод дня и времени на экран по введённому предмету;
входных и выходных данных нет;
не вызывает никаких процедур;
вызывается из основной программы;
Код программы представлен в приложении В.
ТЕСТИРОВАНИЕ
Я произвёл ряд экспериментальных и тестовых запусков написанной мною программы. На основе анализа полученных мною результатов, я вносил корректировки и исправления в текст программы до тех пор, пока она не стала полностью соответствовать нужным для решения поставленной передо мной задачи требованиям.
Результаты тестирования представлены в приложении С.
ЗАКЛЮЧЕНИЕ
В процессе работы над курсовой работой я освоил методы использования таких составляющих языка программирования Паскаль, как процедуры и записи и научился основам грамотного проектирования и разработки программных средств, а также обращению с базами данных.
ПРИЛОЖЕНИЕ А
Nedelya:array[1..6], vremya:array[1..4]
АЛГОРИТМ ЗАДАЧИ
Nedelya:array[1..6], vremya:array[1..4] |
4: 2: 6: 1: 5: 7: 3:
нет да
ПРОЦЕДУРА VIVOD
ПРОЦЕДУРА VVIVOD
да нет
нет да
ПРОЦЕДУРА DVIVOD
да нет
ПРОЦЕДУРА PVIVOD
да нет
ПРОЦЕДУРА VVOD
ПРОЦЕДУРА IZM
да нет
ПРОЦЕДУРА VIZM
да нет
нет да
ПРИЛОЖЕНИЕ В
ЛИСТИНГ ПРОГРАММЫ
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.
ПРИЛОЖЕНИЕ С
РЕЗУЛЬТАТЫ ТЕСТОВЫХ ИСПЫТАНИЙ
При пуске программы на экран оказывается выведено следующее:
понедельник
09.00-10.35
введите номер и название (строго следите за правильностью написания слов)
(я ввожу - "1", затем жму "Enter", ввожу "культурология", затем вновь жму "Enter")
10.45-12.20
введите номер и название (строго следите за правильностью написания слов)
("2", "культурология")
13.00-14.35
введите номер и название (строго следите за правильностью написания слов)
("3", "английский язык")
14.45-16.20
введите номер и название (строго следите за правильностью написания слов)
("4", "информатика")
вторник
09.00-10.35
введите номер и название (строго следите за правильностью написания слов)
("1", "вычмашины")
10.45-12.20