3.4. Оператори управління 3.4.1. Оператори
Оператори мови С поділяються на три групи:
·оператор-вираз;
·блок (складений оператор);
·оператор, що починається з ключового слова.
Оператор-вираз має вид:
Вир1;
де Вир1 – довільний вираз.
Виконання оператора-виразу полягає в обчисленні виразу, прикладом оператора-
виразу є оператор присвоювання.
Приклад:
int b, c=10;
b=c+3;// b=13, значення всього виразу - 13
Пустий оператор має вид:
;
і його виконання не дає жодних результатів.
Блок (складений оператор) - група операторів у фігурні дужки. Блок може бути
застосований там, де допустимо використання лише одиночного оператора.
Оператори, що містяться у блоці, виконуються один раз в порядку їх слідування.
Якщо в блоці описані змінні, відповідні їм об’єкти будуть створені при кожному вході
у блок і зруйновані при виході з нього. Для ідентифікаторів зі статичним класом
пам'яті відповідні їм об'єкти будуть створені лише один раз. Під час виконання
операторів блока від точки опису до завершення змінні, описані за межами блоку з
ідентичними іменами, будуть недоступні в цьому блоці.
Приклад:
{
/// деякі оператори-вирази
}
3.4.2. Оператори, що починаються з ключового слова
Умовний оператор має вид:
if(Вир1) Вир2;
else Вир3;
Або (скорочена форма):
if(Вир1) Вир2;
Вираз в дужках є умовою. Якщо його значення не нуль (істина), то виконується
оператор Вир2. Якщо Вир1 нуль (фальш), то виконується оператор Вир3, або для
другої форми - наступний оператор програми. Якщо умовний оператор містить інші
умовні оператори, то ключове слово else буде зв'язане з ближчим попереднім
оператором if, який ще не зв’язаний з оператором else.
Відміна оператора if від оператора вибору (? :) в тому, що оператор if не виробляє
результат, отже не може бути правим операндом в операції присвоювання.
Приклад:
int a=1, b=2, c;
if(a>b) c=a;//помістити в а
else if(a else c=0;// нуль – якщо рівні
Оператори циклу застосовують для повторення деяких дій в програмі до
досягнення деякої умови. Частина програми, яка має бути повторена в циклі,
називається тілом циклу. Причому, або тіло циклу, або зовнішні до програми причини
мають вплинути на результат умови циклу, або буде вічний цикл.
В С існує три форми операторів циклу:
·while – цикл с передумовою;
·do while - цикл с постумовою;
·for – цикл з лічильником.
Оператор while має вид:
while(Вир1) Вир2;
і виконується як:
label:if(Вир1)
{
Вир2;
goto label;
}
Дія оператора: до тих пір, поки Вир1 істина (не нуль) – виконати Вир2. Значення Вир1
обчислюється перед кожним виконанням Вир2.
Оператор do while має вид:
do Вир2 while(Вир1);
і виконується як:
label:Вир2;
if(Вир1) goto label;
Дія оператора: до тих пір, поки Вир1 істина (не нуль) – виконати Вир2.
Значення Вир1 обчислюється після кожного виконання Вир2.
Цикл застосовують тоді, коли аналіз Вир1 має сенс лише після виконання
Вир2.
Оператор for має вид:
for(Вир0;Вир1;Вир2) Вир3;
і виконується як:
Вир0;
label:if(Вир1)
{
Вир3;
Вир2;
goto label;
}
Дія оператора: обчислити значення Вир0 (як правило – ініціалізація лічильника
циклу) і до тех пір, поки Вир1 істина (не нуль) – виконати Вир3, потім Вир2 (як
правило - модифікація лічильника циклу). Значення Вир0 обчислюється лише один
раз.
Цикл застосовують тоді, коли потрібен лічильник циклу, наприклад при роботі
з масивами.
Практичне завдання
ЛР 3. Розгалуджений обчислювальний процес
10. Чотири точки задані на декартовій площині. Знайти найвіддаленішу пару точок.
22. Задані чотири точки на декартовій площині. Вважаючи одну з точок центром
кола радіусу R знайти точку, найближчу до лінії кола.
227
400
Ответы на вопрос:
Function intg(p, b: real; n: integer; eps: real): real; {метод прямоугольников, рекурсия} var a, x, h, s: real; i: integer; begin a : = 0; h : = (b - a) / n; x : = a; s : = 0; for i : = 1 to n do begin s : = s + sin(x); x : = x + h; end; if abs(s * h - p) > eps then intg : = intg(s * h, b, 2 * n, eps) else intg : = s * h; end; var b, eps: real; begin write('задайте верхний предел интегрирования и точность: '); readln(b, eps); writeln('значение интеграла: ', intg(0, b, 2, eps): 0: 7); end. тестовое решение: задайте верхний предел интегрирования и точность: 2 0.000001 значение интеграла: 1.4161460 точное значение интеграла равно 1-cos(2) ≈1.416146836, т.е. заданная точность обеспечивается.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
zaika19844402.01.2023 19:44
-
Elizaveta861419.06.2021 15:50
-
Andriy010124.05.2022 22:55
-
Тимофей1772701.12.2022 18:58
-
marusja8215.06.2023 19:50
-
АришкаКалмыкова02.05.2020 22:04
-
zhukovaalisa40121.11.2020 16:26
-
Хафиза117.11.2020 13:04
-
aleXxxx0318.02.2022 20:45
-
Sonya2007145126.12.2020 10:23
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.