Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции Паскаль ИНФОРМАТИКА.doc
Скачиваний:
219
Добавлен:
09.04.2015
Размер:
4.57 Mб
Скачать

Процедуры Procedure

Операции, схожие с функциями, именуемые процедурами, но лишенные конкретного числового значения. Разница состоит в том, что конечная цель процедуры – не получение, конкретного одного значения (будь то число, символ, строка, логическая величина), что соответствует функции, а выполнение некоторых операций. Поэтому при организации процедуры тип результата не указывается. Самыми простыми примерами таких операций могут являться распечатка массивов, упорядочивание набора чисел и т. д.

Примечание:

Процедура

Назначение процедуры

Аргумент

Примеры

Inc(x)

увеличение целого х на 1

Integer

inc(d)

Inc(x,k)

увеличение целого х на k

Integer

inc(x, -2)

Dec(x)

уменьшение целого х на 1

Integer

dec(i)

Dec(x,k)

уменьшение целаго х на k

Integer

dec(j,6)

Randomize

изменение программы генерации случайных чисел

______

______

Пример:

Пусть необходимо поменять местами значения вводимых переменных х и у. Эта операция весьма распространена. Поэтому имеет смысл сделать ее стандартной, описав как процедуру. Назовем ее “Swap” (перестановка). Этой процедуре необходимо подавать значения двух переменных. При организации процедур важно помнить одно правило: если передаваемые в процедуру параметры будут в ней изменяться, их описание следует предварять словом Var. Тогда программа примет вид:

ProgramChange;

UsesCRT;{стандартная библиотека}

Var

x, y:Real;

Procedure Swap(Var aa, bb:real);

Var rr:Real;

Begin

rr:=aa; aa:=bb; bb:=rr

end;

Begin

Write(‘x= ‘); Readln(x);

Write(‘y= ‘); Readln(y);

Swap(x,y);

Writeln(‘x= ‘,x:4:1,’ y = ‘,y:4:1); {вывод на экран результата}

RepeatUntilKeyPressed;{стандартная функция из библиотеки CRT, приводит

к задержке окна результатов до нажатия любой клавиши}

End.

Результат работы программы:

x=4

y=6

x= 6.0y= 4.0

Условные операторы

Условные операторы позволяют проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие. Таким образом, условные операторы – это средство ветвления вычислительного процесса.

Следует отметить:

  • выбор последовательности операторов осуществляется во время выполнения программы в зависимости от выполнения условия;

  • условие – это выражение логического типа, которое может принимать одно из двух значений: true(истина-условие выполняется) илиfalse(ложь-условие не выполняется);

  • при помощи логических операций and(логическое «И») иor(логическое «ИЛИ») из простых условий можно строить сложные.

Оператор ‘if-then’

Оператор IF-THEN(“Если-то”) форма записи имеет вид:

If(условие)ThenBegin

Оператор;

Оператор;

...

End;

Работает следующим образом: Если стоящее в скобках условие истинно, то выполняются операторы, стоящие между BeginиEnd, а если ложно – программа сразу переходит на конец оператора.

Отличие оператора If-Thenот оператораIf-Then-Elseсостоит в том, что условная структураIf-Then-Elseреализует так называемое двойное ветвление.

Пример 1. Вычислить квадратный корень из числа x.

При вводе отрицательного значения xЭВМ выведет сообщение об ошибке “InvalidFloatingPointOperation”. Нужно составить программу, которая в случае отрицательного значенияxвыводила на экран сообщение: 'Недопустимое значение', в случаеx>=0 выводила результат.

Фрагмент программы:

Write(‘x=’);Readln(x);

If (x>=0) Then

Begin

y:=Sqrt(x);

Writeln(‘Sqrt(x)=’,y:6:2);

End;

If (x<0) Then Write (‘Недопустимое значение’);

Любое условие есть величина логическая (типа Boolean), принимающая значениеTrueв том случае, когда условие истинно, иFalse– в обратном случае. В силу этого обстоятельства условие

If(x<0)thenОператор;

являет собой сокращенную запись условия

If ((x<0)=True) then Оператор;

Более краткое If(x<0)thenОператор;