Лабораторная работа № 1. ------------------------------------------------------------------------------------------Арифметические выражения Арифметические выражения строятся из операндов, арифметических операций и круглых скобок. В качестве операндов могут быть константы, переменные и функции. В бесскобочных арифметических выражениях операции выполняются слева направо в соответствии с их приоритетом. 1. * (умножение); / (деление); DIV (деление нацело); MOD (выделение остатка от деления целых чисел). 2. + (сложение); - (вычитание). Изменить порядок выполнения операций можно с помощью круглых скобок. Выражение, заключенное в круглые скобки, выполняется в первую очередь. Например, выражению a/bc a a c соответствует математическая запись b , а выражению а/(bс) соответствует запись bc . Тип арифметического выражения определяется типом входящих в него операндов. Арифметическое выражение является целым, если все входящие в него операнды целого типа. Результат вычисления целого арифметического выражения - целый. Если в арифметическом выражении содержится хотя бы один вещественный операнд, то результат - вещественный. Целые операнды в вещественном арифметическом выражении всегда преобразуются к вещественному типу. Операции целочисленного деления DIV и MOD применимы только к целым числам. Результат их выполнения - целый. Исключение составляет операция деления с использованием символа ‘/’. Результат выполнения этой операции всегда вещественный, независимо от типа операндов. Например, значением выражения 2/5 будет вещественное число 0.4. Примеры вычислений арифметических выражений Арифметические выражения 6 + 4 * (5 - 3) 6 + 4 * (5 - 3.0) 7 DIV 2 7 MOD 2 7/2 Результат 14 14.0 3 1 3.5 Тип результата Целый Вещественный Целый Целый Вещественный Стандартные функции Часто используемые в арифметических выражениях элементарные математические функции оформлены в виде стандартных подпрограмм, которые хранятся в библиотеке Турбо Паскаля (файл с именем TURBO.TPL). Для правильного обращения к стандартной функции, необходимо записать имя функции, за которым в круглых скобках следует аргумент (параметр). Приоритет вычисления функций выше, чем приоритет арифметических операций. Ниже представлен набор стандартных функций с указанием типов функции и аргумента. В таблице приняты обозначения: I-целый тип, R- вещественный тип. Математическая запись |x| x2 sin x cos x arctg x Запись в Турбо Паскале Abs(x) Sqr(x) Sin(x) Cos(x) Тип аргумента IR IR I или R Тип функции IR IR R Arctan(x) Exp(x) Ln(x) Sqrt(x) x e ln x x Выделение целой части аргумента Выделение дробной части аргумента Pi Trunc(x) Round(x) Frac(x) I или R I или R R R R R R I R R Возведение в степень В Турбо Паскале отсутствует операция возведения в степень. Реализация этой операции зависит от типа показателя. Если показатель целого типа, то операция возведения в степень реализуется многократным умножением. Например: x4 =>x x x x; sin2x => sqr(sin(x)). a a ln x Если показатель вещественного типа, то пользуются соотношением: x e , где x>0; a вещественное число или выражение. Запись в Турбо Паскале имеет вид: xa=>exp(a*ln(x)). Например: 3 x 1 x3 exp(1 / 3 ln( x )) . Примеры программирования арифметических выражений Математическая запись Запись в Турбо Паскале a 12b c1 1.8 10 3 (a + 12 b)/(c1 - 1.8E3) 2 sin 4 x cos2 ( x 2 ) 3x e exp((2sin(4x)+sqr(cos(xx)))/(3*x)) ln |tg -sin(3)| ln(abs(sin(al)/cos(al)-sin(al*al*al))) Контрольные задания 1. Составить раздел описания для заданных переменных № вар. 1 2 3 4 5 6 Математ ическая запись С2, Lt, j Z1, T, rs M, n1, ap B, 0, , h , E st, w, y1 T3, j, x Q, w, Z1 N, x1, b A, , min J, I, K F, Тип № вар. логический символьный целый вещественный вещественный символьный целый вещественный строковый вещественный целый 9 10 11 12 13 14 Математическая запись Sum, max, w T, Z1, R D, C3, kb t, x1, I, do, l1, Kн Ch, Q, rez N, Kc, a2 Z, fd, I, kd, l1 Q, , lt M1, j, r A, , Тип вещественный логический строковый вещественный целый символьный целый символьный строковый вещественный логический S, R2 , y4, n, a0, k , , l, k1, m 7 8 логический вещественный логический вещественный символьный 15 16 bo M0, j, rcm E, , f1 , , с str, , P1 вещественный целый вещественный вещественный строковый 2. Записать в Турбо Паскале константы а) целые; б) вещественные (в форме десятичных чисел и чисел с порядком). № Математическая запись варианта 1 1 2 а) +15; 72,93103 ; -500 б) 8 ; -16,7; 0,054102; 62,710-5 а) 0,2; 32103; -8102 б) -0, 25; 2,89102; 3,164; 23,710-4 3 4 5 6 7 8 9 10 2 52,62510-4 б) 3 ; а) 600; -041; 0,0310-2; -715,4; 2,1103 а) 735; -24103 ; 13,14102 б) 0,0265103; -3,7; 54,6; 0,27510-2 а) 014; 25100; 27,3103 б) 0,518; 2,546102 ; -0,0710-3; 3,04 а) 014; 25100; 27,3102 б) 15,37; 4,5210-3; 23; 0,0083 а) 07; 94102; 16,27103 б)8,4; -35,0710-1; 6,3102; 0,004 а) 41; 286100; 23,7102 б) 0,817; 0,645102; 0,718110-3; 0,3556100 а) 377; -15103; 25,4103 б) - 0,572106; 6,28; 5886; 0,0695102 а) 012; 7,5103; -0,05102 б) -0,08410-2; 0,08410-2; -52; 1 5 11 а) 0015; -9,410 ; 99,0 б) -5,14; 27,0610 ; 0,008102 а) 276; 9,275103; -0,2 б) -0,56106; 0,07425; 6; -0,873 3 12 13 14 15 16 1 а) 03; 52100; -1,0103 б) 5 ; 631,5102; 1 4; -8,25; 92,1104 а) -016; 95,72102; -576 б) -2,75; 81,210-6; 15,0103; -0,03310-3 а) 05; -91,0103; 14,5102 б) 3,48; 1б5102, 9,1210-5; 0,0385 а) 008; 7,2104; -12102 б) 54; -17,8; 2,04110-3; 513103 3. Записать в Турбо Паскале арифметические выражения № варианта -6 Математическая запись 1 2 3 cos 2 ( x ) 6 1 sin y 2 2 |xy| e 1 (1 2x ) a 3 5a nx | cos x 3 | bc 4 ln | a 7 | arctg x 2 5 5 (a b ) 2 e cd |ax| x 1 6 2mg 1 2 m(a sin b cos ) 7 1 1 x2 1 tg 4 1 x 2 8 a b ln x 3 e 9 | sin | cos 10 5 11 4 с y3 xy x 2 x e 3 a 2 b2 2 x (arctg z cos 2 y) 12 13 x x cos 3 4 R ( x ) 2 2 2 cos( x sin ) 4 14 | ln( 1 2x cos x 2 ) | 3 15 a 0 a1x a 2 3 | sin x | 16 tg x 3 sin x 3 x 4. Записать в виде алгебраической формулы № варианта 1 2 3 4 5 6 Запись в Турбо Паскале ln(abs(sqr(x)x))+arctan(x)+exp(omega) xsin(pi/4)/(1-2xcos(pi/4)+exp(1/3ln(x))) sqrt(abs(ln(sin(x)+2))) 3sin(x)+1/3ln(1+xx)+sqrt(exp(x)) sqrt(abs(x-y))/(sqr(sin(z))+1) exp(abs(x+y))exp(xln(1+sin(y))) 7 8 9 10 11 12 13 14 15 16 2((x+y+z)sqr(x+y+z)/(2x)-sin(xxx)) (sin(al)+arctan(al))/(omega+sqr(cos(al))) exp(cos(x))sqr(cos(sin(x)))+5.7E-1 exp(x)/(4E-1+xx)-sin(ln(x)) 4aa+x(bbb+x(sqr(c)sqr(c)+x(a-exp(x)))) 18asqr(x)+exp(2/3ln(x))+sin(al/2) 2bbb+ln(a)-exp(2.5ln(x)) (x+y+z)/(sqr(sin(a*x))+bb) exp(y/xln(abs(x)))+exp(1/3ln(y/x)) arctan(xxx)/(ln(x)+sin(x)/cos(x))+1 5. Вычислить арифметическое выражение № вар. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Запись в Турбо Паскале 18.75 - 16.4Е0 + 1/4 frac(sqrt(a + b)) 3 DIV x + sqr(x) (xxt + 2.1)trunc(1/4) + 5 I + 3 - i sqr(i) 4 + exp(trunc(3/2) ln(6.25E-1)) 1 MOD 3 + 1 DIV 3 2 10 DIV 4 x/(y x - y) + x/y + 1.2E1 19 DIV 4 + 1 MOD 4 100 (99 DIV 100) m + k ((m + k) DIV n) - n 2 trunc(4/10) + 2E0 2.0 (1E1 / 5) 19 DIV 4 + 5 MOD 4 exp(1/3 ln(27)) + 2 Исходные данные a =0.84; b=0.16 x=2 x=36; t=5.287 i= -3 x=3; y= 1.5 m =2; k=7; n=10 -