Тема: Організація алгоритмів розгалуження мовою Turbo Pascal
Мета:
План уроку:
I. Організаційний момент (3 хвилини)
II. Перевірка домашнього завдання (7 хвилин)
III. Перевірка знання теорії по темі “Організація алгоритмів розгалуження мовою Turbo Pascal ” (7 хвилин)
IV. Рішення задач:
а) фронтальна робота (8 хвилин),
б) у парах (9 хвилин)
V. Короткий розбір домашнього завдання на наступне заняття (3 хвилини)
VI. Підведення підсумків уроку (3 хвилини)
Хід уроку
І. Організаційний момент.
Повторення теми минулого заняття по опорному конспекті по темі: “Організація алгоритмів розгалуження мовою Turbo Pascal ” у формі усного опитування.
Опорний конспект по темі “Організація алгоритмів розгалуження мовою Turbo Pascal ”
Визначення. Розгалуження – це така форма організації дій алгоритму, при якій залежно від виконання або невиконання деякої умови відбувається або одна, або інша послідовність дій.
Блок – схема розгалуження
У мові Turbo Pascal розгалуження організується за допомогою двох операторів: IF і CASE.
IF<умова> THEN<оператор1> [ELSE<оператор2>];
CASE <вираз - умова> OF
<до1>: <оператор 1>[;
<до2> : <оператор 2>;
………………………………
<k n > : <оператор n > ELSE <оператор> ]
END;
ДО1, ДО2,...,Кn - константа або діапазон значень.
А тепер згадайте, будь ласка, картину В. Васнєцова “Витязь на распутьи”. Давайте опишемо цю картину: сидить витязь на коні перед каменем, на якому висічені слова: “Праворуч підеш - коня втратиш, ліворуч підеш - життя втратиш”. Скажіть, з погляду алгоритмізації й програмування, що написано на камені? “мал. 1”. (Це розгалуження в повній формі: якщо витязь піде праворуч, але залишиться живий, якщо ліворуч - то загине)
Малюнок 1.
II. Перевірка домашнього завдання.
Два учні оформляють на дошці розв’язок домашніх задач
Поки учні оформляють свої рішення, проводиться коротке опитування по теорії:
Після опитування перевірка рішення домашніх задач, акцентується увага на використанні оператора IF . Далі перевірка теорії по темі “Організація алгоритмів розгалуження мовою Turbo Pascal ”.
III. Перевірка теорії по темі “Організація алгоритмів розгалуження мовою Turbo Pascal ”
Знання теорії по темі “Організація алгоритмів розгалуження мовою Turbo Pascal ” перевіряються різними методами (різнорівневий підхід) залежно від здатностей учнів по предметі: слабким учням пропонується тест, інші учні пишуть перевірну роботу.
ТЕСТ:
Питання 1: Оператори розгалуження застосовується в алгоритмах для:
а) виконання одних або інших дій залежно від виконання або невиконання деякої умови;
б) виконання одних або інших дій;
в) виконання деяких дій залежно від умови.
Питання 2: Розгалуження в алгоритмах застосовується в повній формі:
а) при невиконанні деякої умови потрібно зробити деякі дії;
б) при виконанні деякої умови потрібно зробити певні дії;
в) при виконанні деякої умови потрібно зробити одні дії, а при його невиконанні – інші дії.
Питання 3: Розгалуження в алгоритмах застосовується в короткій формі:
а) при виконанні деякої умови потрібно зробити деякі дії;
б) при виконанні деякої умови потрібно зробити одні дії, а при його невиконанні – ніяких;
в) при невиконанні деякої умови потрібно зробити якісь дії
Питання 4: Мовою Turbo Pascal розгалуження організується за допомогою операторів:
а) readln, writeln;
б) if, case;
в) присвоєння (:=), go to.
Питання 5: Оператор IF у повній формі записується так:
а) if <умова>then <оператор1> else <оператор 2>;
б) if <умова>then <оператор1>
if <умова>then <оператор 2>
if <умова>then <оператор 3>
……………………………………….
if <умова>then <оператор n> else <оператор n+1>;
в) if <умова>then <оператор1>.
ПЕРЕВІРНА РОБОТА.
Варіант № 1.
Питання 1: Дайте поняття алгоритму, який має розгалуження.
Питання 2: Зобразіть блок-схему повної форми розгалуження алгоритму.
Питання 3: Напишіть формат оператора CASE.
Варіант № 2
Питання 1: Дайте поняття алгоритму, який має розгалуження.
Питання 2: Зобразіть блок-схему неповної форми розгалуження алгоритму.
Питання 3: Напишіть формат оператора IF.
IV. Рішення задач
A) Всім класом
Розв’яжемо на дошці задачі, використовуючи картки “ Задачі по темі “Організація алгоритмів розгалуження мовою Turbo Pascal ”. Розв’яжемо задачі № 1,5.
(Картки видаються кожному учню).
Картка “Задачі по темі “Організація алгоритмів розгалуження мовою Turbo Pascal ”
Задача № 1: Ввести число. Якщо воно невід’ємне, то відніміть від нього 50, у противному випадку додати до нього 100. (Написати програму, накреслити блок-схему).
Задача № 2: Ввести 2 числа. Якщо їхній добуток від’ємний, помножити його на -2 і вивести на екран, у противному випадку збільшити його в 1,5 рази й вивести на екран. (Написати програму, накреслити блок-схему).
Задача № 3: Ввести 2 числа. Відняти від більшого менше.
Задача № 4: Ввести число. Якщо воно парне, розділити його на 4, якщо непарне - помножити на 5.
Задача № 5: Ввести зріст людини. Вивести на екран “ВИСОКИЙ”, якщо його ріст перевищує 180 см., і “НЕ ДУЖЕ ВИСОКИЙ” у супротивному випадку.
Задача № 6: Скласти програму, що запитує вік людини й, якщо йому 18 років і більше, повідомляє “ Чудово. Ви вже можете водити автомобіль”, а в супротивному випадку - “ На жаль, водити автомобіль Вам зарано ”.
Задача № 7: Скласти програму обчислення значень функції для будь-якого х за бажанням користувача:
sin2 x + 2, якщо x < 0
√x + √x2+ 1, якщо x > 0
Задача № 8: У дитини Кузьми вилізло вже s зубів, а в його баби Дусі залишилося w зуба. Задати за допомогою генератора випадкових чисел 2 цілі числа від 0 до 5 - значення для s і w. У кого зубів більше?
Задача № 9: Вовочка, аматор стріляти з рогатки, 7 разів попадав у міліцію. Увести із клавіатури ціле позитивне число - № влучення. Визначити результат: 4,6,7 – «Міліціонери вставляли нове скло», 2,5 – «Нове скло вставляв тато Вовочки», 1, 3 – «Скло не розбилося».
Задача № 10: Скласти програму, що запитує введення трьох значень температури й перевіряє, чи є серед них температура танення льоду?
Задача № 11: Вводяться три значення прискорення вільного падіння. Програма повинна перевірити, чи є серед них прискорення вільного падіння.
Задача № 12: Скласти програму, що запитує введення формул трьох кислот і перевіряє, чи є серед них формула сірчаної кислоти?
Задача № 13: Скласти програму, що запитує введення температури тіла людини й визначає, здоровий він або хворий ( здоровий при 360 < t0 < 370)?
Б) розв’язок задач у парах.
Парна робота за комп'ютером по картках - завданням.
Картки-Завдання:
Введіть число. Якщо воно ціле, то розділить його на 2, якщо ж ні то помножте його на 10 |
Введіть число. Якщо його модуль більше 7, то помножте його на 1,5, у супротивному випадку помножте його на 7 |
Введіть два числа. Якщо їх сума більше 100, то надрукуйте слово «БАГАТО», у суперечному випадку надрукуйте слово «МАЛО» |
Введіть число. Якщо воно ділиться на 7 без остачі, то виведіть не екран слово «ДІЛИТЬСЯ», у супротивному випадку виведіть на екран слово «НЕ ДІЛИТЬСЯ» |
Введіть два числа. Якщо їх середнє – арифметичне більше 10, то виведіть на екран слово «УРА!», в супротивному випадку виведіть на екран слово «КАРАУЛ!». |
Введіть два номери квартир. Складіть програму, яка б перевіряла, чи є серед введених номерів квартир номер вашої квартири. |
Складіть програму, яка б запитувала введення двох значень температур і перевіряла, чи є серед них температура кипіння води. |
Складіть програму, яка б запитувала введення двох чисел і перевіряла чи є серед низ число π «Пі» |
V. Короткий розбір домашнього завдання на наступне заняття.
Дома розв’яжіть дві задачі - № 2 і № 8. Для задачі № 8 іде пояснення поняття генератора випадкових чисел і його використання при розв’язку даної задачі.
VI. Підведення підсумків заняття.
Розбираємо питання учнів. Оцінка робіт учнів коментується, пояснюються допущені оцінки.
Додаток 1
Зміст презентації
Слайд 1 Слайд 2
Слайд 3 Слайд 4
Слайд 4 Слайд 5
Слайд 6 Слайд 7
Слайд 9 Слайд 10
Додаток 2
Текст програми-тесту
uses crt;
var a,k: Integer;
Begin
clrscr;
k:=0;
writeLn('Тест по темі: Організація алгоритмів розгалудження мовою Turbo Pascal');
WriteLn ;
WriteLn ;
WriteLn ;
WriteLn('Для продовження натисніть клавішу enter');
readln;
clrscr;
WriteLn ;
WriteLn('Дайте відповідь на питання тесту .');
WriteLn ;
WriteLn ;
WriteLn('Питання №1. Оператори розгалуження застосовується в алгоритмах для?');
WriteLn;
writeLn('1) виконання одних або інших дій залежно від виконання або невиконання деякої умови ');
WriteLn('2) виконання одних або інших дій');
WriteLn('3) виконання деяких дій залежно від умови');
WriteLn;
WriteLn;
WriteLn ('Введіть номер правельної відповіді і натисніть клавішу enter:');
Readln(a);
if a=3 then k:=k+1;
clrscr;
WriteLn('Питання №2.: Розгалуження в алгоритмах застосовується в повній формі :');
WriteLn;
writeLn('1) при невиконанні деякої умови потрібно зробити деякі дії;');
WriteLn('2) при виконанні деякої умови потрібно зробити певні дії;');
WriteLn('3) при виконанні деякої умови потрібно зробити одні дії, а при його невиконанні - інші дії.');
WriteLn;
WriteLn ('Введіть номер правельної відповіді і натисніть клавішу enter:');
Readln(a);
if a=3 then k:=k+1;
clrscr;
WriteLn('Питання №3. Розгалуження в алгоритмах застосовується в короткій формі:');
WriteLn;
writeLn('1) при виконанні деякої умови потрібно зробити деякі дії;');
WriteLn('2) при виконанні деякої умови потрібно зробити одні дії, а при його невиконанні - ніяких;');
WriteLn('3) при невиконанні деякої умови потрібно зробити якісь дії.');
WriteLn;
WriteLn ('Введіть номер правельної відповіді і натисніть клавішу enter:');
Readln(a);
if a=2 then k:=k+1;
clrscr;
WriteLn('Питання №4.: Мовою Turbo Pascal розгалуження організується за допомогою операторів:');
WriteLn;
WriteLn('1) readln, writeln;');
WriteLn('2) if, case;');
WriteLn('3) присвоєння (:=), go to.');
WriteLn;
WriteLn ('Введіть номер правельної відповіді і натисніть клавішу enter:');
Readln(a);
if a=2 then k:=k+1;
clrscr;
WriteLn('Питання №5.Оператор IF у повній формі записується так:');
WriteLn;
writeLn('1) if <умова>then <оператор1> else <оператор 2>;');
WriteLn('2) if <умова>then <оператор1>');
WriteLn(' if <умова>then <оператор 2> ');
WriteLn(' if <умова>then <оператор 3>');
WriteLn(' ……………………………………….');
WriteLn(' if <умова>then <оператор n> else <оператор n+1>;');
WriteLn('3) if <умова>then <оператор1>.');
WriteLn;
WriteLn ('Введіть номер правельної відповіді і натисніть клавішу enter:');
Readln(a);
if a=1 then k:=k+1;
Case k of
5..6: WriteLn('Ви отримали "12"- балів. Відмінно! ');
3..4: WriteLn('Ви отримали "9"- балів. Радий за Вас! ');
0..2: WriteLn('Ви отримали "6"- балів.Будьте уважні.');
Else WriteLn('Ви отримали "2"- бали.Надзвичайно погано! Вчить інформатику! ');
end;
ReadLn;
End.