
- •Лабораторная работа № 4 Процедуры и функции Вариант 1
- •Лабораторная работа № 4 Процедуры и функции Вариант 2
- •Лабораторная работа № 4 Вариант 3 Процедуры и функции
- •Лабораторная работа № 4 Процедуры и функции Вариант 4
- •Лабораторная работа № 4 Процедуры и функции Вариант 5
- •Лабораторная работа № 4 Процедуры и функции Вариант 6
- •Лабораторная работа № 4 Процедуры и функции Вариант 6
- •Лабораторная работа № 4 Процедуры и функции Вариант 7
- •Лабораторная работа № 4 Процедуры и функции Вариант 8
- •Лабораторная работа № 4 Процедуры и функции Вариант 9
- •Лабораторная работа № 4 Процедуры и функции Вариант 10
Лабораторная работа № 4 Процедуры и функции Вариант 1
Цели лабораторной работы. Продолжение знакомства с интерфейсом среды Delphi. Отработка навыков использования операторов повторений. Создание пользовательских процедур и функций. Отработка первоначальных навыков отладки и выполнения программ.
Теоретический материал.
Описание пользовательской процедуры.
Procedure <имя> (<список формальных параметров>);
Описание пользовательской функции.
Function <имя> [<список формальных параметров>] : <тип функции>;
Примеры.
Нахождение числа
сочетаний, с использованием пользовательских
процедуры и функции (применение функции
предпочтительнее) факториал
.
program Example6_1; {Нахождение числа сочетаний, с использованием процедуры для нахождения факториала}
{$APPTYPE CONSOLE}
uses
SysUtils, windows;
Var fact1,fact2,fact3,sot: longint; m,n: integer;
Procedure fact(n: integer;var f: longint);
var i: integer;
Begin
f:=1;
For i:=2 To n Do
f:=f*i;
End;
Begin {Основная программа}
Setconsoleoutputcp(1251);
Setconsolecp(1251);
Writeln('Введите значения m и n');
Readln(m,n);
fact(n, fact1); fact(m, fact2); fact(n-m, fact3);
sot:=fact1 div fact2 div fact3;
Writeln('Число сочетаний из ',n,' элементов по ',m,' равно ',sot);
Readln
End.
program Example6_2; {Нахождение числа сочетаний, с использованием функции факториал}
{$APPTYPE CONSOLE}
uses SysUtils, windows;
Var sot: longint; m,n: integer;
Function fact(n: integer): longint;
var i: integer; f: longint;
Begin
f:=1;
For i:=2 To n Do
f:=f*i;
fact:=f
End;
Begin {Основная программа}
Setconsoleoutputcp(1251);
Setconsolecp(1251);
Writeln('Введите значения m и n');
Readln(m,n);
Sot:=fact(n) div fact(m) div fact(n-m);
Writeln('Число сочетаний из ',n,' элементов по ',m,' равно ',sot);
Readln
End.
Задания для самостоятельной работы.
Составить программу для нахождения значения какого-либо выражения, содержащего обратные тригонометрические функции. Результат перевести в градусы. В программе предусмотреть пользовательские функции для вычисления арксинуса, арккосинуса, арккотангенса, функции для перевода радианной меры угла в градусную. При составлении пользовательских функций можно использовать следующие формулы (при a>0):
.
Составить программу для нахождения значений функции
где
Для нахождения значений функции g(u, t) разработайте пользовательскую функцию. Вычислите значения функции f(x, y) при нескольких значениях аргумента. Результаты запишите в тетрадь.
Составить программу, вычисляющую наибольший общий делитель (НОД) четырех введенных с клавиатуры чисел. Использовать пользовательскую функцию для нахождения НОД двух чисел.
Контрольные вопросы
Как осуществляется вызов процедуры в Delphi
В чем отличие вызова процедуры и вызова функции в Delphi
Как описывается пользовательская процедура в Delphi
Как описываются пользовательские функции в Delphi
Примеры стандартных процедур и функций в Delphi.