Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OTP_labs-NEW2.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
787.97 Кб
Скачать

3 Оператори циклів

Мета роботи: ознайомитись з принципом роботи умовних операторів; вивчити синтаксис цих операторів на мові програмування С++.

3.1 Теоретичні відомості

Оператори циклів застосовуються для виконання дій, що повторюються.

Оператор циклу з передумовою while:

while (умова)

{

блок операторів;

}

Алгоритм виконання:

  1. Перевіряється умова продовження циклу;

  2. Якщо вона хибна, то перехід до оператору, що стоїть за циклом (вихід з циклу).

  3. Якщо умова істинна, то виконання блоку операторів

  4. Перехід до пункту 1.

Оператор циклу з постумовою do-while

do

{

блок операторів

}

while (умова);

Алгоритм виконання:

  1. Виконання блоку операторів;

  2. Перевірка умови продовження циклу

  3. Якщо умова вірна, перехід до п.1, якщо ні – вихід.

Оператор циклу for:

for (початкова дія;умова продовження;кінцева дія)

{

оператори;

}

Алгоритм виконання:

  1. Виконання операторів початкової дії;

  2. Перевірка умови продовження. Якщо умова не виконується – вихід з циклу;

  3. Виконання операторів;

  4. Виконання операторів кінцевої дії;

  5. Перехід до п. 2.

3.2 Порядок виконання роботи

При виконанні лабораторної роботи дотримуйтесь рекомендованого порядку.

  1. Ознайомтесь з прикладом (листінг 3.1), наведеним у підрозділі 3.3.

  2. Отримайте від викладача варіант завдання.

  3. Розробіть схему алгоритму роботи програми.

  4. Запишіть програму на мові програмування С++.

  5. Створіть новий проект Visual Studio .NET” та введіть початковий код програми.

  6. Проведіть її компіляцію з використанням середовища “Visual Studio .NET”.

  7. Якщо необхідно, виправте синтаксичні та логічні помилки і повторіть компіляцію.

  8. Запустить на виконання отриманий код.

  9. Проведіть тестування для різних початкових даних.

  10. Запишіть результати роботи програми та проконтролюйте їх коректність.

3.3 Приклад

Завдання. Напишіть програму обчислення квадратного кореня числа а за методом дотичних (Ньютона):

, .

//бібліотека функцій стандартного вводу/виводу

#include <stdio.h>

//бібліотека математичних функцій

#include <math.h>

int main(void){

float a;

printf("Enter a: ");

scanf("%f",&a); //введення числа а

float xn;

float xn1=a; //установка X0

do{

xn=xn1; //ітеративний перехід до нового Xn

xn1=(a/xn+xn)/2; //обчислення Xn+1

}while(fabs(xn1-xn)>0.001); //повторення,

// поки виконується умова

printf("square root of a is %f",xn1); //виведення результату

return 0;

}

Листінг 3.1 – Приклад виконання індивідуального завдання

3.4 Зміст звіту

Звіт з лабораторної роботи повинен містити:

    • мету роботи;

    • завдання на виконання роботи;

    • схему алгоритму роботи програми;

    • текст програми;

    • результати роботи програми для різних початкових даних;

    • висновки, які стосуються обґрунтування вибору виду циклу.

3.5 Завдання на лабораторну роботу

Задано ряд чисел що збігається, згідно варіанту завдання, N – кількість елементів ряду, Е – точність обчислення наступного елементу задаються користувачем підчас роботи програми. Написати програму, що:

- Обчислює суму N елементів ряду.

- Обчислює суму елементів ряду, допоки розмір поточного елементу більший за точність Е.

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

  1. y=x+x2/2+x3/3+…

  2. y=x-x2/2+x3/3-x4/4 +…

  3. y=1/x+1/(3x3)+1/(5x5)+…

  4. y=x-x3/3!+x5/5!-x7/7!+…

  5. y=1+1/22+1/32+1/42+…

  6. y=1-1/3+1/5-1/7+…

  7. y=1/(1*2)+1/(2*3)+1/(3*4)+…

  8. y=1/(1*3)+1/(2*4)+1/(3*5)+…

  9. y=1/(1*2*3)+1/(2*3*4)+1/(3*4*5)+…

  10. y= x+x3/3+x5/5+x7/7 +…

  11. y=(x-1)/(x)+ (x-1)2/(2x2)+(x-1)3/(3x3)+…

  12. y=x-x2/2!+x4/4!-x6/6!+…

  13. y=a+sqrt(a+sqrt(a+sqrt(a+sqrt(a))))

  14. Знайти всі прості числа в діапазоні від A до B.

  15. Знайти значення визначеного інтегралу Sab(x2+x+1)dx

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]