Лабораторная работа №3
Тема: Разработка и реализация программ с разветвленной структурой
Цель работы:
Получить навыки составления и реализации программ с разветвленной структурой, используя средства языка C/C++;
Задания к лабораторной работе
Задание 2.1 Представить блок-схему программы и вычислить значение переменной X после его выполнения. Обозначение: N - это номер варианта.
№вар | Фрагмент программы | №вар | Фрагмент программы |
1-2 | t=17*n; x=t; if (t<10 || t>30) x=3; else if (t<=30) x=0; | 3-4 | t=n; x=0; if (t<0)x= -t; else x= t; |
5-6 | a=n; b=13; c=12; x=a; if (x<b) x=b; if (x<c) x=c; | 7-8 | a=n; b=17; c=18; x=a; if (b<x) x=b; if (c<x) x=c; |
9-10 | x=n; y=0; if (x>10) y=x*x-n; if (x<10) y=x; | 11-12 | x=n; y=x%4; if(x>1 && x<3) y=9; if (x<=1) y=x; |
13-14 | x=n; y=x; if(x>0 && x<10) y=1; if (x>=10) y=1/(exp(x)-1); | 15-16 | x=-7;t=pow(x,n); if (t>0)x=pow(t,1.0/3); else x= t*t*t; |
Задание 2.2 Написать программу, которая выводит на экран значение true, если точка А с координатами х, у принадлежит заштрихованной области, и false в противном случае.
№ вар. | Область | № вар. | Область |
Теоретические сведения
Вычислительный процесс называется разветвляющимся, если он реализуется по одному из нескольких направлений - ветвей. В программе должны быть учтены все возможные ветви вычислений. Выбор той или иной ветви осуществляется по условию, включенному в состав условного оператора. Для программной реализации условия используется логическое выражение. В сложных структурах с большим числом ветвей применяют оператор выбора.
Логические выражения
Логические выражения строятся из операндов, отношений, логических операций и круглых скобок.
|
Результатом вычисления логического выражения является одно из двух значений: (истина) (не ноль)или (ложь) (ноль).
В качестве операндов используются константы, переменные и функции.
Отношения
Отношение - это простейший вид логического выражения, состоящего из двух выражений арифметического, символьного или строкового типов, соединенных знаком операции отношения.
Операция отношения - это операция сравнения двух операндов:
< - меньше
<= - меньше либо равно
> - больше
>= - больше либо равно
= = - равно
!= - не равно.
Примеры записи отношений на языке С++
Отношение | Результат |
5>3 | (не ноль) т.е 1 |
cos(x)>1 | (ноль) |
х*х+у*у<1 | (не ноль)для всех точек, лежащих внутри круга с единичным радиусом и центром в начале координат |
a!=’y’ | (не ноль), если значение символьной переменной ане равно символу ’y’ |
Следует помнить, что к операндам вещественного типа не применима операция = = из-за неточного представления чисел в памяти компьютера. Поэтому для вещественных переменных а и b отношение вида а= =b надо заменить отношением fabs(a-b)<E, где Е - малая величина, определяющая допустимую погрешность.
Логические операции
Математическая запись | Запись на языке С++ | Название операции |
! | Отрицание | |
^ | && | Операция «И» конъюнкция (логическое умножение) |
˅ | || | Операция «ИЛИ» дизъюнкция (логическое сложение) |
Действия логических операций удобно задать таблицами истинности, в которых приняты следующие обозначения: a, b - логические операнды; 1 - истина, 0 - ложь.
а | b | a || b |
а | b | a && b |
|
а | ! a |
1 0 | 0 1 |
Порядок выполнения операций в логических выражениях
В бесскобочных логических выражениях операции выполняются слева направо в соответствии с их приоритетом:
1.!
Отношения
2. < <= > >=
3. ==!=
4. &&
5. ||
x>0 && x<10
1 3 2
Условные операторы
На языке С++ различают два вида условных операторов: короткий и полный.