Pascal/Turbo Pascal - consulta

 
Vista:

consulta

Publicado por paula (7 intervenciones) el 07/11/2006 17:20:30
HOLA: Me gustaría saber que informa cada instrucción write y otra cosa que no entiendo es que al principio del programa la variable dos no tiene un valor asignado

Program imprimir;
var uno, dos, tres, cuatro, cinco : integer;

function sumatoria (a, b): integer;
var i, aux: integer;
begin
If (b => 8) then
begin
Aux := 0:
For i := 1 to b do
aux :=aux + a;
sumatoria := aux;
end
else
sumatoria := b* (-1);
end;

procedure resolver (uno: integer; var dos: integer; var tres: integer; var cuatro: integer; cinco: integer)
begin
dos:= uno (uno mod tres);
tres:= dos – 50;
uno:= cinco div dos;
cuatro:= uno + dos + cinco;
cinco:= sumatoria (cuatro, tres);
end;

begin
uno:= 3; tres:= 3; cuatro:= 30; cinco:= 5;
resolver (cinco, dos, tres, uno, cuatro);
write (uno); write (dos); write (tres); write (cuatro); write (cinco);
end
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:consulta

Publicado por Carlos Guimaraenz (265 intervenciones) el 07/11/2006 18:10:02
Hola Paula! bueno, vamos mejorando, pero también falta el tipo de datos en los parámetros de la función Sumatoria (si bien se puede suponer que son integer), cuando quieres comparar por mayor o igual el signo es >= y NO =>, en el procedure Resolver, la linea que dice "dos:= uno (uno mod tres);" no se sabe si es una multiplicación o una suma, y falta el punto (.) en el END final. Cuando inicializas la variable "aux" en la función Sumatoria, terminas con dos puntos( : ) donde deberías terminar con punto y coma ( ; ). El motivo por el cual la variable DOS no necesita ser inicializada, es que ésta es pasada por referencia al procedimiento e inicializada allí.
Ahora bien, lo que imprime el programa (considerando que la línea que te marqué es "dos:= uno + (uno mod tres);", es lo siguiente:

41 7 -43 30 5

Dejo espacios para que veas los números, pero todos éstos se imprimen consecutivamente: 417-43305

¡Un beso!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar