Факультатив
173. Написати програму підведення підсумків Олімпійських ігор. У програму користувач повинен ввести кількість медалей різної гідності, завойовану кожною командою-учасницею, а програма — підрахувати загальне число медалей і відповідне число окулярів, після чого упорядкувати список відповідно до набраної кількості очок, яка визначається за наступним правилом: за золоту медаль команда отримує 7 очок, за срібну — 6, за бронзову — 5.
Вид екрану, що рекомендується, під час роботи програми приведений нижче (дані, введені користувачем, виділені напівжирним шрифтом).
Підсумки Олімпійських ігор
Введіть в одному рядку кількість золотих
срібних і бронзових медалей.
Австрія -> 3 5 9
Німеччина -> 12 9 8
Канада -> 6 5 4
Китай -> 0 6 2
Корея -> 3 1 2
Норвегія -> 10 10 5
Росія -> 9 6 3
США -> 6 3 4
Фінляндія -> 2 4 6
Японія -> 5 1 4 .
Підсумки зимової Олімпіади в Нагано, 1998 р.
|
Cтрана
|
Золото
|
Срібло
|
Бронза
|
Всього
|
Окулярів
|
|
1
|
Німеччина
|
12
|
9
|
8
|
29
|
178
|
|
2
|
Новергия
|
10
|
10
|
5
|
25
|
155
|
|
3
|
Росія
|
9
|
6
|
3
|
18
|
114
|
|
4
|
Австрія
|
3
|
5
|
9
|
17
|
96
|
|
5
|
Канада
|
6
|
5
|
4
|
15
|
92
|
|
6
|
США
|
6
|
3
|
4
|
13
|
80
|
|
7
|
Фінлядія
|
2
|
4
|
6
|
12
|
68
|
|
8
|
Японія
|
5
|
1
|
4
|
10
|
61
|
|
9
|
Китай
|
0
|
6
|
2
|
8
|
46
|
|
10
|
Корея
|
3
|
1
|
2
|
6
|
37
|
|
174, Написати програму гри "Вгадай число". Правила гри наступні. Грають двоє. Один замислює число, другий — вгадує. На кожному кроці той, що вгадує робить припущення, а що задумав число — говорить, скільки цифр числа вгадано і скільки з цих цифр займають правильні позиції в числі. Наприклад, якщо задумано число 725 і висунуто припущення, що задумане число 523, то вважаються вгаданими дві цифри (5 і 2) і одна з них (2) займає вірну позицію.
Нижче представлений вид екрану, що рекомендується, під час роботи програми. Дані, введені користувачем, виділені напівжирним шрифтом.
Комп'ютер задумав тризначне число. Ви повинні його відгадати.
Після чергового числа вам буде повідомлено, скільки цифр
вгадано і скільки з них знаходиться на своїх місцях.
Після введення числа натискайте .
Для завершення гри натисніть .
Ваш варіант -> 123 Вгадано: 0.На своїх местах:0
Ваш варіант -> 456 Вгадано: 1.На своїх местах:0
Ваш варіант -> 654 Вгадано: 2.На своїх местах:2
Ваш варіант -> 657 Вгадано: 2.На своїх местах:2
Ваш варіант -> 658 Вгадано: 3.На своїх местах:3
*** ВИ ВГАДАЛИ ! ***
Натисніть для завершення.
175. Напишіть програму-телеграф, яка приймає від користувача повідомлення і виводить його на екран у вигляді послідовності крапок і тире. Виведення крапок і тире можна супроводжувати звуковим сигналом відповідної тривалості. Азбука Морзе для букв російського алфавіту приведена нижче.
А
|
.-
|
Б
|
-...
|
в
|
.---
|
г
|
--.
|
д
|
-..
|
Е
|
|
ж
|
...-
|
3
|
--..
|
і
|
..
|
ї
|
.---
|
к
|
-.-
|
л
|
.-..
|
м
|
--
|
Н
|
-.
|
О
|
---
|
п
|
.--.
|
р
|
.-.
|
с
|
...
|
т
|
-
|
У
|
..-
|
ф
|
..-.
|
X
|
....
|
ц
|
-.- .
|
ч
|
---.
|
ш
|
---
|
Щ
|
--.-
|
й
|
-..-
|
и
|
-.—
|
ь
|
-..-
|
є
|
..-.
|
ю
|
..--
|
я
|
.-.-
|
Функції
Приступаючи до вирішення завдань цього розділу, слід пригадати, що:
для передачі даних у функцію треба використовувати тільки параметри (глобальні змінні, тобто змінні, оголошені зовні функції, застосовувати не рекомендується);
серед виконуваних інструкцій функції обов'язково повинна бути інструкція привласнення значення функції;
тип кожного фактичного параметра (константи або змінної) в інструкції виклику функції повинен бути таким же, як тип відповідного формального параметра, вказаного при оголошенні функції;
якщо в інструкції оголошення функції перед ім'ям формального параметра не коштує слово var, то при виклику функції можна використовувати як формальний параметр константу або змінну відповідного типу. Якщо слово var вказане, то формальним параметром може бути тільки змінна;
якщо параметри функції використовуються для повернення результату в програму, що викликала функцію, то в оголошенні функції перед ім'ям відповідного параметра повинне бути присутнім слово var.
176. Написати функцію, яка обчислює об'єм циліндра. Параметрами функції повинні бути радіус і висота циліндра.
177. Написати функцію, яка повертає максимальне з двох цілих чисел, отриманих як аргумент.
178. Написати функцію, яка порівнює два цілі числа і повертає результат порівняння у вигляді одного із знаків: >, < або =.
179. Написати функцію, яка обчислює опір ланцюгу, що складається з двох резисторів. Параметрами функції є величини опорів і тип з'єднання (послідовне або паралельне). Функція повинна перевіряти коректність параметрів: якщо невірно вказаний тип з'єднання, то функція повинна повертати -1.
180. Написати функцію, яка обчислює значення аь. Числа а і ь можуть бути будь-якими дробовими позитивними числами.
181. Написати функцію Procent, яка повертає відсоток від числа, отриманого як аргумент.
182. Написати функцію Dohod, яка обчислює дохід по внеску. Початковими даними для функції є: величина внеску, процентна ставка (річних) і термін внеску (кількість днів).
183. Написати функцію Giasn, яка повертає значення True, якщо символ, отриманий функцією як аргумент, є явною буквою російського алфавіту.
184. Написати функцію Ltrim, яка видаляє початкові пропуски з рядка, отриманого як аргумент.
185. Написати функцію Sogi, яка повертає True, якщо символ, отриманий функцією як аргумент, є приголосною буквою російського алфавіту.
186. Написати функцію, яка повертає перетворений до верхнього регістра рядок, отриманий як аргумент. Звернете увагу, якщо цю функцію назвати upcase (тобто так, як називається функція мови Turbo Pascal, вирішальна подібне завдання для символів латинського алфавіту), то функція програміста підмінить функцію Turbo Pascal.
187. Написати функцію обчислення факторіалу (факторіалом цілого числа п називається число, рівне твору цілих чисел від 1 до п).
Факультатив
188. Написати функцію для вирішення квадратного рівняння. Параметрами функції повинні бути коефіцієнти і коріння рівняння. Значення функції повинне використовуватися для передачі в зухвалу її програму інформації про наявність коріння рівняння: 2 — два разних кореня, 1 — коріння однакове, 0 — рівняння не має рішення. Крім того, функція повинна перевіряти коректність початкових даних. Якщо початкові дані невірні, то функція повинна повертати -1.
189. Написати функцію, що забезпечує введення з клавіатури цілого позитивного двозначного числа. При натисненні користувачем якої-небудь клавіші відповідний нею символ повинен з'являтися на екрані тільки в тому випадку, якщо цей символ є цифрою. Функція повинна дозволяти користувачеві редагувати введене число за допомогою клавіші . Якщо користувач ввів хоч би одну цифру, то при натисненні клавіші функція повинна завершувати роботу і повертати введене користувачем число процедурі, що викликала її.
Процедури
Приступаючи до вирішення завдань цього розділу, слід пригадати, що:
для передачі інформації в процедуру слід використовувати параметри, а не глобальні змінні, тобто оголошені зовні процедури;
тип кожного фактичного параметра (константи або змінної) в інструкції виклику процедури повинен відповідати типу відповідного формального параметра, вказаного при оголошенні функції;
якщо в інструкції оголошення процедури перед ім'ям формального параметра немає слова var, то як формальний параметр в інструкції виклику процедури можна використовувати константу або змінну відповідного типу. Якщо слово var присутнє в інструкції, то формальним параметром можна призначити тільки змінну;
якщо аргумент процедури застосовується для повернення результату в програму, що викликала цю процедуру, то перед ім'ям аргументу потрібно поставити слово var.
190. Написати процедуру, яка виводить на екран рядок, що складається із зірочок. Довжина рядка (кількість зірочок) є параметром функції.
191. Написати процедуру, яка виводить рядок, що складається з однакових символів. Довжина рядка і символ є параметрами процедури.
192. Написати процедуру, яка обчислює об'єм і площу поверхні паралелепіпеда.
Факультатив
193. Написати процедуру Frame, яка виводить на екран рамку. Як параметри процедурі повинні передаватися координати лівого верхнього кута рамки і її розмір.
Файли
Приступаючи до вирішення завдань цього розділу, слід пригадати, що:
у програмі, яка виводить результати у файл або читає початкові дані з файлу, повинна бути оголошена файлова змінна типу text;
для доступу до конкретного файлу файлову змінну потрібно пов'язати з цим файлом (робиться це за допомогою інструкції assign);
для того, щоб файл був доступний, його треба відкрити (для Читання За допомогою ІНСТРУКЦІЇ reset, ДЛЯ запіси — rewrite, для додавання — append);
при роботі з файлами можливі помилки, наприклад, через те, що програма намагається відкрити файл, якого немає, тому після кожної інструкції, яка може привести до виникнення помилки, бажано, використовуючи функцію ioresuit, перевіряти код завершення операції з файлом: щоб програма могла контролювати результат виконання операції з файлом, в її текст треба помістити директиву
запис у файл виконують інструкції write і writein, читання — read і readin, причому як перший параметр цих інструкцій слід указувати файлову змінну;
після закінчення роботи з файлом його потрібно обов'язково закрити інструкцією close;
файл, створений програмою, в якій тип файлової змінної оголошений як text, можна проглянути за допомогою редактора тексту.
225. Написати програму, яка на змінному диску комп'ютера (А:) створює файл numbers.txt і записує в нього 5 введених користувачем цілих чисел. Проглянете за допомогою редактора тексту, наприклад, вбудованого в Norton Commander, створений файл. Переконаєтеся, що кожне число знаходиться в окремому рядку.
226. Напишіть програму, яка дописує у файл a:\numbers.txt 5 введених користувачем цілих чисел. Переконаєтеся за допомогою редактора тексту, що у файлі знаходяться 10 чисел.
227. Написати програму, яка виводить на екран вміст файлу a:\numbers.txt.
228. Написати програму, яка обчислює середнє арифметичне чисел, що знаходяться у файлі a:\numbers.txt.
229. Написати програму, яка дозволяє проглядати текстові файли (виводить на екран вміст файлу), наприклад, файли початкових програм Turbo Pascal. Ім'я файлу, що проглядається, повинне вводитися під час роботи програми. Вид екрану, що рекомендується, приведений нижче.
Проглядання текстового файлу.
Введіть повне ім'я файлу і натисніть
—> c:\tp\pas\numb.pas
230. Написати програму, яка дописує у файл phone.txt, що знаходиться на диску А:, прізвище і номер телефону, наприклад, вашого товариша. Якщо файлу на диску немає, то програма повинна створити його. У файлі кожен елемент даних (ім'я, прізвище, телефон) повинен знаходитися в окремому рядку. Вид екрану, що рекомендується, під час роботи програми приведений нижче.
Додавання в телефонний довідник.
Прізвище —> Сидоров
Ім'я —> Вася
Телефон -> 234-84-37
Інформація додана.
Для завершення роботи натисніть .
231. Написати програму, використовуючи яку можна за один сеанс роботи додати інформацію про декілька людей у файл a:\phone.txt.
232. Написати програму, яка дозволяє знайти потрібні відомості в телефонному довіднику (a:\phone.txt). Програма повинна запрошувати прізвище людини і виводити його телефон. Якщо в довіднику є однакові прізвища, то програма повинна вивести список всіх людей, що мають ці прізвища. Вид екрану, що рекомендується, під час роботи програми приведений нижче.
Пошук в телефонному довіднику.
Введіть прізвище і натисніть . Для завершення роботи
з програмою відразу після запрошення натисніть
—> Петров
У довіднику даних про Петров немає.
—> Іванов
Іванов Вася 578-12-45
Іванов Сергій 244-34-02
233. Напишіть програму, яка об'єднує можливості
програм Додавання в телефонний довідник І Пошук в телефонному довіднику. При запуску програми на екран повинне виводитися меню:
*** Телефонний довідник ***
1. Додавання
2. Пошук
3. Завершення роботи
Введіть номер пункту меню і натисніть
|