После того как вы поделитесь материалом внизу появится ссылка для скачивания.
Получить код —>
Подписи к слайдам:
Линейные и разветвляющиеся алгоритмы.
Реализация на языке Pascal.
иметь представление о линейных и разветвляющихся алгоритмах и реализации их на языке программирования Pascal.
Переход на предыдущий слайд
Переход на следующий слайд
Переход на оглавление
Переход в начало раздела
- Повторим
- Линейные алгоритмы
- Алгоритмы ветвления
- Справочная информация
Алгоритм – это четко определенный план действий исполнителя, для достижения результата.
- дискретность: состоит из отдельных шагов (команд)
- понятность: должен включать только команды, известные исполнителю (входящие в СКИ)
- определенность: при одинаковых исходных данных всегда выдает один и тот же результат
- конечность: заканчивается за конечное число шагов
- массовость: может применяться многократно при различных исходных данных
- корректность: дает верное решение при любых допустимых исходных данных
Что такое алгоритм?
Программирование разветвляющихся алгоритмов | Информатика 8 класс #24 | Инфоурок
- алгоритм, записанный на каком-либо языке программирования
- набор команд для компьютера
Команда – это описание действий, которые должен выполнить компьютер.
- откуда взять исходные данные?
- что нужно с ними сделать?
Оператор – это команда языка программирования высокого уровня.
Линейный алгоритм — это такой, в котором все операции выполняются последовательно одна за другой.
Источник: uchitelya.com
Разветвляющиеся алгоритмы
В Паскале имеется возможность нелинейного хода программы, т.е. выполнения операторов не в том порядке, в котором они записаны. Такую возможность нам предоставляют разветвляющиеся алгоритмы. Они могут быть реализованы одним из трех способов: с использованием операторов перехода, условного оператора или оператора выбора.
Условный оператор
Условный оператор IF позволяет изменить порядок выполнения команд в зависимости от некоторого логического условия, т.е. он осуществляет ветвление вычислительного процесса. Условный оператор имеет вид:
В случае истинности логического выражения, стоящего в условии, выполняется , а пропускается. При ложном значении логического выражения пропускается и выполняется .
Оператор IF может быть полным (присутствуют обе ветви) или неполным (Else-ветви нет, при ложном условии ничего не делается). По правилам каждая из ветвей может содержать либо один выполняемый оператор, либо несколько, объединенных в составной. Точка с запятой перед Else считается ошибкой.
Пример. Ввести целое число. Вывести соответствующий ему символ ASCII-таблицы, либо сообщить, что такого символа нет (0-31 — управляющие коды, затем до 256 — печатаемые символы).
Информатика 8 класс: Ветвление в Паскале. Условный оператор
program ascii_symbol;
write(‘Введите целое число: ‘); readln(i);
writeln(‘Соответствующий символ — ‘, Chr(i))
else writeln(‘Такого символа нет’);
Оператор выбора
Оператор выбора является обобщением условного оператора: он дает возможность выполнить один из нескольких операторов в зависимости от значения некоторого выражения, называемого селектором.
селектор — выражение любого перечисляемого типа, кроме вещественного;
оператор — любой оператор языка, в том числе и составной;
список меток — список разделенных запятыми значений выражения ‘селектор’ или одно его значение; тип метки и селектора должен быть одинаков;
Оператор варианта выбирает для исполнения тот ОПЕРАТОР, одна из меток которого равна текущему значению выражения СЕЛЕКТОР. Если ни одна из меток не равна текущему значению селектора, то никакие операторы не выполняются, либо выполняются операторы, следующие за зарезервированным словом ELSE (если такое имеется).
Ветвь Else не обязательна, и в отличие от оператора if, перед ней ставится точка с запятой. Если для нескольких значений действия совпадают, то эти константы можно перечислить через запятую перед двоеточием или задать диапазон значений (нижняя граница .. верхняя граница).
Пример: Вводится целое число, если это цифра, то определить четная она или нет, а если число, то определить попадает ли оно в диапазон от 10 до 100, если нет, то выдать соответствующее сообщение.
program chislo;
var i:integer;
write(‘Введите целое число: ‘);
case i of
0,2,4,6,8 : writeln(‘Четная цифра’);
1,3,5,7,9 : writeln(‘Нечетная цифра’);
10. 100,200 : writeln(‘Число от 10 до 100 или 200’);
else writeln(‘Число либо отрицательное, либо > 100, но не 200’);
Источник: studfile.net
§ 4.5. Программирование разветвляющихся алгоритмов
При записи на языке Паскаль разветвляющихся алгоритмов используют условный оператор. Его общий вид:
Для записи неполных ветвлений используется сокращённая форма условного оператора:
Слова if — then — else переводятся с английского на русский язык как если — то — иначе, что полностью соответствует записи ветвления на алгоритмическом языке.
Перед else знак «;» не ставится.
- простые — записанные с помощью операций отношения;
- сложные — записанные с помощью логических операций.
Пример. Запишем на языке Паскаль рассмотренный в п. 3.4.2 (пример 8) алгоритм определения принадлежности точки х отрезку [а; Ь].
Пример. Воспользуемся сокращённой формой оператора ветвления для записи на языке Паскаль рассмотренного в п. 3.4.2 (пример 9) алгоритма присваивания переменной у значения наибольшей из трёх величин а, b и с.
Дополните эту программу так, чтобы её выполнение приводило к присваиванию переменной у значения большей из четырёх величин а,Ь,с и d.
4.5.2. Составной оператор
В условном операторе и после then, и после else можно использовать только один оператор. Если при некотором условии требуется выполнить определённую последовательность операторов, то их объединяют в один составной оператор.
называется составным оператором.
Пример. Алгоритм решения квадратного уравнения вам хорошо известен. Запишем соответствующую программу на языке Паскаль.
4.5.3. Многообразие способов записи ветвлений
В качестве оператора после then и else можно использовать условный оператор. Например, возможна следующая конструкция:
При использовании таких сложных конструкций (их ещё называют вложенными ветвлениями) следует иметь в виду, что else всегда относится к ближайшему оператору if.
Пример. Воспользуемся вложенным ветвлением для записи на языке Паскаль рассмотренного в п. 3.4.2 (пример 10) алгоритма решения линейного уравнения.
Как правило, для решения одной и той же задачи можно предложить несколько алгоритмов. Убедимся в этом, записав программу решения линейного уравнения, не прибегая к вложенным ветвлениям.
Возможно, второй вариант программы покажется вам более наглядным. Но и у первого варианта есть свои преимущества: в нём делается меньше проверок.
Используйте вложенные ветвления для записи программы, определяющей принадлежность точки х отрезку [а; Ь].
Самое главное
При записи на языке Паскаль разветвляющихся алгоритмов используют условный оператор:
Для записи неполных ветвлений используется сокращённый условный оператор:
Если при некотором условии требуется выполнить определённую последовательных операторов, то их объединяют в один составной оператор, имеющий вид:
Вопросы и задания
- Как на языке Паскаль записывается полное и неполное ветвление?
- Является ли условным оператором последовательность символов?
-
а) if хб) if х>=у then х:=0; у:=0 else write (z)
в) if х - Что такое составной оператор? Для чего он используется в условном операторе?
- Используя составной оператор, упростите следующий фрагмент программы:
-
if a>b then с:=1;
if a>b then d:=2;
if aif a - Дано трёхзначное число. Напишите программу, которая определяет:
-
а) есть ли среди цифр заданного целого трёхзначного числа одинаковые;
б) является ли число «перевёртышем», т. е. числом, десятичная запись которого читается одинаково слева направо и справа налево.
Даны две точки в плоской прямоугольной системе координат. Напишите программу, определяющую, которая из точек находится ближе к началу координат.
Даны три натуральных числа. Напишите программу, определяющую, существует ли треугольник с такими длинами сторон. Если такой треугольник существует, то определите его тип (равносторонний, равнобедренный, разносторонний).
-
а) на прямой у = kx + 1, над ней или под ней;
-
б) на окружности х 2 + у 2 = r 2 , над ней или под ней. Примеры входных данных и соответствующих им выходных данных разработайте самостоятельно.
Напишите программу, которая производит обмен значений переменных х и y, если х больше y.
Дан условный оператор:
Источник: tepka.ru