Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции информатика.doc
Скачиваний:
59
Добавлен:
11.04.2015
Размер:
2.47 Mб
Скачать

1.5 Стандартные процедуры и функции

В Паскале существует ряд заранее разработанных подпрограмм, которые можно использовать в своих программах.

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

y := abs(x); y = |x|

y := sin(x); y = sin x

y := cos(x); y = cos x

y := arctan(x); y = arctg x

y := exp(x); y = ex

y := ln(x); y = ln x

y := sqr(x); y = x2

y := sqrt(x); y = √x

y := pi ; y = π

y := frac(x); дробная часть числа frac(3.9)=0.9

y := int(x); целая часть числа int(3.9)=3.0

Арифметические функции можно использовать только с величинами целого или вещественного типа. Результат арифметических функций (кроме sqr и abs) – вещественный. У sqr и abs тип результата совпадает с типом аргумента.

В Паскале нет функции возведения в степень, эта функция вычисляется с использованием функций exp и ln следующим образом:

yx = exp(x*ln(y));

  1. Некоторые другие функции и процедуры

y := round(x); округление вещественного числа до ближайшего целого:

round(4.7)=5; round(3.2)=3; round(2.5)=2

y := trunc(x); целая часть вещественного числа: trunc(4.7)=4

y := odd(x); проверка величины х на нечетность: true, если х нечетный, иначе false

Например, odd(3) = True; odd(2) = False;

write(x); вывод значения х на экран

writeln(x); вывод значения х на экран с последующим переводом курсора на новую строку

read(x); ввод значения х с клавиатуры

readln(x); ввод значения х с клавиатуры с последующим переводом строки

clrscr; очистка экрана, перевод курсора в его левый верхний угол

Чтобы использовать эту процедуру, надо подключить к программе модуль CRT: uses crt;

delay(msec); задержка экрана, msec – число в микросекундах

Random(n); генератор случайных целых чисел - в каждый момент времени выдает одно

случайное целое число из диапазона от 0 до n-1 включительно.

Random; генератор случайных чисел без параметра - генерирует вещественное число

из диапазона от 0 до 1.

Randomize; процедура инициализации (первоначальная настройка) генератора случайных чисел. Всегда вызывается до использования random. Если не использовать Randomize, то при каждом новом запуске программы на выполнение, генератор случайных чисел будет выдавать одну и ту же первоначально выданную последовательность случайных чисел.

Пример:

x:=random(10); {случайное целое число из диапазона от 0 до 9}

x:=random(100)-50; { random(100) - случайное целое число из диапазона от 0 до 99,

минимально возможное значение x = 0 – 50 = -50;

максимально возможное значение x = 99 – 50 = 49; }

y:=random*10; { случайное вещественное число из диапазона от 0 до 9}

z:=random*10-10; { случайное вещественное отрицательное число из диапазона от 0 до 9}

Пример: программа вычисления площади круга S= πr2.

Uses Crt; {подключение модуля Crt - в нем описана процедура Clrscr – очистка экрана }

Var s,r: real; {раздел описания переменных–описаны 2 переменные вещественного типа}

Begin

Clrscr; { очистка экрана }

Write(‘Введите радиус r = ’); {выведет на экран текст: Введите радиус r = }

Readln(r); {приостановит работу программы до ввода какого-либо (одного) числа: надо

набрать на клавиатуре число и нажать клавишу Enter. После этого введенное число

автоматически запишется в переменную, указанную в скобках }

s:=pi*r*r; {вычислит значения выражения и запишет результат в s; pi 3,14…}

writeln(‘Площадь круга S =’, s:10:5); {выведет на экран текст из апострофов и значение s}

delay(10000); {задержит результат на экране в течении 10 секунд, затем вернется к

исходному тексту программы}

End.

При работе с целыми числами могут оказаться полезными две процедуры (в квадратных скобках указываются необязательные параметры):

dec (x [, N]) - уменьшает содержимое переменной x на значение выражения N (если N не задано, то на 1); тип переменной x и выражения N - INTEGER (точнее, любой целый тип: см.п.2.1);

inc (x [, N]) - увеличивает значение x на N (если N не задано, то на 1).

Например, a:=6; b:=4; x:=7; y:=0;

dec(a,3); inc(b,3); dec(x); inc(y);

write(‘a=’,a,’ b=’,b,’ x=’,x,’ y=’,y);

В результате выполнения данного фрагмента программы, на экране увидим следующее:

a=3 b=7 x=6 y=1