Добавить материал и получить бесплатное свидетельство о публикации в СМИ
Эл. №ФС77-60625 от 20.01.2015
Инфоурок / Информатика / Конспекты / Изучаем язык BASIC. Занятие 3, Ветвление в алгоритмах и программах.

Изучаем язык BASIC. Занятие 3, Ветвление в алгоритмах и программах.

  • Информатика

Поделитесь материалом с коллегами:

Занятие 3

Ветвление в алгоритмах и программах.

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

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

hello_html_m598e5ae7.png       hello_html_6f9cd76b.png

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

hello_html_m5d4dd7d7.png

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

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

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

или

IF <УСЛОВИЕ> <ОПЕРАТОР 1>[:<ОПЕРАТОР 2>:…:<ОПЕРАТОР N>]


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

Условия - еще один тип логических выражений. В них используются следующие операторы сравнения:

=

равно

<>

не равно

>

больше

<

меньше

>=

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

<=

меньше или равно

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

Пример:

5<7 - ИСТИНА;

8=12 -ЛОЖЬ (проверяем равно ли 8 12, именно проверяем, а не утверждаем, что 8=12);

Предыдущие конструкции позволяли обойти или выполнить серию оператор в зависимости от справедливости условия. Это еще не было ветвлением. Чтобы вычисления могли разветвляться по нескольким направлениям, служит конструкция IF...THEN...ELSE...

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

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

Если в комнате темно, тогда надо включить свет. 

Если пойдет дождь, тогда надо взять зонтик, иначе, зонтик не брать. 

Пример: Проверить, равно ли введенное число некоторому значению, и в случае равенства выдать  на экран сообщение о равенстве чисел.

REM сравнить число со каким-то значением
INPUT "Введите а", а
IF a=7 THEN PRINT "Числа равны"
END

После запуска программы проверяется равно ли введенное значение семи или нет. Если равно, то на экран выводится сообщение 'Числа равны'.

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

REM определить большее из двух чисел...
INPUT "Введите а", а
INPUT "Введите b", b
IF a>b THEN PRINT "Большее число: ", a:с=2*a
ELSE PRINT "Большее число: ", b:с=2*b
PRINT "результат: ", c
END

Сначала программа запрашивает оба числа, затем проверяет условие a>b. Если условие верно, то на экран выводится число a, затем это число удваивается. Иначе на на экран выводится число b, затем  число b удваивается. В завершении на экран выводится удвоенное значение большего числа.

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

REM определить большее из двух чисел...
INPUT "Введите а", а
INPUT "Введите b", b
IF a=b TNEN PRINT "Числа равны":с=2*a
ELSE     IF a>b THEN     PRINT "Большее число: ", a:     с=2*a
    ELSE     PRINT "Большее число: ", b:    с=2*b
PRINT "результат: ", c
END

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

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

REM Решение квадратного уравнения
INPUT "Введите коэффициент a: ", а
INPUT "Введите коэффициент b: ", b
INPUT "Введите коэффициент c: ", c
d=b*b-4*a*c
IF d<0 THEN PRINT "Корней нет"
ELSE     IF d=0 THEN     x=-b/(2*a) :     PRINT "корень уравнения: ", x
    ELSE     x1=(-b-SQR(d))/(2*a):     x2=(-b+SQR(d))/(2*a) :    PRINT "корни уравнения: ", x1, x2
END

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

AND и

A and B

hello_html_m5ae2313d.png

OR или

A or B

hello_html_6fd186eb.png

NOT не

Not A

hello_html_m23757400.png


Вычислить

hello_html_m30c0d.gif

hello_html_m581ac2f0.gif

hello_html_9ef4625.gif

hello_html_m143cdc9c.gif

Задача 1.

Определить является треугольник со сторонами A, B, C равнобедренным.

INPUT “Введите размеры сторон треугольника А, В, С “; A,B,C

IF A=B OR C=A or B=C THEN PRINT “Треугольник равнобедренный


Задача 2.

Какой четверти принадлежит точка х,у.

INPUT X,Y

IF X>0 END Y>0 THEN ?”1”

IF X<0 END Y>0 THEN ?”2”

IF X<0 END Y<0 THEN ?”3”

IF X>0 END Y<0 THEN ?”4”


Задача 3 Попадает ли заданная точка в заштрихованную фигуру.

hello_html_m653db5cf.png

INPUT “X=”;X

INPUT “Y=”;Y

IF X>0 AND X<5 AND Y>0 AND Y<2 THEN ?”YES” ELSE ?”NO”

hello_html_m6d790a88.png


Задача 4

CLS

INPUT X, Y

IF X>-2 AND X<3 AND Y>0 AND Y<2 THEN ?”YES” ELSE ?”NO”

Задача 5.

hello_html_maa3c6b0.png

CLS

INPUT X, Y

F1=( X>-2 AND X<0 AND Y>0 AND Y<3)

F2=( X>0 AND X<4 AND Y>-2 AND Y<0)

IF F1 or F2 THEN ?”YES” ELSE ?”NO”

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

hello_html_m63a3e7c1.gif


hello_html_40573675.gif


hello_html_4e4fd5f.gif

hello_html_7ab645b0.pnghello_html_4178a86a.png

Выберите курс повышения квалификации со скидкой 50%:

Автор
Дата добавления 04.09.2015
Раздел Информатика
Подраздел Конспекты
Просмотров171
Номер материала ДA-028153
Получить свидетельство о публикации
Похожие материалы

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