Книги по разным темам Pages:     | 1 |   ...   | 2 | 3 | 4 | 5 |
  • Нельзя опускать знак умножения между сомножителями и ставить рядом два знака операций.
  • Индексы элементов массивов записываются в квадратных (школьный АЯ, Pascal) или круглых (Basic) скобках.
  • Для обозначения переменных используются буквы латинского алфавита.
  • Операции выполняются в порядке старшинства: сначала вычисление функций, затем возведение в степень, потом умножение и деление и в последнюю очередь — сложение и вычитание.
  • Операции одного старшинства выполняются слева направо. Например, a/b*c соответствует a/b*c. Однако, в школьном АЯ есть одно исключение из этого правила: операции возведения в степень выполняются справа налево. Так, выражение 2**(3**2) в школьном АЯ вычисляется как 2**(3**2) = 512. В языке QBasic аналогичное выражение 2^3^2 вычислясляется как (2^3)^2 = 64. А в языке Pascal вообще не предусмотрена операция возведения в степень, в Pascal x^y записывается как exp(y*ln(x)), а x^y^z как exp(exp(z*ln(y))*ln(x)).

Примеры записи арифметических выражений

Математическая запись

Запись на школьном алгоритмическом языке

x*y/z

x/(y*z) или x/y/z

(a**3+b**3)/(b*c)

(a[i+1]+b[i-1])/(2*x*y)

(-b+sqrt(b*b-4*a*c))/(2*a)

(x<0)

sign(x)*abs(x)**(1/5)

0.49*exp(a*a-b*b)+ln(cos(a*a))**3

x/(1+x*x/(3+(2*x)**3))

Типичные ошибки в записи выражений:
а

5x+1
a+sin x
((a+b)/c**3

Пропущен знак умножения между 5 и х
Аргумент x функции sin x не заключен в скобки
Не хватает закрывающей скобки

7.21. Как записываются логические выражения

В записи логических выражений помимо арифметических операций сложения, вычитания, умножения, деления и возведения в степень используются операции отношения < (меньше), <= (меньше или равно), > (больше), >= (больше или равно), = (равно), <> (не равно), а также логические операции и, или, не.

Примеры записи логических выражений, истинных при выполнении указанных условий.

Условие

Запись на школьном алгоритмическом языке

Дробная часть вещественого числа a равна нулю

int(a) = 0

Целое число a — четное

mod(a,2) = 0

Целое число a — нечетное

mod(a,2) = 1

Целое число k кратно семи

mod(a,7) = 0

Каждое из чисел a,b положительно

(a>0) и (b>0)

Только одно из чисел a,b положительно

((a>0) и (b<=0)) или
((a<=0) и (b>0))

Хотя бы одно из чисел a,b,c является отрицательным

(a<0) или (b<0) или (c<0)

Число x удовлетворяет условию a<x<bа

(x>a) и (x<b)

Число x имеет значение в промежутке [1, 3]

(x>=1) и (x<=3)

Целые числа a и b имеют одинаковую четность

((mod(a,2)=0) и (mod(b,2)=0) или
((mod(a,2)=1) и (mod(b,2)=1))

Точка с координатами (x,y) лежит в круге радиуса r с центром в точке (a,b)

(x-a)**2+(y-b)**2<r*r

Уравнение ax^2+bx+c=0 не имеет действительных корней

b*b-4*a*c<0

Точка (x,y) принадлежит первому или третьему квадранту

((x>0) и (y>0)) или
((x<0) и (y>0))

Точка (x,y) принндлежит внешности единичного круга с центром в начале координат или его второй четверти

(x*x+y*y>1) или
((x*x+y*y<=1) и
(x<0) и (y>0))

Целые числа a и b являются взаимнопротивоположными

a = -b

Целые числа a и b являются взаимнообратными

a*b = 1

Число a больше среднего арифметического чисел b,c,d

a>(b+c+d)/3

Число a не меньше среднего геометрического чисел b,c,d

a>=(b+c+d)**(1/3)

Хотя бы одна из логических переменных F1 и F2 имеет значение да

F1 или F2

Обе логические переменые F1 и F2 имеют значение да

F1 и F2

Обе логические переменые F1 и F2 имеют значение нет

не F1 и не F2

огическая переменная F1 имеет значение да, а логическая переменная F2 имеет значение нет

F1 и не F2

Только одна из логических переменных F1 и F2 имеет значение да

(F1 и не F2) или
(F2 и не F1)

7.22. Упражнения

7.1. Запишите по правилам алгоритмического языка выражения:

a)

e)

б)

ж)

в)

з)

г)

и)

д)

к)


[ Ответ ]

7.2. Запишите в обычной математической форме арифметические выражения:

а) a/b**2;
б) a+b/c+1;
в) 1/a*b/c;
г) a**b**c/2;
д) (a**b)**c/2;
е) a/b/c/d*p*q;
ж) x**y**z/a/b;
з) 4/3*3.14*r**3;
и) b/sqrt(a*a+b);
к) d*c/2/R+a**3;

) 5*arctg(x)-arctg(y)/4;
м) lg(u*(1/3)+sqrt(v)+z);
н) ln(y*(-sqrt(abs(x))));
о) abs(x**(y/x)-(y/x)**(1/3));
п) sqrt((x1-x2)**2+(y1-y2)**2);
р) exp(abs(x-y))*(tg(z)**2+1)**x;
c) lg(sqrt(exp(x-y))+x**abs(y)+z);
т) sqrt(exp(a*x)*sin(x)**n)/cos(x)**2;
у) sqrt(sin(arctg(u))**2+abs(cos(v)));
ф) abs(cos(x)+cos(y))**(1+sin(y)**2);


[ Ответ ]

7.3. Вычислите значения арифметических выражений при x=1:
а) abs(x-3)/ln(exp(3))*2/lg(10000);
аа Решение: abs(1-3)=2; ln(exp(3))=3; lg(10000)=4; 2/3*2/4=0.33;
а
б) sign(sqrt(sqrt(x+15)))*2**2**2;
в) int(-2.1)*int(-2.9)/int(2.9)+x;
г) -sqrt(x+3)**2**(sign(x+0.5)*3)+tg(0);
д) lg(x)+cos(x**2-1)*sqrt(x+8)-div(2,5);
е) sign(x-2)*sqrt(int(4.3))/abs(min(2,-1));
ж) div(10,x+2)*mod(10,x+6)/max(10,x)*mod(2,5).
[ Ответ ]

7.4. Запишите арифметические выражения, значениями которых являются:
а) площадь треугольника со сторонами a, b, c (a, b, c>0) и полупериметром p;
аа Ответ: sqrt(p*(p-a)*(p-b)*(p-c));

б) среднее арифметическое и среднее геометрическое чисел a, b, c, d;
в) расстояние от точки с координатами (x,y) до точки (0,0);
г) синус от x градусов;
д) площадь поверхности куба (длина ребра равна а);
е) радиус описанной сферы куба (длина ребра равна а);
ж) координаты точки пересечения двух прямых, заданных уравнениями
аа a1x+b1y+c1=0 и a2x+b2y+c2=0 (прямые не параллельны).
[ Ответ ]

7.5. Вычислите значения логических выражений:
а) x*x+y*y<=9 при x=1, y=-2
аа Ответ: да;
а
б) b*b-4*a*c<0 при a=2, b=1, c=-2;
в) (a>=1) и (a<=2) при a=1.5;
г) (a<1) или (a>1.2) при a=1.5;
д) (mod(a,7)=1) и (div(a,7)=1) при a=8;
е) не ((a>b) и (a<9) или (а*а=4)) при a=5, b=4.
[ Ответ ]

7.6. Запишите логические выражения, истинные только при выполнении указанных условий:
а) x принадлежит отрезку [a, b]
аа Ответ: (x>=a) и (x<=b);
а
б) x лежит вне отрезка [a, b];
в) x принадлежит отрезку [a, b] или отрезку [c, d];
г) x лежит вне отрезков [a, b] и [c, d];
д) целое k является нечетным числом;
е) целое k является трехзначным числом, кратным пяти;
ж) элемент ai,j двумерного массива находится на пересечении нечетной строки и четного столбца;
з) прямые a1x+b1y+c1=0 и a2x+b2y+c2=0 параллельны;
и) из чисел a, b, c меньшим является с, а большим b;
к) среди чисел a, b, c, d есть взаимно противоположные;
) среди целых чисел a, b, c есть хотя бы два четных;
м) из отрезков с длинами a, b, c можно построить треугольник;
н) треугольники со сторонами a1, b1, c1 и a2, b2, c2 подобны;
о) точка с координатами (x,y) принадлежит внутренней области треугольника с вершинами A(0,5), B(5,0) и C(1,0);
п) точка с координатами (x,y) принадлежит области, внешней по отношению к треугольнику с вершинами A(0,5), B(1,0) и C(5,0);
р) четырехугольник со сторонами a, b, c и d является ромбом.
[ Ответ ]

7.7. Начертите на плоскости (x,y) область, в которой и только в которой истинно указанное выражение. Границу, не принадлежащую этой области, изобразите пунктиром.
а

а) (x<=0) и (y>=0)
аа Ответ:
а

е) ((x-2)**2+y*y<=4) и (y>x/2)
аа Ответ:
а

б) (x>=0) или (y<=0)
в) x+y>=0
г) (x+y>0) и (y<0)
д) abs(x)+abs(y)>=1

ж) (x*x+y*y<1) и (y>x*x);
з) (y>=x) и (y+x>=0) и (y<=1);
и) (abs(x)<=1) и (y<2);
к) (x**2+y**2<4) и (x**2+y**2>1);


[ Ответ ]

7.8. Запишите логическое выражение, которое принимает значение "истина" тогда и только тогда, когда точка с координатами (x, y) принадлежит заштрихованной области.


[ Ответ ]

7.9. Пусть a=3, b=5, c=7. Какие значения будут иметь эти переменные в результате выполнения последовательности операторов:
а) a:=a+1; b:=a+b; c:=a+b; a:=sqrt(a)
аа Решение: a=3+1=4, b=4+5=9, c=4+9=13, a= {корень из}4 =2.
аа Ответ: а=2, b=9, c=13;
б) с:=a*b+2; b:=b+1; a:=c-b**2; b:=b*a;
в) b:=b+a; c:=c+b; b:=1/b*c;
г) p:=c; c:=b; b:=a; a:=p; c:=a*b*c*p;
д) c:=a**(b-3); b:=b-3; a:=(c+1)/2*b; c:=(a+b)*a;
е) x:=a; a:=b; b:=c; c:=x; a:=sqrt(a+b+c+x-2);
ж) b:=(a+c)**2; a:=lg(b**2)**2; c:=c*a*b.
[ Ответ ]

7.10. Задайте с помощью операторов присваивания следующие действия:
а) массив X=(x1, x2) преобразовать по правилу: в качестве x1 взять сумму, а в качестве х2 — произведение исходных компонент;
аа Решение: c:=x[1]; x[1]:=x[1]+x[2]; x[2]:=c*x[2]
б) поменять местами значения элементов массива X=(x1, x2);
в) в массиве A(N) компоненту с номером i (1<i<N) заменить полусуммой исходных соседних с нею компонент, соседнюю справа компоненту заменить на нуль, а соседнюю слева компоненту увеличить на 0.5;
г) u=max(x,y,z)+min(x-z,y+z,y,z);
[ Ответ ]

7.11. Задайте с помощью команд если или выбор вычисления по формулам:

a)


б)

Pages:     | 1 |   ...   | 2 | 3 | 4 | 5 |    Книги по разным темам