Задание по C#. Записать заданные или полученные в процессе формализации математические формулы в виде арифметических выражений.
Разработать алгоритм решения заданной задачи и представить его в виде схем алгоритмов, реализованных на MS Visio.
Создать проект, использующий модуль формы, процедуры пользователя, решающие предписанные задачи, процедуры ввода исходных данных и процедуру вывода результата. Обмен данными между процедурами должен осуществляться через параметры, без использования глобальных переменных. Событийная процедура должна содержать только операторы вызова пользовательских (общих) процедур.
Подготовить тесты для контрольного решения задачи. Выполнить проект и получить результаты. Доказать, что результат правильный.
Const k=30; var b,a:array [1..k] of integer; i,m,n,k1:integer; begin for i:= 1 to k do b[i]:= Random(-15,15); writeln(b); for i:=1 to k do if (b[i]<0) then begin m:=b[i]; n:=i end; for i:=1 to k do if (b[i]<0) and (b[i]>m) then begin m:=b[i]; n:=i end; for i:=1 to k do if (b[i]<0) and (b[i]=m) then begin k1:=k1+1; a[k1]:=i end; writeln ('Максимальный отрицательный элемент ',m); if k1>1 then for i:=1 to k1 do writeln ('Номер максимального отрицательного элемента ',a[i]) else writeln ('Номер максимального отрицательного элемента ',n) end.
Пример: [5,8,-11,4,-6,-3,-8,10,15,13,11,-2,0,-5,-14,11,-1,-7,15,-12,-11,5,-2,15,11,0,1,7,8,14] Максимальный отрицательный элемент -1 Номер максимального отрицательного элемента 17
Пример: [14,-4,5,-1,-14,4,-3,9,7,-15,1,9,11,-10,-1,4,1,-10,6,-13,-10,-5,1,9,9,-9,-7,-2,9,12] Максимальный отрицательный элемент -1 Номер максимального отрицательного элемента 4 Номер максимального отрицательного элемента 15
PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018 Внимание! Если программа не работает, обновите версию!
procedure LT(p,q:array of integer; var r:boolean); begin r:=p.Zip(q,(i,j)->i-j).All(t->t<0) end;
begin var a:=ArrRandom(15,-50,10); Print('a:'); a.Println; var b:=ArrRandom(15,-10,50); Print('b:'); b.Println; var less:boolean; LT(a,b,less); if less then begin a.Transform(t->t*10); Print('a:'); a.Println; b.Transform(t->t div 2); Print('b:'); b.Println end else Writeln('Векторы не менялись') end.
var
b,a:array [1..k] of integer;
i,m,n,k1:integer;
begin
for i:= 1 to k do
b[i]:= Random(-15,15);
writeln(b);
for i:=1 to k do
if (b[i]<0) then
begin
m:=b[i];
n:=i
end;
for i:=1 to k do
if (b[i]<0) and (b[i]>m) then
begin
m:=b[i];
n:=i
end;
for i:=1 to k do
if (b[i]<0) and (b[i]=m) then
begin
k1:=k1+1;
a[k1]:=i
end;
writeln ('Максимальный отрицательный элемент ',m);
if k1>1 then
for i:=1 to k1 do writeln ('Номер максимального отрицательного элемента ',a[i])
else writeln ('Номер максимального отрицательного элемента ',n)
end.
Пример:
[5,8,-11,4,-6,-3,-8,10,15,13,11,-2,0,-5,-14,11,-1,-7,15,-12,-11,5,-2,15,11,0,1,7,8,14]
Максимальный отрицательный элемент -1
Номер максимального отрицательного элемента 17
Пример:
[14,-4,5,-1,-14,4,-3,9,7,-15,1,9,11,-10,-1,4,1,-10,6,-13,-10,-5,1,9,9,-9,-7,-2,9,12]
Максимальный отрицательный элемент -1
Номер максимального отрицательного элемента 4
Номер максимального отрицательного элемента 15