Описание алгоритма и программы. Блок- схема алгоритма. Начало цикла записи информации. Условие завершения цикла

Страницы работы

Содержание работы

          Министерство образования  и  науки Российской Федерации

                             Федеральное агентство по образованию

                Государственное образовательное учреждение высшего

                                     профессионального образования

                  Алтайский государственный технический университет

                                                   им. И. И. Ползунова

                                         Заринское представительство

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

По дисциплине:    информатика и программирование

Вариант 7.

Выполнил: ст. гр. Зр-з ПИЭ – 81

Проверил преподаватель:

 

Оценка                               .

Подпись                             .

Дата                                    .

г. Заринск- 2008

Содержание

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

2. Описание алгоритма……………………………………………….3

3. Описание программы……………………………………………...3

Приложение А. Текст программы…………………………………...5

Приложение Б. Тестовый пример……………………………………6

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

В кассе “Театра драмы” имеется следующая информация о спектаклях: дата, время, название, стоимость билета. Вывести на экран (в табличной форме) программу театра на каждый день (если в этот день должен быть спектакль).

2. Описание алгоритма

Текст программы предоставлен в приложении А. Тестовый пример предоставлен в приложении Б.  Программа предназначена для записи информации о спектаклях и при вводе даты показать информацию соответствующую дате.  Блок – схема предоставлена на рисунке 1.

3. Описание программы

В программе используются следующие типы:

spect=record    // тип запись     (информация о спектакле)

day: 1..31;    // поле записи дня

month: 1..12;   // поле записи месяца

year: integer;   // поле записи года

time: string;   // поле записи времени,

s: string;      // поле записи названия спектакля

prise: integer;        // поле записи цены билета

date=record    // тип запись ( искомой даты)

d: 1..31;    // поле записи дня

m: 1..12;    // поле записи месяца

y: integer;    // поле записи года

И переменные

info: array[1..100] of spect;    // массив из структурных переменных записи 'spect'

dat: array[1..100] of date;      // массив из структурных переменых записи 'date'

o: char;                   // символьная переменная для завершения или возобновления цикла

i, k: integer;            // индексы, счетчики циклов

Рисунок 1. Блок- схема алгоритма.

Приложение А

Текст программы

program lab7;

uses     // подключение стандартного модуля

crt;   //  используем модуль 'crt' для программирования клавиатуры

type    // описание типов

spect=record    // тип запись     (информация о спектакле)

day: 1..31;    // поле записи дня

month: 1..12;   // поле записи месяца

year: integer;   // поле записи года

time: string;   // поле записи времени,

s: string;      // поле записи названия спектакля

prise: integer;        // поле записи цены билета

end;            // конец типа запись

date=record    // тип запись ( искомой даты)

d: 1..31;    // поле записи дня

m: 1..12;    // поле записи месяца

y: integer;    // поле записи года

end;            // конец типа запись

var           //  описание переменных

info: array[1..100] of spect;    // массив из структурных переменных записи 'spect'

dat: array[1..100] of date;      // массив из структурных переменых записи 'date'

o: char;                   // символьная переменная для завершения или возобновления цикла

i, k: integer;            // индексы, счетчики циклов

begin

i := 1;

k := 0;

repeat              // начало цикла записи информации о спектаклях

with info[i] do    // заполнение в массива структурнми переменными записи 'spect'

begin

writeln('введите день '); readln(day);

writeln('введите месяц '); readln(month);

writeln('введите год '); readln(year);

writeln('введите время в формате [чч : мм]'); readln(time);

writeln('введите название спектакля '); readln(s);

writeln('введите цену билета '); readln(prise);

writeln('желаете ввести ещё информацию о спектаклях? (Y/N)');

o := ReadKey;         // считываем клавишу с клавиатуры для определения дальнейших действий

inc(i);

inc(k);

end;

until o = 'n';      // условие завершения цикла

repeat              // цикл записи данных для поиска спектаклей и выполнения поиска

with dat[1] do

begin

writeln('Введите нужный день '); readln(d);

writeln('введите нужный месяц '); readln(m);

writeln('Введите нужный год '); readln(y);

end;            // конец записи данных

for i := 1 to k do    // цикл поиска спектаклей

begin

with info[i] do

begin

if (dat[1].d = info[i].day) and (dat[1].m = info[i].month) and (dat[1].y = info[i].year) then

begin

writeln(info[i].time:2,'  ', info[i].s:2,'  ', info[i].prise:2,' ');

end;

end;

end;

writeln('Желаете посмотреть другие даты? (y/n)');

o := ReadKey;

until o = 'n';

end.               // завершение работы программы

Приложение Б

Тестовый пример

■ Cygwin "C:\FPC\2.2.0\bin\i386-win32\cygwin1.dll" version 1005.18.0.0

Running "c:\fpc\2.2.0\lab7.exe "

введите день

12

введите месяц

12

введите год

2009

введите время в формате [чч : мм]

22 : 30

введите название спектакля отелло введите цену билета

320

желаете ввести ещё информацию о спектаклях? (Y/N)

Введите нужный день

12

введите нужный месяц

12

Введите нужный год

2009

22 : 30  отелло  320

Желаете посмотреть другие даты? (y/n)

Похожие материалы

Информация о работе