Всего на сайте:
183 тыс. 477 статей

Главная | Информатика

Приклад 4.. Скласти програму для обчислення суми членів ряду: з точністю до чле..  Просмотрен 1537

Скласти програму для обчислення суми членів ряду:

з точністю до члена ряду, що по модулю менше E=0.00001.

1. Перший член цього ряду обчислюється за формулою:

де .

Отже за допомогою циклу For необхідно обчислити значення (n+1)!, цей фрагмент програми можна виконати так:

Var

i : integer; {ціла змінна для циклу}

n: integer; {змінна для значення n}

d: real; {дійсна змінна для добутку (факторіалу)}

а: real; {дійсна змінна для членів ряду}

x:real; {дійсна змінна для значення X}

Begin

Readln(n,x); {зчитуємо значення n та x}

d :=1;

fori:=1 to n+1dod:=d*i; {так знаходимо (n+1)!}

a:=x/d; {так знаходимо a0}

{…}

End.

2. Наступний член ряду – можна обчислити за допомогою попереднього:

3. Не важко помітити, що аналогічно знаходиться значення :

а сума i перших членів ряду обчислюється за формулою:

тобто ці значення можна підрахувати за допомогою циклу, наприклад:

i:=0; {початкове значення i}

s:=0; {спочатку сума =0}

Whileabs(a) >= 0.00001do {виконуємо поки модуль a >= 0.00001}

Begin

i := i + 1; {збільшуємо i на 1}

a:=-sqr(x)*a/(n+i+1); {знаходимо ai}

s:=s+a; {знаходимо si}

end;

4. Тепер запишемо програму повністю:

 

ProgramLaba_4;

Const

E=0.00001; {задаємо значення E за допомогою константи}

Var

i : integer; {ціла змінна для циклу}

n: integer; {змінна для значення n}

d: real; {дійсна змінна для добутку (факторіалу)}

а: real; {дійсна змінна для членів ряду}

x:real; {дійсна змінна для значення X}

Begin

Write(’Введіть значення X :’);

Readln(x);

Write(’Введіть значення N :’);

Readln(n);

d :=1;

fori:=1 to n+1dod:=d*i; {так знаходимо (n+1)!}

a:=x/d; {так знаходимо a0}

i:=0; s:=0; {початкове значення i, s}

Whileabs(a) >= Edo {виконуємо поки модуль a >= E}

Begin

i := i + 1; {збільшуємо i на 1}

a:=-sqr(x)*a/(n+i+1); {знаходимо ai}

s:=s+a; {знаходимо si}

end;

Writeln(’i=’, i);

Writeln(’a=’, a:10:6);

Writeln(’s=’, s:10:5);

End.

Виконаємо програму для значень X=5.0 і N=4, отримаємо результат:

 

Введіть значення X : 5.0

Введіть значення N : 4

i=59

a= -0,000006

s= -0,17260

Блок-схема програми:

4.5. Індивідуальні завдання.

Скласти алгоритм i програму розв’язання задач

1. Обчислити суму членів ряду:

з точністю до члена ряду, що менше E=0.0001.

 

2. Обчислити суму членів ряду:

з точністю до 0,0001.

3. Обчислити суму членів ряду:

з точністю до члена ряду, що менше E=0.00001.

 

4. Обчислити суму членів ряду:

з точністю до члена ряду, що менше 10-4.

 

5. Обчислити суму членів ряду:

з точністю до члена ряду, що менше E.

 

6. Обчислити суму членів ряду:

з точністю до члена ряду, що менше 10-6.

 

7. Обчислити суму членів ряду:

з точністю до члена ряду, що менше 10-6.

 

8.

Обчислити значення функції exp з точністю до п’ятого знака, використовуючи розкладення в ряд Тейлора:

 

9. Обчислити значення функції cos з точністю до п’ятого знака, використовуючи розкладення в ряд Тейлора:

10. Обчислити суму членів ряду:


з точністю до члена ряду, що менше E.

 

11. Обчислити з точністю до п’ятого знака:

з точністю до члена ряду, що менше E.

 

12. Обчислити суму членів ряду:

з точністю до члена ряду, що менше 10-4.

13. Обчислити arctg використовуючи наступне розкладання в ряд:
для x>1

Обчислення провести з точністю до шостого знака.

 

14. Обчислити значення функції sinз точністю до п’ятого знака, використовуючи розкладення в ряд Тейлора:

15. Обчислити суму членів ряду:

з точністю до члена ряду, що менше 10-4.

 

16. Обчислити суму членів ряду:

з точністю до члена ряду, що менше 10-4. Для визначеного поточного члена ряду використовувати рекурентну формулу: де n - номер члена ряду. Початкове значення y взяти рівним .

17. Обчислити суму членів ряду:

 

з точністю до члена ряду, що менше E.

18. Скласти програму обчислення відрізка ряду:
x = 0,56. Розрахунки припинити, якщо .

19.

Скласти програму обчислення функцiї , використовуючи ітераційну формулу: .
Розрахунки припинити, якщо .

20. Обчислити з точністю E, використовуючи співвідношення: .

21. Знайти значення змінної для кожного із значень x, розташованих на інтервалі (-2; 2) з кроком 0,5, з точністю до 0,0001 .
Роздрукувати таблицю значень y і x.

22. Знайти значення змінної з точністю до 0,00001 для значень x, розташованих на інтервалі (0; 1) з кроком 0,25.
Роздрукувати таблиці значень y і x.

23. Обчислити значення змінної з точністю E для значень x, розташованих на інтервалі (-1; 2) з кроком 0,25. Роздрукувати таблицю значень p і x.

24. Знайти значення змінної з точністю до 0,00001 для значень x, розташованих на інтервалі (0; 1) з кроком 0,25; на інтервалі (0; 3) з кроком 0,5. Роздрукувати таблицю значень y і x.

25. Знайтиметодом Ньютона корінь рівняння -cos(2x)
з точністю до 10-4, взявши як перше приблизне значення кореня x=0. Наступні наближення знаходяться за формулою: ,
де f `(x) - похідна від функції f(x).

26. Обчислити з точністю до четвертого знака, використовуючи співвідношення: .

27. Скласти програму обчислення відрізка степеневого ряду.

x=0,56.
Розрахунки припинити, якщо .

28.

Знайти значення змінної з точністю до 0,0001 для значень x, розташованих на інтервалі (0; 1.5) з кроком 0,25. Роздрукувати таблиці значень y і x.

29. Знайти значення змінної з точністю до 0,0001 для значень x, розташованих на інтервалі (0; 2) з кроком 0,4. Роздрукувати таблицю значень y і x.

30. Обчислити значення змінної з точністю до 0,0001, для значень x, розташованих на інтервалі (-1; 2) з кроком 0,25. Роздрукувати таблицю значень d і x.

 


5. Лабораторна робота №5
Вивчення циклів з використанням функцій.

5.1. Процедури і функції, що задаються користувачем.

Процедури і функції являють собою важливий інструмент мови Паскаль, що дозволяє писати структуровані програми. В структурованих програмах зазвичай легше відстежити основний алгоритм, їх легше зрозуміти навіть початківцям. Мови які використовують механізми процедур і функцій називаються процедурно-орієнтованими.

Процедура – це незалежна поіменована логічно завершена частина програми, призначена для виконання визначених дій. По своїй структурі вона є міні програмою. Одного разу описану процедуру можна визивати за ім’ям з різних наступних частин програми. Опис процедури має наступний вигляд:

 

Procedure < ім’я >( список формальних параметрів);

<розділ опису >

Begin

<тіло процедури >;

end;

 

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

Список формальних параметрів – це опис змінних, через які власне здійснюється передача до процедури. Параметри в цьому списку поділяються на два типи – параметри-значення та параметри-змінні.

Параметри-значення – застосовуються для передачі даних в процедуру, і можуть використовуватись в ній в якості змінних, але навіть якщо ми змінимо їх значення в процедурі значення відповідних змінних в точці виклику не зміниться.

Параметри-змінні – призначені не тільки для передачі даних в процедуру, а й для повернення нових значень в точку виклику, і їх опис починається з ключового слова var.

Розділ опису – аналогічний розділу опису головної програми в ньому можна задавати імена констант, змінних і міток, які будуть використовуватись лише в цій процедурі.

Тіло процедури – послідовність операторів, які будуть виконуватись в цій процедурі.

Розглянемо приклад:

 

Procedure Cub(x : real, var y : real);

begin

y := x*x*x;

end;

 

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

Виклик або запуск процедури здійснюється за допомогою оператора процедури, в якому міститься ім'я процедури і необхідні параметри. В нашому випадку він може виглядати так.

Cub(a, b);

тоді змінна a повинна містити значення яке ми хочемо привести до третього степеню, а в змінну b процедура поверне результат обчислень.

 

Функція– відрізняється від процедури тим, що один з результатів її роботи завжди повертається у вигляді значення, а отже функцій можуть використовуватись при обчисленні виразів. Опис процедури виглядає так:

 

Function < ім’я >( список формальних параметрів): <тип результату>;

<розділ опису >

Begin

<тіло процедури >;

end;

 

де тип результату – тип значення яке повертає функція.

Якщо повернутися до попереднього прикладу, то функцію для обчислення кубу можна задати так:

 

Function Cub2(x : real) : real;

Begin

Cub2 := x*x*x;

end;

 

тоді виклик функції можна здійснити наступним чином:

 

b := Cub2(a);

 

Предыдущая статья:Приклад 3.. Приклад 3. Для прикладу розглянемо програму, яка імітує програму мікр.. Следующая статья:Приклад 5.. Приклад 5. Скласти програму для обчислення суми членів ряду викор..
page speed (0.0113 sec, direct)