Turbo Pascal для начинающих

         

Используя механизм рекурсии, вычисляет сопротивление


{ Выводит на экран узор } Uses Graph,Crt;
{ Рисует элемент узора } procedure Elem(x,у,r,p: integer);
{ x,y,г - координаты и радиус центра основного
элемента узора р - порядок узора } begin
if p>=0 then begin
Circle(х,у,г); Delay(lOO);
Elem(x+r,y,Round(r/2),p-l) ; Elem(x,y-r,Round(r/2),p-l); Elem(x-r,y,Round(r/2),p-l);
m(x,y+r,Round(r/2) end;
end;
grDriver:integer; { драйвер }
grMode:integer; { графический режим }
grPath:string; { путь к файлу драйвера )
ErrCode:integer; ( код ошибки графического режима }
begin
grDriver:=VGA; grMode:=VGAHi; grPath:='e:\tp\bgi'; InitGraph (grDriver,grMode,grPath); ErrCode:=GraphResult; if ErrCode <> grOK then begin
writeln ('Ошибка инициализации графического режима.1)


writeln ('Для завершения работы нажмите <Enter>');
readln;
Halt (1); end;
{ основная программа }
Elem(320,240,60,3); { рисуем узор 3-го порядка }
OutText('Для завершения работы программы ',
'нажмите <Enter>');
readln; end.
Используя механизм рекурсии, вычисляет сопротивление n-звенной электрической цепи }
rl,r2,r3: real; { величины сопротивлений,
из которых состоит цепь }
n: integer; { количество звеньев (порядок) цепи } re: real; { сопротивление цепи )
{ величина сопротивления цепи n-го порядка } function Cep(n: integer): real; begin
if n=l
then Cep:=Rl+R2+R3 else begin
rc:=Cep(n-1); Cep:=R2*rc/(R2+rc); end; end;
{ основная процедура } begin
writeln('Вычисление сопротивления электрической цепи.
writeln('Введите величины сопротивлений (Ом):');
write('rl ->');
readln(rl);
write Cr2 ->') ;
readln(r2);
write('r3 ->');
readln(r3);
write('Порядок цепи ->');
readln(n);
writelnf'Сопротивление цепи:',Сер(n):6:2,' Ом'); { величины соротивлений передаются
в процедуру Сер через глобальные
переменные rl, r2 и гЗ } readln; end.

Содержание раздела