Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Duda sobre variable en un Bucle Repeat (https://www.clubdelphi.com/foros/showthread.php?t=45995)

gerupc 20-07-2007 02:42:00

Duda sobre variable en un Bucle Repeat
 
Hola,

tengo una duda en un bucle repeat, os escribo el codigo:

Código Delphi [-]
 
Repeat
       write('Introduce Numero: ');
       readln(numero);
       contador := contador + 1;
       suma := suma + 1;
Until
       contador = 5;
Write('La suma de los numeros es: ',suma:2:2);
readln;
Write('La media es: ', suma/contador:2:2);
readln;

Bien, pues mi problema es que no entiendo que función cumple la variable 'suma', si, entiendo que sirve para que en cada iteración 'almacene' el numero, pero porqué de esta manera? Qué sentido tiene? :confused:

Un saludo y muchas gracias de antemano,;)

Geru.

cHackAll 20-07-2007 03:14:11

Código Delphi [-]
       write('Introduce Numero: ');
       readln(numero);
Repeat
       contador := contador + 1;
       suma := suma + numero;
Until
       contador = 5;
Write('La suma de los numeros es: ',suma:2:2);
readln;
Write('La media es: ', suma/contador:2:2);
readln;
:confused:

gerupc 20-07-2007 03:22:13

Hola,

El write, quiero que valla dentro de repeat para que me pida 5 veces que introduzca un numero.

Pero claro, lo que no entiendo es porqué he de hacerlo lo de la variable suma := suma + numero; ---> De esta manera, a ver si alguien me lo podría explicar.

Gracias y un saludo,

Geru.

Neftali [Germán.Estévez] 20-07-2007 08:42:15

:confused::confused::confused:
¿Qué tal si explicas qué estás intentando hacer? ¿Qué quieres hacer con ese código?

Si no nos explicas qué se pretende, ¿cómo quieres que sepamos para qué sirve una variable?
No sabemos si el código lo has hecho tú, si lo has extraído de algun sitio,...:confused::confused::confused:

Ferrari 20-07-2007 19:18:04

Pues si, creo seria mas facil saber ke deseas hacer con el codigo..salu2:D

gerupc 20-07-2007 23:09:03

Hola,

De acuerdo, este programa está sacado de una hoja de ejercicios en Delphi para practicar en 1º de carrera, el codigo completo es:

Código Delphi [-]
PROGRAM EJER54; 
USES CRT; 
VAR i:INTEGER; 
VAR num,suma:REAL; 
BEGIN 
ClrScr; 
i:=0; 

REPEAT 
WRITE('Introduzca un numero: '); READLN(num); 
suma:=suma+num; 
i:=i+1; 
UNTIL i=5; 
WRITE('La media es: '); WRITELN(suma/i:5:2); 
END.

bien, pues lo que quiero es; que el programa me pida numeros 5 veces un numero, y que éste almacene los cinco numeros, para después yo decirle que haga la media.
Lo que no entiendo es la funcion que cumple la siguiente sentencia del bucle:

Código Delphi [-]
 
suma := suma + num;

Muchas gracias y un saludo,

Geru.

dec 20-07-2007 23:36:13

Hola,

... la instrucción que mencionas significa: "Asigna a la variable 'suma' el valor de esta misma variable más el valor de la variable 'num'".

gerupc 20-07-2007 23:53:10

Aupi,

muchísimas gracias Dec, pero cual es el valor de 'suma', si yo antes no le he asignado ninguno?

Una vez más, gracias.

Geru.

Alcolea 21-07-2007 00:45:24

Cita:

Empezado por gerupc
Aupi,

muchísimas gracias Dec, pero cual es el valor de 'suma', si yo antes no le he asignado ninguno?

Una vez más, gracias.

Geru.

La variable suma debes inicializarla en algún momento antes del bucle. Si vas a hacer sumador, como en este caso que empleas la variable para "acumular" los valores que entras

Código:


...........
 
suma := 0;
i := 0;  // A la variable i tambien debes darle un valor antes de usarla
 REPEAT
    WRITE('Introduzca un numero: '); READLN(num);
    suma := suma + num;
    i := i + 1;
  UNTIL i = 5;
      WRITE('La media es: ',suma/i:5:2);
 
...........


... en el caso de la varible i la utilizas como contador, o sea en cada vuelta del bucle esta aumenta en uno, vas contando un cantidad en cada vuelta, esto último es equivalente a la función Inc (i)

gerupc 21-07-2007 02:44:34

Ok, muchas gracias, ya lo he entendido a la perfección ;)

Un saludo,

Geru.


La franja horaria es GMT +2. Ahora son las 01:57:04.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi