Советы, трюки и секреты для Blogger.com блоггеров. Все для Blogspot. Советы, трюки и секреты для Blogger.com блоггеров. Все для Blogspot.

Использование процедур и функций пользователя в программе на Турбо Паскале

06 августа 2010, 03:30

Выяснить, сколько положительных элементов содержит матрица А(i,j), если a(i,j)=sin(i+j/2), если это количество k>15, то с помощью процедуры вычислить  и  , иначе с помощью функции подсчитать след в матрице А.

Code:

PROGRAM FUN;
USES Crt;
TYPE
    matr=array[1..4,1..4] of real;
VAR
   a,a1,b,b1 :matr;
   i,k,j:integer;
{----------------Процедура--------------------------}
PROCEDURE  pr(a1:matr; k1:integer);
VAR
   f :real;
begin
writeln('Матрица B[4,4]');
for i:=1 to 4 do begin
                 writeln;
                 for j:=1 to 4 do begin
                               b1[i,j]:=sqrt(a1[i,j]);
                               write(b1[i,j]:9:2);   {Вывод матрицы}
                                  end;
                 end;
writeln; F:=sqrt(k1+1);
writeln('F=',f:9:2);
readln;  {Задержка экрана}
end;
{----------------------Функция---------------------------}
FUNCTION sled:real;
var sledm:real;
begin
     sledm:=0;
     for i:=1 to 4 do  sledm:=sledm+a[i,i]; {подсчет следа матрицы А[4,4]}
writeln('След матрицы A[4,4]:',sledm:9:2);
sled:=sledm;
readln;  {Задержка экрана}
end;
{-----------------Основная программа---------------------}
BEGIN
clrscr;
k:=0;
writeln('Матрица А[4,3]:');
for i:=1 to 4 do begin
                 writeln;
                 for j:=1 to 4 do begin
                          a[i,j]:=sin(i+j/2);
                          if a[i,j]>0 then k:=k+1; {Подсчет кол. положительных}
                          write(a[i,j]:9:2);         {Вывод матрицы}
                                  end;
                 end;
writeln;
writeln ('Количество положительных эл.: ',k);
if k>15 then             {Проверка условия}
       pr(a,k)            {Вызов процедуре}
       else
       sled;             {Вызов функции}
END.

Использование процедур и функций пользователя в программе на Турбо Паскале