Вказівка розгалуження мовою Паскаль Максименко Марина Миколаївна Учитель інформатики вищої категорії, вчитель- методист Конотопська гімназія Конотопської міської ради Сумської області
Зміст Вказівка розгалуження неповної форми Вказівка розгалуження повної форми Робота оператора умовного переходу If-Then-Else Відмінність у виконання двох форм умовного оператору Логічний вираз Логічні операції Приклади умов Завдання для закріплення Приклади задач Завдання для закріплення Оператор вибору Типи змінних в операторі вибору Виконання оператора вибору Загальний вигляд скороченого оператора вибору Приклад задачі Завдання для закріплення Завдання Література
Вказівка розгалуження неповної форми Загальний вигляд скороченого оператора умовного переходу: IF THEN P. Мал.1
Вказівка розгалуження повної форми Загальний вигляд повного оператора умовного переходу: IF THEN P1 ELSE P2; де P1 та P2 - оператори. Мал.2
Робота оператора умовного переходу If-Then-Else Оператора умовного переходу використовує результат обчислення логічного виразу для вибору того чи іншого шляху наступного виконання алгоритму виконання оператора P1 або оператора P2. Після цього робота алгоритму продовжується далі за вказаними операторами.
Відмінність у виконання двох форм умовного оператору На схемі алгоритму добре видно відмінність між двома формами умовного оператора: в першій повній незалежно від значення логічного виразу якісь дії обов'язково будуть виконані, а вже потім продовжено виконання алгоритму далі, у другій скороченій у випадку, коли логічний вираз набуде значення true, будуть виконані якісь дії, а потім продовжено виконання алгоритму, а у випадку, коли логічний вираз набуде значення false, алгоритм зразу ж буде продовжено далі.
Логічний вираз Простий - =, <>,, = Складний – Not (простий), (простий1) And (простий2), (простий1) Or (простий 2)
Логічні операції
Приклади умов x [a;b) x a Для перевірки клацнути (x>=a)and (x<b) (x = b) X mod a=0 X mod a<>0
Приклади умов (sqr(x)+sqr(y)<=sqr(A) А -А (sqr(x)+sqr(y)>sqr(A)
Завдання для закріплення
Чи є еквівалентними наступні фрагменти: Для перевірки клацнути Конструкція 1Конструкція 2Так ні 1If a=0 then b:=c else b:=d;If a<>0 then b:=d else b:=c; 2If a<b then h:=x else h:=y;If a<b then h:=x; h:=y; 3If x<a then x:=t; y:=h;Y:=h; If x<a then x:=t; 4If (x<a) and (y=h) then p:=t; If (x>=a) or (y<>h) then p:=t; Конструкція 1Конструкція 2Так ні 1If a=0 then b:=c else b:=d;If a<>0 then b:=d else b:=c;так 2If a<b then h:=x else h:=y;If a<b then h:=x; h:=y;ні 3If x<a then x:=t; y:=h;Y:=h; If x<a then x:=t;так 4If (x<a) and (y=h) then p:=t; If (x>=a) or (y<>h) then p:=t;так
Приклади задач Розглянемо алгоритм пошуку найбільшого з двох заданих чисел А та В. program max_A_B; var a,b,max: real; begin writeln ('Задайте два будь-яких числа:'); read (a,b); if a>b then begin writeln ('Перше число більше за друге.'); max:=a end else begin writeln ('Друге число більше або дорівнює першому.'); max:=b end writeln ('Це число - ',max:10:5); readln end.
Приклади задач Розглянемо пошук найбільшої величини з трьох різних величин а, b, c. program max_A_B_C; var a,b,c,max: real; begin writeln ('Задайте три будь-яких різних числа:'); read (a,b,c); if (a>b) and (a>c) then begin writeln ('Перше число більше за два інші.');max:=a end else if (b>c) then begin writeln ('Друге число більше за два інші. 1 ); max:=b end else begin writeln (Третє число більше за два інші.');max:=c end; writeln ('Це число - ',max:10:5); readln end. Скласти блок-схему самостійно
Завдання для закріплення Задача 96. Дано значення цілих величин x та у. Знайти: 1) тах 2 (х,у)-тіп 2 (х,у); 2) тах(х 2,у) + тах(х,у 2 ); 3) min (x + y,x -у). *Задача 89. Від річкового вокзалу відійшли одночасно у протилежних напрямках теплохід та турист. Теплохід рухався зі швидкістю V км/год, а турист по стежці вздовж річки зі швидкістю V 7 км/год. Якщо через N год турист передумає і вирішить попливти річкою назад за теплоходом зі швидкістю V км/год, то чи встигне він підсісти на теплохід, який має за графіком зупинку через Y год після початку руху і стоїть на цій зупинці Z год? Зважати на те, що всі події відбувалися протягом однієї доби
Оператор вибору Загальний вигляд повного оператора вибору: CASE OF : P 1, : Р 2 ; : Р n ELSE Р n+1 END;
Типи змінних в операторі вибору де... перелік значень вказаної в операторі змінної, при яких повинні виконуватися відповідні оператори P 1... P n В операторі вибору на використання типів змінних величин накладається певне обмеження. Змінні величини, що використовуються в операторі case, можуть бути лише зчисленного типу!
Типи змінних в операторі вибору До зчислених типів належать типи, для елементів яких існує поняття «наступного» та «попереднього» елементів. Серед відомих стандартних типів до зчисленного належать всі типи, що характеризують цілі числа (integer, shortint, longint, byte, word), символьний (char) та логічний (boolean) типи. ! До зчисленних не можна віднести змінні дійсного типу (real) та рядкового (string).
Виконання оператора вибору Специфіка виконання оператора вибору полягає в тому, що перевірка значення змінної із вказаними її значеннями в операторі відбувається до першого збігання. Решта значень вже не перевіряються. Якщо ж не відбулося жодного збігання, то виконається оператор, що вказаний після службового слова else.
Загальний вигляд скороченого оператора вибору Загальний вигляд скороченого оператора вибору відрізняється лише відсутністю службового слова else: case of : P,; : Р 2 ; : Р н end;.
Приклад задачі Нехай за заданими числовими значеннями днів тижня необхідно вивести інформацію про те, робочий це день чи вихідний. program day; var n: integer; begin write ('Задайте порядковий номер дня тижня:'); readln (n); case n of 1..5 : write ('Це робочий день '); 6,7 : write ('Це вихідний день ') else write ('Це не день ') end; writeln ('тижня') end.
Завдання для закріплення Визначте результат виконання фрагменту програми: Case k mod 4 of 0:writeln(k=4m); 1:writeln(k=4m+1); 2:writeln(k=4m+2); 3:writeln(k=4m+3); End; Для перевірки клацнути KРезультат KРезультат 40K=4m 53K=4m+1 15K=4m+3
Завдання для закріплення Задача 154. Розробити програму виведення текстового варіанту шкільних оцінок: 1) 1, 2, 3 початковий рівень; 2) 4, 5, 6 середній рівень; 3) 7, 8, 9 достатній рівень; 4) 10, 11, 12 високий рівень.
Завдання Дані дійсні числа a, b, c. Перевірити, чи виконуються нерівності a<b<c. Дано дійсні числа x,y (xy). Менше з цих двох чисел замінити їх півсумою, а більше – їх подвійним добутком. Задано чотири числа. Скласти програму, яка виводить на екран ті з них, які не є найбільшими або найменшими.
Завдання Скласти програму для обчислення значень функції (табл.1), що задана різними аналітичними виразами на різних інтервалах числової осі. Використовуючи складену програму, обчислити значення функції для заданих значень аргументу.
Завдання
Розробити діалогову програму, яка запитує вік користувача і визначає, до якої вікової категорії він належить: 1) від 1 до 10 років – дитина; 2) від 11 до 15 років – підліток; 3) від 16 до 20 років – юнак (юнка); 4) від 21 до 30 років – молода людина; 5) після 31 року – доросла людина.
Література Караванова Т.П. Інформатика. Основи алгоритмізації та програмування. Шепетівка: Аспект, 2004 Караванова Т.П. Основи алгоритмізації та програмування. 750 задач з рекомендаціями та прикладами. К.: Форум, 2002 Бондаренко О.О., Мірошниченко А.А. Інформатика. Основи програмування мовою Паскаль для 8-9 класів. Шепетівка: Аспект, 2006 Белоусова Л.И., Веприк С.А., Муравка А.С. Информатика. Сборник задач. Харьков: Мир детства, 2000.