Оператори циклу while в паскале і вкладені цикли

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

Оператори циклу while в паскале і вкладені цикли

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

Оператори циклу while в паскале і вкладені цикли

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

Оператори циклу while в паскале і вкладені цикли

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

Блок-схема, відповідна циклу 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