|
Урок 30
3.4.2. Составной оператор В условном операторе и после then, и после else можно использовать только один оператор. Если при некотором условии требуется выполнить определённую последовательность операторов, то их объединяют в один составной оператор. begin <последовательность операторов> end называется составным оператором. Пример. Алгоритм решения квадратного уравнения вам хорошо известен. Запишем соответствующую программу на языке Паскаль. program n_11; var a, b, с: real; begin writeln ('Решение квадратного уравнения'); begin x:=-b/2/a; end; if d>0 then begin x1:=(-b+sqrt(d))/2/a; end end.
В качестве оператора после then и else можно использовать условный оператор. Например, возможна следующая конструкция: if <условие1> then if <условие2> then <оператор1> При использовании таких сложных конструкций (их ещё называют вложенными ветвлениями) следует иметь в виду, что else всегда относится к ближайшему оператору if. Пример. Воспользуемся вложенным ветвлением для записи на языке Паскаль рассмотренного в п. 2.4.2 (пример 10) алгоритма решения линейного уравнения. program n_12; var a, b, x: real; begin writeln ('Решение линейного уравнения’); begin x:=-b/a; end else if b<0 then writeln ('Корней нет') else writeln (' x - любое число'); end. Как правило, для решения одной и той же задачи можно предложить несколько алгоритмов. Убедимся в этом, записав программу решения линейного уравнения, не прибегая к вложенным ветвлениям. program n_l3; var a, b, x: real; begin writeln ('Решение линейного уравнения'); begin end; if (a=0) and (b<>0) then writeln ('Корней нет’); if (a=0) and (b=0) then writeln ('x - любое число’); end. Возможно, второй вариант программы покажется вам более наглядным. Но и у первого варианта есть свои преимущества: в нём делается меньше проверок. Используйте вложенные ветвления для записи программы, определяющей принадлежность точки х отрезку [а, b]. Вопросы и задания 1. Ознакомьтесь с материалами презентации к параграфу, содержащейся в электронном приложении к учебнику. Используйте эти материалы при подготовке ответов на вопросы и выполнении заданий. 2. Как на языке Паскаль записывается полное и неполное ветвление? 3. Является ли условным оператором следующая последовательность символов? а) if x<y then x:=0 else read(у) 4. Что такое составной оператор? Для чего он используется в условном операторе? 5. Дан условный оператор: if a<5 then c:=l else с:=3 Какое значение имеет переменная а, если в результате выполнения условного оператора переменной с присваивается значение 3?
|
|