SlideShare una empresa de Scribd logo
1 de 12
COLEGIO UNIVERSITARIO DE ADMINISTRACIÓN Y MERCADEO
CUAM - Cagua
Asignatura: Lenguaje y Programación I
Prof. Lisbeth Sánchez

                                           Estructura de PASCAL
Estructura de un programa:
Un programa escrito en Turbo Pascal está estructurado en tres secciones principales:

       Cabecera
       Declaraciones
       Cuerpo
       Cabecera:
        En la cabecera de un programa se debe indicar el nombre (identificador) asignado al mismo. La sintaxis
        es:
program <nombre_del_programa>;

       Declaraciones:

        En esta sección se declaran las constantes (const), los tipos de datos (type), las variables (var), los
        precedimientos (procedure) y las funciones (function) definidos por el programador que se usan en el
        programa. También se puede indicar tanto la <lista_de_unidades> como la <lista_de_etiquetas> que se
        utilicen en el programa.

    var
        <declaraciones_de_variables>;


       Cuerpo:

        En el cuerpo se escriben las instrucciones del bloque de instrucciones principal del programa. La
        sintaxis es:
begin
        <instrucción_1>
        <instrucción_2>
         ...
        <instrucción_n>
end.

begin y end son palabras reservadas que marcan el principio y final de la sección cuerpo.
program <nombre_del_programa>;

    var
          <declaraciones_de_variables>;

    begin
       <bloque_de_instrucciones>
    end.
En Pascal hay que escribir un punto y coma (;) después de la declaración de una o más variables. Así pues, la
sintaxis para declarar una variable es:
<nombre_de_la_variable> : <nombre_del_tipo_de_dato>;

Ejemplo 1: Para declarar varias variables del mismo tipo de dato se puede escribir:
    edad : Integer;
    numero_de_hijos : Integer;

Ejemplo 2: O también, en la misma línea separadas por el carácter coma (,):
    edad, numero_de_hijos : Integer;


Variables:
En programación, una variable representa a un espacio de memoria en el cual se puede almacenar un dato.
Gráficamente, se puede representar como:

El programador, cuando desarrolla un programa (o diseña un algoritmo), debe decidir:

    1. Cuantas son las variables que el programa necesita para realizar las tareas que se le han encomendado.
    2. El tipo de dato que puede almacenar cada una de ellas.


Ejemplo: La declaración de una variable para almacenar la edad de una persona se escribe:
En pseudocódigo, para declarar una variable, se realiza de esta forma:

Variables
    Entero edad

Pero en PASCAL se escribe de esta forma:
VAR
    EDAD:INTEGER;


Constantes:
En Pascal, una constante puede ser de tipo entero, real, carácter, cadena y se pueden expresar de dos formas
diferentes:
            1. Por su valor.
            2. Con un nombre (identificador).
<nombre_de_la_constante> = <expresión>;

Ejemplo 1: De modo que, si se quieren declarar las constantes de tipo entero del ejemplo 1, asignándoles un
identificador, se puede escribir, por ejemplo:
                                                                                       TEMPERATURA = -5;
    MES = 10;

Ejemplo 2: Si en un programa se quieren declarar dos variables (Area y Radio) y una constante (PI), se puede
escribir:
program nombre_de_programa;
                                                                                                const
                                                                                       PI = 3.141592;
                                                                                                  var
     Area, Radio : Real;
                                                                                                        begin
          ...
   end.


Introducción a los tipos de datos

Los datos que utilizan los programas se pueden clasificar en base a diferentes criterios. Uno de los más
significativos es aquel que dice que todos los datos que utilizan los programas son simples o compuestos.
Un dato simple es indivisible (atómico), es decir, no se puede descomponer.
Los cinco tipos de datos:

         Entero
         Real
         Lógico
         Carácter
         Cadena

De ellos, tan solo el tipo cadena es compuesto. Los demás son los tipos de datos simples considerados
estándares. Esto quiere decir que la mayoría de los lenguajes de programación permiten trabajar con ellos.

         Datos de tipo entero

Un dato de tipo entero es aquel que puede tomar por valor un número perteneciente al conjunto de los números
enteros (Z), el cual está formado por los números naturales, su opuestos (números negativos) y el cero.

Z = { ..., -3, -2, -1, 0, 1, 2, 3, ... }

Y en PASCAL se declaran así:               identificador : integer;

         Datos de tipo real

Un dato de tipo real es aquel que puede tomar por valor un número perteneciente al conjunto de los números
reales (R), el cual está formado por los números racionales e irracionales.

Ejemplo: El peso de una persona (en kilogramos) y su altura (en centímetros), son datos que pueden
considerarse de tipo real.

 Peso.....:75,3
 Altura...: 172,7

Y en PASCAL se declaran así:               identificador : real;


         Datos de tipo lógico

En programación, un dato de tipo lógico es aquel que puede tomar por valor sólo uno de los dos siguientes:
{ verdadero, falso }
Los valores verdadero y falso son contrapuestos, de manera que, un dato de tipo lógico siempre está asociado a
que algo se cumpla o no se cumpla.

Y en PASCAL se declaran así:             identificador : boolean;

       Datos de tipo carácter

Un dato de tipo carácter es aquel que puede tomar por valor un carácter perteneciente al conjunto de los
caracteres que puede representar el ordenador.
Ejemplo: En un examen con preguntas en las que hay que seleccionar la respuesta correcta entre varias
opciones dadas (a, b, c, d, e), la respuesta correcta de cada una de las preguntas es un dato de tipo carácter.
  Respuesta correcta a la pregunta 3... 'c'

Y en PASCAL se declaran así:             identificador : char;

       Datos de tipo cadena

Un dato de tipo cadena es aquel que pueden tomar por valor una secuencia de caracteres.
Ejemplo: El título de un libro y el nombre de su autor, son datos de tipo cadena.
  Título...quot;La Odiseaquot; (cadena de 9 caracteres)
  Autor....quot;Homeroquot; (cadena de 6 caracteres)
Obsérvese que, en la cadena quot;La Odiseaquot;, el carácter espacio en blanco también se cuenta.

Y en PASCAL se declaran así:             identificador : string[tamaño de la cadena];


Operadores y expresiones:
En un programa, el tipo de un dato determina las operaciones que se pueden realizar con él. Por ejemplo, con los
datos de tipo entero se pueden realizar operaciones aritméticas, tales como la suma, la resta o la multiplicación.

Ejemplo: Algunos ejemplos son:

 111 + 6 (operación suma)

 19 - 72 (operación resta)

 24 * 3 (operación multiplicación)

Expresiones aritméticas

De la evaluación de una expresión aritmética siempre se obtiene un valor de tipo entero o real. En las
expresiones aritméticas se pueden utilizar los siguientes operadores aritméticos:



Operadores Aritméticos en Turbo Pascal:
+       Suma
    -       Resta
    *       Multiplicación
    /       División real
    div     División entera
    mod     Módulo (resto de la división entera)

    +       Signo más
    -       Signo menos

Expresiones lógicas

De la evaluación de una expresión lógica siempre se obtiene un valor de tipo lógico (TRUE o FALSE). En las
expresiones lógicas se pueden utilizar dos tipos de operadores:

· Relacionales
· Lógicos

Un operador relacional se utiliza para comparar los valores de dos expresiones. Estas deben ser del mismo tipo
(aritméticas, lógicas, de carácter o de cadena).

Ejemplo 11: Algunos ejemplos son:

 22 > 13 (comparación de dos expresiones aritméticas)

 22.5 < 3.44 (comparación de dos expresiones aritméticas)

 TRUE = FALSE (comparación de dos expresiones lógicas)

 'c' > 'f' (comparación de dos expresiones de carácter)

 quot;cochequot; = quot;Cochequot; (comparación de dos expresiones de cadena)

Los operadores relacionales son:

Operadores Relacionales en Turbo Pascal:
    <       Menor que
    <=      Menor o igual que
    >       Mayor que
    >=      Mayor o igual que
    =       Igual que
    <>      Distinto que




Por otra parte, un operador lógico actúa, exclusivamente, sobre valores de expresiones lógicas. Los operadores
lógicos son:
Operadores Lógicos en Turbo Pascal:
    and     Conjunción
    or      Disyunción
    not     Negación

Ejemplo 12: Algunos ejemplos son:

 ( 9 > 3 ) and ( 8 > 6 )

 ( 9 > 3 ) and ( 8 > 9 )

 ( 9 = 3 ) and ( 8 >= 6 )

 ( 9 = 3 ) and ( 8 >= 9 )


Entrada y Salida de Datos:
En Pascal no existen palabras reservadas para realizar entradas y salidas. Para ello, el programador puede hacer
uso de los procedimientos de entrada y salida estándar proporcionados por Pascal: Read y ReadLn, o Write
y WriteLn.

Los procedimientos Write y WriteLn

El procedimiento Write permite llevar hacia la salida estándar (la pantalla) los valores (datos) obtenidos de la
evaluación de una lista de argumentos. La sintaxis de su llamada es:
                Write( <expresión_1>, <expresión_2>, ..., <expresión_n> );

Ejemplo: Si se ejecuta el programa
program EJE11301;

uses Crt;

var
   Nombre : String [7];
   Hermanos, Sobrinos : Integer;

begin
   ClrScr;
   Nombre := 'Timoteo';
   Hermanos := 2;
   Sobrinos := 4;

   Write( Nombre, ' tiene ', Hermanos,
          ' hermanos y ', Sobrinos, ' sobrinos.' )
end.


Los procedimientos Read y ReadLn

Los procedimientos Read y ReadLn permiten asignar a una o más variables, uno o más valores (datos) recibidos
desde la entrada estándar (el teclado). Las sintaxis de sus llamadas son:
Read( <lista_de_variables> );
ReadLn( <lista_de_variables> );

Al igual que Write y WriteLn, también ReadLn funciona igual que Read, con la diferencia de que después de leer
por teclado los valores introducidos por el usuario, ReadLn realiza un salto de linea, posicionando el cursor en la
primera columna de la fila siguiente, y Read no realiza dicho salto.

Ejemplo: Dado el programa
program EJE11411;

uses Crt;

const PI = 3.141592;

var Area, Radio : Real;

begin
   ClrScr;
   Write( 'Introduzca radio: ' );
   ReadLn( Radio );
   Area := PI * Radio * Radio;
   Write( 'El area de la circunferencia es: ', Area )
end.

Comentarios

En Pascal, los comentarios se escriben entre los caracteres abrir llave '{' y cerrar llave '}', o también, entre los
caracteres abrir paréntesis-asterisco '(*' y asterisco-cerrar paréntesis '*)'.

Ejemplo: Al código fuente del ejemplo siguiente se le pueden añadir los siguientes comentarios:
(*______________________________________________

    Libro: EMPEZAR DE CERO A PROGRAMAR EN PASCAL
    Ejemplo 11.43.1: 'Uso de comentarios'

   Web del Autor: http://www.carlospes.com
  ______________________________________________*)

(*********************************************)
(* Programa: Area_de_una_circunferencia      *)
(*                                           *)
(* Descripcion: Recibe por teclado el radio *)
(* de una circunferencia, mostrando su area *)
(* por pantalla.                             *)
(*                                           *)
(* Autor: Carlos Pes                         *)
(*                                           *)
(* Fecha: 31/03/2005                         *)
(*********************************************)
program EJE11431;

{ Unidades del programa }

uses Crt;
{ Constantes del programa }

const PI = 3.141592;

{ Variables del programa }

var Area, Radio : Real;

begin
   ClrScr;        { Borrado de pantalla }

    Write( 'Introduzca radio: ' );

    ReadLn( Radio );           { Entrada de dato }

    { Calculo del area de la circunferencia }

    Area := PI * Radio * Radio;

    { Salida por pantalla del resultado }

   Write( 'El area de la circunferencia es: ', Area )
end.


Alternativa doble (la instrucción if )

En Pascal, para escribir una instrucción alternativa doble se utiliza la sintaxis:
if <expresión_lógica> then
      begin
          <bloque_de_instrucciones_1>
      end
   else
      begin
          <bloque_de_instrucciones_2>
      end

Alternativa simple (de nuevo la instrucción if )

Una instrucción alternativa simple (o simplemente alternativa simple) es una variante (más sencilla) de una
instrucción alternativa doble. En Pascal, para escribir una alternativa simple se utiliza la sintaxis:
if <expresión_lógica> then
      begin
          <bloque_de_instrucciones>
      end




Alternativa múltiple (la instrucción case)

Una instrucción alternativa múltiple (o simplemente alternativa múltiple) permite seleccionar, por medio de
una expresión, el siguiente bloque de instrucciones a ejecutar de entre varios posibles. En Pascal, para escribir
una alternativa múltiple se utiliza la sintaxis:
case <expresión> of
  <lista_de_constantes_1> : begin
                             <bloque_de_instrucciones_1>
                             end;
  <lista_de_constantes_2> : begin
                             <bloque_de_instrucciones_2>
                            end;
  ...
  <lista_de_constantes_n> : begin
                             <bloque_de_instrucciones_n>
                            end
  [ else
       begin
          <bloque_de_instrucciones_n+1>
       end ]
 end

Ejemplo: Se quiere escribir un programa que:

1º) Pida por teclado el número (dato entero) de un día de la semana.
2º) Muestre por pantalla el nombre (dato cadena) correspondiente a dicho día.

Nota: Si el número de día introducido es menor que 1 ó mayor que 7, se mostrará el mensaje: quot;ERROR: Día
incorrecto.quot;.
program EJE12041;

uses Crt;

var Dia : Integer;

begin
   ClrScr;
   GotoXY( 4, 2 );
   Write( 'Introduzca dia de la semana: ' );
   ReadLn( Dia );

   GotoXY( 4, 4 );
   case Dia of
      1 : Write( 'Lunes' );
      2 : Write( 'Martes' );
      3 : Write( 'Miercoles' );
      4 : Write( 'Jueves' );
      5 : Write( 'Viernes' );
      6 : Write( 'Sabado' );
      7 : Write( 'Domingo' )
      else
         Write( 'ERROR: Dia incorrecto.' )
   end
end.



Anidamiento
Las instrucciones alternativas y repetitivas pueden escribirse una dentro de otra. A este hecho se le conoce como
anidamiento.
Las instrucciones alternativas permiten realizar las siguientes combinaciones de anidamiento:
   Doble en doble.
       Doble en simple.
       Doble en múltiple.
       Simple en simple.
       Simple en doble.
       Simple en múltiple.
       Múltiple en múltiple.
       Múltiple en doble.
       Múltiple en simple.

Alternativa doble en doble

En Pascal, para anidar una alternativa doble en otra, se utiliza la sintaxis:

if <expresión_lógica_1> then
      begin

             { Inicio del anidamiento }
             if <expresión_lógica_2> then
                begin
                    <bloque_de_instrucciones_1>
                end
             else
                begin
                    <bloque_de_instrucciones_2>
                end
             { Fin del anidamiento }

       end
    else
       begin
           <bloque_de_instrucciones_3>
       end




Ejemplo: Se quiere escribir un programa que:

1º) Pida por teclado la nota (real) de una asignatura.
2º) Muestre por pantalla:

       quot;APTOquot;, en el caso de que la nota sea mayor o igual que 5 y menor o igual que 10.
       quot;NO APTOquot;, en el caso de que la nota sea mayor o igual que 0 y menor que 5.
       quot;ERROR: Nota incorrecta.quot;, en el caso de que la nota sea menor que 0 o mayor que 10.



program EJE12061;

uses Crt;

var Nota : Real;
begin
   ClrScr;
   GotoXY( 4, 2 );
   Write( 'Introduzca nota (real): ' );
   ReadLn( Nota );

    GotoXY( 4, 4 );
    if ( Nota >= 5 ) and ( Nota <= 10 ) then
       Write( 'APTO' )
    else

        { Inicio del anidamiento }
        if ( Nota >= 0 ) and ( Nota < 5 ) then
           Write( 'NO APTO' )
        else
           Write( 'ERROR: Nota incorrecta.' );
        { Fin del anidamiento }

end.

Alternativa múltiple en doble

En Pascal, para anidar una alternativa múltiple en una alternativa doble, se utiliza la sintaxis:

if <expresión_lógica> then
 begin

  { Inicio del anidamiento }
  case <expresión> of
   <lista_de_constantes_1> : begin
                             <bloque_de_instrucciones_1>
                             end;
   <lista_de_constantes_2> : begin
                             <bloque_de_instrucciones_2>
                             end;
   ...
   <lista_de_constantes_n> : begin
                             <bloque_de_instrucciones_n>
                             end
   [ else
        begin
           <bloque_de_instrucciones_n+1>
        end ]
  end
  { Fin del anidamiento }

 end
else
 begin
     <bloque_de_instrucciones_n+2>
 end

Ejemplo: Así en el ejemplo anterior, también se puede resolver anidando una alternativa múltiple en una
alternativa doble.

program EJE12081;
uses Crt;

var Dia : Integer;

begin
   ClrScr;
   GotoXY( 4, 2 );
   Write( 'Introduzca dia de la semana: ' );
   Read( Dia );

  GotoXY( 4, 4 );
  if ( Dia >= 1 ) and ( Dia <= 7 ) then

  { Solo si el dia es valido, se ejecuta la
  instruccion alternativa multiple }

     { Inicio del anidamiento }
     case Dia of
        1 : Write( 'Lunes' );
        2 : Write( 'Martes' );
        3 : Write( 'Miercoles' );
        4 : Write( 'Jueves' );
        5 : Write( 'Viernes' );
        6 : Write( 'Sabado' );
        7 : Write( 'Domingo' )
     end
     { Fin del anidamiento }

   else
      Write( 'ERROR: Dia incorrecto.' )
end.

Más contenido relacionado

La actualidad más candente

Lenguajes diapositivas
Lenguajes diapositivasLenguajes diapositivas
Lenguajes diapositivasstarduslex
 
La programación informática o programación algorítmica, acortada
La programación informática o programación algorítmica, acortadaLa programación informática o programación algorítmica, acortada
La programación informática o programación algorítmica, acortadaAeChm-MgMs-NnNm-OpSe
 
Instrucciones C++
Instrucciones C++Instrucciones C++
Instrucciones C++grachika
 
Programacion ii modulo2-leccion3
Programacion ii modulo2-leccion3Programacion ii modulo2-leccion3
Programacion ii modulo2-leccion3karlalopezbello
 
Introduccion a la programacion
Introduccion a la programacionIntroduccion a la programacion
Introduccion a la programacionCarlos Chevez
 
Sintaxis de lenguaje de programacion
Sintaxis de lenguaje de programacionSintaxis de lenguaje de programacion
Sintaxis de lenguaje de programacionluismart05
 
Lenguaje de programacion c++ basico 1ra parte elementos basicos del lenguaje
Lenguaje de programacion c++ basico 1ra parte elementos basicos del lenguajeLenguaje de programacion c++ basico 1ra parte elementos basicos del lenguaje
Lenguaje de programacion c++ basico 1ra parte elementos basicos del lenguajeDunkherz
 
Tema 1-2 identificadores - variable y constante
Tema 1-2 identificadores - variable y constanteTema 1-2 identificadores - variable y constante
Tema 1-2 identificadores - variable y constanteRufi Flores
 
Logica taller de tipo de datos
Logica taller de tipo de datosLogica taller de tipo de datos
Logica taller de tipo de datosuanelectromecanica
 
Constante y variable
Constante y variableConstante y variable
Constante y variableAnthony Vera
 
Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales
Lenguaje Borland C - Estructuras Secuenciales y No SecuencialesLenguaje Borland C - Estructuras Secuenciales y No Secuenciales
Lenguaje Borland C - Estructuras Secuenciales y No SecuencialesKarina Arguedas Ruelas
 
Operadores y expresiones
Operadores y expresionesOperadores y expresiones
Operadores y expresionesJorge Ñauñay
 
Lenguajes De Programacion C nivel1-unidad1
Lenguajes De Programacion C nivel1-unidad1Lenguajes De Programacion C nivel1-unidad1
Lenguajes De Programacion C nivel1-unidad1charnisch
 
Identificadores variables y constates en pseudocódigo
Identificadores variables y constates en pseudocódigoIdentificadores variables y constates en pseudocódigo
Identificadores variables y constates en pseudocódigoAbrirllave
 
Estructuras de los lenguajes de programacion
Estructuras de los lenguajes de programacionEstructuras de los lenguajes de programacion
Estructuras de los lenguajes de programacionManuelDorante65
 

La actualidad más candente (20)

Lenguajes diapositivas
Lenguajes diapositivasLenguajes diapositivas
Lenguajes diapositivas
 
La programación informática o programación algorítmica, acortada
La programación informática o programación algorítmica, acortadaLa programación informática o programación algorítmica, acortada
La programación informática o programación algorítmica, acortada
 
Instrucciones C++
Instrucciones C++Instrucciones C++
Instrucciones C++
 
Programacion ii modulo2-leccion3
Programacion ii modulo2-leccion3Programacion ii modulo2-leccion3
Programacion ii modulo2-leccion3
 
Sintaxis del lenguaje c++
Sintaxis del lenguaje c++Sintaxis del lenguaje c++
Sintaxis del lenguaje c++
 
Introduccion a la programacion
Introduccion a la programacionIntroduccion a la programacion
Introduccion a la programacion
 
Sintaxis de lenguaje de programacion
Sintaxis de lenguaje de programacionSintaxis de lenguaje de programacion
Sintaxis de lenguaje de programacion
 
Lenguaje de programacion c++ basico 1ra parte elementos basicos del lenguaje
Lenguaje de programacion c++ basico 1ra parte elementos basicos del lenguajeLenguaje de programacion c++ basico 1ra parte elementos basicos del lenguaje
Lenguaje de programacion c++ basico 1ra parte elementos basicos del lenguaje
 
Tema 1-2 identificadores - variable y constante
Tema 1-2 identificadores - variable y constanteTema 1-2 identificadores - variable y constante
Tema 1-2 identificadores - variable y constante
 
Los 100 fuegos
Los 100 fuegosLos 100 fuegos
Los 100 fuegos
 
Logica taller de tipo de datos
Logica taller de tipo de datosLogica taller de tipo de datos
Logica taller de tipo de datos
 
Constante y variable
Constante y variableConstante y variable
Constante y variable
 
Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales
Lenguaje Borland C - Estructuras Secuenciales y No SecuencialesLenguaje Borland C - Estructuras Secuenciales y No Secuenciales
Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales
 
Operadores y expresiones
Operadores y expresionesOperadores y expresiones
Operadores y expresiones
 
Desarrollo aplicaciones visuales
Desarrollo aplicaciones visualesDesarrollo aplicaciones visuales
Desarrollo aplicaciones visuales
 
Desarrollo aplicaciones visuales
Desarrollo aplicaciones visualesDesarrollo aplicaciones visuales
Desarrollo aplicaciones visuales
 
Desarrollo aplicaciones visuales
Desarrollo aplicaciones visualesDesarrollo aplicaciones visuales
Desarrollo aplicaciones visuales
 
Lenguajes De Programacion C nivel1-unidad1
Lenguajes De Programacion C nivel1-unidad1Lenguajes De Programacion C nivel1-unidad1
Lenguajes De Programacion C nivel1-unidad1
 
Identificadores variables y constates en pseudocódigo
Identificadores variables y constates en pseudocódigoIdentificadores variables y constates en pseudocódigo
Identificadores variables y constates en pseudocódigo
 
Estructuras de los lenguajes de programacion
Estructuras de los lenguajes de programacionEstructuras de los lenguajes de programacion
Estructuras de los lenguajes de programacion
 

Similar a Estructura De Un Programa

37 tarazona karen programacion
37 tarazona karen programacion37 tarazona karen programacion
37 tarazona karen programacionkarenyulithza
 
Republica bolivariana de venezuela
Republica bolivariana de venezuelaRepublica bolivariana de venezuela
Republica bolivariana de venezuelaroyimar
 
Elementos basicos de un programa
Elementos basicos de un programaElementos basicos de un programa
Elementos basicos de un programamanuel tenezaca
 
Grupo 6 turbopascal apesteguia (1)
Grupo 6 turbopascal apesteguia (1)Grupo 6 turbopascal apesteguia (1)
Grupo 6 turbopascal apesteguia (1)tonytenorio2
 
Pseudocodigos
PseudocodigosPseudocodigos
PseudocodigosClariza
 
Act. Individual.- Pseudocódigos y diagramas de flujo
 Act. Individual.- Pseudocódigos y diagramas de flujo Act. Individual.- Pseudocódigos y diagramas de flujo
Act. Individual.- Pseudocódigos y diagramas de flujoElizabeth Reyna
 
Elementos basicos de un programa
Elementos basicos de un programaElementos basicos de un programa
Elementos basicos de un programaDavid Tuarez
 
Elementos basicos de un programa
Elementos basicos de un programaElementos basicos de un programa
Elementos basicos de un programaDavid Tuarez
 
Elementos basicos de un programa Grupo 2
Elementos basicos de un programa Grupo 2Elementos basicos de un programa Grupo 2
Elementos basicos de un programa Grupo 2David Tuarez
 
Manual de PSeInt
Manual de PSeIntManual de PSeInt
Manual de PSeIntCristian C
 
Logica tipos de datos operadores
Logica tipos de datos operadoresLogica tipos de datos operadores
Logica tipos de datos operadoresmemorales_IUE
 
Conceptos básicos de programación.pdf
Conceptos básicos de programación.pdfConceptos básicos de programación.pdf
Conceptos básicos de programación.pdfSantiagoMeneses18
 
Conceptos básicos de programación.pdf
Conceptos básicos de programación.pdfConceptos básicos de programación.pdf
Conceptos básicos de programación.pdfssuserec44061
 
Conceptos básicos de programación.pdf
Conceptos básicos de programación.pdfConceptos básicos de programación.pdf
Conceptos básicos de programación.pdfXian11
 

Similar a Estructura De Un Programa (20)

37 tarazona karen programacion
37 tarazona karen programacion37 tarazona karen programacion
37 tarazona karen programacion
 
Pascal
PascalPascal
Pascal
 
Republica bolivariana de venezuela
Republica bolivariana de venezuelaRepublica bolivariana de venezuela
Republica bolivariana de venezuela
 
Elementos basicos de un programa
Elementos basicos de un programaElementos basicos de un programa
Elementos basicos de un programa
 
Pascal
PascalPascal
Pascal
 
Pseudocodigo
PseudocodigoPseudocodigo
Pseudocodigo
 
Grupo 6 turbopascal apesteguia (1)
Grupo 6 turbopascal apesteguia (1)Grupo 6 turbopascal apesteguia (1)
Grupo 6 turbopascal apesteguia (1)
 
Turbo pascal
Turbo pascalTurbo pascal
Turbo pascal
 
Pascal
PascalPascal
Pascal
 
Pseudocodigos
PseudocodigosPseudocodigos
Pseudocodigos
 
Act. Individual.- Pseudocódigos y diagramas de flujo
 Act. Individual.- Pseudocódigos y diagramas de flujo Act. Individual.- Pseudocódigos y diagramas de flujo
Act. Individual.- Pseudocódigos y diagramas de flujo
 
Elementos basicos de un programa
Elementos basicos de un programaElementos basicos de un programa
Elementos basicos de un programa
 
Elementos basicos de un programa
Elementos basicos de un programaElementos basicos de un programa
Elementos basicos de un programa
 
Elementos basicos de un programa Grupo 2
Elementos basicos de un programa Grupo 2Elementos basicos de un programa Grupo 2
Elementos basicos de un programa Grupo 2
 
Manual de PSeInt
Manual de PSeIntManual de PSeInt
Manual de PSeInt
 
Expocision pseudocodigo
Expocision pseudocodigoExpocision pseudocodigo
Expocision pseudocodigo
 
Logica tipos de datos operadores
Logica tipos de datos operadoresLogica tipos de datos operadores
Logica tipos de datos operadores
 
Conceptos básicos de programación.pdf
Conceptos básicos de programación.pdfConceptos básicos de programación.pdf
Conceptos básicos de programación.pdf
 
Conceptos básicos de programación.pdf
Conceptos básicos de programación.pdfConceptos básicos de programación.pdf
Conceptos básicos de programación.pdf
 
Conceptos básicos de programación.pdf
Conceptos básicos de programación.pdfConceptos básicos de programación.pdf
Conceptos básicos de programación.pdf
 

Último

trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 

Último (16)

trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 

Estructura De Un Programa

  • 1. COLEGIO UNIVERSITARIO DE ADMINISTRACIÓN Y MERCADEO CUAM - Cagua Asignatura: Lenguaje y Programación I Prof. Lisbeth Sánchez Estructura de PASCAL Estructura de un programa: Un programa escrito en Turbo Pascal está estructurado en tres secciones principales:  Cabecera  Declaraciones  Cuerpo  Cabecera: En la cabecera de un programa se debe indicar el nombre (identificador) asignado al mismo. La sintaxis es: program <nombre_del_programa>;  Declaraciones: En esta sección se declaran las constantes (const), los tipos de datos (type), las variables (var), los precedimientos (procedure) y las funciones (function) definidos por el programador que se usan en el programa. También se puede indicar tanto la <lista_de_unidades> como la <lista_de_etiquetas> que se utilicen en el programa. var <declaraciones_de_variables>;  Cuerpo: En el cuerpo se escriben las instrucciones del bloque de instrucciones principal del programa. La sintaxis es: begin <instrucción_1> <instrucción_2> ... <instrucción_n> end. begin y end son palabras reservadas que marcan el principio y final de la sección cuerpo. program <nombre_del_programa>; var <declaraciones_de_variables>; begin <bloque_de_instrucciones> end.
  • 2. En Pascal hay que escribir un punto y coma (;) después de la declaración de una o más variables. Así pues, la sintaxis para declarar una variable es: <nombre_de_la_variable> : <nombre_del_tipo_de_dato>; Ejemplo 1: Para declarar varias variables del mismo tipo de dato se puede escribir: edad : Integer; numero_de_hijos : Integer; Ejemplo 2: O también, en la misma línea separadas por el carácter coma (,): edad, numero_de_hijos : Integer; Variables: En programación, una variable representa a un espacio de memoria en el cual se puede almacenar un dato. Gráficamente, se puede representar como: El programador, cuando desarrolla un programa (o diseña un algoritmo), debe decidir: 1. Cuantas son las variables que el programa necesita para realizar las tareas que se le han encomendado. 2. El tipo de dato que puede almacenar cada una de ellas. Ejemplo: La declaración de una variable para almacenar la edad de una persona se escribe: En pseudocódigo, para declarar una variable, se realiza de esta forma: Variables Entero edad Pero en PASCAL se escribe de esta forma: VAR EDAD:INTEGER; Constantes: En Pascal, una constante puede ser de tipo entero, real, carácter, cadena y se pueden expresar de dos formas diferentes: 1. Por su valor. 2. Con un nombre (identificador). <nombre_de_la_constante> = <expresión>; Ejemplo 1: De modo que, si se quieren declarar las constantes de tipo entero del ejemplo 1, asignándoles un identificador, se puede escribir, por ejemplo: TEMPERATURA = -5; MES = 10; Ejemplo 2: Si en un programa se quieren declarar dos variables (Area y Radio) y una constante (PI), se puede escribir:
  • 3. program nombre_de_programa; const PI = 3.141592; var Area, Radio : Real; begin ... end. Introducción a los tipos de datos Los datos que utilizan los programas se pueden clasificar en base a diferentes criterios. Uno de los más significativos es aquel que dice que todos los datos que utilizan los programas son simples o compuestos. Un dato simple es indivisible (atómico), es decir, no se puede descomponer. Los cinco tipos de datos:  Entero  Real  Lógico  Carácter  Cadena De ellos, tan solo el tipo cadena es compuesto. Los demás son los tipos de datos simples considerados estándares. Esto quiere decir que la mayoría de los lenguajes de programación permiten trabajar con ellos.  Datos de tipo entero Un dato de tipo entero es aquel que puede tomar por valor un número perteneciente al conjunto de los números enteros (Z), el cual está formado por los números naturales, su opuestos (números negativos) y el cero. Z = { ..., -3, -2, -1, 0, 1, 2, 3, ... } Y en PASCAL se declaran así: identificador : integer;  Datos de tipo real Un dato de tipo real es aquel que puede tomar por valor un número perteneciente al conjunto de los números reales (R), el cual está formado por los números racionales e irracionales. Ejemplo: El peso de una persona (en kilogramos) y su altura (en centímetros), son datos que pueden considerarse de tipo real. Peso.....:75,3 Altura...: 172,7 Y en PASCAL se declaran así: identificador : real;  Datos de tipo lógico En programación, un dato de tipo lógico es aquel que puede tomar por valor sólo uno de los dos siguientes:
  • 4. { verdadero, falso } Los valores verdadero y falso son contrapuestos, de manera que, un dato de tipo lógico siempre está asociado a que algo se cumpla o no se cumpla. Y en PASCAL se declaran así: identificador : boolean;  Datos de tipo carácter Un dato de tipo carácter es aquel que puede tomar por valor un carácter perteneciente al conjunto de los caracteres que puede representar el ordenador. Ejemplo: En un examen con preguntas en las que hay que seleccionar la respuesta correcta entre varias opciones dadas (a, b, c, d, e), la respuesta correcta de cada una de las preguntas es un dato de tipo carácter. Respuesta correcta a la pregunta 3... 'c' Y en PASCAL se declaran así: identificador : char;  Datos de tipo cadena Un dato de tipo cadena es aquel que pueden tomar por valor una secuencia de caracteres. Ejemplo: El título de un libro y el nombre de su autor, son datos de tipo cadena. Título...quot;La Odiseaquot; (cadena de 9 caracteres) Autor....quot;Homeroquot; (cadena de 6 caracteres) Obsérvese que, en la cadena quot;La Odiseaquot;, el carácter espacio en blanco también se cuenta. Y en PASCAL se declaran así: identificador : string[tamaño de la cadena]; Operadores y expresiones: En un programa, el tipo de un dato determina las operaciones que se pueden realizar con él. Por ejemplo, con los datos de tipo entero se pueden realizar operaciones aritméticas, tales como la suma, la resta o la multiplicación. Ejemplo: Algunos ejemplos son: 111 + 6 (operación suma) 19 - 72 (operación resta) 24 * 3 (operación multiplicación) Expresiones aritméticas De la evaluación de una expresión aritmética siempre se obtiene un valor de tipo entero o real. En las expresiones aritméticas se pueden utilizar los siguientes operadores aritméticos: Operadores Aritméticos en Turbo Pascal:
  • 5. + Suma - Resta * Multiplicación / División real div División entera mod Módulo (resto de la división entera) + Signo más - Signo menos Expresiones lógicas De la evaluación de una expresión lógica siempre se obtiene un valor de tipo lógico (TRUE o FALSE). En las expresiones lógicas se pueden utilizar dos tipos de operadores: · Relacionales · Lógicos Un operador relacional se utiliza para comparar los valores de dos expresiones. Estas deben ser del mismo tipo (aritméticas, lógicas, de carácter o de cadena). Ejemplo 11: Algunos ejemplos son: 22 > 13 (comparación de dos expresiones aritméticas) 22.5 < 3.44 (comparación de dos expresiones aritméticas) TRUE = FALSE (comparación de dos expresiones lógicas) 'c' > 'f' (comparación de dos expresiones de carácter) quot;cochequot; = quot;Cochequot; (comparación de dos expresiones de cadena) Los operadores relacionales son: Operadores Relacionales en Turbo Pascal: < Menor que <= Menor o igual que > Mayor que >= Mayor o igual que = Igual que <> Distinto que Por otra parte, un operador lógico actúa, exclusivamente, sobre valores de expresiones lógicas. Los operadores lógicos son:
  • 6. Operadores Lógicos en Turbo Pascal: and Conjunción or Disyunción not Negación Ejemplo 12: Algunos ejemplos son: ( 9 > 3 ) and ( 8 > 6 ) ( 9 > 3 ) and ( 8 > 9 ) ( 9 = 3 ) and ( 8 >= 6 ) ( 9 = 3 ) and ( 8 >= 9 ) Entrada y Salida de Datos: En Pascal no existen palabras reservadas para realizar entradas y salidas. Para ello, el programador puede hacer uso de los procedimientos de entrada y salida estándar proporcionados por Pascal: Read y ReadLn, o Write y WriteLn. Los procedimientos Write y WriteLn El procedimiento Write permite llevar hacia la salida estándar (la pantalla) los valores (datos) obtenidos de la evaluación de una lista de argumentos. La sintaxis de su llamada es: Write( <expresión_1>, <expresión_2>, ..., <expresión_n> ); Ejemplo: Si se ejecuta el programa program EJE11301; uses Crt; var Nombre : String [7]; Hermanos, Sobrinos : Integer; begin ClrScr; Nombre := 'Timoteo'; Hermanos := 2; Sobrinos := 4; Write( Nombre, ' tiene ', Hermanos, ' hermanos y ', Sobrinos, ' sobrinos.' ) end. Los procedimientos Read y ReadLn Los procedimientos Read y ReadLn permiten asignar a una o más variables, uno o más valores (datos) recibidos desde la entrada estándar (el teclado). Las sintaxis de sus llamadas son:
  • 7. Read( <lista_de_variables> ); ReadLn( <lista_de_variables> ); Al igual que Write y WriteLn, también ReadLn funciona igual que Read, con la diferencia de que después de leer por teclado los valores introducidos por el usuario, ReadLn realiza un salto de linea, posicionando el cursor en la primera columna de la fila siguiente, y Read no realiza dicho salto. Ejemplo: Dado el programa program EJE11411; uses Crt; const PI = 3.141592; var Area, Radio : Real; begin ClrScr; Write( 'Introduzca radio: ' ); ReadLn( Radio ); Area := PI * Radio * Radio; Write( 'El area de la circunferencia es: ', Area ) end. Comentarios En Pascal, los comentarios se escriben entre los caracteres abrir llave '{' y cerrar llave '}', o también, entre los caracteres abrir paréntesis-asterisco '(*' y asterisco-cerrar paréntesis '*)'. Ejemplo: Al código fuente del ejemplo siguiente se le pueden añadir los siguientes comentarios: (*______________________________________________ Libro: EMPEZAR DE CERO A PROGRAMAR EN PASCAL Ejemplo 11.43.1: 'Uso de comentarios' Web del Autor: http://www.carlospes.com ______________________________________________*) (*********************************************) (* Programa: Area_de_una_circunferencia *) (* *) (* Descripcion: Recibe por teclado el radio *) (* de una circunferencia, mostrando su area *) (* por pantalla. *) (* *) (* Autor: Carlos Pes *) (* *) (* Fecha: 31/03/2005 *) (*********************************************) program EJE11431; { Unidades del programa } uses Crt;
  • 8. { Constantes del programa } const PI = 3.141592; { Variables del programa } var Area, Radio : Real; begin ClrScr; { Borrado de pantalla } Write( 'Introduzca radio: ' ); ReadLn( Radio ); { Entrada de dato } { Calculo del area de la circunferencia } Area := PI * Radio * Radio; { Salida por pantalla del resultado } Write( 'El area de la circunferencia es: ', Area ) end. Alternativa doble (la instrucción if ) En Pascal, para escribir una instrucción alternativa doble se utiliza la sintaxis: if <expresión_lógica> then begin <bloque_de_instrucciones_1> end else begin <bloque_de_instrucciones_2> end Alternativa simple (de nuevo la instrucción if ) Una instrucción alternativa simple (o simplemente alternativa simple) es una variante (más sencilla) de una instrucción alternativa doble. En Pascal, para escribir una alternativa simple se utiliza la sintaxis: if <expresión_lógica> then begin <bloque_de_instrucciones> end Alternativa múltiple (la instrucción case) Una instrucción alternativa múltiple (o simplemente alternativa múltiple) permite seleccionar, por medio de una expresión, el siguiente bloque de instrucciones a ejecutar de entre varios posibles. En Pascal, para escribir una alternativa múltiple se utiliza la sintaxis:
  • 9. case <expresión> of <lista_de_constantes_1> : begin <bloque_de_instrucciones_1> end; <lista_de_constantes_2> : begin <bloque_de_instrucciones_2> end; ... <lista_de_constantes_n> : begin <bloque_de_instrucciones_n> end [ else begin <bloque_de_instrucciones_n+1> end ] end Ejemplo: Se quiere escribir un programa que: 1º) Pida por teclado el número (dato entero) de un día de la semana. 2º) Muestre por pantalla el nombre (dato cadena) correspondiente a dicho día. Nota: Si el número de día introducido es menor que 1 ó mayor que 7, se mostrará el mensaje: quot;ERROR: Día incorrecto.quot;. program EJE12041; uses Crt; var Dia : Integer; begin ClrScr; GotoXY( 4, 2 ); Write( 'Introduzca dia de la semana: ' ); ReadLn( Dia ); GotoXY( 4, 4 ); case Dia of 1 : Write( 'Lunes' ); 2 : Write( 'Martes' ); 3 : Write( 'Miercoles' ); 4 : Write( 'Jueves' ); 5 : Write( 'Viernes' ); 6 : Write( 'Sabado' ); 7 : Write( 'Domingo' ) else Write( 'ERROR: Dia incorrecto.' ) end end. Anidamiento Las instrucciones alternativas y repetitivas pueden escribirse una dentro de otra. A este hecho se le conoce como anidamiento. Las instrucciones alternativas permiten realizar las siguientes combinaciones de anidamiento:
  • 10. Doble en doble.  Doble en simple.  Doble en múltiple.  Simple en simple.  Simple en doble.  Simple en múltiple.  Múltiple en múltiple.  Múltiple en doble.  Múltiple en simple. Alternativa doble en doble En Pascal, para anidar una alternativa doble en otra, se utiliza la sintaxis: if <expresión_lógica_1> then begin { Inicio del anidamiento } if <expresión_lógica_2> then begin <bloque_de_instrucciones_1> end else begin <bloque_de_instrucciones_2> end { Fin del anidamiento } end else begin <bloque_de_instrucciones_3> end Ejemplo: Se quiere escribir un programa que: 1º) Pida por teclado la nota (real) de una asignatura. 2º) Muestre por pantalla:  quot;APTOquot;, en el caso de que la nota sea mayor o igual que 5 y menor o igual que 10.  quot;NO APTOquot;, en el caso de que la nota sea mayor o igual que 0 y menor que 5.  quot;ERROR: Nota incorrecta.quot;, en el caso de que la nota sea menor que 0 o mayor que 10. program EJE12061; uses Crt; var Nota : Real;
  • 11. begin ClrScr; GotoXY( 4, 2 ); Write( 'Introduzca nota (real): ' ); ReadLn( Nota ); GotoXY( 4, 4 ); if ( Nota >= 5 ) and ( Nota <= 10 ) then Write( 'APTO' ) else { Inicio del anidamiento } if ( Nota >= 0 ) and ( Nota < 5 ) then Write( 'NO APTO' ) else Write( 'ERROR: Nota incorrecta.' ); { Fin del anidamiento } end. Alternativa múltiple en doble En Pascal, para anidar una alternativa múltiple en una alternativa doble, se utiliza la sintaxis: if <expresión_lógica> then begin { Inicio del anidamiento } case <expresión> of <lista_de_constantes_1> : begin <bloque_de_instrucciones_1> end; <lista_de_constantes_2> : begin <bloque_de_instrucciones_2> end; ... <lista_de_constantes_n> : begin <bloque_de_instrucciones_n> end [ else begin <bloque_de_instrucciones_n+1> end ] end { Fin del anidamiento } end else begin <bloque_de_instrucciones_n+2> end Ejemplo: Así en el ejemplo anterior, también se puede resolver anidando una alternativa múltiple en una alternativa doble. program EJE12081;
  • 12. uses Crt; var Dia : Integer; begin ClrScr; GotoXY( 4, 2 ); Write( 'Introduzca dia de la semana: ' ); Read( Dia ); GotoXY( 4, 4 ); if ( Dia >= 1 ) and ( Dia <= 7 ) then { Solo si el dia es valido, se ejecuta la instruccion alternativa multiple } { Inicio del anidamiento } case Dia of 1 : Write( 'Lunes' ); 2 : Write( 'Martes' ); 3 : Write( 'Miercoles' ); 4 : Write( 'Jueves' ); 5 : Write( 'Viernes' ); 6 : Write( 'Sabado' ); 7 : Write( 'Domingo' ) end { Fin del anidamiento } else Write( 'ERROR: Dia incorrecto.' ) end.