Você está na página 1de 32

CATEDRA 0 2

Facultad de Ingeniera de Minas, Geologa y Civil


Departamento acadmico de ingeniera de minas y civil

METODOS NUMERICOS
Ingeniera Civil

ING. CRISTIAN CASTRO P.

Capitulo II Herramientas de Clculo

ING. CRISTIAN CASTRO P.

Que es el Software ?
Programas de cmputo 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.

Que tipos de software hay ?


Por su estructura: Funcionales. Orientados a objetos. Orientados a listas. Orientados a componentes. Por su funcin: Programas o Sistemas de Usuario Interfaces Hombre-Maquina. Herramientas de Software. Librerias. Sistemas de uso generico: Compiladores, S.Os, Procesadores de Texto, etc Bases de Datos. Sistemas basados en Web.

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.

TIPOS DE SOFTWARE
Software de sistemas
Sistemas operativos Lenguajes de programacin
Bajo nivel: Lenguaje mquina, Ensamblador Alto nivel:
Compilados: Lenguaje C, Pascal, Fortan Interpretados: Basica, Visual Basic.

Utileras

Software de aplicacin
Especializados De uso general

Software del usuario final


Sistemas de bases de datos Generadores de grfica Lenguajes de 4. Generacin Herramientas RAD Sistemas adaptables Sistemas de informacin geogrfica

Que contiene el software ?


El software contiene: Lneas de cdigo de algn lenguaje ? Instrucciones de computadora. Descripcin de las estructuras de datos. Algoritmos. Procedimientos y funciones. Componentes de software.

Caractersticas de los Productos de Software


Mantenibles.

Debe ser posible que el software evolucione y que siga cumpliendo con sus especificaciones. El software no debe causar danos fsicos o econmicos en el caso de fallos. El software no debe desperdiciar los recursos del sistema. El software debe contar con una interfaz de usuario adecuada y su documentacin.

Confiabilidad.

Eficiencia.

Utilizacin adecuada.

Caractersticas del proceso


Entendible

Se encuentra el proceso bien definido y es entendible ?. El proceso es visible al exterior ?. Puede el proceso ser soportado por herramientas CASE ?. El proceso es aceptado por aquellos involucrados en el ?.

Visible

Soportable

Aceptable

Costos del Software


Los costos del software a menudo dominan al costo del sistema. El costo del software en un PC es a menudo mas caro que la PC. Costos Cuesta mas mantener el software que desarrollarlo. Para sistemas con una larga vida, este costo se multiplica. La Ingeniera de Software concierne a un desarrollo efectivo en cuanto a costes del software.

Eficiencia

REPRESENTACION DE LOS NUMEROS EN LA COMPUTADORA ENTEROS REALES

SISTEMA DE ARITMETICA DE PUNTO FLOTANTE

Unidades de Medida de Memoria


Nombre kilo mega giga tera peta exa Abrev. K M G T P E Factor 210 = 1024 220 = 1 048 576 230 = 1 073 741 824 240 = 1 099 511 627 776 250 = 1 125 899 906 842 624 260 = 1 152 921 504 606 846 976 270 = 1 180 591 620 717 411 303 42 4 Tamao en el SI 103 = 1000 106 = 1 000 000 109 = 1 000 000 000 1012 = 1 000 000 000 000 1015 = 1 000 000 000 000 000 1018 = 1 000 000 000 000 000 000 1021 = 1 000 000 000 000 000 000 000

zetta

yotta

280 = 1024 = 1 208 925 819 614 629 174 70 1 000 000 000 000 000 000 000 000 6 176 290 = 1024 Yottabytes 1027 = 1 000 000 000 000 000 000 000 000

Bronto

Ley de Moore

Herramientas de Clculo

Equipo
Computadora

Calculadora

Herramientas de Clculo
Software
Desarrollo de programas Software matemtico Hoja de clculo Calculadora graficadora

Herramientas de Clculo
NIVELES DE LENGUAJES DE PROGRAMACIN
Lenguajes declarativos (4. Generacin)

Alto Nivel
Lenguajes de alto nivel
(Compilados o interpretados)

Lenguajes ensambladores

Bajo Nivel
Lenguajes mquina

Herramientas de Clculo

Mdulos de un Algoritmo
Algoritmo Datos de entrada Mdulo 1 Procesamiento de los datos Mdulo 2 Impresin de resultados Mdulo 3

Mdulo 1: representa la operacin que permite el ingreso de los datos del problema Mdulo 2: representa la operacin o conjunto de operaciones secuenciales, cuyo objetivo es obtener la solucin del problema Mdulo 3 : representa una operacin o conjunto de operaciones que permite comunicar al exterior el o los resultados obtenidos

Herramientas de Clculo
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/

Cuntos pasos para n discos?

El objetivo es mover todos los discos de su posicin inicial a o tra gua, obedeciendo las reglas: Slo se puede mover un disco a la vez Ningn disco se puede poner sobre un disco menor

Herramientas de Clculo
Caractersticas de un Algoritmo
Donald E. Knuth Fundamental Algorithms Vol. 1, 2nd edition
+ * / = > < >= <= <> Sumar Menos Multiplicacin Divisin Mas o menos Equivalente a Mayor que Menor que Mayor o igual que Menor o igual que Diferente de Si No True False

Finito Definido con Precisin Entradas Salidas Efectividad

Herramientas de Clculo
Compilacin

Common Language Runtime

Cdigo fuente

Assembly

Compilacin
C++, C#, VB o cualquier otro lenguaje (Strong name opcional) DLL o EXE

Lenguajes de Programacin
Historia
50 60 70 80 90

FORTRAN ALGOL 60 PL/I Simula Pascal Smalltalk C Ada

COBOL LISP Prolog ML Miranda

Lenguajes de Programacin
1950 1960 PL/I(66) 1970 1980 Eiffel (86) Ada(95) Ada(83) Pascal(70) Java(96) Algol(60) C(72) Fortran(54) Simula(67) Smalltalk(80) C++(89) 1990

Historia

Cobol(58) ENSAMBLADOR

Basic(66)

Lenguajes de Programacin
PERSPECTIVA HISTRICA DE VARIOS LENGUAJES
rea de aplicacin Origen lingstico 1960 1970 1980
ANS FORTRAN 77 ANS UCSD Pascal Pascal ANS PL/I (G) FORTRAN I FORTRAN II FORTRAN IV
Cientfica Algebra

Algol 58 Algol 60

FORTRAN IV ANS

BASIC
Procedimiento de datos Propsito General Lambda Inteligencia artificial calculo Ingls

COBOL 58

APL

FORTRAN Pascal ANS ANS BASIC COBOL 68 ANS PL/I PL/I PROLOG

LISP LISP 1,5

Procesamiento de texto

Algoritmo de Markov

SNOBOL 3 SNOBOL
Ensamblador y Lenguajes maquina

ICON SNOBOL 4

Programacin de sistemas

Maquina de Von Neumann

C
Ada Modula

ANS Ada Modula-2

Lenguajes de Programacin
PERSPECTIVA HISTRICA DE VARIOS LENGUAJES

Lenguajes de Programacin
Lenguajes de Programacin
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 programacin facilitan la tarea de programacin, ya que disponen de formas adecuadas que permiten ser ledas y escritas por personas.

Lenguajes de Programacin
Lenguajes de Programacin
Los lenguajes de programacin se representan en forma simblica y en manera de un texto los cdigos que podrn ser ledos por una persona tales como: 1 celulares 2 cajeros Automticos 3 los mp3 4 Calculadoras

Lenguajes de Programacin
Lenguajes de Programacin
Hay lenguajes de programacin que utilizan compilador QUE ES UN COMPILADOR..?
Un compilador es un programa que, a su vez, traduce un programa escrito en un lenguaje de programacin a otro lenguaje de programacin La razn principal para querer usar un compilador es traducir un programa de un lenguaje de alto nivel, a otro lenguaje de nivel inferior.

Lenguajes de Programacin
Lenguajes de Programacin
Los lenguajes de programacin se determinan segn el nivel Nivel Bajo Nivel Medio Nivel Alto

Comparacin de Lenguajes

Cules son los criterios usados?


Tres criterios usados comnmente cuando se evalan los lenguajes de programacin son:
Cun fcil se pueden leer y entender programas (re adability) Cun fcil se pueden escribir programas (writability) Cun confiables son los programas (reliability) Recuerde: no existe un lenguaje de programacin que se pueda clasificar como el mejor de todos. Si existiera, todo el mundo lo usara.

Muchas Gracias