Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМКД-Паскаль-2012.docx
Скачиваний:
38
Добавлен:
01.05.2015
Размер:
561.45 Кб
Скачать

Лабораторная работа 10 процедуры

Цель работы:

1. Научиться использовать процедуры в языке Паскаль.

2. Изучить механизм передачи параметров в процедурах.

Краткие сведения из теории

Часто в программе обнаруживаются однотипные участки, которые

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

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

При вызове процедуры эти формальные параметры заменяются фактическими параметрами. Различают формальные параметры - значения и параметры-переменные. Параметры значения можно передавать только в одном направлении: из программы в подпрограмму. Параметры-переменные передаются в обоих направлениях: из программы в подпрограмму и, наоборот, из подпрограммы в программу.

ПРИМЕР 1: Массив A(n) отсортировать в порядке возрастания элементов.

П р о г р а м м а

program SORT;

type x=array [1..20] of real;

var a:x;

i,j,n,k: integer;

R: real;

procedure max (q: integer; var nmax: integer);

var m: real;

l: integer;

begin

m:=A[1]; nmax:=1;

for l:=1 to q do

if A(l) > m then

begin

m:=A(l); nmax:=l

end

end; {конец описания процедуры}

begin

writeln ('n=');

readln (n);

writeln ('вводите массив');

for i:=1 to n do

readln (A[i]);

j:=n;

while j <> 1 do

begin

max (j,k);

R:=A(k); A(k):=A(j); A(j):=R;

j:=j-1

end;

writeln ('отсортированный массив');

for i:=1 to n do

writeln (A[i])

end.

Упражнения:

  1. Написать процедуру, которая выводит на экран строку, состоящую из одинаковых символов. Длина строки и символ являются параметрами процедуры.

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

  3. Написать процедуру, который вычисляет объем и площадь поверхности параллелепипеда.

  4. Написать функцию, которая возвращает максимальное из двух целых чисел, полученных в качестве аргумента.

  5. Вычислить и запомнить количество отрицательных элементов каждого столбца для матриц А(10,10) и В(5,7).

  6. Составить программу для нахождения среднего балла группы по результатам сессии. Оценки групп сведены в матрицы А(25,5). В(23,5), С(22,5), D(24,5). Определить лучшую группу.

  7. Составить процедуру – оператор для нахождения коэффициентов многочлена, равного произведению двух многочленов степени n и m. При помощи этой процедуры вычислить коэффициенты многочлена .

  8. Даны три строки различной длины. Напечатать ту из них, где больше гласных латинских букв.

  9. Даны три слова переменной длины. Составить слово, содержащее символы-цифры, входящие в данные слова.

  10. Написать функцию present, которая возвращает процент от числа, полученного в качестве аргумента.