Pascal/Turbo Pascal - urgente.. necesito ayudaa

 
Vista:

urgente.. necesito ayudaa

Publicado por franco (3 intervenciones) el 21/04/2010 21:39:16
el problema es este me pueden ayudar haber si estoy en lo correcto o cual es mi error..

Se dan como datos los importes de las 200 ventas de una librería. Se desea saber:
a) cuántas ventas tuvieron importes menores que $ 100.-
b) cuál es el monto total de las ventas cuyo importe fue igual o mayor que $ 100.-


program libreria(input,output);
var
acum,cont,a:integer;
t:char;
begin
acum:=0;
cont:=0;
begin
for a:=1to 200 do
write('ingrese importe');
readln(a);
if (a<100) then begin
cont:=cont+1
else begin
acum:acum+a
end;
write('mostrar =' cont);
write('mostrar =' acum);
write('ingrese tecla');read(t)
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:urgente.. necesito ayudaa

Publicado por Diego Romero (996 intervenciones) el 22/04/2010 04:49:10
No. Tienes errores de lógica y de sintaxis.
Cuando usas write() o writeln() debes separar con comas las variables de las cadenas de texto:

write('mostrar =', cont);
write('mostrar =', acum);

En esta sentencia:

readln(a);

Estás modificando el índice del for y por lo tanto modificando completamente su funcionamiento, no toques el índice de un for a menos que tengas un buen motivo para hacerlo.

Mejor declara una variable de tipo real para tomar el importe que le pides al usuario que ingrese.

Aquí:

if (a<100) then begin
cont:=cont+1
else begin
acum:acum+a
end;

Hay un begin que no tiene end, el que está después del then, y la asignación en el else le falta el signo igual:

if (a<100) then
begin
cont:=cont+1;
end
else
begin
acum:=acum+a;
end;

Solucionados esos problemas, el programa hace lo que se te ha pedido que haga.
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