const {убраны лишние описатели - чистая косметика} a = 2.12; b = 7.45; h = 0.34;
var x, f1, f2, y, s: real; i, n: integer; {описание, необходимое для цикла}
begin { x := a; этот оператор не нужен } s := 0; n := Trunc((b - a) / h)+1; {стандартная формула числа повторений цикла } for i := 1 to n do { Заголовок цикла } begin {начало блока для выполнения в цикле } x := a + (i - 1) * h; { перенесено из конца цикла } f1 := 3 * ln(exp(1 / 5) * ln(sin(x) + sqr(x))); f2 := ((2 * x + 1) / (x * x * x * x * x)); y := f1 / f2; s := s + y; end; {конец блока для выполнения в цикле } Writeln('S=', s:10:5); end.
Тестовое решение:
S=26390.53751
lazu8375
03.06.2023
1. В "реальном мире" это решается примерно так:
// PascalABC.NET 3.1, сборка 1198 от 11.03.2016 begin var a:=ArrRandom(ReadInteger('n='),0,2); a.Println; a.Sorted.Println end.
2. Но, поскольку считается, что школьникам больше заняться нечем, их заставляют писать примерно в таком стиле (и время займет, и ощибок понаделают):
// PascalABC.NET 3.1, сборка 1198 от 11.03.2016 const nn=100; var i,j,n,t:integer; a:array[1..nn] of integer; begin Write('n='); Read(n); Randomize; for i:=1 to n do begin a[i]:=Random(3); Write(a[i],' ') end; Writeln; for i:=1 to n-1 do for j:=1 to n-1 do if a[j]>a[j+1] then begin t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t end; for i:=1 to n do Write(a[i],' '); Writeln; end.