Занятие III
Тема: Стандартные функции и процедуры. Применение в простейших линейных программах
Для решения задач нам понадобятся стандартные функции и процедуры.
Функция – это такая организация преобразования переданного ей значения, при которой это измененное значение передается обратно.
Процедура– это такая организация преобразования переданного ей значения параметра, при которой изменяется значение этого параметра, и, в отличие от функции, не возвращает никакого значения.
Познакомимся с основными, наиболее часто используемыми.
I Арифметические функции
1) Abs(x), где аргумент и результат являются переменными целого или вещественного типа – вычисляет модуль (абсолютную величину) числа х;
2) Cos(x), где аргумент и результат являются переменными вещественного типа – вычисляет косинус х;
3) Sin(x), где аргумент и результат являются переменными вещественного типа – вычисляет синус х;
4) Frac(x), где аргумент и результат являются переменными вещественного типа – выделяет дробную часть числа х;
5) Int(x), где аргумент и результат являются переменными вещественного типа – выделяет целую часть числа х;
6) Pi, где результат является переменной вещественного типа – вычисляет значение
7) Random(x), где аргумент и результат являются переменными целого типа – генерирует случайное число в пределах от 0 до х включительно. Если параметр х не задан, то формируется вещественное число от 0 до 1. Перед использованием данной функции нужно инициализировать генератор случайных чисел при помощи процедуры Randomize (см. ниже);
8) Sqr(x), где аргумент и результат являются переменными целого или вещественного типа – вычисляет ;
9) Sqrt(x), где аргумент и результат являются переменными целого или вещественного типа – вычисляет .
II Функции преобразования типов
1) Chr(x), где аргумент типа Byte, а результат типа Char– возвращает символ, у которого код в таблице ASCII равен х;
2) Ord(x), где аргумент может быть любого порядкового типа, а результат типа LongInt – возвращает порядковый номер значения х при начале нумерации с нуля;
3) Round(x), где аргумент вещественного типа, результат типа LongInt – округляет число х до ближайшего целого;
4) Trunc(x), где аргумент вещественного типа, результат типа LongInt – выделяет целую часть числа х.
III Функции для порядковых типов
1) Odd(x), где аргумент типа LongInt, а результат логического типа – определяет, является ли число четным (результат false) или нечетным (результат true);
2) Pred(x), где аргумент и результат любого порядкового типа – получает предшествующее значение;
3) Succ(x), где аргумент и результат любого порядкового типа – получает последующее значение;
4) Upcase(x), где аргумент и результат типа Char – преобразует букву латинского алфавита в соответствующую ей заглавную (буква х может быть как строчной, так и заглавной).
IV Процедуры для порядковых типов
1) Dec(x), где аргумент любого порядкового типа – уменьшает значение переменной х на 1;
2) Dec(x,n), где х любого порядкового типа, а n типа LongInt – уменьшает значение переменной х на n;
3) Inc(x), где аргумент любого порядкового типа – увеличивает значение переменной х на 1;
4) Inc(x,n), где х любого порядкового типа, а n типа LongInt – увеличивает значение переменной х на n;
5) Randomize – инициализирует генератор случайных чисел.
Правила применения функций:
• чтобы воспользоваться функцией, нужно указать ее в правой части оператора присваивания;
• при обращении к функции необходимо в круглых скобках указать ее аргументы;
• в разделе описания переменных правильно указывайте типы переменных, которые хотите употребить в качестве аргумента или результата функции;
• в одном выражении можно обратиться к нескольким функциям.
Правила применения процедур:
• для выполнения процедуры ее надо вызвать в программе в виде оператора;
• в разделе описания переменных правильно указывайте тип переменной, которую хотите употребить в качестве аргумента процедуры.
Задача. Найти значения выражений:
a) (1+x)2 b) c) |a+ bx|
Прежде чем приступить к составлению программы, необходимо перевести данные выражения с математического языка на язык Паскаль.
a) (1+x)2 à sqr(1+x)
b) à sqrt((1+A)*5)
|
Теперь уже можно переходить к составлению программы.
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.
Задание. Наберите программу, протестируйте, добавьте комментарий, сохраните файл и распечатайте листинг.
Дата добавления: 2015-05-16; просмотров: 683;