Балтийский государственный технический университет «ВОЕНМЕХ» им. Д. Ф. Устинова
Кафедра информационных систем и технологий
Лабораторная работа №1
«Использование директивы подключения файлов исходного текста. Передача имени функции в качестве параметров. Построение таблицы символами псевдографики. Строковые данные.»
Преподаватель: Шеляпин Ю. П.
Выполнил: Королев М. Ю.
Группа: И-351
Санкт-Петербург
2005 год.
Задание
Блок-схема алгоритма
|
|||||||||||||||||||||||||
|
|||||||||||||||||||||||||
|
|||||||||||||||||||||||||
|
|||||||||||||||||||||||||
|
|||||||||||||||||||||||||
Lb1-main.pas
program Lab1;{Королев Михаил И351}
uses crt;
{$i lb1-opis}
{$i lb1-tabl}
{$i lb1-root}
{$i lb1-myfu}
{$i lb1-em}
begin
ClrScr;
EnterMassive(n,arg);
root(n,arg,My_Func,rez1);
root(n,arg,My_Func2,rez2);
clrscr;
textcolor(15); WriteLn('Полученные результаты:'); textcolor(7);
table(n,arg,rez1,rez2);
readkey;
end.
Lb1-em.pas
procedure EnterMassive (n:integer;var a:massiv);
var
i:integer;
begin
textcolor(10);
WriteLn('Ввод масива:');
For i:=1 to n do
begin
textcolor(7);Write(i,': ');
textcolor(15);ReadLn(a[i]);
end;
textcolor(7);
end;
lb1-myfu.pas
function My_Func(x:real):real;
const eps=1e-5;
var s,a:real;
i:integer;
begin
s:=0;a:=x/2;i:=1;
Repeat
s:=s+a;
i:=i+1;
a:=a*i*i*x/((i-1)*(i+1));
Until abs(a)<=eps;
My_Func:=s;
end;
function My_Func2(x:real):real;
const eps=1e-5;
var s,a:real;
i:integer;
begin
s:=0;a:=x/2;i:=1;
While abs(a)>eps do begin
s:=s+a;
i:=i+1;
a:=a*i*i*x/((i+1)*(i-1));
end;
My_Func2:=s;
end;
lb1-opis.pas
const
n=5;
{$F+}
type
massiv=array[1..n] of real;
my_func_type=function(x:real):real;
var
arg,rez1,rez2:massiv;
lb1-root.pas
procedure root(n:integer;a:massiv;work_func:my_func_type;var rez:massiv);
var
i:integer;
begin
For i:=1 to n do
rez[i]:=work_func(a[i]);
end;
lb1-tabl.pas
procedure table(n:integer;a,r1,r2:massiv);
var
i:integer;
begin
clrscr;
writeln('-==================T==================T==================¬');
writeln('¦ Аргумент ¦ Значение ф-ции 1 ¦ Значение ф-ции 2 ¦');
writeln('¦==================+==================+==================¦');
for i:=1 to n do
writeln('¦ ',a[i]:10:4,' ¦ ',r1[i]:12:5,' ¦ ',r2[i]:12:5 ,' ¦');
writeln('L==================¦==================¦==================-');
end;
Контрольные расчеты:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.