Тема:
Стандартные функции и процедуры. Применение
в простейших линейных программах.
Для решения задач нам понадобятся стандартные
функции и процедуры.
Функция - это такая организация преобразования
переданного ей значения, при которой это измененное значение передается
обратно.
Процедура - это такая организация преобразования
переданного ей значения параметра, при которой изменяется значение этого
параметра, и, в отличие от функции, не возвращает никакого значения.
Познакомимся с основными, наиболее часто используемыми
функциями и процедурами:
- Арифметические функции
- Abs(x), где аргумент и результат являются переменными целого
или вещественного типа - вычисляет модуль (абсолютную величину) числа
х
- Cos(x), где аргумент и результат являются переменными вещественного
типа - вычисляет косинус х
- Sin(x), где аргумент и результат являются переменными вещественного
типа - вычисляет синус х
- Frac(x), где аргумент и результат являются переменными вещественного
типа - выделяет дробную часть числа х
- Int(x), где аргумент и результат являются переменными вещественного
типа - выделяет целую часть числа х
- Pi, где результат является переменной вещественного типа
- вычисляет значение pi
- Random(x), где аргумент и результат являются переменными
целого типа - генерирует случайное число в пределах от 0 до х включительно.
Если параметр х не задан, то формируется вещественное число от 0 до
1. Перед использованием данной функции нужно инициализировать генератор
случайных чисел при помощи процедуры Randomize (см. ниже)
- Sqr(x), где аргумент и результат являются переменными целого
или вещественного типа - вычисляет квадрат числаю
- Sqrt(x), где аргумент и результат являются переменными целого
или вещественного типа - вычисляет квадратный корень из числа
- Функции преобразования типов
- Chr(x), где аргумент типа Byte, а результат типа
Char - возвращает символ, у которого код в таблице ASCII
равен х
- Ord(x), где аргумент может быть любого порядкового типа,
а результат типа LongInt - возвращает порядковый номер значения
х при начале нумерации с нуля
- Round(x), где аргумент вещественного типа, результат типа
LongInt - округляет число х до ближайшего целого
- Trunc(x), где аргумент вещественного типа, результат типа
LongInt - выделяет целую часть числа х.
- Функции для порядковых типов
- Odd(x), где аргумент типа LongInt, а результат логического
типа - определяет, является ли число четным (результат false)
или нечетным (результат true)
- Pred(x), где аргумент и результат любого порядкового типа
- получает предшествующее значение
- Succ(x), где аргумент и результат любого порядкового типа
- получает последующее значение
- Upcase(x), где аргумент и результат типа Char - преобразует
букву латинского алфавита в соответствующую ей заглавную (буква х
может быть как строчной, так и заглавной).
- Процедуры для порядковых типов
- Dec(x), где аргумент любого порядкового типа - уменьшает
значение переменной х на 1
- Dec(x,n), где х любого порядкового типа, а n типа LongInt
- уменьшает значение переменной х на n
- Inc(x), где аргумент любого порядкового типа - увеличивает
значение переменной х на 1
- Inc(x,n), где х любого порядкового типа, а n типа LongInt
- увеличивает значение переменной х на n
- Randomize - инициализирует генератор случайных чисел.
Правила применения функций:
- чтобы воспользоваться функцией, нужно указать ее в правой части оператора
присваивания;
- при обращении к функции необходимо в круглых скобках указать ее аргументы;
- в разделе описания переменных правильно указывайте типы переменных,
которые хотите употребить в качестве аргумента или результата функции;
- в одном выражении можно обратиться к нескольким функциям.
Правила применения процедур:
- для выполнения процедуры ее надо вызвать в программе в виде оператора;
- в разделе описания переменных правильно указывайте тип переменной,
которую хотите употребить в качестве аргумента процедуры.
Задача.
Найти значения выражений:
- (1+x)2 - [sqr(1+x)]
- (5(1+A))1/2 - [sqrt((1+A)*5)]
- |A+ bx| - [abs(A+b*x)]
Теперь уже можно переходить к составлению программы.
Program Primer;
Uses
Crt;
Var
A : word; {так как подкоренное выражение должно
быть положительно}
b, x, Rezult : integer;
Begin
ClrScr;
Writeln(‘Введите значения переменных (A-положительно)’);
Write(‘A=’);
Readln(A);
Write(‘b=’);
Readln(b);
Write(‘x=’);
Readln(x);
Result := sqr(1+x);
Write (‘sqr(1+x)=’, Rezult);
Result := sqrt((1+A)*5);
Write (‘sqrt((1+A)*5)=’, Rezult);
Result := abs(A+b*x);
Write (‘abs(A+b*x)=’, Rezult);
Readln;
End.
|