Московський Державний Індустріальний Університет p>
Інститут Дистанційного Освіти p>
Курсова робота p>
з дисципліни: «Інформатика» на тему: «Виконання завдання по програмуванню в TURBO PASCAL » p>
Виконала: студенткагрупи 01М22 p>
Белоусова Катерина p>
Викладач:
Суворов С.В. p>
Москва, 2002 p>
Зміст: p>
Стор.
1. Формулювання завдання p>
3
2. Опис змінних 4
3. Блок-схема 5
4. Програма 6
5. Результати перевірки правильності програми 9
6. Результат підстановки даних у програму 10
7. Список використаної літератури p>
10 p>
Формулювання завдання:
На телефонному вузлі в кінці кожного кварталу складається на кожногоабонента відомість оплати міжміських телефонних розмов (з 7-амістами) протягом кварталу (3 місяці).
Написати програму, яка вводить вихідні дані, виконує розрахунки івиводить на екран: p>
V Вихідні дані у вигляді таблиці, де вказані коди міст, з якими велися розмови, загальна час розмови з кожним містом за один місяць, вартість однієї хвилини розмови (міняється кожен місяць); p>
V Загальна тривалість розмов з кожним містом за квартал; p>
V Плата за кожний місяць; p>
V Загальна плата за 3 місяці; p>
V Місто з найбільшою платою. p>
Вимога до введення інформації: p>
Вихідні дані вводяться з клавіатури. p>
Вимоги до висновку результатів: p>
Результати виводяться на екран. p>
Вимоги до структури програми. p>
Програма повинна складатися з наступних частин: p>
V Висновок заставки з інформацією про студента і завданні; p >
V Введення даних (виконується в діалоговому режимі); p>
V Висновок вихідних даних і результатів (на один екран). p>
Вимоги до розміщення вихідних даних усередині програми.
Вихідні дані розташовуються у файлі, компонентами якого єзапису. Структура кожного запису і типи її полів вибираються в залежності відзавдання. p>
Використовувані кольори: p>
Чорний (0) Світло-зелений (10) p>
Червоний (4) Жовтий (14) p>
Опис змінних: p>
Опис типів:
Тип: telef = record kod: integer; tpm1, tpm2, tpm3, price1, price2, price3: integer; end; p>
Тип запису 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; p>
Тип запису telef1 також є представленням інформації про місто. кod - код міста, tpm - загальний час розмови з містом за квартал (3 місяці). pr1, pr2, pr3 - вартість розмови з містом за 1-ий, 2-ий і 3-ій місяці відповідно. оb-загальна вартість розмови з містом за квартал. p>
Всі поля типу запису telef1-цілі числа. p>
Опис змінних: а: file of telef; p>
типізований файл «а» містить записи типу 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 присвоюється найбільше значення. P>
Змінній j присвоюється значення номера елемента масиву res і при визначенні міста з найбільшою оплатою j присвоюється номер цього міста в масиві res. s - ціле число, що використовується в циклі розрахунку результатів. Змінній s присвоюються значення від 1 до 7, тобто значення номерів елементів масиву res. p>
Ні p>
Так p>
Ні Так p>
Так p>
Ні p >
Ні p>
Ні Так p>
Так p>
Так p>
program kursovik;uses crt; p>
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,' p>
', tel.price1); writeln ( '', tel.kod, '', tel.tpm2, ' p>
', tel.price2); writeln ( '', tel.tpm3, ' p>
', 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,' p>
', 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; p>
end; writeln ( 'Місто з найбільшою платою:', res [j]. kod); textcolor (14); gotoxy (18 , 24); writeln ( 'Для завершення роботи програми натисніть ENTER');readln;end. p>
| Таблиця вихідних даних | | Таблиця результатів |
| | 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 | p>
Результат. P>
Результатом виконання програми є виведення на екранінформації про студента та про завдання, введення вихідних даних з клавіатури вдіалоговому режимі, висновок вихідних і розрахункових даних у вигляді таблиці.
Програма виконана з урахуванням всіх вимог, зазначених у завданні.
| Таблиця вихідних даних |
| Код | Загальна | Вартість |
| міста | час | хвилини |
| | Розмови | розмови |
| | За кожний | |
| | Місяць | |
| 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 | p>
Список використаної літератури:
1. Фігурне В.Е. IBM PC для користувача. Изд.2. Фаронов В. В., Турбо Паскаль 7.0., Навчальний посібник. - М.: «Нолидж», 1999 р.
3. Острейковскій В.А. Інформатика. -М.: «Вища школа», 2000 р.
----------------------- p>
Кінець p>
i = 7 p>
Висновок міста з найбільшою платою p>
max: = res [1 +1]. ob p>
max: = res [1]. ob p>
i: = 0 p>
i: = i +1 p>
res [1 +1]. ob> max p>
i = 7 p>
Виведення на екран таблиці результату розрахунків p>
Кінець файлу запису p>
Виведення на екран таблиці вихідних даних p>
Розрахунок загальної тривалості розмов з кожним містом за квартал,плати за кожен місяць, загальною плати за 3 місяці. p>
i = 7 p>
Введення коду міста, загального часу розмови за кожен місяць, вартість однієї хвилини розмови з містом за кожен місяць. Запис запису у файл. P>
i: = 0 p>
i: = i +1 p>
Опис змінних p>
Висновок заставки на екран
Виклик модуля CRT p>
Опис типів змінних p>
початок p>