Inicio | Artículos | Cursos Online | Libros | Diccionario | Mapa Web | Enlazar | Contactar | Acerca de


C/C++/C# HTML Java JavaScript Linux PHP Python Swift
CURSO/TUTORIAL DE ALGORITMOS
Introducción
¿Qué es un Algoritmo?
¿Qué es un Ordinograma?
Elementos Básicos
Tipos de Datos
Identificadores
Variables
Constantes
Operadores y Expresiones
Tipos de Datos Definidos por el Programador
Datos de Tipos Enumerados
Datos de Tipos Subrangos
Instrucciones Primitivas
Instrucción de Asignación
Instrucción de Salida
Instrucción de Entrada
Estructura de un Algoritmo
Partes de un Algoritmo
Cabecera
Declaraciones
Cuerpo
Sintaxis de un Algoritmo
Comentarios
Introducción a los Diagramas de Flujo
Asignación
Entrada y Salida
Inicio y Fin
Decisiones
Instrucciones de Control
Instrucciones Alternativas
Instrucciones Repetitivas
Instrucciones De Salto
Llamadas a Subalgoritmos
¿Qué es un Subalgoritmo?
Subprogramas
Procedimientos
Declaraciones Locales y Globales
Parámetros
Funciones
Representación mediante Diagramas de Flujo
CarlosPes.comCurso de Diseño de Algoritmos > Declaración de Subprogramas

Declaración de Subprogramas

¿Cómo declarar subalgoritmos en pseudocódigo?

En pseudocódigo, los subprogramas también se pueden declarar locales o globales. Por consiguiente, tanto a la sección de declaraciones de un algoritmo (programa principal), como a la de un subalgoritmo (subprograma), se debe añadir la sintaxis:
[ subalgoritmos
     <declaraciones_de_subalgoritmos> ]
Para declarar un procedimiento (sin parámetros) se utiliza el identificador de dicho procedimiento, seguido de los paréntesis "()". La sintaxis es:
<nombre_del_procedimiento>()
Por tanto, si al algoritmo del ejemplo del apartado Procedimientos le añadimos las declaraciones de los procedimientos que en él se utilizan, obtendremos el algoritmo:
algoritmo Menu_de_opciones

subalgoritmos
   /* Procedimientos globales */
   Numeros_del_1_al_10()
   Tabla_de_multiplicar_del_8()
   Primeras_diez_potencias_de_2()
   Menu_por_pantalla()

variables
   caracter opcion /* Variable global */

inicio
   hacer
       Menu_por_pantalla() /* Llamada a subalgoritmo */

       hacer
          leer( opcion )
       mientras ( opcion < '1' o opcion > '4' )

       segun_sea ( opcion )
          '1' : Numeros_del_1_al_10()
          '2' : Tabla_de_multiplicar_del_8()
          '3' : Primeras_diez_potencias_de_2()
       fin_segun_sea
   mientras ( opcion <> '4' )
fin
Haciendo lo mismo con el algoritmo del ejemplo del apartado Declaraciones Locales y Globales, obtendremos el algoritmo:
algoritmo Ejemplo_C

subalgoritmos
   /* Procedimientos globales */
   Ejemplo_A()
   Ejemplo_B()

variables
   entero n /* Variable global */

inicio
   n ← 30
   Ejemplo_A()
   Ejemplo_B()
   escribir( n )
fin
Ejemplo: Estúdiese ahora el procedimiento siguiente:
procedimiento Ejemplo_A()

subalgoritmos
   Ejemplo_B() /* Procedimiento local */

variables
   entero n /* Variable local */

inicio
   Ejemplo_B() /* Llamada a subalgoritmo */
   n ← 26
   escribir( n )
fin
En el ejemplo, se ha declarado el procedimiento Ejemplo_B localmente. Por tanto, éste sólo puede ser llamado desde el procedimiento Ejemplo_A. Esto es posible en los lenguajes estructurados, sin embargo, en lenguaje C esta característica no se cumple, ya que, no se puede definir un subprograma dentro de otro. Por tanto, cuando se escribe un programa en C, todos los subprogramas se declaran globlamente.

Y dado el procedimiento:
procedimiento Ejemplo_B()

variables
   entero n /* Variable local */

inicio
   n ← 90
   escribir( n )
fin
Y el algoritmo:
algoritmo Ejemplo_D

subalgoritmos
   Ejemplo_A() /* Procedimiento global */

variables
   entero n /* Variable global */

inicio
   n ← 18
   Ejemplo_A() /* Llamada a subalgoritmo */
   escribir( n )
fin
Su salida por pantalla es:
90 26 18
Al igual que con las variables, constantes y tipos de datos, también es conveniente declarar los subalgoritmos lo más localmente posible. Así como, no usar el mismo identificador para un subalgoritmo local, que para otro global.

Por otro lado, el espacio de memoria reservado para las variables globales (en este caso una varible,
n), no se libera hasta que el programa principal finaliza su ejecución, a diferencia de las variables locales.
Artículos Interesantes
Artículos de Desarrollo Web
Artículos de Informática
Artículos de Programación
Artículos de SEO
Cursos/Tutoriales de Informática
Curso/Tutorial de Algoritmos
Curso/Tutorial de Informática Básica
Curso/Tutorial de Ingeniería del Software
Curso/Tutorial de Lenguaje C
Curso/Tutorial de Marketing en Internet
Curso/Tutorial de Turbo Pascal
Curso/Tutorial de Representación de los Datos
Curso/Tutorial para Webmasters
Curso/Tutorial Web 2.0
Curso de SEO
Libros de Carlos Pes
36 Pasos Básicos para Desarrollar un Sitio Web
Empezar de Cero a Programar en Lenguaje C
Fundamentos del SEO
Libros Recomendados
Libros de Analítica Web
Libros de Desarrollo Web
Libros de Java
Libros de Lenguaje C
Libros de Marketing Online
Libros de Pascal (Turbo Pascal)
Libros de SEO
Libros de Visual Basic
Recursos de Informática
Diccionario de Informática
Ejercicios de Programación
Guías de uso de Software
Sintaxis de Lenguajes de Programación
Biografías
Entrevistas
Frases y Citas
Recursos Educativos
Presentaciones Educativas
Videos Educativos
Enlaces Web
Acerca de Carlos Pes
Bibliotecas
Colaboradores
Contactar
Enlazar
Librerías
Perfiles en Internet
Mapa Web
Blog de Carlos Pes Blog de Carlos Pes
© CarlosPes.com | Privacidad | Condiciones