Арифметические выражения

Download Report

Transcript Арифметические выражения

Арифметические выражения
Выражение - это формальное
правило для вычисления
некоторого значения.
В зависимости от типа значения
выражения можно разделить на три
вида:
· численные (арифметические);
· логические;
· символьные.

Численные (арифметические)
выражения
Представляют собой совокупность имен
переменных, констант, функций, а
также других выражений числовых
типов, объединенных знаками
арифметических операций и круглыми
скобками. В Паскале предусмотрены
шесть арифметических операций:
+ сложение
- вычитание
* умножение
/ деление
div деление нацело
mod остаток от деления
5 div 3 =1
5 mod 3 = 2
- 5 div 3 = -1
-5 mod 3 = -2
5 div -3 = -1
5 mod -3 = 2
- 5 div -3 = 1
-5 mod -3 = -2
№ 1. Вычислите:
а) – 20 div 6 =
б) -20 mod 6 =
в) 20 div – 3 =
г) 20 mod – 3 =
д) 20 div 4 =
е) 2 mod 5 =
При построении арифметических
выражений можно использовать
различные
встроенные (стандартные)
математические функции.
функции
Назначение
abs(x)
Абсолютное значение x
pi
Значение числа ПИ
sin(x)
Синус x радиан
cos(x)
Косинус x радиан
sqrt(x)
Квадратный корень из x>=0
sqr(x)
Значение квадрата x
Round(x)
Random
Округляет x до ближайшего
целого
Случайное число от 0 до 1
Random(X)
Случайное число от 0 до Х
№ 2. Определите тип значения
выражения (integer или real):
а) 1 + 0.0
б) 20/4
в) sqr(4)
г) sqr(5.0)
д) sqrt(16)
з) round( - 1.8)
Правила записи арифметических выражений:
1. Запись должна быть линейной (в одну строку).
2. Нельзя пропускать знак * между сомножителями
(2*а).
3. Нельзя записывать подряд два знака
арифметических операций
4. Количество открытых скобок должно совпадать с
количеством закрытых скобок
Приоритет операций
1. Стандартные функции
2. *, /, div, mod
3. + , Если приоритет одинаковый, то операции
выполняются по порядку. Чтобы изменить порядок
действий добавляют круглые скобки.
№ 3. Запишите в общепринятой
форме:
a. (-b+sqrt(sqr(b)-4*a*c)/(2*a)
b. a/b*(c+d)-(a-b)/b/c
c. (abs(x)-abs(y))/(1+sin(x*y))
d. (abs((y-sqrt(abs(x)))*(x-y/(z+sqr(x)/4)))
Оператор присваивания
Определите значения всех переменных
после выполнения следующих
операторов присваивания, которые
выполняются последовательно:
a : = 2;
b : = 3;
c : = (a + b)*(a –b);
c : = c*(a mod b);
c : = - (a* sqr(sqr(b)) div sqr(c));
Найдите ошибку в записи:
X : = I + 4;
x : = 2,76 * A;
3*x : = L;
-v : = A+B;
1 : = 1;
P : = 2.5 mod 2;
A : = B + C/1; (если А – целое).
Пример программы нахождения
площади прямоугольника
program pr1;
var A,B,S:real;
begin
writeln(‘Введите стороны A и В’);
readln (A, B);
S:=A*B;
writeln(‘S=’,S:4:1)
end.
Оператор вывода Write
Например:
write (‘x=’,(5+4)*3);
на экране после выполнения оператора: x=27
S : = 4;
write (‘S’);
write (S);
на экране после выполнения оператора: S4
S : = 4.0;
writeln (‘S’);
writeln (S);
на экране после выполнения оператора: S
4.000000000000000E+000
Вещественная переменная S представлена в форме с плавающей
запятой.
Можно использовать
форматированный вывод:
1) При выводе вещественных значений
можно указать, сколько десятичных
цифр следует сохранить в дробной
части числа. Количество цифр
указывается вслед за количеством
позиций, отводимых для вывода всего
числа. Знак числа и десятичная точка
занимают отдельную позицию.
Например:
S : = 4.0;
write (‘S=’);
writeln (S:5:2);
на экране после выполнения оператора: S= 4.00
S =
4 . 0 0
Что будет выведено на экран в
результате выполнения операторов:
a. writeln (3.7896:4:2);
b. writeln (375.7896:4:2);
c. x : = -17.125;
x : = x + 2.3E-2;
write (‘2x=’, x*2:3:2, ‘x=’, x:4:3);
d. S : = 2;
writeln (‘S=’, S, ‘km’);
2) При выводе целых значений можно
указать, сколько позиций следует
отвести
для вывода всего числа.
Например: S : = -4;
write (‘S’, S:3);
на экране после выполнения оператора: S -4
s
-
4
Логические выражения
Постройте противоположные условия
для условий:
a<b
a>b
a = b.
Для следующих условий найти
истинные условия и ложные условия:
x : = 0; y : = -1; z : = 1;
1) (x < 0) or (y < 0)
2) (x = 0) and (y <> 0)
3) (y <> 1) and (z <>1)
4) (y <> 1) and (z <>1) or (x <> 1)
5) (y = 1) or (x <>1) and (z <> 1)
Дан фрагмент программы. Начиная с третьей строки
определите какое значение
будет присвоено соответствующей переменной.
b : = true; v : = 3;
x : = 1; y : = -2;
z : = 2*abs(y);
k : = trunc(x / y * z / v * 2 / 0.5);
y : = sqrt (x * y * z * k);
m : = (-k) div 3;
c : = (k < m) and b;
b : = not c or (y <> z);