Урок по информатике "команда ветвления". Конспект урока по информатике "операторы ветвления" Ветвление в информатике

Муниципальное бюджетное общеобразовательное учреждение

Краснополянская средняя общеобразовательная школа №32

Песчанокопского района Ростовской области

Конспект урока по информатике в 9 классе
Ветвление

подготовила

учитель информатики

Михайлова Наталья Валерьевна

Цели урока:

    ввести понятия разветвленного алгоритма (полная, неполная форма)

    научиться изображать разветвляющиеся алгоритмы в виде блок схемы.

Задачи:

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

    Развивающие: способствовать развитию логического мышления, внимания; развитие познавательного интереса к предмету.

    Воспитательные: развитие умения связывать изучение нового материала с уже известными фактами; воспитание самостоятельности и умения работать в группах, в паре и самостоятельно.

Тип урока: урок получения новых знаний.

Вид урока: комбинированный.

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

Ход урока

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

Здравствуйте ребята!

Утром солнышко проснулось,
Потянулось, улыбнулось
И отправилось гулять
Тьму ночную прогонять….

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

Фронтальный опрос:

    Дайте определение алгоритму;

    Перечислите свойства алгоритма;

    Назовите способы записи алгоритмов;

    Какие алгоритмические конструкции вы знаете?

    Какой алгоритм называется линейным?

    Как изобразить блок-схему линейного алгоритма?

3. Формирование новых знаний

Вступительное слово учителя: С овершая определенные действия, мы выполняем какой-либо алгоритм.
Приведите, пожалуйста, примеры, из повседневной жизни, относящиеся к линейным алгоритмам. (Ученики приводят примеры линейных алгоритмов)
К сожалению, в жизни линейные алгоритмы встречаются довольно редко. Всегда появляются какие-нибудь
условия , которые изменяют алгоритм.
Например : Утром, собираясь в школу, мы обязательно посмотрим в окно: если идет дождь, то берем с собой зонт… (Ребята продолжают приводить примеры). Такие условия встречаются в нашей жизни довольно часто.


Вспомним сказку: "На развилине путей-дорог лежит Вещий камень, а на нём надпись: «Направо пойдёшь коня потеряешь , себя спасёшь; налево пойдёшь – себя потеряешь , коня спасёшь; прямо пойдёшь ...

Таким образом, появляется новый вид алгоритма.
– Как бы вы его назвали?

Попробуйте дать ему определение. (Разветвляющийся алгоритм – это алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий)
– Ниже приведены формы ветвлений. Чем они отличаются? Как бы вы их назвали?

А теперь попробуйте сформулировать тему и цели нашего урока:

Цель урока:

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

    научиться изображать разветвляющиеся алгоритмы в виде блок схем.

Полная форма ветвления

IF условие then действие 1 else действие 2( Если условие то действие 1 иначе действие

Неполная форма

IF условие then действие 1

Примеры использования разветвляющихся алгоритмов в виде блок-схем:

Если ласточки летают низко, то будет дождь, иначе дождя не будет.

Если погода будет хорошая, то перед тем, как делать уроки, покатаюсь на лыжах.

IV. Закрепление изученного материала

Задание №1

Вы отправляетесь в кино. Подойдя к кинотеатру, вы обнаруживаете, что сегодня идут два фильма: новая серия «Гарри Поттера» и новый боевик с Сильвестром Сталлоне. Если есть билеты на первый, то пойдете смотреть его, иначе будете смотреть боевик.

Задание2

2

Попробуем написать программу на языке БЕЙСИК

10 REM

20 INPUT x

30 IF x<0 THEN y=8+x ELSE y=4*x+10

40 PRINT y

50 END

Практическая работа

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

Задачи:

Задача 1. Даны два числа. Большее число возвести в квадрат.

Задача 2 Даны два числа. Большее число утроить, меньшее возвести в квадрат

Задача 3. Найти сумму между квадратом большего и кубом меньшего из двух чисел.

Задача 4. Положительное число увеличить на пять.

Задача 5. У= х 5 +1 х >10

Х 3 х <10

4. Подведение итогов урока

Вся наша жизнь – это алгоритм сложной «ветвящейся» структуры и надо стремиться к тому, чтобы каждое наше действие было обдуманным и приводило к правильному, достойному результату!

5. Рефлексия

Каков же результат нашего урока?
Выполните алгоритм: Если понравился урок, то поднимите красный смайлик, иначе синий смайлик.

Учитель: Какая это алгоритмическая структура? Какое ветвление вы сейчас выполнили?

6. Д/з п4.2.2, стр 114

Список использованной литературы

    Н.Г.Угрнинович «Информатика и ИКТ 9», базовый курс – Москва, БИНОМ, 2012.

    А.А.Чернов «Конспекты уроков по информатике в 9-11 кл», Волгоград, Учитель, 2006.


Разветвляющий алгоритм – это алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий.

Во многих случаях требуется, чтобы при одних условиях выполнялась одна последовательность действий, а при других - другая.

Вся программа состоит из команд (операторов). Команды бывают простые и составные (команды, внутри которых встречаются другие команды). Составные команды часто называют управляющими конструкциями. Этим подчеркивается то, что эти операторы управляют дальнейшим ходом программы.

Оператор ветвления на Паскале (условный оператор)

Чтобы вычисления могли разветвляться по нескольким направлениям, служит конструкция

IF < УСЛОВИЕ> THEN < ОПЕРАТОР 1> ELSE <ОПЕРАТОР 2>Если условие справедливо (ИСТИНА), то выполняются <оператор 1> (стоящий между THEN и ELSE ), а <оператор 2> (стоящий после ELSE ) будет пропущен. Если условие не справедливо (ЛОЖЬ), то <оператор 1> игнорируются и выполняются <оператор 2>.

IF - если, THEN - то, ELSE - иначе.

Неполная форма оператора выглядит следующим образом:

IF <УСЛОВИЕ> THEN <ОПЕРАТОР>

Если условие справедливо , то программа выполняет тот оператор, который стоит после ключевого слова THEN и дальше руководствуется обычным порядком действий. Если условие не справедливо , то оператор, стоящий после THEN не выполняется , и программа сразу переходит к обычному порядку действий. Конструкция IF...THEN позволяет в зависимости от справедливости условия либо выполнить оператор, либо пропустить этот оператор. Условия - в них используются следующие операторы сравнения :

Справа и слева от знака сравнения должны стоять величины, относящиеся к одному типу. В результате сравнения получается логическая величина, имеющее значение ИСТИНА (TRUE) или ЛОЖЬ (FALSE).

Пример: 5<7 - ИСТИНА; 8=12 -ЛОЖЬ (проверяем равно ли 8 12, именно проверяем, а не утверждаем, что 8=12 );

При составлении условия можно использовать логические операции: and – логическое умножение, or – логическое сложение, not – отрицание. IF (a<0) and (b<0) THEN …

Пример: Решение квадратного уравнения. Решение квадратного уравнения зависит от значения дискриминанта.

VAR a, b, c, d,x, x1,x2: REAL;

WRITELN ("vvedi a b c");

IF d<0 THEN WRITELN ("net") ELSE

IF d=0 THEN BEGIN

x:=-b/(2*a); WRITELN ("koren",x)

x1:=(-b-SQRT(d))/(2*a);

x2:=(-b+SQRT(d))/(2*a);

WRITELN ("korni",x1, x2);

16 Алгоритмическая структура «цикл». Команда повторения.

Лучшее качества компьютеров проявляются не тогда, когда они рассчитывают значения сложных выражений, а когда многократно, с незначительными изменениями, повторяют сравнительно простые операции. Даже очень простые расчеты могут поставить человека в тупик, если их надо повторить тысячи раз, а повторять операции миллионы раз человек совершенно не способен.

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

Циклический алгоритм - описание действий, которые должны повторяться указанное число раз или пока не выполнено заданное условие.

Перечень повторяющихся действий называют телом цикла.

В субботу вечером вы смотрите телевизор. Время от времени поглядываете на часы и если время меньше полуночи, то продолжаете смотреть телевизор, если это не так, то вы прекращаете просмотр телепередач.

Циклы такого вида называют - циклы с предусловием .

На языке Паскаль они записываются следующим образом:

WHILE условие DO оператор; В этом цикле проверяется условие и если оно выполняется (ИСТИНА), то выполняется тело цикла, затем условие проверяется снова... и так до тех пор пока условие истинно. Если операторов несколько, то заключаем их в begin-end.Пример: Вывести все натуральные числа меньше данного.

a:=0; chislo:=10; WHILE a

WRITELN (a); a:=a+1; END;

Стоит обратить внимание на то, что цикл может быть не выполнен ни разу (если условие первоначально не истинно, например, a =5, а chislo =4). И наоборот, если условие будет истинно при любых значениях переменный, то цикл будет выполнятся бесконечное число раз (произойдет зацикливание ).

Вам надо поточить все карандаши в коробке. Вы точите один карандаш и откладываете его в сторону. Затем проверяете, остались ли карандаши в коробке. Если условие ложно, то снова выполняется действие "заточить карандаш". Как только условие становится истинным, то цикл прекращается.

Циклы такого вида называют - циклы с постусловием .

REPEAT оператор;

UNTIL условие;

Этот цикл отличается от предыдущего только тем, что он выполняется до тех пор пока условие не истинно (т.е. совсем наоборот). Циклы такого рода отличаются тем, что хоть один раз, но тело цикла будет выполнено вне зависимости от условия. Условие проверяется после первого выполнения тела цикла.

Например, на уроке физкультуры вы должны пробежать некоторое количество кругов вокруг стадиона.

Такие циклы называются - циклы со счетчиком .

FOR Счетчик:= НачЗнач TO КонЗначDO тело цикла; По умолчанию шаг цикла равен 1, т.е. каждый раз после прохождения тела цикла счетчик увеличивается на единицу.

Убывающий цикл:

FOR Счетчик:= НачЗначDOWNTO КонЗначDO тело цикла;

шаг цикла равен -1.

Пример: Вывести на экран все числа от 1 до 100. Для этого можно было бы написать следующую программу:

WRITELN (‘1’);

WRITELN (‘2’);

WRITELN (‘3’);

WRITELN (‘99’);

WRITELN (‘100’);

Всего каких-то 102 строчки;-). Хотя эту же программу можно написать намного короче:

FOR i:=1 TO 100 DO WRITELN (i);

Ветвление - это алгоритмическая конструкция, в которой в зависимости от условия выполняется та или иная последовательность действий.

Структура алгоритма, содержащая ветвление, называется разветвляющейся . Эта структура обеспечивает выбор между двумя альтернативами. Для определения направления, в котором пойдёт дальнейшее выполнение, делается проверка условия. Каждый из путей ведёт к общей точке слияния, так что выполнение алгоритма будет продолжаться независимо от того, какой путь был выбран.

В блок-схеме условие ветвления изображается в ромбе, из которого обязательно выходят ДВЕ стрелки – первая (стрелка «Да») указывает на команды, которые будут выполняться в случае, если условие соблюдено; вторая (стрелка «Нет») – на команды, которые будут выполнены, если условие не соблюдено.

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

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

ЕСЛИ <условие выбора > ТО <команды, выполняемые при соблюдении условия> ИНАЧЕ <команды, выполняемые при несоблюдении условия>

Что такое "условие выбора "? Конечно, это логическое выражение, которое принимают значения true (правда) или false (ложь). Если оно является правдой, то выполняется главная ветвь, если ложь, то боковая ветвь.

Рассмотрим задачу из сборника задач по программированию Д.М. Златопольского:

Задача:

Алгоритм решения:

Pascal

Условный оператор

Полная форма

if <условие выбора > then <команды, выполняемые при соблюдении условия> else <команды, выполняемые при несоблюдении условия>

Внимание! Перед else никогда не ставят точку с запятой!

Неполная форма

if <условие выбора > then <команды, выполняемые при соблюдении условия>;

Операции отношения :

> больше, < меньше, >< не равно, >= больше или равно, <=меньше или равно, = равно.

Логические операции :

not - отрицание, and - конъюнкция (И), or -дизъюнкция (ИЛИ), xor - исключающее или

Задача на Pascal

Program Z;
var
x,y: real;
Begin
write("Введите x=");
read(x);
if x>0 then y:=sqr(sin(x))
else y:=1-sin(sqr(x));
writeln("y=",y:6:4);
End.

Си++

Условный оператор

Полная форма

if (<условие выбора >) <команды, выполняемые при соблюдении условия>; else <команды, выполняемые при несоблюдении условия>

Неполная форма

if (<условие выбора >) <команды, выполняемые при соблюдении условия>;

Операции отношения :

> больше, < меньше, != не равно, >= больше или равно, <=меньше или равно, == равно.

Логические операции :

Отрицание, && - конъюнкция (И), || -дизъюнкция (ИЛИ)

Задача на Си++

#include
#include
#include
using namespace std;
int main(){
float x,y;
cout << "Vvedite x=\n";
cin >> x;
if (x>0) y=pow(sin(x),2); else y=1-sin(pow(x,2));
cout << "y =" << y ;
system("pause");
return 0;
}

Как мы уже говорили, любой алгоритм можно составить из нескольких базовых структур. Простейшей из них является линейная (следование). В ней команды выполняются однократно в той последовательности, как они записаны. Однако далеко не всегда для решения задачи последовательность действий одна и та же при любых исходных данных. Если на каком-то этапе исполнитель должен выбирать один вариант из нескольких, в алгоритме используют ветвление.

В алгоритме разветвленной структуры (ветвлении) в зависимости от истинности или ложности некоторого условия выбирается одна из двух серий команд.

Пример программы разветвленной структуры

Блок-схема

Программа на языке Pascal


program choice;

var a, b, c, d: real ;

begin

readln (a, b, c);

d := b * b - 4 * a * c;

if d < 0

then writeln ("корней нет")

else writeln("корни есть");

end.

Обратите внимание, что перед словами then и else точка с запятой не ставится - они считаются частями одного условного оператора if...then...else.

В том случае, если при ложности условия никаких действий не выполняется, на блок-схеме на стрелке «НЕТ» не чертят никаких блоков, а в записи условного оператора пропускают «else».

Если серия состоит более чем из одной команды, ее необходимо заключить в операторные скобки begin...end.

Например:

if x > 0

then begin

Y:= sqrt(x);

Z:= z + y;

end

else z:= z + x;

Если в программе есть ветвление, нужно...

    Определить, какие существуют варианты действий и сколько их всего. Количество условных операторов будет на один меньше, чем число вариантов.

    Выяснить, при каких условиях должен выполняться каждый из вариантов.

    Если вариантов больше двух, выбрать последовательность проверки условий. При необходимости построить блок-схему.

    Записать алгоритм на языке программирования.

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

Операции сравнения

При записи условий в языке Pascal можно использовать следующие операции сравнения:

Операция

Обозначение

Пример записи

Равно?

d = 0

Больше?

x + y > 100

Меньше?

z < 5 * x

Больше либо равно?

sin(a) >= 0.5

Меньше либо равно?

v <= 60

Не равно?

y <> 0

Результатом операции сравнения всегда будет логическое значение - либо false (ложь), либо true (истина).

Логические операции

Нередко условие, требующее проверки, нельзя выразить с помощью единственного сравнения. Тогда используют составные условия, образующиеся с помощью логических операций. В языке программирования Pascal их три (в некоторых реализациях - четыре):

Операция

Обозначение

Результат

Пример записи

«И»
(конъюнкция)

«истина», если истинны оба операнда (и первый, и второй)

(x > -2) and (x < 2)

«Или»

(дизъюнкция)

«истина», если истинен хотя бы один операнд (или первый, или второй)

(x < -2) or (x > 2)

«Не»

(инверсия)

«истина», если операнд ложен

not (a > b)

Задания

1. Перечертите в тетрадь условные обозначения элементов алгоритма на блок-схемах (какими фигурами обозначаются: начало и конец алгоритма, ввод и вывод данных, обработка, проверка условия).

2. Определите значение следующего выражения при x=1, y=2:

а) (x >= 0) or (y * y <> 4)

б) (x * y <> 0) and (x > y)

в) (not(x * y > 0))and (y > x)

а) (x >= 0) and (y * y <> 4)

б) (x * y <> 0) or (x < y)

в) (not(x * y < 0))or (y < x)

3. Запишите по правилам Pascal следующие выражения:

а) x больше 2 и z меньше -3;

б) d меньше либо равно 0 или w больше d;

в) -10 ≤ z < 0.

а) a меньше 8 или b больше -10;

б) s больше либо равно k и k меньше 0;

в) 0 < y ≤ 100.

4. Составьте на языке Pascal программу, определяющую...

Какое из двух расстояний (S1 или S2) больше при условии, что первое из них вводится в метрах, а второе - в саженях.

Для справки:

1 сажень = 2,134 м

Какой из двух мешков тяжелее при условии, что масса первого из них (m1) вводится в килограммах, а второго (m2) - в пудах.

Для справки:

1 пуд = 16,38 кг