Presentacion de lenguajes de programacion grado 9.2

4,684 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
4,684
On SlideShare
0
From Embeds
0
Number of Embeds
22
Actions
Shares
0
Downloads
106
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Presentacion de lenguajes de programacion grado 9.2

  1. 1. TRABAJO PRESENTADO <br />POR<br />DANIELA MORENO<br />A Ing.<br />LORENA CERÓN.<br />
  2. 2. LENGUAJES DE PROGRAMACION<br /> *Un lenguaje de programación es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana.<br /> * Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el código fuente de un programa informático se le llama programación.<br /> *DEPURAR: Es el proceso de identificar y corregir errores de programación.<br /> *COMPILAR: Proceso de traducción de un código fuente a lenguaje máquina<br /> *CODIGO FUENTE: De un programa informático Es un conjunto de líneas de texto que son las instrucciones que debe seguir la computadora para ejecutar dicho programa. <br /> *También la palabra programación se define como el proceso de creación de un programa de computadora, mediante la aplicación de procedimientos lógicos<br />
  3. 3. LENGUAJE DE BAJO NIVEL<br /> * Un lenguaje de programación de bajo nivel es el que proporciona poca o ninguna abstracción del microprocesador de un ordenador. Consecuentemente, es fácilmente trasladado a lenguaje de máquina.<br /> *La palabra bajo no implica que el lenguaje sea inferior a un lenguaje de alto nivel; se refiere a la reducida abstracción entre el lenguaje y el hardware. Por ejemplo, se utiliza este tipo de lenguajes para programar controladores de dispositivos.<br /> * En este tipo de lenguajes se trabaja a nivel de instrucciones, es decir, su programación es al más fino detalle, además, está completamente orientado a la máquina.<br /> *ABSTRACCIÓN: consiste en aislar un elemento de su contexto o del resto de los elementos que lo acompañan<br />
  4. 4. VENTAJAS E INCONVENIENTES<br />Ventajas<br />*Mayor adaptación al equipo.<br />*Posibilidad de obtener la máxima velocidad con mínimo uso de memoria.<br />Inconvenientes<br />*Imposibilidad de escribir código independiente de la máquina.<br />*Mayor dificultad en la programación y en la comprensión de los programas.<br />*El programador debe conocer más de un centenar de instrucciones.<br />*Es necesario conocer en detalle la <br />
  5. 5. EJEMPLOS DE LENGUAJES DE BAJO NIVEL<br />Lenguajes de Bajo Nivel.<br />Los lenguajes de bajo nivel son mas fáciles de utilizar que los lenguajes máquina, pero, al igual que ellos, dependen de la máquina en particular. El lenguaje de bajo nivel por excelencia es el ensamblador. Las instrucciones en lenguaje ensamblador son instrucciones conocidas como nemotécnicos. Por ejemplo, nemotécnicos típicos de operaciones aritméticas son: en inglés, ADD, SUB, DIV, etc.; en español, SUM,RES,DIV,etc. Una instrucción típica de suma sería:<br />ADD M, N, P<br />Esta instrucción podría significar “sumar el número contenido en la posición de memoria M al número almacenado en la posición de memoria N y situar el resultado en la posición de memoria P”. Evidentemente es mucho más sencillo recordar la instrucción anterior con un nemotécnico que su equivalente en código máquina”.<br />
  6. 6. 0110 1001 1010 1011<br />*Un programa escrito en lenguaje ensamblador no puede ser ejecutado directamente por la computadora en esto se diferencia esencialmente del lenguaje máquina, sino que requiere una fase de traducción al lenguaje máquina.<br />*El programa original escrito en lenguaje ensamblador se denomina programa fuente y el programa traducido en lenguaje máquina se conoce como programa objeto, ya directamente entendible por la computadora.<br />*El traductor de programas fuente a objeto es un programa llamado ensamblador, existente en casi todos los computadores.<br />Nemotécnicos:<br /> *La nemotecnia o mnemotecnia es el procedimiento de asociación mental de ideas, esquemas, ejercicios sistemáticos, repeticiones, etc. para facilitar el recuerdo de algo.<br />
  7. 7. Primera generación<br />*El lenguaje de programación de primera generación (por sus siglas en inglés: 1GL), es el lenguaje de código máquina. Es el único lenguaje que un microprocesador entiende de forma nativa. El lenguaje máquina no puede ser escrito o leído usando un editor de texto, y por lo tanto es raro que una persona lo use directamente.<br /> Segunda generación<br />*El lenguaje de programación de segunda generación (por sus siglas en inglés: 2GL), es el lenguaje ensamblador. Se considera de segunda generación porque, aunque no es lenguaje nativo del microprocesador, un programador de lenguaje ensamblador debe conocer la arquitectura del microprocesador (como por ejemplo las particularidades de sus registros o su conjunto de instrucciones).<br />
  8. 8. LENGUAJE DE MEDIO NIVEL<br />*Un lenguaje de programación de medio nivel se encuentra entre los lenguajes de alto nivel y los lenguajes de bajo nivel.<br />*Suelen ser clasificados de alto nivel, pero permiten ciertos manejos de bajo nivel. Son precisos para ciertas aplicaciones como la creación de sistemas operativos, ya que permiten un manejo abstracto (independiente de la máquina, a diferencia del lenguaje ensamblador), pero sin perder mucho del poder y eficiencia que tienen los lenguajes de bajo nivel.<br />
  9. 9. LENGUAJES DE ALTO NIVEL<br />*Un lenguaje de programación de alto nivel se caracteriza por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de a la capacidad ejecutora de las máquinas.<br />Ventajas<br />*Genera un código más sencillo y comprensible.<br />*Escribir un código válido para diversas máquinas y, posiblemente, sistemas operativos.<br />Inconvenientes<br />*Reducción de velocidad al ceder el trabajo de bajo nivel a la máquina.<br />*Algunos requieren que la máquina cliente posea una determinada plataforma.<br />
  10. 10. PRINCIPALES LEGUAJES DE ALTO NIVEL<br />Ada , ALGOL, BASIC, C++, C#, Clipper, COBOL, Fortran, Haskell, Java, Lisp,Logo<br />MATLAB, Modula-2, Pascal, Perl, PL/SQL, Python, RPG.<br />
  11. 11. INTERPRETES Y COMPILADORES<br />*Existen dos tipos principales de traductores de los lenguajes de programación de alto nivel: <br />*Compilador, que analiza el programa fuente y lo traduce a otro equivalente escrito en otro lenguaje (por ejemplo, en el lenguaje de la máquina). Su acción equivale a la de un traductor humano, que toma un libro y produce otro equivalente escrito en otra lengua.<br />*Intérprete, que analiza el programa fuente y lo ejecuta directamente, sin generar ningún código equivalente. Su acción equivale a la de un intérprete humano, que traduce las frases que oye sobre la marcha, sin producir ningún escrito permanente. <br />
  12. 12. LENGUAJES DE CUARTA GENERACION<br />*Son lenguajes que se relacionan menos con procedimientos .<br />*Algunas características incluyen capacidades de consulta y base de datos, de creación de códigos y capacidades gráficas.<br />*Ejemplos Visual C++, Visual Basic, PowerBuilder, Delphi, Forte y muchos otros.<br />-------- ------------------------------------------------------------------------------------<br />*Lenguajes de consulta son utilizados para hacer preguntas ala computadora con frases parecidas alas de un idioma, ejemplo el inglés.<br />*Lenguaje de consulta estructurado. Lenguaje estándar que a menudo se usa para realizar consultas y manipulaciones a la base de datos.<br />
  13. 13. LENGUAJES DE QUINTA GENERACION<br />*Alrededor de la mitad 1998 surgieron gripos de herramientas de lenguajes de quinta generación, los cuales combinan la creación de códigos basadas en reglas, la administración de reutilización y otros avances.<br />*Programación basada en conocimiento. Método para el desarrollo de programas de computación en el que se le ordena ala computadora realizar un propósito en vez de instruirla para hacerlo.<br />EJEMPLOS<br />*Ejemplo: CPU. Monitor Teclado Mouse, etc.<br />*Dispositivos USB, dispositivos de cámaras, escanees, dispositivos de impresora y game pad, etc<br />
  14. 14. EVOLUCION DE LOS LENGUAJES DE PROGRAMACION.<br />*Un lenguaje de programación es una serie de comandos que nos permiten codificar instrucciones de manera que sean entendidas y ejecutadas por una computadora. <br />Estructurados vs no estructurados<br />*A partir de C el gran lenguaje, y Pascal; se dividen los lenguajes en estructurados (aquellos que en su codificación usaban una estructura jerárquica de procedimientos y funciones), en contraposición a los lenguajes no estructurados como el Basic cuya codificación se basaba en líneas de programación, permitiendo al programador "saltar" de una línea de instrucción a otra, haciendo que el código fuera algunas veces inentendible y muy difícil de mantener (modificar) porque no seguía una estructura. <br />*Basic de todos modos evolucionó, primero con el ahora primitivo GW Basic, teniendo su máxima expresión con el Quick Basic del D.O.S. 5.0, el cual ya incluía algunos conceptos mas de avanzada y más "aggiornados" a lo que eran sus contrapartes estructuradas. <br />
  15. 15. *1985-1990 y el nacimiento del Xbase<br />dBase fue el gran desarrollo para base de datos de los años 80. Bajo la batuta de la firma Ashton Tate, empresa que dio origen a un interprete de bases de datos muy sencillo y poderoso: dBbase II. Luego vinieron el dBase III+ que hizo furor, y la etapa de la decadencia para dBase: el dBase IV, ya bajo la dirección de Borland. <br />*Así surgió el gran compilador Clipper, de Nantucket Corp., en su versión Autumm 86 que permitía generar ejecutables libres de royalties y sin runtimes, incluso tomando en forma directa el código dBase. Pero no solo era eso, proveia cientos de comandos y funciones para potenciar al dBase. <br />*Al ver el éxito de dBase y Clipper, surgió la empresa Fox Software que desarrollo el FoxBase (un clon de dBase III+) y supero al "maestro" con su versión Fox Plus, pero aun así, nunca pudo superar a Clipper ya que siempre lidio con su política de necesitar de runtimes para su ejecución, cosa que Clipper nunca necesitó. <br />
  16. 16. *Los primeros años, 1990-1995: Las bases de datos relacionalesA principios de la década pasada, se nota la evolución de los lenguajes de programación. En forma profesional y aplicaciones de alto nivel, el lenguaje preferido era C.<br />*Para el aprendizaje se usaba Pascal, que permitía inculcar el concepto de programación estructurada. <br />*También Basic, era un lenguaje utilizado, no en pocas ocasiones en forma profesional, aunque con ciertas limitaciones; su reinado estuvo en los años 80. <br />*En lenguaje C, fue y todavía es el gran artífice de la computación actual. A partir de el se desarrollaron compiladores que realmente constituían otros lenguajes de programación. Es decir un lenguaje que crea otros lenguajes. Tal es el caso de la estrella de la primera mitad de la década pasada: Clipper de Nantucket Corp., el gran compilador de lenguaje Xbase. Clipper fue criticado por los profesionales de la programación quienes aducían que no era un lenguaje, sino un simple compilador nacido de la necesidad de aligerar la ejecución de código del Interprete que le dio su origen, es decir el dBase. Pero realmente Clipper, gracias a llevar dentro su código un corazón de lenguaje C, fue muy fácil de utilizar y alcanzo gran popularidad. <br />
  17. 17. * La segunda mitad, 1995-2000: La orientación a objetos.A medida que los años van pasando el concepto de Bases relacionales empieza a decaer relativamente, surge entonces una variante que se aplica a todos los lenguajes: La orientación a objetos. Ya no solo se habla de programación estructurada, sino que los módulos de programación son vistos como objetos, las estructuras representan objetos y/o funciones que se adaptan en forma general a procesos específicos es la maximización de la programación modular. <br />*El modelo de objetos engloba los conceptos de encapsulación, herencia y poliformismo, el cual se aplica a los datos y al tipo de bases de datos que almacena la información. <br />*La orientación a objetos significa la agrupación de entidades de datos de forma global, de tal manera que puedan ser interpretados de una forma común por una misma estructura de programación. <br />
  18. 18. *El fin de los lenguajes D.O.S.: Windows 95 Windows 95 marca el comienzo del fin de la programación D.O.S. y por lo tanto de los lenguajes basados en este. Este proceso no fue enérgico, todavía hoy (2000), estamos viviendo esta etapa. Todavía hay numerosos y excelentes sistemas desarrollados bajo entorno D.O.S. ejecutándose pero cada vez son los menos. <br />*Veamos que hicieron los lenguajes D.O.S. para mantenerse en el mercado: <br />*Clipper trato de evolucionar hacia Windows bajo la batuta de Computer Associates con el nombre de Visual Objects, el cual fue un fracaso. Al igual que Visual Dbase 5.0 bajo la órbita de Borland. <br />*Los únicos "sobrevivientes" al menos en esencia son Visual Fox (Microsoft), Visual Basic (Microsoft), Delphi (Borland) y Visual C (Microsoft) <br />
  19. 19. *> 2000 y más allá: lenguajes visualesCon al llegada de Windows todo es Visual, todo es iconos, todo es botones, todo es Ventanas. Para programar en lenguajes visuales, primero hay que comprender lo que es Windows. La forma de programar los sistemas evolucionó radicalmente. Con Windows es preciso programar conservando las convenciones del mismo, guardando sus características y funcionalidades. Los sistemas hechos para Windows, deben ser tan Windows como el propio sistema operativo. <br />*La forma de programar se basa en objetos, cada uno de los cuales tiene sus Propiedades y funciones. Se basa en la programación de eventos para dichos objetos. Otro detalle es que la programación se basa en componentes (OLE, OCX, ActiveX), los cuales reducen notablemente el trabajo de la programación al proporcionar herramientas antes impensadas en la programación D.O.S. <br />*Todos los lenguajes visuales ofrecen RAD (Rapid Aplication Development) o Wizzards; con lo cual comenzaron a prometer hacer aplicaciones en poco tiempo, incluso para inexpertos. Lejos estaban ya los tiempos en que programar era solo usar un simple editor de textos. Ahora las herramientas de programación son poderosas. Son casi un sistema operativo, por asi decirlo; con entornos de desarrollo avanzados y excelentes Debuggers. <br />
  20. 20. *Los paradigmas de la programación Windows son: - Borland Delphi (la evolución del Pascal)- Visual Fox (la evolución del Xbase) - Visual Basic (la evolución de Basic) - Visual C (la evolución del C) <br />*Las incursiones cada mas innovadoras de Microsoft parecen imponer a la web como el centro de desarrollo de aplicaciones: Microsoft .NET <br />*Una visión a la WEB y al futuro: HTML, Perl, PHP, Pithon, Java y otrosInternet ha sido el disparador de nuevos lenguajes tales como el HTML que es el lenguaje de programación de las páginas WEB para hipertexto. El mismo constituye una codificación bastante simple, basada en marcadores (TAGs). <br />*De la misma manera, cuando se hace necesario proveer de funciones adicionales a un servicio web se recurre a Perl o a Pithon que son lenguajes que nos permiten escribir scripts para ser alojados en los servidores a efectos de proveer contadores, estadísticas, rankings, etc. <br />*Por otra parte Java, bajo la dirección de SUN, constituye la idea de la programación abierta y universal para las aplicaciones de escritorio, pero todavía los estándares visuales (C, Basic y Delphi), son demasiado poderosos como para desplazarlos, a pesar de que Java promete también ser un lenguaje de excelentes prestaciones. <br />*Las nuevas tecnologías WEB inundan el mercado: PHP, ASP, XML, DHTML, lo cual enriquecen la forma de manejar la información y su presentación al usuario final. <br />
  21. 21. Conclusiones<br />Es de esperarse que los lenguajes Visuales dominen el mundo de las PCs durante mucho tiempo, por lo menos mientras no evolucionen de otra manera los Sistemas Operativos. Los lenguajes de programación evolucionan a medida que lo hacen los Sistemas Operativos en que funcionan, siempre ha sido así. Nunca un lenguaje de programación determinó un Sistema Operativo, por el contrario los Sistemas Operativos determinaron los lenguajes de programación. <br />
  22. 22. PROGRAMACION<br />*Programación es aquella actividad por la cual se crean programas para computadoras, tales programas pueden ser códigos fuentes interpretados (como por ejemplo scripts en BASH) o códigos fuentes que serán compilados (como por ejemplo programas en C++) hacia lenguajes binarios y ejecutados desde el kernel del sistema operativo. <br />*No es normal escribir un programa en lenguaje de máquina dado que es muy difícil, en cambio, se utilizan lenguajes de programación inteligibles por un ser humano. No es necesario que un programa sea escrito en un sólo lenguaje, puede poseer diversas partes escritas en distintos lenguajes de programación, como por ejemplo C, C++ y Asm.<br />*La diferencia entre algoritmo y programa es que este último implementa, en general, traduciendo a un lenguaje de programación en concreto, un algoritmo, el cual es una secuencia finita, ordenada y no ambigua de instrucciones que resuelven determinado problema. Esta secuencia de instrucciones luego podrá ser repetida cuantas veces sea necesario, dentro del mismo programa, o con la ejecución del programa en varias oportunidades.<br />
  23. 23. FASES PARA EL DESARROLLO DE UN SISTEMA DE INFORMACION<br />Análisis de Sistemas de Computación<br />*Es un conjunto o disposición de procedimientos o programas relacionados de manera que juntos forman una sola unidad. Un conjunto de hechos, principios y reglas clasificadas y dispuestas de manera ordenada mostrando un plan lógico en la unión de las partes. Un método, plan o procedimientode clasificación para hacer algo. También es un conjunto o arreglo de elementos para realizar un objetivo predefinido en el procesamiento de la Información. <br />Objetivos del Análisis<br />*Es el primer paso del análisis del sistema, en este proceso en Analista se reúne con el cliente y/o usuario (un representante institucional, departamental o cliente particular), e identifican las metas globales, se analizan las perspectivas del cliente, sus necesidades y requerimientos, sobre la planificación temporal y presupuestal, líneas de mercadeo y otros puntos que puedan ayudar a la identificación y desarrollo del proyecto.<br />
  24. 24. Análisis Económico y Técnico<br />*El análisis económico incluye lo que llamamos, el análisis de costos – beneficios, significa una valoración de la inversióneconómica comparado con los beneficios que se obtendrán en la comercialización y utilidad del producto o sistema.<br />*En el Análisis Técnico, el Analista evalúa los principios técnicos del Sistema y al mismo tiempo recoge información adicional sobre el rendimiento, fiabilidad, características de mantenimiento y productividad.<br />Diseño de sistemas de computación<br />*El Diseño de Sistemas se define el proceso de aplicar ciertas técnicas y principios con el propósito de definir un dispositivo, un proceso o un Sistema, con suficientes detalles como para permitir su interpretación y realización física.<br />*La etapa del Diseño del Sistema encierra cuatro etapas:<br />*El diseño de los datos<br />*El Diseño Arquitectónico<br />*El Diseño de la Interfaz<br />*El Diseño de procedimientos<br />El Diseño debe proporcionar una completa idea de lo que es el Software, enfocando los dominios de datos, funcional y comportamiento desde el punto de vista de la Implementación.<br />
  25. 25. Diseño de la Salida<br />*En este caso salida se refiere a los resultados e informaciones generadas por el Sistema, Para la mayoría de los usuarios la salida es la única razón para el desarrollo de un Sistema y la base de evaluación de su utilidad. <br />Herramientas para el Diseño de Sistemas<br />*Apoyan el proceso de formular las características que el sistema debe tener para satisfacer los requerimientos detectados durante las actividades del análisis:<br />Herramientas de especificación<br />*Apoyan el proceso de formular las características que debe tener una aplicación, tales como entradas, Salidas, procesamiento y especificaciones de control. Muchas incluyen herramientas para crear especificaciones de datos. <br />Herramientas para presentación<br />*Se utilizan para describir la posición de datos, mensajes y encabezados sobre las pantallas de las terminales, reportes y otros medios de entrada y salida.<br />Herramientas para el desarrollo de Sistemas<br />*Estas herramientas nos ayudan como analistas a trasladar diseños en aplicaciones funcionales.<br />
  26. 26. Herramientas para Ingeniería de Software<br />*Apoyan el Proceso de formular diseños de Software, incluyendo procedimientos y controles, así como la documentación correspondiente.<br />Generadores de códigos<br />*Producen el código fuente y las aplicaciones a partir de especificaciones funcionales bien articuladas. <br />Herramientas para pruebas<br />*Apoyan la fase de la evaluación de un Sistema o de partes del mismo contra las especificaciones. Incluyen facilidades para examinar la correcta operación del Sistema así como el grado de perfección alcanzado en comparación con las expectativas. <br />
  27. 27. Análisis de Sistemas de Apoyo a Decisiones Semiestructuradas<br />*Para poderobtener buenos resultados en los sistemas de apoyo a decisiones estructuradas, debe tener en cuenta: <br />*Si es analítico o heurístico<br />*Cómo son tomadas la decisiones en las tres fases de resolución de problemas de inteligencia<br />*El uso de los métodos de criterios múltiples útiles para la resolución de problemas semiestructurados.<br />*Estos sistemas pueden funcionar de varias formas es decir, la organización de la información para las situaciones de decisión, la interacción con los tomadores de decisiones que llevan consigo la expansión en la toma de decisiones, la forma de presentar la información para su mejor comprensión añadiendo modelos y criterios múltiples.<br />Sistemas de apoyo a Decisiones<br />Características de un sistema de apoyo a decisiones<br />*Debemos tener en cuenta que un sistema de apoyo a decisiones lo definiremos como la manera de organización de información que se pretende usar en la toma de decisiones. Para lo cual al presentar la información debe estar diseñada basándose en la solución de problemas y esto debe darse ya que el usuario no debe tomar la decisión, sino el DSS.<br />*Un DSS permite al tomador de decisiones interactuar con él, y esto debe verse en la interfaz del usuario.<br />*Un DSS puede ser construido para dar soporte a decisiones de una sola vez y son aquellas que son poco frecuentes a otras que suceden rutinariamente.<br />*Un DSS debe ser diseñado típicamente para decisiones de un particular o para un grupo, es decir que el usuario entienda mejor las soluciones por medio de gráficas, tablas u otro medio de presentación y que sea de interfaz para el usuario.<br />
  28. 28. Conceptos del proceso de Toma de decisiones relevantes para los DSS<br />*Para la toma de decisiones sabemos que es necesario hacer uso de la información como, el uso de teorías, que tiene como consecuencia el acierto, la incertidumbre y el riesgo, es por eso que debemos diferenciar si el tomador de decisiones en analítico o heurístico y es importante que estos tomen en cuenta las fases de solución como son la inteligencia, la selección y el diseño, tal como se le da soporte en los sistemas de apoyo a decisiones.<br />Conclusiones<br />*En Conclusión un proyecto de desarrollo de un Sistema de Información comprende varios componentes o pasos llevados a cabo durante la etapa del análisis, el cual ayuda a traducir las necesidades del cliente en un modelo de Sistema que utiliza uno mas de los componentes: Software, hardware, personas, base de datos, documentación y procedimientos.<br />*En una organización o Empresa, el análisis y Diseño de Sistemas, es el proceso de estudiar su Situación con la finalidad de observar como trabaja y decidir si es necesario realizar una mejora; el encargado de llevar a cabo estas tareas es el analista de sistemas. <br />
  29. 29.  La lógica como aspecto fundamental de la programación.<br />*Es la capacidad de pensar racionalmente acerca de soluciones alternativas y los resultados de aplicarlas, y por lo tanto, de hacer elecciones inteligentes.<br />*Definiciones de Lógica:- Es el estudio crítico del razonamiento y tiene un valor teórico y práctico.- Es el estudio de los métodos y principios usados al distinguir entre los argumentos correctos (buenos) y los argumentos incorrectos (malos).- En un sentido amplio, es el estudio del correcto razonamiento.<br />*La lógica se remonta a la época de Aristóteles en el siglo IV antes de Cristo. En lógica, Aristóteles desarrolló reglas para establecer un razonamiento encadenado que, si se respetaban, no producirían nunca falsas conclusiones si la reflexión partía de premisas verdaderas (reglas de validez). En el ejemplo más famoso, "Todos los humanos son mortales" y "Todos los griegos son humanos", se llega a la conclusión válida de que "Todos los griegos son mortales"<br />*¿Qué es Lógica?<br />*Lógica DeductivaEs la que se encarga de determinar la validez o invalidez de los argumentos. Permite proporcionar la simbología que nos servirá para facilitar el desarrollo de la capacidad de análisis de problemas, para obtener una solución posible.<br />*Argumentos.Cuando el razonamiento se expresa con palabras, recibe el nombre de "argumento". Un argumento es un grupo cualquiera de proposiciones o enunciados que forman premisas y conclusiones. Este puede constar de varias premisas pero de una sola conclusión.<br />
  30. 30. Premisas y Conclusión<br />Las premisas de un argumento son proposiciones afirmadas como fundamento o razones para aceptar una conclusión. La conclusión es la proposición afirmada que se basa en las otras proposiciones o premisas. Una proposición puede ser premisa en un argumento y conclusión en otro. Por ejemplo: "Todos los hombres son mortales" Aparece como premisa en el siguiente argumento:<br />"Todos los hombres son mortales""Sócrates es un hombre""Por lo tanto, Sócrates es mortal ".<br />Y como conclusión en el siguiente argumento:" Todos los animales son mortales""Todos los hombres son animales""Luego, todos los hombres son mortales"<br />Expresiones como "por tanto", "por lo cual", "de ello se deduce", sirven para introducir la conclusión de un argumento, en tanto que "pues" y "porque" se emplean para introducir las premisas.<br />
  31. 31. Otro Ejemplo:<br />"Todos se aburren en la conferencia"."Ninguno de los que se aburren presta atención"."Por consiguiente, ninguno de los asistentes está prestando atención".Hay dos condiciones que debe satisfacer un argumento para establecer la verdad de su conclusión: Debe ser válido y todas sus premisas deben ser verdaderas.<br />*Enunciado Simple:<br />Es el que no contiene otro enunciado como parte componente. Ej. "Las rosas son rojas"<br />*Enunciado compuesto:<br />*Es el que se compone de varios enunciados. Ej. "Las rosas son rojas y las violetas son azules".Cuando los enunciados se unen por la conjunción Y, se denominan Enunciados conyuntos.<br />*Cuando los enunciados se unen por el conector o, se denominan Enunciados disyuntos. De aquí surgen las siguientes tablas de verdad:<br />
  32. 32. *Ejemplos de aplicación de estas tablas de verdad:Si A y B son valores verdaderos y P y Q son falsos, cuál es el valor de verdad de las siguientes expresiones:1. not (A or B) and (P and not Q)<br />*Solución: Evaluamos primero los paréntesis, comenzando con el primero. En la tabla OR buscamos a qué equivalen Verdadero or Verdadero (porque A y B son verdaderos según el enunciado). Obtenemos que es Verdadero. Como la expresión está negada, su valor opuesto es Falso. Al evaluar el segundo paréntesis, Q es falso y al negarlo nos queda verdadero. Luego, si P es falso nos queda Falso and Verdadero, y esto es igual a Falso.<br />
  33. 33. PROGRAMACION ORIENTADA A OBJETOS EN PHP<br />*La programación orientada a objetos es una metodología de programación avanzada y bastante extendida, en la que los sistemas se modelan creando clases, que son un conjunto de datos y funcionalidades. Las clases son definiciones, a partir de las que se crean objetos. Los objetos son ejemplares de una clase determinada y como tal, disponen de los datos y funcionalidades definidos en la clase. <br />*La programación orientada a objetos permite concebir los programas de una manera bastante intuitiva y cercana a la realidad. La tendencia es que un mayor número de lenguajes de programación adopten la programación orientada a objetos como paradigma para modelizar los sistemas. Prueba de ello es la nueva versión de PHP (5), que implanta la programación de objetos como metodología de desarrollo. También Microsoft ha dado un vuelco hacia la programación orientada a objetos, ya que .NET dispone de varios lenguajes para programar y todos orientados a objetos.<br />Las clases<br />Una clase es un conjunto de variables, llamados atributos, y funciones, llamadas métodos, que trabajan sobre esas variables. Las clases son, al fin y al cabo, una definición: una especificación de propiedades y funcionalidades de elementos que van a participar en nuestros programas. <br />
  34. 34. LENGUAJE DE PROGRAMACION HTML<br />*Lenguaje HTML<br />*Desde el surgimiento de internet se han publicado sitios web gracias al lenguaje HTML. Es un lenguaje estático para el desarrollo de sitios web (acrónimo en inglés de HyperText Markup Language, en español Lenguaje de Marcas Hipertextuales). Desarrollado por el World Wide Web Consortium (W3C). Los archivos pueden tener las extensiones (htm, html).<br />Ventajas<br />*Sencillo que permite describir hipertexto.<br />*Texto presentado de forma estructurada y agradable.<br />*No necesita de grandes conocimientos cuando se cuenta con un editor de páginas web o WYSIWYG.<br />*Archivos pequeños.<br />*Despliegue rápido.<br />*Lenguaje de fácil aprendizaje.<br />*Lo admiten todos los exploradores.<br />Desventajas<br />*Lenguaje estático.<br />*La interpretación de cada navegador puede ser diferente.<br />*Guarda muchas etiquetas que pueden convertirse en “basura” y dificultan la corrección.<br />*El diseño es más lento.<br />*Las etiquetas son muy limitadas.<br />
  35. 35. LENGUAJE DE PROGRAMACION ASP.NET<br />*Este es un lenguaje comercializado por Microsoft, y usado por programadores para desarrollar entre otras funciones, sitios web. ASP.NET es el sucesor de la tecnología ASP, fue lanzada al mercado mediante una estrategia de mercado denominada .NET. <br />*El ASP.NET fue desarrollado para resolver las limitantes que brindaba tu antecesor ASP. Creado para desarrollar web sencillas o grandes aplicaciones. Para el desarrollo de ASP.NET se puede utilizar C#, VB.NET o J#. Los archivos cuentan con la extensión (aspx). Para su funcionamiento de las páginas se necesita tener instalado IIS con el Framework .Net. Microsft Windows 2003 incluye este framework, solo se necesitará instalarlo en versiones anteriores.<br />Ventajas<br />*Completamente orientado a objetos.<br />*Controles de usuario y personalizados.<br />*División entre la capa de aplicación o diseño y el código.<br />*Facilita el mantenimiento de grandes aplicaciones.<br />*Incremento de velocidad de respuesta del servidor.<br />*Mayor velocidad.<br />*Mayor seguridad.<br />Desventajas<br />*Mayor consumo de recursos.<br />
  36. 36. Algoritmos en programación<br />Un programa de computadora es un algoritmo que le dice a la computadora los pasos específicos para llevar acabo una tarea. Los algoritmos son rigurosamente definidos para que la computadora pueda interpretarlos. El orden en que se ejecuta cada uno de los pasos que constituyen un algoritmo es fundamental. El orden más básico es de arriba hacia abajo, ejecutándose una instrucción tras otra de un código. Pero un algoritmo puede variar en su flujo u orden de ejecución de pasos dependiendo de los valores de inicio o que entran durante su ejecución. El flujo es manejado por las estructuras de control.Algunos autores consideran que el flujo de ejecución de un algoritmo debe detenerse correctamente alguna vez, y que esto forma parte de la definición de algoritmo. En tanto, otros no lo consideran así.<br />Algoritmos predefinidos<br />Existen algoritmos ya definidos matemáticamente que son muy eficientes, como los algoritmos de búsqueda o el algoritmo de Dijkstra, y suelen ser tomados por otros programadores para utilizarlos dentro de sus propios códigos.<br />
  37. 37. DEFINICION<br />*Podemos encontrar muchas definiciones de algoritmo en los textos de programación, todas ellas muy similares:<br />*Conjunto ordenado y finito de pasos que permite hallar la solución de un problema.<br />*Una secuencia de pasos que conducen a la realización de una tarea.<br />*Descripción exacta de la secuencia en que se ha de realizar un conjunto de actividades tendientes a resolver un determinado tipo de problema o procedimiento.<br />*Conjunto de sentencias / instrucciones en lenguaje nativo, los cuales expresan la lógica de un programa.<br />*Es un sistema por el cual se llega a una solución, teniendo en cuenta que debe de ser definido, finito y preciso.<br />*Toda receta, proceso, rutina, método, procedimiento, técnica, formula que resuelven un determinado problema.<br />*Conjunto de instrucciones concretas y detalladas mediante el cual se consigue una acción determinada.<br />*Conjunto de reglas que permiten obtener un resultado determinado a partir de ciertas reglas definidas.<br />*Descripción precisa de una sucesión de instrucciones que permite llevar a cabo un trabajo en un número finito de pasos.<br />*Un conjunto de símbolos y procedimientos usados en la realización de un cálculo.<br />
  38. 38. PROPIEDADES<br />*Como todo algoritmo de búsqueda en anchura, A* es un algoritmo completo: en caso de existir una solución, siempre dará con ella.<br />*Si para todo nodo n del grafo se cumple g(n) = 0, nos encontramos ante una búsqueda voraz. Si para todo nodo n del grafo se cumple h(n) = 0, A* pasa a ser una búsqueda de coste uniforme no informada.<br />*Para garantizar la optimalidad del algoritmo, la función h(n) debe ser admisible, esto es, que no sobrestime el coste real de alcanzar el nodo objetivo.<br />*De no cumplirse dicha condición, el algoritmo pasa a denominarse simplemente A, y a pesar de seguir siendo completo, no se asegura que el resultado obtenido sea el camino de coste mínimo. Asimismo, si garantizamos que h(n) es consistente (o monótona), es decir, que para cualquier nodo n y cualquiera de sus sucesores, el coste estimado de alcanzar el objetivo desde n no es mayor que el de alcanzar el sucesor más el coste de alcanzar el objetivo desde el sucesor.<br />
  39. 39. SIMBOLOS EN ORGANIGRAMAS <br />Reglas para dibujar un diagramas de flujo<br />*Los Diagramas de flujo se dibujan generalmente usando algunos símbolos estándares; sin embargo, algunos símbolos especiales pueden también ser desarrollados cuando séan requeridos. <br />Inicio o fin del programa<br />Pasos, procesos o líneas de instruccion de programa de computo<br />Operaciones de entrada y salida<br />Toma de desiciónes y Ramificación<br />Conector para unir el flujo a otra parte del diagrama<br />Cinta magnética<br />Disco magnético<br />Conector de pagina<br />Líneas de flujo<br />Anotación<br />Display, para mostrar datos <br />Envía datos a la impresora<br />
  40. 40. Simbolos gráficos<br />*Dentro de los simbolos fundamentales para la creaación de diagramas de flujo, los símbolos gráficos son utilizádos especificamente para para operaciónes aritméticas y relaciónes condicionales. La siguiente es una lista de los símbolos más comunmente utilizados:<br /> <br />
  41. 41. +Sumar<br />-Menos<br />*Multiplicación<br />/División<br />±Mas o menos<br />=Equivalente a<br />> Mayor que<br />< Menor que<br />³Mayor o igual que<br />£Menor o igual que<br />¹ o <>Diferente de<br /> <br />Si<br /> <br />No<br />True<br />False<br />
  42. 42. Los símbolos que se utilizan en la confeccion de un organigrama se agrupan en 3 grupos:<br /> Símbolo de Soporte<br /> Símbolo de Proceso<br /> Símbolo de Flujo<br />Símbolo de Soporte: Representan los soportes fisico donde se encuentra los datos de entrada y donde van a ser registrados los resultados. Suelen tener una configuración que por si sola indica característica de soporte:<br />E= Soporte de Entrada<br />S= Soporte de Salida<br />E/S= Soporte de Entrada y Salida<br />Representan el programa o un conjunto de operaciones que se realizan en un determinado trabajo completo. Para la representación de Procesos Tipicos se utilizan símbolos especificos como puede ser el de la clasificacion siguiente:<br />Proceso Operación Aux. Clasificacion Fusion de Participación <br />De Datos Archivo de Archivo<br />Indica el sentido del movimiento de los datos en formaciones y si realiza otro movimiento a corta o larga distancia direccion de flujo.<br />
  43. 43. ORGANIGRAMA VARIABLE <br />*Es un grupo de datos que puede variar o alterarse durante la ejecución del algoritmo o la ejecución del programa, se les identifica por los siguientes atributos: <br />*El Nombre o identificador que se le asignaEl tipo que describe el uso de la variableEl valor de la variable que es la cantidad que tiene asociada en un determinado momento <br />* Una variable de un tipo determinado solo puede tomar valores de ese tipo .<br />TIPOS DE VARIABLES <br />Las variables puede ser identificadas de acuerdo a la función que asume en el algoritmo, como: <br />CONTADOR <br />Sirve para llevar una cuenta con incrementos o decrementos constantes, generalmente de 1 en 1. <br />Ej.: Cumpleaños, variable que acumula el número de cumpleaños año con año <br />Requiere de las siguientes instrucciones: <br />Cumpleaños = 1 <br />//inicializar en uno <br />Cumpleaños = Cumpleaños + 1 //Cumpleaños <br />aumenta en uno cada año <br />
  44. 44. TIPOS DE VARIABLES <br />ACUMULADOR <br />Sirve para llevar una suma o cuenta de diferentes valores (acumular). <br />Ej.: SEdad variable que almacena la suma de las edades de una cantidad de personas. <br />Requiere de las siguientes instrucciones: <br />SEdad = 0 <br />// Inicializa en cero <br />SEdad = SEdad + Edad <br />// SEdad se incrementa en el <br />valor de <br />Edad <br />Inicializar, significa poner en blanco o en cero una variable o campo antes de su utilización. <br />Los acumuladores y contadores por lo general se inicializan en cero. <br />TIPOS DE VARIABLES <br />VARIABLE DE TRABAJO <br />Campo que almacena temporalmente el resultado de alguna operación. No es variable de entrada ni de salida. <br />Ej.: Me piden encontrar el área de un cuadrado, para ello necesito el valor para el Lado <br />AREACUADRADO = LADO x LADO <br />
  45. 45. OPERADORES DE CODIGO<br />PSEODOCÒDIGO<br />*Pseudocódigo es la descripción de un algoritmo que asemeja a un lenguaje de programación pero con algunas convenciones del lenguaje natural (de ahí que tenga el prefijo pseudo, que significa falso). Tiene varias ventajas con respecto a los diagramas de flujo, entre las que se destaca el poco espacio que se requiere para representar instrucciones complejas. El pseudocódigo no está regido por ningún estándar.<br />DIAGRAMA DE FLUJO<br />*Los diagramas de flujo son descripciones gráficas de algoritmos; usan símbolos conectados con flechas para indicar la secuencia de instrucciones y están regidos por ISO.<br />*Los diagramas de flujo son usados para representar algoritmos pequeños, ya que abarcan mucho espacio y su construcción es laboriosa. Por su facilidad de lectura son usados como introducción a los algoritmos, descripción de un lenguaje y descripción de procesos a personas ajenas a la computación.<br />

×