introducción a la programación con java

Download Introducción a la Programación con Java

If you can't read please download the document

Upload: flekoso

Post on 16-Apr-2017

7.101 views

Category:

Technology


3 download

TRANSCRIPT

TALLER DE INTRODUCCIN A LA PROGRAMACIN

Ezequiel ArandaSun Campus Ambassador

Disclaimer

Even though Ezequiel Aranda is a full-time employee of Sun Microsystems, the contents here are created as his own personal endeavor and thus does not reflect any official stance of Sun Microsystems.

Sun Microsystems is not responsible for any inaccuracies in the contents.

This slides are Licensed under a Creative Commons Attribution Noncommercial Share Alike 3.0 http://creativecommons.org/licenses/by-nc-sa/3.0/

Agenda

Parte 1: Qu es una computadora?Parte 2: JavaParte 3: Herramientas para ensear Java

PARTE 1
Qu es una computadora?

Todo esto no es tan nuevo...

En el siglo VIII, el matemtico e ingeniero Muhammad ibn Musa al-Khwarizmi, invent el algoritmo.1642 Blaise Pascal inventa la Pascalina (ninguna relacin con la Pastalinda).

Todo esto no es tan nuevo... (II)

1801 El francs Joseph Marie Jacquard, utiliz un mecanismo de tarjetas perforadas para controlar el dibujo formado por los hilos de las telas confeccionadas por una mquina de tejer.1822 Charles Babbage complet su Artefacto de la diferencia.1843 Lady Ada Augusta Lovelace sugiri la idea de que las tarjetas perforadas se adaptaran de manera que causaran que el motor de Babbage repitiera ciertas operaciones.

Todo esto no es tan nuevo... (III)

1854 El desarrollo del lgebra de Boole fue publicado por el lgico ingls George Boole.1919 El primer circuito multivibrador o biestable (en lxico electrnico flip-flop) fue desarrollado por los inventores americanos W.H. Eccles y F.W. Jordan1924 - Walther Bothe construy una puerta lgica AND1936 Alan Turing describe la mquina de Turing

Todo esto no es tan nuevo... (IV)

2004 Mark Zuckerberg funda Facebook, y la mayora de las personas de esta generacin descubren el resultado de cientos de aos de investigacin cientfica.

Entonces, Quien invent la computadora?

En realidad, la computadora no es un invento de una persona en particular. Es el resultado evolutivo de ideas y realizaciones de muchas personas relacionadas con reas tales como la electrnica, la mecnica, los materiales semiconductores, la lgica, el lgebra y la programacin.

Volviendo a la pregunta original: Qu es una computadora?

Una computadora es una mquina de proposito general que recibe y procesa datos para convertirlos en informacin tilEsta formada por numerosos componentes que, en combinacin pueden ejecutar con exactitud y rapidez una gran variedad de secuencias o rutinas precisamente determinadas.

Volviendo a la pregunta original: Qu es una computadora? (II)

La computadora, adems de la rutina o programa informtico, necesita de datos especficos ("Input") que deben ser suministrados, y que son requeridos al momento de la ejecucin,

para proporcionar el producto final del procesamiento de datos, que recibe el nombre de "output".

Volviendo a la pregunta original: Qu es una computadora? (III)

La informacin puede ser entonces utilizada, reinterpretada, copiada, transferida, o retransmitida a otra(s) persona(s), computadora(s) o componente(s) electrnico(s) local o remotamente usando diferentes sistemas de telecomunicacin, pudiendo ser grabada, salvada o almacenada en algn tipo de dispositivo o unidad de almacenamiento.

Entoces, Cmo funciona?

Arquitectura de von Neumann.Unidad aritmtico lgica (ALU)Unidad de control Memoria centralDispositivos de entrada y salida (E/S)

Entendido. Ahora a darle ordenes:

Mmmm... FAIL.Pensndolo bien: Cmo hago para decirle a cada componente que hacer y que la combinacin de esas ordenes de lugar a la funcin que yo quiero realizar?

En que idioma habla una computadora?

Habla en lenguaje de mquina.Son secuencias de unos y ceros que representan instrucciones.Y cada mquina programable tiene su propio lenguaje de mquina (aunque suelen ser similares).

O sea que un programador escribe secuencias de unos y ceros durante 8 horas diarias?

Aunque eso hara ms sencillo responder a muchas incgnitas sobre los programadores, no.

Existen lo que se conocen como lenguajes de programacin, que bsicamente son instrucciones de alto nivel que luego son traducidas a cdigo de mquina.

Lenguaje de programacin

Existen dos tipos de lenguaje de programacin:de bajo nivel.de alto nivel.El nivel hace referencia al nivel de abstraccin respecto del lenguaje de mquina.

Lenguaje de alto nivel

Los lenguajes de programacin de alto nivel se caracterizan por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de a la capacidad ejecutora de las mquinas.AdaBasicC++COBOLFortranJava

PythonPerlPascalPHPPL/SQL

Genial, ya tengo la definicin de lenguaje. Pero an no tengo ni idea de como escribir un programa

Los lenguajes de programacin, cuentan todos en su haber con un juego de "instrucciones".Un programa es una secuencia de instrucciones pensada para resolver un problema.Si no sabemos resolver el problema, no podremos escribir el programa.A uno se le puede ocurrir una manera de resolverlo. A otra persona, otra. Este mtodo con el que resolvemos el problema, es lo que se llama algoritmo.

Algoritmo

Un algoritmo no es ms que una secuencia de pasos que, seguidos uno a uno, me permiten resolver un problema. Por ejemplo, para ver una pelcula:1. Elijo una pelcula de las de mi coleccin.2. Compruebo SI TV y vdeo estn conectadas a la red (y procedo). 3. SI la TV est apagada, la enciendo, SI NO, pues no. Y lo mismo con la vdeo.4. Abro el estuche de la pelcula.5. Saco la pelcula de su estuche.

Algoritmo (II)

6. Introduzco la pelcula en la vdeo. Dejo el estuche sobre la vdeo.7. SI la TV no est en el canal adecuado, la cambio, SI NO, pues no.8. Tomo los controles remotos (el del TV y el de la vdeo).9. Me pongo cmodo.10. Pulso PLAY en el control de la vdeo.Dos detalles importantes:1. La descripcin de cada paso no me lleva a ambigedades: los pasos son absolutamente explcitos y no inducen a error.2. El nmero de pasos es finito.

Ejercicio 1

Intentar escribir una sucesin de pasos para alguna tarea cotidiana.

Elementos bsicos para describir algoritmos

Marcadores de principio fin.Variables: espacios de memoria donde almacenar valores que pueden variar (de ah su nombre) durante la ejecucin del programa. Tienen un tipo y un valor.Asignaciones:I