Universidad Nacional Autónoma
De México
Facultad De Estudios Superiores
Cuautitlán
Investigación de 3 y 4 unidad
ALUMNOS:
Guerrero Osorio Rodrigo
Lara Sanjuan Eduardo Javier
Popo Garita Erick Emmanuel
MAESTRO:
CARRERA:
INGENIERÍA QUÍMICA
ASIGNATURA:
PROGRAMACIÓN Y COMPUTACIÓN
3. ALGORITMOS Y DIAGRAMAS DE FLUJO.
3.1 Conceptos de algoritmo, secuencia y programa.
3.2 Conceptos básicos de programación estructurada y pseudocódigo.
3.3 Diagramas de flujo y simbología de las estructuras básicas de
secuencia, selección y repetición.
3.4 Elaboración de algoritmos en diagramas de flujo, utilizando los
conceptos de programación estructurada.
3.5 Ejemplos de diagramas de flujo.
3.6 Ejercicios de elaboración de diagramas de flujo.
4. LENGUAJE ESTRUCTURADO.
4.1 Elementos del lenguaje estructurado: constantes, variables,
operadores, instrucciones. Palabras reservadas, funciones. Sintaxis de
las operaciones.
4.2 Repertorio de instrucciones: asignación, secuencia, saltos
condicionados, cálculos iterativos, instrucciones de entrada/salida.
4.3 Programas que incluyan saltos condicionados y cálculos iterativos.
4.4 Formulación y ejecución de algoritmos computacionales que incluyan
saltos condicionados y cálculos iterativos.
4.5 Arreglos matriciales. Sintaxis para la manipulación de variables
subindicadas. Ejemplos de aplicación.
Arreglos matriciales: Sintaxis para la manipulación de variables subindicadas
Los arreglos matriciales son estructuras de datos que permiten almacenar y
organizar datos en filas y columnas. En Python, la sintaxis para declarar y
manipular arreglos matriciales es relativamente sencilla.
Declaración de arreglos matriciales
Para declarar un arreglo matricial en Python, se utiliza la función
[Link](). La función recibe como argumento una lista de listas que
representan las filas del arreglo.
Acceso a elementos individuales
Para acceder a un elemento individual de un arreglo matricial, se utilizan dos
índices: el primero indica la fila y el segundo la columna. Los índices
comienzan en 0, por lo que el elemento en la fila 0 y la columna 0 se accede
con matriz[0, 0].
Slicing
El slicing se puede utilizar para acceder a subconjuntos de filas y columnas de
un arreglo matricial.
Manipulación de variables subindicadas
Las variables subindicadas se pueden utilizar para manipular arreglos
matriciales de forma más eficiente. Una variable subindicada es una expresión
que representa un subconjunto de un arreglo matricial.
Ejemplos de aplicación
Los arreglos matriciales se utilizan en una amplia variedad de aplicaciones,
incluyendo:
Análisis de datos: Los arreglos matriciales son una forma eficiente de
almacenar y manipular grandes conjuntos de datos.
Álgebra lineal: Las operaciones matemáticas con matrices, como la suma,
la resta, la multiplicación y la inversión, se pueden realizar fácilmente con
arreglos matriciales.
Gráficos: Los arreglos matriciales se pueden utilizar para representar datos
en forma gráfica, como gráficos de líneas, gráficos de barras y gráficos de
dispersión.
Aprendizaje automático: Los arreglos matriciales se utilizan ampliamente
en el aprendizaje automático, donde se utilizan para entrenar modelos de
aprendizaje automático.
4.6 Formulación y ejecución de algoritmos computacionales en los que
se utilicen arreglos matriciales.
Formulación y ejecución de algoritmos computacionales en los que se
utilizan arreglos matriciales
Los arreglos matriciales son una estructura de datos fundamental en la
programación, especialmente en el ámbito científico y de ingeniería. Su
capacidad para almacenar y organizar datos de forma eficiente los convierte en
una herramienta poderosa para la resolución de una amplia gama de
problemas.
Formulación de algoritmos con arreglos matriciales
La formulación de algoritmos con arreglos matriciales implica definir los pasos
necesarios para manipular y procesar los datos almacenados en estas
estructuras. Para ello, se deben considerar los siguientes aspectos:
1. Definición del problema: El primer paso es comprender claramente el
problema que se quiere resolver. Esto implica identificar las entradas, las
salidas y los objetivos del algoritmo.
2. Representación de los datos en matrices: Se debe determinar cómo se
representarán los datos del problema en arreglos matriciales. Esto puede
implicar definir la dimensionalidad de las matrices, el tipo de datos que se
almacenarán y la organización de los datos.
3. Selección de operaciones matriciales: En función del problema a resolver,
se deben seleccionar las operaciones matriciales adecuadas. Estas
operaciones pueden incluir suma, resta, multiplicación, transposición, inversión,
etc.
4. Estructura del algoritmo: El algoritmo se debe estructurar en pasos
secuenciales que describan las operaciones a realizar sobre las matrices. Se
pueden utilizar estructuras de control como bucles y condicionales para
manejar diferentes casos.
5. Implementación del algoritmo: El algoritmo se puede implementar en un
lenguaje de programación que soporte el manejo de matrices. Lenguajes como
Python, R, MATLAB y C++ ofrecen bibliotecas y funciones específicas para
trabajar con arreglos matriciales.
Ejecución de algoritmos con arreglos matriciales
La ejecución de algoritmos con arreglos matriciales implica ejecutar las
instrucciones definidas en el paso de formulación. Esto se puede realizar de las
siguientes maneras:
1. Implementación directa: El código del algoritmo se puede escribir
directamente en el lenguaje de programación elegido, utilizando las bibliotecas
y funciones disponibles para el manejo de matrices.
2. Utilización de herramientas computacionales: Existen herramientas
computacionales especializadas en el análisis y procesamiento de datos
matriciales, como MATLAB, Octave y Scilab. Estas herramientas permiten
ejecutar algoritmos definidos en lenguajes propios o en lenguajes como
Python.
3. Integración con otras aplicaciones: Los algoritmos con arreglos
matriciales se pueden integrar en otras aplicaciones, como hojas de cálculo,
sistemas de control o simulaciones, para automatizar tareas y análisis de
datos.
Ejemplos de aplicación
Los arreglos matriciales se utilizan en una amplia variedad de aplicaciones,
incluyendo:
Análisis de datos: Para calcular medidas estadísticas, realizar regresiones
lineales, identificar patrones y tendencias en conjuntos de datos.
Álgebra lineal: Para resolver sistemas de ecuaciones lineales, calcular
determinantes, invertir matrices y encontrar autovalores y autovectores.
Gráficos: Para generar gráficos de líneas, barras, dispersión y superficies
3D a partir de datos matriciales.
Aprendizaje automático: Para entrenar modelos de clasificación,
regresión y agrupación en base a conjuntos de datos matriciales.
Procesamiento de imágenes: Para aplicar filtros, detectar bordes,
segmentar imágenes y realizar reconocimientos de patrones.
Cálculo numérico: Para resolver ecuaciones diferenciales, optimizar
funciones y realizar simulaciones físicas.
4.7 Funciones creadas por el usuario y subrutinas.
Funciones creadas por el usuario y subrutinas
Tanto las funciones creadas por el usuario como las subrutinas son bloques de
código reutilizables que se pueden llamar desde diferentes partes de un programa.
Sin embargo, existen algunas diferencias clave entre ambas:
Funciones creadas por el usuario:
Devuelven un valor: Las funciones creadas por el usuario siempre
devuelven un valor, que puede ser utilizado en la expresión donde se llama
a la función.
Pueden ser utilizadas en expresiones: Las funciones creadas por el
usuario pueden ser utilizadas en cualquier lugar donde se pueda utilizar una
expresión, como en el lado derecho de una asignación o como argumento
de otra función.
Promueven la modularidad: Las funciones creadas por el usuario
promueven la modularidad del código al permitir agrupar bloques de código
relacionados en unidades independientes.
Facilitan el mantenimiento: Las funciones creadas por el usuario facilitan
el mantenimiento del código al permitir modificar un bloque de código en un
solo lugar y propagar los cambios a todas las partes del programa donde se
utiliza la función.
Subrutinas:
No devuelven un valor: Las subrutinas no devuelven ningún valor.
No se pueden utilizar en expresiones: Las subrutinas no se pueden
utilizar en cualquier lugar donde se pueda utilizar una expresión. Solo se
pueden llamar desde otras partes del programa.
Promueven la reutilización de código: Las subrutinas promueven la
reutilización de código al permitir agrupar bloques de código relacionados
en unidades independientes.
Facilitan el mantenimiento: Las subrutinas facilitan el mantenimiento del
código al permitir modificar un bloque de código en un solo lugar y propagar
los cambios a todas las partes del programa donde se utiliza la subrutina.
4.8 Elaboración y ejecución de programas en los que se utilicen
funciones creadas por el usuario y subrutinas.
Problema: Calcular el área y el perímetro de un rectángulo.
Funciones:
calcular_area(base, altura): Calcula el área del rectángulo.
calcular_perimetro(base, altura): Calcula el perímetro del rectángulo.
Subrutina:
mostrar_resultados(area, perimetro): Muestra el área y el perímetro
calculados en la consola.