Практическая работа. Информационные ресурсы общества. Образовательные информационные ресурсы. Работа с программным обеспечением
Скачать 5.79 Mb.
|
Тема: Разработка алгоритмов (программ), содержащих операцию ветвления. Цель работы: изучение случая ветвления программ; научиться создавать программы с использованием оператора ветвления. Студент должен знать: 4- алгоритмическую структуру условного оператора; -1- базовые понятия языка программирования Pascal; -1- форматы условного оператора. уметь: -1- запускать среду программирования Pascal; 4- набирать и компилировать программу; -I- разрабатывать программу для решения задачи с разветвляющейся алгоритмической структурой; 4- запускать программу на выполнение; -1- анализировать полученный результат. Теоретическое обоснование. Условный оператор или оператор ветвления используется, когда в алгоритме решения задачи предусмотрены альтернативные пути решения, т.е. из двух альтернатив выбирается одна, в зависимости от условия (условием является логическое выражение или несколько логических выражений), рисунок 1. Рисунок 1 Блок-схема алгоритма ветвления Логические выражения Простейшими логическими выражениями являются выражения отношения: Операции отношений в Turbo Pascal обозначаются так: = (равно), <> (не равно), < (меньше), > (больше), < = (меньше или равно) , > = (больше или равно). Примеры логических выражений: 3<5; 18>=2; A=B. В одном выражении может потребоваться проверка нескольких подобных условий. Условия могут быть связаны с помощью логических операций, из них наиболее часто используемые - это AND (И) и OR (ИЛИ). Например, определить, попадает ли значение переменной Х в интервал от 0 до 10, можно с помощью условия: (x=>0) and (x<=10) Составной оператор Если при некотором условии надо выполнить определенную последовательность операторов, то их объединяют в один составной оператор. Составной оператор начинается ключевым словом BEGIN и заканчивается словом END. Между этими словами помещаются составляющие операторы, которые выполняются в порядке их следования. После END ставится точка с запятой. Слова BEGIN и END играют роль операторных скобок, Тело самой программы также имеет вид составного оператора. После последнего END программы ставится точка. Оператор IF Общий вид оператора IF: IF A THEN ST1 ELSE ST2; Здесь IF, THEN, ELSE - зарезервированные слова (если, то, иначе); А - логическое выражение, ST1, ST2- операторы (простые либо составные). Условный оператор работает по следующему алгоритму. Вначале вычисляется условное выражение А. Если результат истина, то выполняется оператор ST1, а оператор ST2 пропускается; если результат ложь, наоборот, оператор ST1 пропускается, а выполняется оператор ST2. Затем, в обоих случаях управление передается к следующему оператору. При выполнении этого фрагмента переменная Y получит значение переменной Х, если это значение не превышает Z, в противном случае Y станет равно Z. Часть ложь ST2 может быть опущена. Тогда при значении истина условного выражения выполняется оператор ST1, в противном случае этот оператор пропускается. Методические рекомендации по выполнению практических заданий Пример 1 Вывести на экран значение y при х = - 5 по соответствующим формулам: у = < a , 2 —ъ Ы + c, i i, ai + bi3, если если если i < 4 4 < i < 6 i > 6 Program pr10_11; var a,b,c,i,y:real; begin a:=2.1; b:=1.8; c:=-20.5; write ('i='); read (i); if i<4 then y:=a/i+b*sqr(i)+c; if (i>=4) and (i<=6) then y:=i; if i>6 then y:=a*i+b*exp(3*ln(i)); writeln('y=',y); end. Пример 2 Предварительно за max принимается большее из а и b, но если окажется, что с превышает принятую величину max, то последняя заменяется на с ( рисунок). Рисунок Блок-схема алгоритма решения примера 2 Листинг программы Program Primer_2; Var a,b,c,max: real; Begin write (‘a=’); read (a); write (‘b=’); read (b); write (‘c=’); read (c); if a End. Ход работы Изучить теоретическое обоснование. Выполнить практические задания, используя методические рекомендации. Оформить отчет. Практические задания Задание №1. Вычислите значение функции и постройте блок схему. № Функция Параме тры № Функция Параме тры У = 1
a=-0.5 b=2 11 У = 1
a=2.1 b=l .8 c=-20.5 a=1.5 y=1 at2 + bt + c, если t < 1.2 a/t + V t2 +1, если t = 1.2 (a + bt)/Vt2 +1, если t > 1.2 a=2.8 b=-0.3 c=4 Г = Jit ax3 b(/>7 Hr, i4x. 4 a\. если /<1.4 если / = 1.4 если t >1.4 a=1.65 У = 1 1.5cos21, если t < 1 1.8at, если t = 1 (t - 2)2 + 6, если 1 < t < 2 3tgt, если t > 2 a=2.3 x^x - a, если x > a y = e-ax sin ax, если x < a a=2.5 hx — lg bx, если x<\ 1= если x = 1 bx + igbx, если x > 1 b=1.5 У = (ln3 x+х2)Л/x+1, если x <0.5 л/x+1 +1/x, если x = 0.5 cosx+1sin2 x, если x > 0.5 t=2.2 У = a + b - , если x < 2.8 ex +cosx (a + b)/(x +1), если 2.8 < x < 6 ex + sin x, если x > 6 a=2.6 b=-0.39 10 У = 1
a=2.5 b=0.4 1 2 3 4 5 6 7 8 9 Задание №2 Вычислите значение функции и постройте блок схему. Провести численные расчеты для a=1, b=2, c=3; a=-5, b=0, c=10.
Контрольные вопросы Какой оператор позволяет выполнить одно из нескольких действий в зависимости от результата вычислений выражения? Как происходит работа условного оператора If? В каких двух формах может быть записан оператор If? Как записываются составные высказывания в условиях? Объясните полную конструкцию ветвления IF THEN ELSE (перевод). Содержание отчета название и цель работы; номер варианта для выполнения задания и условие своего варианта; блок-схему решения задачи; тексты программ; полученные при расчетах численные результаты; ответы на контрольные вопросы. Литература. 4> |