Programación General > Pascal

 problema aprendizaje

(1/2) > >>

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

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa