Дан массив из 30 элементов. заполнить его случайными числами в диапазоне от 0 до 1000. вывести исходный массив на экран. найти сумму и произведение элементов массива, которые кратны 3 и чётные
// PascalABC.NET 3.1, сборка 1213 от 04.04.2016 begin var a:=ArrRandom(30,0,1000); a.Println; var b:=a.Where(x->(x mod 3=0) and x.IsEven).ToArray; Writeln('S=',b.Sum, ',P=',b.Aggregate(Biginteger(1),(p,x)->p*x)) end.
Линейное ур-е имеет вид: ax^2+bx+c=0, где a, b, c - кофиценты Чтобы решить кв. ур-е нужно: Определить дискриминант по формуле: D(дискриминант)= b^2 * -4ac 2) Если D<0, то уравнение не имеет корней Если D=0, то один корень Если D>0, то два корня 3) ищем корни по формуле, Если D=0: x=-b/2a Ищем корни по формуле, если D>0: x1=-b+√D/2a x2=-b-√D/2a
по теореме Виета: x1+x2=-b/a x1*x2=c/a И подбираем корни.
По свойству корней. Если a+b+c=0, то x1=1 x2=c/a Если a-b+c=0, то x1=-1 x2=-c/a
Нахождение площади треугольника: S=h*x*1/2, где h- высота треугольника, x - основание, к которому проведена ввсота
1) Program n1; const n=10; var a: array [1..n] of integer; i,sum: integer; begin randomize; sum:=0; for i:=1 to n do a[i]:=random(100)+1; for i:=1 to n do sum:=sum+a[i]; writeln('сумма: ',sum); end. 2) Program n2; const n=10; var a: array [1..n] of integer; i,sum,j,temp: integer; begin randomize; writeln('исходный массив'); for i:=1 to n do begin a[i]:=random(100)+1; write(a[i],' '); end; writeln; writeln('полученный массив: '); for i:=1 to n do for j:=i to n do if a[j]<a[i] then begin temp:=a[i]; a[i]:=a[j]; a[j]:=temp end; for i:=1 to n do write(a[i],' '); end.
begin
var a:=ArrRandom(30,0,1000); a.Println;
var b:=a.Where(x->(x mod 3=0) and x.IsEven).ToArray;
Writeln('S=',b.Sum,
',P=',b.Aggregate(Biginteger(1),(p,x)->p*x))
end.
Тестовое решение:
453 973 15 259 435 909 507 330 884 828 249 48 114 641 344 264 334 875 940 691 978 571 342 802 536 720 783 924 634 278
330 828 48 114 264 978 342 720 924
S=4548,P=87834214293386467737600