Taller Programacion

14
Lógica El estudio de la Lógica de Programación no exige ningún conocimiento previo de computadora ni de tecnología en general, tampoco exige la presencia de algún Lenguaje de Programación específico aunque no puede negarse que éste podría permitir, solo después que se manejen bien los conceptos de lógica de programación, implementar y ver convertida en realidad las soluciones lógicas a sus objetivos. Definiciones Serie coherente de ideas y razonamientos. Ciencia que estudia la estructura, fundamentos y uso de las expresiones del conocimiento humano. Representación intelectual de un objeto, diferenciándose, de lo sentido, lo percibido, lo imaginado o lo recordado. Las propiedades de los conceptos son la comprensión y la extensión. La Lógica es ciencia de relaciones porque estudia el pensamiento y, pensar es establecer relaciones. Pero se preocupa no tanto por establecer relaciones (esto es propios de las ciencias ...) sino por el estudio de las relaciones mismas, por eso la lógica es una ciencia formal. Programación Se refiere a idear y ordenar las acciones que se realizarán en el marco de un proyecto; al anuncio de las partes que componen un acto o espectáculo; a la preparación de máquinas para cumplan con una cierta tarea en un momento determinado; a la elaboración de Programas para la resolución de problemas mediante computadoras .

description

taller

Transcript of Taller Programacion

LgicaEl estudio de laLgica de Programacinno exige ningn conocimiento previo decomputadorani de tecnologa en general, tampoco exige la presencia de algnLenguaje de Programacinespecfico aunque no puede negarse que ste podra permitir, solo despus que se manejen bien los conceptos de lgica de programacin, implementar y ver convertida en realidad las soluciones lgicas a sus objetivos.DefinicionesSerie coherente de ideas y razonamientos.Ciencia que estudia la estructura, fundamentos y uso de las expresiones del conocimiento humano.Representacin intelectual de un objeto, diferencindose, de lo sentido, lo percibido, lo imaginado o lo recordado. Las propiedades de los conceptos son la comprensin y la extensin.La Lgica es ciencia de relaciones porque estudia el pensamiento y, pensar es establecer relaciones. Pero se preocupa no tanto por establecer relaciones (esto es propios de lasciencias...) sino por el estudio de las relaciones mismas, por eso la lgica es una cienciaformal.

ProgramacinSe refiere a idear y ordenar las acciones que se realizarn en el marco de un proyecto; al anuncio de las partes que componen un acto o espectculo; a la preparacin de mquinas para cumplan con una cierta tarea en un momento determinado; a la elaboracin deProgramaspara la resolucin de problemas mediantecomputadoras.Proceso de toma de decisiones. Es establecer un conjunto de actividades en un contexto y tiempo determinado para ensear los contenidos seleccionados en funcin de los objetivos establecidos. Es unprocesocontinuo, dinmico, no acabado ni rgido.AlgoritmoCuando el objetivo est realmente claro. Siempre que en el desarrollo de la solucin de un problema, en algn momento no sabe por donde coger, no sabe qu hacer o se siente perdido, no busque ms, quiere decir simplemente que realmente usted no tena tan claro el objetivo como haba pensado.Algoritmo:Conjunto de pasos secuenciales y ordenados que permiten lograr un objetivo. Que seansecuencialessignifica que deben ser ejecutados uno despus de otro y que seanordenadosquiere decir que deben llevar un orden casi obligatorio. El algoritmo es el que permite lograr el objetivo propuesto.Algoritmos InformalesDefinidos como todos aquellos algoritmos que no son realizables a travs de unaComputadorao al menos no fcilmente. Son aquellosAlgoritmosdonde el ejecutor real es elser humano, como el algoritmo para dar unbeso, el algoritmo para freir unoshuevoso el algoritmo para conseguir unlibro.Ejemplo:AlgoritmoAdquisicion_de_un_LibroInicioSaber cul es el libro que se quiere adquirirDesplazarnos hacia unabibliotecaPreguntar si tienen el libro que necesitamosSi lo tienen adquirirlo y Parar all (dentro de esteAlgoritmo). Si no lo tienen ir al paso 2 (a otra biblioteca)FinLatecnologaha avanzado tanto que, muchos algoritmos que en el pasado no eran implementables a travs de una computadora, en la actualidad lo son y de manera mucho ms sencilla como es el caso del algoritmo para conseguir un libro que anteriormente se pensaba en libreras y ahora se piensa en un concepto mas globalizado:Internet, con ms posibilidad de conseguirlo y con menos trabajo.Algoritmos ComputacionalesSe consideran como tales todos aquellosAlgoritmosque deben ser preferiblemente implementados en una computadora para aprovechar su velocidad de procesamiento. Un ejemplo de estos puede ser el algoritmo que genere los primeros 100 nmeros primos, recordando que un nmero primo es aquel que solo puede ser dividido exactamente entre la unidad y entre si mismo, que si bien podran ser calculados utilizando unpapely unlpiz, la utilizacin de una computadora en unin con el algoritmo adecuado ofrece un resultado mucho mas rpido y absolutamente confiable (de hecho depende de que el algoritmo igualmente sea muy confiable).Ejemplo:AlgoritmoColocarnos_una_camisaInicioDirigirnos a nuestro ropero.Si esta cerrado: Abrirlo y Coger una camisa.Si est abrochada: Desabrocharla.Abrir la camisa.Si est doblada: Desdoblarla.Meter un brazo por una de sus mangas.Meter el otro brazo por la otra de sus mangas.Ajustar la camisa al tronco.Si es una camisa de botones: Abotonarla (botn a botn) y:Ajustarla al cuerpo.Sino ajustarla de manera que quede bien puesta.Fin

LENGUAJES DE PROGRAMACION

1.PHPQu es?PHP usa una mezcla entre interpretacin y compilacion para intentar ofrecer a los programadores la mejor mezcla entre rendimiento y flexibilidad.

PHP compila para tu codigo una serie de instrucciones (llamadas opcodes) siempre que estas son accedidas. Estas instrucciones son entonces ejecutadas una por una hasta que el script termina. Esto es diferente a la manera convencional de compilacion de lenguajes como C++ donde el cdigo es compilado a cdigo ejecutable que es despues ejecutado. Php es recompilado cada vez que se solicita un script.Una ventaja importante de interpretar el cdigo es que toda la memoria usada por tu cdigo es manejada por PHP, y el lenguaje automticamente vaca esta memoria cuando el script finaliza. Esto significa que tu no tienes que preocuparte de las conexiones a la base de datos, porque PHP lo har por ti.leer msPor qu deberas aprenderlo?Es uno de los lenguajes de progrmacin ms populares, la gran fluidez y rapidez de sus scripts y su prometedor futuro, desarrollar aplicaciones Webs utilizando lenguajes como C o COBOL son cosas del pasado.Oferta de trabajoDemanda de trabajo: 362 ofertas2.C#Qu es?C# es un lenguaje de propsito general orientado a objetos creado por Microsoft para su plataforma .NET.Su sintaxis bsica deriva de C/C++ y utiliza el modelo de objetos de la plataforma .NET el cual es similar al de Java aunque incluye mejoras derivadas de otros lenguajes. C# fue diseado para combinar el control a bajo nivel de lenguajes como C y la velocidad de programacin de lenguajes como Visual Basic.Por qu deberas aprenderlo?Es una parte esencial de la plataforma .Net, C# combina los mejores elementos de mltiples lenguajes de amplia difusin como C++, Java, Visual Basic o Delphi. De hecho, su creador Anders Heljsberg fue tambin el creador de muchos otros lenguajes y entornos como Turbo Pascal, Delphi o Visual J++. La idea principal detrs del lenguaje es combinar la potencia de lenguajes como C++ con la sencillez de lenguajes como Visual Basic, y que adems la migracin a este lenguaje por los porgramadores de C/C++/Java sea lo ms inmediata posible.Oferta de trabajoDemanda de trabajo: 1.002 ofertas3.AJAXQu es?AJAXno es un lenguaje exactamente su nombre viene dado por el acrnimo de Asynchronous JavaScript And XML y es posiblemente la mayor novedad en cuanto a programacin web en estos ltimos aos.El corazn deAjaxes el objeto XMLHttpRequest que nos permite realizar una conexin al servidor y al enviarle una peticin y recibir la respuesta que procesaremos en nuestro cdigo Javascript, estamos hablando del verdadero motor de Ajax, por ejemplo gracias a este objeto podemos desde una pgina HTML leer datos de una web o enviar datos de un formulario sin necesidad de recargar la pgina.leer msPor qu deberas aprenderlo?La demanda de AJAX no slo es ampla sino que de calidad debido a la dificultad de aprendizaje que conlleva, si la herramienta de Microsoft, Atlas, destinada a la realizacin de aplicaciones AJAX tiene xito puede suponee un aumento en la demanda de esta tecnologa.Oferta de trabajoDemanda de trabajo: 65 ofertas4.JavaScriptQu es?Se trata de un lenguaje de programacin del lado del cliente, porque es el navegador el que soporta la carga de procesamiento. Gracias a su compatibilidad con la mayora de los navegadores modernos, es el lenguaje de programacin del lado del cliente ms utilizado.Por qu deberas aprenderlo?La razn de mayor peso es que es utilizado por millones de pginas webs para validar formularios, crear cookies, detectar navegadores y mejorar el diseo, su fcil aprendizaje lo hace un lenguaje muy demandado.Oferta de trabajoDemanda de trabajo: 422 ofertas5.PerlQu es?Perl es la alternativa ms popular a PHP, seguramente porque es el lenguaje ms antiguo tambien dentro de las alternativas. En internet nos encontramos numerosos recursos que utilizan Perl, muchos de las aplicaciones open source requieren tener Perl instalado correctamente. Perl tiene una ventaja y es que es muy flexible, y tambien tiene un gran cantidad de modulos ya escritos.Bien escritos los scripts en Perl se asemejan bastante a PHP. La principal causa de la suca apariencia de Perl es por la aficin de sus desarrolladores a la escritura en una lnea empaquetanto numerosas funcionalidades en una sola lnea de cdigo.leer msPor qu deberas aprenderlo?La potenca de Perl a la hora de procesar grandes cantidades de datos lo hace realmente popular a la hora de desarrollar aplicaciones del lado del servidor, aprender Perl o Php es bsico a la hora de desarrollar aplicaciones Web.Oferta de trabajoDemanda de trabajo: 82 ofertas6.CQu es?Es un lenguaje de medio nivel pero con numerosas caractersticas de bajo nivel.Dispone de las estructuras tpicas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajo nivel.Por qu deberas aprenderlo?Aprender C es bsico mientras aprendes C estas aprendiendo conceptos bsicos de lenguajes cmo Java o C#, adems no slo es mas sencillo que estos ltimos sino que comporten gran parte de su sintaxis.Oferta de trabajoDemanda de trabajo: 312 ofertas7.Ruby y Ruby on RailsQu es?Ruby on Rails, tambin conocido como RoR o Rails es un framework de aplicaciones web de cdigo abierto escrito en el lenguaje de programacin Ruby.Ruby apareci en el ao 1995 y creo que su principal problema haba sidola falta de documentacin en otro idioma que no sea japons. Eso se ha idosolucionando y crece la popularidad del lenguaje. Su aplicacin insignia,por decirlo de algn modo parece ser RoR. Su mecanismo de gem se me pareceal CPAN de Perl y al Pear de PHP.leer msPor qu deberas aprenderlo?Simple y funcional, el uso de Active Record de forma eficiente simplifica y agiliza el desarrollo de forma notable. Al minimizar el trabajo con la base de datos (escribiendo triggers y procedimientos almacenados) y emplear un nico lenguaje para todo el desarrollo, se consigue acortar los tiempos de desarrollo (time2market).Oferta de trabajoDemanda de trabajo: 5 ofertas8.ASPQu es?Active Server Pages (ASP) y ASP.NET es un intendo de Microsoft para introducirse en el mercado del desarrollo Web, y viene a ser como su estandar para su servidor Web, ISS. Asp ha sido atacado por la comunidad open source desde que este apareci, y dan numerosas razones para ello:El propietario, una nica plataforma, la lentitudMe gustara decir Si, si, y si, pero no me debo dejar llevar. La realidad es que ASP ha sido implementado en otras plataformas y que cuando esta funcionando bajo su servidor predeterminado IIS es relativamente rpido.leer msPor qu deberas aprenderlo?Simplemente porqu en algunas ocasiones no tienes otra opcin debido a la popularidad que ha alcanzado.

LENGUAJES DEPROGRAMACIONUnlenguaje de programacines un lenguaje que puede ser utilizado para controlar el comportamiento de una mquina, particularmente una computadora. Consiste en un conjunto de reglas sintcticas y semnticas que definen su estructura y el significado de sus elementos, respectivamente. Aunque muchas veces se usa lenguaje de programacin y lenguaje informtico como si fuesen sinnimos, no tiene por qu ser as, ya que los lenguajes informticos engloban a los lenguajes de programacin y a otros ms, como, por ejemplo, elHTML.Segn la forma de ejecucinLenguajes compiladosNaturalmente, un programa que se escribe en un lenguaje de alto nivel tambin tiene que traducirse a un cdigo que pueda utilizar la mquina. Los programas traductores que pueden realizar esta operacin se llaman compiladores. stos, como los programas ensambladores avanzados, pueden generar muchas lneas de cdigo de mquina por cada proposicin del programa fuente. Se requiere una corrida de compilacin antes de procesar los datos de un problema.Los compiladores son aquellos cuya funcin es traducir un programa escrito en un determinado lenguaje a un idioma que la computadora entienda (lenguaje mquina con cdigo binario).Al usar un lenguaje compilado (como lo son los lenguajes del popular Visual Studio de Microsoft), el programa desarrollado nunca se ejecuta mientras haya errores, sino hasta que luego de haber compilado el programa, ya no aparecen errores en el cdigo.Lenguajes interpretadosSe puede tambin utilizar una alternativa diferente de los compiladores para traducir lenguajes de alto nivel. En vez de traducir el programa fuente y grabar en forma permanente el cdigo objeto que se produce durante la corrida de compilacin para utilizarlo en una corrida de produccin futura, el programador slo carga el programa fuente en la computadora junto con los datos que se van a procesar. A continuacin, un programa intrprete, almacenado en el sistema operativo del disco, o incluido de manera permanente dentro de la mquina, convierte cada proposicin del programa fuente en lenguaje de mquina conforme vaya siendo necesario durante el proceso de los datos. No se graba el cdigo objeto para utilizarlo posteriormente.La siguiente vez que se utilice una instruccin, se le debe interpretar otra vez y traducir a lenguaje mquina. Por ejemplo, durante el procesamiento repetitivo de los pasos de un ciclo, cada instruccin del ciclo tendr que volver a ser interpretado cada vez que se ejecute el ciclo, lo cual hace que el programa sea ms lento en tiempo de ejecucin (porque se va revisando el cdigo en tiempo de ejecucin) pero ms rpido en tiempo de diseo (porque no se tiene que estar compilando a cada momento el cdigo completo). El intrprete elimina la necesidad de realizar una corrida de compilacin despus de cada modificacin del programa cuando se quiere agregar funciones o corregir errores; pero es obvio que un programa objeto compilado con antelacin deber ejecutarse con mucha mayor rapidez que uno que se debe interpretar a cada paso durante una corrida de produccin.ALGUNOS LENGUAJES DE PROGRAMACIN:ABAPABCAdaActionScriptAfnixALGOLAPLASPASP.NETAWKBBASICBCPLBefungeBooCC++C#CamlClipperCLIPSCLUCOBOLCORALDDelphiDIVDylanEiffelErlangEnsambladorExtended MLEuphoriaFnixFlow-MaticForthFORTRANGambasGMLGRAFCETFPHaskellIconInformINTERCALISWIMJJavaJavaScriptJoyKWCLADDERLexicoLingoLispLogoLuaMAGICMainsailMesaMirandaMLModulaModula-2Modula-3NaturalNetREXXOberonObject REXXObjective-COcamlOccamOzPascalParlogPerlPHPPL/1PlankalklPostScriptPowerBuilderPrologPythonRapidREXXRPNRPGRubySailSatherSchemeScriptolSeed7SelfShSimulaSmalltalkSnobolSPARKSqueakSRStandard MLTI-BasicTCLVBAVisual BasicVisual C++Visual DialogScriptVisual FoxproYurixZPL

PROGRAMACIN MODULARLa programacin estructurada es una tcnica de diseo de programas que comenz a ponerse enprctica a principios de los aos 70. Su utilizacin tiene como objetivo paliar algunas deficiencias:1. Los programas que estn constituidos por un nico bloque, ms o menos grande, de cdigo, dependiendo de la complejidad y tamao de la aplicacin, por ejemplo 5000 6000 lneas de cdigo sin comentar, sin documentar y sin estructurar, esto es, sin hacer uso de un slo submdulo, son programas pocos legibles, difciles de depurar y modificar y poco reutilizables.2. Un problema complejo no puede solucionarse de una sola vez y con un nico algoritmo; adems, existen operaciones que se repiten una y otra vez a lo largo del programa, de tal manera que es necesario el mismo bloque de cdigo pero con diferentes datos.Con el fin de dar solucin a los puntos anteriores se introdujo la programacin estructurada. Su objetivo primordial es resolver un problema, ms o menos complejo, dividindolo en otros ms sencillos, que ligadosconvenientemente, nos den la solucin del problema original.Cada subproblema se representar mediante uno o varios mdulos segn su complejidad. La idea es que estos mdulos sean independientes, es decir, que se puedan modificar o reemplazar sin afectar al resto del programa o que puedan ser reutilizados en otros programas. Supongamos el siguiente ejemplo. Un profesor quiere crear un programa para gestionar la notas de sus alumnos. Quiere que dicho programa le permita realizar tareas tales como asignar notas, cambiar notas, ver las notas segn las distintas calificaciones, etc. Un posible divisin del problema en mdulos sera: Esta subdivisin nos permitira, fcilmente, cambiar la forma de visualizar a los alumnos, reutilizar el mdulo Visualizar en otro programa y sobre todo es mucho ms fcil de comprobar su funcionamiento.Por tanto, las ventajas del diseo modular se traducen, principalmente, en que los programas son:ms fciles de escribir y probar (los mdulos pueden escribirse y probarse separadamente)ms fciles de mantener y documentar.Programacin Estructurada.Se refiere a un conjunto de tcnicas que han ido evolucionando. Estas tcnicas aumentan considerablemente la productividad del programa reduciendo el tiempo requerido para escribir, verificar, depurar y mantener los programas. La programacin estructurada utiliza un nmero limitado de estructuras de control que minimizan la complejidad de los problemas y que reducen los errores. sta incorpora entre otros elementos: el diseo descendente, recursos abstractos y estructuras bsicas.Laprogramacin estructuradaes una forma de escribirprogramacindeordenadorde formaclara, para ello utiliza nicamente tres estructuras: secuencial, selectiva e iterativa; siendo innecesario y no permitindose el uso de la instruccin o instrucciones detransferencia incondicional( GOTO ).QU ES UNA INTERFAZ GRAFICA DE USUARIO?En el contexto del proceso deinteraccin persona-ordenador, lainterfaz grfica de usuario(IGU), es elartefactotecnolgico de unsistema interactivoque posibilita, a travs del uso y la representacin dellenguaje visual, una interaccin amigable con un sistema informtico.La interfaz grfica de usuario (en inglsGraphical User Interface,GUI) es un tipo deinterfaz de usuarioque utiliza un conjunto de imgenes y objetos grficos (iconos,ventanas,tipografa) para representar la informacin y acciones disponibles en la interfaz. Habitualmente las acciones se realizan mediantemanipulacin directapara facilitar la interaccin delusuariocon lacomputadora.Surge como evolucin de lalnea de comandosde los primerossistemas operativosy es pieza fundamental en unentorno grfico.Como ejemplo de interfaz GUI podemos citar el escritorio odesktopdel sistema operativo Windows y el entorno X-Window de Linux.

VARIABLESUna variable en programacin es un espacio en memoria que permite almacenar informacin dentro de s. Esa informacin puede ser un caracter, una cadena de caracteres, un nmero, un arreglo y, en general, cualquier otro tipo de datos.

En tanto una constante es tambin un espacio en memoria, pero que almacena una dato fijo, es decir, que no cambia nunca.

Por ejemplo:int a, ba := 1b := a + 2a := 5

Aqu tenemos dos variables, "a" y "b" que almacenan valores numricos enteros (int). La variable "a" almacena primero el nmero 1, luego "b" almacena el numero que tiene "a" ms 2, por lo tanto "b" almacena un 3. Finalmente el valor de "a" es reemplazado por un 3, por lo tanto las variables contendrn estos datos al final:a = 5b = 3