Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Pascal ABC " Подпрограммы"

Автор: Давид 18.10.2017 18:55

1. Вычислить, используя процедуру
y = (2n)!! = 2 • 4 •6• ... • (2n), n>0
2. Даны два двумерных массива целых чисел с размерами (4х5) эле¬ментов. Подсчитать количество отрицательных элементов в каждом из них.

Заранее огромное спасибо!

Автор: Федосеев Павел 21.10.2017 13:41

1. Функция

program test;

function f(x: integer): integer;
var
r: integer;
begin
r := 1;
for x := 1 to x do
r := r * 2 * x;
f := r;
end;

var
n, y: integer;
begin
Write('n: ');
readln(n);
y := f(n);
writeln('y=', y);
end.


Добавлено через 10 мин.
2. Матрицы
program test;

type
TMatrix = array [1..4, 1..5] of integer;

function CountNegative(const M: TMatrix): integer;
var
Count: integer;
i, j: integer;
begin
Count := 0;
for i := 1 to 4 do
for j := 1 to 5 do
if M[i, j] < 0 then
Inc(Count);
CountNegative := Count;
end;

procedure FillMatrix(var M: TMatrix);
var
i, j: integer;
begin
for i := 1 to 4 do
for j := 1 to 5 do
M[i, j] := -100 + random(200);
end;

procedure ShowMatrix(const M: TMatrix);
var
i, j: integer;
begin
for i := 1 to 4 do
begin
for j := 1 to 5 do
Write(M[i, j]: 4);
writeln;
end;
end;

var
M1, M2: TMatrix;
begin
randomize;
FillMatrix(M1);
FillMatrix(M2);
writeln('Matrix 1:');
ShowMatrix(M1);
writeln('Count: ', CountNegative(M1));
writeln('Matrix 2:');
ShowMatrix(M2);
writeln('Count: ', CountNegative(M2));
end.