• Jueves 14 de Noviembre de 2024, 17:00

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - Mondrast

Páginas: [1]
1
Pascal / Identificador correcto de pascal, no lo consigo.
« en: Domingo 7 de Septiembre de 2008, 16:55 »
Bien pues el programa lo que tiene que decir es si el identificador es correcto, el tema es que el compilador me da el error de: operator is not overloaded y no se como corregirlo.
Muchas gracias

Código: Text
  1. PROGRAM identificador;
  2.  
  3. TYPE
  4. mayus='A'..'Z';
  5. minus='a'..'z';
  6. digit='0'..'9';
  7.  
  8. VAR
  9. frase:STRING[255];
  10. mayuscula:mayus;
  11. minuscula:minus;
  12. digitos:digit;
  13. x:CHAR;
  14.  
  15. begin
  16.  
  17. writeln('Mete una frase acabada en punto.');
  18. readln(frase);
  19.  
  20. IF frase[1]=(mayuscula OR minuscula) THEN
  21. begin
  22. IF frase[2]=(mayuscula OR minuscula OR digitos)THEN
  23. Writeln('Identificador correcto');
  24. end
  25. ELSE
  26. writeln('Identificador incorrecto');
  27. end.
  28.  
  29.  

2
Pascal / Operaciones con Array
« en: Viernes 8 de Agosto de 2008, 16:42 »
Bien dejo aqui el algoritmo que compila pero que al rellenar el array no me salta otra vez el menu para hacer operaciones con este array sino que entra e un bucle y me pide rellenar el array una y otra vez, se que es una chorrada de fallo pero no caigo aer si me podeis ayudar, muchas gracias.

program ordenar_arrays;
VAR
tabla:ARRAY [1..10] OF INTEGER;
i,aux,salir,opcion,cambio:INTEGER;
begin

writeln('Elige una de las siguientes operaciones');
writeln('1.- Rellenar el Array');
writeln('2.- Ordenar Desendentemente');
writeln('3.- Ordenar Ascendentemente');
Writeln('0.- Salir');
writeln;
write('Su opcion:');
readln(opcion);
salir:=0;

begin

WHILE salir=0 DO

CASE opcion OF

1:
begin                        (*leer*)
FOR i:=1 TO 10 DO
 begin
   writeln('Mete el numero de la posicion ',i,':');
   readln(tabla);
 end;
 end;

2:
begin                       (*ordenar descendentemente*)
REPEAT
cambio:=0;
 FOR i:=1 TO 9 DO
 begin
   IF tabla< tabla [i+1]  THEN
     begin
       aux:= tabla;
       tabla:= tabla[i+1];
       tabla[i+1]:=aux;
       cambio:=1;
     end;
 end
UNTIL cambio=0;

(*escribe array*)

FOR i:=1 TO 10 DO
begin
write(tabla,' ');
end;
end;
3:                            (*ordenar Ascendentemente*)
begin
REPEAT
cambio:=0;
 FOR i:=1 TO 9 DO
 begin
   IF tabla> tabla [i+1] THEN
     begin
       aux:= tabla;
       tabla:= tabla[i+1];
       tabla[i+1]:=aux;
       cambio:=1;
     end;
 end
UNTIL cambio=0;

(*escribe array*)

FOR i:=1 TO 10 DO
begin
write(tabla,' ');
end;
end;

0:                           (*salir*)
begin
salir:=1;
writeln('Se va a finalizar el programa.');
readln;
end;
ELSE
Writeln('Opcion no valida');
readln;
end;
readln;
end;
readln;
end.

Páginas: [1]