Var x record

цей запис складається з двох полів: символьного рядка name і цілого числа code

· Для звернення до полів запису використовують точку, наприклад x.name означає «поле name записи x»

· Можна відразу оголосити масив записів:

var Info: array [1..100] of record

це 100 однакових записів, що мають загальну назву Info і розташованих в пам'яті поруч; в кожній структурі є поля nаme і code; щоб працювати з полями записи з номером k використовують звернення виду Info [k] .name і Info [k] .code

· Позначення говорить про те, що при збільшенні в 2 рази розміру масиву даних кількість операцій теж збільшується приблизно в 2 рази (для великих N)

· Складність має алгоритм з одним або декількома простими (не вкладені!) Циклами в кожному з яких виконується N кроків (як при пошуку мінімального елемента)

· Кількість операцій для алгоритму, що має складність. обчислюється за формулою. де a і b - деякі постійні

· Якщо в одному алгоритмі рішення задачі використовується кілька циклів від 1 до N, а в другому - тільки один цикл, то алгоритм з одним циклом, як правило, ефективніше (хоча обидва алгоритму мають складність. Постійна в кожному випадку своя, для алгоритму з декількома циклами вона буде більше)

· Для алгоритму, що має складність. кількість операцій пропорційно квадрату розміру масиву, тобто, якщо N збільшити в 2 рази, то кількість операцій збільшується приблизно в 4 рази (наприклад, в програмі використовується два вкладених циклу, в кожному з яких N кроків); складність мають прості способи сортування масивів: метод «бульбашки», метод вибору

· При великих N функція зростає значно швидше, ніж. тому алгоритм, який має складність завжди менш ефективний, ніж алгоритм складності

· Іноді зустрічаються алгоритми складності (три вкладених циклу від 1 до N), при великих N вони працюють повільніше, ніж будь-який алгоритм складності. тобто, менш ефективні

· Для багатьох завдань відомі тільки алгоритми експоненційної складності, коли розмір масиву входить в показник ступеня, наприклад. для великих N такі завдання не вирішуються за прийнятний час (наприклад, «злом» шифрів)

На вхід програмі подаються відомості про номери шкіл учнів, які брали участь в олімпіаді. У першому рядку повідомляється кількість учнів N, кожна з наступних N рядків має формат:

<Фамилия> <Инициалы> <номер школы>

де <Фамилия> - рядок, що складається не більше ніж з 20 символів, <Инициалы> - рядок, що складається з 4-х символів (буква, точка, буква, точка), <номер школы> - не більше ніж двозначний номер. <Фамилия> і <Инициалы>, а також <Инициалы> і <номер школы> розділені одним пропуском. Приклад вхідного рядка:

Схожі статті