- •Лабораторна робота №1 розробка і дослідження алгоритмів розв’язання задач
- •Теоретичні відомості
- •Прості дії та їх базові конструкції
- •Складні дії та їх базові конструкції
- •Робоче завдання
- •Контрольні запитання
- •Лабораторна робота №2
- •Теоретичні відомості
- •Типи даних. Оголошення змінних і констант
- •Редагування і відладка програм
- •Робоче завдання
- •Робоче завдання
- •Контрольні запитання
- •Лабораторна робота №4 розробка і дослідження програм, що розгалужуються
- •Теоретичні відомості
- •Складові оператори
- •Оператор вибору
- •Робоче завдання
- •Контрольні запитання
- •Лабораторна робота №5 розробка і дослідження циклічних програм
- •Теоретичні відомості
- •Цикл з передумовою
- •Цикл з післяумовою
- •Робоче завдання
- •Контрольні запитання
- •Лабораторна робота №6 розробка і дослідження програм обробки одновимірних масивів
- •Теоретичні відомості
- •Властивості масивів:
- •Оголошення масивів
- •Ініціалізація масивів
- •Оператор if
- •If (вираз) оператор-1; else оператор-2;
- •Оператори циклу
- •Робоче завдання
- •Робоче завдання
- •Функції, які часто використовуються
- •Функції перетворення типу
- •Робоче завдання
- •Оголошення функції
- •Описання функції
- •Передача аргументів функції
- •Робоче завдання
- •Одновимірний масив як аргумент функції
- •Матриця як аргумент функції
- •Робоче завдання
- •Контрольні запитання
- •Лабораторна робота №11 розробка і дослідження програм обробки структур
- •Теоретичні відомості
- •Визначення структури
- •Визначення структурної змінної
- •Доступ до полів структури
- •Робоче завдання
- •Передача і повернення структур
- •Робоче завдання
- •Робоче завдання
- •Контрольні запитання
- •Список літератури
Робоче завдання
Завдання 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)
Контрольні запитання
Назвіть засоби мови С (С++), за допомогою яких реалізуються циклічні обчислювальні процеси.
Запишіть умовний оператор while і сформулюйте, як він виконується.
Чим відрізняється блок від складового оператора.
Запишіть у загальному вигляді оператор do…while і сформулюйте, як він виконується.
Сформулюйте що повинно бути у конструкції цикл.
Лабораторна робота №6 розробка і дослідження програм обробки одновимірних масивів
Мета роботи: отримання навиків розробки і дослідження програм обробки одновимірних масивів даних, вивчення операторів циклу і умовного оператора.
