Учебная работа. Реферат: Программирование в 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 г.
]]>