Var x,y,z: real; t: integer; begin writeln('введите х и у'); readln(x,y); z:=sqrt(sqr(x)-sqr(y)); t:=0; while (z>0,1) do begin t:=t+1; z:=0,98*z; {если 2% от изменяющегося расстояния до пола; если же имеется ввиду 2% от исходного расстояния, то нужно будет ввести новую переменную или присвоить исходное значение z, например х, то есть сразу после z:=sqrt(sqr(x)-sqr(y)); написать x:=z; Формула (оператор) z:=0,98*z; изменится так: z:=z-x*0,98} end; writeln('палка упадет через ', t,' мин.'); end.
PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018 Внимание! Если программа не работает, обновите версию!
begin var A:=MatrGen(6,7,(i,j)->Sin(i+1)+Cos(3*(j+1))); A.Println(10,6); Writeln(70*'-'); var B:=A.ElementsWithIndexes.Where(t->t[1].IsEven and t[2].IsEven) .Select(t->t[0]).ToArray; B.Println; var m:=B.Where(t->t>0).DefaultIfEmpty.Average; Writeln('Искомое среднее равно ',m); var f:=OpenWrite('MyFile.txt'); for var i:=0 to A.RowCount-1 do begin for var j:=0 to A.ColCount-1 do Write(f,A[i,j],' '); Writeln(f); end; Writeln(f); for var i:=0 to B.Length-1 do Write(f,B[i],' '); f.Close; end.
154710 - 100101110001010110