I know what you want...
Здравсвуйте,можете помочь по программированию на Паскале?добралась до подпрограмм...пока еще не со всем разобралась,была бы благодрана за помощь...
В данном массиве А(3х5) подсчитать среднее арифметическое отрицательных и непревосходящих по абсолютной величине число 7 элементов. Пр решении использовать процедуру ввода элементов массива
-
-
18.11.2007 в 21:27procedure input (var x:f;l,m:integer);
var o,p:integer; begin
for o:=1 to l do
for p:=1 to m do
read (x[o,p]);
end;
-
-
18.11.2007 в 21:30-
-
18.11.2007 в 21:34type f=array [1..3] of array[1..5] of integer
var x:f;
так или как?
и все,боше вопросов неть)
-
-
18.11.2007 в 21:46program pr1;
uses crt;
type f=array[1..3,1..5] of real;
var i,j,k:integer; sr:real; a:f;
procedure input (var x:f);
var o,p:integer; begin
for o:=1 to 3 do
for p:=1 to 5 do
read (x[o,p]);
end;
begin
Writeln ('Vvedite massiv a');
input(a);
sr:=0;
k:=0;
for i:=1 to 3 do
for j:=1 to 5 do
if (a[i,j]<0) and (abs(a[i,j])<=7) then
begin
sr:=sr+a[i,j];
k:=k+1;
end;
sr:=sr/k;
writeln ('Sr=',sr); readkey;
end.
-
-
18.11.2007 в 21:51-
-
19.11.2007 в 00:52выглядят так:
program p;
Procedure {имя}();
begin
<тело процедуры>;
end;
процедура может возвращать и может не возвращать результат.
если переменная прописана в процедуре, то, то что с ней происходит в процедуре не считается. если же не прописана в процедуре, а только в главной программе, то результат остается.
(на заметку, переменные, описанные внутри процедуры - локальные, переменные описанные в главной программе - глобальные.)
ну примерчик:
...
var a,b,c,f:integer;
procedure sum;
var a,f:integer;
begin
a:=a+2; b:=b+10; c:=c+1; f:=f+4;
end;
begin
a:=5;
b:=4;
c:=3;
f:=1;
Sum;
writeln(a,b,c,f);
end.
{вывод: 5, 14, 4, 1}
вообще,процедуры как маленькие програмки.
допустим, прописав один раз процедуру вывода или ввода массива, в программе вы можете ее использовать тысячу раз вызвав одним словом, тем которым вы назвади процедуру.
допустим,
Program p;
type mas=array[1..100] of integer;
var i:integer;
a:mas;
Procedure Vvod(var a:mas);
var i:integer;
begin
for i:=1 to 100 do
a[i]:=random(9)+1;
end;
Procedure Vivod(var a:mas); {процедуру по массиву, массив обязательно прописываем здесь, т.к. можно потом по разным массивам вызывать процедуру, достаточно в главной программе, когда будем вызывать процедуру писать разные имена массива, например:
Vivod(a);
Vivod(b);
Vivod(c);
Vivod(d); и т.д.}
var i:integer;
begin
for i:=1 to 100 do
write(a[i],' ' );
end;
begin {это - главная программа}
Vvod(a);
Vvod(b);
Vivod(a);
writeln; {напишем для того, чтобы массивы были на разных строках}
Vivod(b);
end.
получаем 2 разных массива, но у меня есть ошибочка:
массив b не прописан в главной программе, там прописан только массив a. Я про то, что не забывайте прописывать все переменные в главной программе. то есть начало будет выглядеть так:
Program p;
type mas=array[1..100] of integer;
var i:integer;
a,b:mas;
ну в общем самое главное рассказала=)
в программах можно делать разные процедуры, допустим в вашей:
В данном массиве А(3х5) подсчитать среднее арифметическое отрицательных и непревосходящих по абсолютной величине число 7 элементов.
можно сделать процедуру ввода массива, вывода массива(матрицы), процедуру подсчета среднего арифметического отрицательных элементов отдельно или процедуру подсчета среднего арифметического отрицательных элементов,непревосходящих по абсолютной величине число 7 элементов.
Будут вопросы, спрашивайте