Составить в виде блок схем ветвящихся алгоритмов Задание 2. Составил алгоритм для определения того, выполнен ли план по продаже товаров за день, если известны план продажи (в рублях), количество проданного товара и цена товара.
Var mas:array[1..1000, 1..1000] of integer; N,M,i,j,k:integer;
Begin Writeln('Введите размер матрицы N*M'); Write('N = '); readln(N); Write('M = '); readln(M);
if (M>1000) or (N>1000) or (M<1) or (N<1) then Writeln('Ошибка, указанные значения выходят за пределы матрицы') else Begin Writeln('Введите элементы матрицы');
k:=0; for i:=1 to N do for j:=1 to M do Begin readln(mas[i,j]); if (mas[i,j] mod 2 = 0) then k:=k+1; end;
Writeln(); Writeln('Исходная матрица');
for i:=1 to N do Begin for j:=1 to M do Begin Write(mas[i,j], ' ') end; Writeln(); end;
Writeln(); Writeln('Количество четных элементов = ',k); end;
uses crt;
Var mas:array[1..1000, 1..1000] of integer;
N,M,i,j,k:integer;
Begin
Writeln('Введите размер матрицы N*M');
Write('N = ');
readln(N);
Write('M = ');
readln(M);
if (M>1000) or (N>1000) or (M<1) or (N<1)
then
Writeln('Ошибка, указанные значения выходят за пределы матрицы') else
Begin
Writeln('Введите элементы матрицы');
k:=0;
for i:=1 to N do
for j:=1 to M do
Begin
readln(mas[i,j]);
if (mas[i,j] mod 2 = 0) then k:=k+1;
end;
Writeln();
Writeln('Исходная матрица');
for i:=1 to N do
Begin
for j:=1 to M do
Begin
Write(mas[i,j], ' ')
end;
Writeln();
end;
Writeln();
Writeln('Количество четных элементов = ',k);
end;
readln;
end.
309
Объяснение:
F(1) = 1
F(2) = 3
F(n) = F(n – 1) * n + F(n – 2) * (n – 1) при n > 2
Немного посчитаем подставляя значения n и предыдущих F(n)
n = 3 F(1) = 1 F(2) = 3
F(3) = F(3 – 1) * 3 + F(3 – 2) * (3 – 1) = F(2) * 3 + F(1) * 2 = 3 * 3 + 1 * 2 = 9 + 2 = 11
n = 4 F(2) = 3 F(3) = 11
F(4) = F(4 – 1) * 4 + F(4 – 2) * (4 – 1) = F(3) * 4 + F(2) * 3 = 11 * 4 + 3 * 3 = 44 + 9 = 53
n = 5 F(3) = 11 F(4) = 53
F(5) = F(5 – 1) * 5 + F(5 – 2) * (5 – 1) = F(4) * 5 + F(3) * 4 = 53 * 5 + 11 * 4 = 265 + 44 = 309