Published using Google Docs
Інформатика 10 (АП) Урок 40
Updated automatically every 5 minutes

Урок 40                                                                         Інформатика (АП)


Мітки. Безумовний оператор Goto.


Мета.

Навчальна. ознайомити учнів з оператором безумовного переходу, поняттям мітки, виробляти навики застосовувати  умовний та безумовний оператор при складанні алгоритмів та програм мовою Паскаль.

Розвиваюча. Розвивати логічне мислення, самостійність, вміння застосовувати набуті знання до практичних завдань.

Виховна. Виховувати наполегливість, естетичність у оформленні, грамотно висловлювати свої думки, вміння раціонально використовувати час.

Тип уроку. Засвоєння нових знань і навичок.

Матеріали для роботи з учнями:

План

  1. Перевірка домашнього завдання.
  2. Актуалізація опорних знань.
  3. Мотивація навчальної діяльності.
  4. Мітки. Безумовний оператор.
  5. Розв’язування задач.
  6. Типові запитання до уроку.
  7. Домашнє завдання.

Пам’ятка для учня!

  1. Пригадайте правила техніки безпеки при роботі з ПК.
  2. Через кожні 15 хв. виконуйте вправи для очей та для зняття м’язової втоми.

Хід уроку


1. Перевірка домашнього завдання.

        1. Наявність.

2. Питання.

3. Задача.

Три точки на площині задано координатами (х1; у1), (х2; у2), (х3, у3). Визначити, чи лежать вони на одній прямій. (Визначити відстані між точками: S1, S2, S3. Математична модель: Якщо S1+S2= S3 або S2+ S3=S1 або S1+ S3=S2, то точки лежать на одній прямій, інакше точки не лежатьна одній прямій).


2. Актуалізація опорних знань.

  1. Яким чином організоване розгалуження у Паскалі?
  2. Чим відрізняються повна та скорочена форми оператора умовного переходу?
  3. Запишіть загальний вигляд повної форми розгалуження.
  4. Запишіть загальний вигляд скороченої форми розгалуження.
  5. Намалюйте схеми алгоритмів обох варіантів розгалуження.

Повне розгалуження:

if <умова> then <оператор Р1> else <оператор Р2>;

Неповне розгалуження:

if <умова> then <оператор Р>;

Якщо в умовному операторі використовується серія команд, які виконуються за певних умови.

if <умова> then

begin

                  <серія команд>

end;

    else

begin

                  <серія команд>

end;


3. Мотивація навчальної діяьності.

    Програма – це послідовність вказівок, які виконуються одна за одною. Для зміни порядку виконання команд в програмі Під час розв’язування багатьох задач виникає ситуація коли потрібно змінити порядок виконання команд в програмі.


4. Мітки. Оператор безумовного переходу.

Безумовний спосіб зміни порядку виконання операторів програми здійснюється за допомогою міток і оператора Goto.

Міткою називається описаний в розділі міток Label ідентифікатор або беззнакове число в діапазоні від 0 до 9999.

Приклади:

label 111,  m1,  stoplebel,    my_label,  label_1,   label_2,  10,  909,  M1,  M10/

Всі мітки, які використовуються в програмі, повинні бути описані в розділі опису міток Label:

Label <Мітка1>, …, <МіткаN>;

Label M1, 1, 2;

Оператор безумовного переходу Goto має вигляд:

              goto <Мітка>;

Результатом виконання оператора Goto є передача управління оператору, який позначено міткою.

Використання безумовного переходу порушує принцип структурованого підходу до написання програм, тому застосовувати оператор Goto необхідно лише у крайньому випадку.

Застосування оператора  Goto вважається у програмістів поганим тоном!

Використання оператора безумовного переходу можна продемонструвати на прикладі захисту програми від введення недопустимих даних.

Приклад 1.

Нехай за умовою задачі необхідно задавати лише додатні значення змінних x, y, z.

Приклад 2.

Порожній оператор

Загальний вигляд порожнього оператора:

                ;

Тобто, якщо ви в програмі випадково поставите підряд «;;», то це компілятором Паскаля не буде вважатися помилкою, оскільки між цими двома символами він розпізнає порожній оператор! Але не ли­ше для цього потрібен порожній оператор.Інколи виникає необхідність передати керування на невиконувану частину програми, якою є, наприклад, службове слово end. А оскільки мітку можна ставити лише на виконуваній частині, то для цього існує порожній оператор:


5. Розв’язування задач.

Задача 1.Чи існує трикутник, якщо його сторонами є відрізки а, в, с. Якщо трикутник не існує, то ввести нові значення а, в, с, якщо існує, то порахувати площу і периметр трикутника.

1. Створимо математичну модель.

2. Створимо блок-схему до цієї задачі

 Program Triangle;

   uses crt;

   var a,b,c,p,s: real;

   label 2;

begin

   clrscr;

   writeln(‘Ввести довжини трьох сторін трикутника a,b,c’);

   2: readln(a,b,c);

   writeln(‘a=’, a, ‘b=’, b,’c=’,c);

   if (a<b+c) and (b<a+c) and (c<(a+b)  then                             {нерівність трикутника}

           begin  writeln(‘трикутник існує’);

                       p:= (a+b+c)/2;

                        s:= sqrt(p*(p-a)*(p-b)*(p-c));

                        p:=p*2;

                        writeln(‘s=’, s:6:2, ‘p=’, p:6:2);

             end

   else

             begin   writeln (‘трикутника не існує’);

                      writeln(‘ввести нові сторони а, в, c’);

                           goto 2;

              end;

   readln

end.

Задача 2.

Дано натуральне число. Надрукувати біля цього числа слово "гривня" у відповідному відмінку.

Дано: натуральне число

Знайти: умову, коли потрібно говорити „гривня”, коли „гривні”, коли „гривень”. Отже, випадків буде 3.

Приклади чисел

Відповідне слово

Висновок

1, 21, 131, 5421

гривня

Остання цифра 1, окрім 11

2, 3, 4, 32, 23, 54, 342, 7653

гривні

Остання цифра 2, 3, 4, окрім випадків, коли передостання=1

5, 6, ..11, 12,..19, 20, 511, 87605

гривень

У інших випадках

Змінні:

Вхідні:

Проміжні:

Всі вхідні дані цілого типу (integer).

Алгоритм

  1. Введення числа x.
  2. Обчислення cp та cpp.
  3. Перевіряємо останню та передостанню цифру:

Блок-схема програми

Програма

 Var x,cp,cpp:word;

begin

 read(x); cp:=x mod 10; cpp:=x div 10 mod 10;

 if (cp=1)and(cpp<>1)then writeln('гривня’)

    else

     if (cp>=2)and(cp<=4)and(cpp<>1) then writeln('гривні’)

         else writeln('гривень’)

end.

Приклади результатів роботи програми

Ввід

Вивід

671

рубль

211

рублей

54

рубля


6. Підсумки уроку.

  1. Що називають мітками, які правила їх запису, для чого вони використовуються?
  2. Запишіть загальний вигляд оператора безумовного переходу і поясність принцип його роботи.
  3. Що таке порожній оператор і коли його використовують?

7. Домашнє завдання.

1. Вивчити конспект.

2. Дано три цілих додатних числа x, y, z. Визначити, чи можна з відрізків з цими довжинами утворити трикутник. Визначити, який це трикутник: гострокутний, тупокутний чи прямокутний.