Правила записи стандартных функций

1. Имя функции записывается латинскими буквами.

2. Аргумент функции записывается в круглых скобках после имени функции.

3. Аргументом функции может быть: константа, переменная или арифметическое выражение.

Например:

ax2 + bx + c записывают так a*x*x +b*x + c

записывают так sqrt(b*b – 4*a*c)

записывают так (a + c – 2*b)/(3-x)

Рассмотрим примеры использования арифметических действий:

Правильно:

VAR a,b: integer;

r,s: integer;

............................

r:=a div b; {r=3 при a=7, b=2}

r:= a mod b; {r=1 при a=7,b=2}

s:=a*b;

s:=a div b;

Неправильно:

VAR a,b: integer;

r: integer;

r:=a/b; {если результат объявлен как целочисленный, нельзя использовать наклонную черту деления}

VAR a,b: real;

r: integer;

.................

r:=a div b; { нельзя использовать операцию div для вещественных чисел}

r:=a mod b; { операция mod используется только по отношению к целым числам}

VAR a,b: integer;

r: real;

....................

r:=a div b; {r должно быть целым}

Слева по отношению к оператору присваивания должен стоять более широкий тип.

VAR a: integer;

b: real;

c: real;

...........

c:=a+b {правильно}

a:=c+b; {неправильно}

Примеры: 23 div 5 = 4 23 mod 5 = 3

16 div 4 = 4 16 mod 4 = 0

5 div 8 = 0 5 mod 8 = 5

37 div 10 = 3 37 mod 10 = 7

Определить количество слив, если их делили на 5 человек:

write (‘Кол-во слив = ');

readln (a);

b:= a mod 5;

writeln(‘Осталось ‘,b,’ слив’);

Определить сколько попугаев уберется на удаве, если длина удава b, а длина попугая а.

write ('a='); readln (a);

write ('b='); readln (b);

c:= b div a;

writeln ('Поместится', с, ‘попугаев');

В любом выражении, если один или более операндов имеют вещественный тип, то результат будет так же вещественного типа. Операнды операторов div и mod всегда должны быть целого типа.

При вычислении выражений принят следующий приоритет: 1) *, /, div, mod; 2) +, -. порядок выполнения операций регулируется с помощью скобок. В Turbo Pascal нет операции возведения в степень.

Задание: Внести в программу составленную ранее необходимые изменения для высчитывания целой части от деления и остатка от деления первого числа на второе и вывода этих результатов на экран. а так же вывода на экран информации вида: a=b*c +r, где a – первое число, b – второе число, c – частное, r – остаток.

Целочисленное деление.

Задачи:

1. Дано расстояние в сантиметрах. Найти число полных метров в нем.

2. Дана масса в килограммах. Найти число полных тонн в ней.

3. Дан прямоугольник с размерами 543×130 мм. Сколько квадратов со стороной 130 мм можно отрезать от него.

4. С клавиатуры вводится двухзначное число, вычислить сумму его цифр.

5. С клавиатуры вводятся трехзначное (четырехзначное, пятизначное, шестизначное) число, вычислить сумму его цифр.

6. С клавиатуры вводится трехзначное число, необходимо получить новое число приписав к исходному справа число 45.

7. С клавиатуры вводится четырехзначное число, необходимо получить новое число приписав к нему слева цифру 9. Найти остаток от деления полученного числа на 3.

8. Дано трехзначное число. В нем зачеркнули первую слева цифру и приписали ее в начале. Найти полученное число.

9. Дано трехзначное число. Найти число, полученное при перестановке второй и третьей цифр заданного числа.

10. Дано число а1а2а3а4а5а6. Получить новое число следующего вида: а6а4а2а1. для полученного числа найти целую часть от деления на 8 и остаток от деления на 111.

11. Даны трехзначное и четырехзначные числа: а1а2а3 и b1b2b3b4. Получить новое число вида: b1a1b2a2b3a3b4. У нового числа найти целую часть и остаток от деления на число 35.

Операции отношений:

< - меньше;

> - больше;

= - равно;

<> - не равно;

>= - больше или равно;

<= - меньше или равно.

Функции:

Арифметические функции:

abs (x) – модуль числа х, тип результата совпадает с типом аргумента;

sqr (x) – квадрат числа х, тип результата совпадает с типом аргумента;

sqrt (x) – квадратный корень из числа х, аргумент и результат должны иметь вещественный тип;

Пример: вычислить гипотенузу прямоугольного треугольника, если длина катетов a и b.

write ('a='); readln (a);

write ('b='); readln (b);

c:= sqrt (sqr(a) + sqr(b));

writeln ('c=', с:5:2);

Вычислить модуль разности чисел a и b.

write ('a='); readln (a);

write ('b='); readln (b);

c:= abs (a - b);

writeln ('модуль=', с);

Тригонометрические функции:

sin (x) – синус числа х, выраженного в радианах, аргумент и результат должны иметь вещественный тип;

cos (x) – косинус числа х, выраженного в радианах, аргумент и результат должны иметь вещественный тип;

arctan (x) – арктангенс числа х, результат будет выражен в радианах, аргумент должен быть вещественного типа;

Пример: вычислить синус, косинус, тангенс и котангенс угла 30°.

a:=Pi/180*30;

s:=sin(a); c:=cos(a);

t:=s/c; ct:=c/s;

Экспонента и логарифм:

exp (x) – ех, аргумент и результат должны иметь вещественный тип;

ln (x) – натуральный логарифм числа х, аргумент и результат должны иметь вещественный тип;

exp (b*ln(a)) – степень числа, где а основание, а b показатель степени, т.е. ab.

Примеры вычисления степени:

(x-3)7 exp(7*ln(x-3))

2x exp(x*ln2)

exp(1/3*ln(x))

Преобразование типов:

Round (x) – перевод дробного числа в целое с округлением;

Tranc (х) – перевод дробного числа в целое отбрасыванием дробной части.

Примеры преобразования типов:

a1:=Round(2.34); а1=2

a2:=Trunc(2.34); а2=2

b1:=Round(8.51); b1=9

b2:=Trunc(8.51); b1=8

c1:=Round(-3.7); c1=-4

int (x) – целая часть числа х, аргумент и результат должны иметь вещественный тип;

frac (x) – дробная часть числа х, аргумент и результат должны иметь вещественный тип;

Изменение аргумента:

inc (x) – увеличение числа х на единицу, аргумент и результат должны быть целого типа;

inc (x, a) – увеличение числа х на число а, оба аргумента и результат должны быть целого типа;

dec (x) – уменьшение числа х на единицу, аргумент и результат должны быть целого типа;

dec (x, a) – уменьшение числа х на число а, оба аргумента и результат должны быть целого типа.

Генерация случайных чисел:

Randomize – установка датчика случайных чисел в исходное состояние;

Random - формирование случайного дробного числа из диапазона от 0 до 1.

Примеры получения дробных случайных чисел:

a:=Random; 0<a<1

x:=Random+10; 10<x<11

y:=5*Random; 0<y<5

c:=10*Random-5; -5<c<5

b:=7*Random-3;

-3<b<4

Random (n) – формирование случайного целого числа из диапазона от 0 до n-1, где n – натуральное число.

Примеры получения целых случайных чисел:

a:=Random(3); 0, 1, 2

x:=Random(10); 0, 1, 2,…,9

y:=Random(5)+3; 3, 4, 5,…,7

c:=Random(8)-5; -5, -4,…,2

Смоделировать 5-кратное бросание игрального кубика:

randomize;

for i=1 to 5 do begin

x:=random(6)+1;

writeln(i,‘ бросок: ',x,’очков’);

end;

Смоделировать 10-кратное бросание монеты:

randomize;

for i=1 to 10 do

if random(2)=0

then writeln(’орел’)

else writeln(’решка’);

Приоритетность выполнения действий:

1.Выражение в скобках

2.Функции

3.Знак числа (+,-), not, @

4.*, /, div, mod, and, shl, shr

5.+, -, or, xor

6.=, <>, <, >, <=, >=, in

Задание: Составить программу, которая по введенным значениям чисел а и b, высчитывала бы и выводила бы на экран значения следующих функций:

a) y = 7a2 – 3 a + 6;

b) ;

c) y = a3 – 2,5ab + 1,78a2 – 12,5b + 1;

d) y = 3,56(a + b)3 – 5,8b2 + 3,8a – 1,5;

e) ;

f) ;

g) .

Вывод на экран организовать в следующем виде: у1(1.22, 0.45)=…и т.д.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: