Оператори циклу while в паскале і вкладені цикли
Алгоритм: Відокремлюємо і видаляємо послідовно останню цифру, нарощуючи лічильник.

У чому складність ?: Заздалегідь не визначене і невідомо, скільки цифр потрібно прибрати, тобто скільки кроків потрібно зробити.
Як виконати: Треба перестати відокремлювати цифри, коли n = 0. тобто треба виконувати поки n> 0

Рішення прикладу на Паскалі:

Цикл while в Паскалі застосовується для створення повторень з невідомим заздалегідь їх числом. Повторення (ітерації) будуть здійснюватися, поки істинно деяка умова.
Блок-схема, відповідна циклу while в Паскалі:

- Тут оператор, що стоїть після службового слова do. утворює тіло циклу і буде виконуватися, поки значення "умови" дорівнює true (істина).
- Якщо операторів повинно бути кілька, тоді необхідно застосовувати складовою оператор.
- Умова перераховується кожного разу при вході в цикл
- Безпосередньо умовою циклу while може бути змінна або логічний вираз.
- Оператори тіла циклу while виконуватися тільки в тому випадку, якщо умова це слово, якщо умова помилкова - вони ігноруються, і програма триває з тих операторів, які стоять вже після конструкції. Таким чином, це суттєва відмінність циклу з передумовою від циклу з умовою поста.
Розглянемо використання циклу while в Паскалі на вирішену прикладі:
Приклад: Друкувати «нуль» вказану кількість разів
Тут необхідно звернути увагу на те, що присвоювання n: = 1 стоїть до циклу, якщо цього не зробити, то умова буде працювати некоректно, тому що змінна n буде порожня.
Програма зведення в ступінь числа в Паскалі
Для початку уточнимо, що є формула обчислення ступеня на Паскалі. Але ми не будемо її використовувати, а розберемо алгоритм вирішення задачі зведення в ступінь.
Для того щоб звести число в ступінь, його треба помножити само на себе рівно стільки разів, чому дорівнює показник ступеня.
Таким чином, зведення числа n в ступінь d можна висловити так:
n d = n1 * n2 * n3 * ... * nd. де нижні індекси просто вказують чергове за рахунком число n.
Ще необхідно врахувати наступне:
- число в нульовому ступені дорівнює 1
- якщо показник ступеня негативний, тобто d. то завдання вирішується за формулою:
n d = 1 / (n1 * n2 * n3 * ... * nd)
Тобто вирішуючи програму на Паскалі враховуємо:
- в програмі на мові Паскаль кількість ітерацій (повторень) циклу while має дорівнювати показнику ступеня числа по модулю
- якщо показник ступеня - негативне число, то потрібно в наслідок одиницю розділити на результат
Завдання 6. Обчислити в Паскалі ступінь числа, використовуючи цикл while