Объяснение:
1. Числа Фибоначчи
function Fibon (n:integer):longint;
var fib_1,fib_2,fib:longint;
i :integer;
begin
if (n<3) then Fibon:=1
else
fib_1 := 1;
fib_2 := 1;
i:=2;
while i<n do
fib:=fib_1+fib_2;
fib_1:=fib_2;
fib_2:=fib;
i:=i+1;
end;
Fibon := fib;
writeln('Fib(',40,') = ',Fibon(40));
readln;
end.
Числа кратные к
program sumkr;
var
n,i,r,k: integer;
sum: longint;
write('Введите число n (1<=n<=4): ');
readln(n);
r:=1;
for i:=1 to n-1 do
r:=r*10;
write('Введите число k: ');
readln(k);
i:=r;
while i <= r*10-1 do
if i mod k=0 then sum:=sum+i;
writeln('Сумма чисел от ',r,' до ',r*10-1,' кратных ',k,' = ',sum);
===
3. НОК
program NOK_a_b;
var a, b, nod, nok,p: integer;
writeln('Введите а и в ');
readln(a, b);
p:=a*b;
while (a <> 0) and (b <> 0) do
if a > b then a := a mod b
else b := b mod a;
nod := a + b;
nok:=p div nod;
writeln('НОК= ', nok);
Тут смысла нет передавать массив в качестве параметра, т.к. он описан как const .
Текст будет примерно такой
const x=0.2;
y :array[1..9]of real=(0.1,0.2,-0.3,-0.04,5,6,-7.03,8,9);
function t(u:real):real;
t:=sin(u)+cos(u);
function p(a,b:integer):real;
var i:integer; d:real;
d:=1;
for i:= a to b do
d:=d*y[i];
p:=d;
Begin
cls;
writeln('z(x,y)=',exp(ln(t(x))*3)/p(1,9)+sqr(p(1,9))/exp(ln(t(x))*2/3):6:4);
End.
Если нужно массив передать в функцию, то его описывают как новый тип переменной и передают
Вот так, например:
const z=9;
type mas=array[1..z] of integer;
u :mas;
i:integer;
// Вывод массива на экран
// a -массив n-размер,text - что хотим написать
procedure showmas(b:mas;n:integer;text:string);
writeln(text);
for i:=1 to n do
write(b[i],' ');
for i:=1 to 9 do
u[i]:= random(20);
showmas(u,10,'Исходный массив u');
Объяснение:
1. Числа Фибоначчи
function Fibon (n:integer):longint;
var fib_1,fib_2,fib:longint;
i :integer;
begin
if (n<3) then Fibon:=1
else
begin
fib_1 := 1;
fib_2 := 1;
i:=2;
while i<n do
begin
fib:=fib_1+fib_2;
fib_1:=fib_2;
fib_2:=fib;
i:=i+1;
end;
Fibon := fib;
end;
end;
begin
writeln('Fib(',40,') = ',Fibon(40));
readln;
end.
Числа кратные к
program sumkr;
var
n,i,r,k: integer;
sum: longint;
begin
write('Введите число n (1<=n<=4): ');
readln(n);
r:=1;
for i:=1 to n-1 do
r:=r*10;
write('Введите число k: ');
readln(k);
i:=r;
while i <= r*10-1 do
begin
if i mod k=0 then sum:=sum+i;
i:=i+1;
end;
writeln('Сумма чисел от ',r,' до ',r*10-1,' кратных ',k,' = ',sum);
readln;
end.
===
3. НОК
program NOK_a_b;
var a, b, nod, nok,p: integer;
begin
writeln('Введите а и в ');
readln(a, b);
p:=a*b;
while (a <> 0) and (b <> 0) do
if a > b then a := a mod b
else b := b mod a;
nod := a + b;
nok:=p div nod;
writeln('НОК= ', nok);
readln;
end.
Объяснение:
Тут смысла нет передавать массив в качестве параметра, т.к. он описан как const .
Текст будет примерно такой
const x=0.2;
y :array[1..9]of real=(0.1,0.2,-0.3,-0.04,5,6,-7.03,8,9);
function t(u:real):real;
begin
t:=sin(u)+cos(u);
end;
function p(a,b:integer):real;
var i:integer; d:real;
begin
d:=1;
for i:= a to b do
d:=d*y[i];
p:=d;
end;
Begin
cls;
writeln('z(x,y)=',exp(ln(t(x))*3)/p(1,9)+sqr(p(1,9))/exp(ln(t(x))*2/3):6:4);
readln;
End.
Если нужно массив передать в функцию, то его описывают как новый тип переменной и передают
Вот так, например:
const z=9;
type mas=array[1..z] of integer;
var
u :mas;
i:integer;
// Вывод массива на экран
// a -массив n-размер,text - что хотим написать
procedure showmas(b:mas;n:integer;text:string);
var
i:integer;
begin
writeln(text);
for i:=1 to n do
write(b[i],' ');
readln;
end;
begin
for i:=1 to 9 do
u[i]:= random(20);
showmas(u,10,'Исходный массив u');
end.