РефератыИнформатикаПрПрограммирование в 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].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 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 г.

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Программирование в Turbo Pascal

Слов:2069
Символов:24379
Размер:47.62 Кб.