
- •Арифметичні цикли
- •Теоретичні відомостi
- •Приклад програми
- •Варіанти завдань
- •Ітераційні цикли
- •Теоретичні відомостi
- •Цикл з передумовою
- •Цикл з постумовою
- •Приклад програми
- •Варіанти завдань
- •Складні цикли
- •Теоретичні відомостi
- •Вкладеність циклів
- •Оператор переривання break
- •Оператор продовження continue
- •Приклад програми
- •Варіанти завдань
- •Контрольні питання
Ітераційні цикли
Мета роботи - вивчити особливості організації ітераційних циклів.
Теоретичні відомостi
Ітераційні цикли – це цикли із невідомою кількістю повторень. Вихід із таких циклів здійснюється при виконанні умови, пов’язаної із перевіркою значення величини, що монотонно змінюється в циклі. Тому такі цикли ще називають умовними. Розрізняють цикли з передумовою та постумовою.
Цикл з передумовою
Цикл з передумовою передбачає перевірку умови повторення циклу перед кожною його ітерацією. Він використовується у випадку, коли число повторень циклу заздалегідь невідоме, але можна сформулювати умову, при виконанні якої циклічний процес буде виконуватися.
У C/С++ оператором циклу з передумовою є оператор while наступного формату:
while (умова) оператор;
Механізм реалізації: перед кожною ітерацією перевіряється задана в заголовку циклу умова (логічний вираз) і доти, поки вона істина, тіло циклу виконується; коли ж умова стає хибною, цикл припиняє свою роботу.
Наприклад,
while (c< b)
{ cout << c << “ “;
c*= a;
}
Особливості реалізації циклу з передумовою:
- цикл може не виконуватися жодного разу;
- тіло циклу виконується поки умова істина (true);
- у тілі циклу повинен бути оператор, що змінює умову.
Якщо в тілі цикла while треба виконати декілька операторів, то використовують складений оператор. Наприклад,
n=1; s=0;
while (n<11)
{ s=s+n;
n=n+2
}
Цикл з постумовою
Цикл з постумовою, на відміну від циклу з передумовою, передбачає спочатку виконання тіла циклу, а лише потім перевірку умови його працездатності. Тому передбаченні у такому циклі дії виконуються як мінімум один раз.
У C/С++ цикл з постумовою програмується оператором do-while. Його формат:
do
оператор
while (умова);
Механізм реалізації: після кожної ітерації перевіряється умова завершення роботи циклу і доти, поки вона істина, цикл продовжує свою роботу; коли ж умова стає хибною, виконання циклу завершується.
Наприклад,
total = 0;
do
{ scanf("%d",&number);
total+=number;
}
while (number!=0);
Приклад програми
Приклад. Знайти всі дільники заданого цілого додатнього числа.
#include <iostream>
#include <math.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{ int num; //число
cout<<"enter number:"<<endl; cin>>num; //введення числа
int half = num/2; //половина числа
int divisor=2; //ініціалізація дільника
while (divisor<=half)
{ if(num % divisor==0) //якщо divisor ділить num,
cout<< divisor<<”\n”; //друкуємо визначений дільник
divisor++; //наступний потенційний дільник
}
system("pause")
}
Відеокопія результату:
Варіанти завдань
Для х [ 0, 4 ] з точністю до четвертого знака знайти
.
З точнiстю до шести цифр обчислити значення функції Ln x :
,
для
.
Порівняти одержане за допомогою ряду значення зі значенням, отриманим стандартною функцією.
З точнiстю ε = 10-5 обчислити:
,
де 0
< х
< 1.
З точнiстю 0.00001 знайти значення змiнної:
для
х
= 0,56.
Обчислити відрізок ряду:
для
х
= 0,56.
Обчислення
завершити, якщо
10-4
.
З точнiстю до п’яти цифр обчислити значення функції еx :
.
Задане дійсне число х. Послідовність a1, a2, ..., an утворена за законом
,
n
= 1, 2, … .
Отримати суму a1 + a2 + ... + ak , де k - найменше ціле число, що задовольняє двом умовам: k > 10, | ak | < 10-4.
Із заданою точнiстю ε обчислити значення функції cos x :
.
Дані додатні дійсні числа a, x, ε. У послідовності y1, y2, …, що утворена по закону
y0
= a;
,
i
= 1, 2, …
знайти
перший член
yn,
для якого виконується нерівність
|
| < ε
.
Для заданої цілої а і дійсного | х | < 1 з точністю до п’ятого знака знайти
.
З точністю ε = 10-4 обчислити квадратний корінь із довільного цілого числа, використовуючи метод Ньютона:
,
y0
= 1,
де
а
- вихідне
число.
Якщо a від’ємне, то вивести відповідне повідомлення.
Із заданою точнiстю обчислити значення функції sin x :
.
Для х [ 0, 5 ] з точністю до четвертого знака знайти суму парних компонент ряду
.
Із заданою точнiстю ε обчислити значення суми
.
З точнiстю до шести цифр обчислити значення функції Ln x :
при
|
x
| < 1.
Нехай х0 = 1;
, k = 1, 2, … . Знайти перший член хn, для якого | хn - хn-1 | < 10-5.
Із заданою точнiстю ε обчислити значення функції Arctg x :
при
|
x
| < 1.
Задане дійсне число х. Послідовність a1, a2, ..., an утворена за законом
an = хn / (2n)! , n = 1, 2, … .
Отримати суму a1 + a2 + ... + ak , де k - найменше ціле число, що задовольняє двом умовам: k > 10, | ak | < 10-5.
Обчислити:
,
для 0
х
2
з точнiстю до члена ряду, що менше 10-5.
Для заданого дійсного x і 0 n < 5 з точністю 10-4 знайти
.
Нехай y0 = 0;
, k = 1, 2, … . Дано дійсне ε > 0. Знайти перший член yn, для якого виконується нерівність yn - yn-1 < ε.
Із заданою точнiстю обчислити значення математичної константи е:
З точністю 10-5 обчислити значення суми
.
Визначити кількість доданків.
Із заданою точнiстю ε обчислити значення функції Sh x :
.
Задане дійсне число х. Послідовність a1, a2, ..., an утворена за законом
,
n
= 1, 2, … .
Отримати суму a1 + a2 + ... + ak , де k - найменше ціле число, що задовольняє двом умовам: k > 10, | ak | < 10-4.
Використовуючи метод послідовних наближень, з точністю ε = 10-4, обчислити
за формулою:
,
вважаючи
Обчислити значення квадратного кореня із числа a > 0 із заданою точнiстю е на основі рекурентного співвідношення
,
,
де хn – попереднє, хn+1 - наступне наближення до кореня. Точність обчислення вважається досягнутою, коли | хn+1 - хn | < 10 -5.
Дано дійсне a > 0. Послідовність х0, х1, … утворена по закону
,
,
n
= 1, 2, … .
Знайти
перший член хn,
для якого виконується нерівність
< 10-6.
Обчислити для знайденого значення хn
різницю
.
Наближено (із заданою точнiстю ε) обчислити інтеграл
, використовуючи формулу прямокутників:
,
де h = (b - a) / n, xi = a + i h - h / 2 .
Обчислити
, використовуючи формулу
,
з точністю, заданою користувачем. Значення a, p ( p 1, p 2) ввести з клавіатури.