SlideShare a Scribd company logo
1 of 22
Составные  условия в разветвляющихся алгоритмах ©  М.Е.Макарова  http :// www . uchinfo . com . ua
Для принятия решений в зависимости от каких-либо условий. Для чего используются разветвляющиеся алгоритмы?
На прошлом уроке мы узнали: Ветвление на три и более рукава можно организовывать с помощью вложенных команд  IF , нескольких неполных команд  IF , а также, комбинируя обе возможности. Сравнение строк на компьютере основано на том, что каждый символ имеет свой АSСII-код, и при сравнении строк сравниваются коды составляющих их символов.  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
В качестве условий ветвления действий в алгоритмах могут указываться любые  равенства и неравенства над величинами и алгебраическими выражениями.
В операторах условного перехода можно использовать не только простые, но и так называемые составные (или сложные) условия  Условия такого типа называют  логическими выражениями
Самое сложное логическое высказывание можно выразить с помощью трех основных логических операций:  НЕ ,  И ,  ИЛИ .
Унарная операция  НЕ  – логическое отрицание. Смысл этой операции можно выразить словами:  "Неверно, что",  то есть она меняет значение  истина  на  ложь  и наоборот. На слайде приведена таблица истинности операции  НЕ . Пример: НЕ  ( A  > 0) Это логическое выражение означает то же самое, что и  A   ≤  0.
Операция логического умножения  И  применяется тогда, когда переменная должна удовлетворять одновременно двум  более простым условиям.  P ,  Q  – простые условия
Операция логического сложения  ИЛИ  применяется тогда, когда переменная должна удовлетворять хотя бы одному из двух и более простых условий
Пример 1    Рассмотрим примеры: Запишем логическое выражение для  случая  т.  X  принадлежит отрезку  [-6, 6]  : Математическая запись:  -6  ≤   Х   ≤  6. Логическое выражение: (Х   ≥   -6)  И  (х  ≤   6) Запись выражения в Паскале: (Х >= -6)  AND  (х <= 6) Запишем логическое выражение для  случая  т.  X  не принадлежит отрезку  [-6, 6]  : Математическая запись:  -6  <  Х   >  6. Логическое выражение: (Х  <  -6)  ИЛИ  (х  >  6) Запись выражения в Паскале: (Х  <  -6)  OR  (х  >  6) ИЛИ И Пример 2   0 6 -6 0 6 -6
Решение Пусть переменная  a  обозначает стаж кандидата, а  b  – его возраст. Тогда должно соблюдаться условие: ( a   >=  5 )   and   ( b   <=  40 )   Программа: Program  RP1; Var  a, b:  real ; Begin Writeln  (‘ Задайте значения  a, b’); Readln  (a, b); If   (a   >=  5 )   and   ( b   <=  40 )   Then Writeln  (‘ Вы приняты ’) Else Writeln  (‘ Вы не приняты ’);   Readln; End.   Пример 3 Фирма осуществляет набор сотрудников. Условия приема требуют не менее 5 лет рабочего стажа и возраст не более 40 лет. Написать алгоритм, проверяющий, удовлетворяет ли кандидат этим требованиям.
Решение Program Pr4; Var a, b, c: real; Begin WriteLn (‘ Задайте величины углов  a, b’)   ; ReadLn (a, b);   C:=180-a-b;   If   (a  > 90 )   or   (b  > 90 )   or   (c  > 90 )   Then WriteLn (   ‘ Треугольник тупоугольный ’) Else If (a  = 90 )   or   (   b  = 90 )   or   (c  = 90 )   Then Writeln (‘ Треугольник прямоугольный ’)   Else Writeln (‘ Треугольник остроугольный ’); End .  Пример  4 Написать алгоритм для определения вида треугольника (остроугольный, прямоугольный, тупоугольный), если даны величины двух его углов  А  и  В  в градусах.  A B C A B C A B C
В логических выражениях логические операции могут связывать несколько логических переменных, например: (Х < 0) И (Y < 0) И (Z < 0) (Х < 0) ИЛИ (Y < 0) И (Z < 0)  Для изменения порядка операций можно использовать круглые скобки.
 
3.  ((2<=2) AND (3 >=3)) OR (15>25). Установить, истинны или ложны следующие условия: 1.  NOT (( 6<4) AND (4>8)), 2.  (A<=A+1) OR (12-3>0),
2.  Написать программу, которая определяет, принадлежит ли точка с координатами   ( X, Y)  заштрихованной области, которая описывается  системой неравенств: Входные данные: координаты точки ( X, Y)  Результат: слова «Да» или «Нет». - 1 1 1
Program Pr7; Uses Crt; Var x, y: Real; Begin ClrScr; Writeln(‘ Введите координаты точки  x, y’); Readln (x, y); If (abs(x)+abs(y)<=1)  and  (y>=1) Then writeln (‘ Да ’)   Else writeln (‘ Нет ’); Readln; End.
Примеры программ: ,[object Object]
Program PR5; Var  V   : real; Begin WriteLn (‘ Задайте значение скорости ’); Readln ( V ); If  V   < 7.8 Then WriteLn(‘ Ракета упадет на Землю ’) ; If  ( V   >=7.8) and ( V   <11.2) then writeLn (‘ Ракета станет спутником Земли ’); If  ( V   >=11.2) and ( V   <=16.4) then writeLn (‘ Ракета станет спутником Солнца ’); If  V   >16.4 then writeLn (‘ Ракета покинет пределы Солнечной системы ’); Readln; end. V< 7.8  Ракета упадет на Землю 7.8  ≤  V   <11.2  Ракета станет спутником Земли 11.2  ≤  V <16.4  Ракета станет спутником Солнца V   >16.4   Ракета покинет пределы Солнечной системы
Практическая работа: ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],- x x y - y
Итоги урока: ,[object Object],Научились составлять логические выражения и применять их в качестве сложных условий в команде сравнения  IF.
Домашнее задание ,[object Object],[object Object],[object Object],[object Object],[object Object],2.  Написать программу, которая определяет, принадлежит ли точка с координатами   ( X, Y)  заштрихованной области, ограниченной точками  (X1, Y1)  (X2, Y2) Входные данные: координаты точек ( X, Y)  ,  (X1, Y1) ,  (X2, Y2) Результат: слова «Да» или «Нет». (X1, Y1) (X2, Y2)

More Related Content

What's hot

Probabilistic Verification in Computational Systems Design
Probabilistic Verification in Computational Systems DesignProbabilistic Verification in Computational Systems Design
Probabilistic Verification in Computational Systems DesignIosif Itkin
 
кустурова элем функции
кустурова элем функциикустурова элем функции
кустурова элем функцииurvlan
 
A Method of Reducing Computational Complexity in Verification of Programming ...
A Method of Reducing Computational Complexity in Verification of Programming ...A Method of Reducing Computational Complexity in Verification of Programming ...
A Method of Reducing Computational Complexity in Verification of Programming ...Iosif Itkin
 
Конструирование алгоритмов
Конструирование алгоритмовКонструирование алгоритмов
Конструирование алгоритмовAndrey Dolinin
 
введение в паскаль
введение в паскальвведение в паскаль
введение в паскальisva69
 
Функции, 11-й клаас
Функции, 11-й клаасФункции, 11-й клаас
Функции, 11-й клаасAlbina
 
Запись вспомогательный алгоритмов на языка Паскаль
Запись вспомогательный алгоритмов на языка ПаскальЗапись вспомогательный алгоритмов на языка Паскаль
Запись вспомогательный алгоритмов на языка ПаскальAndrey Dolinin
 
331 информатика. 8кл. миняйлова, вербовиков и др-минск, 2010 -189с
331  информатика. 8кл. миняйлова, вербовиков и др-минск, 2010 -189с331  информатика. 8кл. миняйлова, вербовиков и др-минск, 2010 -189с
331 информатика. 8кл. миняйлова, вербовиков и др-минск, 2010 -189сdfdkfjs
 
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...Iosif Itkin
 
Программирование разветвляющихся алгоритмов
Программирование разветвляющихся алгоритмовПрограммирование разветвляющихся алгоритмов
Программирование разветвляющихся алгоритмовAndrey Dolinin
 
Лекция 1 Скорость роста функций
Лекция 1 Скорость роста функцийЛекция 1 Скорость роста функций
Лекция 1 Скорость роста функцийsimple_people
 
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...Iosif Itkin
 
ветвление
ветвлениеветвление
ветвлениеisva69
 
Основы программирования на ruby
Основы программирования на rubyОсновы программирования на ruby
Основы программирования на rubyEvgeny Smirnov
 

What's hot (20)

Probabilistic Verification in Computational Systems Design
Probabilistic Verification in Computational Systems DesignProbabilistic Verification in Computational Systems Design
Probabilistic Verification in Computational Systems Design
 
Pri3
Pri3Pri3
Pri3
 
кустурова элем функции
кустурова элем функциикустурова элем функции
кустурова элем функции
 
A Method of Reducing Computational Complexity in Verification of Programming ...
A Method of Reducing Computational Complexity in Verification of Programming ...A Method of Reducing Computational Complexity in Verification of Programming ...
A Method of Reducing Computational Complexity in Verification of Programming ...
 
Конструирование алгоритмов
Конструирование алгоритмовКонструирование алгоритмов
Конструирование алгоритмов
 
введение в паскаль
введение в паскальвведение в паскаль
введение в паскаль
 
Функции, 11-й клаас
Функции, 11-й клаасФункции, 11-й клаас
Функции, 11-й клаас
 
Запись вспомогательный алгоритмов на языка Паскаль
Запись вспомогательный алгоритмов на языка ПаскальЗапись вспомогательный алгоритмов на языка Паскаль
Запись вспомогательный алгоритмов на языка Паскаль
 
Применение модели GOMS
Применение модели GOMSПрименение модели GOMS
Применение модели GOMS
 
функция
функцияфункция
функция
 
331 информатика. 8кл. миняйлова, вербовиков и др-минск, 2010 -189с
331  информатика. 8кл. миняйлова, вербовиков и др-минск, 2010 -189с331  информатика. 8кл. миняйлова, вербовиков и др-минск, 2010 -189с
331 информатика. 8кл. миняйлова, вербовиков и др-минск, 2010 -189с
 
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...
 
Программирование разветвляющихся алгоритмов
Программирование разветвляющихся алгоритмовПрограммирование разветвляющихся алгоритмов
Программирование разветвляющихся алгоритмов
 
Step cpp022
Step cpp022Step cpp022
Step cpp022
 
Лекция 1 Скорость роста функций
Лекция 1 Скорость роста функцийЛекция 1 Скорость роста функций
Лекция 1 Скорость роста функций
 
4 algoritm
4 algoritm4 algoritm
4 algoritm
 
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
 
ветвление
ветвлениеветвление
ветвление
 
Step cpp0201
Step cpp0201Step cpp0201
Step cpp0201
 
Основы программирования на ruby
Основы программирования на rubyОсновы программирования на ruby
Основы программирования на ruby
 

Similar to Теория. Сложные условия в операторе сравнения

Презентация на тему: ЕГЭ информатика
Презентация на тему: ЕГЭ информатикаПрезентация на тему: ЕГЭ информатика
Презентация на тему: ЕГЭ информатика2berkas
 
Математическое обоснование S.O.L.I.D принципов
Математическое обоснование S.O.L.I.D принциповМатематическое обоснование S.O.L.I.D принципов
Математическое обоснование S.O.L.I.D принциповetyumentcev
 
Математическое обоснование SOLID принципов - Евгений Тюменцев Dev2Dev v2.0 30...
Математическое обоснование SOLID принципов - Евгений Тюменцев Dev2Dev v2.0 30...Математическое обоснование SOLID принципов - Евгений Тюменцев Dev2Dev v2.0 30...
Математическое обоснование SOLID принципов - Евгений Тюменцев Dev2Dev v2.0 30...Dev2Dev
 
Стажировка 2016-07-08 01 Евгений Тюменцев. S.O.L.I.D.
Стажировка 2016-07-08 01 Евгений Тюменцев. S.O.L.I.D.Стажировка 2016-07-08 01 Евгений Тюменцев. S.O.L.I.D.
Стажировка 2016-07-08 01 Евгений Тюменцев. S.O.L.I.D.SmartTools
 
ветвление
ветвлениеветвление
ветвлениеshcool26
 
2014.12.06 04 Евгений Тюменцев — Откуда появились s.o.l.i.d. принципы
2014.12.06 04 Евгений Тюменцев — Откуда появились s.o.l.i.d. принципы2014.12.06 04 Евгений Тюменцев — Откуда появились s.o.l.i.d. принципы
2014.12.06 04 Евгений Тюменцев — Откуда появились s.o.l.i.d. принципыHappyDev
 
Алгебра и начала анализа (решение задач)
Алгебра и начала анализа (решение задач)Алгебра и начала анализа (решение задач)
Алгебра и начала анализа (решение задач)Eza2008
 
тэ ветвление
тэ ветвлениетэ ветвление
тэ ветвлениеMaria Duzhenko
 
егэ часть а
егэ часть аегэ часть а
егэ часть аdasha2012
 
ТФРВС - весна 2014 - лекция 4
ТФРВС - весна 2014 - лекция 4ТФРВС - весна 2014 - лекция 4
ТФРВС - весна 2014 - лекция 4Alexey Paznikov
 
паскаль. часть1
паскаль. часть1паскаль. часть1
паскаль. часть1igorm9so
 
Пояснения к статье про Copy-Paste
Пояснения к статье про Copy-PasteПояснения к статье про Copy-Paste
Пояснения к статье про Copy-PasteTatyanazaxarova
 
теория рекурсивных функций
теория рекурсивных функцийтеория рекурсивных функций
теория рекурсивных функцийMariya_Lastochkina
 
proverochnie-raboti-po-algebre
proverochnie-raboti-po-algebreproverochnie-raboti-po-algebre
proverochnie-raboti-po-algebreGarik Yenokyan
 
20100927 28 reqformalization-kuliamin
20100927 28 reqformalization-kuliamin20100927 28 reqformalization-kuliamin
20100927 28 reqformalization-kuliaminComputer Science Club
 

Similar to Теория. Сложные условия в операторе сравнения (20)

условия, подпрограммы
условия, подпрограммыусловия, подпрограммы
условия, подпрограммы
 
Презентация на тему: ЕГЭ информатика
Презентация на тему: ЕГЭ информатикаПрезентация на тему: ЕГЭ информатика
Презентация на тему: ЕГЭ информатика
 
Математическое обоснование S.O.L.I.D принципов
Математическое обоснование S.O.L.I.D принциповМатематическое обоснование S.O.L.I.D принципов
Математическое обоснование S.O.L.I.D принципов
 
Математическое обоснование SOLID принципов - Евгений Тюменцев Dev2Dev v2.0 30...
Математическое обоснование SOLID принципов - Евгений Тюменцев Dev2Dev v2.0 30...Математическое обоснование SOLID принципов - Евгений Тюменцев Dev2Dev v2.0 30...
Математическое обоснование SOLID принципов - Евгений Тюменцев Dev2Dev v2.0 30...
 
Стажировка 2016-07-08 01 Евгений Тюменцев. S.O.L.I.D.
Стажировка 2016-07-08 01 Евгений Тюменцев. S.O.L.I.D.Стажировка 2016-07-08 01 Евгений Тюменцев. S.O.L.I.D.
Стажировка 2016-07-08 01 Евгений Тюменцев. S.O.L.I.D.
 
ветвление
ветвлениеветвление
ветвление
 
2014.12.06 04 Евгений Тюменцев — Откуда появились s.o.l.i.d. принципы
2014.12.06 04 Евгений Тюменцев — Откуда появились s.o.l.i.d. принципы2014.12.06 04 Евгений Тюменцев — Откуда появились s.o.l.i.d. принципы
2014.12.06 04 Евгений Тюменцев — Откуда появились s.o.l.i.d. принципы
 
Алгебра и начала анализа (решение задач)
Алгебра и начала анализа (решение задач)Алгебра и начала анализа (решение задач)
Алгебра и начала анализа (решение задач)
 
тэ ветвление
тэ ветвлениетэ ветвление
тэ ветвление
 
8 3-4
8 3-48 3-4
8 3-4
 
егэ часть а
егэ часть аегэ часть а
егэ часть а
 
ТФРВС - весна 2014 - лекция 4
ТФРВС - весна 2014 - лекция 4ТФРВС - весна 2014 - лекция 4
ТФРВС - весна 2014 - лекция 4
 
паскаль. часть1
паскаль. часть1паскаль. часть1
паскаль. часть1
 
Пояснения к статье про Copy-Paste
Пояснения к статье про Copy-PasteПояснения к статье про Copy-Paste
Пояснения к статье про Copy-Paste
 
Python
PythonPython
Python
 
теория рекурсивных функций
теория рекурсивных функцийтеория рекурсивных функций
теория рекурсивных функций
 
презентация1
презентация1презентация1
презентация1
 
proverochnie-raboti-po-algebre
proverochnie-raboti-po-algebreproverochnie-raboti-po-algebre
proverochnie-raboti-po-algebre
 
20100927 28 reqformalization-kuliamin
20100927 28 reqformalization-kuliamin20100927 28 reqformalization-kuliamin
20100927 28 reqformalization-kuliamin
 
сложные условия
сложные условиясложные условия
сложные условия
 

Теория. Сложные условия в операторе сравнения

  • 1. Составные условия в разветвляющихся алгоритмах © М.Е.Макарова http :// www . uchinfo . com . ua
  • 2. Для принятия решений в зависимости от каких-либо условий. Для чего используются разветвляющиеся алгоритмы?
  • 3.
  • 4. В качестве условий ветвления действий в алгоритмах могут указываться любые равенства и неравенства над величинами и алгебраическими выражениями.
  • 5. В операторах условного перехода можно использовать не только простые, но и так называемые составные (или сложные) условия Условия такого типа называют логическими выражениями
  • 6. Самое сложное логическое высказывание можно выразить с помощью трех основных логических операций: НЕ , И , ИЛИ .
  • 7. Унарная операция НЕ  – логическое отрицание. Смысл этой операции можно выразить словами: &quot;Неверно, что&quot;, то есть она меняет значение истина на ложь и наоборот. На слайде приведена таблица истинности операции НЕ . Пример: НЕ ( A > 0) Это логическое выражение означает то же самое, что и A ≤ 0.
  • 8. Операция логического умножения И применяется тогда, когда переменная должна удовлетворять одновременно двум более простым условиям. P , Q – простые условия
  • 9. Операция логического сложения ИЛИ применяется тогда, когда переменная должна удовлетворять хотя бы одному из двух и более простых условий
  • 10. Пример 1    Рассмотрим примеры: Запишем логическое выражение для случая т. X принадлежит отрезку [-6, 6] : Математическая запись: -6 ≤ Х ≤ 6. Логическое выражение: (Х  ≥ -6) И (х ≤ 6) Запись выражения в Паскале: (Х >= -6) AND (х <= 6) Запишем логическое выражение для случая т. X не принадлежит отрезку [-6, 6] : Математическая запись: -6 < Х > 6. Логическое выражение: (Х  < -6) ИЛИ (х > 6) Запись выражения в Паскале: (Х  < -6) OR (х > 6) ИЛИ И Пример 2   0 6 -6 0 6 -6
  • 11. Решение Пусть переменная a обозначает стаж кандидата, а b  – его возраст. Тогда должно соблюдаться условие: ( a >= 5 ) and ( b <= 40 ) Программа: Program RP1; Var a, b: real ; Begin Writeln (‘ Задайте значения a, b’); Readln (a, b); If (a >= 5 ) and ( b <= 40 ) Then Writeln (‘ Вы приняты ’) Else Writeln (‘ Вы не приняты ’); Readln; End. Пример 3 Фирма осуществляет набор сотрудников. Условия приема требуют не менее 5 лет рабочего стажа и возраст не более 40 лет. Написать алгоритм, проверяющий, удовлетворяет ли кандидат этим требованиям.
  • 12. Решение Program Pr4; Var a, b, c: real; Begin WriteLn (‘ Задайте величины углов a, b’) ; ReadLn (a, b); C:=180-a-b; If (a > 90 ) or (b > 90 ) or (c > 90 ) Then WriteLn ( ‘ Треугольник тупоугольный ’) Else If (a = 90 ) or ( b = 90 ) or (c = 90 ) Then Writeln (‘ Треугольник прямоугольный ’) Else Writeln (‘ Треугольник остроугольный ’); End . Пример 4 Написать алгоритм для определения вида треугольника (остроугольный, прямоугольный, тупоугольный), если даны величины двух его углов А и В в градусах. A B C A B C A B C
  • 13. В логических выражениях логические операции могут связывать несколько логических переменных, например: (Х < 0) И (Y < 0) И (Z < 0) (Х < 0) ИЛИ (Y < 0) И (Z < 0) Для изменения порядка операций можно использовать круглые скобки.
  • 14.  
  • 15. 3. ((2<=2) AND (3 >=3)) OR (15>25). Установить, истинны или ложны следующие условия: 1. NOT (( 6<4) AND (4>8)), 2. (A<=A+1) OR (12-3>0),
  • 16. 2. Написать программу, которая определяет, принадлежит ли точка с координатами ( X, Y) заштрихованной области, которая описывается системой неравенств: Входные данные: координаты точки ( X, Y) Результат: слова «Да» или «Нет». - 1 1 1
  • 17. Program Pr7; Uses Crt; Var x, y: Real; Begin ClrScr; Writeln(‘ Введите координаты точки x, y’); Readln (x, y); If (abs(x)+abs(y)<=1) and (y>=1) Then writeln (‘ Да ’) Else writeln (‘ Нет ’); Readln; End.
  • 18.
  • 19. Program PR5; Var V : real; Begin WriteLn (‘ Задайте значение скорости ’); Readln ( V ); If V < 7.8 Then WriteLn(‘ Ракета упадет на Землю ’) ; If ( V >=7.8) and ( V <11.2) then writeLn (‘ Ракета станет спутником Земли ’); If ( V >=11.2) and ( V <=16.4) then writeLn (‘ Ракета станет спутником Солнца ’); If V >16.4 then writeLn (‘ Ракета покинет пределы Солнечной системы ’); Readln; end. V< 7.8 Ракета упадет на Землю 7.8 ≤ V <11.2 Ракета станет спутником Земли 11.2 ≤ V <16.4 Ракета станет спутником Солнца V >16.4 Ракета покинет пределы Солнечной системы
  • 20.
  • 21.
  • 22.