Типы данных. Преобразование типов данных. №26622 В пачке 500 листов бумаги формата А4. За неделю в офисе расходуется 1200 листов. Какое наименьшее количество пачек бумаги нужно купить в офис на 4 недели? Program Zadacha26622; uses crt; var a,b,c,d: real; begin Write ('1 пачка'); Read(b); Write('листы за неделю'); Read(a); Write ('сколько недель'); Read(c); d:= (a/b)*c ; Writeln(‘количество пачек=',d); end. int round trunc Проанализируйте и поясните приведенную ниже схему: Арифметические операции + * / + * mod div Операции отношений Логические операции Данные числового типа Вещественные числа Целые числа Данные символьного типа = <> > < >= <= Данные логического типа Not Or And xor В чем сходство и различие использования констант и переменных в программе? имя КОНСТАНТА тип значение ПЕРЕМЕННАЯ В каком из примеров допущены ошибки и какие именно? Var A,B: real; C,D: integer; E, F: char; G, H: Boolean; a) b) c) d) e) f) g) h) i) j) k) C:=A+25; C:=round(A+25); A:=C+2*D; A:=B+E; G:=(A+25) or H; G:=(A>25) or (not H); G:=A>25 and H; C:=D+sqrt(25); E:=’&’; E:=’&’+F; H:= ord(E)>D; Ошибки: a, d, e, g, h, j. Имя abs Описание модуль arctan арктангенс угла cos косинус угла вещественный cos x записывается cos(x) exp экспонента вещественный exp записывается exp(x) frac Результат вещественный Пояснения |x| записывается abs(x) вещественный arctg x записывается arctan(x) дробная часть аргумента вещественный frac(3.1) даст в результате 0.1 int целая часть аргумента вещественный frac(3.1) даст в результате 3.0 ln натуральный логарифм вещественный pi round значение числа п округление до целого sin синус угла вещественный sin x записывается sin(x) sqr квадрат целый x2 записывается sqr(x) sqrt trunc квадратный корень целая часть аргумента logex записывается ln(x) вещественный 3.1415926536 целый round(3.1) даст в результате 3 round(3.8) даст в результате 4 вещественный записывается sqrt(x) целый trunc(3.1) даст в результате 3 Стандартные функции и процедуры К целым величинам можно применять стандартные функции и процедуры, перечисленные ниже. Имя Описание abs arctan модуль арктангенс угла cos exp ln sin sqr sqrt succ косинус угла экспонента натуральный логарифм проверка на четность предыдущее значение синус угла квадрат квадратный корень следующее значение inc инкремент dec декремент odd pred Результат Функции целый вещественный вещественный вещественный вещественный логический целый вещественный целый вещественный целый Процедуры Пояснения |x| записывается abs(x) arctg x записывается arctan(x) cos x записывается cos(x) ex записывается exp(x) logex записывается ln(x) odd(3) даст в результате true pred(3) даст в результате 2 sin x записывается sin(x) x2 записывается sqr(x) записывается sqrt(x) succ(3) даст в результате 4 inc(x) - увеличить х на 1 inc(x, 3) - увеличить х на 3 dec(x) - увеличить х на 1 dec(x, 3) - увеличить х на 3 1) Найдите значения переменных, если это возможно. Учтите, что число 7.0 является вещественным, т.к. оно имеет дробную часть, хотя и равную нулю. Операции MOD и DIV можно выполнять только над целыми числами: a) A:=21 DIV 5 b) A:= 2 MOD 3 B:= 20 MOD 5 B:= 36.0 MOD 6 C:= 14 DIV 6.0 C:= 81 DIV 0 D:= 14 MOD 0 D:= 38 DIV 6 E:= 5 MOD 13 E:= 3 DIV 2 2) Найдите значения переменных, если это возможно: a) A:=SQR(100) b) A:=sqrt(9) B:=sqrt(100) B:=SQR(9) C:=SQR(-10) C:=SQRT(-9) D:=SQRT(-10) D:=SQR(-9) E:=SQR(0.9) E:=SQRT(0.0) F:=SQRT(0) F:=SQR(0.1) 3) Найдите значения переменных, если это возможно: a) A:=ROUND(6.9) b) A:=ROUND(15.39) B:=ROUND(6.48) B:=ROUND(15.8) C:=TRUNC(9.5) C:=TRUNC(-39) D:=FRAC(9.5) D:=FRAC(39) E:=INT(9.5) E:=INT(39) F:=TRUNC(-17) F:=TRUNC(5.6) G:=FRAC(17) G:=FRAC(-0.3) H:=INT(-17) H:=INT(1.25) Задача. Дано расстояние в сантиметрах. Найти число полных метров в нем. Program prim_4; Var a,b:integer; Begin Write('введите расстояние в сантиметрах'); Readln(a); b:=a mod 100; Writeln(b,' метров '); Readln; End. Получить число, образованное при перестановке цифр заданного числа. Program prim_6; Var n,x1,x2,m:integer; Begin Write('введите двузначное число'); Readln(n); X1:=n mod 10; {выделяем из числа единицы} X2:=n div 10; {получает число десятков в числе} M:=x1*10+x2; {число единиц умножаем на 10, получаем десятки} Writeln(m); Readln End. Дано трехзначное число, надо определить среднюю цифру числа. Пусть а=246 b:=a div 10 = 24 b:=b mod 10 = 4 Или одним выражением b:=(a div 10) mod 10 Или по другому: b:=a mod 100 = 46 b:=b div 10 = 4 Или одним выражением b:=(a mod 10) div 10