Главная >> Информатика 8 класс. Босова

§ 3.4. Программирование разветвляющихся алгоритмов

3.4.3. Многообразие способов записи ветвлений

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

    if <условие1> then
        if <условие2> then <оператор1>
        else <оператор2>

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

Пример. Воспользуемся вложенным ветвлением для записи на языке Паскаль рассмотренного в п. 2.4.2 (пример 10) алгоритма решения линейного уравнения.

    program n_12;
        var a, b, х: real;
    begin
        writeln ('Решение линейного уравнения');
        write ('Введите коэффициенты а, b>>');
        readln (а, b) ;
        if а<>0 then
            begin
              х:=-b/a;
              writeln ('Корень уравнения х=', х: 9: 3)
            end
        else if b<>0 then writeln ('Корней нет')
          else writeln ('x - любое число');
    end.

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

    program n_13;
        var a, b, х: real;
    begin
        writeln ('Решение линейного уравнения');
        write ('Введите коэффициенты а, b>>');
        readln (а, b) ;
        if а<>0 then
            begin
              x:=-b/a;
              writeln ('Корень уравнения х=', х:9:3)
            end;
        if (а=0) and (b<>0) then writeln ('Корней нет');
        if (a=0) and (b=0) then writeln ('x - любое число')
    end.

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

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

 

 

???????@Mail.ru