Тема урока: «Разветвляющиеся алгоритмы». Цели урока: 1. познакомиться с алгоритмической структурой ветвление; 2. изучить полную и неполную формы команды ветвления; 3. научиться изображать разветвляющиеся алгоритмы в виде блок-схем. 1
2 Разветвляющийся алгоритм – это алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий. да Действие 1Действие 2 нет условие да условие Действие 1 нет
Примеры: Если ласточки летают низко, то будет дождь, иначе дождя не будет. Если погода будет хорошая, то перед тем, как делать уроки, покатаюсь на лыжах. 3
начало Ввод х Х
Вычислите алгоритм разветвленной структуры, представленной в виде блок-схемы, при заданном входном потоке исходных данных: начало Ввод а Х=а*2 Х
Новые функции: Inc(a) - Увеличивает значение переменной a на 1 odd(a) - Проверяет, является ли аргумент нечетным числом (результат равен True, если проверяемое число нечетное, и False - в противном случае). a - число типа Longint, проверяемое на нечетность.
Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае не изменять его. Вывести полученное число. program if1; var a: integer; begin read(a); if a > 0 then Inc(a); write(a); end.
Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае вычесть из него 2. Вывести полученное число. program if2; var a: integer; Begin read(a); if a > 0 then Inc(a) else a:=a-2; write(a); end.
Дано целое число. Если оно является положительным, то прибавить к нему 1; если отрицательным, то вычесть из него 2; если нулевым, то заменить его на 10. Вывести полученное число. program if3; var a: integer; begin read(a); if a >= 0 then if a = 0 then a := 10 else Inc(a) else a -= 2; write(a); end.
Даны три целых числа. Найти количество положительных и количество отрицательных чисел в исходном наборе. program if4; var a, b, c, plus, minus: integer; begin write('Введите три целых числа: '); read(a, b, c); plus := 0; minus := 0; if a > 0 then Inc(plus) else Inc(minus); if b > 0 then Inc(plus) else Inc(minus); if c > 0 then Inc(plus) else Inc(minus); writeln('Количество положительных чисел - ', plus); writeln('Количество отрицательных чисел - ', minus); end.
Дано целое число, лежащее в диапазоне 1–999. Вывести его строку-описание вида «четное двузначное число», «нечетное трехзначное число» и т. д. program if5; var a: integer; begin write('Введите число от 1 до 999: '); read(a); if odd(a) then write('Нечетное ') else write('Четное '); if a >= 100 then write('трехзначное число') else if a < 10 then write('однозначное число') else write('двухзначное число'); end.
ДОПОЛНИТЕЛЬНЫЕ ПРИМЕРЫ РЕШЁННЫХ ЗАДАЧ
Даны три целых числа. Найти количество положительных чисел в исходном наборе. Program If_4; var a, b, c, plus: integer; Begin write('Введите три целых числа: '); readln(a, b, c); if a > 0 then Inc(plus); if b > 0 then Inc(plus); if c > 0 then Inc(plus); writeln('Количество положительных чисел: ', plus); end.
Даны две переменные вещественного типа: A, B. Перераспределить значения данных переменных так, чтобы в A оказалось меньшее из значений, а в B большее. Вывести новые значения переменных A и B. Program If_9; var a, b: integer; begin write('Введите A: '); readln(a); write('Введите B: '); readln(b); if a > b then writeln('A = ',a,'; B = ',b) else writeln('A = ',b,'; B = ',a); end.