Скачать презентацию Логічні операції та циклічні програми Тема 5 Скачать презентацию Логічні операції та циклічні програми Тема 5

Lect_5.ppt

  • Количество слайдов: 32

Логічні операції та циклічні програми. Тема 5 Логічні операції та циклічні програми. Тема 5

План 1. Складені логічні вирази (логічні операції not, and, or). 2. Застосування складених умов План 1. Складені логічні вирази (логічні операції not, and, or). 2. Застосування складених умов у задачах пошуку даних. 3. Цикл з параметром for. 4. Цикл з післяумовою repeat.

Складені логічні вирази – це прості логічні вирази, з'єднані логічними операціями not (не), and Складені логічні вирази – це прості логічні вирази, з'єднані логічними операціями not (не), and (і), or (або). Прості логічні вирази, які входять у складені, записують у круглих дужках.

Логічна операція not (не) • А – простий вираз • not – логічна операція Логічна операція not (не) • А – простий вираз • not – логічна операція Операція not, застосована до виразу А (not А), дає істинне значення, якщо вираз А хибний, і хибне, якщо вираз А істинний: А true false not A false true

not (5>7) – істинний • not (2<>2) • not(2=2) • not (3+2<0) • not not (5>7) – істинний • not (2<>2) • not(2=2) • not (3+2<0) • not (3>2) • not (7>5) • Істинний • Хибний

Визначення учнів, які не одержали оцінки “ 2” з інформатики • ос – позначення Визначення учнів, які не одержали оцінки “ 2” з інформатики • ос – позначення оцінки not (ос=2) або ос <> 2

Логічна операція and (i) • Використовується для запису подвійних нерівностей вигляду a<x<b (x>a) and Логічна операція and (i) • Використовується для запису подвійних нерівностей вигляду aa) and (x0) and (x<3)

Операція and, застосована до двох виразів A and B дає істинне значення тоді й Операція and, застосована до двох виразів A and B дає істинне значення тоді й тільки тоді, коли вирази А та В істинні A false true B false true A and B false true

(5>7) and (7>5) Складений вираз є хибним (false), тому що перший простий вираз завжди (5>7) and (7>5) Складений вираз є хибним (false), тому що перший простий вираз завжди хибний (false). Приклад: • month – номер місяця року • Умова: місяць є весняним • Логічний вираз: (month>=3) and (month<=5)

(10=4) and (7>4) – хибний • • • (2=2) and (2<>2) (7>2) and (5=5) (10=4) and (7>4) – хибний • • • (2=2) and (2<>2) (7>2) and (5=5) (0>=0) and (2<>4) (3<2) and (3=3) (4<>2) and (1<>0) • • • Хибний Істинний

Логічна операція or (або) Використовується для опису сукупності нерівностей Приклад: • x<0; x>3 – Логічна операція or (або) Використовується для опису сукупності нерівностей Приклад: • x<0; x>3 – сукупність нерівностей. • (x<0) or (x>3) – логічний вираз.

Операція or, застосована до двох виразів А or B, дає істинне значення тоді й Операція or, застосована до двох виразів А or B, дає істинне значення тоді й тільки тоді, коли істинним є хоча б один з виразів. А false true B false true A or B false true

(5>7) or (7>5) – істинний (true) Складений вираз є істинним (true), тому що другий (5>7) or (7>5) – істинний (true) Складений вираз є істинним (true), тому що другий простий вираз завжди істинний (true). Приклад: • month – номер місяця року • Умова: місяць є літнім • Логічний вираз: (month=6) or (month=7) or (month=8)

Пріоритет логічних операцій 1) not 2) and 3) or Операції одного пріоритету виконуються по Пріоритет логічних операцій 1) not 2) and 3) or Операції одного пріоритету виконуються по черзі зліва направо.

Нехай х – змінна цілого типу Вираз істинний лише для двох значень х: 0і Нехай х – змінна цілого типу Вираз істинний лише для двох значень х: 0і 2 2 1 (x=0) or (x>1) and (x<3)

Логічний вираз істинний, якщо х набуде одного із значень 0, 1, 2, 5 3 Логічний вираз істинний, якщо х набуде одного із значень 0, 1, 2, 5 3 1 2 (x=5) or not (x<0) and (x<=2) • Послідовність виконання логічних операцій можна змінити за допомогою круглих дужок. • Наприклад, вираз 3 2 1 (x=5) or not ((x<0) and (x<=2)) • істинний для всіх додатних значень змінної х

Застосування складених умов у задачах пошуку даних Умова: Протабулювати функцію y=sinx на проміжку [0, Застосування складених умов у задачах пошуку даних Умова: Протабулювати функцію y=sinx на проміжку [0, π] з кроком h=0, 1 і обчислити середнє арифметичне значень функції, більших від 0, 1 і менших від 0, 6.

Алгоритм програми program Find. Seredne; var x, y, s, s 1, h, xk: real; Алгоритм програми program Find. Seredne; var x, y, s, s 1, h, xk: real; n: integer; begin x: =0; xk: =pi; h: =0. 1; s: =0; n: =0; while x<=xk+h/2 do begin y: =sin(x); writeln(x: 3: 1, y: 6: 2); if (y>0. 1) and (y<0. 6) then begin s: =s+y; n: =n+1 end; x: =x+h; end; if n=0 then writeln(‘Таких значень немає n=0'); if n>0 then begin s 1: = s/n; writeln (‘Середнє значення= ', s 1: 6: 2) end. x – значення х y – значення функції sinx s – сума всіх значень функції s 1 – середнє арифметичне h – крок табулювання. xk – кінцеве значення х n – кількість значень функції

Таблиця пріоритетів арифметичних і логічних операцій 1) () – спочатку виконуються дії в дужках Таблиця пріоритетів арифметичних і логічних операцій 1) () – спочатку виконуються дії в дужках 2) Функції, логічна операція not 3) *, /, div, mod, and 4) +, -, or 5) >, <, >=, <=, =, <>

Цикл з параметром for Якщо крок зміни параметра у циклі дорівнює 1, то замість Цикл з параметром for Якщо крок зміни параметра у циклі дорівнює 1, то замість команди while варто застосувати команду циклу з параметром for.

Задача про числа While program Table; uses Crt; var i: integer; begin clrscr; i: Задача про числа While program Table; uses Crt; var i: integer; begin clrscr; i: =20; while i<=30 do begin writeln(i: 4, i*i: 6, i*i*i: 8); i: =i+1 (наступне число) end; readln end. For program Table; uses Crt; var i: integer; begin clrscr; for i: =20 to 30 do writeln(i: 4, i*i: 6, i*i*i: 8); readln end.

Цикл з параметром for <параметр і> : = a to b do <команда> • Цикл з параметром for <параметр і> : = a to b do <команда> • Дія команди: а та b – цілі числа або вирази, а параметром є змінна і. • Замість <команди> може бути одна проста або складена команда. • Команда виконується для значення параметра і=а, потім для і=а+1 і так доти, доки і<=b

Часткові випадки • Якщо a=b, то цикл виконується один раз. • Якщо a>b, то Часткові випадки • Якщо a=b, то цикл виконується один раз. • Якщо a>b, то цикл не виконується жодного разу. • Правило: крок зміни параметра у циклі for мови Паскаль може бути тільки 1. Значення параметра збільшується на 1 автоматично. Тому команду i: =i+1 у тілі циклу не пишуть.

Виведення значення у гривнях program Bank; var d: integer; gr: real; begin writeln(‘Долар Гривня'); Виведення значення у гривнях program Bank; var d: integer; gr: real; begin writeln(‘Долар Гривня'); for d: =1 to 10 do begin gr: =7. 9*d; writeln(d: 3, gr: 10: 2) end; readln end.

Графічні схеми циклу з параметром for <параметр і> : = a to b do Графічні схеми циклу з параметром for <параметр і> : = a to b do <команда> i: =a, b Команда

Блок-схема алгоритму “Сума 100” Початок program Suma 100; var s, n: integer; begin s: Блок-схема алгоритму “Сума 100” Початок program Suma 100; var s, n: integer; begin s: =0; for n: =1 to 100 do s: =s+n; writeln(‘Сума= ', s: 5) end. Сума: =0 Число: =1, 100 Сума: = Сума + Число Сума Кінець

Обчислення елементів послідовності • Умова: елементи числової послідовності описуються формулою a 1=1+3 cos 2 Обчислення елементів послідовності • Умова: елементи числової послідовності описуються формулою a 1=1+3 cos 2 i. Обчислити та вивести на екран номери і значення перших n=10 елементів. program Elements; var i, n: integer; a: real; begin n: =10; for i: =1 to n do begin a: =1+3*cos(2*i); writeln(i: 4, a: 15: 2) end.

Пошук заданих елементів Умова: скільки елементів послідовності a 1=1 -cosi, де i = 1, Пошук заданих елементів Умова: скільки елементів послідовності a 1=1 -cosi, де i = 1, 2, …, 20, задовольняють умову 00) and (a<1) then k: =k+1 end; writeln('kilkist=', k: 2); readln end.

Зворотна форма команди for <параметр>: =<вираз 1> downto <вираз 2> do <команда> Приклад: Умова: Зворотна форма команди for <параметр>: =<вираз 1> downto <вираз 2> do <команда> Приклад: Умова: вивести на екран числа від 1 до 10 у зворотному порядку: for i: =10 downto 1 do write (i: 3).

Цикл з післяумовою repeat <команди> until <логічний вираз> • Дія команди: спочатку виконуються зазначені Цикл з післяумовою repeat <команди> until <логічний вираз> • Дія команди: спочатку виконуються зазначені команди, а пізніше перевіряється логічний вираз. Якщо він істинний, то виконання циклу завершується, якщо ні, то цикл продовжується. • Логічний вираз тут описує умову виходу з циклу.

Обчислити суму перших 10 цілих чисел while repeat цикл з передумовою цикл з післяумовою Обчислити суму перших 10 цілих чисел while repeat цикл з передумовою цикл з післяумовою s: =0; n: =1; while n<10 do s: =s+n; n: =n+1 write(s); s: =0; n: =1; repeat s: =s+n; n: =n+1 until n>10; write(s);

Вивести символи латинського алфавіту s: =‘A’; repeat write(s); s: =succ(s) {беремо наступне значення s} Вивести символи латинського алфавіту s: =‘A’; repeat write(s); s: =succ(s) {беремо наступне значення s} until s>’Z’;