"for i := a to/downto b do" используется, если известно, сколько раз точно будет выполнен цикл.
Var
a,b,c,d:real;
begin
Write('Введите коэффициенты уравнения a,b,c: ');
Readln(a,b,c);
d:=b*b-4*a*c;
if d<0 then Writeln('Корней нет')
else if d=0 then Writeln('Один корень')
else Writeln('Два корня')
end.
От 0до 255-254 либо нет потомучто не получается как у тебя ответы
1 байт - 8 бит т. е от 00000000=0 до 11111111=255,
все что между ними, - это разные переборы нулей и единиц ни разу не повторяющихся, например 01001100 или 00001111 и т. д. таких переборов как раз 255, 00000001=1 00000010=2 00000011=3 00000100=4 и т. д. 11111110=254
Program qfdw;
uses crt;
Type
vershina=Record
Tochka:string;
X,Y:real;
end;
ps=File of vershina;
Var f:ps;
z,a,b,c:vershina;
i:integer;
Begin
assign(f,'1.dat');
rewrite(f);
writeln('Введите вершины треугольника и их координаты: ');
for i:=1 to 3 do
begin
writeln(i,'-я вершина');
write('буква: ');read(z.tochka);
write('X=');read(z.x);
write('Y=');read(z.y);
write(f,z);
end;
Close(f);
assign(f,'1.dat');
reset(f);
read(f,a);
read(f,b);
read(f,c);
close(f);
writeln('Cтороны треугольника:');
writeln(a.tochka,b.tochka,' = ',sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)):5:2);
writeln(c.tochka,b.tochka,' = ',sqrt((c.x-b.x)*(c.x-b.x)+(c.y-b.y)*(c.y-b.y)):5:2);
writeln(a.tochka,c.tochka,' = ',sqrt((a.x-c.x)*(a.x-c.x)+(a.y-c.y)*(a.y-c.y)):5:2);
end.