// PascalABC.NET 3.2, сборка 1416 от 26.03.2017 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('Количество строк в массиве:'); var m:=ReadInteger('Количество столбцов в массиве:'); Writeln('*** Исходный массив [',n,',',m,'] ***'); var a:=MatrRandom(n,m,-99,99); a.Println(4); Writeln(4*a.ColCount*'-'); Writeln('S=',a.ElementsByRow.Where(x->x>1).Sum) end.
Пример Количество строк в массиве: 4 Количество столбцов в массиве: 7 *** Исходный массив [4,7] *** 5 -40 29 34 -77 19 80 4 -13 9 13 -37 -3 -38 -12 -35 44 -90 -50 66 -58 -79 -62 79 96 -36 -11 13
Рассматриваем движение тела, брошенного под углом к горизонту без начального ускорения. Уравнения движения тела в осях координат известны из физики: Также известна формула для определения времени движения тела до его падения (т.е. возвращения на исходную высоту, которая совпадает с осью X): Считаем, что в начальных условиях задается количество точек, в которых нужно найти значения пути пройденного в осях координат.
uses Crt; const g=9.81; pi=3.14; var alpha,ar,v0,t,x,y,tmax,ht,v0x,v0y:real; n:integer; begin ClrScr; Write('Vvedite alpha, v0: '); Read(alpha,v0); Write('Chislo tochek= '); Read(n); ar:=pi*alpha/180; v0x:=v0*cos(ar); v0y:=v0*sin(ar); tmax:=2*v0*sin(ar)/g; ht:=tmax/n; t:=ht; while t<=tmax do begin x:=v0x*t; y:=v0y*t-g*sqr(t)/2; Writeln('t=',t:6:3,' x=',x:8:3,' y=',y:8:3); t:=t+ht end; ReadKey end.
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('Количество строк в массиве:');
var m:=ReadInteger('Количество столбцов в массиве:');
Writeln('*** Исходный массив [',n,',',m,'] ***');
var a:=MatrRandom(n,m,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
Writeln('S=',a.ElementsByRow.Where(x->x>1).Sum)
end.
Пример
Количество строк в массиве: 4
Количество столбцов в массиве: 7
*** Исходный массив [4,7] ***
5 -40 29 34 -77 19 80
4 -13 9 13 -37 -3 -38
-12 -35 44 -90 -50 66 -58
-79 -62 79 96 -36 -11 13
S=491