oliverm |  |
| 2010-07-15 21:16 - Respuestas: 2 - Tema nº: 2700268
windows 7.
bueno, estoy empezando con esto y tengo un problema con un programa que hice para calcular el volumen de una circunferencia, que una vez que calculo el volumen se cierra. quisiera saber como poner después que diga desea calcular otra cosa? o algo por el estilo y que pregunte el radio de nuevo. Aquí va el código: (donde están los ************ dice otra cosa que la censuré jaja)
(*Oliver Mohr
Versión 1.0.0
Fecha de inicio 14-07-2010
Objetivo: Aprender
Fichero: aprendiendo.pas*)
const
Pi=3.141592;
var
R: real;
function Volumen(R: real):real;
begin
Volumen:= (4/3)*Pi*R*R*R
end;
begin
writeln('Ingrese el radio de la esfera');
readln(R);
if R > 0 then
write ('Esfera de radio ',R:6:3, ' tiene volumen ',Volumen(R):8:4);
if R = 0 then write ('******************');
if R < 0 then write ('******************');
readln();
end.
PD: otra duda, antes el programa se me cerraba solo y encontré como sugerencia en inet escribir readln() al final del programa pero no entendí porqué se usa, tampoco lo recomendaban mucho, me gustaría también entender un poco más esa parte.
| |
|
|
bacter |  |
|
Re: Evitar después de cumplir función (PASCAL) - 2010-07-15 21:43 - Respuesta 2
El último readln() sirve para que el programa espere la introducción de un dato (resp. pulsación de intro) antes de cerrar el programa.
Para que se repita el ciclo de pedir un radio, debes poner el código principal en un bucle repeat - until. Debes entonces asignar una variable al readln() y la condición del until debe ser una comparación del valor obtenido con una constante (por ejemplo 'S' si la respuesta puedes ser S o N.
| |
|
|
oliverm |  |
|
Re: Evitar después de cumplir función (PASCAL) - 2010-07-15 21:57 - Respuesta 3
en variables agregue s y n como variables char
antes de que pregunte el radio puse repeat
y antes del readln(s,n) (reemplazado por readln()) puse un until n.
pero al compilar me hace problemas ya que esperaba una variable boolean al lado de until y no un char (cómo el n que puse). )= | |
|
|
|