Условный оператор
Здравствуйте, уважаемые ученики!
Здравствуйте, уважаемые ученики!
Начнем наш урок!
Начнем наш урок!
Если у Вас возникнут вопросы можете написать мне! Я постараюсь ответить на все Ваши вопросы в течении нашего урока. Моя почта: grm310892@gmail.com, WatsApp 89274029754
Если у Вас возникнут вопросы можете написать мне! Я постараюсь ответить на все Ваши вопросы в течении нашего урока. Моя почта: grm310892@gmail.com, WatsApp 89274029754
А теперь перейдем к теме! Тема нашего урока: условный оператор
А теперь перейдем к теме! Тема нашего урока: условный оператор
Прочитайте теорию. Затем сделайте тест.
Прочитайте теорию. Затем сделайте тест.
Задания доступны только во время урока, затем я их закрываю. Не выполнили, увы получили соответствующую оценку!
Задания доступны только во время урока, затем я их закрываю. Не выполнили, увы получили соответствующую оценку!
Ссылка на тест в конце.
Ссылка на тест в конце.
Теория:
Теория:
При записи на языке Паскаль разветвляющихся алгоритмов используют условный оператор. Его общий вид:
При записи на языке Паскаль разветвляющихся алгоритмов используют условный оператор. Его общий вид:
Для записи неполных ветвлений используется неполная форма условного оператора:
Для записи неполных ветвлений используется неполная форма условного оператора:
Слова if — then — else переводятся с английского языка на русский как если — то — иначе, что полностью соответствует записи ветвления на алгоритмическом языке.
Слова if — then — else переводятся с английского языка на русский как если — то — иначе, что полностью соответствует записи ветвления на алгоритмическом языке.
Обрати внимание!
Обрати внимание!
Перед else знак «;» не ставится.
Перед else знак «;» не ставится.
В качестве условий используются логические выражения:
В качестве условий используются логические выражения:
- простые — записанные с помощью операций отношения;
- сложные — записанные с помощью логических операций.
Пример:
Пример:
Алгоритм определения принадлежности точки x отрезку [a,b]. Если точка x принадлежит данному отрезку, то выводится ответ ДА, в противном случае — НЕТ. Запишем на языке Паскаль алгоритм определения принадлежности точки x отрезку [a,b].
Алгоритм определения принадлежности точки x отрезку [a,b]. Если точка x принадлежит данному отрезку, то выводится ответ ДА, в противном случае — НЕТ. Запишем на языке Паскаль алгоритм определения принадлежности точки x отрезку [a,b].
В условном операторе и после then, и после else можно использовать только один оператор. Если при некотором условии требуется выполнить определённую последовательность операторов, то их объединяют в один составной оператор.
В условном операторе и после then, и после else можно использовать только один оператор. Если при некотором условии требуется выполнить определённую последовательность операторов, то их объединяют в один составной оператор.
Конструкция вида
Конструкция вида
begin <последовательность операторов> end
begin <последовательность операторов> end
называется составным оператором.
называется составным оператором.
Пример:
Пример:
Алгоритм решения квадратного уравнения тебе хорошо известен. Запишем соответствующую программу на языке Паскаль.
Алгоритм решения квадратного уравнения тебе хорошо известен. Запишем соответствующую программу на языке Паскаль.
program uravnenie;
program uravnenie;
var a, b, c: real;
var a, b, c: real;
var d: real;
var d: real;
var x, x1, x2: real;
var x, x1, x2: real;
begin
begin
writeln ('Решение квадратного уравнения');
writeln ('Решение квадратного уравнения');
write ('Введите коэффициенты a, b, c >>');
write ('Введите коэффициенты a, b, c >>');
readln (a, b, c);
readln (a, b, c);
d:=b*b-4*a*c;
d:=b*b-4*a*c;
if d<0 then writeln ('Корней нет');
if d<0 then writeln ('Корней нет');
if d=0 then
if d=0 then
begin
begin
x:=-b/2*a;
x:=-b/2*a;
writeln ('Корень уравнения x=', x:9:3)
writeln ('Корень уравнения x=', x:9:3)
end;
end;
if d>0 then
if d>0 then
begin
begin
x1:=(-b+sqrt(d))/(2*a);
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
writeln ('Корни уравнения:');
writeln ('Корни уравнения:');
writeln ('x1=', x1:9:3);
writeln ('x1=', x1:9:3);
writeln ('x2=', x2:9:3)
writeln ('x2=', x2:9:3)
end;
end;
end.
end.
В качестве оператора после then и else можно использовать условный оператор. Например, возможна следующая конструкция:
В качестве оператора после then и else можно использовать условный оператор. Например, возможна следующая конструкция:
При использовании таких сложных конструкций (их ещё называют вложенными ветвлениями) следует иметь в виду, что else всегда относится к ближайшему оператору if.
При использовании таких сложных конструкций (их ещё называют вложенными ветвлениями) следует иметь в виду, что else всегда относится к ближайшему оператору if.
Пример:
Пример:
Воспользуемся вложенным ветвлением для записи на языке Паскаль алгоритма решения линейного уравнения ax+b=0.
Воспользуемся вложенным ветвлением для записи на языке Паскаль алгоритма решения линейного уравнения ax+b=0.
program lin_urav;
program lin_urav;
var
var
a,b,x:real;
a,b,x:real;
begin
begin
writeln('Решение линейного уравнения');
writeln('Решение линейного уравнения');
write('Введите коэффициенты a и b<<');
write('Введите коэффициенты a и b<<');
readln(a,b);
readln(a,b);
if a<>0 then
if a<>0 then
begin
begin
x:=-b/a;
x:=-b/a;
writeln('Корень уравнения x=',x:9:3);
writeln('Корень уравнения x=',x:9:3);
end
end
else if b<>0 then writeln ('Корней нет')
else if b<>0 then writeln ('Корней нет')
else writeln(' x - любое число');
else writeln(' x - любое число');
end.
end.
Как правило, для решения одной и той же задачи можно предложить несколько алгоритмов. Убедимся в этом, записав программу решения линейного уравнения, не прибегая к вложенным ветвлениям.
Как правило, для решения одной и той же задачи можно предложить несколько алгоритмов. Убедимся в этом, записав программу решения линейного уравнения, не прибегая к вложенным ветвлениям.
program lin_urav_2;
program lin_urav_2;
var
var
a,b,x:real;
a,b,x:real;
begin
begin
writeln('Решение линейного уравнения');
writeln('Решение линейного уравнения');
write('Введите коэффициенты a и b<<');
write('Введите коэффициенты a и b<<');
readln(a,b);
readln(a,b);
if a<>0 then
if a<>0 then
begin
begin
x:=-b/a;
x:=-b/a;
writeln('Корень уравнения x=',x:9:3);
writeln('Корень уравнения x=',x:9:3);
end;
end;
if (a=0) and (b<>0) then writeln('Корней нет');
if (a=0) and (b<>0) then writeln('Корней нет');
if (a=0) and (b=0) then writeln('x-любое число')
if (a=0) and (b=0) then writeln('x-любое число')
end.
end.
Ссылка на тестовые задания: (варианты найдете ниже)
Ссылка на тестовые задания: (варианты найдете ниже)
Домашнее задание: повторить определения
Домашнее задание: повторить определения

