ПРАКТИЧЕСКАЯ РАБОТА №4 Тема: Составление программ линейной и разветвляющейся структуры Цель работы - научиться составлять программы на языке Паскаль с использованием линейной и разветвляющейся структуры. Текст программы на Паскале располагается между служебными словами BEGIN и END, которые отмечают начало и конец программы. После служебного слова END ставится точка: Program Primer; (описание переменных) Begin (тело программы) End. Пример, Найти сумму 2 чисел, введенных с клавиатуры Program SUMMA; Var X,Y,Z: integer; Begin Write(‘Введите два числа ’); Readln(X,Y); Z:=X+Y; Write(Z); readln; End. заголовок программы описание переменных начало программы вывод сообщения на экран ввод значений X и Y вычисление суммы вывод результата на экран ожидание нажатия клавиши конец программы Условный оператор Общий вид: If <условие> then <оператор1> else <оператор2>; При использовании нескольких проверяемых условий применяются союзы AND, OR, а сами условия заключаются в круглые скобки. Если необходимо выполнить после служебных слов then, else несколько операторов, то они должны быть заключены в операторные скобки BEGIN…END. Пример, Вычислить значение функции y, если она изменяется следующим образом: y= x, при x < 2, 2, при 0 x 3, -x + 5, при x > 3. Program Ex; Var x, y : real; Begin read(x); if x < 2 then y:= x else if x > 3 then y:= -x + 5 else y:= 2; write(y); End. Обычно при написании программы не рекомендуется использовать многократно вложенные друг в друга условные операторы if — программа становится громоздкой и ее трудно понимать. Считается, что число уровней вложения не должно превышать двух-трех. Но как быть, если необходимо проверить достаточно много условий и в зависимости от них выполнять те или иные действия? Для этих целей в языке Тurbо Раsсаl существует специальный оператор выбора саsе. Инструкция саsе является обобщением оператора if и используется для выбора одного из нескольких направлений дальнейшего хода программы. Инструкция саsе имеет вид: CASE выражение-селектор OF cписок 1 : begin оператор 1; end; cписок 2 : begin оператор 2; end; cписок N : begin оператор N; end ELSE begin оператор ; end; END; Выполнение оператора саsе начинается с вычисления выражения-селектора. Инструкции между begin и end выполняются в том случае, если значение выражения после слова саsе совпадает с константой из соответствующего списка. Если это не так, то выполняются инструкции, идущие после е1sе, расположенные между begin и end. Если е1sе отсутствует, выполняется оператор программы, следующий за саsе. Обратите внимание на то, что в конце оператора саsе стоит ключевое слово end, для которого нет парного слова begin. Также в конструкции case можно задавать интервалы: CASE i OF 1..10 : writeln (‘число’,i:4,’в диапазоне 1 – 10’); 11..20 : writeln (‘число’,i:4,’в диапазоне 11–20’); 21..30 : writeln (‘число’,i:4,’в диапазоне 21–30’) ELSE writeln (‘число вне диапазона’) END; Пример, Написать программу, позволяющую по вводимому номеру дня недели вывести название дня. program p1; var n:integer; begin write('введите номер дня'); readln(n); case n of 1:writeln('понедельник'); 2:writeln('вторник'); 3:writeln('среда '); 4:writeln('четверг'); 5:writeln('пятница '); 6:writeln('суббота '); 7:writeln('воскресенье'); end; readln; end. САМОСТОЯТЕЛЬНАЯ РАБОТА 1. Известна цена за килограмм некоторого продукта. Ввести нужный вес в граммах и рассчитать сумму, которую необходимо заплатить. 2. Даны три целых числа. Найти наибольшее из них и вывести на экран. 3. Ввести номер месяца. Вывести название времени года. 4. Вычислить значение функции № варианта Выражение 1 x 2 5, при x 3 y 2 * x 2 1, при x 3 x 2 2, в остальных случаях 2 ( x 3) 2 , при x 2 y x 2 9, при x 2 x 2 5, в остальных случаях 3 2 * x x 2 5, при x 2 y x x 2 3, при x 2 x 2 5, в остальных случаях 4 ( x 3) 3 , при x 2 y x 2 9, при x 2 x 2 2, в остальных случаях 5 x 2 5, при x 2 y 2 * x 2 1, при x 3 x 2 2, в остальных случаях 6 x 2 5, при x 2 y x 2 , при x 2 x 3 , в остальных случаях 7 ( x 3) 2 , при x 2 y x 2 9, при x 2 x 2, в остальных случаях 8 ( x 3) 2 , при x 5 y x 2 9, при x 10 x 5, в остальных случаях 9 ( x 13) 2 , при x 2 y x 2 19, при x 3 x 3 15, в остальных случаях 0 ( x 19) 2 , при x 5 y x 2 16, при x 3 x 2 5, в остальных случаях