При использовании сложных конструкций вложенного ветвления следует иметь в виду что else
Программирование разветвляющихся алгоритмов
Ключевые слова:
• условный оператор
• неполный условный оператор
• составной оператор
• вложенные ветвления
3.4.1. Условный оператор
При записи на языке Паскаль разветвляющихся алгоритмов используют условный оператор. Его общий вид:
if then else
Для записи неполных ветвлений используется неполная форма условного оператора:
if then
Слова if — then — else переводятся с английского языка на русский как если — то — иначе, что полностью соответствует записи ветвления на алгоритмическом языке.
Перед else знак «;» не ставится.
В качестве условий используются логические выражения:
• простые — записанные с помощью операций отношения;
• сложные — записанные с помощью логических операций.
Пример 1. Запишем на языке Паскаль рассмотренный в п. 2.4.2 (пример 8) алгоритм определения принадлежности точки х отрезку [а, b].
Пример 2. Воспользуемся неполным условным оператором для записи на языке Паскаль рассмотренного в п. 2.4.2 (пример 9) алгоритма присваивания переменной у значения наибольшей из трёх величин а, b и с.
Дополните эту программу так, чтобы её выполнение приводило к присваиванию переменной у значения большей из четырёх величин а, b,с и d.
3.4.2. Составной оператор
В условном операторе и после then, и после else можно использовать только один оператор. Если при некотором условий требуется выполнить определённую последовательность операторов, то их объединяют в один составной оператор.
begin end называется составным оператором.
Пример. Алгоритм решения квадратного уравнения вам хорошо известен. Запишем соответствующую программу на языке Паскаль.
3.4.3. Многообразие способов записи ветвлений
В качестве оператора после then и else можно использовать условный оператор. Например, возможна следующая конструкция:
if then
if then
else
При использовании таких сложных конструкций (их ещё называют вложенными ветвлениями) следует иметь в виду, что else всегда относится к ближайшему оператору if.
Пример. Воспользуемся вложенным ветвлением для записи на языке Паскаль рассмотренного в п. 2.4.2 (пример 10) алгоритма решения линейного уравнения.
Как правило, для решения одной и той же задачи можно предложить несколько алгоритмов. Убедимся в этом, записав программу решения линейного уравнения, не прибегая к вложенным ветвлениям.
Возможно, второй вариант программы покажется вам более наглядным. Но и у первого варианта есть свои преимущества: в нём делается меньше проверок.
if then else
Используйте вложенные ветвления для записи программы, определяющей принадлежность точки х отрезку [а, b].
if then
САМОЕ ГЛАВНОЕ
При записи на языке Паскаль разветвляющихся алгоритмов используют условный оператор:
if then else
Для записи неполных ветвлений используется неполный условный оператор:
if then
Если при некотором условии требуется выполнить определённую последовательных операторов, то их объединяют в один составной оператор, имеющий вид:
begin end
Вопросы и задания
1. Ознакомьтесь с материалами презентации к параграфу, содержащейся в электронном приложении к учебнику. Используйте эти материалы при подготовке ответов на вопросы и выполнении заданий.
2. Как на языке Паскаль записывается полное и неполное ветвление?
3. Является ли условным оператором следующая последовательность символов?
а) if х =у then х:=0; у:=0 else write (z)
в) if x b then с:=1;
if a>b then d:=2;
if a 5 then с: =2
else с:=3
Какое значение имеет переменная а, если в результате выполнения условного оператора переменной с присваивается значение 3?
13. Напишите программу, вычисляющую значение функции:
14. Составьте программу для решения задачи № 21 к § 2.4 (определение дня недели).
15. Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит 8. Напишите программу, которая по введённым координатам двух полей (k, l) и (m, n) определяет, имеют ли эти поля один цвет.
16. Напишите программу, в которой пользователю предлагается дополнить до 100 некоторое целое число а (а — случайное число, меньшее 100). Ответ пользователя проверяется и комментируется.
Электронное приложение к уроку
Презентации, плакаты, текстовые файлы | Вернуться к материалам урока | Ресурсы ЭОР |
Свободное программное обеспечение:
Cкачать материалы урока
При использовании сложных конструкций вложенного ветвления следует иметь в виду что else
При записи на языке Паскаль разветвляющихся алгоритмов используют условный оператор. Его общий вид:
Для записи неполных ветвлений используется неполная форма условного оператора:
Слова if — then — else переводятся с английского языка на русский как если — то — иначе, что полностью соответствует записи ветвления на алгоритмическом языке.
Перед else знак «;» не ставится.
В качестве условий используются логические выражения:
• простые — записанные с помощью операций отношения;
• сложные — записанные с помощью логических операций.
Пример. Запишем на языке Паскаль алгоритм определения принадлежности точки х отрезку [а, b].
Пример. Воспользуемся неполным условным оператором для записи на языке Паскаль алгоритма присваивания переменной у значения наибольшей из трёх величин а, b и с.
Дополните эту программу так, чтобы её выполнение приводило к присваиванию переменной у значения большей из четырёх величин а, b, с и d.
В условном операторе и после then, и после else можно использовать только один оператор. Если при некотором условий требуется выполнить определённую последовательность операторов, то их объединяют в один составной оператор.
Begin end называется составным оператором.
Пример. Алгоритм решения квадратного уравнения вам хорошо известен. Запишем соответствующую программу на языке Паскаль.
Многообразие способов записи ветвлений
В качестве оператора после then и else можно использовать условный оператор. Например, возможна следующая конструкция:
При использовании таких сложных конструкций (их ещё называют вложенными ветвлениями) следует иметь в виду, что else всегда относится к ближайшему оператору if.
Пример. Воспользуемся вложенным ветвлением для записи на языке Паскаль алгоритма решения линейного уравнения.
Как правило, для решения одной и той же задачи можно предложить несколько алгоритмов. Убедимся в этом, записав программу решения линейного уравнения, не прибегая к вложенным ветвлениям.
Возможно, второй вариант программы покажется вам более наглядным. Но и у первого варианта есть свои преимущества: в нём делается меньше проверок.
Используйте вложенные ветвления для записи программы, определяющей принадлежность точки х отрезку [а, b].
При записи на языке Паскаль разветвляющихся алгоритмов используют условный оператор:
Для записи неполных ветвлений используется неполный условный оператор:
Если при некотором условии требуется выполнить определённую последовательных операторов, то их объединяют в один составной оператор, имеющий вид:
Учитель информатики
Сайт учителя информатики. Технологические карты уроков, Подготовка к ОГЭ и ЕГЭ, полезный материал и многое другое.
Программирование разветвляющихся алгоритмов
§ 3.4. Программирование разветвляющихся алгоритмов
Информатика. 8 класса. Босова Л.Л. Оглавление
Ключевые слова:
• условный оператор
• неполный условный оператор
• составной оператор
• вложенные ветвления
3.4.1. Условный оператор
При записи на языке Паскаль разветвляющихся алгоритмов используют условный оператор. Его общий вид:
if then else
Для записи неполных ветвлений используется неполная форма условного оператора:
if then
Слова if — then — else переводятся с английского языка на русский как если — то — иначе, что полностью соответствует записи ветвления на алгоритмическом языке.
Перед else знак «;» не ставится.
В качестве условий используются логические выражения:
• простые — записанные с помощью операций отношения;
• сложные — записанные с помощью логических операций.
Пример 1. Запишем на языке Паскаль рассмотренный в п. 2.4.2 (пример 8) алгоритм определения принадлежности точки х отрезку [а, b].
Пример 2. Воспользуемся неполным условным оператором для записи на языке Паскаль рассмотренного в п. 2.4.2 (пример 9) алгоритма присваивания переменной у значения наибольшей из трёх величин а, b и с.
Дополните эту программу так, чтобы её выполнение приводило к присваиванию переменной у значения большей из четырёх величин а, b,с и d.
3.4.2. Составной оператор
В условном операторе и после then, и после else можно использовать только один оператор. Если при некотором условий требуется выполнить определённую последовательность операторов, то их объединяют в один составной оператор.
begin end называется составным оператором.
Пример. Алгоритм решения квадратного уравнения вам хорошо известен. Запишем соответствующую программу на языке Паскаль.
3.4.3. Многообразие способов записи ветвлений
В качестве оператора после then и else можно использовать условный оператор. Например, возможна следующая конструкция:
if then
if then
else
При использовании таких сложных конструкций (их ещё называют вложенными ветвлениями) следует иметь в виду, что else всегда относится к ближайшему оператору if.
Пример. Воспользуемся вложенным ветвлением для записи на языке Паскаль рассмотренного в п. 2.4.2 (пример 10) алгоритма решения линейного уравнения.
Как правило, для решения одной и той же задачи можно предложить несколько алгоритмов. Убедимся в этом, записав программу решения линейного уравнения, не прибегая к вложенным ветвлениям.
Возможно, второй вариант программы покажется вам более наглядным. Но и у первого варианта есть свои преимущества: в нём делается меньше проверок.
if then else
Используйте вложенные ветвления для записи программы, определяющей принадлежность точки х отрезку [а, b].
if then
САМОЕ ГЛАВНОЕ
При записи на языке Паскаль разветвляющихся алгоритмов используют условный оператор:
if then else
Для записи неполных ветвлений используется неполный условный оператор:
if then
Если при некотором условии требуется выполнить определённую последовательных операторов, то их объединяют в один составной оператор, имеющий вид:
begin end
Вопросы и задания
1. Ознакомьтесь с материалами презентации к параграфу, содержащейся в электронном приложении к учебнику. Используйте эти материалы при подготовке ответов на вопросы и выполнении заданий.
2. Как на языке Паскаль записывается полное и неполное ветвление?
3. Является ли условным оператором следующая последовательность символов?
а) if х =у then х:=0; у:=0 else write (z)
в) if x b then с:=1;
if a>b then d:=2;
if a
б) является ли число «перевёртышем», т. е. числом, десятичная запись которого читается одинаково слева направо и справа налево.
7. Даны две точки в плоской прямоугольной системе координат. Напишите программу, определяющую, которая из точек находится ближе к началу координат.
8. Даны три натуральных числа. Напишите программу, определяющую, существует ли треугольник с такими длинами сторон. Если такой треугольник существует, то определите его тип (равносторонний, равнобедренный, разносторонний).
9. Имеются данные о количестве полных лет трёх призёров спартакиады. Напишите программу, выбирающую и выводящую возраст самого младшего призёра.
10. Напишите программу, определяющую, лежит ли точка А(ха, уа) на прямой у = kx + l на ней или под ней.
11. Напишите программу, которая производит обмен значений переменных х и у, если х больше у.
12. Дан условный оператор:
if а 5 then с: =2
else с:=3
Какое значение имеет переменная а, если в результате выполнения условного оператора переменной с присваивается значение 3?
13. Напишите программу, вычисляющую значение функции:
14. Составьте программу для решения задачи № 21 к § 2.4 (определение дня недели).
15. Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит 8. Напишите программу, которая по введённым координатам двух полей (k, l) и (m, n) определяет, имеют ли эти поля один цвет.
16. Напишите программу, в которой пользователю предлагается дополнить до 100 некоторое целое число а (а — случайное число, меньшее 100). Ответ пользователя проверяется и комментируется.
§ 3.4. Программирование разветвляющихся алгоритмов
58. Составной оператор. Многообразие способов записи ветвлений
предметные — умение записывать на языке программирования короткие алгоритмы, содержащие алгоритмическую конструкцию «ветвление»;
метапредметные — умение самостоятельно планировать пути достижения целей; умение соотносить свои действия с планируемыми результатами, осуществлять контроль своей деятельности, определять способы действий в рамках предложенных условий, корректировать свои действия в соответствии с изменяющейся ситуацией; умение оценивать правильность выполнения учебной задачи;
личностные — алгоритмическое мышление, необходимое для профессиональной деятельности в современном обществе; представление о программировании как сфере возможной профессиональной деятельности.
рассмотреть правила записи условного оператора;
рассмотреть формат и назначение составного оператора;
подвести учащихся к выводу, что для решения одной и той же задачи можно разработать разные алгоритмы;
сформировать умение записывать на языке программирования короткие алгоритмы с ветвлениями.
неполная форма условного оператора;
Интерактивные тесты
Свободное программное обеспечение:
Повторить:
Выучить:
Выполнить:
неполный условный оператор
При записи на языке Паскаль разветвляющихся алгоритмов используют условный оператор. Его общий вид:
Для записи неполных ветвлений используется неполная форма условного оператора:
Перед else знак «;» не ставится.
В качестве условий используются логические выражения:
простые — записанные с помощью операций отношения;
сложные — записанные с помощью логических операций.
Пример 1. Запишем на языке Паскаль рассмотренный в п. 2.4.2 (пример 8) алгоритм определения принадлежности точки х отрезку [а, b].
writeln (‘Определение принадлежности точки отрезку’);
writeln (‘Точка принадлежит отрезку’)
else writeln (‘Точка не принадлежит отрезку’)
Пример 2. Воспользуемся неполным условным оператором для записи на языке Паскаль рассмотренного в п. 2.4.2 (пример 9) алгоритма присваивания переменной у значения наибольшей из трёх величин а, b и с.
var у, a, b, с: integer;
writeln (‘Нахождение наибольшей из трёх величин’);
write (‘Введите а, b, с>>’);
Дополните эту программу так, чтобы её выполнение приводило к присваиванию переменной у значения большей из четырёх величин а, b, с и d.
Пример. Алгоритм решения квадратного уравнения вам хорошо известен. Запишем соответствующую программу на языке Паскаль.
writeln (‘Решение квадратного уравнения’);
write (‘Введите коэффициенты а, b, с»’); readln (а, b, с) ;
writeln (‘Корень уравнения x=’, x:9:3)
writeln (‘Корни уравнения:’);
В качестве оператора после then и else можно использовать условный оператор. Например, возможна следующая конструкция:
Пример. Воспользуемся вложенным ветвлением для записи на языке Паскаль рассмотренного в п. 2.4.2 (пример 10) алгоритма решения линейного уравнения.
writeln (‘Решение линейного уравнения’);
write (‘Введите коэффициенты а, b>>’);
writeln (‘Корень уравнения х=’, х: 9: 3)
else if b<>0 then writeln (‘Корней нет’)
Как правило, для решения одной и той же задачи можно предложить несколько алгоритмов. Убедимся в этом, записав программу решения линейного уравнения, не прибегая к вложенным ветвлениям.
writeln (‘Решение линейного уравнения’);
write (‘Введите коэффициенты а, b>>’);
writeln (‘Корень уравнения х=’, х:9:3)
if (а=0) and (b<>0) then writeln (‘Корней нет’);
Возможно, второй вариант программы покажется вам более наглядным. Но и у первого варианта есть свои преимущества: в нём делается меньше проверок.
Используйте вложенные ветвления для записи программы, определяющей принадлежность точки х отрезку [а, b].
Самое главное
При записи на языке Паскаль разветвляющихся алгоритмов используют условный оператор:
Для записи неполных ветвлений используется неполный условный оператор:
Если при некотором условии требуется выполнить определённую последовательных операторов, то их объединяют в один составной оператор, имеющий вид:
Вопросы и задания
1. Ознакомьтесь с материалами презентации к параграфу, содержащейся в электронном приложении к учебнику. Используйте эти материалы при подготовке ответов на вопросы и выполнении заданий.
2. Как на языке Паскаль записывается полное и неполное ветвление?
3. Является ли условным оператором следующая последовательность символов?
б) if х>=у then х:=0; у:=0 else write (z)
4. Что такое составной оператор? Для чего он используется в условном операторе?
5. Используя составной оператор, упростите следующий фрагмент программы:
6. Дано трёхзначное число. Напишите программу, которая определяет:
а) есть ли среди цифр заданного целого трёхзначного числа одинаковые;
б) является ли число «перевёртышем», т. е. числом, десятичная запись которого читается одинаково слева направо и справа налево.
7. Даны две точки в плоской прямоугольной системе координат. Напишите программу, определяющую, которая из точек находится ближе к началу координат.
8. Даны три натуральных числа. Напишите программу, определяющую, существует ли треугольник с такими длинами сторо- н. Если такой треугольник существует, то определите его тип (равносторонний, равнобедренный, разносторонний).
9. Имеются данные о количестве полных лет трёх призёров спартакиады. Напишите программу, выбирающую и выводящую возраст самого младшего призёра.
10. Напишите программу, определяющую, лежит ли точка А(ха, уа) на прямой у =kx + l, на ней или под ней.
11. Напишите программу, которая производит обмен значений переменных х и у, если х больше у.
12. Дан условный оператор:
else if а>5 then с:=2
Какое значение имеет переменная а, если в результате выполнения условного оператора переменной с присваивается значение 3?
13. Напишите программу, вычисляющую значение функции:
14. Составьте программу для решения задачи № 21 к § 2.4 (определение дня недели).
15. Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит 8. Напишите программу, которая по введённым координатам двух полей (k, l) и (m, n) определяет, являются ли эти поля полями одного цвета.
16. Напишите программу, в которой пользователю предлагается дополнить до 100 некоторое целое число a (a — случайное число, меньшее 100). Ответ пользователя проверяется и комментируется.