Програмування алгоритмів, що розгалужуються умовний оператор. Програмування розгалужених алгоритмів. Умовна функція if

Тема урока : Програмування алгоритмів, що розгалужуються. Умовний оператор.

Підручник: Босова Л. Л. Інформатика: підручник для 8 класу - М.: БИНОМ. Лабораторія знань, 2014. - 160 с. : Ил.

Тип уроку: урок вивчення нового матеріалу.

Мета уроку :

    навчальна : Організувати діяльність учнів по ознайомленню з синтаксисом умовного оператора (оператораif); створити умови для формування в учнів уміння використовувати операторifпри написанні програм;

    розвиваюча : Сприяти підвищенню інтересу до предмета; сприяти розвитку алгоритмічного мислення у учнів; сприяти розвитку логічного мислення, пізнавального інтересу, пам'яті учнів;

    виховує : Сприяти формуванню самостійності при вирішенні завдань; сприяти згуртуванню колективу, формуванню поважного ставлення один до одного.

Формуються універсальні навчальні дії (УУД) :

    особистісні УУД :

    1. фантазія і уява при виконанні навчальних дій;

      бажання виконувати навчальні дії.

    Пізнавальні УУД :

    1. логічні дії та операції;

      створення і перетворення моделей і схем для розв'язання задач.

    комунікативні УУД :

    1. формулювання власної думки і позиції.

    регулятивні УУД :

    1. планування своїх дій відповідно до поставленим завданням і умовами її реалізації.

устаткування : персональний комп'ютер(ПК), мультимедійний проектор, екран.

програмні засоби : Презентація «Програмування алгоритмів, що розгалужуються. Умовний оператор ».

план уроку

Хід уроку.

1. Організаційний момент

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

Чи включаються в діловий ритм уроку.

2. Актуалізація знань

Привіт, хлопці! Сьогодні ми переходимо до вивчення синтаксису умовного оператора в мовіPascal.

Запишіть сьогоднішню дату і тему сьогоднішнього уроку: «Програмування алгоритмів, що розгалужуються. Умовний оператор ».

Тепер повторимо матеріал з розділу «Алгоритмізація» і попередніх занять:

Яку алгоритмічну конструкцію називають розгалуженням;

Які форми розгалуження ви знаєте;

Зобразіть блок-схеми повної та скороченої форм розгалуження;

як записуються логічні функціїІ, АБО, НЕ в мовіPascal.

(Відповідають на питання)

Розгалуження - алгоритмічна конструкція, в якій в залежності від результату перевірки умови ( «так» або «ні») передбачений вибір однієї з двох послідовностей дій (гілок).

Існують повна і скорочена форми розгалуження.

Блок-схеми:

AND, OR, NOTвідповідно.

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

А тепер розглянемо, який синтаксис мають оператори розгалуження в мовіPascal. Для початку я пропоную вам заготовити таблицю з двох колонок. Колонки таблиці назвіть «Повна форма умовного оператора» і «Скорочена форма умовного оператора». Тепер до відповідних колонки занесіть блок-схеми повної та скороченої форм розгалуження, які зображені на дошці.

нижче запишемо загальний виглядповної та скороченої форм умовного оператора.

Повна форма має наступний синтаксис:

if<условие>

then<оператор 1>

else<оператор 2>;

ifthen, Після якого записується оператор, який виконається в разі істинності умови. Потім записується службове словоelse, Після якого записується оператор, який виконається в тому випадку, якщо умова виявиться помилковим.

Відзначте в зошитах, що перед службовим словомelseзнак «;» не ставиться.

Коротка форма умовного оператора має наступний синтаксис:

if<условие>

then<оператор 1>;

Спочатку записується службове словоif, Потім - умова, від істинності якого залежить виконання тієї чи іншої гілки умовного оператора. Після умови записується службове словоthen, Після якого записується оператор, який виконається в разі істинності умови.

Зверніть увагу, що якщо в результаті перевірки умова виявиться помилковим, то умовний операторв короткій формі просто буде пропущено, і програма перейде до виконання наступних за ним операторів. Для повної форми умовного оператора таке твердження не вірно - він виконається завжди (буде виконаний оператор однієї з гілок умовного оператора).

Також відзначте, що умова в умовному операторі - це просте (записане за допомогою операцій відносини) або складне (записане за допомогою логічних операцій) Логічне вираз.

(Складають таблицю)

if <условие>

then <оператор 1>

else <оператор 2>;

if <условие>

then <оператор 1>;

передelseзнак «;» не ставиться!

(Записують в зошитах)

Умова в умовному операторі - це просте (записане за допомогою операцій відносини) або складне (записане за допомогою логічних операцій) логічне вираз.

4. Закріплення вивченого

Розглянемо з вами таку задачу (запишіть її умова в своїх зошитах): користувач вводить три різних числа, Серед яких необхідно знайти мінімальне і вивести його на екран.

Давайте спробуємо змінити минулий алгоритм для вирішення цього завдання так, щоб застосувати цикл з умовою поста. Поки я буду набирати завдання в редакторі, записуйте її рішення у себе в зошиті. [Спільно з учнями вирішую завдання на комп'ютері в IDE, попутно рішення проектується на екран ].

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

1) Скільки змінних нам необхідно описати?

2) Як послідовно знайти мінімальний елемент серед відомих елементів?

Розглянемо з вами наступний фрагмент коду:

a: = 11;

b: = a div 3;

a: = a-b;

if a * b mod 2 = 0

then writeln (a * b)

else writeln (b-a);

Якими будуть значення змінних a і b після виконання цієї послідовності операторів? Що буде виведено на екран?

А тепер пересідайте за комп'ютери і виконайте наступні завдання самостійно.

1) Знайти значення функції y (x) і вивести його на екран з точністю до тисячних:. значенняxвводиться з клавіатури.

2) Написати програму, що визначає, чи належить точка A (x, y) Зафарбованою області, в тому числі і кордоні області:

Записують умова в зошитах.

Беруть участь в обговоренні завдання, записують рішення в своїх зошитах.

program minimum;

var

a, b, c, min: real;

begin

read (a, b, c);

min: = a;

if b< min then min:=b;

if c< min then min:=c;

writeln(" Min -> ", min);

end.

(Відповідають на питання)

a = 8, b = 3. На екран буде виведено число 24.

Самостійно оформляють рішення задач на комп'ютері.

Код програми до задачі 1:

programfunc;

var

x, y: real;

begin

read (x);

if x<= 5 then

y: = x * x * x + 2 * x * x-sqrt (5-x)

else

y: = sqrt ((x + 1) / (3 * x * x * x-x));

writeln ( "y (", x, ") =", y: 0: 3);

end.

Код програми до задачі 2:

program point;

var

x, y: real;

begin

readln (x, y);

if (x> = -1) and (x<= 3) and (y >= -2) and (y<= 4) then

writeln( "Точка належить області")

else

writeln( "Точка не належить області");

end.

5. Підведення підсумків

Отже, чому ви навчилися протягом сьогоднішнього заняття?

Що являє собою умова в умовному операторі?

Ми вивчили синтаксис повної та скороченої форми умовного оператора.

Просте або складне логічне вираз.

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

П. 3.5.

завдання:

1) Дано три відрізка довжиною a, b, c. Перевірити, чи існує трикутник з такими сторонами. Якщо так, то вивести на екран повідомлення «Трикутник існує!», Знайти його площу і вивести її на наступному рядку; якщо немає, то вивести на екран повідомлення «Трикутника не існує».

2) Завдання № 14 (підручник 2012, стор. 205)

Поле шахівниці визначається парою натуральних чисел, кожне з яких не перевищує 8. Напишіть програму, яка по введеним координатам полів (k, p) І (m, n) Визначає, чи є ці поля полями одного кольору.

Приклад вхідних даних

Приклад вихідних даних

2 2

3 3

Поля одного кольору

2 3

3 3

Поля різного кольору

2 7

5 4

Поля одного кольору

Записують в щоденниках д / з.

розгалужуютьсяназивається алгоритм, в якому послідовність і кількість виконуваних команд залежить від виконання або невиконання деяких умов. У розгалужуються алгоритми використовуються команди розгалуженняі вибору з великої кількості варіантів. Графічне зображення команд розгалуження представлено на рис.3.1.

Мал.3.1 Команди розгалуження: а) - в повній формі; б), в) - в сокращенной- формі

Для програмування розгалужень використовується оператор if, А для програмування вибору - оператори switchі break.

3.2 Оператори управління розгалужуються обчислювальним процесом

3.2.1 Логічні вирази

логічний вираз(Умова) - вираз, який містить знаки операцій відносиниі / або знаки логічних операцій. Значним логічного виразу може бути тільки 1, якщо логічний вираз є ІСТИНА (true), або 0, якщо логічний вираз БРЕХНЯ (false).

операції відносиниє бінарними і позначаються наступним чином (наведені в порядку зменшення пріоритету):

< (Менше);

<= (менше або дорівнює);

> (Більше);

>= (більше чи рівно);

== (Так само);

!= (не дорівнює).

приклади: a = 8.1, d<>(W-c).

Логічні операції- це операції:

&& - логічне І (бінарна операція);

|| - логічне АБО (бінарна операція);

! - логічне НЕ (унарна операція).

Логічні операції мають більш низький пріоритет, ніж операції відносини. Результати виконання логічних операцій наведені в таблицях 3.1-3.3.

Таблиця 3.1 Табліца3.2 Таблиця 3.3

Наприклад, логічне вираз a> 3 && c<7 при a=5, c=6 будет иметь значение ИСТИНА, а при a=3, c=8 – ЛОЖЬ; логическое выражение a>3 || c<7 при a=5, c=6 будет иметь значение ИСТИНА, при a=2, c=6 – ЛОЖЬ; при a=7 логическое выражение!a>2 матиме значення БРЕХНЯ.

При складанні логічних виразів слід враховувати пріоритет виконання операцій.

Приклади запису логічних виразів наведено в таблиці 3.4.

Таблиця 3.4

Таблиця записи логічних виразів

Умова

логічний вираз

x> = a && x<=b

x b

або

x> = a && x<=b || x>= C && x<=d

Хоча б одне з чисел x, y позитивне

x> 0 || y> 0

Тільки одне з чисел x, y позитивне

(X> 0 &&! Y> 0) || (Y> 0 &&! X> 0)

Жодне з чисел x, y не є парним

x% 2! = 0 && y% 2! = 0

Точка (x, y) належить заштрихованої області

x> = 0 && x<=a && y>= 0 && y<=b/a*x


Загальний вигляд умовного оператора else Перед else знак «;» не ставиться. Повна форма умовного оператора: ifthenelse if then else Скорочена форма умовного оператора: ifthen if then Операції відносин Операції відносин Логічні операції Логічні операції Прості Складні Умови - логічні вираження!


> "); Readln (a, b); write (" Введіть x >> "); readln (x); if (x> = a) and (x = a) and (x" title = "(! LANG: умовний оператор program n_9; var x, a, b: real; begin writeln ("Определение принадлежности точки отрезку"); write ("Введите а, b>>"); readln (a, b); write ("Введите x>>"); readln (x); if (x>=a) and (x=a) and (x" class="link_thumb"> 4 !}Умовний оператор program n_9; var x, a, b: real; begin writeln ( "Визначення приналежності точки відрізку"); write ( "Введіть а, b >>"); readln (a, b); write ( "Введіть x >>"); readln (x); if (x> = a) and (x = a) and (x > "); Readln (a, b); write (" Введіть x >> "); readln (x); if (x> = a) and (x = a) and (x">> "); readln ( a, b); write ( "Введіть x >>"); readln (x); if (x> = a) and (x = a) and (x ">>"); readln (a, b); write ( "Введіть x >>"); readln (x); if (x> = a) and (x = a) and (x "title =" (! LANG: Умовний оператор program n_9; var x, a, b: real; begin writeln ("Определение принадлежности точки отрезку"); write ("Введите а, b>>"); readln (a, b); write ("Введите x>>"); readln (x); if (x>=a) and (x=a) and (x"> !}
> "); Readln (a, b); write (" Введіть x >> "); readln (x); if (x> = a) and (x = a) and (x" title = "(! LANG: умовний оператор program n_9; var x, a, b: real; begin writeln ("Определение принадлежности точки отрезку"); write ("Введите а, b>>"); readln (a, b); write ("Введите x>>"); readln (x); if (x>=a) and (x=a) and (x"> !}


> "); Readln (a, b, c); y: = a; if (b> y) then y: = b; if (c> y) then y: = c; writeln (" y = ", y ) end. "title =" (! LANG: Скорочена форма умовного оператора program n_10; var y, a, b, c: integer; begin writeln ("Нахождение наибольшей из трёх величин"); write ("Введите а, b, с>>"); readln (a, b, c); y:=a; if (b>y) then y:=b; if (c>y) then y:=c; writeln ("y=", y) end. " class="link_thumb"> 5 !}Скорочена форма умовного оператора program n_10; var y, a, b, c: integer; begin writeln ( "Знаходження найбільшою з трьох величин"); write ( "Введіть а, b, с >>"); readln (a, b, c); y: = a; if (b> y) then y: = b; if (c> y) then y: = c; writeln ( "y =", y) end. Y: = A B> Y Y: = B Y: = C C> Y ДаНет ДаНет > "); Readln (a, b, c); y: = a; if (b> y) then y: = b; if (c> y) then y: = c; writeln (" y = ", y ) end. ">>"); readln (a, b, c); y: = a; if (b> y) then y: = b; if (c> y) then y: = c; writeln ( " y = ", y) end. Y: = AB> YY: = BY: = CC> Y ДаНет ДаНет">> "); readln (a, b, c); y: = a; if (b> y) then y: = b; if (c> y) then y: = c; writeln ( "y =", y) end. "title =" (! LANG: Скорочена форма умовного оператора program n_10; var y, a, b , c: integer; begin writeln ("Нахождение наибольшей из трёх величин"); write ("Введите а, b, с>>"); readln (a, b, c); y:=a; if (b>y) then y:=b; if (c>y) then y:=c; writeln ("y=", y) end. "> !}
> "); Readln (a, b, c); y: = a; if (b> y) then y: = b; if (c> y) then y: = c; writeln (" y = ", y ) end. "title =" (! LANG: Скорочена форма умовного оператора program n_10; var y, a, b, c: integer; begin writeln ("Нахождение наибольшей из трёх величин"); write ("Введите а, b, с>>"); readln (a, b, c); y:=a; if (b>y) then y:=b; if (c>y) then y:=c; writeln ("y=", y) end. "> !}


Складовою оператор thenelse В умовному операторі і після then, і після else можна використовувати тільки один оператор. then else Якщо в умовному операторі після then або після else потрібно виконати декілька операторів, то використовують складовою оператор - конструкцію виду: begin end


0 і Ян Введіть коефіцієнти a, b, c d: = b * b-4 * a * c d 0 і Ян Введіть коефіцієнти a, b, c d: = b * b-4 * a * c d 7Блок-схема рішення КВУР Кінець Висновок «Коріння рівняння: х1 =», х1, «х2 =», х2 х1: = (- b + sqrt (d)) / 2 / ad> 0 і Ян Введіть коефіцієнти a, b, cd : = b * b-4 * a * cd 0 і Ян Введіть коефіцієнти a, b, cd: = b * b-4 * a * cd 0 і Ян Введіть коефіцієнти a, b, cd: = b * b-4 * a * cd 0 і Ян Введіть коефіцієнти a, b, cd: = b * b-4 * a * cd 0 і Ян Введіть коефіцієнти a, b, cd: = b * b-4 * a * cd title = "(! LANG: Блок-схема рішення КВУР Кінець Висновок «Коріння рівняння: х1 =», х1, «х2 =», х2 х1: = (- b + sqrt (d)) / 2 / ad> 0 і Ян Введіть коефіцієнти a, b , cd: = b * b-4 * a * cd


Begin x1: = (- b + sqrt (d)) / 2 / a; x2: = (- b-sqrt (d)) / 2 / a; writeln ("Корни уравнения:"); writeln ("x1=", x1:9:3); writeln ("x2=", x2:9:3) end; begin x1:=(-b+sqrt(d))/2/a; x2:=(-b-sqrt(d))/2/a; writeln ("Корни уравнения:"); writeln ("x1=", x1:9:3); writeln ("x2=", x2:9:3) end; begin x:=-b/2/a; writeln ("Корень уравнения x=", x:9:3) end; begin x:=-b/2/a; writeln ("Корень уравнения x=", x:9:3) end; program n_11; var a, b, c: real; var d: real; var x, x1, x2: real; begin writeln ("Решение квадратного уравнения"); write ("Введите коэффициенты a, b, c >>"); readln (a, b, c); d:=b*b-4*a*c; if d0 then end. !} > "); Readln (a, b, c); d: = b * b-4 * a * c; if d0 then end.">




> "); Readln (a, b); if a0 then begin x: = - b / a; writeln (" Корінь рівняння x = ", x: 9: 3) end else if b0 then wri" title = "(! LANG: Рішення лінійного рівняння program n_12; var a, b, x: real; begin writeln ("Решение линейного уравнения"); write ("Введите коэффициенты a, b>>"); readln (a, b); if a0 then begin x:=-b/a; writeln ("Корень уравнения x=", x:9:3) end else if b0 then wri" class="link_thumb"> 10 !}Рішення лінійного рівняння program n_12; var a, b, x: real; begin writeln ( "Рішення лінійного рівняння"); write ( "Введіть коефіцієнти a, b >>"); readln (a, b); if a0 then begin x: = - b / a; writeln ( "Корінь рівняння x =", x: 9: 3) end else if b0 then writeln ( "Корній немає") else writeln ( "x - будь-яке число"); end. Корній немає Список даних a, b, x - вещ a, b a0 x: = - b / a b0 Будь-яке число ні так ні > "); Readln (a, b); if a0 then begin x: = - b / a; writeln (" Корінь рівняння x = ", x: 9: 3) end else if b0 then wri">> "); readln (a, b); if a0 then begin x: = - b / a; writeln ( "Корінь рівняння x =", x: 9: 3) end else if b0 then writeln ( "Корній немає") else writeln ( " x - будь-яке число "); end. Корній немає Список даних a, b, x - вещ a, b a0 x: = - b / a b0 будь-яке число ні так ні">> "); readln (a, b); if a0 then begin x: = - b / a; writeln ( "Корінь рівняння x =", x: 9: 3) end else if b0 then wri "title =" (! LANG: Рішення лінійного рівняння program n_12; var a, b, x: real; begin writeln ("Решение линейного уравнения"); write ("Введите коэффициенты a, b>>"); readln (a, b); if a0 then begin x:=-b/a; writeln ("Корень уравнения x=", x:9:3) end else if b0 then wri"> !}
> "); Readln (a, b); if a0 then begin x: = - b / a; writeln (" Корінь рівняння x = ", x: 9: 3) end else if b0 then wri" title = "(! LANG: Рішення лінійного рівняння program n_12; var a, b, x: real; begin writeln ("Решение линейного уравнения"); write ("Введите коэффициенты a, b>>"); readln (a, b); if a0 then begin x:=-b/a; writeln ("Корень уравнения x=", x:9:3) end else if b0 then wri"> !}


Найголовніше При записи на мові Паскаль алгоритмів, що розгалужуються використовують умовний оператор: if then else Для запису неповних розгалужень використовується скорочений умовний оператор: if then Якщо при деякому умови потрібно виконати певну послідовних операторів, то їх об'єднують в один складений оператор, який має вигляд: begin end .


> 3, 4 Перша точк "title =" (! LANG: Запитання і завдання Як на мові Паскаль записується повне і неповне розгалуження? Чи є умовним оператором послідовність символів? А) if x = y then x: = 0; y: = 0 else write (z) в) if xb then d: = 2; if a1, 2 Координати 2-й точки >> 3, 4 Перша точк" class="link_thumb"> 12 !} Запитання і завдання Як на мові Паскаль записується повне і неповне розгалуження? Чи є умовним оператором послідовність символів? а) if x = y then x: = 0; y: = 0 else write (z) в) if xb then d: = 2; if a1, 2 Координати 2-й точки >> 3, 4 Перша точка ближче Приклад вхідних даннихПрімер вихідних даних a b c >> 1 2 1не існує a b c >> 2 2 2Равносторонній a b c >> Рівнобедрений a b c >> 3 4 5Разносторонній Дано три натуральних числа. Напишіть програму, яка визначить, чи існує трикутник з такими довжинами сторін. Якщо такий трикутник існує, то визначте його тип (рівносторонній, рівнобедрений, різносторонній). Є дані про кількість повних років трьох призерів спартакіади. Напишіть програму, що вибирає і виводить вік наймолодшого призера. Приклад вхідних даннихПрімер вихідних даних k, 1 >> - 1 5 xa, ya >> 1 2 © Точка лежить під прямий k, 1 >> - 1 5 xa, ya >> 1 10 Точка лежить над прямий k, 1 >> - 1 5 xa, ya >> 1 4 точка лежить на прямій Напишіть програму, яка визначить, чи лежить точка а (ха, ya): а) на прямій y = kx + 1, над нею або під нею; б) на окружності x 2 + y 2 = r 2, над нею або під нею. Приклади вхідних даних і відповідних їм вихідних даних розробіть самостійно. Приклад вхідних даннихПрімер вихідних даних x >> 5 y >> 6 x = 5 y = 6 x >> 6 y >> 5 x = 5 y = 6 Напишіть програму, яка виробляє обмін значень змінних x і y, якщо x більше y. Дан умовний оператор: If a5 then c: = 2 else c: = 3 Яке значення має змінна а, якщо в результаті виконання умовного оператора змінної з присвоюється значення 3? Приклад вхідних даннихПрімер вихідних даних -5y = - 1 0y = 0 5y = 1 Напишіть програму, яка обчислює значення функції: -1 при x 0 y = Складіть програму для вирішення завдання: Відомо, що 31 січня 2011 року припадає на понеділок. Які значення повинні бути присвоєні литерной змінної y в алгоритмі, який визначає день тижня для будь-якого числа (chislo) січня 2011 року? chislo: = chislo mod 7 якщо chislo = 3 то у: = "... якщо chislo = 4 то у: =" ... якщо chislo = 5 то у: = "... якщо chislo = 6 то у: =" ... якщо chislo = 0 то у: = "... якщо chislo = 1 то у: =" ... якщо chislo = 2 то у: = "... Приклад вхідних даннихПрімер вихідних даних Координати 1 - го поля >> 2 2 Координати 2 - го поля >> 3 3 поля одного кольору Координати 1 - го поля >> 2 3 Координати 2 - го поля >> 3 3 поля різного кольору Координати 1 - го поля >> 2 7 Координати 2 - го поля >> 5 4 поля одного кольору Поле шахівниці визначається парою натуральних чисел, кожне з яких не перевищує 8. Напишіть програму, яка по введеним координатам двох полів (k, l) і (m, n) визначає, чи є ці поля полями одного кольору. Напишіть програму, в якій користувачеві пропонується доповнити до 100 деяке ціле число а (а - випадкове число, менше 100). Відповідь користувача перевіряється і коментується. > 3, 4 Перша точк ">> 3, 4 Перша точка ближче Приклад вхідних даннихПрімер вихідних даних abc >> 1 2 © 1не існує abc >> 2 + 2 2Равносторонній abc >> 20 20 30Равнобедренний abc >> 3 4 5Разносторонній Дано три натуральних числа. Напишіть програму, яка визначить, чи існує трикутник з такими довжинами сторін. Якщо такий трикутник існує, то визначте його тип (рівносторонній, рівнобедрений, різносторонній). Є дані про кількість повних років трьох призерів спартакіади. Напишіть програму, що вибирає і виводить вік наймолодшого призера . Приклад вхідних даннихПрімер вихідних даних k, 1 >> - 1 5 xa, ya >> 1 2 © Точка лежить під прямий k, 1 >> - 1 5 xa, ya >> 1 10 Точка лежить над прямий k, 1 >> - 1 5 xa, ya >> 1 4 точка лежить на прямій Напишіть програму, яка визначить, чи лежить точка а (ха, ya): а) на прямій y = kx + 1, над нею або під нею; б) на окружності x 2 + y 2 = r 2, над нею або під нею. Приклади вхідних даних і відповідних їм вихідних даних розробіть самостійно. Приклад вхідних даннихПрімер вихідних даних x >> 5 y >> 6 x = 5 y = 6 x >> 6 y >> 5 x = 5 y = 6 Напишіть програму, яка виробляє обмін значень змінних x і y, якщо x більше y. Дан умовний оператор: If a5 then c: = 2 else c: = 3 Яке значення має змінна а, якщо в результаті виконання умовного оператора змінної з присвоюється значення 3? Приклад вхідних даннихПрімер вихідних даних -5y = - 1 0y = 0 5y = 1 Напишіть програму, яка обчислює значення функції: -1 при x 0 y = Складіть програму для вирішення завдання: Відомо, що 31 січня 2011 року припадає на понеділок. Які значення повинні бути присвоєні литерной змінної y в алгоритмі, який визначає день тижня для будь-якого числа (chislo) січня 2011 року? chislo: = chislo mod 7 якщо chislo = 3 то у: = "... якщо chislo = 4 то у: =" ... якщо chislo = 5 то у: = "... якщо chislo = 6 то у: =" ... якщо chislo = 0 то у: = "... якщо chislo = 1 то у: =" ... якщо chislo = 2 то у: = "... Приклад вхідних даннихПрімер вихідних даних Координати 1 - го поля >> 2 2 Координати 2 - го поля >> 3 3 поля одного кольору Координати 1 - го поля >> 2 3 Координати 2 - го поля >> 3 3 поля різного кольору Координати 1 - го поля >> 2 7 Координати 2 - го поля >> 5 4 поля одного кольору Поле шахівниці визначається парою натуральних чисел, кожне з яких не перевищує 8. Напишіть програму, яка по введеним координатам двох полів (k, l) і (m, n) визначає, чи є ці поля полями одного кольору. Напишіть програму, в якій користувачеві пропонується доповнити до 100 деякий ціле число а (а - випадкове число, менше 100). Відповідь користувача перевіряється і коментується. ">> 3, 4 Перша точк" title = "(! LANG: Запитання і завдання Як на мові Паскаль записується повне і неповне розгалуження? Чи є умовним оператором послідовність символів? А) if x = y then x : = 0; y: = 0 else write (z) в) if xb then d: = 2; if a1, 2 Координати 2-й точки >> 3, 4 Перша точк"> title="Запитання і завдання Як на мові Паскаль записується повне і неповне розгалуження? Чи є умовним оператором послідовність символів? а) if x = y then x: = 0; y: = 0 else write (z) в) if xb then d: = 2; if a1, 2 Координати 2-й точки >> 3, 4 Перша точк"> !}



Методична розробка уроку

Тема уроку: Програмування алгоритмів, що розгалужуються. умовний оператор

Ідея уроку:

Вивчення інформатики в школі дозволяє ототожнювати світ моделей і знаків і світ реальних завдань, знаходячи їх рішення.

Мета уроку:

Ознайомитися з розгалужуються алгоритмами і умовним оператором, які реалізують розгалужується алгоритм в мові програмування Паскаль

завдання:

    Навчання самостійної практичної діяльності.

    Вибір ефективних рішень.

    Розвиток навичок роботи в колективі.

    Формування навичок самоаналізу і самооцінки.

Плановані результати:

    Предметні

Познайомитися з розгалуженням, логічним оператором.

    метапредметние

    1. регулятивні:

    самостійно формулювати пізнавальну мету;

    планувати дії відповідно до обраної метою;

    прогнозувати результати своєї роботи;

    вміти спостерігати і аналізувати власну навчальну та пізнавальну діяльність і діяльність інших учнів в процесі само і взаимопроверки;

    оцінювати досягнутий результат.

    1. комунікативні:

    Здійснювати спільну діяльність в групі;

    Вміти будувати мовні висловлювання;

    Ставити запитання з метою отримання необхідної інформації.

2.3 Пізнавальні :

    складати математичні моделіпо реальних життєвих ситуацій;

    виділяти значиму для вирішення завдання і надлишкову інформацію;

    познайомитися з розгалужуються алгоритмом;

    вивчити запис разветвляющегося алгоритму словесну і за допомогою блок-схем;

    ознайомитися з умовним оператором, які реалізують розгалужується алгоритм;

    для закріплення результату учні повинні скласти алгоритми і умовні оператори з кількох завдань;

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

    особистісні:

    розвивати логічне мислення, вміння узагальнювати, конкретизувати;

    формування стійкої мотивації до самоосвіти і застосування отриманих навичок на практиці;

    формування уваги, уміння спостерігати і закріплювати знання;

    формування здатності зіставляти, знаходити відмінності і подібності.

технології навчання:

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

Використовувані на уроці засоби ІКТ:екран, комп'ютер.

Інформаційні ресурси:

    Підручник для 8 класу «Інформатика». Л.Л. Босова, А.Ю. Босова. - М ..: Біном, 2014;

    Навчальний посібник «Програмування та основи алгоритмізації». О.Г.. Аузяк, Ю.А. Богомолов, А.І. Маліков, Б.А. Старостін. - Казань: Изд-во КНІТУ- КАИ, 2013.

    Навчальний посібник Фаронова В.В. «Турбо Паскаль 7.0. Початковий курс ». - М .: ОМД Груп, 2013;

Технологічна картазаняття

дії вчителя

діяльність учнів

1-ий етап - Смислообраз

Сьогодні ми познайомимося з розгалужуються алгоритмами і умовним оператором, які реалізують розгалужується алгоритм.

Що таке алгоритм?

Якими способами запису алгоритмів користуються найчастіше?

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

При розробці програм найчастіше користуються словесно-формульним і блок-схемним способами.

Якими бувають алгоритми по типу обчислювального процесу?

За типом використовуваного обчислювального процесу алгоритми бувають лінійними (прямими), розгалужуються і циклічними.

розгалужуються алгоритмом описується обчислювальний процес, який реалізується по одному з декількох заздалегідь передбачених напрямків - гілок. Вибір конкретної галузі обчислення залежить від результатів перевірки виконання деякого логічного умови. Результатом перевірки є: "істина" (так) при виконанні умови, і "брехня" (немає), якщо одна з вимог.

Записують визначення разветвляющегося алгоритму

2-ий етап - операційно-діяльнісний

Приклад 1. Розробити алгоритм визначення функції

F (x) = 2 xпри x> 0 і

F (x) = х 2 при x<= 0.

Записують приклад 1 в зошиті.

словесний алгоритм даного завдання буде таким:

Перевіряється, змінна Х більше або менше нуля;

Якщо змінна Х більше нуля, то значення функціїF(x) = 2х;

Якщо змінна Х менше нуля, то значення функціїF(x) = Х 2.

Записують словесний алгоритм прикладу 1.

Розгалужується алгоритм представляється на блок-схемі блоком «Умова» у вигляді ромба, що має один вхід і як мінімум 2 виходи: «Так» при виконанні умови в блоці і «Ні» при невиконанні умови в блоці. Але виходів з умовного блоку може бути і кілька, розглянемо цей варіант пізніше.

Записують умовний блок

Немає да

Блок - схему разветвляющегося алгоритму для даного прикладу 1 представляє малюнок 1.

так / ні

Малюнок 1 - Розгалужуються алгоритм

Малюють в своїх зошитах блок-схему алгоритму прикладу 1.

У мові Паскаль розгалужується алгоритм реалізує умовний операторif. Формат запису оператораifнаступний:

If <условие> then <оператор>; - це неповна форма алгоритму з розгалуженням.

Приклад 2:

Ifx<5 thenwriteln(x);

Умова (в даному випадку x<5) – это любое выражение типа boolean.

Записують у зошити неповний умовний оператор

Малюнок 2 - Блок-схема неповної форми алгоритму з розгалуженням (Приклад 2)

Замальовують Блок-схемунеповної форми алгоритму з розгалуженням

Програмна реалізація прикладу 1:

Ifx>0 thenf:=2* xelsef:= x* x;

Змінимо трохи цю задачу:

Приклад 3: Якщо х<5, то вывести на экран х, иначе вывести текст “ x> = 5 ". В обох випадках х потрібно збільшити на 1.

Тут використовується розширений умовний оператор - повна форма розгалуження:

If … thenelse...; Перекладається так:

Якщо то. .. інакше ...;

Формат запису оператора:

If <условие> then <оператор-да> else <оператор-нет>;

Запам'ятайте: перед оператором else крапка з комою не ставиться!

Записують програмну реалізацію прикладу 1.

Записують змінене умову задачі (приклад 3) і розширений умовний оператор.

Записують розширений формат умовного оператора.

Записують цю умову, виділене жирним і!

Блок-схема прикладу 3:

так / ні

Малюнок 3 - Блок-схема прикладу 3

Замальовують блок-схему прикладу 3

Програмна реалізація прикладу 3 по блок-схемі на рис. 3:

If x<5 then writeln(x)
else writeln ( 'x> = 5');

x:= x+1;

Зверніть увагу, що операторelseкраще записувати під операторомthenяк написано вище, так зручніше читати програми і розбиратися в них.

Записують програмну реалізацію прикладу 3

Умовний оператор може мати кілька рівнів вкладеності. Розглянемо Приклад 4:

y(x) =

Записують Приклад 4 з декількома рівнями укладення

так ні так

немає

Малюнок 4 - Блок-схема прикладу 4

Замальовують блок-схему прикладу 4

Програмна реалізація прикладу 4 на мові Паскаль буде виглядати так:

If x = 0 then y: = 1 else if x> 0 then y: = x else y: = x * x;

Рівнів вкладеності може бути і більше.

Записують програмну реалізацію прикладу 4

3-ий етап - Оціночно -рефлексівний

Для закріплення матеріалу потрібно самостійно скласти блок-схеми і програми,cкомпілювати, запустити їх і отримати результати.

Напишемо програму для прикладу 4:

ProgramPrim 4;

Var x, y: real;

begin

Write ( 'Введіть значення х ’);

If x = 0 then y: = 1
else if x> 0 then y: = x
else y: = x * x;

Writeln ( 'x =', x, 'y =', y);

End.

У програмі спочатку оголошуються змінні х, у, потім вводиться значення х, потім умовним вкладеним оператором перевіряється значення х і в залежності від значення х привласнюється значення у. Відзначимо, що операторelseвідноситься до останнього операторуthen.

Після визначення у друкуються значення х і у. операторWriteln(‘ x=’, x,’ y=’, y); виконується в будь-якому випадку.

записують програмуPrim4 в зошиті і набирають програмуPrim 4 на комп'ютері.

Записують також зауваження по програмі.

Alt- F 9.

У разі успішної компіляції запускається на виконанняCtrl- F 9 для х = 3.

Відповідь: х = 3 у = 3.

Перевіряє, чи правильно учні набирають програму.

Приклад 5: Ввести три числа а,b, c. Якщо жодне з чисел не дорівнює нулю, то в зміннуsrзаписати середнє арифметичне трьох чисел.

Скласти блок-схему алгоритму і написати програму для прикладу 5.

Блок-схема алгоритму:

немає

Так

Програма на мові Паскаль:

Program Prim5;

var

a, b, c: integer;

sr: real;

begin

Writeln ( 'Введіть числа a, b, c ');

Read (a, b, c);

If (a<>0) and (b<>0) and (c<>0) then sr: = (a + b + c) / 3;

End.

Числа а, b, cвводяться з клавіатури через пропуск.

Учитель перевіряє правильність складання блок-схем, набору програм учнями і правильність відповіді.

Складають блок-схему і програму на комп'ютері за прикладом 5

Виправляють помилки компіляції, якщо вони є, потім запускають на виконання для набору чисел 5 8 11.

Відповідь: 8.

Якщо після виконання умови, тобто після оператораthen, Або після оператораelseпотрібно виконати декілька операторів, то ці кілька операторів полягають в складовою оператор, утворений операторамиbeginі end.

Приклад 6:

y(x) =

Програмна реалізація прикладу 6:

Ifx>0 thenbeginy:= x* x; x:= x+1; end

else y: = x;

Записують приклад 7 і його програмну реалізацію.

Приклад 7: Ввести три числа а,b, c. Визначити максимальне з них. Скласти блок-схему і написати програму. Блок-схема алгоритму:

да

немає

немає

Немає да

програма:

ProgramPrim 7;

Var a, b, c, m: integer;

begin

Writeln ( 'Введіть числа a, b, c ');

Read (a, b, c);

M: = a;

If b> m then m: = b;

If c> m then m: = c;

Writeln( 'Максимальне число =',m);

End.

Складають блок-схему і програму на комп'ютері за прикладом 7.

Після набору програми запускають компіляціюAlt- F9, при наявності помилок виправляють.

Після успішної компіляції запускають на виконанняCtrl- F9 для набору чисел 4 7 18.

Відповідь: 18.

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

Самоаналіз методичної розробки

Урок складається з трьох етапів.

смислоутворюючий етап . На цьому етапі вчитель створює умови для успішної роботи в групах, спонукає учнів до формулювання мети і завдань уроку, мотивує на подальшу роботу. Ті, що навчаються приймають, уточнюють цілі і завдання уроку.

    Спрямованість змісту уроку на формування особистісних, метапредметних і предметних планованих результатів освіти. Можливості уроку для формування універсальних навчальних дій.

Операційно-діяльнісний етап уроку . На даному етапі вчитель створює умови для вирішення поставлених завдань, організовує процес пізнання, комунікації, виявляє труднощі, надає допомогу і підтримку різними способами.

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

    Спрямованість змісту уроку на вирішення завдань духовно-морального розвитку та виховання особистості громадянина Росії, формування базових національних цінностей

Оціночно-рефлексивний етап уроку. На даному етапі організується підсумкове оцінювання (елементи проміжного оцінювання і самооцінювання органічно проводилися на протязі всього уроку) в рамках процедури рефлексії. Ті, що навчаються демонструють уміння самостійно складати блок-схеми алгоритмів і програм, успішно компілювати і виконувати, оцінювати результати своєї діяльності і діяльності однокласників.

Були застосовані пояснювально-ілюстративний, дослідний, проблемний методи.

Спрямованість змісту уроку на формування особистісних, метапредметних і предметних планованих результатів освіти. Можливості уроку для формування універсальних навчальних дій (УУД).

Ті, що навчаються демонструють уміння самостійної роботи в складанні блок-схем алгоритмів, складанні програм на мові Паскаль, компілювання програм і виправлення помилок компіляції при їх наявності, самостійного запуску програм на виконання і виправлення помилок виконання, а також вміння оцінювати результати своєї діяльності і діяльності своїх однокласників. Застосовані методи навчання: проектний, проблемний, дослідницький, метод вирішення практико-орієнтованих завдань, пошуковий, дискусійний, колективної творчої діяльності, комунікативний.

Спрямованість змісту уроку на вирішення завдань духовно-морального розвитку та виховання особистості громадянина Росії, формування базових національних цінностей.

Матеріали інформаційних уроків взагалі і даного уроку зокрема орієнтовані на становлення особистісних характеристик випускника ступені основної школи відповідно до вимог ФГОС, зокрема вміння впоратися з такими складними завданнями як програмування викликає почуття задоволення своєю працею, виховання гідності учня.

    Використання сучасних методіві технологій організації навчально-виховної роботи з учнями в процесі урочної та позаурочної діяльності (короткий опис цих методів або посилання на джерела)

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

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

    Включення в структуру і зміст уроку сучасних методів і прийомів, що стимулюють пізнавальну мотивацію учнів (короткий опис цих методів або посилання на джерела)

Включення в структуру і зміст уроку сучасних методів і прийомів, що стимулюють пізнавальну мотивацію учнів (короткий опис цих методів або посилання на джерела).

У структуру уроку включені наступні методи і прийоми, що стимулюють пізнавальну мотивацію учнів: створення проблемної ситуації, групова форма роботи, рішення практико-значущих для учнів завдань, проблемно-пошуковий метод.

(Сучасні освітні технології: навчальний посібник / За ред. Н.В. Бордовская. - М .: КНОРУС, 2011).

    Включення в структуру і зміст уроку сучасних методичних прийомів активного цілепокладання, груповий / спільної роботи, елементів проектної діяльності(Опис цих методів або посилання на джерела)

Включення в структуру і зміст уроку сучасних методичних прийомів активного цілепокладання, груповий / спільної роботи, елементів проектної діяльності (опис цих методів або посилання на джерела).

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

    Включення в структуру і зміст уроку сучасних методів оцінки, що дозволяють вимірювати метапредметние результати, формувати самооцінку в учнів (опис цих методів або посилання на джерела)

Включення в структуру і зміст уроку сучасних методів оцінки, що дозволяють вимірювати метапредметние результати, формувати самооцінку в учнів (опис цих методів або посилання на джерела).

Протягом всього уроку вчитель спостерігає за учнями, перевіряє правильність завдань, вказуючи на наявність помилок учням, учні оцінюють результати виконання завдань (самооцінка), результати виконання завдань іншими учнями (взаимооценка).

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

(Сучасна оцінка освітніх досягнень учнів / Под ред. І.В. Муштавінской. - СПб .: КАРО, 2015).

2021 wisemotors.ru. Як це працює. Залізо. Майнінг. Криптовалюта.