Практическое занятие Управление потоком команд Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» ФГОБУ ВПО "СибГУТИ" Кафедра вычислительных систем Дисциплины "ЯЗЫКИ ПРОГРАММИРОВАНИЯ" "ПРОГРАММИРОВАНИЕ"
Логическое НЕ (отрицание) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 2 Опер.Описание ! Логическое НЕ && Логическое И || Логическое ИЛИ ab!a Операция отрицания используется для замены значения логического выражения на противоположное. Например: int x = 10, y, k; scanf("%d",&y); k = !(x = = y); // выколотая точка x
Логическое И (коньюнкция) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 3 Опер.Описание ! Логическое НЕ && Логическое И || Логическое ИЛИ Логическая операция, по своему применению максимально приближенная к союзу «и». Результат будет истинным, если оба аргумента истинны. Например: int y, k; scanf("%d",&y); k = (0 < y) && (y < 10); // интервал 0 < y < 10 aba && b
Логическое ИЛИ (дизъюнкция) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 4 Опер.Описание ! Логическое НЕ && Логическое И || Логическое ИЛИ Логическая операция, по своему применению максимально приближенная к союзу «и». Результат будет истинным, если оба аргумента истинны. Например: int y, k; scanf("%d",&y); k = (0 >= y) || (y >= 10); // (-; 0] + [10;+) 010 aba || b
Задачи © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 5 I. Разработать программу, обеспечивающую проверку попадания заданной координаты в указанный интервал: 1.x [0; + ) 2.x [5; 15) 3.x (-1; 1) 4.x (-1; 1) [5; 15) 5.x (-1; 1) [5; 15) {20, 100, 1000} II. Разработать программу, обеспечивающую проверку попадания координат точки двумерного пространства в заданную область: 1.(x,y) (-1; 1) x (-1;1) 2.(x,y) (-1; 1) [5; 15) x (-1;1) 3.(x,y) (-1; 1) [5; 15) x (-1;1) [2;3]
Поиск минимального элемента в последовательности © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 6 Задача: На вход программы поступает последовательность a, состоящая из N вещественных чисел. Необходимо определить значение минимального из них. Вопросы: 1. Выделите тело цикла: набор повторяющихся операций над различными данными. 2. До каких пор необходимо продолжать цикл (условие продолжения). 3. Набор переменных, описывающих вычислительный процесс. Алгоритм решения задачи: 1.За min принять a Если a 2 < min, то min = a Если a 3 < min, то min = a 3. … N-1. Если a N-1 < min, то min = a N-1. N. Если a N < min, то min = a N.
Блок-схема алгоритма © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 7 i N ДА НЕТ i = 1 N, min a a min Начало Конец a < min ДА min = a Программу разработать самостоятельно! Программу разработать самостоятельно!
Самостоятельная работа © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 8 П.5.1. Разработать программу, обеспечивающую проверку попадания заданной координаты в указанный интервал: 1.x (- ; 0) 2.x (3; 6] 3.x (-3; 2) 4.x (-3; 2) (3; 6] 5.x (-3; 2) (3; 6] {9, 12, 15} П.5.2. Разработать программу, обеспечивающую проверку попадания координат точки двумерного пространства в заданную область: 1.(x,y) (0; 2) x [-2;1] 2.(x,y) (0; 2) (3; 6] x [-2;1] 3.(x,y) (0; 2) (3; 6] x [-2;1] (2;3)
Самостоятельная работа (2) (подготовить блок-схемы в письменном виде) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 9 П.5.3. На вход программы поступает последовательность a, состоящая из N вещественных чисел. Необходимо определить значение максимального из них. Программу записать в виде блок-схемы и на языке Си. П.5.4. На вход программы поступает последовательность a, состоящая из N вещественных чисел. Вычислить среднее арифметическое элементов а. Программу записать в виде блок-схемы и на языке Си. П.5.5. Определить, что распечатает следующая программа. Объяснить почему. #include int main() { int i = -3; printf("output: "); while( i < 20 ){ printf("%d ", i + 2); i = i + 4; }