Як і в попередньому випадку, програміст сам повинен подбати про переприсвоєння значення змінної, що визначає умову виходу з циклу, інакше він буде нескінченним.
Приклад програми з оператором While
Умова. Дано натуральне число N. Визначити кількість цифр у числі.
Program Example_3;
Uses crt;
Var N: longint; Counter: integer;
Begin
Clrscr;
Write(‘Введіть число: ‘);
Readln(N);
Counter:= 0;
While N > 0 do
Begin
Counter:=Counter+1; {Підрахунок кількості цифр}
N:=N div 10; {Відкидання останньої, цифри}
End;
Writeln(«Кількість цифр у заданому числі дорівнює’, N);
Readkey;
End.
Домашнє завдання:
• Прочитати сторінки 83 — 89 із запропонованого підручника;
• Вивчити означення, що прочитані на лекції.
УРОК 19. Цикли з параметром
Мета уроку: навчити використовувати цикл з параметром для розв’язування типових задач.
На початку уроку рекомендується провести письмове опитування по матеріалах попереднього уроку. Далі можна розглянути деякі типові задачі з використанням циклу з параметром. Нагадуємо, що в усіх цих задачах кількість повторень буде відома заздалегідь.
ЗАДАЧА №183
Умова задачі: Компанія бабусь поїхала на мотоциклах на курси комп’ютерної грамотності. Попереду на мотоциклі без глушника їхала одна бабуся, за нею - дві, потім - три і т.д. Скільки бабусь їхало на заняття, якщо приголомшені пішоходи всього нарахували N рядів? Чи змогли бабусі зайняти всі місця у класі, якщо там стояло k рядів по / комп’ютерів у кожному? Скільки вільних місць залишилося?
Розв’язання: Зверніть увагу на те, що фактично ця задача зводиться до знаходження суми всіх натуральних чисел від 1 до N. У кінці задачі для повторення команди розгалуження учням пропонується визначити кількість зайнятих бабусями та вільних місць. Програма розв’язання даної задачі має такий вигляд:
Program Example_183;
Uses crt;
Var I,N,Sum:word;{I - параметр циклу, N - кількість рядів мотоциклів. Sum - кількість бабусь, що приїхали на курси} Place,k,l:word;{k - кількість рядів у комп’ютерному класі, 1 - кількість комп’ютерів у кожному ряду, Place - кількість місць, якої вистачило для бабусь}
Begin
Clrscr;
Sum:=0;
Write(‘Введіть кількість рядів мотоциклів: ‘);
Readln(N);
For I:=1 to N do Sum:=Sum+I;
Writeln(‘Кількість бабусь, що приїхали на курси ‘,Sum);
Writeln(‘Кількість комп’ютерів на курсах ‘,к*1) ;
If Sum
Then writeln(‘Бабусі не змогли зайняти всі місця.’)
Else writeln(‘Бабусі зайняли всі місця.’);
Place:=Sum - к*1;
If Place>0
Then writeln(‘Бабусям не вистачило ‘,Place,’ місць.’);
Readkey;
End.
ЗАДАЧА № 189
Умова: Знайти значення
(1 + 0.1)(2 + 0.2)...(9 + 0.9)
Розв’язання: У даному випадку кількість повторів буде дорівнювати 9, тобто програма буде мати вигляд:
Program Example_189_2;
Uses crt; Var I:word; {I - параметр циклу}
Rez:real; {Rez - результат обчислень}
Begin
Clrscr;
Rez:=1; {Початкове значення дорівнює 1, тому що результат є накопиченням добутку}
For I:=1 to 9 do Rez:=Rez*(I+0.1*I);
Writeln(‘Rez= ‘,Rez:8:2);
Readkey;
End.
ЗАДАЧА № 190
Умова задачі: Дано ціле п. Визначити п !
Розв’язання: Відомо, що n ! (вимовляється як n-факторіал) - це добуток всіх натуральних чисел від 1 до п. Тому програма має вигляд:
Program Example_190_1;
Uses crt;
Var I,n:word; {I - параметр циклу}
Factorial:longint; {Factorial - результат обчислень}
Begin
Clrscr;
Factorial:=1;
Write(‘Введіть значення n: ‘);
Readln(n);
For I:=1 to n do Factorial:=Factorial*I;
Writeln(‘Factorial= ‘, Factorial:8:2); Readkey;
End.
ЗАДАЧА № 191
Умова задачі: За данимнатуральним значенням змінної п обчислити:
Розв’язання: Для розв’язання цієї задачі необхідно виконати обчислення, починаючи з самого вкладеного кореня. Кожний наступний крок обчислюється таким чином: до попереднього результату додається двійка і з отриманої суми береться квадратний корінь.
Програма, що виконує описані обчислення, наведена нижче:
Program Example_191_6;
Uses crt;
Читать дальше