Задания практических и самостоятельных работ
Неполное ветвление и switch (или if else if)
- Каскадные ветвления
- Сложные логические выражения в условии
Полное ветвление
- Проверка на четность или нечетность
- Анализ разрядов числа
- Позиция точки в системе координат (находится ли точка в заданной области)
Вложенные ветвления
Примеры решения задач
- 1. Логический тип данных. Составить программу, печатающую значение true, если указанное высказывание является истинным, и false в противном случае: число N является четным двузначным числом
#include <iostream> #include <iomanip> using namespace std; int main() { int N; bool b; cout << "N = "; cin >> N; b = N / 100 == 0 && N / 10 != 0 && N % 2 == 0; // b = !(N / 100) && N / 10 && !(N % 2); cout << boolalpha << b << endl; return 0; }
В комментарии компактная запись с опущенными операторами сравнения, но с применением инверсии.
Манипулятор boolalpha – вывод логических величин в текстовом виде (например, false вместо 0).
#include <iostream> #include <cmath> using namespace std; int main() { int n; cout << "n = "; cin >> n; if (n < 0) n = abs(n); cout << "|n| = " << n << endl; return 0; }
#include <iostream> #include <cmath> using namespace std; int main() { float a, b; cout << "a = "; cin >> a; cout << "b = "; cin >> b; if (a > b) { a = (a + b) / 2; b = sqrtf(a * b); } else { a = sqrtf(a * b); b = (a + b) / 2; } cout << "a = " << a << endl << "b = " << b << endl; return 0; }
#include <iostream> using namespace std; int main() { int a, b, c, i = 0; cout << "a = "; cin >> a; cout << "b = "; cin >> b; cout << "c = "; cin >> c; if (a > 0) ++i; if (b > 0) ++i; if (c > 0) ++i; cout << "Количество положительных чисел равно " << i << endl; return 0; }
#include <iostream> using namespace std; int main() { int a, b, c; cout << "a = "; cin >> a; cout << "b = "; cin >> b; cout << "c = "; cin >> c; if (a > b) if (b > c) cout << a + b << endl; else cout << a + c << endl; else if (a > c) cout << a + b << endl; else cout << b + c << endl; return 0; }
#include <iostream> using namespace std; int main() { int a; cout << "a = "; cin >> a; cout << (a > 0 ? ++a : a - 2) << endl; return 0; }