Реферат по предмету "Кибернетика"


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

Московский Государственный Индустриальный Университет
Институт Дистанционного Образования
Курсовая работа
по дисциплине: «ИНФОРМАТИКА» по теме: «Выполнение задания по программированию в TURBO PASCAL»
Выполнила: студентка группы 01М22
Белоусова Екатерина
Преподаватель: Суворов С.В.
Москва, 2002
Содержание:
Стр. 1. Формулировка задания
3 2. Описание переменных 4 3. Блок-схема 5 4. Программа 6 5. Результаты проверки правильности программы 9 6. Результат подстановки данных в программу 10 7. Список используемой литературы
10
Формулировка задания: На телефонном узле в конце каждого квартала составляется на каждого абонента ведомость оплаты междугородных телефонных разговоров (с 7-ю городами) в течение квартала (3 месяца). Написать программу, которая вводит исходные данные, выполняет расчеты и выводит на экран:
V Исходные данные в виде таблицы, где указаны коды городов, с которыми велись разговоры, общее время разговора с каждым городом за один месяц, стоимость одной минуты разговора (меняется каждый месяц);
V Общая продолжительность разговоров с каждым городом за квартал;
V Плата за каждый месяц;
V Общая плата за 3 месяца;
V Город с наибольшей платой.
Требование к вводу информации:
Исходные данные вводятся с клавиатуры.
Требования к выводу результатов:
Результаты выводятся на экран.
Требования к структуре программы.
Программа должна состоять из следующих частей:
V Вывод заставки с информацией о студенте и задании;
V Ввод данных (выполняется в диалоговом режиме);
V Вывод исходных данных и результатов (на один экран).
Требования к размещению исходных данных внутри программы. Исходные данные располагаются в файле, компонентами которого являются записи. Структура каждой записи и типы ее полей выбираются в зависимости от задания.
Используемые цвета:
Черный (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.
Нет
Да
Нет Да
Да
Нет
Нет
Нет Да
Да
Да
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 | | | | | | |Город с наибольшей платой - 1 | | | |Таблица результатов | |Таблица исходных данных | | | | |1 |1 | | | |1 | | | |1 |1 | | | |1 | | | |1 |1 | | | |1 | | | |1 |1 | | | |1 | | | |1 |1 | | | |1 | | | |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 г. -----------------------
Конец
i = 7
Вывод города с наибольшей платой
max:= res[1+1].ob
max:= res[1].ob
i := 0
i := i+1
res[1+1].ob>max
i = 7
Вывод на экран таблицы результата расчетов
Конец файла записи
Вывод на экран таблицы исходных данных
Расчет общей продолжительности разговоров с каждым городом за квартал, платы за каждый месяц, общей платы за 3 месяца.
i = 7
Ввод кода города, общего времени разговора за каждый месяц, стоимости одной минуты разговора с городом за каждый месяц. Запись записи в файл.
i := 0
i := i+1
Описание переменных
Вывод заставки на экран
Вызов модуля CRT
Описание типов переменных
Начало


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.