catedra metodos numericos 02

Upload: punkdark

Post on 06-Jul-2018

241 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/16/2019 catedra metodos numericos 02

    1/32

    METODOSNUMERICOS

    Ingeniería Civil

    ING. CRISTIAN CASTRO P.

    Facultad de Ingeniería de Minas, Geología y CivilDepartamento académico de ingeniería de minas y civil

    CATEDRA 0

    2

  • 8/16/2019 catedra metodos numericos 02

    2/32

     apitulo II

     Herramientas de Cálculo

    ING. CRISTIAN CASTRO P.

  • 8/16/2019 catedra metodos numericos 02

    3/32

  • 8/16/2019 catedra metodos numericos 02

    4/32

    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.

  • 8/16/2019 catedra metodos numericos 02

    5/32

    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.

  • 8/16/2019 catedra metodos numericos 02

    6/32

    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.

  • 8/16/2019 catedra metodos numericos 02

    7/32

    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

  • 8/16/2019 catedra metodos numericos 02

    8/32

    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.

  • 8/16/2019 catedra metodos numericos 02

    9/32

    Características de los Productos

    de Software

    • Mantenibles.

    Debe ser posible que el software evolucione y que sigacumpliendo 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.

  • 8/16/2019 catedra metodos numericos 02

    10/32

    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 ?.

  • 8/16/2019 catedra metodos numericos 02

    11/32

    Costos del Software• Los costos del software a menudo dominan al costo

    del 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.

     ostos

     ficiencia

  • 8/16/2019 catedra metodos numericos 02

    12/32

    REPRESENTACION DE LOS NUMEROSEN LA COMPUTADORA

    • ENTEROS

    • REALES

    SISTEMA DE ARITMETICA DE PUNTO FLOTANTE

  • 8/16/2019 catedra metodos numericos 02

    13/32

    Unidades de Medida de MemoriaNombre Abrev. Factor Tamaño en el SI

    kilo 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 E260 =

    1 152 921 504 606 846 9761018 = 1 000 000 000 000 000 000

    zetta Z

    270 =

    1 180 591 620 717 411 303 42

    4

    1021 =

    1 000 000 000 000 000 000 000

    yotta Y

    280 =

    1 208 925 819 614 629 174 706 176

    10

    24

    =1 000 000 000 000 000 000 000 000

    Bronto B 290 = 1024 Yottabytes1027 =

    1 000 000 000 000 000 000 000 000

  • 8/16/2019 catedra metodos numericos 02

    14/32

    Ley de Moore

  • 8/16/2019 catedra metodos numericos 02

    15/32

    Equipo• Computadora

    • Calculadora

    Herramientas de álculo

  • 8/16/2019 catedra metodos numericos 02

    16/32

    Software

    • Desarrollo de programas

    • Software matemático

    • Hoja de cálculo

    • Calculadora graficadora

    Herramientas de álculo

  • 8/16/2019 catedra metodos numericos 02

    17/32

    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 álculo

  • 8/16/2019 catedra metodos numericos 02

    18/32

    Módulos de un Algoritmo

    Datos de entrada

    Módulo 1

    Procesamiento de los datos

    Módulo 2

    Impresión de resultados

    Módulo 3

     Algoritmo

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

    del problema

    Módulo 2: representa la operación o conjunto de operaciones

    secuenciales, cuyo objetivo es obtener la solución del problema

    Módulo 3 : representa una operación o conjunto de operaciones que

    permite comunicar al exterior el o los resultados obtenidos

    Herramientas de álculo

  • 8/16/2019 catedra metodos numericos 02

    19/32

    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 álculo

  • 8/16/2019 catedra metodos numericos 02

    20/32

    Características de unAlgoritmo

    Donald E. Knuth Fundamental Algorithms

    Vol. 1, 2nd edition

    • Finito

    • Definido con Precisión• Entradas

    • Salidas

    • Efectividad

    Herramientas de álculo

    + Sumar

    - Menos

    * Multiplicación

     / División

    ± Mas o menos

    = Equivalente a

    > Mayor que

    < Menor que

    >= Mayor o igual que

  • 8/16/2019 catedra metodos numericos 02

    21/32

    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 álculo

  • 8/16/2019 catedra metodos numericos 02

    22/32

    FORTRAN

     ALGOL 60 COBOL

    50

    60

    70

    80

    90

    Simula

    SmalltalkPascal

     AdaC

    PL/I

    LISP

    ML

    Miranda

    Prolog

    Historia

    Lenguajes de Programación

  • 8/16/2019 catedra metodos numericos 02

    23/32

    Historia

    1950 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)

         E     N     S     A     M     B     L     A     D     O     R

    Eiffel (86)

     Ada(83)

    Lenguajes de Programación

  • 8/16/2019 catedra metodos numericos 02

    24/32

    PERSPECTIVA HISTÓRICA DE VARIOS LENGUAJES

    Procedimiento de datos

    Propósito General

    Inteligencia artificial

    Procesamiento de texto

    Programación desistemas

    Área deaplicación

    Origenlingüí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 deVon Neumann

    Algol 58 Algol 60

    Ensamblador yLenguajes maquina

    PROLOG

    BASIC

    COBOL 58

    LISP

    LISP 1,5

    SNOBOL

    SNOBOL 3

    SNOBOL 4

    ICON

    ANS AdaAda

    Modula

    Modula-2

    ANSBASIC

    UCSD PascalAPL ANS

    COBOL 68

    PL/I

    ANS

    PL/I

    ANS

    PL/I ANS PL/I(G)

    C

    Lenguajes de Programación

  • 8/16/2019 catedra metodos numericos 02

    25/32

    PERSPECTIVA HISTÓRICA DE VARIOS LENGUAJES

    Lenguajes de Programación

  • 8/16/2019 catedra metodos numericos 02

    26/32

    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 programa

    el cual debe estar almacenado en la unidad de memoria;

    tales como el disco duro.

    • Los lenguajes de programación facilitan la tarea de

    programación, ya que disponen de formas adecuadas

    que permiten ser leídas y escritas por personas.

    Lenguajes de Programación

  • 8/16/2019 catedra metodos numericos 02

    27/32

    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

  • 8/16/2019 catedra metodos numericos 02

    28/32

    Lenguajes de Programación

    Hay lenguajes de programación que utilizan

    compilador 

    QUE ES UN COMPILADOR……..?

    Un compilador es un programa que, a su vez, traduce unprograma escrito en un lenguaje de programación a otro

    lenguaje de programación

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

    lenguaje de nivel inferior.

    Lenguajes de Programación

  • 8/16/2019 catedra metodos numericos 02

    29/32

    Lenguajes de Programación

    Los lenguajes de programación se determinan

    según el nivel

    Nivel Bajo

    Nivel Medio

    Nivel Alto

    Lenguajes de Programación

  • 8/16/2019 catedra metodos numericos 02

    30/32

    ¿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 (re

    adability)

    • 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.

      omparación de Lenguajes

  • 8/16/2019 catedra metodos numericos 02

    31/32

  • 8/16/2019 catedra metodos numericos 02

    32/32

    Muchas Gracias