Program Example_197_2;
Uses crt;
Var n:longint; {N - дане число}
Sum:byte; {Sum - сума цифр числа}
Begin
Clrscr;
Sum:=0; {Сума цифр числа спочатку дорівнює 0}
Write(‘Введіть ціле число: ‘);
Readln(N);
N:=abs(N);
While N>0 do
Begin
Sum:=Sum+N mod 10; {Знаходження суми цифр}
N:=N div 10; {«Відкидання» останньої цифри числа}
End;
Writeln(‘Sum= ‘,Sum);
Readkey;
End.
ЗАДАЧА №204
Умова : Дано ціле число т > 1. Знайти найбільше число к, при якому виконується умова 4 к < т.
Program Example_204;
Uses crt;
Var m,k,Rez:longint; {Rez - обчислення степеню 4}
Begin
Clrscr;
Write(‘Введіть значення m (m>1): ‘);
Readln(m);
Rez:=1;
k:=0;
While Rez
Begin k:=k+l; Rez:=Rez*4; End;
Writeln(‘k= ‘ ,k) ;
Readkey;
End.
ЗАДАЧА № 208
Умова : Під час обчислення результатів деяких експериментів виникає необхідність отримання результату із заданою похибкою. Нехай результатом є нескінченна сума, що задається певною формулою, і відома похибка e ( e > 0) для знаходження наближеного значення результату. Будемо вважати, що необхідна точність досягнута, коли додавання наступного доданку змінює суму на величину, меншу за e . Обчислити:
∞
1
∑
i=1
i 2
Розв’язання:
У даній задачі перед обчисленням чергової суми ми порівнюємо наступний доданок з похибкою і якщо доданок менше, обмеження припиняються.
Program Example_208_1;
Uses crt;
Var і:word;
Rez,Epsilon:real; {Rez - результат обчислень, Epsilon - похибка}
Begin
Clrscr;
Rez:=0; {Початкове значення дорівнює 0, тому що результат є накопиченням суми}
Write(‘Введіть значення похибки (Е>0): ‘);
Readln(Epsilon); і:=1;
While 1/sqr(i)>Epsilon do
Begin Rez:=Rez+1/sqr(i) i:=i+1; End;
Writeln(‘Rez= ‘,Rez:8:2); Readkey;
End.
ЗАДАЧА №212
Умова : Обчислити значення числа тс, використовуючи формулу
Знайти, кількість доданків що дає значення числа тс з точністю до 3 знаків.
Розв’язання: Для організації циклу з передумовою в цій задачі необхідно мати еталон числа тс для порівняння з нескінченною сумою. Візьмемо за цей еталон значення вбудованої функції Рі. Крім того, за умовою задачі нам необхідно отримати результат із точністю до третьої цифри після коми. Пропоную для цього стандартне число π і отриману нескінченну суму помножити на число 1000 та округлити результат за допомогою функції round(отриману суму, крім того, необхідно ще помножити на 4, оскільки сама сума є чвертю числа π). Зверніть увагу також на те, що в нескінченній сумі доданки, що стоять на парних місцях, додаються зі знаком «+», а доданки на непарних місцях—віднімаються від суми. Тобто, залежно від номера доданку (парний чи непарний) ми організовуємо знакочергування у нескінченній сумі. Програма для обчислення числа тс за допомогою нескінченної суми наведена нижче:
Program Exarople_212 ;
Uses crt;
Var і,n:word;
{і - параметр циклу, п - кількість доданків}
Rez_Pi:real; {Rez_Pi - обчислене значення числа Рі}
Begin
Clrscr;
Rez_Pi:=0;
і: =1; {і — значення знаменника першого доданkа}
п:=0; {п - доданків ще нема}
while round(pi*1000)=round(Rez_Pi*4000) do
Begin
If n mod 2=0 Then Rez_Pi:=Rez_Pi+1/i
Else Rez_Pi:=Rez_Pi-1/i;
i:=i+2;
n:=n+1;
End;
Writeln(vКількість необхідних доданків - ‘,n);
Writeln(“Порівняйте значення Рі: ‘);
Writeln(‘Результат обчислень програми: ‘,Rez_Pi:8:3);
Writeln(‘Вбудована функція: ‘ ,Рі:8:3) ;
Readkey; {Затримка зображення на екрані}
End.
Домашнє завдання
• Виконати задачі № 185, № 198 (3), № 200 (1), № 203 (3), № 205, № 208 (2).
УРОК 21. Цикли з післяумовою
Мета уроку: навчити використовувати цикл з післяумовою для розв’язування типових задач.
На початку уроку рекомендується повторити типи циклів, формати опису та порівняльну характеристику циклів. Далі можна розглянути деякі типові задачі з використанням циклу з післяумовою. Нагадуємо, що в усіх цих задачах кількість повторень заздалегідь невідома і тому, фактично, основним длярозв ‘язку цієї задачі є правильно підібрати умову виходу з циклу.
Читать дальше