- •Лабораторная работа №2 Программирование разветвлений
- •2Результат функции arctan получается в радианах. Кроме приведенных в табл. 1, в арифметических выражениях также используются следующие стандартные функции:
- •2Функция frac(X) вычисляет дробную часть X. Аргумент и результат — real. Например, write(frac(0.25*11):4:2); {результат 0.75};
- •3.1Полезные формулы
- •Условный оператор
- •Оператор выбора Case
- •5.3Блок – схема алгоритма программы
- •5.4Текст программы
- •5.5Тестирование
- •6Практическая часть
2Функция frac(X) вычисляет дробную часть X. Аргумент и результат — real. Например, write(frac(0.25*11):4:2); {результат 0.75};
3функция int(x) вычисляет целую часть x. Аргумент и результат — real. Например, write(int(422.117):4:2); {результат 422.00}; Таким образом, x=int(x)+frac(x).
3.1Полезные формулы
Возведение в степень
Вычисление степени числа выполняется в Pascal с использованием свойств логарифмов:
Таким способом нельзя возвести в степень отрицательное число. Можно возвести в степень модуль этого числа, а знак обработать отдельно.
Логарифм с произвольным основанием
Для вычисления логарифма с основанием a используем:
Тригонометрические функции
В Pascal определены только три тригонометрические функции: sin, cos, arctg (табл. 1). Для вычисления остальных тригонометрических функций необходимо использовать известные соотношения:
;
;
;
;
;
Приступая к решению задач, следует вспомнить, что:
инструкция if используется для выбора одного из двух направлений дальнейшего хода программы (последовательности инструкций, которые должны быть выполнены);
выбор последовательности инструкций осуществляется во время выполнения программы в зависимости от выполнения условия',
условие — это выражение логического типа, которое может принимать одно из двух значений: true (истина — условие выполняется) или false (ложь — условие не выполняется);
при помощи логических операций And (логическое "И") и or (логическое "Или") из простых условий можно строить сложные.
Условный оператор
Оператор (инструкцию) if можно записать двумя способами:
Вариант 1.
if Условие
then
begin
{ Эти инструкции выполняются, }
{ если Условие истинно }
end
else
begin
{ Эти инструкции выполняются, }
{ если Условие ложно }
end;
Вариант 2.
if Условие
then
begin
{ Эти инструкции выполняются, }
{ если Условие истинно }
end;
В последнем случае говорят о сокращенной форме условного оператора (алгоритмическая конструкция обход).
Ключевые слова if, then, else обозначают "если", "то", "иначе" соответственно. Выполнение условного оператора начинается с вычисления условия. Если оно истинно (true, "да", 1), то выполняется оператор, стоящий после служебного слова then. Если условие ложно (false, "нет", 0), то выполняется оператор, стоящий после служебного слова else, в сокращенной форме условного оператора — выполняется следующая по порядку за оператором условия инструкция.
Оператор выбора Case
Приступая к решению задач, следует помнить, что:
инструкция case используется для выбора одного из нескольких направлений дальнейшего хода программы (последовательности инструкций, которые должны быть выполнены);
выбор последовательности инструкций осуществляется во время выполнения программы в зависимости от равенства значения переменной-селектора константе, указанной перед группой инструкций;
в качестве переменной-селектора можно использовать переменную целого (integer) или символьного (char) типа.
Инструкция case имеет вид:
case Выражение-селектор of
СписокКонстант1: begin
{ Инструкции 1 }
end;
СписокКонстант2: begin
{ Инструкции 2 }
end;
СписокКонстантN: begin
{ Инструкции N }
end
else
begin
{ Инструкции }
end;
end;
Выполнение оператора case начинается с вычисления выражения-селектора. Инструкции между begin и end выполняются в том случае, если значение выражения после слова case совпадает с константой из соответствующего списка. Если это не так, то выполняются инструкции, следующие после else, расположенные между begin и end. Если else отсутствует, выполняется оператор программы, следующий за case.
Обратите внимание — в конце оператора case стоит ключевое слово end, для которого нет парного слова begin. End располагают строго под case.
Например:
селектор целочисленного типа:
case i of
1: z:=i+10;
2: z:=i+100;
3: z:=i+1000;
end;
селектор интервального типа:
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('Число вне диапазона')
end;
4Примеры
5Пример
Два числа X и Y задаются при помощи оператора ввода. Вычислить сумму их квадратов, модуль разности и произведение. Текст программы на языке Паскаль приведен ниже. Здесь переменная SUM используется для обозначения суммы квадратов, переменная М - для обозначения модуля разности, переменная P -для обозначения произведения.
5.1Работа программы
Вводятся исходные числа Х и Y с клавиатуры.
5.2Назначение переменных
Назначение переменных, используемых в задаче, приведено в таблице 2
Таблица 2 – Назначение переменных
Переменная |
Тип |
Назначение |
x, y |
real |
Вещественные числа, вводимые с клавиатура |
Sum |
real |
Сумма квадратов исходных вещественных чисел |
M |
real |
Модуль разности исходных вещественных чисел |
p |
real |
Произведение исходных вещественных чисел |
