Реферат

Реферат Расписание занятий

Работа добавлена на сайт bukvasha.net: 2015-10-28

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 25.11.2024


СОДЕРЖАНИЕ


Введение.......................................................................................................................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 проводится перед каждым выполнением цикла. Если начальное значение параметра больше конечного, то цикл не выполняется ни разу.

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



ЯЗЫК ПРОГРАММИРОВАНИЯ ПАСКАЛЬ


Язык Паскаль, начиная с момента своего создания Н.Виртом в 1971 г., играет особую роль и в практическом программировании, и в его изучении. С непревзойденной четкостью в нем реализованы принципы структурного программирования. Паскаль стал первым языком, с которым знакомится большинство будущих программистов в мире.

Трансляторы для программ, написанных на Паскале, разработаны для различных компьютеров и в настоящее время имеют множество разновидностей. Они являются компиляторами, обрабатывающими разработанные программистами тексты программ.

Любая Паскаль-программа является текстовым файлом с собственным именем и с расширением .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 - производит вывод дня и времени на экран по введённому предмету;

входных и выходных данных нет;

не вызывает никаких процедур;

вызывается из основной программы;

Код программы представлен в приложении В.

ТЕСТИРОВАНИЕ


Я произвёл ряд экспериментальных и тестовых запусков написанной мною программы. На основе анализа полученных мною результатов, я вносил корректировки и исправления в текст программы до тех пор, пока она не стала полностью соответствовать нужным для решения поставленной передо мной задачи требованиям.

Результаты тестирования представлены в приложении С.

ЗАКЛЮЧЕНИЕ


В процессе работы над курсовой работой я освоил методы использования таких составляющих языка программирования Паскаль, как процедуры и записи и научился основам грамотного проектирования и разработки программных средств, а также обращению с базами данных.

ПРИЛОЖЕНИЕ А

Блок-схема: решение: tБлок-схема: данные: tБлок-схема: типовой процесс: vvodБлок-схема: данные: Dis:array[1..4],
 raspisanie=record
nazvanie:dis;
nomer:dis;
end;
para:array[1..6] of raspisanie,
n, v, k, t, p, d, c

Nedelya:array[1..6], vremya:array[1..4]
 
Овал: началоАЛГОРИТМ ЗАДАЧИ








Блок-схема: решение: P=1Блок-схема: данные: pБлок-схема: типовой процесс: vvodБлок-схема: типовой процесс: vivod4:       2:                  6:            1:                     5:        7:             3:





Овал: конец                                        нет                              да




ПРОЦЕДУРА VIVOD






                                                 

ПРОЦЕДУРА VVIVOD








Блок-схема: решение: D=nedelya[n]Блок-схема: подготовка: N=1…6(1)                                

Блок-схема: данные: Para[n].nomer[v], para[n].nazvanie[v]Блок-схема: решение: C=vremya[v]Блок-схема: подготовка: V=1…4(1)Блок-схема: данные: с                  да                                        нет



нет                               да




                                                               

Овал: конец


ПРОЦЕДУРА DVIVOD






Блок-схема: данные: Vremya[v], para[n].nomer[v], para[n].nazvanie[v]Блок-схема: подготовка: V=1…4(1)                              да                                          нет





Овал: конец                                                               

ПРОЦЕДУРА PVIVOD






                      да                                                             нет



ПРОЦЕДУРА VVOD






                                
                                                                                                        

Блок-схема: решение: D=nedelya[n]Блок-схема: подготовка: N=1…6(1)Блок-схема: данные: dПРОЦЕДУРА IZM






Овал: конецБлок-схема: данные: Para[n].nazvanie[v]Блок-схема: данные: Para[n].nomer[v]Блок-схема: данные: Vremya[v]Блок-схема: подготовка: v=1…4(1)                                      да                                            нет

Блок-схема: решение: D=nedelya[n]Блок-схема: подготовка: N=1…6(1)Блок-схема: данные: dПРОЦЕДУРА VIZM






Овал: конецБлок-схема: данные: Para[n].nazvanie[v]Блок-схема: данные: Para[n].nomer[v]Блок-схема: решение: C=vremya[v]Блок-схема: подготовка: V=1…4(1)Блок-схема: данные: c                                       да                                        нет
                 нет                                   да
                            

ПРИЛОЖЕНИЕ В

ЛИСТИНГ ПРОГРАММЫ


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

1. Реферат на тему Macbeth And King James Essay Research Paper
2. Реферат Уcлoвия экoнoмичecкoгo paвнoвecия фиpмы
3. Реферат Направления в психологии 2
4. Курсовая на тему Соборное Уложение 1649 года 2
5. Реферат на тему American Literature Essay Research Paper Thomas Jefferson
6. Реферат Промышленный маркетинг понятие и его роль в экономике
7. Реферат на тему Child Poverty In Canada Essay Research Paper
8. Курсовая на тему Становлення та розвиток монетарної та фіскальної політики в Україні
9. Реферат на тему The Renaissance Essay Research Paper In the
10. Сочинение на тему Взаимоотношения Адуева-младшего с Адуевым-дядей