Тема 1. Логічні вирази та логічні операції

18
Тема 1. Логічні вирази та логічні операції 10-В 23.11.2012 Алгоритми з розгалуженням «Алгоритми з розгалуженнями» Мета : вивчити поняння умови, логічного виразу та логічних операцій

description

«Алгоритми з розгалуженнями». Тема 1. Логічні вирази та логічні операції. Мета : вивчити поняння умови , логічного виразу та логічних операцій. 10-В 23.11.2012. - PowerPoint PPT Presentation

Transcript of Тема 1. Логічні вирази та логічні операції

Page 1: Тема 1. Логічні  вирази та логічні операції

Алгоритми з розгалуженням

Тема 1. Логічні вирази та логічні операції

10-В 23.11.2012«Алгоритми з розгалуженнями»

Мета : вивчити поняння умови, логічного виразу та логічних операцій

Page 2: Тема 1. Логічні  вирази та логічні операції

Алгоритми з розгалуженням

Дія n

Крім лінійних алгоритмів нам приходиться в житті виконувати такі алгоритми де за певних умов виконується та чи інша дія. Такі алгоритми називаються - розгалуженими

Дія 3

Дія 1

Дія 2

ПОЧАТОК

Введення

Виведення

Кінець

ПОЧАТОК

Введення

Умова

Дія 2 Дія 1

Виведення

Кінець

ЯКЩО

ТО

Інакше

Page 3: Тема 1. Логічні  вирази та логічні операції

Алгоритми з розгалуженням

ПОЧАТОК

Введення

Умова

Дія 2 Дія 1

Виведення

Кінець

ПОЧАТОК

Введення

Умова

Дія 1

Виведення

Кінець

Повна форма розгалуження Скорочена форма розгалуження

ІстиннаХибна Істинна

Page 4: Тема 1. Логічні  вирази та логічні операції

Алгоритми з розгалуженням

Якщо умова То дія 1

Інакше дія 2все

Якщо умова То дія 1

все

Якщо - ifТо - then

Інакше - else

Опис команди розгалуження

If

then else

Умова істинна

Дія 1 Дія 2

Page 5: Тема 1. Логічні  вирази та логічні операції

Алгоритми з розгалуженням

Умова – це вираз логічного (булівського) типуРезультатом виконання логічного виразу є логічне

значення True або FalseУмова - проста та

складена Проста умова: х>=y, a<b, c<= d, n<>m

Складені умови утворюються з простих за допомогою логічних

операцій and, or, not(X>4) and (x<10)(x<=0) or (x>=1)a and not (b=c)

при a=false, b=false, c=true , значення

виразу - false

Page 6: Тема 1. Логічні  вирази та логічні операції

Алгоритми з розгалуженням

Логічна операція AND (і, та, кожне, обидва) Складена умова (проста умова 1) and ( проста умова 2) вірна, якщо вірні обидві простих умови. У інших випадках така складена умова невірна.

Значення умови 1

Значення умови 2

Значення результату

TRUE TRUE TRUE

FALSE FALSE FALSE

FALSE TRUE FALSE

TRUE FALSE FALSE

Таблиця істинності логічної операції and

якщо одна з умов має значення FALSE . Весь вираз буде мати значення FALSE. Операцію and називають логічним

множенням.

Page 7: Тема 1. Логічні  вирази та логічні операції

Алгоритми з розгалуженням

Ствердження Умова

Число X належить інтервалу [-2, 5], тобто -2<=x<=5

(x>=-2)and(x<=5)

Ціле число X двозначне (x div 100=0)and(x div 10=0)

Натуральне число X кратне 7 тазакінчується цифрою 3

(x mod 7=0)and(x mod 10=3)

Кожне з двох цілих чисел X та Y парне (x mod 2=0)and(y mod 2=0)

Точка з координатами (x, y) попадає в заштриховану ділянку площини (x>=-3)and(x<=-1) and (y>=1)and(y<=3)

Приклади складання умов з логічною операцією AND

Page 8: Тема 1. Логічні  вирази та логічні операції

Алгоритми з розгалуженням

Приклади обчислення логічних виразів з логічною операцією AND

Програма Пояснення Результат

Const X=10; Var Z:Boolean;Begin Z:=(x>2)and(x<5); writeln(z);end.

X=10, тому x>2 вірно, а x<5 невірно, тому і весь вираз невірний. False

Const a=2; b=2;c=3; Var Z:Boolean;Begin Z:=(a>0)and(b>0)and(c>0); writeln(z);end.

a=2; b=2; c=3, тому a>0 вірно, b>0 вірно, c>0 вірно, тому і весь вираз вірний. TRUE

Page 9: Тема 1. Логічні  вирази та логічні операції

Алгоритми з розгалуженням

Логічна операція OR (або, хоча б одне) Складена умова (проста умова 1) or (проста умова 2) не вірна, якщо не вірні

обидві простих умови. У інших випадках така складена умова вірна.

Значення умови 1

Значення умови 2

Значення результату

FALSE FALSE FALSE

TRUE TRUE TRUE

FALSE TRUE TRUE

TRUE FALSE TRUE

Таблиця істинності логічної операції or

Обчислюючи складену умову з логічною операцією or, можна не перевіряти значення другої умови, якщо одна з умов має значення TRUE . Весь вираз буде мати значення TRUE.

Операцію or називають логічним додаванням.

Page 10: Тема 1. Логічні  вирази та логічні операції

Алгоритми з розгалуженням

Твердження Умова

Хоча б одне з чисел X та Y додатне (x>0)or(y>0)

Натуральне число X закінчується цифрою 2 або 3 (x mod 10=2)or(x mod 10=3)

Точка з координатами X та Y належить I або IIІ чверті координатної площини

(X>0)and(y>0)or(x<0)and(y<0)

Приклади складання умов з логічною операцією OR

Page 11: Тема 1. Логічні  вирази та логічні операції

Алгоритми з розгалуженням

Приклади обчислення логічних виразів з логічною операцією OR

Page 12: Тема 1. Логічні  вирази та логічні операції

Алгоритми з розгалуженням

Логічна операція XOR (тільки одне, при різних)

Складена умова (проста умова 1) xor (проста умова 2) вірна, при різних значеннях операндів. При однакових значеннях операндів така складена умова невірна. Таблиця істинності логічної операції xor

Обчислюючи складену умову з логічною операцією xor, потрібно перевіряти значення обох умов. Логічну операцію xor називають рос. „исключающее или”. Без цієї операції можна обійтись, але її використання значно скорочує запис.

Page 13: Тема 1. Логічні  вирази та логічні операції

Алгоритми з розгалуженням

Ствердження Умова без xor Умова з xor

Тільки одне з чисел X та Y парне

(x mod 2=0)and(y mod 2<>0) or (x mod 2<>0)and(y

mod 2=0) (x mod 2=0) xor (y mod

2=0)

Приклад складання умови з логічною операцією XOR

Page 14: Тема 1. Логічні  вирази та логічні операції

Алгоритми з розгалуженням

Програма Пояснення Результат

Const X=1; y=-1; Var Z:Boolean;Begin Z:=(x*y<1)xor(y>x); writeln(z);end.

X=1; y=-1, тому x*y<1 вірно, а y>x невірно. Тобто прості умови мають різнізначення, тому весь вираз вірний.

TRUE

Const X=1; y=2; Var Z:Boolean;Begin Z:=(x*y<3)xor(y>x); writeln(z);end.

X=1; y=2; тому x*y<3 вірно, а y>x вірно. Тобто прості умови мають однакові вірні значення, тому весь вираз невірний.

FALSE

Const X=2; y=1; Var Z:Boolean;Begin Z:=(x*y=3)xor(y>x)and(x+y>2); writeln(z);end.

X=2; y=1;Спочатку обчислюється значення простих умов: x*y=3 невірно y>x невірно x+y>2 вірно.Потім обчислюється логічна операція and. (y>x)and(x+y>2)–невірно. Тоді перша умова- невірна, друга умова - невірна, значення однакові і весь вираз невірний.

FALSE

Приклади обчислення логічних виразів з логічною операцією XOR

Page 15: Тема 1. Логічні  вирази та логічні операції

Алгоритми з розгалуженням

Логічний префікс NOT (не).Складена умова not (умова 1) вірна, якщо (умова 1) невірна. І

навпаки, складена умова невірна, якщо (умова 1) вірна.

Значення умови 1 Значення результату

FALSE TRUE

TRUE FALSE

Таблиця істинності логічної операції not

Page 16: Тема 1. Логічні  вирази та логічні операції

Алгоритми з розгалуженням

Ствердження Умова без not Умова з not

Число X не належіть інтервалу [-2, 5] (x<-2)or(x>5) Not((x>=-2)and(x<=5))

Ціле число X не ділиться на 3 X mod 3<>0 Not (x mod 3=0)

Приклади складання умов з логічною операцією NOT

Page 17: Тема 1. Логічні  вирази та логічні операції

Алгоритми з розгалуженням

Приклади обчислення логічних виразів з логічною операцією NOT

ПРОГРАМА ПОЯСНЕННЯ Результат

Const X=10; Var Z:Boolean;Begin Z:=not((x>=1)and(x<=5)); writeln(z);end.

Операція not стоїть перед дужками, тому спочатку виконуються дії у дужках. X=10, тому (x>=1)and(x<=5) – невірно, а весь вираз вірний.

TRUE

Const X=10; Var Z:Boolean;Begin Z:=not(x>=1)and(x<=5); writeln(z);end.

У цьому випадку not відноситься тільки до перших дужок. X=10, тому x>=1 – вірно, not(x>=1) –невірно. Наступна операція and, у якої перша умова невірна, тому значення другої умови можна не обчислювати, весь вираз буде невірний

FALSE

Page 18: Тема 1. Логічні  вирази та логічні операції

Алгоритми з розгалуженням