.

Программирование в Turbo Pascal

Язык: русский
Формат: курсова
Тип документа: Word Doc
0 469
Скачать документ

Московский Государственный Индустриальный Университет

Институт Дистанционного Образования

Курсовая работа

по дисциплине: «ИНФОРМАТИКА»

по теме: «Выполнение задания по программированию в TURBO PASCAL»

Выполнила:
студентка группы 01М22

Белоусова
Екатерина

Преподаватель:
Суворов С.В.

Москва, 2002

Содержание:

Стр.

1. Формулировка задания
3

2. Описание переменных 4

3. Блок-схема 5

4. Программа 6

5. Результаты проверки правильности программы 9

6. Результат подстановки данных в программу 10

7. Список используемой литературы
10

Формулировка задания:

На телефонном узле в конце каждого квартала составляется на каждого
абонента ведомость оплаты междугородных телефонных разговоров (с 7-ю
городами) в течение квартала (3 месяца).

Написать программу, которая вводит исходные данные, выполняет расчеты и
выводит на экран:

Исходные данные в виде таблицы, где указаны коды городов, с которыми
велись разговоры, общее время разговора с каждым городом за один месяц,
стоимость одной минуты разговора (меняется каждый месяц);

Общая продолжительность разговоров с каждым городом за квартал;

Плата за каждый месяц;

Общая плата за 3 месяца;

Город с наибольшей платой.

Требование к вводу информации:

Исходные данные вводятся с клавиатуры.

Требования к выводу результатов:

Результаты выводятся на экран.

Требования к структуре программы.

Программа должна состоять из следующих частей:

Вывод заставки с информацией о студенте и задании;

Ввод данных (выполняется в диалоговом режиме);

Вывод исходных данных и результатов (на один экран).

Требования к размещению исходных данных внутри программы.

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

Используемые цвета:

Черный (0) Светло-зеленый (10)

Красный (4) Желтый (14)

Описание переменных:

Описание типов:

Тип: telef=record

kod:integer;

tpm1,tpm2,tpm3,price1,price2,price3:integer;

end;

Тип записи telef является представлением информации о городе, а именно:
kod – код города, который является целым числом.

tpm1,tpm2,tpm3 – время разговора абонента с городом за 1-ый, 2-ой и 3-ий
месяц соответственно, целые числа.

price1,price2,price3 – стоимость 1-ой минуты разговора за 1-ый, 2-ой и
3-ий месяц соответственно, также целые числа.

Тип: telef1=record

kod,tpm,ob:integer;

pr1,pr2,pr3:integer;

end;

Тип записи telef1 также является представлением информации о городе.

кod – код города, tpm – общее время разговора с городом за квартал (3
месяца).

pr1,pr2,pr3 – стоимость разговора с городом за 1-ий, 2-ой и 3-ий месяцы
соответственно.

оb- общая стоимость разговора с городом за квартал.

Все поля типа записи telef1- целые числа.

Описание переменных:

а:file of telef;

Типизированный файл «а» содержит записи типа telef, т.е. содержит
исходную информацию о каждом городе, времени разговора с каждым городом
помесячно и стоимость минуты разговора за каждый месяц квартала.

tel:telef;

tel-запись типа telef, содержащая информацию о городе.

tel-запись, которой по мере выполнения программы, присваиваются значения
записей, находящихся в типизированном файле «а».

res: array[1..7] of telef1;

res – одномерный массив, содержащий 7 элементов типа telef1, т.е. этот
массив содержит информацию о 7-ми городах, полученную в результате
расчетов, произведенных в программе.

i,j,aa,max: integer;

i – целое число, которое используется в цикле ввода исходных данных,
переменная «i» в этом случае принимает значения кода городов, также эта
переменная используется в цикле вывода результатов на экран, где
выступает в роли значения номера города, т.е. в роли номера элемента
массива res.

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

Переменной j присваивается значение номера элемента массива res и при
определении города с наибольшей оплатой j присваивается номер этого
города в массиве res.

s – целое число, используемое в цикле расчета результатов. Переменной s
присваиваются значения от 1 до 7, т.е. значения номеров элементов
массива res.

Нет

Да

Нет Да

Да

Нет
Нет

Нет Да

Да

Да

program kursovik;

uses crt;

type

telef=record

kod:integer;

tpm1,tpm2,tpm3,price1,price2,price3:integer;

end;

telef1=record

kod,tpm,ob:integer;

pr1,pr2,pr3:integer;

end;

var

a:file of telef;

tel:telef;

res:array[1..7] of telef1;

i,j,s,aa,max:integer;

begin;

textbackground(10);

clrscr;

textcolor(0);

gotoxy(15,2);

writeln(‘Курсовая работа студента группы 01М22 Белоусовой Е.В.’);

gotoxy(27,3);

writeln(‘Задание на курсовую работу:’);

textcolor(4);

writeln;

writeln(‘ На телефонном узле в конце каждого квартала составляется на
каждого абонента’);

writeln(‘ведомость оплаты междугородных телефонных разговоров (с 7-ю
городами) в течение’);

writeln(‘квартала (3 месяца).’);

writeln(‘ Написать программу, которая вводит исходные данные,
выполняет расчеты и ‘);

writeln(‘выводит на экран:’);

writeln(‘ – исходные данные в виде таблицы, где указаны коды городов, с
которыми велись’);

writeln(‘ разговоры, общее время разговора с каждым городом за один
месяц, стоимость’);

writeln(‘ одной минуты разговора (меняется каждый месяц);’);

writeln(‘ – общая продолжительность разговоров с каждым городом за
квартал;’);

writeln(‘плата за каждый месяц;’);

writeln(‘общая плата за 3 месяца;’);

writeln(‘город с наибльшей платой.’);

gotoxy(27,18);

textcolor(0);

writeln(‘Требование к вводу информации’);

textcolor(4);

writeln(‘ – исходные данные вводятся с клавиатуры.’);

textcolor(0);

writeln;

writeln(‘ Требование к выводу результатов’);

textcolor(4);

writeln(‘ – результат выводятся на экран.’);

textcolor(14);

writeln;

writeln(‘ Для продолжения работы программы нажмите
ENTER’);

readln;

clrscr;

textcolor(0);

writeln(‘ Требования к структуре программы ‘);

textcolor(4);

writeln(‘ Программа должна состоять из следующих частей:’);

writeln(‘ – вывод заставки с информацией о студенте и задании;’);

writeln(‘ – ввод данных (выполняется в диалоговом режиме);’);

writeln(‘ – вывод исходных данных и результатов (на один экран).’);

textcolor(0);

writeln(‘ Требования к размещению исходных данных внутри
программы ‘);

textcolor(4);

writeln(‘ Исходные данные располагаются в файле, компонентами которого
являются записи.’);

writeln(‘Структура каждой записи и типы ее полей выбираются в
зависимости от задания.’);

textcolor(0);

writeln(‘ Используемые цвета ‘);

textcolor(4);

writeln(‘ – черный(0),красный(4), светло-зеленый(10), желтый(14)’);

textcolor(14);

gotoxy(18,24);

writeln(‘Для продолжения работы программы нажмите ENTER’);

readln;

clrscr;

assign(a,’kurs.dat’);

rewrite(a);

textcolor(0);

for i:=1 to 7 do

begin

write(‘Введите код ‘,i,’-го города: ‘);

readln(tel.kod);

write(‘Введите общее время разговора с городом ‘,tel.kod,’ за 1-й
месяц: ‘);

readln(tel.tpm1);

write(‘Введите стоимость одной минуты разговора с городом ‘,tel.kod,’
в 1-м месяце: ‘);

readln(tel.price1);

write(‘Введите общее время разговора с городом ‘,tel.kod,’ за 2-й
месяц: ‘);

readln(tel.tpm2);

write(‘Введите стоимость одной минуты разговора с городом ‘,tel.kod,’
в 2-м месяце: ‘);

readln(tel.price2);

write(‘Введите общее время разговора с городом ‘,tel.kod,’ за 3-й
месяц: ‘);

readln(tel.tpm3);

write(‘Введите стоимость одной минуты разговора с городом ‘,tel.kod,’
в 3-м месяце: ‘);

readln(tel.price3);

write(a,tel);

end;

close(a);reset(a);

s:=1;

while not eof(a) do begin

read(a,tel);

res[s].kod:=tel.kod;

res[s].tpm:=tel.tpm1+tel.tpm2+tel.tpm3;

res[s].pr1:=tel.tpm1*tel.price1;

res[s].pr2:=tel.tpm2*tel.price2;

res[s].pr3:=tel.tpm3*tel.price3;

res[s].ob:=res[s].pr1+res[s].pr2+res[s].pr3;

s:=s+1;

end;close(a);

clrscr;

writeln(‘Код города Общее время разговора за каждый месяц
Стоимость минуты разговора’);

reset(a);

while not eof(a) do

begin

read(a,tel);

writeln(‘ ‘,tel.tpm1,’
‘,tel.price1);

writeln(‘ ‘,tel.kod,’ ‘,tel.tpm2,’
‘,tel.price2);

writeln(‘ ‘,tel.tpm3,’
‘,tel.price3);

end;

textcolor(14);

gotoxy(18,24);

writeln(‘Для продолжения работы программы нажмите ENTER’);

readln;

clrscr;

textcolor(0);

writeln(‘Код города Общее время разговора за квартал Плата за
месяц Общая плата’);

for i:=1 to 7 do

begin

aa:=res[i].kod;

writeln(‘
‘,res[i].pr1);

writeln(‘ ‘,aa,’ ‘,res[i].tpm,’
‘,res[i].pr2,’ ‘,res[i].ob);

writeln(‘
‘,res[i].pr3);

end;

max:=res[1].ob;

for i:=1 to 6 do begin

if res[i+1].ob>max then

begin

max:=res[i+1].ob;

j:=i+1;

end;

end;

writeln(‘Город с наибольшей платой: ‘,res[j].kod);

textcolor(14);

gotoxy(18,24);

writeln(‘Для завершения работы программы нажмите ENTER’);

readln;

end.

Таблица исходных данных

Таблица результатов

Код города Общее время разговора за каждый месяц Стоимость минуты
разговора

Код города Общая продолжительность разговоров за квартал Плата за каждый
месяц Общая плата

0 0 0

0 0 0 0

0 0

0

0 0

0

0 0 0

0 0 0 0

0 0

0

0 0

0

0 0 0

0 0 0 0

0 0

0

0 0

0

0 0 0

0 0 0 0

0 0

0

0 0

0

0 0 0

0 0 0 0

0 0

0

0 0

0

0 0 0

0 0 0 0

0 0

0

0 0

0

0 0 0

0 0 0 0

0 0

0

0 0

0

Город с наибольшей платой – 1

Таблица исходных данных

Таблица результатов

Код города Общее время разговора за каждый месяц Стоимость минуты
разговора

Код города Общая продолжительность разговоров за квартал Плата за каждый
месяц Общая плата

1 1 1

1 3 1 3

1 1

1

1 1

1

1 1 1

1 3 1 3

1 1

1

1 1

1

1 1 1

1 3 1 3

1 1

1

1 1

1

1 1 1

1 3 1 3

1 1

1

1 1

1

1 1 1

1 3 1 3

1 1

1

1 1

1

1 1 1

1 3 1 3

1 1

1

1 1

1

1 1 1

1 3 1 3

1 1

1

1 1

1

Город с наибольшей платой – 1

Результат.

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

1 24 70 285

80

135

2 6 5 30

10

15

3 15 24 96

30

42

4 14 20 180

80

80

5 6 21 42

14

7

6 17 36 173

60

77

7 27 104 334

90

140

Город с наибольшей платой – 7

Список использованной литературы:

Фигурнов В.Э. IBM PC для пользователя. Изд. 6-е, М., 1995 г.

Фаронов В. В., Турбо Паскаль 7.0., Учебное пособие. – М.: «Нолидж», 1999
г.

Острейковский В.А. Информатика. –М.: «Высшая школа», 2000 г.

PAGE

PAGE 2

Конец

i = 7

Вывод города с наибольшей платой

max:= res[1+1].ob

max:= res[1].ob

i := 0

i := i+1

res[1+1].ob>max

i = 7

Вывод на экран таблицы результата расчетов

Конец файла записи

Вывод на экран таблицы исходных данных

Расчет общей продолжительности разговоров с каждым городом за квартал,
платы за каждый месяц, общей платы за 3 месяца.

i = 7

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

i := 0

i := i+1

Описание переменных

Вывод заставки на экран

Вызов модуля CRT

Описание типов переменных

Начало

Нашли опечатку? Выделите и нажмите CTRL+Enter

Похожие документы
Обсуждение

Оставить комментарий

avatar
  Подписаться  
Уведомление о
Заказать реферат!
UkrReferat.com. Всі права захищені. 2000-2020