Trata de marcar bien los bloques begin end.
for i:=1 to 5 do
begin
Writeln ('ingrese otro valor para saber si es maximo o minimo');
Readln (B);
if b > max then
begin
max := b;
c := c+1;
end else
if b<min then
begin
min := b;
f := f+1;
end;
end;
por sierto, el bloque if, else if, else no lleva el ; salgo al final
if a then
begin
...
end else
if b then
begin
...
end else
begin
...
end;
tambien he visto que lo hacen:
if a then
begin
...
end
else if b then
begin
...
end
else
begin
...
end;
Yo siempre us'e esta ultima, pero cuando vi la primera, resulta mas comoda ya que tenes menos posibilidad de equivocarte.
El problema que tenes en este programa es de logica, no se porque al final mandas a leer a readln(a), ni siquiera mandas un letrero men. y el otro error es que tenes una instruccion mal escrita que es sobre algo de colo, encerralo entre llaves y compilalo de nuevo. Me tome la molestia de corregirlo....
program programa1;
var
max,min,a,b,c,f:real;
i:integer;
begin
writeln ('ingrese el primer valor');
readln (a);
c:=0;
max:=a;
min:=a;
c:=c+1;
f:=f+1;
for i:=1 to 5 do
begin
writeln ('ingrese otro valor para saber si es maximo o minimo');
readln (
;
if b>max then
begin
max:=b;
c:=c+1;
end
else
if b<min then
begin
min:=b;
f:=f+1;
end;
end;
writeln ('el valor maxaimo es:', max:0:2);
writeln ('la posicion del valor maximo es:', c:0:2);
writeln ('el valor minimo es:', min:0:2);
writeln ('la posicion del valor minimo es:', f:0:2);
readln;
end.