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

Робоче завдання

Завдання 1. Розробити алгоритм і програму розв’язання задачі (використовувати оператори while i do …while)

Визначте свій номер варіанту як суму цифр у порядковому номері запису прізвища в журналі.

Скласти програму обчислення значення функції:

1) де

a=3; 0<=x<=5; dx=0.5;

2) де

a=4; 0<=x<6; dx=1;

3) де

0<=x<=4; dx=0.5;

4) де

-3<=x<=5; dx=1;

5) де

-3<=x<=5; dx=1;

6) де

-3<=x<=3; dx=0.5;

7) де

-2<=a<=4; da=0.5; b=1;

8)

-2<x<3; dx=0.5

9) де

a=0.5; -3<=x<=4; dx=1;

10) -2<x<3; dx=0.5

Завдання 2. Скласти програму обчислення кореня рівняння f(x)=0 з точністю EPS = 0,0001. Відрізок локалізації кореня [a, b] відомий.

Використати метод простої ітерації. (при складанні програми використати оператори циклу while i do…while).

*Примітки.

Метод простої ітерації полягає в тому, що за i–м наближенням кореня знаходиться i+1 наближення за формулою

(5.1)

Процес продовжується доти, доки відносна похибка для двох послідовних наближень не стане меншою EPS:

(5.2)

Процес ітерації збігається на [a, b], якщо при всіх . Для початкового значення кореня x0 прийняти, що .

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

f (x) = 0 при заданому початковому наближенні коріння x0 і точності ε.

f (x) = x – sin x – 0.25 = 0; x0 = 1.25; eps = 10-6.

Рішення. Використовуючи метод простої ітерації, можна записати

x1 = 0.25 + sin x0.

У загальному вигляді це співвідношення запишеться таким чином:

xi+1 = 0.25 + sin xi.

Процес ітерації продовжуватиметься до тих пір, поки

| (xi+1 – xi) / xi) | < eps.

Введемо наступні ідентифікатори

x0 -> x0

xi -> xs

xi+1 -> xn

eps -> eps.

Программа

#include <iostream.h>

#include <math.h>

void main()

{

double x0,xn,xs,eps,k; // k – кількість ітерацій

cout<<" Введіть x0 i eps: "<<endl;

cin>>x0>>eps;

cout<<endl;

xn=x0;

xs=x0+eps;

k=0;

while(fabs((xn-xs)/xn)>eps)

{

xs=xn;

xn=0.25+sin(xs);

k+=1;

}

cout<<"Корінь X= "<<xn<<endl;

cout<<"Кільк.ітер. = "<<k<<endl;

cout<<endl;

}

Результат виконання програми.

/* Введіть x0 i eps:

1.25 1E-6

Koрінь X= 1.17123

Кільк. ітер.= 13*/

Варіанти завдань

1) (1; 2)

2) (3; 4)

3) (1,5; 2,7)

4) (0,1; 0,6)

5) (0,5; 0,9)

6) (0; 1)

7) (0,5; 1)

8) (0,1; 0,8)

9) (0,1; 0,8)

10) (0,2; 1)

Контрольні запитання

  1. Назвіть засоби мови С (С++), за допомогою яких реалізуються циклічні обчислювальні процеси.

  2. Запишіть умовний оператор while і сформулюйте, як він виконується.

  3. Чим відрізняється блок від складового оператора.

  4. Запишіть у загальному вигляді оператор do…while і сформулюйте, як він виконується.

  5. Сформулюйте що повинно бути у конструкції цикл.

Лабораторна робота №6 розробка і дослідження програм обробки одновимірних масивів

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