Ahora realizaremos un programa que nos diga siestamos inscritos en un curso. Para ello utilizaremos de nuevo la sentencia If-else. Primero realizaremos el Pseudocodigo, para evitar futuros errores alcompilar el programa:

*Begin
*Digitar el numero de folio (cred)
*Leer numero de folio (cred)
*Si cred>=5000 y <=10000
*Mostrar en Pantalla = ‘Estas inscrito’
*Si no mostar en pantalla =’No estás inscrito’
*end.

Ahora crearemos el código fuente:

{Titulo del programa}
Program credencial;
Uses
 CRT;
{Variables}
Var
  cred:real;
Begin
clrscr;
writeln ('Digite su numero de folio:');
Readln(cred);
if(cred >= 5000) and (cred <= 10000) then {Condición}
writeln ('Estas inscrito'){Si se cumple}
else
writeln ('No estas inscrito'); {Si no se cumple}
readln;
end.

Código Fuente

Si se cumple la condición

Si no se cumple la condición


Este es un simple ejemplo de una simple condición (if-else)
Bien, para explicar el funcionamiento de esta sentencia utilizaremoscomo base el ejemplo de Calcular el promedio final de una Materia.

Programpromedio_final;  {nombre del programa}
Uses
 CRT;
Var
  a,b,c,total:real;  {variables}
Begin
clrscr;
writeln ('Ingresa la calificacion del PrimerPeriodo:'); 
Readln (a);
writeln ('Ingresa la calificacion del SegundoPeriodo:');
Readln (b);
writeln ('Ingresa la calificacion del TercerPeriodo:');
Readln (c);
total:=((a+b+c)/3); 
writeln ('El promedio final es:',total:0:2);
readln;
end.

La sentencia If funciona de la siguiente manera:  La sentencia if, actúa como cabría esperar. Sila condición es verdadera, la sentencia se ejecuta, de otro modo, se saltadicha sentencia, continuando la ejecución del programa con otras sentencias acontinuación de ésta. La forma general de la sentencia If es:

                if (condición)
                               sentencia
                 else 
                            sentencia2;

Bien, pero para comprenderlo mejor añadiremos unas cuantas líneasal código fuente anterior.

Program promedio_final;  {nombre del programa}
Uses
 CRT;
Var
 a,b,c,total:real;  {variables}
Begin
clrscr;
writeln ('Ingresa la calificacion del PrimerPeriodo:'); 
Readln (a);
writeln ('Ingresa la calificacion del SegundoPeriodo:');
Readln (b);
writeln ('Ingresa la calificacion del TercerPeriodo:');
Readln (c);
total:=((a+b+c)/3); 
writeln('Tu calificacion es de ',total:0:2);
iftotal >= 8 then               {Sisacas mayor igual que 8}
writeln('Estas excento')     
else                                  {Si no sacas mayorigual que 8}
writeln('ESTAS EN EXAMEN FINAL');
readln;
end.

Puesaquí lo que nos interesa ahora son las siguientes líneas:

if total >= 8 then
writeln ('Estas excento')
else
writeln('ESTAS EN EXAMEN FINAL');

if total >= 8 then ---->  Si  lavariable “total” es mayor igual que 8 hacer esto
writeln('Estas excento')      ------->Mostraren pantalla ‘Estas excento’
else------------------------------------> Si no/de lo contrario
writeln('ESTAS EN EXAMEN FINAL');--> Mostar en pantalla 'ESTAS EN EXAMEN FINAL'

 Compilay corre el programa, para que observes el funcionamiento de la sentencia IF----> then

Código Fuente

Si se cumple la condición IF

Si no se cumple la condición IF


Tambiénchequen esta parte:  writeln ('Estas excento')no lleva “;”
sino hasta la línea : writeln ('ESTAS EN EXAMEN FINAL');

Ahora  haremos un programa endonde se conviertan pesos mexicanos a dólares, como en el ejemplo anteriorrealizaremos primero el Pseudocódigo, en este caso yo lo eh redactado así:

*Begin
*Ingresa la cantidad en Pesos Mexicanos que deseas convertir a Dólares:
*Leer pesos Mexicanos (a)
*Realizar operaciones (total=a/13.06)
*Imprimir el resultado en pantalla
*End

Donde:
a= Es lacantidad de pesos
total = esel valor en dólares

Ahorateniendo el Pseudocódigo podemos realizar el programa con mayor facilidad.Tomaremos de nuevo en cuenta la estructura básica de un programa:

PROGRAMNOMBRE_DEL_PROGRAMA;
USES
   CRT;
CONSTANTES
VARIABLES
BEGIN
CLRSCR;
INSTRUCCIONES;
END.

Bien,entonces con la estructura básica podemos realizar el programa:

{Esteprograma convierte de Pesos a Dólares}

ProgramConversor_Unidades;          {Nombre delprograma}
Uses
   crt;
var           {Declaración de variables}
    a,total:real;
Begin   {Aqui inician las instrucciones}
clrscr;
writeln('Ingresa la cantidad en Pesos Mexicanos que deseas convertir a Dolares:');  
readln (a);
total:=(a/13.06);
writeln ('Lacantidad en dolares es de ',total:0:2);
readln;
end.
Código Fuente

Programa en Funcionamiento

Nota: Laspalabras que están dentro de {} son comentarios que el programador puede hacer,por ejemplo para describir que es lo que hace su programa en cada paso. Estaslíneas son ignoradas totalmente por el IDE, y no afectan en el programa.

Recuerdencolocar “:0:2” después de la variable para que el resultado salga con dosdecimales.

Para realizar un programa es recomendable tener un Pseudocódigo, tambiénconocido como falso lenguaje.
 ¿Cómo se realiza? Bien, el pseudocódigono es más que todas las instrucciones que el programa tiene que hacer pero  las escribimos de forma que nosotros loentendamos.
Para nuestro siguiente programa que es un programa donde se calcule elpromedio final de una materia donde se evalúan tres periodos, vamos a crear un Pseudocódigo.

¿Y esto para qué? Para que a la hora de que tengamos que programar enPascal (en este caso, ya que lo podemos hacer para todos los lenguajes deprogramación) tengamos mayor facilidad de crear el código fuente y evitar menoserrores a la hora de compilar el código.

Empecemos:
*Inicio
* Ingresa la calificación del Primer Periodo:
*Leer  la calificación del PrimerPeriodo (a)
* Ingresa la calificación del Segundo Periodo:
* Leer la calificación del Segundo Periodo (b)
* Ingresa la calificación del Tercer Periodo:
* Leer la calificación del Tercer Periodo (c)
*Realizar operación: total=(a+b+c)/3
*Mostrar el resultado en Pantalla (total)
*Fin

En este caso yo hice de esta forma mi Pseudocódigo, así es como yo loentiendo y así es como se me facilita al crear mi programa, ustedes pudieronhaber creado otro pseudocódigo y pueden llegar a lo mismo.
El Pseudocódigo no lleva una estructura, como lo mencione antes, elpseudocódigo es de una forma que tú lo entiendas y que se cumpla el objetivo quequieres realizar…

Ya realizado nuestro pseudocódigo ahora procedemos a realizar elprograma.
 Bien, ahora realizaremos el códigodel programa donde se calcule el promedio final de una materia, donde se evalúantres periodos, tomando como base al anterior pseudocódigo.

Bien, nos dicen que hay que calcular el promedio, para calcular elpromedio debemos de tener una fórmula que ya en el pseudocódigo la tenemos:
                                                                     (a+b+c)/3
Dónde: a= Calificación del primer periodo.
              b= Calificación del segundo periodo.
              c= Calificación del tercer periodo.
              /3= porqueson 3 periodos a evaluar


Ahora para realizar el programa debemos de seguir laestructura básica de un programa:

PROGRAM NOMBRE_DEL_PROGRAMA;
UESES
   CRT;
CONSTANTES
VARIABLES
BEGIN
CLRSCR;
INSTRUCCIONES;
END.

Entonces empezaremos con:

Program promedio_final;    {Colocamosel nombre del programa}
Uses
 CRT;
Var                              
Begin
clrscr;
Instrucciones;
end.

Después necesitamos declarar las variables en el apartado VAR, quedaríaalgo así:

Programpromedio_final;
Uses
 CRT;
Var
  a,b,c,total:real;       {Aquí declaramos las variables a,b,c ytotal de tipo real}
Begin
clrscr;
Instrucciones;
end.

Ya declaradas las variables ahora necesitamos ingresar las instruccionesdel programa, siguiendo el pseudocódigo anterior tendríamos lo siguiente:

Program promedio_final;  {nombredel programa}
Uses
 CRT;
Var
  a,b,c,total:real;  {variables}
Begin
clrscr;
writeln ('Ingresa la calificacion del Primer Periodo:'); 
Readln (a);
writeln ('Ingresa la calificacion del Segundo Periodo:');
Readln (b);
writeln ('Ingresa la calificacion del Tercer Periodo:');
Readln (c);
total:=((a+b+c)/3); 
writeln ('El promedio final es:',total:0:2);
readln;
end.

Si nos damos cuenta la estructura del pseudocódigo es muysemejante al código fuente:
* Ingresa la calificación del Primer Periodo:
*Leer  la calificación del PrimerPeriodo (a)
* Ingresa la calificación del Segundo Periodo:
* Leer la calificación del Segundo Periodo (b)
* Ingresa la calificación del Tercer Periodo:
* Leer la calificación del Tercer Periodo (c)
*Realizar operación: total=(a+b+c)/3
*Mostrar el resultado en Pantalla (total)

Código Fuente del Ejemplo


Recuerden colocar :0:2 para que el resultado nos lo muestre condecimales y no como una potencia.
Y bien a la hora de compilar y correr el programa, ese deberíade calcular el promedio, si no compila el código fuente es porque hay un error y hay que checar donde está el error.

A toda variable que se use en un programa, se le debe asociar (generalmente al principio del programa) un tipo de dato especifico.
Un tipo de dato define todo el posible rango de valores que una variable puede tomar al momento de ejecución del programa y a lo largo de toda la vida útil del propio programa.

Las variables se declaran de la siguiente manera:

Var
   Variable1,Variabl2:real;
   a,b,c:integer;
   palabra:string;

Sería entonces:
variable1,variable2,variable3:tipo_variable;


Los tipos de datos más comunes en pascal son:

TIPO DATO                    RANGO
char                           Caracter ASCII
byte                                   0 a 255
integer                   -32,768 a 32,767
Real                           1E-38 a 1E+38
Boolean                     TRUE o FALSE
shortint                                     -128 a 127
word                             0 a 65535
longint           -2147483648 a 214748364
String           Cadena 255 caracteres

Para el caso de strings se podrá usar cualquiera de los dos siguientes formatos:

Var
Nombre:string;
Carrera:string[30];

Para el primer caso pascal reserva 255 bytes de memoria, para el caso de carrera pascal solo reservara 30 bytes, es obvio cuál de los dos casos es más eficiente.


Podemos observar la declaración de las variables claramente en elsiguiente ejemplo:

Ejemplo 2:

{Programaque calcula el área de un círculo}
Program Area_circulo;
Uses
 CRT;
Var
  radio,resultado:real;
Begin
clrscr;
writeln('Ingresa el radio del circulo:');
Readln (radio);
resultado:=((radio*radio)*3.1416);
writeln('El area del circulo es:',resultado:0:2);
readln;
end.

Podemos observar como se han declarado las variables en el apartado "Var", en este ejemplo se usan 2 variables de tipo real, finalizando con un ";"
Comprueba el funcionamiento del código compilando y corriendo el programa...

Para programar en Pascal necesitamos de un “Programa” llamado IDE, que sirve para poder programar en este lenguaje. En este Blog estaremos utilizando el IDE de código abierto llamado “Free Pascal” en vez de usar el ya famosísimo TURBO PASCAL, (aunque existen otras alternativas como el Delphi, Dev-Pascal, etc…).

Para conseguirlo es tan fácil como ir a la página oficial de Free Pascal y descargarlo para tu plataforma (Windows, Mac, Linux, FreeBSD, etc… Algo curioso que note es que también está para el NintendoDS :o :o).

La instalación en Windows es como siempre (ya saben next, next, next, next, instalar), y podrán disfrutar de Free Pascal.
Bien aquí les dejo el link de la pagina oficial: http://www.freepascal.org/
Link de descargas para diferentes plataformas: http://www.freepascal.org/download.var

Aquí una Captura de dicho programa desde Windows 7:

Imagen del IDE FreePascal corriendo desde Windows 7


Saludos y a Programar…!!!!