русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


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


Дата додавання: 2014-04-22; переглядів: 1476.


Синтаксис оператора такий:

 

do

оператор

while ( вираз );

 

Оператор – це довільний оператор мови програмування С++, в тому числі блок операторів, який формує тіло циклу. Вираз – довільний вираз, що задає умову виконання циклу. В цьому операторі спочатку виконується тіло циклу, після цього здійснюється перевірка умови продовження циклу. Блок – схема роботи оператора і приклад його використання наведені на мал. 6.4.

 

Мал. 6.4. Блок схема і приклад використання оператора do while

 

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

 

#include <iostream>

using namespace std;

int main() {

int t, s = 0;

do {

cin >> t;

s += t;

} while ( t != 0 );

cout << s << endl;

}

Знайти перше нульове значення функції для значень х більше нуля. Будемо шукати перше значення функції, яке знаходиться «на відстані» допустимої помилки від нуля, тобто .

 

#include <iostream>

using namespace std;

int main() {

double f; // Значення функції

double d = 1e-5; // Крок зміни х

double x = 0.; // Поточне значення х

double e = 1e-5; // Допустима помилка розрахунків

do {

f = sin( pow( x, 2. ) ) + pow( cos( x ), 2. );

x += d;

} while ( f < -e || f > e );

cout << "x = " << x << endl; // 1.78519

cout << "f = " << f << endl; // 1.02908e-006

}

 

Знайти перше нульове значення функції для значень х більше нуля. Будемо знаходити два значення функції – для поточного і наступного значень х. Якщо знак цих двох значень функції буде різним, тобто перше додатне, друге – від’ємне, або навпаки, то між цими двома значеннями х функція переходе через нуль.

 

#include <iostream>

using namespace std;

int main() {

double f1, f2; // Значення функції для x i x+d

double d = 1e-5; // Крок зміни х

double x = 0.; // Поточне значення х

do {

f1 = sin( pow( x, 2. ) ) + pow( cos( x ), 2. );

f2 = sin( pow( x + d, 2. ) ) + pow( cos( x + d ), 2. );

x += d;

} while ( ( f1 > 0 && f2 > 0 ) || ( f1 < 0 && f2 < 0 ) );

cout << "x = " << x << endl; // 1.78519

cout << "f1 = " << f1 << endl; // 1.02908e-006

cout << "f2 = " << f2 << endl; // -3.04804e-005

}

 


<== попередня лекція | наступна лекція ==>
Цикл з передумовою. Оператор while | Оператори переходу


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн