Теоретический материал (Паскаль)

Стандартные функции и процедуры. Применение в простейших линейных программах

Для решения задач нам понадобятся стандартные функции и процедуры.

Функция - это такая организация преобразования переданного ей значения, при которой это измененное значение передается обратно.

Процедура - это такая организация преобразования переданного ей значения параметра, при которой изменяется значение этого параметра, и, в отличие от функции, не возвращается никакого значения.

Познакомимся с основными, наиболее часто используемыми процедурами и функциями.

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

  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), где аргумент и результат являются переменными целого или вещественного типа - вычисляет x2;

  9. Sqrt(x), где аргумент и результат являются переменными целого или вещественного типа - вычисляет √x.

Функции преобразования типов:

  1. Chr(x), где аргумент типа Byte, а результат типа Char- возвращает символ, у которого код в таблице ASCII равен х;

  2. Ord(x), где аргумент может быть любого порядкового типа, а результат типа LongInt - возвращает порядковый номер значения х при начале нумерации с нуля;

  3. Round(x), где аргумент вещественного типа, результат типа LongInt - округляет число х до ближайшего целого;

  4. Trunc(x), где аргумент вещественного типа, результат типа LongInt - выделяет целую часть числа х.

Функции для порядковых типов:

  1. Odd(x), где аргумент типа LongInt, а результат логического типа - определяет, является ли число четным (результат false) или нечетным (результат true);

  2. Pred(x), где аргумент и результат любого порядкового типа - получает предшествующее значение;

  3. Succ(x), где аргумент и результат любого порядкового типа - получает последующее значение;

  4. Upcase(x), где аргумент и результат типа Char - преобразует букву латинского алфавита в соответствующую ей заглавную (буква х может быть как строчной, так и заглавной).

Процедуры для порядковых типов:

  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)

c) |A+ bx| → abs(A+b*x)

Теперь уже можно переходить к составлению программы.

Program Primer;
Uses
  Crt;
Var
  A : word; {так как подкоренное выражение должно быть положительно}
  b, x, result : real;
Begin
  ClrScr;
  Writeln('Введите значения переменных (A-положительно)');
  Write('A=');
  Readln(A);
  Write('b=');
  Readln(b);
  Write('x=');
  Readln(x);
  Result := sqr(1+x);
  Writeln ('sqr(1+x)=', result);
  Result := sqrt((1+A)*5);
  Writeln ('sqrt((1+A)*5)=', result);
  Result := abs(A+b*x);
  Writeln ('abs(A+b*x)=', result);
  Readln;
End.

Задание. Наберите программу, протестируйте, добавьте комментарий, сохраните файл и распечатайте листинг.