Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Cap 2 PDF
Cap 2 PDF
Programación y
software
1
Programación y software
5
FIGURA 2.2
Secuencia. a) Diagrama de flujo y
b) seudocódigo para la estructura secuencial.
• El código debe
realizarse instrucción
por instrucción, a
menos que se
indique otra cosa.
• La estructura se
puede expresar como
un diagrama de flujo
o como un
seudocódigo.
6
FIGURA 2.3
Diagrama de flujo y seudocódigo para estructuras de
Selección simple.
a) Selección con una alternativa (IF/THEN) y
b) Selección con dos alternativas (IF/THEN/ELSE).
• Selección.
ofrece un medio de
dividir el flujo del
programa en ramas
considerando el
resultado de un
condición lógica.
7
Repetición: proporciona una manera de llevar a cabo instrucciones
repetidamente. Las estructuras resultantes se llaman loops o ciclos.
FIGURA 2.4
Diagrama de flujo y
seudocódigo para
construcciones de
selección o ramificación.
a) Selección de
múltiples alternativas
(IF/THEN/ELSEIF)
b) Construcción CASE.
8
FIGURA 2.5
Loop DOEXIT o de
interrupción.
9
FIGURA 2.6
Construcción controlada por conteo o construcción DOFOR.
10
Ejemplo 2.1
Algoritmo para las raíces de la ecuación cuadrática.
11
Ejemplo 2.1
Solución.
Para desarrollar el algoritmo usaremos un método que va de lo general a
lo particular (método top-down).
Un algoritmo estructurado para realizar la tarea es:
14
Ejemplo paracaidista
Si el intervalo es divisible exactamente entre el incremento.:
15
Ejemplo paracaidista
Para tomar en cuenta el otro caso, en el código anterior, en lugar del área
sombreada se puede usar un loop de decisión.
16
Programación modular
Los programas de computación se dividen en
subprogramas más pequeños, o módulos que pueden
desarrollarse y probarse por separado.
La principal cualidad de los módulos es que son tan
independientes y autosuficientes como sea posible.
Ventajas del diseño modular son:
El uso de unidades pequeñas e independientes hace que la
lógica subyacente sea más fácil de seguir y de entender
La depuración y la prueba de un programa se simplifican
debido a que los errores se pueden encontrar con facilidad
El mantenimiento y la modificación del programa es más
sencillo
Permiten tener una biblioteca de módulos útiles para usos
posteriores en otros programas 17
FIGURA 2.7
Seudocódigo para una función que resuelve una ecuación
diferencial usando el método de Euler.
18
EXCEL
Las hojas de cálculo son un tipo especial de software para
matemáticas que permite al usuario ingresar y realizar cálculos
en renglones y columnas de datos.
Cuando se modifica un valor de la hoja, hay que actualizar
todos los cálculos; las hojas de cálculo son ideales para hacer
análisis del tipo “¿y qué pasa si...? ”
Excel cuenta con varios recursos numéricos interconstruidos
como resolución de ecuaciones, ajuste de curvas y
optimización.
Incluye también VBA como un lenguaje de macro que sirve
para hacer cálculos numéricos
Tiene varias herramientas para la visualización como
diagramas y gráficas tridimensionales, que son un valioso
complemento para el análisis numérico.
19
FIGURA 2.8
Estructuras de control
fundamentales en
a) seudocódigo y
b) VBA de Excel.
20
MATLAB
MATLAB es el principal producto de software de Mathworks, Inc.,
fundada por los analistas numéricos Cleve Moler y John N. Little.
Como su nombre lo indica, MATLAB se desarrolló originalmente como
un laboratorio para matrices. Hoy, el elemento principal de MATLAB
sigue siendo la matriz.
La manipulación matemática de matrices se ha realizado muy
adecuadamente en un ambiente interactivo fácil de utilizar.
A esta manipulación matricial, MATLAB agrega varias funciones
numéricas, cálculos simbólicos y herramientas para visualización.
MATLAB tiene diferentes funciones y operadores que permiten la
adecuada realización de los métodos numéricos que aquí
desarrollamos.
Además, se pueden escribir programas como los llamados archivos M
(m-files) que sirven para realizar cálculos numéricos.
El uso normal de MAT LA B está estrechamente relacionado con la
21
programación
FIGURA 2.9
Estructuras de control fundamentales en
a) seudo-código y
b) lenguaje de programación en
MATLAB.
22
23
OTROS LENGUAJES Y BIBLIOTECAS
• Fortran 90 (IMSL*)
• C++