Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка з програмування (школа).doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1 Мб
Скачать
☆

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. Цикли з післяумовою

Мета уроку: навчити використовувати цикл з післяумовою для розв'язування типових задач.

На початку уроку рекомендується повторити типи циклів, формати опису та порівняльну характеристику циклів. Далі можна розглянути деякі типові задачі з використанням циклу з післяумовою. Нагадуємо, що в усіх цих задачах кількість повторень заздалегідь невідома і тому, фактично, основним длярозв 'язку цієї задачі є правильно підібрати умову виходу з циклу.

Задача №179

Умова задачі: На дверях ліфта висіло загрозливе попередження про те, що двері самі зачиняються в той самий момент, коли зайвий за вагою пасажир переступить поріг ліфта. Котрий пасажир постраждає, якщо ліфт витримує вагу не більше S кг, а вага пасажирів, що стоять у черзі до ліфта, дорівнює відповідно a1, а2, а3, ... ап?

Розв'язання: У цій задачі зручніше використовувати цикл з післяумовою, тому що спочатку необхідно дати можливість «увійти» пасажиру в ліфт, а потім перевіряти, чи витримає його ліфт. Умовою виходу з циклу буде перевищення сумарної ваги пасажирів, що увійшли в ліфт, деякого заданого критичного значення. Для зберігання ваги чергового пасажира в цій задачі ми будемо використовувати одну й ту саму змінну (А), оскільки після перевірки вага пасажира нас уже не цікавить. Програма має вигляд:

Program Ехаmрlе_179;

Uses crt;