Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Цикл з постумовою. Оператор do while
Синтаксис оператора такий:
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 }
Оператори переходу В мові С++ реалізовано чотири оператори переходу: goto, break, continue, return. Всі вони змінюють послідовний порядок виконання операторів і передають управління не наступному, а певному встановленому оператору програми. Оператор goto передає управління іншому оператору програми, позначеному заданою міткою. Його синтаксис такий:
goto мітка; /* оператори програми */ мітка: оператор
Міткою у мові С++ може бути довільний ідентифікатор, який не збігається з іншими ідентифікаторами програми. Мітка відокремлюється від оператора, який вона позначає, двокрапкою. Оператор goto використовують рідко. Вважається, що він заплутує програму і робить її незрозумілою. Перехід можна виконувати як у напрямку кінця програми, так і у напрямку її початку, тому відповідну мітку в програмі знайти не легко. Єдина заборона – не можна переходити з однієї функції в іншу. Знайдемо машинний нуль, тобто числове значення, менше якого неможливо задати точність алгоритму.
#include <iostream> using namespace std; int main() { double b = 1.; M: b /= 2; if (b + 1 > 1) goto M; cout << b << endl; // 1.11022e-16 }
Оператор break призначений для переривання роботи оператору switch і всіх трьох операторів циклу for, while i do while. При виконанні оператора break всередині оператора switch управління буде передано оператору, наступному за оператором вибору. При виконанні оператора break всередині оператора циклу, виконання оператора циклу припиняється без перевірки умови завершення циклу, управління передається до оператора, наступного за оператором циклу. Оператор переходу continue може виконуватися тільки в тілі операторів циклу. Його призначення – перервати поточне виконання операторів тіла циклу і перейти до нової ітерації циклу. При цьому всі оператори тіла циклу, записані після оператора continue, пропускаються. Якщо continue виконується в операторі for, то відразу після нього обчислюється вираз ітерації, а потім перевіряється умова виконання циклу. Якщо continue виконується всередині циклів while i do while, то відразу відбувається перехід на наступну перевірку умови виконання циклу. Знайдемо кількість чисел, які діляться без залишку на 7 в інтервалі від 1 до 100.
#include <iostream> using namespace std; int main() { int i, n; for (i = 1, n = 0; i <= 100; ++i) { if (i % 7) continue; n++; } cout << n << endl; }
Оператор return завершує роботу функції, ф якій він виконується. Керування програмою повертається до оператора, з якого була викликана функція. Оператор має дві форми запису:
return; // без повернення значення return вираз; // зі значенням, що буде повернене
Перша форма застосовується в функціях, які не повертають значення – такі функції мають тип void. Друга форма запису застосовується, коли функція повинна повернути значення певного типу. В цьому випадку вираз задає значення, яке повертає функція. Отримане значення передається в точку виклику функції. Функція main починає і закінчує роботу всієї програми. Тому виконання оператора return всередині функції main призводить до завершення роботи програми.
|
||||||
Последнее изменение этой страницы: 2021-12-15; просмотров: 49; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.153.38 (0.01 с.) |