роботу.
Поки в стеці є елементи, працює цикл.
1. Збільшується лічильник номерів елементів (k) на 1. p align="justify">. Програма перевіряє, до якого з місць купівлі належить запис. p align="justify">. Якщо ціна покупки більше, ніж зберігається в змінної максимальної ціни, то ця ціна присвоюється змінної максимуму, а змінної номера елемента максимальної ціни присвоюється номер цього запису. Далі програма продовжує свою роботу. p align="justify"> Якщо ціна менша, ніж зберігається в змінної максимальної ціни, то програма продовжує свою роботу.
. Вказівником стека привласнюється попередня запис (тобто вершиною стека стає попередня запис). p align="justify"> Цикл закінчує свою роботу, коли в стеку більше немає елементів (покажчик дорівнює nil).
. Програма виводить елементи з максимальною вартістю покупки на екран за допомогою допоміжної процедури Pomog (Посилання на програмний код даної процедури знаходиться в Додатку 1 Лістинг 7). br/>В
Рис.8 Список товарів максимальної вартості, зроблених по кожному з місць покупки.
Код програми представлений у Додатку 1 Лістинг 9. p align="justify">. Знайти кількість покупок за кожен квартал минулого року. p align="justify"> У процедурі Three реалізований алгоритм знаходження кількості покупок за кожен квартал минулого року, згідно блок-схемі на рисунку 9. У цій процедурі виконуються наступні дії:
. Обнуляються змінні кількості покупок.
. Вказівником присвоюється вершина стека (тобто стек розглядається з його вершини). p align="justify">. Перевірка на наявність елементів в стеку. p align="justify">. Якщо в стеці немає елементів, програма виводить повідомлення про те, що стек порожній. p align="justify"> Якщо в стеці є елементи, програма продовжує свою роботу.
. Змінним D1, D2, D3, D4, D5 присвоюються початку кожного кварталу минулого року і початок першого кварталу даного року.
. Поки в стеці є елементи, працює цикл:
. Перевіряється, якому кварталу минулого року належить дата покупки. p align="justify">. Якщо знайдено потрібний період, то змінна кількості покупок даного періоду збільшується на 1; Програма продовжує свою роботу. p align="justify">. Вказівником стека присвоюється попередня запис (тобто вершиною стека стає попередня запис). p align="justify"> Цикл закінчує свою роботу, коли в стеку більше немає елементів (покажчик дорівнює nil).
. Програма виводить інформацію про те, скільки покупок зроблено в кожному з кварталів минулого року і пропонує вивести записи, покупок яких вчинені в минулому році. p align="justify">. Якщо користувач відповів позитивно, то програма продовжує роботу. p align="justify"> Якщо користувач відповів негативно, виконується вихід з процедури.