1. Рефераты на русском
  2. Информатика
  3. Выполнение задания по программированию в TURBO PASCAL

Выполнение задания по программированию в TURBO PASCAL

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

 

 

 

 

 


 Нет

 Да

 


 Нет  Да

 

 


 Да

 
                                  Нет                                                        Нет 
 Нет                                        Да
 

Да
 Да

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 г.
4. Мячев А.А.,. Степанцов В.Н.   ПЭВМ и микроЭВМ.-М.: Радио и
    связь,1991.
5.   Вычислительные машины, системы и сети. Учебник под редакцией
    А.П. Пятибратов.-:Финансы и статистика,1991.
6.  Р. Веббер: Конфигурирование ПК на процессорах 386/486.
7.   П. Нортон: Персональный компьютер изнутри.

 

  Рефераты на русском языке - Информатика


Яндекс.Метрика