Министерство образования и науки Российской Федерации
Федеральное агентство по образованию
Государственное образовательное учреждение высшего
профессионального образования
Алтайский государственный технический университет
им. И. И. Ползунова
Заринское представительство
Лабораторная работа №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)
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.