Introduccin a la Programacin fnoto@escueladavinci.net
Introduccin a la Programacin Apunte 1 Introduccin: Hardware: Se refiere a la parte fsica de una computadora y ms ampliamente de cual!uier dispositivo electrnico. Software: Se refiere al equipamiento lgico o soporte lgico de una computadora digital" comprende el con#unto de los componentes lgicos necesarios para $acer posi%le la reali&acin de una tarea especfica" en contraposicin a los componentes fsicos del sistema '(ard)are*. Algoritmo: Procesos secuenciales mediante los cuales se llegar a la solucin de un pro%lema. Se puede plantear de varias maneras+ Diagrama de flu#o+ Es!uema estructurado !ue de%e poder ser ledo secuencialmente. Pseudocdigo+ ,tili&acin de un lengua#e propio para descri%ir los procesos !ue se de%en seguir para desarrollar el algoritmo. Programacin: Sirve para resolver pro%lemas. -onsta de dos partes+ Diagramacin+ Proceso en el cual se anali&a el pro%lema" se reali&a el algoritmo" se aplica el algoritmo y por .ltimo se lo revisa. -odificacin+ Proceso por el cual utili&ando alg.n lengua#e de programacin se traduce el algoritmo a cdigo. Cdigo: Es un con#unto de lneas escritas seg.n las reglas sintcticas de alg.n lengua#e de programacin legi%le por $umanos !ue posteriormente es convertido a lengua#e m!uina mediante compiladores o int/rpretes. Dato: E0presin general !ue descri%e las caractersticas de la entidad so%re las cuales opera un algoritmo. Paradigmas de la Programacin: E0isten 1 tipos de paradigmas a seguir dentro de la Programacin" !ue son+ Programacin procedural. Programacin orientada a o%#etos. Programacin orientada a eventos. Programacin para mquinas dispositi!os " usuarios: Para estos tipos de programacin e0isten los siguientes lengua#es+ -ompilados+ 2engua#es traducidos a lengua#e de m!uina mediante un -ompilador" !ue genera E#ecuta%les. Son de %a#o nivel. E#emplo+ 3ssem%ler" -" -44. Intermedios+ 2engua#es compilados" pero traducidos a lengua#e de m!uina virtual 'soft)are !ue corre dentro de una computadora" con su propio lengua#e y sistema de compilacin*. Suelen generar 3plicaciones. No son de %a#o nivel" sino de nivel intermedio. E#emplo+ 5ava" .NE6 Interpretados+ 2engua#es !ue no re!uieren de compilacin. Son e#ecutados por un int/rprete. Se los suele llamar Scripts. Son de alto nivel. E#emplo+ 5avaScript. Compilador: Programa informtico !ue se encarga de traducir lengua#es. #$ecuta%le: 3rc$ivo %inario cuyo contenido es interpretado como un programa. 7 8 7 Escuela Da Vinci Federico Noto Introduccin a la Programacin fnoto@escueladavinci.net Int&rprete: Programa informtico !ue se encarga de traducir lengua#es de alto nivel. 2a traduccin la reali&a cuando es necesario" a diferencia del compilador. 'a!aScript: Historia: 2engua#e de Int/rprete creado por Netscape -ommunications !ue surge con el nom%re de 2iveScript. En 899: se lo re%auti& como 5avaScript por un acuerdo entre Sun ;ycrosystems 'creadores de 5ava y actualmente comprada por <racle* y Netscape. En 899= fue adoptado como un estndar E-;3 'European -omputer ;anufacturers 3ssociation+ organi&acin internacional para estandari&ar los sistemas computari&ados* y pas a ser parte del estndar E-;3Script. 5avaScript 8.=" la .ltima versin $asta el presente" est implementado en la mayora de los navegadores. <tros lengua#es %asados en E-;3Script son 3ctionScript ';acromedia > 3do%e* y 5script ';icrosoft*. 5avaScript es actualmente uno de los lengua#es utili&ados en las aplicaciones 353? '3sync$ronous 5avaScript 3nd ?;2* e indispensa%le de conocer para cual!uier desarrollador )e%. @r%ol genealgico del lengua#e 5avaScript $asta la actualidad. Implementacin: Desarrollo de sitios )e% dinmicos" es decir" con eventos en tiempo real. Validacin de formularios <torgar al usuario la posi%ilidad de personalizar el sitio )e%. Desarrollo de sitios )e% con 353?. 7 A 7 2iveScript 5avaScript 8.B E-;3Script 3ctionScript 8.B 5Script 5avaScript 8.C 5avaScript 8.= 3ctionScript 1.B 5Script.NE6 Escuela Da Vinci Federico Noto Introduccin a la Programacin fnoto@escueladavinci.net 'a!aScript no es 'a!a: (ay algunas diferencias importantes entre 5ava y 5avaScript. En la siguiente ta%la se detallan algunas de las principales+ 'a!aScript 'a!a 2engua#e interpretado 2engua#e intermedio" compilado para la 5ava Virtual ;ac$ine. No necesita ninguna interface de desarrollo. 6odo los !ue se precisa es un procesador de te0to y un navegador compati%le con 5avaScript. Se necesita el 5DD '5ava Developer Dit+ Interface para el desarrollo de aplicaciones 5ava*. 2o proporciona gratuitamente Sun ;icrosystems. 2os programas estn cargados en la pgina Ee% en forma de un script. No e0iste un arc$ivo de programa de 5avaScript independiente. 2os programas son compilados en fic$eros e#ecuta%les. Esos fic$eros son incrustados en pginas Ee% utili&ando la eti!ueta APPLET. 5avaScript por lo general se e#ecuta rpidamente. El script est insertado en la pgina Ee% 'slo es te0to*. 3dems los scripts de 5avaScripts suelen ser ms pe!ueFos !ue las applets de 5ava. 2as aplicaciones 5ava tienden a ser un poco lentas. El fic$ero compilado de%e ser transferido al ordenador del usuario antes de poder ser e#ecutado. 5avaScript est %asado en o%#etos. El cdigo utili&a o%#etos e0tensi%les incorporados" pero no clases ni $erencia. 5ava est orientado a o%#etos. 2as applets de 5ava consisten en clases de o%#etos con $erencia. 5avaScript tiene lo !ue se conoce como Gescritura sueltaG. Es decir" es menos restrictivo en la forma de usar varia%les. 5ava tiene reglas estrictas so%re cmo usar varia%les. (ay !ue declararlas y definir su tipo de dato antes de usarlas. 3dems+ 5avaScript mane#a eventos+ Durante el tiempo !ue el usuario visualice la pgina con el script en cuestin" 5avaScript podr reaccionar ante cual!uier evento 'al $acer clicH en un %otn" arrastrar o apuntar con el mouse" carga y descarga de pginas" envo de un formulario" etc.* !ue se le indi!ue de%ido a !ue este lengua#e est capacitado para detectar un sin n.mero de eventos y reaccionar de acuerdo a como el programador lo indi!ue. (a plataforma we% )rowsers: *odelo Cliente Ser!idor: -omo se mencion anteriormente" 5avaScript es un lengua#e interpretado por el cliente" es decir" el navegador 'E0plorer" Firefo0" <pera" Safari" -$rome*. El navegador solicita la informacin a un Servidor" por e#emplo un documento (6;2 '(yper6e0t ;arHup 2anguage*. El servidor responde a la peticin del navegador transmiti/ndola generalmente con el protocolo (66P '(yper6e0t 6ransfer Protocol*. ,na ve& o%tenida" el navegador interpreta la informacin y la e#ecuta. -ada ve& !ue cargo una pgina reali&o una peticin del documento completo al Servidor. ,na ve& cargada la pgina" 5avaScript me permite capturar eventos !ue se desarrollan dentro del navegador y e#ecutar cdigo en tiempo real. A'A+: 2a programacin Ee% asincrnica implementa 353? '5avaScript 3sincrnico y ?;2*" lo !ue implica !ue cada ve& !ue se desea actuali&ar alg.n sector de la Ee% no es necesario recargar el documento completo" sino slo reali&ar la peticin al Servidor de la informacin necesaria. Esto permite $acer sitios ms dinmicos y de navegacin ms rpida" adems de disminuir la cantidad de informacin transferida por el Servidor. #$ercicios: Di%u#ar un crculo en una $o#a de papel" $acerlo tantas veces como sea necesario $asta !uedar conforme. 2uego reali&ar el algoritmo con los pasos reali&ados para llegar al crculo perfecto. 7 1 7