SlideShare ist ein Scribd-Unternehmen logo
1 von 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.

Weitere ähnliche Inhalte

Was ist angesagt?

Lenguajes diapositivas
Lenguajes diapositivasLenguajes diapositivas
Lenguajes diapositivas
starduslex
 
Instrucciones C++
Instrucciones C++Instrucciones C++
Instrucciones C++
grachika
 
Programacion ii modulo2-leccion3
Programacion ii modulo2-leccion3Programacion ii modulo2-leccion3
Programacion ii modulo2-leccion3
karlalopezbello
 
Introduccion a la programacion
Introduccion a la programacionIntroduccion a la programacion
Introduccion a la programacion
Carlos Chevez
 
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
Dunkherz
 
Logica taller de tipo de datos
Logica taller de tipo de datosLogica taller de tipo de datos
Logica taller de tipo de datos
uanelectromecanica
 
Constante y variable
Constante y variableConstante y variable
Constante y variable
Anthony 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 Secuenciales
Karina Arguedas Ruelas
 
Lenguajes De Programacion C nivel1-unidad1
Lenguajes De Programacion C nivel1-unidad1Lenguajes De Programacion C nivel1-unidad1
Lenguajes De Programacion C nivel1-unidad1
charnisch
 
Estructuras de los lenguajes de programacion
Estructuras de los lenguajes de programacionEstructuras de los lenguajes de programacion
Estructuras de los lenguajes de programacion
ManuelDorante65
 

Was ist angesagt? (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
 

Ähnlich wie Estructura De Un Programa

37 tarazona karen programacion
37 tarazona karen programacion37 tarazona karen programacion
37 tarazona karen programacion
karenyulithza
 
Republica bolivariana de venezuela
Republica bolivariana de venezuelaRepublica bolivariana de venezuela
Republica bolivariana de venezuela
royimar
 
Pseudocodigo
PseudocodigoPseudocodigo
Pseudocodigo
Ana Ruth G H
 
Pseudocodigos
PseudocodigosPseudocodigos
Pseudocodigos
Clariza
 
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
Elizabeth Reyna
 
Logica tipos de datos operadores
Logica tipos de datos operadoresLogica tipos de datos operadores
Logica tipos de datos operadores
memorales_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.pdf
Xian11
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 
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
FagnerLisboa3
 

Kürzlich hochgeladen (11)

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
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
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 

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.