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. Фигурнов В.Э. IBM PC для пользователя. Изд. 6-е, М., 1995 г.
2. Фаронов В. В., Турбо Паскаль 7.0., Учебное пособие. – М.: «Нолидж», 1999 г.
3. Острейковский В.А. Информатика. –М.: «Высшая школа», 2000 г.
Страницы: 1, 2