catedra metodos numericos 02
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