itsbasicas/ada

70
Métodos Numéricos UNIDAD 1 www.itsbasicas.com/a da

Upload: eleanor-knight

Post on 30-Dec-2015

56 views

Category:

Documents


9 download

DESCRIPTION

www.itsbasicas.com/ada. Técnicas mediante las cuales los modelos matemáticos son resueltos usando solamente operaciones aritméticas, … tediosos cálculos aritméticos. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: itsbasicas/ada

Métodos NuméricosUNIDAD 1

www.itsbasicas.com/ada

Page 2: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Técnicas mediante las cuales los modelos matemáticos son resueltos usando solamente operaciones aritméticas, … tediosos cálculos aritméticos.

Las computadoras son máquinas “tontas” que sólo hace lo que se le ordena; los tediosos cálculos numéricos los hacen muy rápido y muy bien, sin fastidiarse.

Por eso, para el ingeniero moderno, los métodos numéricos implican:

El uso de calculadoras graficadoras; El manejo de hojas de cálculo en PC; La programación en lenguaje “C”, “Basic” o “Fortran” La utilización de software matemático especializado:

“Maple”, “MatLab”, “MathCad”, “Mathematica”.

Page 3: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Los métodos numéricos antes de

la computadora: El ábaco

Los nudos incas

Los nomogramas

La regla de cálculo

Page 4: itsbasicas/ada

Métodos NuméricosUNIDAD 1

El propósito del curso será estrictamente de carácter formativo: disciplina mental, que estimula el desarrollo de algunas habilidades del pensamiento. Encontraremos, juntos, los elementos para evaluar objetivamente si tal propósito se logra y en qué medida.

Los contenidos informativos, serán aprendidos, no para aprobar cada examen, sino para apropiarse de lo esencial, del conocimiento fundamental que permita al estudiante y al futuro ingeniero disponer de herramientas prácticas que le permitan resolver problemas modelados matemáticamente.

Habrá que garantizar el dominio de los conceptos matemáticos fundamentales, para que la asimilación promedio, a mediano y largo plazos, sea significativa, para que esos conceptos se les quedan almacenadas en la memoria e impregnadas en las células de por vida, para ser usadas siempre, cuando lo requieran.

ESTE CURSO DE MÉTODOS NUMÉRICOS

Page 5: itsbasicas/ada

Métodos NuméricosUNIDAD 1

El alumno tendrá grandes posibilidades de aprendizaje por

descubrimiento, pues el profesor actuará como facilitador en el

proceso de aprendizaje, reforzando, respondiendo y orientando, y

no asumirá el papel tradicional de transmisor único de toda la

información hacia el alumno.

Para garantizar su éxito en este curso, el alumno será el

responsable de su propio aprendizaje, aplicado, autosuficiente y

esforzado, como actor principal del proceso educativo.

Únicamente haremos algunas definiciones formales y solo los

teoremas más importantes serán demostrados con rigor.

Exploraremos varias técnicas y métodos para resolver un mismo

tipo de problema, aunque no para mecanizarlos, sino para

compararlos entre si, e inducir al alumno a distinguir diferencias

entre ellos y a descubrir otras posibilidades.

Page 6: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Repaso histórico1. Antigüedad: contaban con piedrecillas; en latín, “calculus” significa piedrecilla.

2. Egipcios y babilonios: generaron procedimientos prácticos de cálculo, relativamente evolucionados, en agrimensura, metrología y astronomía.

3. Griegos. Integraron las reglas empíricas en un sistema teórico, pero su sistema de numeración lo limitaba al uso de regla y compás.

4. Siglo XVI: Los árabes introdujeron a Europa la numeración india en plena expansión cultural renacentista, se desarrollaron el álgebra simbólica y los logaritmos.

5. Siglo XVII: Descartes creó la geometría analítica, que permitió el cálculo numérico exacto, sentando las bases del cálculo infinitesimal, creado por Newton y Leibniz, y origen del análisis matemático moderno.

6. Siglo XX: El cálculo numérico y los métodos de cálculo aproximado han recibido un gran impulso, soportados ahora por poderosos equipos y programas de cómputo.

Page 7: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Antecedentes

Los métodos numéricos tienen, al menos, unos 2,500 años de historia Ya en el siglo VI a.C., Tales de Mileto y Pitágoras de Samos

se percataron de la importancia del estudio de los números, para poder entender al mundo.

Demócrito calculó el volumen de pirámides y conos, considerándolos formados por un numero infinito de secciones de grosor infinitesimal.

Eudoxo y Arquímedes utilizaron el método del agotamiento para encontrar el área del círculo.

Page 8: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Sistemas numéricos. Los números son los mismos en todos lados. Sus nombres y su simbología podrán ser diferentes, pero tienen el mismo significado. Los pueblos primitivos aprendieron a contar con los dedos, con los que no podían alcanzar cifras elevadas, pero si las suficientes para satisfacer sus necesidades. Si querían recordar algunos números, hacían incisiones en un palo o marcas en una roca.

Page 9: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Hoy en día al usar la computadora para obtener soluciones se pueden aproximar los cálculos sin tener que recurrir a técnicas lentas, aunque las soluciones analíticas son muy valiosas ya que proporcionan una mayor comprensión.

IMPORTANCIA DE LOS METODOS NUMERICOS

1. Los métodos numéricos son herramientas poderosas para la solución de problemas, aumentando la habilidad de quien los estudia para resolver problemas.

2. En el transcurso de la carrera se usaran software disponibles comercialmente. Pero el uso inteligente de estos depende del conocimiento de la teoría básica de cada uno de ellos.

3. Hay problemas que no se pueden plantear con software comerciales, entonces si conoces los métodos y la programación tendrán la capacidad de diseñar sus propios programas.

Page 10: itsbasicas/ada

Métodos NuméricosUNIDAD 1

El uso de los métodos numéricos en ingeniería no es trivial,

pues se requiere elegir entre:

Varios métodos numéricos alternativos para cada tipo de

problema

Varias herramientas tecnológicas

Existen diferentes maneras de abordar los problemas entre

una persona y otra, que depende de:

El nivel de participación en el modelado matemático del

problema

Ingenio y creatividad para enfrentarlo y resolverlo

La habilidad para elegir, conforme a criterio y experiencia

Page 11: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Tipo de problema a resolver: Raíces de ecuaciones Sistemas de ecuaciones lineales simultáneas Interpolación, diferenciación e integración Ecuaciones diferenciales ordinarias Ecuaciones diferenciales parciales Otros (no contemplados en este curso; vistos en otras

asignaturas) Equipo:

Supercomputadora Computadora personal Calculadora graficadora Calculadora científica de bolsillo Regla de calculo

Las herramientas de cómputo sonmáquinas “tontas” que sólo hacen lo que se le ordena; sin embargo, lostediosos cálculos numéricos los hacenmuy rápido y muy bien, sin fastidiarse.

Page 12: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Tipo de problema

Modelo matemático

Método numérico

Page 13: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Equipo

Computadora

Calculadora

Page 14: itsbasicas/ada

Métodos NuméricosUNIDAD 1

“Software” Desarrollo de programas:

lenguaje “C” “Basic” “Fortran” Otro.

Utilización de software matemático: “Maple”, “MatLab”, “MathCad”, “Mathematica”.

El manejo de hojas de cálculo en PC: Excel Lotus

Manejo expedito de una calculadora graficadora

Page 15: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Software

Desarrollo de programas

Software matemático

Hoja de cálculo

Calculadora graficadora

Page 16: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Método numérico: no existe el mejor, pero si los favoritos

Amplitud de aplicación Amigabilidad Estabilidad Rapidez de convergencia Número de valores iniciales requeridos

Se ha de tomar en cuenta, además Complejidad del modelo Turbulencia de los datos Ingenio y creatividad

Page 17: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Los pasos para la resolución de un problema son:

1. Diseño del algoritmo que describe la secuencia ordenada de pasos.2. Expresar el algoritmo con un programa en un lenguaje de

programación adecuado.3. Ejecución y validación del programa por la computadora.

Los algoritmos son independientes tanto del lenguaje de programación en que se expresen como de la computadora que los ejecute. En cada algoritmo se puede expresar diferente pero deberá tener el mismo resultado.

También los algoritmos son particularmente útiles en el caso de problemas sencillos o para especificar las tareas de una larga programación.

Page 18: itsbasicas/ada

Métodos NuméricosUNIDAD 1

ALGORITMOS

Las técnicas numéricas se acompañan por material relacionado con su implementación efectiva en computadoras. Se proporcionan algoritmos en métodos.

Un algoritmo es un método para resolver un problema. Es la secuencia de pasos lógicos necesarios para llevar a cabo una tarea especifica, como la resolución de un problema.

Resolución de un problema

ProblemaDiseño del algoritmo

Programa de computadora

Page 19: itsbasicas/ada

Métodos NuméricosUNIDAD 1

TIPOS DE DATOSUn dato es la expresión general que describe los objetos con los cuales opera una computadora. Los datos se clasifican en: simples (sin estructura) y compuestos (estructurados)

DATOS

Simples

Compuestos

•Numéricos (integer, real),•Lógicos (boolean),•Carácter(char, string).

•Estáticos

•dinámicos

•Array, registro archivo, conjunto, cadena.

•Lista, lista enlazada, árbol, grafo.

Page 20: itsbasicas/ada

Métodos NuméricosUNIDAD 1

SE verán los datos simples:DATOS NUMERICOS. Es el conjunto de valores numéricos.Se pueden presentar en:•Tipo numérico entero (integer).•Tipo numérico real (real)

Enteros: es un subconjunto finito de los números enteros. (5,6,4,20,1340,etc)Se denominan en ocasiones números de punto o coma fija. Reales: es un subconjunto de los números reales. Siempre tienen un punto decimal y pueden ser negativos o positivos. Consta de una parte entera y una decimal.Y se pueden representar con notación exponencial. En donde la mantisa (parte decimal) al numero real y el exponente (parte potencial) el de la potencia de 10.

mantisa 36.75201exponente 18

1836.75201 10x

Page 21: itsbasicas/ada

Métodos NuméricosUNIDAD 1

DATOS LOGICOS(BOOLEANOS):El tipo lógico, es aquel dato que solo puede tomar uno de dos valores:CIERTO O VERDADERO (true) y FALSO (false).

DATOS TIPO CARÁCTER Y TIPO CADENAEl tipo carácter es el conjunto finito y ordenado de caracteres que la computadora reconoce. Un dato tipo carácter contiene un solo carácter.Ejemplos:•Caracteres alfabéticos ( A,B,C,D,E) (a,b,c,d,e)•Caracteres numéricos (1,2,3,5,6)•Caracteres especiales ( +,-,*,/,;, <,>, $......)

Una cadena(string) de caracteres es una sucesión de caracteres que se encuentran delimitados por una comilla o dobles comillas, según el tipo de lenguaje de programación.La longitud de una cadena de caracteres es el número de ellos comprendidos entre los separadores o limitadores. Ejemplo:‘Hola Mortimer’‘8 de octubre de 1980’

Page 22: itsbasicas/ada

Métodos NuméricosUNIDAD 1

CONSTANTES Y VARIABLES

Constantes: es una partida de datos que permanecen sin cambios durante todo el desarrollo de un algoritmo o durante la ejecución de un programa.Variable: en una partida de datos que puede cambiar durante el desarrollo del algoritmo o ejecución del programa. (enteras, reales, carácter, lógicas y de cadena).

EXPRESIONES ARITMETICAS

Operadores Operador Matlab Significado

-.^, ** ^ Exponenciación

+ + Suma

- - Resta

* / *, / Multiplic. Y división

div División entera

mod Modulo resto

Page 23: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Reglas de prioridad:1. Paréntesis, primero los mas internos.2. Exponenciación de izquierda a derecha3. Multiplicación y división, e izquierda a derecha.4. Suma y resta de izquierda a derecha.

Ejemplos: 3+6*14 = 3+84 = 878+7*3+4*6 = 8+ 21 + 24 = 53-4*7+2^ 3 / 4 – 5 = -28 + 8/4 – 5 = -28 + 2 – 5 = -31Expresar axb = a*b5.(x+y) = 5* (x+y)a²+b² = a^2+b^2

Page 24: itsbasicas/ada

Métodos NuméricosUNIDAD 1

OPERADORES RELACIONALES

OPERADORES LOGICOS

Operador Matlab Significado

< < Menor que

> > Mayor que

= == Igual que

<= <= Menor o igual que

>= >= Mayor o igual que

<> ~ = No igual

operador Símbolos matlab Significado

no(not) ~ Negación

y (and) & Conjunción

o (or) / Disyunción

Page 25: itsbasicas/ada

Métodos NuméricosUNIDAD 1

SENTENCIAS DE ASIGNACION, LECTURA Y SALIDA.La sentencia de asignación es el modo de darle valores a una variable. Se representa con el símbolo de . Puede cambiar el símbolo de acuerdo a cada lenguaje. Pero se vera para redactar un logaritmo en sencillos programas.

A 5 significa que la variable A se le asignado el valor 5.

La acción de asignar es destructiva, ya que el valor que tuviera antes de la asignación se pierde y se reemplaza por el nuevo valor. Ejemplo:

A 25A 134A 5

Cuando se ejecutan el valor ultimo que toma A será 5.

Page 26: itsbasicas/ada

Métodos NuméricosUNIDAD 1

TIPOS DE EXPRESIONES DE ACCIONES DE ASIGNACIONAsignación aritmética

3 14 8

1 14.5 8

2 0.75*3.4

1/ 2

AMN

TER

TER

COCIENTE TER TER

AMN tomara el valor de 25

COCIENTE es (14.5+8)/(0.75*3.4)

Asignación lógicaSupóngase que M,N Y P son variables tipo lógico.

Asignación de cadenaLa expresión que se evalúa es: x ´12 de octubre de 1980´ Esta asigna a x el valor 12 de octubre de 1980.

8 5

(7 12)

7 6

M

N Mo

P

Al evaluar las operaciones, las variables tomaran los valores: falso, verdadero, verdadero.

Page 27: itsbasicas/ada

Métodos NuméricosUNIDAD 1

En las asignaciones no se pueden asignar valores a una variable de un tipo diferente del suyo. Se presentara un error si se trata de asignar valores de tipo carácter a una variable numérica o un valor numérico a una variable tipo carácter.

ASIGNACION DE LECTURA Y SALIDA.La operación de entrada permiten leer determinados valores y asignarlos a determinadas variables. Esta entrada se conoce como de lectura (read). La operación de salida se denomina escritura (write).

Ejemplo :LEER (A,B,C)Representa la lectura de 3 valores de entrada a las variables A, B Y C.ESCRIBIR (´hola ingenieros´)Visualiza en pantalla el mensaje hola ingenieros.

Page 28: itsbasicas/ada

Métodos NuméricosUNIDAD 1

SENTENCIAS DE SELECCIÓN Y REPETICION

Instrucción de selección: Permiten que la selección de tareas alternativas en función de los resultados de diferentes expresiones condicionales. Nos permiten hacer una pregunta o probar una condición para determinar que pasos se ejecutaran a continuación.

si nocondición

Acción F2Acción F1

FORMA GENERAL DE LA INSTRUCCIÓN IF: If expresión lógica instrucciones end

Page 29: itsbasicas/ada

Métodos NuméricosUNIDAD 1

SENTENCIAS DE SELECCIÓN Y REPETICION

Instrucción de repetición: Instrucciones que permiten la repetición de secuencias de instrucciones de un numero determinado o indeterminado de veces.

Acciones

condiciónfalsa

verdadera

Page 30: itsbasicas/ada

Métodos NuméricosUNIDAD 1

ARREGLOSUn arreglo(matriz o vector) es un conjunto finito y ordenado de elementos homogeneos, es decir del mismo tipo de datos. El subindice de un elemntos desinga su posicion en la ordenacion del vector. El numero de elementos de un vector se denomina rango del vector.

Ejemplo: Consideremos un vector x de ocho elementos

Operaciones basicas con vectores.

X[1] X[2] X[3] X[4] X[5] X[6] X[7] X[8]

14.0 12.0 8.0 7.0 6.41 5.23 6.15 7.25

Acciones Resultados

Escribir (X[1]) Visualiza el valor de X[1] O 14.0

X[4] = 45 Almacena el valor 45 en X[4]

SUMA = X[1] + X[3] Almacena en suma 22.0.

SUMA= SUMA + X[4] Añade en la variable suma el valor 67.0

X[5] = X[5] + 3.5 Suma 3.5 a 6.41 es X[5] igual a 9.91

X[6] = X[1] + X[2] Almacena la suma en x[6] el valor 26

Page 31: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Arreglos con Matlab.

Ejemplo: A= [2 5 6] B= [2 3 5]Multiplicacion seria: C= A.*B;C= [4 15 30 ]

Operación Forma alegebraica Matlab

Suma a+b a + b

Resta a-b a – b

Multiplicacion a x b a.*b

Division a/b a./b

ezponenciacion aⁿ a.^n

Page 32: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Tambien Matlab se aplica con matrices con filas y columnas:

D= [1:5; - 1: - 1;-5];P= D-*5Q= D.^3;

D= [ 1 2 3 4 5] [ -1 -2 -3 -4 -5]P= [ 5 10 15 20 25] [-5 -10 -15 -20 -25]Q= [ 1 8 27 64 125] [-1 -8 -27 -64 -125]

Page 33: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Etapa de prueba: Consiste en chequear el algoritmo paso a paso para estar seguro si la solución da solución verdaderamente el problema. (Prueba de escritorio).

Etapa de implementación específica: Consiste en traducir el algoritmo a un lenguaje de programación. (Codificar).

Etapa de prueba: Consiste en ejecutar el programa en un computador y revisar los datos arrojados para ver si son correctos y hacer los ajustes necesarios. (Implementar)

Page 34: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Se puede decir que un lenguaje de programación es el intermediario entre lamáquina y el usuario para que este último pueda resolver problemas a través de la computadora haciendo uso de palabras (funciones) que le traducen dicho programa a la computadora para la realización de dicho trabajo.

Existe una estructura básica que cada programa debe seguir (Estructura de un programa) y el compilador es estricto a la hora de hacer cumplir estas reglas. Un programa ha de ser codificado en varias partes y cada una de ellas debe ir en el lugar que le corresponde.

La idea fundamental del lenguaje es crear programas que sean comprendidos sin necesidad de emplear docenas de páginas de diagramas de flujo y miles de explicaciones. Esta manera de realizar los programas es a lo que denomina como "PROGRAMACIÓN ESTRUCTURADA".

Page 35: itsbasicas/ada

Métodos NuméricosUNIDAD 1

La programación estructurada le permite realizar pequeñas rutinas específicas para cada tarea que se quiera realizar, y a cada una de esas rutinas se les da un nombre (Identificador) para cuando el programador la requiera sólo la llame con su nombre y automáticamente se ejecutará.

Un programa codificado o escrito bajo cualquier lenguaje de programación estructurado consta básicamente de dos secciones:

· Sección encabezado· Sección cuerpo de programa

Page 36: itsbasicas/ada

Métodos NuméricosUNIDAD 1

La sección de encabezado es usada para declarar, mencionar o identificar las variables con sus respectivos tipos y/o las constantes que se vayan a utilizar en el desarrollo del programa, así como también el nombre de las funciones y/o los procedimientos que ejecutarán las instrucciones de los diferentes algoritmos que va a tener dicho programa.

En la sección cuerpo de programa realmente se describen todos los procedimientos y/o funciones que se van a ejecutar dentro del programa así como también el código del programa principal.

Page 37: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Definición de variables:Una variable es un nombre asignado a una posición de almacenamiento de datos.El programa utiliza variables para guardar varios tipos de datos durante laejecución del programa.

Las variables se pueden declarar en la zona de encabezado de un programa o al inicio de una función o un procedimiento.

Variables en MATLABNo requieren ser declaradasSu tipo depende del valor asignadoPueden ser redefinidasSensible al tipo de letra (mayúsculas o minúsculas)ans es la variable por omisión provista por MATLABMatlab realiza la asignación de memoria a variables durante la ejecución.

Page 38: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Declaración de variables son:En Matlab se manejan casi los mismo datos que manejan en el lenguaje c. Parasaber que tipo de formato vasta simplemente con digitar en el prompt del MatLab la instrucción help format y enter (¿). Se mostrará una pantalla con información sobre formatos utilizados en MatLab.» help format (enter)FORMAT Set output format.

FORMAT Por defecto, es lo mismo que short.FORMAT SHORT formato de punto fijo con 5 dígitos.» pi ans = 3.1416FORMAT LONG formato de punto fijo con 15 dígitos.» pi ans = 3.14159265358979FORMAT SHORT E formato exponencial con 5 dígitos.» pi¿ ans = 3.1416e+000FORMAT LONG E formato exponencial con 15 dígitos» pi¿ ans = 3.141592653589793e+000FORMAT + Establece formato de solo signos mas o menosFORMAT COMPACT Establece formato de forma compactaFORMAT LOOSE Establece formato de forma no compacta.

Page 39: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Definición de función:Una función es una sección de código independiente y auto contenida que es escrita para ejecutar determinada tarea. Cada función tiene un nombre y el código de cada función es ejecutado incluyendo el nombre de la función, en una instrucción de programa. A esto se le llama llamado de la función.

La función denominada producto, es una función definida por el usuario. Tal como lo indica su nombre las funciones definidas por el usuario son escritas por el programador durante el desarrollo del programa.

Las funciones de biblioteca ejecutan la mayoría de las tareascomunes (como la entrada /salida de la pantalla el teclado y disco) que necesita el programa.

En el caso de otra interfaces como MatLab los comentarios simplemente se declaran iniciando la línea con un %

Page 40: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Funciones en MATLABEn general una función en los lenguajes de programación es un conjunto de instrucciones que se escriben separadamente del programa y que realizan alguna tarea especificada. Los usuarios pueden definir funciones y agregarlas a las funciones propias de MATLAB.

El mecanismo usual para trasmitir datos a las funciones es mediante una lista de variables que se denominan parámetros.Estructuras de control de flujo en MATLABInstrucciones de Entrada y Salida

Ingreso de un dato desde el teclado:variable=input(‘mensaje’); Ej. x = input('ingrese un dato ');  Salida de un resultado a la pantalla:disp(valor)

Ej.x=exp(2);disp(x);

Page 41: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Flujo de sentencias:Es la declaración de todas las instrucciones que conforman un programa. Todaslas sentencias van separadas por (;), en renglones separados o de maneraseguida.

Una función puede entregar más de un resultadoLas variables que entregan los resultados deben definirse entre [ ]

Page 42: itsbasicas/ada

Métodos NuméricosUNIDAD 1

La principal razón para que las personas aprendan lenguajes de programación es utilizar la computadora como una herramienta para la resolución de problemas.

Dos fases pueden ser identificadas en este proceso.1. Fase de resolución del problema2. Fase de implementación en una microcomputadora.

El resultado de la primera fase es el diseño de un algoritmo para resolver elproblema.

La última forma de describir el algoritmo es a lo que se ledenomina PROGRAMA.

DISEÑO DE PROGRAMAS:El diseño de programas no es tarea difícil. Un programa se construye teniendo en cuenta dos cosas que me facilitan cualquier lenguaje de programación: LasEstructuras de Programación y las Estructuras de Datos.

Page 43: itsbasicas/ada

Métodos NuméricosUNIDAD 1

En la fase de resolución de cada uno de los ejemplos se incluyen etapas así:1. Análisis del problema2. Diseño del algoritmoDiagrama de flujoSeudo lenguajeCódigo3. Verificación o prueba de escritorio.

En esencia el diagrama de flujo es un medio de Presentación visual y gráfica deflujo de datos, a través de un algoritmo, las operaciones ejecutadas dentro delsistema y la secuencia en que se ejecutan

Page 44: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Page 45: itsbasicas/ada

Métodos NuméricosUNIDAD 1

ESTRUCTURAS DE PROGRAMACIÓNSon aquellas que le permiten a un usuario ejecutar tareas que a la final le permiten dar solución aproblemas que se quieran resolver usando microcomputadoras.En general se puede decir que las estructuras de programación son herramientasque el lenguaje le provee al usuario para solucionar problemas haciendo uso decomputadoras.

Las estructuras de programación que tienen la mayoría de los lenguajes soncuatro así:

Estructuras de AsignaciónEstructuras de DecisiónEstructuras CíclicasEstructuras de Selección múltiple.

Page 46: itsbasicas/ada

Métodos NuméricosUNIDAD 1

MATLAB (Matrix Laboratory) es un programa interactivo de uso general en Ciencias e Ingeniería.La interacción se realiza mediante instrucciones (comandos), y también mediante funciones y programas (scripts). Los objetos básicos con los cuales opera MATLAB son matrices. La especificación y asignación de cada variable la realiza MATLAB en forma dinámica y eficiente, por lo que no son necesarias las declaraciones de variables de algunos lenguajes de computación convencionales.

Características de MATLAB•Cálculo numérico rápido y con alta precisión•Manejo simbólico•Traficación y visualización avanzada•Programación mediante un lenguaje de alto nivel•Programación estructurada y orientada a objetos•Soporte básico para diseño de interfaz gráfica•Extensa biblioteca de funciones •Aplicaciones especializadas para algunas ramas de ciencias e ingeniería (toolboxes)Operación•Simple y eficiente•Interactivo•Sistema de ayuda en línea•Interacción con otros entornos

Page 47: itsbasicas/ada

Métodos NuméricosUNIDAD 1

El entorno de MATLAB está organizado mediante ventanasCommand Window: es la ventana de comandos para ejecución de instruccionesCommand History: es el registro de los comandos que han sido ingresados.

Page 48: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Workspace: contiene la descripción de las variables usadas en cada sesión.Inicialmente, se sugiere dejar activa únicamente la ventana de comandos, cerrando las otras ventanas con el botón x. Para restaurarlas use la opción view de la barra de herramientas de MATLAB.

Los ejemplos de este manual debe probarlos en la ventana de comandosEl símbolo >> indica que el programa está listo para recibir sus instrucciones.Escriba cada ejemplo y presione la tecla de ingreso para finalizar.MATLAB muestra el resultado inmediatamente, o un mensaje si hubo algún error.

Page 49: itsbasicas/ada

Métodos NuméricosUNIDAD 1

El sistema de ayuda de MATLABOfrece una descripción detallada del uso de cada comando.

>> help despliega temas de ayuda

>> help ops despliega comandos de un tema. Ej. lista de operadores

>> help exp uso de un comando específico. Ej. función exponencialAdicionalmente, presionando el ícono Help usted puede entrar al sistema de ayuda de MATLAB organizado por contenido, índice, búsqueda y demostraciones.

Page 50: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Exhibición de textos y valores: Podemos usar la función disp para exhibir texto encerrado por apóstrofos; también para exhibir el contenido de una matriz.

Salidas con formatos: El comando fprintf nos permite tener mas control de salida y va seguido de los nombres de las matrices por exhibir, o los datos. Se usan los especificadores %e, %f y %g para indicar donde se exhibirán los valores. Si se usa %e los valores se escriben en notación exponencial; si se usa %f, se exhiben con notación decimal; y si se usa %g, los valores se usaran %f o %e, el que sea mas corto.Si aparece la cadena \n, se exhibirá la línea especificada hasta ese punto y el resto de la información se exhibirá en la siguiente línea. Lo mas usual es que el formato termine con \n.Ejemplo: fprintf(‘la temperatura es %f grados F \n,’ temp’)La salida será: la temperatura es 78.000000 grados F

Page 51: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Si este ejercicio lo desea correr bajo MatLab tiene que guardarlo en un archivo tipo m en el directorio Work de Matlab o en el directorio donde haya configurado en Set Path de la Opción de menú File. Una vez guardado bajo cualquier nombre, entonces simplemente en el prompt del matlab lo ejecutallamando el archivo por el nombre guardado.

promedio=0;n=input('Dame el 1 número:');promedio=promedio+n;n=input('Dame el 2 número: ');promedio=promedio+n;n=input('Dame el 3 número: ');promedio = promedio+ n;promedio = promedio/3;fprintf('El promedio es %f \n',promedio);fprintf('Presione tecla para terminar...\n'); pause

Page 52: itsbasicas/ada

Métodos NuméricosUNIDAD 1

TIPOS DE DATOS BOOLEANAlgunos lenguajes de programación poseen este tipo de dato. El tipo boolean sólo tiene dos valores posibles: False (00) ó True(01). Una variable que se declare de tipo boolean tendrá asignado siempre uno de los dos valores, o verdadero o falso, y ocupa un solo byte de memoria RAM.Program lógica;

Beginop := 2<3; {toma el valor de True}If op thenWrite('verdadero! 2 es menor que tres')elsewrite('El computador está loco!');End;

Page 53: itsbasicas/ada

Métodos NuméricosUNIDAD 1

PLANTEAMIENTOS Y EJECUCIÓN DE PROGRAMAS

Cuando se inicia en el fascinante mundo de la programación de computadoras, es necesario a la hora de construir algoritmos primero que todo intentar plantear al nivel de símbolos dicha solución. A la construcción con los símbolos indicados es a lo que se conoce con el nombre de Diagrama de flujo. Recuerde que un algoritmo es la secuencia lógica de pasos que se sigue en la solución de un problema determinado.

En los siguientes ejercicios se verá la forma de aplicar la simbología de losdiagramas de flujo en la solución de problemas de tipo matemático sencillos.Para dar solución a este ejercicio es necesario realizar tres tareas:

1.Leer los valores que para el caso concreto del ejemplo son dos (2), Calcular la suma de dichos valores y por último escribir el resultado obtenido de dicha suma. Cada una de las tareas planteadas se enmarcan dentro de un símbolo utilizado en diagramación así:

Page 54: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Page 55: itsbasicas/ada

Métodos NuméricosUNIDAD 1

EN MATLAB:

A=input(‘leer a’);B=input(‘leer b’);C=a+b;Fprintf(C)

Page 56: itsbasicas/ada

Métodos NuméricosUNIDAD 1

2. Desarrolle un algoritmo que le permita leer un valor entero, calcular sucuadrado y escribir dicho resultado.

Análisis:En el ejercicio planteado, se puede identificar como tareas a realizar, cada una de las tres acciones solicitadas. Leer, Calcular y Escribir.

Page 57: itsbasicas/ada

Métodos NuméricosUNIDAD 1

EN MATLAB

% Cuadrado de un numero entero;n=input(‘Dame el numero N ‘);R=n^2;Disp(‘el cuadrado de N es’); disp(R)

Page 58: itsbasicas/ada

Métodos NuméricosUNIDAD 1

3. Desarrolle un algoritmo que le permita leer un valor para radio (R), calcular elárea (A) de un círculo A = p * R² y escribir su valor.

Análisis: En el ejercicio se identifican como tareas las tres acciones solicitadas. Leer, Calcular y Escribir. Cada uno de los procesos mencionados se describen en el símbolo respectivo quedando el diagrama de flujo de la siguiente manera.

Page 59: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Seudo código:InicioLeer( R)A = p*R²Escribir (A)Finalizar

En MATLAB%Área de un circulo;R=input(‘Cual es el radio del circulo:’);Format shortA=pi*r^2;Disp(‘el área del circulo es: ‘); disp(a)

R=____

Page 60: itsbasicas/ada

Métodos NuméricosUNIDAD 1

4. Determinar la hipotenusa de un triángulo rectángulo conocidas las longitudes de sus dos catetos. Desarrolle los correspondientes algoritmos.

Page 61: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Seudo códigoEn el seudo código se dejan planteadas las operaciones tal y cual se hizo en eldiagrama de flujo o en el seudo lenguaje.Inicio

MATLAB%La hipotenusa del Triangulo con los catetos A y B;catA=input(‘El cateto A: ‘);cAtB=input(‘El cateto B: ‘);format longhip=sqrt(CatA^2+CatB^2);Disp(‘La hipotenusa del triangulo es:’); disp(Hip) o o %poner %fprintf('El valor de HIPOTENUSA = %f \n',hip);

Page 62: itsbasicas/ada

Métodos NuméricosUNIDAD 1

5. Desarrolle un algoritmo que le permita leer un valor que represente una temperatura expresada en grados Celsius y convierta dicho valor en un valor expresado en grados Fahrenheit.

Análisis: En el ejercicio planteado, las tareas a realizar son: Leer, convertir y Escribir.

Tareas:Leer la temperatura en grados CelsiusCalcular la conversión a grados FahrenheitEscribir el valor encontrado

°C°F

Page 63: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Page 64: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Bajo MatLab, guarda el siguiente código en un archivo y lo llama desde el prompt del MatLab.%La conversión de Grados Celsius a Grados Fahrenheit C = input('Digite el valor expresado en Grados °C : ');f = c*9/5+32;fprintf('El valor en grados Fahrenheit es : %8.3f\n', f);

Nota: El formato 8.3f indica se utilizarán 8 espacios para escribir el valor de la variable f, y de los ocho espacios se utilizan 3 campos para los decimales. El \n indica que cuando termine salte el prompt a una nueva línea (New Line). Si se omite la instrucción \n entonces el prompt quedara unido a la último digito escrito del valor f.

Page 65: itsbasicas/ada

Métodos NuméricosUNIDAD 1

6. Desarrolle un algoritmo que le permita calcular el área de un triángulo en función de las longitudes de sus lados previamente leídos desde el teclado.

Análisis:Para darle solución al problema planteado primero se leen los valores de los tres lados del triángulo, luego se procede a calcular el valor de su área en función de los valores leídos, aplicando la fórmula correspondiente y por último se da orden de escribir el valor calculado.

Tareas:Leer los ladosCalcular el áreaEscribir el valor calculado

Page 66: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Page 67: itsbasicas/ada

Métodos NuméricosUNIDAD 1

En MAtLab se guardará las siguientes líneas en un archivo yluego se llama para ser ejecutado.

%El área del un triangulo:;A = input('Digite el cateto a : ');b = input('Digite el cateto b : ');c = input('Digite el cateto c : ');p = (a+b+c)/2;area = sqrt(p*(p-a)*(p-b)*(p-c));fprintf('El valor del área es : %8.3f\n', área);

Page 68: itsbasicas/ada

Métodos NuméricosUNIDAD 1

7. Desarrolle un algoritmo que le permita determinar el área y volumen de un cilindro cuyo radio (R) y altura (H) se leen desde teclado.

Análisis: Para dar solución al ejercicio planteado es necesario leer el valor del radio y el valor de la altura del cilindro desde algún medio de entrada de datos a la computadora, generalmente el teclado. Una vez se tengan almacenados los dos valores en memoria del computador se procede a calcular el área y el volumen aplicando las fórmulas respectivas.

Tareas:IniciarLeer valores de R y HCalcular el volumen y áreaEscribir los valores respectivosFinalizar

Page 69: itsbasicas/ada

Métodos NuméricosUNIDAD 1

Page 70: itsbasicas/ada

Métodos NuméricosUNIDAD 1