Beruflich Dokumente
Kultur Dokumente
Introduccin
Ao 2010
Presentacin
Terico/Prctico
Mircoles 18:00 a 22:00 Laboratorio 6
2 trabajos prcticos y un coloquio final
Promocional
Docentes
Profesor: Javier Marenco
(jmarenco@dc.uba.ar)
JTP: Andrea Manna
(amanna@dc.uba.ar)
Ay. Primera: Cristian Rocha
(crocha@dc.uba.ar)
Ay. Primera: Silvana Wider
(swider@dc.uba.ar)
Apuntes
Pgina web:
www.dc.uba.ar
http://www-2.dc.uba.ar/materias/t1/index.html
Objetivos
La intencin de la materia es dar una introduccin al uso de la
computadora para aplicaciones cientficas, que involucren el
manejo de volmenes de datos, clculos estadsticos,
visualizacin y simulacin numrica de procesos. Se buscar
dar una introduccin general a la programacin para
estudiantes de ciencias (en particular para estudiantes de
Geologa), de modo tal que comprendan las potencialidades y
limitaciones de la computadora.
Como objetivos formativos, se pretende que luego de cursar la
materia el estudiante:
entienda de qu se tratan las ciencias de la computacin,
entienda una publicacin cientfica interdisciplinaria entre su
carrera y computacin, y
logre relacionar un problema matemtico con problemas
computacionales.
Conceptos bsicos
Computadora: Una computadora es un
dispositivo capaz de realizar clculos y
tomar decisiones lgicas a velocidades
hasta miles de millones de veces ms
rpidas que las alcanzables por los seres
humanos. Bsicamente surgen para ayudar
a las personas en la resolucin de clculos
matemticos.
De
ah
su
nombre
computadora que deriva de la palabra
cmputo o sea clculo
En la actualidad, una computadora es una
herramienta que se utiliza para resolver
problemas.
Funciones
Una computadora realiza 4 funciones
bsicas:
Ingreso de datos
Procesamiento de la informacin
Salida de datos
Almacenamiento de los resultados
Representacin de la informacin
Como se ha visto, una computadora es una
mquina capaz de procesar informacin.
Para realizar este proceso se precisa
informacin de dos tipos:
Las instrucciones del programa
Los datos a procesar
Representacin de la informacin
Normalmente un operador le da a la
computadora los datos en un lenguaje
conocido, utilizando los smbolos del
lenguaje diario. Estos smbolos pueden ser:
Nmeros
Letras
Smbolos
Alfanumricos
Representacin de la informacin
Por lo tanto tenemos dos niveles de representacin
de la informacin:
Externa: Utilizada por las personas e inadecuada para la
computadora
Interna: Utilizada por la computadora y no legible
fcilmente por un ser humano
Representacin de la informacin
Las primeras computadoras eran muy simples:
Wilhelm Schickard: 1623, primera calculadora automtica
(Reloj calculador). La mquina realizaba las 4 operaciones,
basada en Huesos de Napier y en un mecanismo de sumas
parciales. Utilizaba nmeros de hasta 6 dgitos.
El prototipo y los planos fueron perdidos hasta el siglo 20,
cuando su diseo fue descubierto entre los papeles de Kepler.
Muri a los 43 aos vctima de la peste bubnica
Representacin de la informacin
Blas Pascal: 1642, slo suma y resta (Pascalina)
Fue un nio prodigio y matemtico de primer orden. Pascalina
se us para el clculo de impuestos en Francia hasta 1799.
Ayud a crear dos grandes areas de investigacion: Geometria
proyectiva y Teora de Probabilidades. Muri a los 39 aos.
Autor del tringulo de Pascal (el triangulo representa los
coeficientes binomiales)
Representacin de la informacin
Von Leibniz: 1672, las 4 operaciones
Fue filsofo, matemtico, jurista, bibliotecario y poltico alemn,
considerado El ltimo genio universal de los siglos XVII y XVIII.
Descubri el clculo infinitesimal, el sistema binario, anticipa la
lgica moderna y la filosofa analtica.
La mquina de Leibniz era superior a la de Pascal, ya que
multiplicaba por repeticin de sumas y divida por repeticin de
restas
Representacin de la informacin
En la dcada del 40:
Z1: Konrad Zuse, Ing alemn, diseo Z1 en 1936,
considerada la primera computadora programable.
Reciba datos de una cinta perforada y utilizaba
lgica booleana. Haca clculos en punto flotante.
Mark1: Usaba el 0 para representar el positivo y
el 9 para el negativo. Procesaba 1 instruccin cada
6 segundos.
ENIAC: Pesaba 30 tn. Tena 20 registros capaz de
almacenar un nmero de 10 dgitos. Usaba
aritmtica en base 10
Primeras Computadoras
Mark1
Eniac
Z1
Representacin de la informacin
Despues de mucho investigar, se decidi que la mejor
opcin para almacenar la informacion en una
computadora, era utilizando el sistema binario, o sea
basado en 1 y 0.
Una de las ventajas es que podemos adaptar fcilmente
el sistema electrico, usando presencia y ausencia de
voltaje para representar fsicamente el 1 y el 0.
Hay una ventaja sustancial en los clculos, dado que
resultan mucho ms simples para una mquina que
usando un sistema en otra base
binario
hexa
Hardware y Software
Hardware: Es la parte fsica de la computadora, es
decir, todo aquello que podamos percibir con el
sentido del tacto, los componentes mecnicos,
magnticos, electromagnticos que hacen que la
mquina funcione. El hardware por s solo no
realiza ninguna tarea, slo puede llevarlas a cabo a
travs de un software adecuado.
Software: Es la parte lgica de la computadora, los
procedimientos que el hardware realiza inducidos
por el software y este a su vez por nosotros. El
software es como un traductor que hace que
nuestras rdenes se conviertan en realidad,
manipulando el hardware o la parte fsica.
Disco duro
Regrabador de CD
Software: Tipos
Podemos distinguir tres tipos de software diferentes:
Sistemas Operativos: Tiene por objetivo efectuar la interrelacin entre los elementos
fsicos de la mquina (hardware) con el entorno (usuario, perifricos, dispositivos, otros
programas, etc.), tendiendo a minimizar las operaciones humanas y maximizar la utilidad
del sistema en funcin del tiempo.
El sistema operativo ejecuta las tareas bsicas, como de reconocer entradas desde el
teclado, enviar mensajes a pantalla, manteniendo rastro de los archivos y directorios en el
disco, y controlar los dispositivos perifricos como las impresoras.
LINUX
Software: Tipos
Lenguajes de programacin: Tienen por objetivo
permitir a un ser humano generar software con un
fin especfico. Una definicin ms estricta sera: es
un conjunto de smbolos y reglas sintcticas y
semnticas que definen su estructura y el
significado de sus elementos y expresiones. Se
utiliza para controlar el comportamiento fsico y
lgico de una computadora.
Trozo JAVA
Fichas estadoTablero[][];
public Tablero(){estadoTablero=new
Fichas [6][7];};
Tablero miTablero = New Tablero();
public Tablero(){estadoTablero=new
Fichas [6][7];};
NombreDeLaClase.nombreDelMetodo(pa
rmetros del mtodo);
Trozo Pascal
PROGRAM Primera_Prueba;
CONST
Mensaje = 'Introduce un valor entero: ';
Respuesta = 'El valor es: ';
VAR
Entero : Integer;
BEGIN
Write(Mensaje);
ReadLn(Entero);
WriteLn(Respuesta, Entero);
END.
Software: Tipos
Software de aplicacin: Son los
programas realizados por las personas con
un fin especfico.
Lenguajes de programacin
Es un lenguaje diseado para describir el conjunto
de acciones consecutivas que un equipo debe
ejecutar. Por lo tanto, un lenguaje de programacin
es un modo prctico para que los seres humanos
puedan dar instrucciones a un equipo. Ejemplos:
Pascal, C, Java, Basic, C++
Entrada
Algoritmo
Salida
Lenguajes de programacin
La computadora entiende lenguaje de mquina, o sea,
basado en 0 y 1. Entonces, nuestro algoritmo debe ser
traducido a lenguaje de mquina. Esta traduccin puede
hacerse mediante:
Compilacin
Interpretacin
Lenguajes de programacin
Compilador: programa que recibe como entrada un conjunto de
sentencias escritas en algn lenguaje de alto nivel y produce, como
salida, un programa en lenguaje de mquina (normalmente
denominado ejecutable) que puede ser ejecutado por la mquina
donde fue compilado. Generalmente hay dos pasos: el anlisis
sintctico y la generacin de cdigo objeto. Con esta informacin el
linker se encarga de generar el ejecutable.
Interprete: En lugar de tomar un cdigo fuente y traducirlo
ntegramente a cdigo ejecutable, el intrprete realiza la doble tarea
de traducir y ejecutar simultneamente, sin producir un cdigo
objeto ni un ejecutable. Se traduce lnea a lnea a medida que se
precisa, o sea, al momento de ejecutar
En general, la ejecucin de un cdigo interpretado es ms
lenta que la de un cdigo compilado (Por qu?).