Пр 8-4.ppt
- Количество слайдов: 13
ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ НАЧАЛА ПРОГРАММИРОВАНИЯ
Ключевые слова • • условный оператор неполный условный оператор составной оператор вложенные ветвления
Общий вид условного оператора Полная форма условного оператора: if <условие> then <оператор_1> else <оператор_2> Неполная форма условного оператора: if <условие> then <оператор> ! Перед else знак «; » не ставится. Условия - логические выражения Простые Сложные Операции отношений Логические операции
Условный оператор program n_9; var x, a, b: real; begin writeln ('Определение принадлежности точки отрезку'); write ('Введите а, b>>'); a, b, x да readln (a, b); write ('Введите x>>'); ДА readln (x); if (x>=a) and (x<=b) then writeln ('Точка принадлежит отрезку') else writeln ('Точка не принадлежит отрезку') еnd. (x>=a) and (x<=b) нет НЕТ
Неполный условный оператор program n_10; var y, a, b, c: integer; begin writeln ('Нахождение наибольшей из трёх величин'); да write ('Введите а, b, с>>'); readln (a, b, c); Y: =B y: =a; if (b>y) then y: =b; да if (c>y) then y: =c; writeln ('y=', y) Y: =C end. Y: =A B>Y C>Y нет
Составной оператор В условном операторе и после then, и после else можно использовать только один оператор. Если в условном операторе после then или после else нужно выполнить несколько операторов, то используют составной оператор – конструкцию вида: begin <последовательность операторов> end
Блок-схема решения КВУР Начало Введите коэффициенты a, b, c d: =b*b-4*a*c да нет d<0 да Вывод «Корней нет» d: = 0 нет x: =-b/2/a Вывод «Корень уравнения х=» , х х1: =(-b+sqrt(d))/2/a х2: =(-b-sqrt(d))/2/a Конец Вывод «Корни уравнения: х1=» , х1, «х2=» , х2
program n_11; var a, b, c: real; var d: real; var x, x 1, x 2: real; begin writeln ('Решение квадратного уравнения'); write ('Введите коэффициенты a, b, c >>'); readln (a, b, c); d: =b*b-4*a*c; if d<0 then writeln ('Корней нет') else if d=0 then begin x: =-b/2/a; writeln ('Корень уравнения x=', x: 9: 3) end else begin x 1: =(-b+sqrt(d))/2/a; x 2: =(-b-sqrt(d))/2/a; writeln ('Корни уравнения: '); writeln ('x 1=', x 1: 9: 3); writeln ('x 2=', x 2: 9: 3) end.
Вложенные ветвления if <условие 1> then if <условие 2> then <оператор1> else <оператор2> else <оператор3> ! else всегда относится к ближайшему оператору if
Решение линейного уравнения Список данных a, b, x - вещ a, b да x: =-b/a a<>0 да program n_12; Корней нет var a, b, x: real; begin writeln ('Решение линейного уравнения'); write ('Введите коэффициенты a , b>>'); readln (a, b); if a<>0 then begin x: =-b/a; writeln ('Корень уравнения x=', x: 9: 3) end else if b<>0 then writeln ('Корней нет') else writeln ('x – любое число'); end. нет b<>0 Любое число
Самое главное При записи на языке Паскаль разветвляющихся алгоритмов используют условный оператор: if <условие> then <оператор_1> else <оператор_2> Для записи неполных ветвлений неполный условный оператор: используется if <условие> then <оператор> Если при некотором условии требуется выполнить определённую последовательных операторов, то их объединяют в один составной оператор, имеющий вид: begin <последовательность операторов> end
Вопросы и задания Поле Напишите натуральныхдоски Напишите точка Напишитешахматной для решения задачи: программу, Дано трёхзначное число. Даны три программу, числа. определяется липарой Составьте программу определяющую, лежит значение Дан условный оператор: из вычисляющую обмен Напишите натуральных программу, которая производит с такими А(ха, ya что программу, ли треугольник функции: ): чисел, каждое которая определяет: на Напишите 31 января которых не превосходит определяющую, существует 2011 года приходится 8. Известно, значений составной оператор, упростите y. Напишите c: =1 kxзначения если x побыть присвоены введённым а) на прямой. Какие + x икоторая под ней; y If a<5 then программу, y должны Используяпеременныхоl, над, ней илибольше следующий длинами сторон. = такое составной оператор? лет трёх понедельник. данные ли количестве полных Имеются Что в заданного есть лидве точки полей приусловнымn) трёхзначного Даны Являетсяцифр плоской ) <0 целого пользователю x прямоугольной числом, координатам треугольник существует, то определяющем двух (m, фрагментсреди число «перевёртышем» , определите его программы: -1 (k, алгоритме, т. оператором Напишите ли программу, в в l. Пример выходныхсистеме которой Если такой литернойelse ifон используется виусловномопределяет, переменной являетсячего a>5 then программу, определяющую, призёров спартакиады. yc: =2 Пример выходных данных Пример входных записывается последовательностьданных одного полноеоператоре? Пример Как на языке Напишите Паскальполями ие. данных неполное числа Дляли эти полясимволов? координат. входных данных одинаковые; являются цвета. выводящую тип (равносторонний, равнобедренный, одинаково слева день неделизапись которого читается января 2011 года? любого выбирающую предлагаетсядля y = if a>b при x=0 дополнить числа некотороеи десятичнаяточек находится ближе к началуцелое число а Напишите программу, до 100(chislo) разносторонний). then ветвление? которая из 5 else 0 x: =0 c: =1; 7 K, >> 5 самогоx
Опорный конспект Условный оператор Полная форма if <условие> then <оператор_1> else <оператор_2> Неполная форма if <условие> then <оператор> Составной оператор begin <последовательность операторов> end