реферат. Александр Васин работа 3.1. Разветвления в программе
Скачать 117.46 Kb.
|
Лабораторная работа 3Разветвления в программеЦель работы – изучение основных принципов организации разветвлений и получение навыков составления и отладки программ. Обычно шаги алгоритма выполняются в том порядке, в котором они перечислены. Однако во многих алгоритмах последовательность шагов зависит от значений исходных данных. В таких случаях в зависимости от значений некоторых переменных нужно выбрать ту или иную последовательность шагов. Выбор нужной ветви алгоритма обычно производится по результату проверки некоторого условия. Шаг алгоритма, на котором выполняется проверка условия, называется шагом выбора или шагом ветвления. Простейший вид шага выбора представляет собой проверку логического условия, т.е. условия, которое может быть истинным или ложным. Шаг выбора может быть с одной и двумя альтернативами. Шаг выбора, при котором нужно выполнять одну последовательность действий, если условие истинно, и другую, если условие ложно, считается шагом выбора (ветвления) с двумя альтернативами. Шаг выбора, при котором необходимо выполнить некоторую последовательность действий в случае истинности условия и не нужно ничего выполнять, когда условие ложно, является шагом ветвления с одной альтернативой. В обоих случаях в результате проверки условия, будет выбран только один из путей. После этого выполнение алгоритма будет продолжено (выполняется его очередной блок). Алгоритм, содержащий хотя бы один шаг ветвления, называется разветвляющимся. Задание: Вариант 19. Составить программу вычисления: Значение х задать вводом. Этапы разработки программы (алгоритм): Работа с данными: выделение исходных данных (переменная x), расчётных данных (переменные a, b, c), для вычисления максимума введена дополнительная переменная (переменная max). Объявление переменных – оператор var var y,x, max:real; - переменным присвоен тип real – вещественный тип. 3. Ввод исходных данных: writeln('задайте x'); readln(x); Расчёт значений t, x в зависимости от значений введенного x с помощью оператора развилки IF: IF (x>=0)and (x<=1) then begin a:=sqrt(x); b:=sin(x); c:=x*x+3 end else begin a:=x+exp(x); b:=cos(x); c:=abs(x-2) end; Вывод на экран исходных данных (X) и рассчитанных значений (a, b, c): writeln(' x = ', x:6:2,'a = ', a:6:2,' b = ', b:6:2,' c = ', c:6:2); Поиск максимального значения из 3-ёх чисел (с использованием дополнительной переменной max): max:=a; if max<=b then max:=b; if max<=c then max:=c; Вывод результата: writeln(' Максимальное значение из a,b,c = ', max:6:2); Замечание: выражение max:6:2 - форматированный вывод, означает инструкцию Pascal о выделении при выводе под всё число (целая часть, дробная часть, точка) – 6 позиций, а под дробную часть – 2 (выбрано для данного примера). Форматированный вывод необходимо применять для вывода вещественных чисел, чтобы не выводилось в дробной части много знаков (до 16-ти). Листинг программы: var t, x, max:real; begin writeln('задайте a'); readln (x); if (x<=0) then begin t:=sin(x)+cos(x); end else if (0 begin t:=sin(x)-cos(x); end else if(0.5 begin t:=arctan(x*x); end else if(x>=1)then t:=ln(x); writeln ('x = ', x:6:2, 't = ', t:6:2); max:=t; end. Скриншот программы: |