ErrorDeSintaxis

Pequeños fragmentos de código fuente en distintos lenguajes de programación, agrupados por categorías.

Puedes buscar entre los fuentes existentes, o aportar los tuyos.

Mini-Tutorial en un paso Pascal Básico

    Pascal Básico- Minilección: 1 - Hola, Mundo

    El ejemplo básico en cualquier lenguaje de programación, aplicado a Pascal: escribir Hola, Mundo en pantalla

    Lenguaje: Pascal (compilador: FreePascal)

    (* Fuente procedente de ErrorDeSintaxis.es *)
    (* Disponible desde 2011-06-28 20:22:20 *)
    (* Aportado por Nacho *)
    (* Autor original: Nacho Cabanes *)
    (* Web original: http://www.aprendeaprogramar.com/mod/resource/view.php?id=49 *)
    program Saludo;
    begin 
      write('Hola, Mundo');
    end.
     

    Pascal Básico- Minilección: 2 - Sumar dos números

    Cómo sumar dos números introducidos por el usuario, usando Pascal

    Lenguaje: Pascal (compilador: FreePascal)

    (* Fuente procedente de ErrorDeSintaxis.es *)
    (* Disponible desde 2011-06-28 20:25:20 *)
    (* Aportado por Nacho *)
    (* Autor original: Nacho Cabanes *)
    (* Web original: http://www.aprendeaprogramar.com/mod/resource/view.php?id=51 *)
    program SumaDosNumeros;
     
    var 
      numero1, numero2, suma: integer;
     
    begin 
      writeln('Introduce el primer número'); 
      readln( numero1 ); 
      writeln('Introduce el segundo número'); 
      readln( numero2 ); 
      suma := numero1 + numero2; 
      writeln('La suma de los dos números es: ', suma); 
    end.

    Pascal Básico- Minilección: 3 - Operaciones aritméticas

    Ejemplo de cómo realizar las principales operaciones aritméticas, usando Pascal

    Lenguaje: Pascal (compilador: FreePascal)

    (* Fuente procedente de ErrorDeSintaxis.es *)
    (* Disponible desde 2011-06-28 20:27:20 *)
    (* Aportado por Nacho *)
    (* Autor original: Nacho Cabanes *)
    (* Web original: http://www.aprendeaprogramar.com/mod/resource/view.php?id=49 *)
     program operaciones;
     
     var
       e1, e2: integer;      (* Numeros enteros *)
       r1, r2, r3: real;     (* Números reales *)
     
     begin
       e1:=17;
       e2:=5;
       r1:=1;
       r2:=3.2;
       writeln('Empezamos...');
       r3:=r1+r2;
       writeln('La suma de r1 y r2 es :', r3);
       writeln('  o también ', r1+r2 :5:2);    (* Indicando el formato *)
       writeln('El producto de r1 y r2 es :', r1 * r2);
       writeln('El valor de r1 dividido entre r2 es :', r1 / r2);
       writeln('La diferencia de e2 y e1 es : ', e2 - e1);
       writeln('La división de e1 entre e2 : ', e1 / e2);
       writeln('  Su división entera : ', e1 div e2);
       writeln('  Y el resto de la división : ', e1 mod e2);
       writeln('El opuesto de e2 es :', -e2);
     end. 
     

    Pascal Básico- Minilección: 4 - IF básico

    Comprobación básica de condiciones, en lenguaje Pascal

    Lenguaje: Pascal (compilador: FreePascal)

    (* Fuente procedente de ErrorDeSintaxis.es *)
    (* Disponible desde 2011-06-28 20:32:20 *)
    (* Aportado por Nacho *)
    (* Autor original: Nacho Cabanes *)
    (* Web original: http://www.aprendeaprogramar.com/mod/resource/view.php?id=80 *)
     program if1;
     
     var numero: integer;
     
     begin
     
       writeln('Escriba un número');
       readln(numero);
       if numero>0 then writeln('El número es positivo');
     end. 

    Pascal Básico- Minilección: 5 - IF con ELSE

    Cómo comprobar una condición e indicar qué se debe hacer si la condición no se cumple, en lenguaje Pascal

    Lenguaje: Pascal (compilador: FreePascal)

    (* Fuente procedente de ErrorDeSintaxis.es *)
    (* Disponible desde 2011-06-28 20:33:20 *)
    (* Aportado por Nacho *)
    (* Autor original: Nacho Cabanes *)
    (* Web original: http://www.aprendeaprogramar.com/mod/resource/view.php?id=80 *)
     program if4;
     
     var
       numero: integer;
     
     begin
       writeln('Escriba un número');
       readln(numero);
       if numero<0 then
         writeln('El número es negativo.')
       else
         writeln('El número es positivo o cero.')
     end. 
     

    Pascal Básico- Minilección: 6 - IF con ELSE anidados

    Cómo comprobar varias condiciones de forma sucesiva, en lenguaje Pascal

    Lenguaje: Pascal (compilador: FreePascal)

    (* Fuente procedente de ErrorDeSintaxis.es *)
    (* Disponible desde 2011-06-28 20:35:20 *)
    (* Aportado por Nacho *)
    (* Autor original: Nacho Cabanes *)
    (* Web original: http://www.aprendeaprogramar.com/mod/resource/view.php?id=80 *)
    program if5;
     
    var
      numero: integer;
     
    begin
      writeln('Escriba un número');
      readln(numero);
      if numero<0 then
        writeln('El número es negativo.')
      else if numero>0 then
        writeln('El número es positivo.')
      else
        writeln('El número es cero.')
    end. 
     

    Pascal Básico- Minilección: 7 - Comprobar varios casos

    Cómo comprobar variables que puedan tener valores variados, usando CASE

    Lenguaje: Pascal (compilador: FreePascal)

    (* Fuente procedente de ErrorDeSintaxis.es *)
    (* Disponible desde 2011-06-28 20:37:20 *)
    (* Aportado por Nacho *)
    (* Autor original: Nacho Cabanes *)
    (* Web original: http://www.aprendeaprogramar.com/mod/resource/view.php?id=80 *)
     program case1;
     
     
     var
       letra: char;
     
     begin
       WriteLn('Escriba un símbolo');
       ReadLn(letra);
       case letra of
         ' ':                 WriteLn('Un espacio');
         'A'..'Z', 'a'..'z':  WriteLn('Una letra');
         '0'..'9':            WriteLn('Un dígito');
         '+', '-', '*', '/':  WriteLn('Un operador');
       else  { otherwise en SURPAS }
         WriteLn('No es espacio, ni letra, ni dígito, ni operador');
       end;
     end. 

    Pascal Básico- Minilección: 8 - Contar del 1 al 10 con FOR

    Ejemplo de cómo escribir en pantalla los números del 1 al 10, en lenguaje Pascal

    Lenguaje: Pascal (compilador: FreePascal)

    (* Fuente procedente de ErrorDeSintaxis.es *)
    (* Disponible desde 2011-06-28 20:39:20 *)
    (* Aportado por Nacho *)
    (* Autor original: Nacho Cabanes *)
    (* Web original: http://www.aprendeaprogramar.com/mod/resource/view.php?id=116 *)
    Program For1;
     
    var
      contador: integer;
     
    begin
      for contador := 1 to 10 do
        writeln( contador );
    end. 
     

    Pascal Básico- Minilección: 9 - Tablas de multiplicar

    Ejemplo de cómo escribir en pantalla las tablas de multiplicar, usando

    Lenguaje: Pascal (compilador: FreePascal)

    (* Fuente procedente de ErrorDeSintaxis.es *)
    (* Disponible desde 2011-06-28 20:44:20 *)
    (* Aportado por Nacho *)
    (* Autor original: Nacho Cabanes *)
    (* Web original: http://www.aprendeaprogramar.com/mod/resource/view.php?id=116 *)
    Program For3;
     
    var
      tabla, numero: integer;
     
    begin
      for tabla := 1 to 5 do
        begin
        for numero := 1 to 10 do
          writeln( tabla, ' por ', numero ,' es ', tabla * numero );
        writeln;                 (* Línea en blanco *)
        end;
    end. 
     

    Pascal Básico- Minilección: 10 - Letras de A a Z

    Ejemplo de cómo escribir en pantalla las letras de la A a la Z

    Lenguaje: Pascal (compilador: FreePascal)

    (* Fuente procedente de ErrorDeSintaxis.es *)
    (* Disponible desde 2011-06-28 20:46:20 *)
    (* Aportado por Nacho *)
    (* Autor original: Nacho Cabanes *)
    (* Web original: http://www.aprendeaprogramar.com/mod/resource/view.php?id=116 *)
    Program For4;
     
    var
      letra: char;
     
    begin
      for letra := 'a' to 'z' do
        write( letra );
    end.
     

    Pascal Básico- Minilección: 11 - Clave de acceso

    Ejemplo de cómo repetir un bloque de programa, por ejemplo hasta que se introduzca la clave de acceso correcta.

    Lenguaje: Pascal (compilador: FreePascal)

    (* Fuente procedente de ErrorDeSintaxis.es *)
    (* Disponible desde 2011-06-28 20:49:20 *)
    (* Aportado por Nacho *)
    (* Autor original: Nacho Cabanes *)
    (* Web original: http://www.aprendeaprogramar.com/mod/resource/view.php?id=116 *)
    program ClaveDeAcceso;
     
    var
      ClaveCorrecta, Intento: String[30];
     
    begin
      ClaveCorrecta := 'PascalForever';
      repeat
        WriteLn( 'Introduce la clave de acceso... ' );
        ReadLn( Intento )
      until Intento = ClaveCorrecta;
      (* Aquí iría el resto del programa *)
      WriteLn( 'Acceso permitido.' );
    end. 
     

    Pascal Básico- Minilección: 12 - Repetir un bloque de un programa

    Ejemplo de cómo repetir un bloque de programa mientras se cumpla una condición.

    Lenguaje: Pascal (compilador: FreePascal)

    (* Fuente procedente de ErrorDeSintaxis.es *)
    (* Disponible desde 2011-06-28 20:52:20 *)
    (* Aportado por Nacho *)
    (* Autor original: Nacho Cabanes *)
    (* Web original: http://www.aprendeaprogramar.com/mod/resource/view.php?id=116 *)
     Program While1;
     
     var
       frase: string;
     
     begin
       writeln('Escribe frases, y deja una línea en blanco para salir');
       write( '¿Primera frase?' );
       readln( frase );
       while frase <> '' do
         begin
         writeln( 'Su longitud es ', length(frase) );
         write( '¿Siguiente frase?' );
         readln( frase )
         end
     end. 

    Pascal Básico- Minilección: 13 - Funciones en Pascal

    Ejemplo de funciones que devuelven un valor, usando Pascal

    Lenguaje: Pascal (compilador: FreePascal)

    (* Fuente procedente de ErrorDeSintaxis.es *)
    (* Disponible desde 2011-06-28 20:54:20 *)
    (* Aportado por Nacho *)
    (* Autor original: Nacho Cabanes *)
    (* Web original: http://www.aprendeaprogramar.com/mod/resource/view.php?id=136 *)
     program PruebaDePotencia;
     
     var
       numero1, numero2: integer;                (* Variables globales *)
     
     function potencia(a,b: integer): integer;  (* Definimos la función *)
     var
       i: integer;                      (* Locales: para bucles *)
       temporal: integer;               (* y para el valor temporal *)
     begin
       temporal := 1;                   (* incialización *)
       for i := 1 to b do
         temporal := temporal * a;      (* hacemos "b" veces "a*a" *)
       potencia := temporal;            (* y finalmente damos el valor *)
     end;
     
     begin                                       (* Cuerpo del programa *)
       writeln('Potencia de un número entero');
       writeln;
       writeln('Introduce el primer número');
       readln( numero1 );
       writeln('Introduce el segundo número');
       readln( numero2 );
       writeln( numero1 ,' elevado a ', numero2 ,' vale ',
         potencia (numero1, numero2) )
     end. 
     

    Pascal Básico- Minilección: 14 - Procedimientos en Pascal

    Ejemplo de procedimiento que recibe parámetros, usando Pascal

    Lenguaje: Pascal (compilador: FreePascal)

    (* Fuente procedente de ErrorDeSintaxis.es *)
    (* Disponible desde 2011-06-28 20:56:20 *)
    (* Aportado por Nacho *)
    (* Autor original: Nacho Cabanes *)
    (* Web original: http://www.aprendeaprogramar.com/mod/resource/view.php?id=136 *)
     program ProcConParametros; 
     
     procedure saludo (nombre: string);     (* Nuestro procedimiento *)
     begin
       writeln('Hola ', nombre, ' ¿qué tal estás?');
     end;
     
     begin                  (* Comienzo del programa *)
       writeln;             (* Linea en blanco *)
       saludo( 'Aurora' );  (* Saludamos a Aurora *)
     end.                   (* Y se acabó *) 

    Pascal Básico- Minilección: 15 - Parámetros por referencia

    Ejemplo de procedimiento que recibe parámetros por referencia y modifica su valor, usando Pascal

    Lenguaje: Pascal (compilador: FreePascal)

    (* Fuente procedente de ErrorDeSintaxis.es *)
    (* Disponible desde 2011-06-28 20:58:20 *)
    (* Aportado por Nacho *)
    (* Autor original: Nacho Cabanes *)
    (* Web original: http://www.aprendeaprogramar.com/mod/resource/view.php?id=136 *)
     program PruebaDeParametrosRef;
     
     var dato: integer;
     
     procedure modifica( var variable : integer);
     begin
       variable := 3 ;
       writeln( 'Dentro: ', variable );
     end;
     
     
     begin
       dato := 2;
       writeln( 'Antes: ', dato );
       modifica( dato );
       writeln( 'Después: ', dato );
     end.
     

    Pascal Básico- Minilección: 16 - Factorial (recursivo)

    Ejemplo básico de función recursiva: el factorial de un número, usando Pascal

    Lenguaje: Pascal (compilador: FreePascal)

    (* Fuente procedente de ErrorDeSintaxis.es *)
    (* Disponible desde 2011-06-28 20:59:20 *)
    (* Aportado por Nacho *)
    (* Autor original: Nacho Cabanes *)
    (* Web original: http://www.aprendeaprogramar.com/mod/resource/view.php?id=136 *)
     program PruebaDeFactorial;
     
     var numero: integer;
     
     function factorial( num : integer) : integer;
     begin
       if num = 1 then
         factorial := 1        (* Aseguramos que tenga salida siempre *)
       else
         factorial := num * factorial( num-1 );       (* Caso general *)
     
     end;
     
     begin
       writeln( 'Introduce un número entero (no muy grande) ;-) ' );
       readln(numero);
       writeln( 'Su factorial es ', factorial(numero) );
     end. 
     

    Pascal Básico- Minilección: 17 - Leer un fichero de texto

    Ejemplo básico de cómo leer todo el contenido de un fichero de texto, usando Pascal

    Lenguaje: Pascal (compilador: FreePascal)

    (* Fuente procedente de ErrorDeSintaxis.es *)
    (* Disponible desde 2011-06-28 21:03:04 *)
    (* Aportado por Nacho *)
    (* Autor original: Nacho Cabanes *)
    (* Web original: http://www.aprendeaprogramar.com/mod/resource/view.php?id=154 *)
     program MuestraAutoexec;
     
     var
       fichero: text;                         (* Fichero de texto *)
       linea: string;                         (* Línea que leemos *)
     
     begin
       assign( fichero, 'C:\AUTOEXEC.BAT' );  (* Le asignamos el nombre *)
       reset( fichero );                    (* Lo abrimos para lectura *)
       while not eof( fichero ) do          (* Mientras que no se acabe *)
         begin
         readln( fichero, linea );               (* Leemos una línea *)
         writeln( linea );                       (* y la mostramos *)
         end;
       close( fichero );                      (* Se acabó: lo cerramos *)
     end. 
     

    Pascal Básico- Minilección: 18 - Copiar un fichero

    Ejemplo de cómo copiar el contenido de un fichero en otro, usando Pascal

    Lenguaje: Pascal (compilador: FreePascal)

    (* Fuente procedente de ErrorDeSintaxis.es *)
    (* Disponible desde 2011-06-28 21:05:04 *)
    (* Aportado por Nacho *)
    (* Autor original: Nacho Cabanes *)
    (* Web original: http://www.aprendeaprogramar.com/mod/resource/view.php?id=154 *)
     program CopiaFichero;
     { Sencillo y rápido programa de copia de ficheros, SIN comprobación
       de errores }
     
     var
       Origen, Destino: file;
       CantLeida, CantEscrita: Word;
       NombreOrg, NombreDest: String;
       Buffer: array[1..2048] of Char;
     
     begin
       Write( 'Introduzca el nombre del fichero ORIGEN... ' );
       ReadLn( NombreOrg );
       Write( 'Introduzca el nombre del fichero DESTINO... ' );
       ReadLn( NombreDest );
       Assign( Origen, NombreOrg );
       Reset( Origen, 1 );                                { Tamaño = 1 }
       Assign( Destino, NombreDest );
       Rewrite( Destino, 1 );                             { Lo mismo }
       WriteLn( 'Copiando ', FileSize(Origen), ' bytes...' );
       repeat
         BlockRead( Origen, Buffer, SizeOf(Buffer), CantLeida);
         BlockWrite( Destino, Buffer, CantLeida, CantEscrita);
       until (CantLeida = 0) or (CantEscrita <> CantLeida);
       Close( Origen );
       Close( Destino );
       WriteLn( 'Terminado.' )
     end.