Паскаль исправьте данный код под условие задачи, данные не записываются в файл. Также нужно через // после команд написать что они делают.
--
var f:file of integer;
a,mn,mx,i,n:integer;
begin
assign(f,'file.txt');
rewrite(f);
write('Сколько компонент ввести в файл? n=');
readln(n);
writeln('Введите ',n,' целых чисел:');
for i:=1 to n do
begin
readln(a);
write(f,a);
end;
writeln('Содержание файла:');
reset(f);
seek(f,0);
read(f,a);
mn:=a;
mx:=a;
write(a,' ');
for i:=1 to filesize(f)-1 do
begin
seek(f,i);
read(f,a);
if a> mx then mx:=a
else if a write(a,' ');
end;
writeln;
writeln('Макс.=',mx,' Мин.=',mn);
close(f);
readln
end.
--
Условие задачи:
Создать файл действительных случайных чисел. Найти наибольший и наименьший элементы и дописать в файл.
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.
begin
var a:=ArrRandom(30,1960,2016); a.Println;
var iFirst:=a.IndexMin;
var iLast:=iFirst;
var vMin:=a[iFirst];
for var i:=29 downto iFirst+1 do
if a[i]=vMin then begin iLast:=i; break end;
if iLast=iFirst
then Writeln('Самый старший человек номер ',iFirst+1)
else Writeln('Первый из самых старших людей имеет номер ',
iFirst+1,', последний из людей этого возраста - номер ',
iLast+1)
end.
Тестовое решение
1987 1971 1974 1989 1989 1960 1987 2016 1992 1962 1971 2011 1993 1962 2008 1994 1994 1976 1988 2014 2011 1960 1971 2000 1973 2010 1964 1976 1971 1993
Первый из самых старших людей имеет номер 6, последний из людей этого возраста - номер 22