
- •Практическое занятие 1. Составлять, тестировать и отлаживать программный код линейных программ
- •Порядок работы
- •Практическое занятие 2
- •Порядок работы
- •Практическое занятие 3 Составлять, тестировать и отлаживать программный код циклических программ
- •Краткие сведения из теории
- •Порядок работы
- •Практическое занятие 4.
- •Краткие сведения из теории
- •Практическое занятие 5.
- •Краткие сведения из теории
- •Порядок работы
- •Практическое занятие 6. Составлять, тестировать и отлаживать программный код с использованием указателей
- •Краткие сведения из теории
- •Порядок работы
- •Практическое занятие 7. Составлять, тестировать и отлаживать программный код с использованием файлов
- •Ifstream файловая_перемен ("имя файла", ios::режим действия| ios::режим доступа);
- •Практическое занятие 8. Составлять, тестировать и отлаживать программный код с использованием структуры
- •Краткие сведения из теории
- •Порядок работы
- •Практическое занятие10 Организация работы с входным и выходным текстовым файлом
- •Краткие сведения из теории
- •Порядок работы
- •Практическое занятие13 процедурные типы
- •Краткие сведения из теории
- •Порядок работы
- •Практическое занятие14 графические средства паскаля
- •Краткие сведения из теории
- •Порядок работы
- •Краткие сведения из теории
- •Заголовок модуля unit Имя модуля;
- •Порядок работы
Краткие сведения из теории
Функция отличается от процедуры тем, что результат ее работы возвращается в виде значения этой функции и, следовательно, вызов функции может использоваться наряду с другими операндами в выражениях
Порядок работы
1. Составить алгоритм и программу с использованием подпрограммы-функции
Таблица 13
Номер варианта |
Условие |
1 |
Вычислить число
сочетаний из n по m(n>m) по формуле:
|
2 |
Вычислить:
|
3 |
Вычислить:
|
4 |
Найти все трехзначные числа, равные сумме факториалов своих цифр. |
5 |
Два треугольника заданы координатами своих вершин. Вычислить площади треугольников с помощью формулы Герона и определить, какой треугольник имеет большую площадь. |
6 |
Решить уравнение
ax+b=0, где
|
7 |
Даны действительные
числа s,t. Вычислить:
где |
8 |
Вычислить число
сочетаний с повторениями по формуле:
|
9 |
Найти наибольший общий делитель целых положительных чисел a, b, c. |
10 |
Даны действительные
числа х,у. Вычислить:
|
11 |
Решить уравнение
, где
|
12 |
Используя функцию нахождения наибольшего общего делителя, найти наименьшее общее кратное двух чисел. |
13 |
Вычислить:
|
14 |
Вычислить:
|
Практическое занятие13 процедурные типы
Цель работы:
Научиться использовать процедурные типы при составлении программ
Краткие сведения из теории
Так как процедурные типы допустимы в любом контексте, то можно объявить процедуры или функции, параметрами которых являются тоже процедуры или функции. такие параметры являются параметрами значения, так как записываются в объявление без служебного слова var. В качестве фактических параметров в этом случае используются объявленные процедуры или функции, имеющие соответствующее количество параметров требуемых типов.
Пример: задача формирования матрицы , элементами которой являются:
сумма индексов i и j;
произведение индексов i и j;
сумма квадратов индексов i и j.
Program pr_typ
Type Tfunc = function (X,Y:integer): integer; //Объявление процедурного типа
TMatrix = array [1..5,1..5]of integer; //Объявление типа для матрицы
Var M_Sum,M_Mult,M_SgrSum: Tmatrix;
{Функция суммы двух чисел}
function Sum(X,Y: integer): integer;
begin Sum:=X+Y; end;
{Функция произведения двух чисел}
function Mult (X,Y: integer): integer;
begin Multiply:=X*Y; end;
{ Функция суммы квадратов двух чисел}
function SgrSum(X,Y: integer): integer;
begin SgrSum:= (X*X) + (Y*Y); end;
{ Процедура заполнения матрицы с параметром процедурного типа}
procedure FillMatrix(M:Tmatrix; Operation:Tfunc);
var I,J: integer;
begin for I:=1 to 5 do // Вложенные циклы заполнения матрицы
for J:=I to 5 do {Элементы матрицы вычисляются в зависимости от используемой функции}
begin M[I,J]:= Operation (I,J); M[I,J]:= M[I,J] еnd
end;
begin
FillMatrix(M_Sum,Sum); //Элемент матрицы – сумма индексов i и j
FillMatrix(M_Mult,Mult) ;//Элемент матрицы–произведения индексов i и j
FillMatrix(M_SgrSum, SgrSum); //Элемент матрицы–сумма квадратов индексов i и j
Вывод результатов;
End.