Programación General > Pascal
problema aprendizaje
kosbalt:
hola buenas estoy empezando es esto de la programacion y despes de leerme un libro me fui a los ejercicios, el primero dice, hacer un programa que pida dos numeros y aga la media de estos
mi problema es el siguiente, he conseguido que me funcione, pero al ejecutarle coon por ejemplo 18 y 2 me sale que el resultado es 1,00000000E*1 -->10, pero no se que hacer para que me salga directamente 10 y no lo otro, me pueden hechar una mano, por otro lado no se como poner un contador, que cada vez que ponga el comando al ejecutarse cada vez que llege a ese punto me sume 1, he probado asi:
--- Citar ---program contador
begin
n:= 0;
writeln('indique valor');
n:= n+1;
write('n ', n)
end.
--- Fin de la cita ---
pero al compilarlo me da error en al linea 2, en la de n:= 0 no se que probar, pero no soy capaz, si me pueden hechar una mano grax
fonsi3:
Donde esta la seccion var?? Alli declaras las variables que usaras en tu programa.
Ademas si deseas hacer un algoritmo que sume valores ingresados por teclado debes poner todo eso dentro un while loop, que evalue una condicion que sea el corte del programa, generlamente es algo asi:
"Hacer un programa que sume valores ingresados por teclado, siendo el valor 9999 la orden de cortar el programa", tonces eso ya te dice que el programa va a funcionar hasta que el usuario ingrese como valor 9999, inmediatemente asocias esto con un while loop.
El programa seria algo como esto;
--- Código: Pascal ---program CalcularPromedioDeValoresIngresadosPorTeclado// la variables que usare en mi programavar valor_ingresado: integer; cantidad_valores_ingresados: integer; sumandos: integer; promedio: integer; begin // inicializo sumandos donde ire sumando los valores ingresados por usuario // si no hago cuanto sume esta variable mas el valor ingresado por el usuario // me ocasinaria un error, ya que de todas formas al ser ambas variables del mismo // tipo, sumandos esta indefinida, por se inicializa en 0 sumandos:= 0 // aca almacenera la cantidad de valores que usuario va ingresando... cantidad_valores_ingresados:= 0; // se ingresa el primer valor read( valor_ingresado ); // hasta que no se ingrese como valor "9999" el programa ejecuta // lo que esta dentro de este while loop while( valor_ingresado <> 9999 ) do begin // voy sumando valor_ingresado con el anterior sumandos:= sumandos + valor_ingresado; // es mas que obvio lo que hago aqui cantidad_valores_ingresados:= cantidad_valores_ingresados + 1; // vuelta al ciclo read( valor_ingresado ) end; // se ha terminado de ingresado valores // calculo el promedio // aqui el truco esta en usar la instruccion DIV, la cual me // tira la parte entera de una division promedio:= sumandos DIV cantidad_valores_ingresados // finalizo writeln( 'El promedio de los valores ingresados es: ', promedio ); readln(); readln(); end.
kosbalt:
hola, muchas gracias, intente modificar el que tenai hecho, y me sige dando error al compilarlo, no se porque, dice que en la linea 20
este es el codigo:
--- Código: Pascal --- program valormediodosnumeros; var a: integer; b: integer; n: integer; //suma i: integer; // numero de ingresados media: integer; begin n:=0; i:= 0; writeln('introducir primer numero'); readln(a); n:=n+a; i:=i+1; writeln('Introducir segundo numero'); readln(b); n:=n+b; i:=i+1; end; media:= n DIV i;write('la media es ', media);end.
fonsi3:
Tienes un end; que no deberia ir alli:
--- Código: Pascal --- i:=i+1; end; media:= n DIV i;
kosbalt:
hola buenas, me sigue dando error n la linea 23, la ultima
--- Código: Pascal ---program valormediodosnumeros; var a: integer; b: integer; n: integer; //suma i: integer; // ingresados media: integer; begin n:=0; i:= 0; writeln('introducir primer numero'); readln(a); n:=n+a; i:=i+1; writeln('Introducir segundo numero'); readln(b); n:=n+b; i:=i+1; media:= n DIV i;write('la media es ', media);end.
Navegación
[#] Página Siguiente
Ir a la versión completa