32
METODOS NUMERICOS Ingeniería Civil ING. CRISTIAN CASTRO P. Facultad de Ingeniería de Minas, Geología y Civil Departamento académico de ingeniería de minas y civil CATEDRA 0 2

Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN

  • Upload
    leque

  • View
    280

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN

METODOS NUMERICOS

Ingeniería Civil

ING.�CRISTIAN�CASTRO�P.

Facultad de Ingeniería de Minas, Geología y Civil

Departamento académico de ingeniería de minas y civil

CATEDRA 02

Page 2: Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN

Capitulo II

Herramientas de Cálculo

ING.�CRISTIAN�CASTRO�P.

Page 3: Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN
Page 4: Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN

Que es el Software ?Programas de cómputo y su documentacion asociada

• Sistemas o Productos de software grandes y complejos.• Que contiene el software.• Que tipos de software hay ?• Cual es el costo del software.• Como se desarrolla el software ?• Como saber si un software tiene calidad.

Page 5: Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN

Que tipos de software hay ?• Por su estructura:

• Funcionales.• Orientados a objetos.• Orientados a listas.• Orientados a componentes.

• Por su función:• Programas o Sistemas de Usuario• Interfaces Hombre-Maquina.• Herramientas de Software.• Librerias.• Sistemas de uso generico: Compiladores, S.O’s, Procesadores

de Texto, etc• Bases de Datos.• Sistemas basados en Web.

Page 6: Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN

Que tipos de software hay ?• Por su plataforma de computo:

• Sistemas embebidos.• Sistemas de computo distribuido.• Sistemas de computo paralelo.• Sistemas de tiempo real.• Sistemas basados en Chips.• Wearable computing systems.• Sistemas de computo ubiquos.

Page 7: Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN

TIPOS DE SOFTWARE• Software de sistemas

• Sistemas operativos• Lenguajes de programación

• Bajo nivel: Lenguaje máquina, Ensamblador• Alto nivel:

• Compilados: Lenguaje C, Pascal, Fortan• Interpretados: Basica, Visual Basic.

• Utilerías

• Software de aplicación• Especializados• De uso general

• Software del usuario final• Sistemas de bases de datos• Generadores de gráfica• Lenguajes de 4ª. Generación• Herramientas RAD• Sistemas adaptables• Sistemas de información geográfica

Page 8: Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN

Que contiene el software ?

• El software contiene:• Líneas de código de algún lenguaje ?• Instrucciones de computadora.• Descripción de las estructuras de datos.• Algoritmos.• Procedimientos y funciones.• Componentes de software.

Page 9: Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN

Características de los Productos de Software

• Mantenibles. Debe ser posible que el software evolucione y que siga

cumpliendo con sus especificaciones.• Confiabilidad.

El software no debe causar danos físicos o económicos enel caso de fallos.

• Eficiencia. El software no debe desperdiciar los recursos del sistema.

• Utilización adecuada. El software debe contar con una interfaz de usuario

adecuada y su documentación.

Page 10: Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN

Características del proceso• Entendible

Se encuentra el proceso bien definido y es entendible ?.• Visible

El proceso es visible al exterior ?.• Soportable

Puede el proceso ser soportado por herramientas CASE ?.• Aceptable

El proceso es aceptado por aquellos involucrados en el ?.

Page 11: Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN

Costos del Software

• Los costos del software a menudo dominan al costodel sistema. El costo del software en un PC es amenudo mas caro que la PC.

• Cuesta mas mantener el software que desarrollarlo.Para sistemas con una larga vida, este costo semultiplica.

• La Ingeniería de Software concierne a un desarrolloefectivo en cuanto a costes del software.

Costos

Eficiencia

Page 12: Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN

REPRESENTACION DE LOS NUMEROS EN LA COMPUTADORA

• ENTEROS• REALES

SISTEMA DE ARITMETICA DE PUNTO FLOTANTE

Page 13: Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN

Unidades de Medida de MemoriaNombre Abrev. Factor Tamaño en el SIkilo K 210 = 1024 103 = 1000

mega M 220 = 1 048 576 106 = 1 000 000

giga G 230 = 1 073 741 824 109 = 1 000 000 000

tera T 240 = 1 099 511 627 776 1012 = 1 000 000 000 000

peta P 250 = 1 125 899 906 842 624 1015 = 1 000 000 000 000 000

exa E 260 = 1 152 921 504 606 846 976 1018 = 1 000 000 000 000 000 000

zetta Z270 = 1 180 591 620 717 411 303 424

1021 = 1 000 000 000 000 000 000 000

yotta Y280 = 1 208 925 819 614 629 174 706 176

1024 = 1 000 000 000 000 000 000 000 000

Bronto B 290 = 1024 Yottabytes 1027 = 1 000 000 000 000 000 000 000 000

Page 14: Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN

Ley de Moore

Page 15: Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN

Equipo• Computadora

• Calculadora

Herramientas de Cálculo

Page 16: Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN

Software• Desarrollo de programas

• Software matemático

• Hoja de cálculo

• Calculadora graficadora

Herramientas de Cálculo

Page 17: Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN

NIVELES DE LENGUAJES DE PROGRAMACIÓN

Bajo Nivel

Lenguajes declarativos(4ª. Generación)

Lenguajes de alto nivel(Compilados o interpretados)

Lenguajes ensambladores

Lenguajes máquina

Alto Nivel

Herramientas de Cálculo

Page 18: Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN

Módulos de un Algoritmo

Datos de entradaMódulo 1

Procesamiento de los datosMódulo 2

Impresión de resultadosMódulo 3

Algoritmo

Módulo 1: representa la operación que permite el ingreso de los datosdel problema

Módulo 2: representa la operación o conjunto de operacionessecuenciales, cuyo objetivo es obtener la solución del problema

Módulo 3 : representa una operación o conjunto de operaciones quepermite comunicar al exterior el o los resultados obtenidos

Herramientas de Cálculo

Page 19: Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN

Algoritmo• Conjunto finito de instrucciones bien definidas para lograr

alguna tarea (objetivo), que dado un estado inicial, terminaráen un estado final una vez alcanzado un criterio.

Ejemplo 1: Torre de Hanoi http://www.wikipedia.org/

• El objetivo es mover todos los discos de su posición inicial a otra guía, obedeciendo las reglas:

• Sólo se puede mover un disco a la vez• Ningún disco se puede poner sobre un disco menor

¿Cuántos pasos para “n” discos?

Herramientas de Cálculo

Page 20: Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN

Características de un Algoritmo

Donald E. Knuth Fundamental Algorithms Vol. 1, 2nd edition

• Finito• Definido con Precisión• Entradas• Salidas• Efectividad

Herramientas de Cálculo

+ Sumar

- Menos

* Multiplicación

/ División± Mas o menos

= Equivalente a

> Mayor que

< Menor que

>= Mayor o igual que

<= Menor o igual que

<> Diferente de

Si

No

True

False

Page 21: Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN

Common Language Runtime

Código fuente

C++, C#, VB o cualquier otro lenguaje

Compilación

Assembly

DLL o EXE(Strong name opcional)

Compilación

Herramientas de Cálculo

Page 22: Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN

FORTRANALGOL 60 COBOL

50

60

70

80

90

SimulaSmalltalk

Pascal

AdaC

PL/I

LISP

ML

Miranda

Prolog

Historia

Lenguajes de Programación

Page 23: Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN

Historia1950 1960 1970 1980 1990

Fortran(54)

PL/I(66)

Ada(95)

Java(96)

Basic(66)

C(72)

Pascal(70)

Cobol(58)

Algol(60)

Simula(67) Smalltalk(80)

C++(89)

ENSA

MB

LAD

OR

Eiffel (86)

Ada(83)

Lenguajes de Programación

Page 24: Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN

PERSPECTIVA HISTÓRICA DE VARIOS LENGUAJES

Procedimiento de datos

Propósito General

Inteligencia artificial

Procesamiento de texto

Programación de sistemas

Área de aplicación

Origen lingüístico 1960 1970 1980

Científica

FORTRAN I FORTRAN II FORTRAN IV ANS

FORTRAN 77FORTRAN IV ANS

FORTRAN Pascal ANS

Pascal

Algebra

Inglés

Lambda

calculo

Algoritmo de Markov

Maquina de Von Neumann

Algol 58 Algol 60

Ensamblador yLenguajes maquina

PROLOG

BASICCOBOL 58

LISP

LISP 1,5

SNOBOL

SNOBOL 3SNOBOL 4

ICON

ANS AdaAda

ModulaModula-2

ANS BASIC

UCSD PascalAPL ANS

COBOL 68PL/I

ANS PL/IANS PL/I ANS PL/I

(G)

C

Lenguajes de Programación

Page 25: Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN

PERSPECTIVA HISTÓRICA DE VARIOS LENGUAJES

Lenguajes de Programación

Page 26: Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN

Lenguajes de Programación• Son herramientas que nos permiten crear programas y

software. Entre ellos tenemos Fortran, C, Delphi, Qbasic,Visual Basic, Pascal, Java, etc..

• Una computadora funciona bajo control de un programael cual debe estar almacenado en la unidad de memoria;tales como el disco duro.

• Los lenguajes de programación facilitan la tarea deprogramación, ya que disponen de formas adecuadasque permiten ser leídas y escritas por personas.

Lenguajes de Programación

Page 27: Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN

Lenguajes de Programación• Los lenguajes de programación se representan en forma

simbólica y en manera de un texto los códigos que podránser leídos por una persona tales como:

1 celulares

2 cajeros Automáticos

3 los mp3

4 Calculadoras

Lenguajes de Programación

Page 28: Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN

Lenguajes de ProgramaciónHay lenguajes de programación que utilizancompilador

QUE ES UN COMPILADOR……..?Un compilador es un programa que, a su vez, traduce unprograma escrito en un lenguaje de programación a otrolenguaje de programación

La razón principal para querer usar un compilador estraducir un programa de un lenguaje de alto nivel, a otrolenguaje de nivel inferior.

Lenguajes de Programación

Page 29: Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN

Lenguajes de Programación

Los lenguajes de programación se determinansegún el nivel

Nivel Bajo

Nivel Medio

Nivel Alto

Lenguajes de Programación

Page 30: Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN

¿Cuáles son los criterios usados?• Tres criterios usados comúnmente cuando se

evalúan los lenguajes de programación son:

• Cuán fácil se pueden leer y entender programas (readability)

• Cuán fácil se pueden escribir programas (writability)• Cuán confiables son los programas (reliability)

• Recuerde: no existe un lenguaje de programación que se pueda clasificar como el mejor de todos. Si existiera, todo el mundo lo usaría.

Comparación de Lenguajes

Page 31: Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN
Page 32: Catedra Metodos Numericos 2013 - UNSCH 02 [Modo … · METODOS NUMERICOS Ingeniería Civil ING.˜CRISTIAN˜CASTRO˜P. ... FORTRAN I FORTRAN II FORTRAN IV ANS FORTRAN IV ANS FORTRAN

Muchas Gracias