Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Лабораторная работа №3
Тема: «Использование процедур и функцый.»
Цель: Усвоить понятие подпрограммы, виды подпрограмм, их особенности, описание, обращение к ним, понятие параметров подпрограмм. Усвоить группы параметров подпрограмм, понятие области действия параметров, правила передачи исходных данных и результатов между вызывающей и вызываемой подпрограммами.
Ход работы
Задание№1. Согласно примера набрать следующие программы.
Пример 1. Найти максимальное число из трех введенных чисел.
Для решения воспользуемся описанием функции, принимающей значение максимального из двух чисел, которые передаются в нее в виде параметров.
Program Fn;
Var
A,B,C :Real;
Function Max(A,B:Real):Real; {Описываем функцию Max с формальными}
Begin {параметрами A и B, которая принимает }
If A>B Then Max:=A {значение максимального из них }
Else Max:=B {Здесь A и B - локальные переменные }
End;
Begin
Writeln('Введите три числа');
Readln(A,B,C);
Writeln('Максимальным из всех является ', Max(Max(A,B),C))
End.
Пример 2. Составить программу вычисления , используя подпрограмму возведения вещественного числа в целую степень
Program Stepen1;
Var
m:integer;
a,z:real;
Procedure Step(n:integer; x:real; var y:real);
Var i: integer;
Begin
y:=1;
for i:=1 to n do
y:=y*x;
End;
Begin
Writeln('Введите числа a,m');
Readln(a,m);
Write(a,'в степени',m);
If m=0 Then z:=1
else If m>0 Then Step(m,a,z)
else Then Step(-m,1/a,z);
Writeln('равно',z)
End.
Пример 3. Составить программу для вычисления выражения , a-действительное, m-целое.
Program Stepen2;
Var
m:integer;
a,r,z:real;
Function Step(n:integer; x:real:real;
Var i: integer;
y: real;
Begin
y:=1;
for i:=1 to n do
y:=y*x;
Step:=y;
End;
Begin
Writeln('Введите числа a,m');
Readln(a,m);
If m=0 Then r:=1
else If m>0 Then r:=Step(m,a)
else Then r:=Step(-m,1/a);
z:=(Step(5,a)+Step(5,1/a))/(2*r);
Writeln('z=',z)
End.
Задание№2. Решить следующие задачи.
Задача№1. Составить процедуру вычисления площади и высот треугольника со сторонами a, b, c по формулам , , , где , , если заданы стороны треугольника a,b,c. Вычислить площадь и высоты нескольких треугольников. Предусмотреть в процедуре проверку возможности существования треугольника для вводимых длин сторон.
Задача№2. Составить программу нахождения меньшего из 4 чисел x,y,z,t с использованием подпрограммы-функции поиска минимального из двух чисел.
Задача№3. Составить программу вычисления радиусов r, R вписанной и описанной окружностей около треугольника со сторонами a,b,c. Вычисление радиусов по формулам , (S - площадь треугольника, определяемая по формуле Герона , где ) оформить в виде подпрограммы-процедуры.
В отчет предоставить текст программ, результаты решения, блок-схемы!!!!