Тема «Оператроры условного и безусловного перехода» icon

Тема «Оператроры условного и безусловного перехода»



Смотрите также:

Материал для рассылки 8 класс гимназия 1576

Тема «Оператроры условного и безусловного перехода»

Учителя информатики Левина Н.С., Третьяк Т.М.

Операторы условного и безусловного перехода

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


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

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

      

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



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

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

Вариант 1.    

n IF <условие> THEN  P1 ELSE  P2


n Если <условие> тогда P1 иначе P2

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

или

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


Вариант 2.    


n IF <условие> THEN P1 : GOTO  m 


Р1–действие, которое должно выполнится если соблюдается условие записанное после оператора IF.


Р2- действие, которое выполняется если условие записанное после оператора IF не соблюдается.

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

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

=

равно

<>

не равно

>

больше

<

меньше

>=

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

<=

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

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

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

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

IF <УСЛОВИЕ> 
<ОПЕРАТОРЫ 1>
ELSE
<ОПЕРАТОРЫ 2>
END IF


Если условие справедливо (ИСТИНА), то выполняются <операторы 1> (стоящие между THEN и ELSE), а <операторы 2> (стоящие между ELSE и END IF) будут пропущены.
Если условие не справедливо (ЛОЖЬ), то <операторы 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
END IF
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
    END IF
END IF
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 IF
END IF
END

Задание на зачет. Выполнить 12 задач в тетради, к каждой задачи начертить блок схему.

Оператор условного перехода

1. Вычислить

2. Даны два числа. Выдать на печать наибольшее из них.

3. Составить алгоритм выбора наименьшего из трех различ­ных чисел.

4. Составить алгоритм, который для заданного числа X опре­деляет, принадлежит ли X отрезку [А,В].

5. Вычислим корень квадратный из X.

6. Cоставьте программу, удваивающую значение переменной n, если n>10.

7. Составить алгоритм, вычисляющий значение Y, если



8. Переменной К присвоить номер четверти плоскости, в которой находится точка с координатами х,у (ху 0).

9. Даны действительные числа х, у. Вычислите z


х-у, если x>у,

у+х+1, в противном случае.


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

11.Даны три числа. Написать программу, в результате выпол­нения которой числа удвоятся, если X<Y<Z, и будут заменены на их абсолютные величины в прочих условиях.

12. Решить квадратное уравнение АХ2+ВХ+С =0.



Скачать 46,98 Kb.
Дата конвертации29.04.2013
Размер46,98 Kb.
ТипДокументы
Разместите кнопку на своём сайте или блоге:
rud.exdat.com


База данных защищена авторским правом ©exdat 2000-2012
При копировании материала укажите ссылку
обратиться к администрации
Документы