Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб9_апробация.doc
Скачиваний:
2
Добавлен:
20.11.2019
Размер:
95.23 Кб
Скачать

Функции пользователя

Описание функции состоит из заголовка функции и ее тела. Заголовок содержит зарезервированное слово function, имя функции, список формальных параметров с указанием их типа и тип возвращаемого функцией результата. Тело функции представляет собой локальный блок, по структуре аналогичный программе.

Формат:

function <имя> (список формальных параметров): <тип результата>;

Const ...;

Type ...;

Var...;

begin

<операторы>;

end;

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

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

Формат:

<имя функции> (список фактических параметров);

Формальные и фактические параметры

Можно выделить два основных класса формальных параметров:

  • Параметры-значения;

  • Параметры-переменные.

Параметры-значения используются в качестве входных данных подпрограммы. При обращении к подпрограмме фактические параметры передают свое значение формальным и больше не изменяются.

Например:

procedure f1(M:real);

function f2(c: real; x:integer): real;

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

Например:

procedure f1(M,N: integer; var Y: real);

В качестве входных данных в подпрограмме следует использовать параметры-значения, в качестве выходных – параметры-переменные. Данные, которые являются и входными и выходными, следует описывать как параметры-переменные.

ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

Порядковый номер студента по списку группы соответствует номеру варианта. По заданию требуется:

        1. Определить порядок реализации вычислений.

        2. Составить графическую схему алгоритма.

        3. Записать программу на языке Turbo Pascal.

        4. Выполнить расчеты на ЭВМ.

        5. Написать отчет по лабораторной работе.

Пример выполнения работы

Задание. Вычислить суммы всех элементов матриц А(n,n), B(m,m).

program lab9;

uses crt;

type matr=array [1..10,1..10] of integer;

var

n,m,i,j: byte;

s: integer;

a,b:matr;

procedure VV(l: byte; var x:matr);

begin

writeln('Vvedite massiv ',l,'x',l);

for i:=1 to l do

for j:=1 to l do read(x[i,j]);

end;

procedure Summa(l: byte; x: matr; var s: integer);

begin

S:=0;

for i:=1 to l do

for j:=1 to l do S:=S+x[i,j];

writeln('S= ',S);

end;

begin

clrscr;

writeln('Vvedite n,m');

readln(n,m);

VV(n,a);

VV(m,b);

Summa(n,a,s);

Summa(m,b,s);

end.

ВАРИАНТЫ ЗАДАНИЙ

  1. Вычислить , где S1 и k1 - сумма и количество положительных элементов массива X(8); S2 и k2 - сумма и количество положительных элементов массива Y(10).

  2. Вычислить , где S1 и k1 - сумма и количество положительных элементов массива X(10); S2 и k2 - сумма и количество отрицательных элементов массива Y(8).

  3. Вычислить суммы элементов каждой строки матрицы А(n,n), B(m,m).

  4. Найти наибольшие элементы и их порядковые номера массивов X(10) и Y(7).

  5. Вычислить суммы положительных элементов каждой строки матриц А(n,n), B(m,m).

  6. Вычислить суммы отрицательных элементов каждого столбца матриц А(n,n), B(m,m).

  7. Найти наименьшие элементы и их порядковые номера массивов А(5) и В(10).

  8. Найти наименьшие элементы для матриц A(3,4) и B(4,5).

  9. Вычислить , где xmax и xmin – максимальный и минимальный элементы массива X(10), где ymax и ymin – максимальный и минимальный элементы массива Y(8). Максимальный и минимальный элементы массива вычислять в одной подпрограмме.

  10. Преобразовать массивы X(12) и Y(10), расположив в них подряд только положительные элементы. Вместо остальных элементов записать нули.

  11. Вычислить среднее арифметическое положительных элементов для массивов A(n1), A(n2), A(n3).

  12. Подсчитать количество элементов матриц X(n1,m1) и Y(n2,m2), удовлетворяющих условиям 0 ≤ xij ≤ 1 и 0 ≤ yij ≤ 1.

  13. Вычислить суммы элементов главных диагоналей матриц A(n,n) и B(m,m).

  14. Вычислить , где S1 - сумма положительных элементов массива X(8); S2 - сумма отрицательных элементов массива Y(10). Обе суммы вычислять в одной подпрограмме.

  15. Вычислить суммы элементов, стоящих выше главных диагоналей матриц A(n,n) и B(m,m).

  16. Вычислить произведения элементов побочных диагоналей мат­риц A(n,n) и B(m,m).

  17. Вычислить , где xi и yi заданы массивами. Все суммы вычислять в одной подпрограмме.

  18. Найти минимальный элемент для каждой строки матриц A(n,n) и B(m,m).

  19. Найти максимальный элемент для каждого столбца матриц A(n,n) и B(m,m).

  20. Вычислить суммы элементов, стоящих ниже главных диагоналей матриц A(n,n) и B(m,m).

  21. Даны координаты двух отрезков (x1, y1), (x2,y2). Определить какой из отрезков длиннее. Вычисление длины отрезка оформить подпрограммой. Длина отрезка вычисляется по формуле .

  22. Найдите сумму элементов четных и сумму нечетных строк матриц A(n,n) и B(m,m).

  23. Найдите произведения элементов четных и нечетных столбцов мат­риц A(n,n) и B(m,m).

  24. Найдите средние значения элементов каждой строки матриц A(n,n) и B(m,m).

  25. Замените элементы главных диагоналей матриц A(n,n) и B(m,m) на 0 , а все остальные элементы матриц на 1.

  26. Вычислить , где k1 и k2 - количество четных элементов массивов X(n) и Y(m).

  27. Вычислить , где где S1 и k1 - сумма и количество нечетных элементов массива X(n); S2 и k2 - сумма и количество нечетных элементов массива Y(m).

СОДЕРЖАНИЕ И ОФОРМЛЕИНЕ ОТЧЕТА

ПО ЛАБОРАТОРНОЙ РАБОТЕ

Отчет оформляется в текстовом редакторе MS Word в формате А4 и должен содержать:

  1. Название лабораторной работы.

  2. Цель работы.

  3. Задание.

  4. Графическую схему алгоритма с учетом требований ГОСТ 19.701-90.

  5. Программу на алгоритмическом языке Turbo Pascal.

  6. Результаты выполнения работы.

ВОПРОСЫ для самоконтроля

  1. Что такое подпрограмма-процедура?

  2. Что называется подпрограммой-функцией?

  3. Где описываются процедуры и функции?

  4. Какие параметры называются локальными?

  5. Какие параметры называются глобальными?

  6. С помощью каких параметров происходит обмен информацией между основной программой и подпрограммой?

  7. Как описываются процедуры и функции, в чем их различие?

  8. Как вызываются процедуры?

  9. Как вызываются функции?

  10. Какие параметры называются формальными параметрами процедур и функций?

  11. Какие их виды вы знаете и какие функции они выполняют?

  12. Для каких формальных параметров указывается, кроме имени и типа, еще и вид параметра?

ВРЕМЯ, ОТВЕДЕННОЕ НА выполнение

ЛАБОРАТОРНОЙ РАБОТЫ

Подготовка к работе – 1,0 акад. часа

Выполнение работы – 1,0 акад. часа

Расчеты на ЭВМ – 0,5 акад. часа

Оформление работы – 0,5 акад. часа

ЛИТЕРАТУРА

  1. Алексеев Е.Р. Turbo Pascal 7.0. Численные методы. – М.: АСТ, 2004.

  2. Глинский Я.Н., Анохин В.Е., Ряжская В.А. Turbo Pascal 7.0 и Delphi/ Учебное пособие. – 2-е изд., испр. И доп. – СПб: ДиаСофтЮП, 2003.

  3. Гусева А.И. Учимся программировать: Pascal 7.0. Задачи и методы их решения. – М.: Диалог-МИФИ, 1997.

  4. Емелина Е.И. Основы программирования на языке Паскаль. – М.: Финансы и статистика, 1997.

  5. Немнюгин С.А. Turbo Pascal. – СПб.: Питер, 2001.

  6. Попов В.Б. Turbo Pascal для школьников. - М.: Финансы и статистика, 2001.