ayuda con ciclos de repetición
Publicado por john (3 intervenciones) el 08/06/2006 18:35:39
hey que tal, necesito un poco de su ayuda, estoy haciendo uin programa que te pida el area y el perimetro de una figura (cuadrado,rectangulo y triangulo) tu tienes que elegir la figura.
el problema que tengo es que no puedo meter un ciclo de repetición, y que cuando lo ejecuto (por que si compila) solo me da los datos de la figura 'a'.
P.D. no se si es por que uso free pascal, pero cuando meto un 'end;' no me lo acepta y me dice que le ponga un ' . ' en vez de ' ; ' .
program figuras;
uses crt;
const
a='triangulo' ;
b='cuadrado' ;
c='rectangulo' ;
var
f:string;
v,h,l,peri,araea:real;
begin
clrscr;
writeln('elige figura');
writeln('a:triangulo b:cuadrado c:rectangulo' );readln(f);
if (f='a' ) then
writeln('base?');readln(v);
writeln('altura?');readln(h);
writeln('lado?');readln(l);
peri:=(l*l*l);
area:=(v*h)/2;
writeln('perimetro ', peri:4:2);
writeln('area ', area:4:2);
if (f='b' ) then
writeln('lado?');readln(l);
peri:=(l*l*l*l);
area:=(l*l);
writeln('perimetro ', peri:4:2);
writeln('area ', area:4:2);
if (f='c' ) then
writeln('base?');readln(v);
writeln('altura?');readln(h);
peri:=(v*v*h*h););
area:=(v*h);
writeln('perimetro ', peri:4:2);
writeln('area ', area:4:2);
end.
el problema que tengo es que no puedo meter un ciclo de repetición, y que cuando lo ejecuto (por que si compila) solo me da los datos de la figura 'a'.
P.D. no se si es por que uso free pascal, pero cuando meto un 'end;' no me lo acepta y me dice que le ponga un ' . ' en vez de ' ; ' .
program figuras;
uses crt;
const
a='triangulo' ;
b='cuadrado' ;
c='rectangulo' ;
var
f:string;
v,h,l,peri,araea:real;
begin
clrscr;
writeln('elige figura');
writeln('a:triangulo b:cuadrado c:rectangulo' );readln(f);
if (f='a' ) then
writeln('base?');readln(v);
writeln('altura?');readln(h);
writeln('lado?');readln(l);
peri:=(l*l*l);
area:=(v*h)/2;
writeln('perimetro ', peri:4:2);
writeln('area ', area:4:2);
if (f='b' ) then
writeln('lado?');readln(l);
peri:=(l*l*l*l);
area:=(l*l);
writeln('perimetro ', peri:4:2);
writeln('area ', area:4:2);
if (f='c' ) then
writeln('base?');readln(v);
writeln('altura?');readln(h);
peri:=(v*v*h*h););
area:=(v*h);
writeln('perimetro ', peri:4:2);
writeln('area ', area:4:2);
end.
Valora esta pregunta


0