UNIVERSIDAD POLITECNICA DE
FRANCISCO [Link]
INGENIERIA EN SISTEMAS COMPUTACIONALES
SUBALGORITMOS
EN
ALGORITMOS
NOMBRE DEL DOCENTE: MTRO. MOISES BALTAZAAR HERNÁNDEZ
GRUPO: 1SCG3
NOMBRE DE LA ASIGNATURA: INTRODUCCION A LA PROGRAMACIÓN
NOMBRE DEL ALUMNO: ANGEL DE JESUS MERA CHAVEZ
FECHA DE ENTREGA: 26/OCTUBRE/2022
INTRODUCCIÓN
Con el afán de poder tener conocimiento avanzado en los algoritmos, la creación
de esta investigación se basa en el tema de sub-algoritmos, en el cual se dará a
conocer la importancia que tienen en la programación tal así de cómo se
estructuran, su definición, su forma de lenguaje entre otras cosas.
Los algoritmos en programación han sido pieza fundamental para el desarrollo de
una indicación que cierto usuario realiza en un equipo de cómputo el cual se
realiza mediante una serie de pasos finitos bien definidos para la solución de un
problema.
Alguna vez nos hemos preguntado ¿Qué algoritmo puede que tengamos en
nuestra vida cotidiana?, es simple y sencilla la respuesta, algunas repuestas son
como el: lavado de dientes, tomar el colectivo, sacar dinero del cajero automático,
entre otras cosas.
En tema a los sub-algoritmos viéndolo en tema a programación se divide en partes
para la solución de dicho problema, a esta técnica se le puede llamar “divide y
vencerás”.
Desarrollo
¿Qué es un Sub-Algoritmo?
Es la solución a problemas complejos al dividirlos en subprogramas y luego
dividirlos estos en otros más simples, hasta que estos sean más fáciles de
resolver.
Esta técnica se llama “divide y vencerás”.
El problema principal denominado controlador o conductor (drive) y la solución de
los Subproblemas conocidos como procedimientos (subrutinas) o funciones.
Se dice que el programa principal invoca al subprograma, el subprograma ejecuta
la tarea y luego devuelve el control al programa.
Declaración de Funciones
Requiere de una serie de pasos que la definen. Consta de una cabecera, seguido
de la palabra (función) y del nombre del argumento de la función después ira el
cuerpo que es una serie de acciones cuya ejecución hará que se asigne un valor
al nombre de la función, esto determina el resultado que ha de devolver al
programa. La declaración de la función será:
Ejemplo:
F(x,y)=x/1+x*x
Se define como :
Real función f(x)
Inicio
Devolver (x/(1+x*x))
Fin_función
Procedimientos (Sub-rutinas)
Aunque las funciones son herramientas de programación muy útiles para la
resolución de problemas, su alcance está muy limitado. Con frecuencia, se
requieren subprogramas que calculen varios resultados en vez de uno solo, o que
realicen la ordenación de una serie de números, etc. En estas situaciones la
función no es apropiada y se necesita disponer del otro tipo de subprograma: el
procedimiento o subrutina.
Un procedimiento o subrutina es un subprograma que ejecuta un proceso
específico. Ningún valor está asociado con el nombre del procedimiento; por
consiguiente, no puede ocurrir en una expresión. Un procedimiento se llama
escribiendo su nombre, por ejemplo, SORT, para indicar que un procedimiento
denominado SORT se va a usar. Cuando se invoca el procedimiento, los pasos
que lo definen se ejecutan y a continuación se devuelve el control al programa que
le llamó.
Variables Locales y Globales
Las variables utilizadas en los principales y subprogramas se clasifican en dos
tipos:
• Variables locales.
• Variables globales.
Una variable local es aquella que está declarada y definida dentro de un
subprograma, en el sentido de que está dentro de ese subprograma y es distinta
de las variables con el mismo nombre declaradas en cualquier parte del programa
principal. El significado de una variable se confina al procedimiento en el que está
declarada.
Cuando otro subprograma utiliza el mismo nombre se refiere a una posición
diferente en memoria. Se dice que tales variables son locales al subprograma en
el que están declaradas. Una variable global es aquellas que están declarada para
el programa o algoritmo principal, del que dependen todos los subprogramas.
La parte del programa/algoritmo en que una variable se define se conoce como
ámbito (scope, en inglés) El uso de variables locales tiene muchas ventajas. En
particular, hace a los subprogramas independientes, con la comunicación entre el
programa principal y los subprogramas manipulados estructuralmente a través de
la lista de parámetros.
Para utilizar un procedimiento sólo necesitamos conocer lo que hace y no tenemos
que estar preocupados por su diseño, es decir, cómo están programados.
Esta característica hace posible dividir grandes proyectos en piezas más
pequeñas independientes. Cuando diferentes programadores están implicados,
ellos pueden trabajar independientemente. A pesar del hecho importante de los
subprogramas independientes y las variables locales, la mayoría de los lenguajes
proporcionan algún método para tratar ambos tipos de variables.
Una variable local a un subprograma no tiene ningún significado en otros
subprogramas. Si un subprograma asigna un valor a sus variables locales, este
valor no es accesible a otros programas es decir, no puede utilizar esta valor. A
veces, también es necesario que una variable tenga el mismo nombre en
diferentes subprogramas.
Por el contrario las variables globales tienen la ventaja de compartir información
de diferentes subprogramas sin una correspondiente entrada en la lista de
parámetros. En un programa sencillo con un subprograma, cada variable u otro
identificador es o bien local al procedimiento o global al programa completo.
Sin embargo, si el programa incluye procedimientos que engloban a otros
procedimientos –procedimientos anidados -, entonces la noción de global/local es
algo más complicada de entender. El ámbito de un identificador (variables,
constantes, procedimientos) es la parte del programa donde se conoce el
identificador.
Si un procedimiento está definido localmente a otro procedimiento, tendrá
significado solo dentro del ámbito de ese procedimiento. A las variables les sucede
lo mismo; si están definidas local mente dentro de un procedimiento, su significa o
uso se confina a cualquier función o procedimiento que pertenezca a esa
definición. La figura 5.5 muestra un esquema de un programa con diferentes
procedimientos, algunas variables son locales y otras globales.
En esta citada figura se muestra el ámbito de cada definición. Los lenguajes que
admiten variables locales y globales suelen tener la posibilidad explícita de definir
dichas variables como tales en el cuerpo del programa o, lo que es lo mismo,
definir su ámbito de actuación, para ello se utilizan las cabeceras de programas y
subprogramas, con lo que se definen los ámbitos. Las variables definidas en un
ámbito son accesibles en el mismo, es decir, en todos los procedimientos
interiores.
La división de un algoritmo
Cuando un algoritmo crece demasiado, se hace necesario dividirlo en
subalgoritmos o módulos, llamados funciones o procedimientos. Esta división nos
permite:
1. Hacer más entendible los algoritmos.
2. La detección y corrección de problemas se hace más simple, pues los
problemas están más localizados, no es necesario analizar todo el algoritmo, sólo
el módulo que está fallando.
3. Permite que los subalgoritmos se especialicen en resolver una tarea específica,
sin importarles cómo funcionan los demás módulos. Esto facilita que varias
personas puedan realizar un algoritmo, cada uno de ellos realiza un subalgoritmo
específico.
4. Si se han construido subalgoritmos, estos se pueden utilizar (llamar) las veces
que se necesite. Esto es la reutilización de los subalgoritmos, para que resolver un
problema que ya había sido resuelto, sólo se llama a la solución.
Conclusión
El aprendizaje que obtenemos mediante esta investigación es poder ver y saber
un poco más de cómo se compone un subalgoritmo y algunas formas en las
cuales podemos desarrollarlas.
Es de suma importancia el poder aprender un poco más sobre este tipo de temas,
ya que, al paso del tiempo, a nosotros como programadores, nos ayuda a tener un
fácil entendimiento a la solución de un problema ya puede ser matemático o bien
de nuestra vida cotidiana.
Referencias Bibliográficas
SUB ALGORITMOS - Algoritmos. (s. f.). Recuperado 26 de octubre de 2022, de
[Link]
Los SubAlgoritmos. (2016, febrero).
[Link]
[Link]
LISTA DE COTEJO PARA INVESTIGACIÓN SOBRE SUBALGORITMOS EN
ALGORITMOS.
U2 ED1
DATOS GENERALES DEL PROCESO DE
EVALUACIÓN
Nombre(s) del alumno(s): Matricula:2218031416 Firma del alumno(s):
Angel De Jesús Mera Chávez
Nombre del trabajo Fecha: 26/OCTUBRE/2022
Investigación de Subalgoritmos en Algoritmos
Asignatura: Introducción a la Programación Periodo cuatrimestral:
Septiembre-Diciembre 2022
Nombre del Docente: Moisés Baltazar Hernández Firma del Docente:
INSTRUCCIONES
Revisar las actividades que se solicitan y marque en los apartados “SI” cuando la evidencia se cumple; en caso contrario marque
“NO”. En la columna “OBSERVACIONES” indicaciones que puedan ayudar al alumno a saber cuáles son las condiciones no
cumplidas, si fuese necesario.
Valor CUMPLE
del Característica a cumplir (Reactivo) SI NO OBSERVACIONES
reactiv
o
Presentación. El reporte cumple con los requisitos de:
10%
a. Portada Nombre de la institución, carrera,
grupo, nombre del docente , materia y fecha
5% b. No tiene faltas de ortografía
5% c. Maneja el lenguaje técnico apropiado.
10% Tipo de letra para temas Arial 14, contenido Arial 12
5% Contenido. El reporte contiene los campos según formato indicado
15 Introducción. Da una idea clara del contenido de la investigación. (Minino media
cuartilla)
20% Desarrollo. El Desarrollo de la investigación tiene coherencia con el tema analizado
y tienes los puntos más importantes del tema
10% Conclusiones. Las conclusiones son claras, acordes y se desprenden del
desarrollo del tema analizado. (Minino media cuartilla)
10% Bibliografía: Contiene link o libros de donde realizo la investigación
10% Responsabilidad: Entregó la investigación en la fecha y hora señalada
100% CALIFICACIÓN: