Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Mensaje iniciado por: SXF en 17 Enero 2011, 18:05 PM

Título: problema con programa en Pascal
Publicado por: SXF en 17 Enero 2011, 18:05 PM
Buenas tengo un problemilla con un programa en pascal este es el algoritmo:

Código (pascal) [Seleccionar]
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.
Título: Re: problema con programa en Pascal
Publicado por: Garfield07 en 17 Enero 2011, 19:11 PM
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:
Código (pascal) [Seleccionar]
        '17','16': writeln('Notable'); como en los demas?
2) Podrias explicar  tu error, al menos..
Título: Re: problema con programa en Pascal
Publicado por: SXF en 17 Enero 2011, 19:26 PM
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...
Título: Re: problema con programa en Pascal
Publicado por: Garfield07 en 17 Enero 2011, 19:42 PM
Postea los errores, no una foto. No se ve nada bien...
Título: Re: problema con programa en Pascal
Publicado por: Khronos14 en 17 Enero 2011, 20:38 PM
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.
Título: Re: problema con programa en Pascal
Publicado por: SXF en 18 Enero 2011, 11:49 AM
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..
Título: Re: problema con programa en Pascal
Publicado por: skapunky en 18 Enero 2011, 22:28 PM
Bieeeeen una pregunta de pascal, allá va, prueba lo siguiente:

Código (pascal) [Seleccionar]
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.
Título: Re: problema con programa en Pascal
Publicado por: Khronos14 en 18 Enero 2011, 22:44 PM
skapunky, SFX ya dijo que lo solucionó. Además tu código está mal.

Código (pascal) [Seleccionar]
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.
Título: Re: problema con programa en Pascal
Publicado por: skapunky en 19 Enero 2011, 11:52 AM
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.