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

10679
знаков
6
таблиц
2
изображения

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

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

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

по теме: «Выполнение задания по программированию в 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.


Блок-схема: решение: i = 7 Нет


Да


Блок-схема: решение: Конец файла записи Нет Да


 

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

 


Да


Блок-схема: решение: i = 7 Нет Нет

Нет  Да

 


Да

Блок-схема: знак завершения: Конец Да

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

 

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 г.


Информация о работе «Программирование в Turbo Pascal»
Раздел: Кибернетика
Количество знаков с пробелами: 10679
Количество таблиц: 6
Количество изображений: 2

Похожие работы

Скачать
58010
8
36

... должны разделять экран, для его целесообразного размещения; -  Создание кнопок управления – как у большинства подобных справочников внизу экрана отображаются кнопки управления, доступные в определенный момент; -  Создание меню разделов и подразделов, при чем так чтоб пользователь при помощи курсора мог осуществить навигацию по разделам и подразделам, а не нажимать цифры меню; -  Создание ...

Скачать
235892
25
6

... работе в графическом режиме предназ­начается для обучения студентов младших курсов Санкт-Петербургской государственной Академии аэрокосмического приборостроения навыкам программирования, а именно работе в графическом режиме языка Turbo-Pascal . Для работы с настоящей программой необходимо знание стандарта языка, интегрированной среды и элементарным навыкам работы с персональным компьютером . ...

Скачать
24973
0
10

... write ('по дисциплине информатика и программирование'); gotoxy (17,12); write ('на тему создание прикладного программного обеспечения'); gotoxy (22,13); write ('в среде программирования Turbo Pascal'); gotoxy (45,15); write ('Работу выполнила: студентка'); gotoxy (45,16); write (‘_____ курса группы ______'); gotoxy ...

Скачать
31468
3
4

... (160,70,'ПАВЛОДАРСКИЙ КОЛЛЕДЖ УПРАВЛЕНИЯ'); outtextxy(170,165,'КУРСОВОЙ ПРОЕКТ ПО ДИСЦИПЛИНЕ: '); outtextxy(110,180,'"ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ"'); outtextxy(150,225,'TEMA: Проектирование баз данных «Справочник покупателя»'); outtextxy(465,345,'Разработал'); outtextxy(465,365,'Запорожец А.С.'); outtextxy(465,385,'Группа П-33); outtextxy(270,410,'2010 год’); Процедура ВВОD ...

0 комментариев


Наверх