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

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

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

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

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

/>

/>


/>                                         Нет

/>


/>                                                                            Да

/>


/>                    Нет                                                                                       Да

/> /> /> /> /> /> /> /> /> />

                                         

/> /> /> /> />

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

  /> <td/> /> />

/>                                                                                        

/>


                                                                                                             Да

/>


/>                                                                                                                                

                             />                                Нет                                                        Нет         

                                        Нет                                                                                                             Да

/> 

/>


/>Да

/>/>/>/>                                                                                                                               Да

/> <td/>

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

 

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;

<p/>

 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('Код города   Общее время разговора заквартал    Плата за месяц    Общая плата');

 fori:=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.

Таблица исходных данных

Таблица результатов

Код города Общее время разговора за каждый месяц Стоимость минуты разговора Код города Общая продолжительность разговоров за квартал Плата за каждый месяц Общая плата Город с наибольшей платой — 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 г.

еще рефераты
Еще работы по кибернетике