TEMA
ESTRUCTURAS DE REPETICIÓN: REPETIR-HASTA O HACER-MIENTRAS O
MIENTRAS-HACER O PARA
NOMBRES DE LOS ESTUDIANTES:
BONILLA GOYES ARIANA THAIS
CHICAIZA CHIPANTASI CHRISTOPHER ANDRES
CHIRIBOGA PUSAY ROLANN PAUL
ESCUELA SUPERIOR POLITÉCNICA DE CHIMBORAZO
FACULTAD DE CIENCIAS
QUÍMICA PURA
PRIMER NIVEL PARALELO “A”
FUNDAMENTOS DE PROGRAMACIÓN
ING. OSWALDO VILLACRÉS C., MGS.
FECHA ENTREGA
21-12-2021
Tabla de contenido
Contenido
1. Introducción ....................................................................................................................................3
2. Objetivos .........................................................................................................................................3
2.1. Generales ..................................................................................................................................3
2.2. Específicos ................................................................................................................................3
3. Marco teórico ..................................................................................................................................4
3.1. Matriz cuadrada ...........................................................................................................................4
3.2. Matriz diagonal ...........................................................................................................................4
3.3. Matriz identidad ...........................................................................................................................4
3.4. Matriz transpuesta .........................................................................................................................5
3.5. Matriz triangular superior .............................................................................................................5
3.6. Matriz triangular inferior ..............................................................................................................5
4. Programación modular ..................................................................................................................7
4.1. ¿Que son? ..................................................................................................................................7
4.2. Características ...........................................................................................................................7
4.3. Ventajas ....................................................................................................................................8
4.4. Desventajas ...............................................................................................................................9
5. Desarrollo de ejercicio en programación modular......................................................................9
6. Referencias bibliográficas ............................................................................................................10
7. Anexos ...........................................................................................................................................11
3
1. Introducción
La programación y las matemáticas van de la mano, esto por la estrecha relación que existe entre ambas, si
bien se dice que la programación nace de las matemáticas, las cuales son muy importantes y esenciales ya que
todo código, sistema, circuito, software y algoritmo por muy sencillo que se vea las utiliza, esto conlleva a
darle importancia al uso y entendimiento de esta, donde prácticamente todos los avances tecnológicos, los
nuevos software, equipos entre otras cosas que son ahora la representación viva de los avances científicos, es
la conformación pura de la matemática. Este informe aborda dos aspectos muy importantes que complementan
el repertorio de conocimientos básicos que todo programador de computadoras debe poseer: Los arreglos
bidimensionales y los parámetros por referencia. A través de los arreglos bidimensionales se pueden
representar matrices numéricas y por ende se tiene la posibilidad de implementar a través de ellos una amplia
gama de métodos matemáticos. Habitualmente, la forma de procesamiento de los arreglos bidimensionales es
por filas y columnas, en ese orden, para lo cual se utilizan ciclos for anidados, que generalmente utilizan los
índices i,j. La metodología de análisis del Problema único, de la cuarta evaluación del Módulo de
Computación (programación), se basa en la explicación a detalle, describiendo la forma que se utilizó para
llegar a la solución del problema, así mismo se hacen comentarios de los integrantes de este trabajo, los cuales
contribuyeron a encontrar el algoritmo, que si bien es una forma de hacerlo existen otras (con variaciones) en
dependencia del estilo del programador, además de forma implícita se presentan comentario sobre los aciertos
y dificultades en la resolución del problema, resaltando el proceso heurístico inherente y la serendipia.
2. Objetivos
2.1. Generales
• Conocer los diferentes tipos de matrices y sus operaciones, también
conoceremos respecto a la programación modular sus características,
ventajes, desventajas y como desarrollarlas
2.2. Específicos
• Comprender las matrices
• Conocer cuántos tipos de matrices hay y como resolver estas con
diferentes tipos de matrices
• Identificar qué tipo de matrices se debe de aplicar para desarrollar el
ejercicio
4
3. Marco teórico
3.1. Matriz cuadrada
Matriz cuadrada de orden n
Una matriz cuadrada es aquella que tiene igual número de filas que de columnas (m = n). En este caso, la
dimensión se denomina orden, cuyo valor coincide con el número de filas y de columnas.
Por ejemplo, la siguiente matriz es una matriz cuadrada de orden 3, ya que tiene 3 filas y 3 columnas:
Entre los elementos de las matrices cuadradas suelen tenerse muy en cuenta los que forman las diagonales de
la matriz.
Así, se llama diagonal principal de una matriz cuadrada a los elementos que componen la diagonal que va
desde la esquina superior izquierda, hasta la esquina inferior derecha:
Se llama diagonal secundaria de una matriz cuadrada a los elementos que componen la diagonal que va desde
la esquina superior derecha, hasta la esquina inferior izquierda:
3.2. Matriz diagonal
Es toda matriz cuadrada en la que todos los elementos que no están situados en la diagonal principal
Son ceros (0):
3.3. Matriz identidad
Es la matriz escalar cuyos elementos de la diagonal principal valen uno, es decir, la diagonal principal está
formada por 1, y el resto de los elementos son 0:
5
3.4. Matriz transpuesta
Se llama matriz traspuesta de una matriz cualquiera de dimensión m x n a la matriz que se obtiene al convertir
las filas en columnas. Se representa con el superíndice «t»y su dimensión es por tanto n x m.
Por ejemplo, tenemos la siguiente matriz A, de dimensión 2 x 3 (2 filas y 3 columnas):
Su matriz traspuesta, designada con el superíndice «t», se obtiene convirtiendo las filas en columnas. Por
tanto, la primera fila de la matriz A, formada por los elementos 1, -3 y 0, pasa a ser la primera columna de su
matriz traspuesta. De la misma forma, la segunda fila de la matriz A, formada por los elementos 2, 4 y 1, pasa
a ser la segunda columna de su matriz traspuesta:
3.5. Matriz triangular superior
Es toda matriz cuadrada donde al menos uno de los términos que están por encima de la diagonal principal son
distintos de cero y todos los términos situados por debajo de la diagonal principal son ceros:
Normalmente, cuando se dice que hay que triangular la matriz, se refiere a que hay que hacer ceros los
elementos que quedan por debajo de la diagonal principal.
3.6. Matriz triangular inferior
Es toda matriz cuadrada donde al menos uno de los términos que están por debajo de la diagonal principal son
distintos de cero y todos los términos situados por encima de la diagonal principal son ceros:
(David)
Ejercicios con matrices
6
7
4. Programación modular
4.1. ¿Que son?
La programación modular es una técnica utilizada para el desarrollo de software, donde se divide el programa
en muchos componentes o bloques pequeños autónomos llamados módulos, que son manejables, lógicos y
funcionales.
El módulo es un bloque de sentencias que resuelve un problema particular. Cada módulo contiene todo lo
necesario para cumplir con su propia funcionalidad y se puede editar o modificar sin que se vea afectado el resto
del proyecto.
Esta forma de programar se logra manteniendo una interfaz de módulo permanente que usan los demás
componentes del software para así poder acceder a las funciones de cada módulo.
Los módulos imponen límites lógicos entre los componentes, mejorando la capacidad de mantenimiento. Se
incorporan a través de interfaces, que están diseñadas de tal manera que se minimiza la dependencia entre los
diferentes módulos
4.2. Características
Modularidad
Una computadora no necesita una versión desglosada del código para poder ejecutarlo. Son las limitaciones
cognitivas humanas las que obligan a escribir código en fragmentos más pequeños.
Un programa puede contener otras funciones y también puede referirse a funciones que están en otros archivos.
Estas funciones o módulos son conjuntos de sentencias que sirven para realizar una operación o calcular un
valor.
Para poder mantener la simplicidad y legibilidad en programas grandes y complejos, se utiliza una función
principal corta en conjunto con otras funciones, en lugar de utilizar una función principal larga.
8
Al separar un programa en grupos de módulos, cada módulo será más fácil de entender, cumpliendo así con las
pautas básicas de la programación estructurada.
Definición de función
Una función consiste en una declaración de su definición seguida de comandos y sentencias. La forma general
de una función es:
Nombre_de_función(declaración de parámetros) {
sentencias;
comandos;
retornar expresión;
}
– La declaración de los parámetros representa la información que se está pasando a la función.
– Se definen en las sentencias las variables adicionales utilizadas específicamente por la función.
– Todas las funciones deben incluir una sentencia de retorno.
Alcance de las variables
Las variables que se declaran dentro de la función principal o en funciones definidas por el usuario se denominan
variables locales. Estas tienen un valor cuando se ejecuta la función, pero su valor no se retiene al completarse
la función.
Las variables que se declaran externamente al programa principal o a las funciones definidas por el usuario se
denominan variables globales. Estas variables se pueden tomar desde cualquier función que se encuentre dentro
del programa.
Es procedimental
La programación modular es bastante procedimental, ya que se orienta completamente a la escritura de código
para funciones, sin tomar en cuenta los datos.
4.3. Ventajas
Programación independiente del proyecto
Varios programadores pueden trabajar en el mismo proyecto si está dividido en módulos. Diferentes
programadores pueden diseñar de forma independiente distintos módulos del programa, que es lo requerido para
un programa grande y complejo.
Desarrollo eficiente de programas
Los programas se pueden desarrollar más rápidamente, ya que los módulos pequeños e independientes son más
fáciles de entender, diseñar y probar que los programas grandes.
El programador puede proveer la entrada necesaria y verificar que el módulo esté correcto examinando su salida.
Uso múltiple de los módulos
El código escrito para un programa a menudo es útil en otros. La programación modular permite que estas
secciones se guarden para un uso futuro. Debido a que el código es reubicable, los módulos guardados se pueden
vincular a cualquier otro programa que cumpla con los requerimientos de entrada y salida.
Con la programación monolítica, tales secciones de código quedan incrustadas dentro del programa y no están
9
disponibles para ser utilizadas por otros programas.
Facilidad de depuración y modificación
Un módulo es más pequeño que un programa completo, por lo que resulta más fácil probarlo. Cada módulo se
puede escribir y probar por separado del resto del programa. Después de que se haya probado un módulo, podrá
usarse en un nuevo programa sin tener que probarlo de nuevo.
Cuando se debe modificar un programa, la programación modular simplifica el trabajo. Se pueden vincular
módulos nuevos o depurados a un programa existente sin que el resto del programa cambie.
4.4. Desventajas
Estructura excesivamente orientada a objetos
Esta programación utiliza interfaces, que es una idea bastante eficaz. Para aprovechar eso, algunos marcos de
trabajo traen consigo un conjunto completo de clases intercambiables. Por ejemplo, para manejar la
persistencia, podría haber varias clases que implementen una interfaz de persistencia.
Sin embargo, los entornos de desarrollo integrado (IDE) se confunden con esto. Por ejemplo, se podría estar
intentando encontrar la fuente de un método, y el IDE no sabrá qué método se desea ver, mostrando así una
larga lista de archivos donde exista un método con ese nombre.
Módulos demasiado pequeños
Existe una gran cantidad de módulos que solo contienen una función muy pequeña. Cada módulo requiere un
tiempo adicional de análisis y procesamiento, además de su encabezado en el código.
Por tanto, usar muchos módulos pequeños añadirá una sobrecarga al sistema de compilación, aumentando el
tamaño del paquete.
Descomponer sin razón
Algunos códigos casi nunca cambian. En esos casos puede que no tenga mucho sentido tratar de hacer que se
vea más limpio o con una lógica abstracta, si con solo usarlo ya funciona bien.
Hay códigos que no se ven demasiado bonitos y, sin embargo, no han cambiado mucho en los últimos años.
No hay ninguna razón para descomponer en módulos un código que nunca ha cambiado y que ya funciona
bien.(Anonimo)
5. Desarrollo de ejercicio en programación modular
10
6. Referencias bibliográficas
Alonso, O. (2016). Matrices . Obtenido de
[Link]
y-repetitiva/
Salgado, I. (2018). Slide player. Obtenido de [Link]
David, (2019) Tipos de matrizes obtenido de
[Link]
Anonimo, (2020) Programación modular que e, ventajas y desventajas obtenido de [Link]
[Link]/programacion-modular-que-es-y-ventajas-que-ofrece/
Rancel, M. (2006). Algoritmos con matrices, ejemplos obtenido de
[Link]
d=394:instruccion-mientras-hacer-while-do-pseudocodigo-y-diagramas-de-
flujocu00155a&catid=28&Itemid=59
11
7. Anexos