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

СОДЕРЖАНИЕ: Московский Государственный Индустриальный Университет Институт Дистанционного Образования Курсовая работа по дисциплине: «ИНФОРМАТИКА» по теме: «Выполнение задания по программированию в TURBO PASCAL»

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

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

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

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

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

Выполнила: студентка группы 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-ий месяц соответственно, целые числа.

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

Тип:telef1=record

kod,tpm,ob:integer;

pr1,pr2,pr3:integer;

end ;

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

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

pr 1, pr 2, pr 3 - стоимость разговора с городом за 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].obmax 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 7 10
8 10
9 15
2 1 5
2 5
3 5
3 4 6
5 6
6 7
4 2 10
4 20
8 10
5 3 7
2 7
1 7
6 4 9
6 10
7 11
7 8 13
9 10
10 14
Таблица результатов
Код города Общая продолжительность разговоров за квартал Плата за каждый месяц Общая плата
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

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

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

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

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

Скачать архив с текстом документа