Buenas tengo un problemilla con un programa en pascal este es el algoritmo:
program ejemplo2;
var
nota:integer;
begin
read(nota);
case nota of
'20': writeln('M. honor');
'19','18': writeln('Sobresaliete');
'17','16': writeln<'Notable');
'15','14': writeln('Aprobado');
else writeln('Suspenso');
end
end.
no se por que me tira error , lo que hace es sencillo comparar notas () utilizo el frepascal.
Cita de: SXF en 17 Enero 2011, 18:05 PM
'17','16': writeln<'Notable');
no se por que me tira error , lo que hace es sencillo comparar notas () utilizo el frepascal.
1) Por que no usas esto:
'17','16': writeln('Notable');
como en los demas?
2) Podrias explicar tu error, al menos..
me tira muchos errores (http://s2.subirimagenes.com/otros/previo/thump_5807050sin-ttulo.jpg) Nose creo que el analisis de casos esta mal..lo que quiero hacer es compara las notas si es 20 (sobresaliente ) si es 19 o tal ... y asi...
Postea los errores, no una foto. No se ve nada bien...
Así a simple vista, ya te digo yo que te faltan los "uses". Además, con read() estás leyendo un integer y en el case..of estás haciendo las comparaciones como si fuera una cadena.
Saludos.
gracias a todos ,el error estaba en que no hay que poner '' con numeros pero si con letras..las librerias no hace falta usarlas aki..
Bieeeeen una pregunta de pascal, allá va, prueba lo siguiente:
program ejemplo2;
uses crt;
var
nota:integer;
begin
read(nota);
case nota of
'20': writeln('M. honor');
'18'..'19': writeln('Sobresaliete');
'16'..'17': writeln<'Notable');
'14'..'15': writeln('Aprobado');
else
writeln('Suspenso');
end
end.
No tengo el compilador en este ordenador, pero el codigo debería funcionar.
skapunky, SFX ya dijo que lo solucionó. Además tu código está mal.
program ejemplo2;
uses crt;
var
nota: integer;
begin
read(nota);
case nota of
20: writeln('M. honor');
18,19: writeln('Sobresaliete');
16,17: writeln('Notable');
14,15: writeln('Aprobado');
else
writeln('Suspenso');
end;
end.
Cierto, se me colaron las comas al copiar el codigo original, pero en turbo pascal se puede poner un rango de numero de la siguiente manera:
1..n
Lo he probado y funciona en delphi 6 enterprise.