===== PacalABC.NET =====
begin
var L := ReadReal('Укажи расстояние до танка:');
Writeln('Программа завершается при попадании в танк');
Writeln('или при вводе числа, не попадающего в диапазон от 0 до 90');
var (g, v0, eps) := (9.81, 100.0, 1.0);
while True do
begin
var a := ReadReal('Введи угол наклона пушки, град:');
if not a.InRange(0.0, 90.0) then Exit;
var d := L - Sqr(v0) * Sin(2 * DegToRad(a)) / g;
if Abs(d) <= eps then
begin
Println('Ура! Попадание!');
Exit
end
else if d > 0 then
Println('Недолет')
else
Println('Перелет')
end
end.
function MyCool(a: array of integer): array of integer;
begin
Result := new integer[6];
var (min, max, kn, kp, kz) := (a[0], a[0], 0, 0, 0);
for var i:= 0 to a.High do
begin
if a[i] > 0 then kp += 1;
if a[i] = 0 then kz += 1;
if a[i] < 0 then kn += 1;
if a[i] > max then max := a[i];
if a[i] < min then min := a[i]
end;
Result[0] := max;
Result[1] := min;
Result[2] := kn;
Result[3] := kp;
Result[4] := kz;
Result[5] := kp + kz
end;
begin
var a := ArrRandom(10, -10, 10);
a.Println;
var b := MyCool(a);
Println('Значение наибольшего элемента массива:', b[0]);
Println('Значение наименьшего элемента массива:', b[1]);
Println('Количество отрицательных элементов массива:', b[2]);
Println('Количество положительных элементов массива:', b[3]);
Println('Количество нулевых элементов массива:', b[4]);
Println('Количество неотрицательных элементов массива:', b[5])
end.