Корисний цикл while для програміста
Починаючому програмісту може бути ще не знайомий один корисний цикл while. Це типова циклічна операція в середовищі Pascal. Її зручно використовувати в різних завданнях, тому розберемо, як можна включити в програму цей цикл.
Цикл While Паскаль вимагає оформляти наступним чином:
- While (Умова) do (begin якщо треба).
- Алгоритм дії.
- End (за наявності команди begin).
Перший рядок - "шапка" команди. Умовою може бути граничне числове значення перменная Integer (d<100), значение переменной типа boolean (t=True) или string (tex=`hello`). Команда "begin" ставится, если в теле цикла необходимо выполнить более одного условия. Далее следует описание действий, которые программа должна выполнить при условии, что цикл While выполняется. Здесь могут содержаться различные команды, процедуры, функции, подобные циклы. В конце необходимо поставить команду "end", если, конечно, в первой строке стоял "begin".
Тепер розглянемо приклади програм, які містять описувану команду. Наприклад, нам необхідно знайти суму перших n позитивних цілих чисел. Для цього спочатку вважаємо n (нехай воно завжди буде більше нуля). Потім запускаємо цикл. Важливо розуміти, що він повинен працювати, поки не досягне значення числа n. Тут існує не один варіант вирішення завдання, але ми зупинимося на тому, який зачіпає використання лічильника, який необхідно встановити. За замовчуванням для цього використовують змінну i. Перед початком роботи з нею необхідно їй присвоїти значення "1". Лічильник виконує роль доданка при кожних нових циклічних діях. Виходячи з нашого завдання, до нього постійно треба додавати одиницю. Таким чином, коли-небудь числовий показник лічильника зрівняється із значенням числа n. Це і буде сигнал для завершення роботи програми. Для підрахунку суми введемо змінну k. З кожним новим повторенням їй буде присвоюватися попереднє значення плюс число i. Після кінцевого підрахунку слід тільки вивести перменная k на екран. Це коротке пояснення програми на словах. Тепер же дивимося на програмний код.
Readln (n) - `- зчитуємо число n.
i: = 1 k: = 0- `- вводимо в роботу лічильник, Обнуляємо значення суми.
While i<=n do begin ` - задаем условие работы цикла.
k: = k + i- i: = i + 1- `- додаємо значення до суми, оновлюємо лічильник.
end- `- завершуємо опис роботи While.
Writeln (k) - - виводимо дані.
Познайомимося з ще одним прикладом. Тепер нам необхідно, щоб користувач з клавіатури заповнив n імен, які збереже текстової масив. Принцип тут аналогічний минулого. Вводимо число n, активуємо цикл While, ставимо умову. Далі позначимо введення з клавіатури в пам`ять осередку масиву. Встановлюємо лічильник, завершуємо повторні операції. Далі Обнуляємо лічильник і виводимо масив. Правда, обнулити лічильник в цьому контексті означає присвоїти йому значення одиниці, так як ви не зможете вивести нульову комірку масиву (її не існує). Код програми наступний: з цієї програми ви отримаєте суму ряду натуральних позитивних чисел, який закінчується введеним числом n. Слід розуміти, що у разі відсутності лічильника, цикл While Pascal ніколи закінчить. Якщо ви раптом забудете про це, то при виконанні програмного коду, почне зависати комп`ютер. Це лікується кнопкою "Pause Break". В якості лічильника для різноманітності використовуємо перменная c.
Readln (n) -
c: = 1
While c<=n do begin ` - установка условия.
Readln (a [c]) - c: = c + 1- `- зчитуємо дані з клавіатури, додаємо значення до лічильника.
end- `- завершуємо цикл.
c: = 1 `- повертаємо счетіку початкове значення.
While c<=n do write(a[c])- ` - выводим на экран n имен.
Після цього ви отримаєте на екрані n імен, які були введені з клавіатури. На цьому знайомство з циклом While закінчується. Його використовують як новачки, так і просунуті користувачі. Він не має лічильника, тому вимагає особливої уваги програміста і додаткової змінної.