Урок "Поліваріантне розгалуження"

Про матеріал

Тема: Поліваріантне розгалуження

Мета:

  • навчальна: сформувати уявлення про повну та скорочену форми оператора вибору; сформувати вміння складати алгоритми з поліваріантними розгалуженнями для розв'язування задач;
  • розвивальна: розвивати логічне мислення та креативність;
  • виховна: виховувати інформаційну культуру, дбайливе ставлення до комп'ютерної техніки.

Тип уроку: урок засвоєння нових знань, формування вмінь.

Обладнання: комп'ютери, презентація, середовище програмування Lazarus

Перегляд файлу

 

8 клас Урок 45      Дата__________________________

Тема: Поліваріантне розгалуження

Мета:

  • навчальна: сформувати уявлення про повну та скорочену форми оператора вибору; сформувати вміння складати алгоритми з поліваріантними розгалуженнями для розв'язування задач;
  • розвивальна: розвивати логічне мислення та креативність;
  • виховна: виховувати інформаційну культуру, дбайливе ставлення до комп’ютерної техніки.

Тип уроку: урок засвоєння нових знань, формування вмінь.

Обладнання: комп'ютери, презентація, середовище програмування Lazarus

 

Хід уроку.

  1. Організаційний момент
  2. Інструктаж з БЖД
  3. Повторення
    1. Обчисліть значення логічних виразів для X=5, Y=10

а) not (X<=Y)    (False)

б) (X<>Y)or not (X-1=Y)  (True)

2. Запишіть за допомогою умовного оператора виконання таких дій:

а) якщо x>10, то значення x замінити його абсолютною величиною;

б) менше з двох чисел x та y замінити нулем

в) присвоїти змінній x значення 0, якщо її початкове значення належало відрізку [0; 2];

г) якщо значення змінної x від’ємне, то залишити його без змін, у протилежному випадку зробити його таким, як і значення y.

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

Розробіть проект Мішень, у якому за введеними в текстові поля дійсними числами х та у у вікні повідомлення буде виведено повідомлення «Вітаємо! Влучний постріл!», якщо точка з координатами (х; у) належить заштрихованій області, та повідомлення «Шкода, не влучив!» — в іншому разі.

Розміщення компонентів на формі:

Текст процедури

procedure TForm1.Button1Click(Sender: TObject);

var x,y:Real;

begin

  x:=StrToFloat(Edit1.Text);

  y:=StrToFloat(Edit2.Text);

  if (x>=-2)and(x<=2)and(y>=-2)and(y<=2)

  then ShowMessage('Вітаємо! Влучний постріл!')

  else ShowMessage('Шкода, не влучив!');

end;  

 

  1. Вивчення нового матеріалу

У багатьох випадках, коли доводиться використовувати декілька вказівок розгалуження, вкладених одна в одну, краще замінити їх оператором вибору.

Оператор вибору Case дозволяє вибрати один із декількох операторів залежно від значення деякого виразу. Загальний вигляд оператора вибору:

Case <Селектор> of

<список міток 1>: <оператор1>;

<список міток N>: <onepaтopN>;

end;

<Селектор> — вираз, значення якого буде перевірятися; <список міток>  — деякий набір можливих значень виразу.

Селектор — змінна або вираз тільки порядкового типу (цілого, символьного тощо).

Список міток можна задавати у вигляді окремого значення, переліку значень (2, 4, 12) або у вигляді діапазону значень (5..11).

Виконання оператора Case починається з обчислення значення селектора. Далі виконується оператор, одна з міток якого збігається зі значенням селектора. Оператор може бути як простим, так і складеним. Після виконання цього оператора керування передається оператору, записаному після службового слова end. Тому може бути виконана тільки одна з гілок оператора вибору.

Гілки оператора Case будуть перебиратися послідовно, до першого збігу значення однієї з міток зі значенням <Селектор>. Якщо значення <Селектор> не дорівнює жодному зі значень міток, жодну з гілок виконано не буде.

Визначити, чи є одноцифрове число X простим чи складеним.

Case X of

1: ShowMessage ('Це — 1');

2, 3, 5, 7: ShowMessage ('Це — просте число');

4, 6, 8, 9: ShowMessage ('Це — складене число');

end;

Якщо є дії, які потрібно виконати у випадку, коли значення <Селектор> не збігається з жодним зі значень міток, то використовують
оператор Case у повній формі:

Case <Селектор> of

<список міток 1>: соператор 1>;

<список міток N-1>: <оператор N-1>;

Else <оператор N>;

end;

При використанні повної форми запису оператора у випадку, коли значення <Селектор> не збігається з жодним зі значень міток, буде виконано групу операторів, розташовану в гілці Else. В операторі Case перед ключовим словом Else ставиться символ «;».

Вибрати словесну оцінку залежно від кількості балів N за допомогою оператора Case:

Case N of

4..6: ShowMessage ('Ваша оцінка — задовільно');

7..9: ShowMessage ('Ваша оцінка — добре');

10..12: ShowMessage ('Ваша оцінка — відмінно');

Else ShowMessage ('Вам доведеться виконати тест ще раз');
end;

 

  1. Закріплення набутих знань

Вправа 1.

Доповніть таблицю виконання оператора Case для різних початкових значень А.

Фрагмент програмного коду

Початкове значення A

Значення А після виконання оператора Case

Case A mod 10 of
0..3: A := A * 2;

3..5: A := A + 10;

6..9: A := A * 10;
end;

13

 

40

 

88

 

11

 

26

 

Вправа 2

В яких операторах допущені помилки?

А) If a mod 2 =0 Then a := a div 2 Else a := a*2;

 Б) Case Х mod 2;

         0 : ShowMessage ('Парне');

         1 : ShowMessage ('Непарне');

         end;

 В) If a>5 Then a := True;

 Г) If a>5 Then a := 0; Else a := 10;

  1. Робота з комп’ютером. Повторення правил БЖД

Вправа 3.

Розгляньте фрагмент програми для визначення пори року за номером місяця. Змініть програму для визначення пори року з використанням команди вибору:

If (N = 12) or (N = 1) or (N = 2) then S := 'зима'

Else If (N >= 3) and (N <= 5) then S := 'весна'

Else If (N >= 6) and (N <= 8) then S := 'літо'

Else If (N >= 9) and (N <= 11) then S := 'осінь'

Else ShowMessage ('Такого номера місяця немає');

 

Пропонований фрагмент процедури:

Case N of

12, 1, 2: S:= 'зима';

3..5: S := 'весна';

6..8: S := 'літо';

9..11: S := 'осінь';

Else ShowMessage ('Такого номера місяця немає');

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

  1.       Підсумок уроку

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

Опрацювати п. 37

Вправа 37

Створити проект для розв’язання задачі.

Касир продає квитки на автобус, який курсує за маршрутом від міста А до міста В. Ціна квитка залежить від відстані, на яку потрібно їхати пасажиру:

X =

Скільки коштуватимуть N квитків до населеного пункту, відстань до якого вводиться з клавіатури?

1) Створіть новий проект. Змініть заголовок форми на «Касир» (властивість Caption).

2) Можливий інтерфейс програми наведено на рисунку.

Розташуйте текстові поля для введення значень відстані та кількості квитків.

Помістіть на форму елементи керування Label та змініть заголовки написів.

3) Додайте на форму командну кнопку Загальна сума. Створіть процедуру обробки для командної кнопки Button1.

procedure TForml.ButtonlClick(Sender: TObject);

4) Опишіть необхідні змінні. Позначимо R — відстань, X — ціна квитка на задану відстань, N — кількість квитків, V — загальна вартість квитків.

var X, V: Double; R, N: Integer;

5) Запишіть код процедури обробки події OnClick:

 

begin

R ;= StrToInt(Edit1 Text);

N := StrToInt(Edit2.Text);

Case R of

1..50: X := 5;

51 ..100: X := 15;

101..150: X := 25;

Else X := 35;

end;

V := X*N;

ShowMessage ('Вартість квитків ' + FloatToStr(V) +' грн');

end;

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

 

 

 

docx
Додав(-ла)
Каменєва Ірина
Додано
13 квітня 2018
Переглядів
3038
Оцінка розробки
Відгуки відсутні
Безкоштовний сертифікат
про публікацію авторської розробки
Щоб отримати, додайте розробку

Додати розробку