// PascalABC.NET 3.0, сборка 1157 от 02.02.2016
begin
var n:=ReadInteger('n=');
var y:=ArrRandom(n,1,100); y.Println(', ');
var imax:=0;
var imin:=0;
for var i:=1 to n-1 do
if y[i]>y[imax] then imax:=i
else
if y[i]<y[imin] then imin:=i;
Swap(y[imax],y[imin]);
y.Println(', ')
end.
<u><em>Тестовое решение:</em></u>
n= 12
35, 81, 48, 34, 51, 44, 97, 56, 94, 51, 11, 31
35, 81, 48, 34, 51, 44, 11, 56, 94, 51, 97, 31
1)программа и график (В и Д) -динамические модели,тогда остальное статические модели
2)А и В
По черным ящиком (lack box) понимается модуль, алгоритм работы которого неизвестен, соответственно можно только построить алгоритм работы с ним.
Передать исходные данные > получить обработанные данные
Var x,y,z,Ans:integer;
u:real;
Begin
Write('Введите числа x,y,z: ');
Readln(x,y,z);
Writeln('Что вычислить из числа ',x,' ?');
Writeln('1 - sin; 2 - cos; 3 - tg;');
Readln(Ans);
case Ans of
1: begin u:=sin(x); Writeln('sin(',x,') = ',u) end;
2: begin u:=cos(x); Writeln('cos(',x,') = ',u) end;
3: begin u:=tan(x); Writeln('tg(',x,') = ',u) end;
else Writeln('Ошибка!') end;
Writeln('Найти максимальное число из ряда ',u,', ',y,', ',z);
Writeln('Без модуля - 1; по модулю - 2');
Readln(Ans);
case Ans of
1: begin
if (u>y) and (u>z) then
Writeln('Максимальное число - ',u)
else
if (y>u) and (y>z) then Writeln('Максимальное число - ',y)
else
if (z>u) and (z>y) then Writeln('Максимальное число - ',z)
else
Writeln('Все числа равны.')
end;
2: begin
if (abs(u)>abs(y)) and (abs(u)>abs(z)) then
Writeln('Максимальное число - ',u)
else
if (abs(y)>abs(u)) and (abs(y)>abs(z)) then
Writeln('Максимальное число - ',y)
else
if (abs(z)>abs(u)) and (abs(z)>abs(y)) then
Writeln('Максимальное число - ',z)
else Writeln('Все числа равны.')
end
end
End.
*.pas прикрепил во вложения
//Решение почти правильное.
//Ошибка только в цикле for i := 1 to n do
//Цикл должен проверять до n - 1, т.к. в массиве из n
//элементов пар соседних элементов не может быть
//больше n - 1, например массив из 3 чисел
//1 2 3; пары : 1 2 и 2 3.
const
N = 20;
var
a: array[1..N]of integer;
i, j, k: integer;
begin
k := 0;
for i := 1 to N do
readln(a[i]);
for i := 1 to N - 1 do
begin
if (a[i] mod 2 = 0) and (a[i + 1] mod 2 = 0) then k := k + 1;
end;
writeln(k);
end.