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

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

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

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

Блок-схема

Программа на языке 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 кг

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

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

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

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

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

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

Что такое "условие выбора "? Конечно, это логическое выражение, которое принимают значения 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;
}

Тема урока: «Операторы ветвления»

Цель урока: формирование навыков работы учащихся с оператором ветвления.

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

Задачи урока:

    Учебная – освоение умений составления операторов ветвления;

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

    Воспитательная – развитие познавательного интереса, логического мышления.

Форма работы: работа в группах, индивидуальная.

План урока

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

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

    Формирование новых навыков и умений.

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

    Домашнее задание.

    Итог урока.

Ход урока

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

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

( раздача материала )

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

Понятие алгоритма

Алгоритм является фундаментальным понятием информатики. Представление о нем необходимо для эффективного применения вычислительной техники к решению практических задач.

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

Алгоритм решения некоторой задачи - это алгоритм, приводящий к решению этой задачи за конечное число действий

Свойства алгоритма

    Дискретность .

Разделение алгоритма на последовательность законченных действий – шагов. Каждое действие должно быть закончено прежде, чем исполнитель приступит к выполнению следующего шага.
Пример: Алгоритмы кулинарных рецептов состоят из отдельных действий, которые обычно нумеруются.

    Результативность.

Получение из исходных данных результата за конечное число шагов.
Пример: Алгоритм сложения целых чисел в десятичной системе счисления .

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

    Сложить цифры младшего разряда.

    Записать результат под горизонтальной чертой на вертикали единиц, если при этом полученная сумма больше или равна величине основания системы счисления (в данном случае 10), перенести десятки в старший разряд десятков.

    Повторить пункты 2 и 3 для всех разрядов с учетом переносов из младших разрядов.

    Массовость.

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

    Понятность.

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

    Точность.

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

    Конечность.

Завершение работы алгоритма за конечное число шагов.
Вопрос о рассмотрении бесконечных алгоритмов остается за рамками теории алгоритмов.

Способы описания алгоритма

    Словесный способ

Алгоритм представляет собой описание на естественном языке последовательных этапов обработки данных.
К двум прибавляем три получаем пять.

    Графический способ

Изображение алгоритма в виде последовательности связанных между собой функциональных блоков.

Блок-схема это наглядное графическое изображения структуры алгоритма.

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



Выполнение операции

Выбор направления выполнения алгоритма в зависимости от некоторых переменных условий

Ввод / вывод

данных

Начало и конец алгоритма

      Программный способ (алгоритмический)

Алгоритм, предназначенный для записи на компьютере, должен быть записан на понятном ему языке. Такой язык называется языком программирования, команда записанная на этом языке называется оператором, а запись алгоритма на этом языке называется программа.

Типы алгоритмов

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

Линейный алгоритм

Алгоритмы с ветвлением (ветвящийся)

Алгоритмы с повторением (циклический)


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

Пример линейного алгоритма

Задача “слепить снеговика”

Алгоритм “снеговик”

1.Слепить из снега большой шар и положить его на землю.

2.Слепить второй шар, меньше первого, и положить его на первый шар.

3.Слепить третий шар, меньше второго, и положить его на второй шар.

4.Надеть ведро на третий шар.

5.Сделать глаза из угольков на третьем шаре.

6.Воткнуть морковку между угольками.

Те же действия можно изобразить с помощью рисунков.

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

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

Стадия «вызова»

По заданным предложениям угадать известную пословицу.

    Если два дела делать одновременно, то ничего не получится (За двумя зайцами погонишься – ни одного не поймаешь).

    Если делать дело, не торопясь, то быстрее его закончишь (Тише едешь – дальше будешь).

    Если не будешь трудиться, то не сваришь ухи (Без труда не вынешь рыбку из пруда).

Что общего в формулировке этих пословиц?

Если – то

Эта конструкция описывает разветвляющийся алгоритм. Ребята, а как вы думаете какова тема нашего сегодняшнего урока?

Тема нашего сегодняшнего урока «Операторы ветвления».

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

А сейчас приступаем к созданию постеров, по новой теме. Время работы 10 минут, по окончанию времени каждая группа презентует свой постер.

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

Условие - это некоторое утверждение, относительно которого можно сказать: истинно оно или ложно.

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

Существует две формы оператора If . Полная и сокращенная .

Ветвление

Для объединения нескольких команд используется составной оператор. Его схема:

begin операторы end ;

А теперь посмотрим, как этот оператор работает при решении задачи. Запишите условие в тетрадь.

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

Задача: Составить программу нахождения большего из двух чисел.

Ребята что дано нам в этой задаче?

Какой результат должны получить?

И так начинаем писать программу.

Program z1;

var a,b: integer;

begin

writeln (‘vvedite a’);

readln (a);

writeln (‘vvedite b’);

readln (b);

if a>b then

writeln (a)

else

writeln (b);

readln;

end.

А теперь посмотрим, как эту программу выполнит компьютер.

Для того, что бы компьютер решал нам задачи, вам нужно научиться правильно, составлять программы. У вас на рабочем столе есть тренажер «операторы ветвления». Откройте его и перейдите к заданию номер:

Задание №1, №2, №4, №6, №7, №8, №9, №10, №11, №12.

    Домашнее задание

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

    Итог урока

Стадия «Рефлексии»

«Рефлексивная мишень» (4 области: интерес, работоспособность, понимание, настроение). Ученики отмечают область, которая характерна для них на данном уроке.

Полтавская средняя школа

Урок информатики в 8 классе

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

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

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

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

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

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);



Загрузка...
Top