presentacion de lenguajes de programacion grado 9.2

46
TRABAJO PRESENTADO POR DANIELA MORENO A Ing. LORENA CERÓN.

Upload: danny7206

Post on 19-Jun-2015

3.526 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Presentacion de lenguajes de programacion grado 9.2

TRABAJO PRESENTADO POR

DANIELA MORENOA Ing.

LORENA CERÓN.

Page 2: Presentacion de lenguajes de programacion grado 9.2

LENGUAJES DE PROGRAMACION

*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.

* 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.

*DEPURAR: Es el proceso de identificar y corregir errores de programación.

*COMPILAR: Proceso de traducción de un código fuente a lenguaje máquina

*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.

*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

Page 3: Presentacion de lenguajes de programacion grado 9.2

LENGUAJE DE BAJO NIVEL * 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.

*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.

* 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.

*ABSTRACCIÓN: consiste en aislar un elemento de su contexto o del resto de los elementos que lo acompañan

Page 4: Presentacion de lenguajes de programacion grado 9.2

VENTAJAS E INCONVENIENTES

Ventajas

*Mayor adaptación al equipo.*Posibilidad de obtener la máxima velocidad con mínimo

uso de memoria.Inconvenientes

*Imposibilidad de escribir código independiente de la máquina.

*Mayor dificultad en la programación y en la comprensión de los programas.

*El programador debe conocer más de un centenar de instrucciones.

*Es necesario conocer en detalle la

Page 5: Presentacion de lenguajes de programacion grado 9.2

EJEMPLOS DE LENGUAJES DE BAJO NIVEL

Lenguajes de Bajo Nivel.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:

ADD M, N, PEsta 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”.

Page 6: Presentacion de lenguajes de programacion grado 9.2

0110 1001 1010 1011

*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.

*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.

*El traductor de programas fuente a objeto es un programa llamado ensamblador, existente en casi todos los computadores.

Nemotécnicos:

*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.

Page 7: Presentacion de lenguajes de programacion grado 9.2

Primera generación

*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.

Segunda generación

*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).

Page 8: Presentacion de lenguajes de programacion grado 9.2

LENGUAJE DE MEDIO NIVEL

*Un lenguaje de programación de medio nivel se encuentra entre los lenguajes de alto nivel y los lenguajes de bajo nivel.

*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.

Page 9: Presentacion de lenguajes de programacion grado 9.2

LENGUAJES DE ALTO NIVEL

*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.

Ventajas

*Genera un código más sencillo y comprensible.

*Escribir un código válido para diversas máquinas y, posiblemente, sistemas operativos.

Inconvenientes

*Reducción de velocidad al ceder el trabajo de bajo nivel a la máquina.

*Algunos requieren que la máquina cliente posea una determinada plataforma.

Page 11: Presentacion de lenguajes de programacion grado 9.2

INTERPRETES Y COMPILADORES

*Existen dos tipos principales de traductores de los lenguajes de programación de alto nivel:

*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.

*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.

Page 12: Presentacion de lenguajes de programacion grado 9.2

LENGUAJES DE CUARTA GENERACION

*Son lenguajes que se relacionan menos con procedimientos .

*Algunas características incluyen capacidades de consulta y base de datos, de creación de códigos y capacidades gráficas.

*Ejemplos Visual C++, Visual Basic, Power Builder, Delphi, Forte y muchos otros.

-------- ------------------------------------------------------------------------------------

*Lenguajes de consulta son utilizados para hacer preguntas ala computadora con frases parecidas alas de un idioma, ejemplo el inglés.

*Lenguaje de consulta estructurado. Lenguaje estándar que a menudo se usa para realizar consultas y manipulaciones a la base de datos.

Page 13: Presentacion de lenguajes de programacion grado 9.2

LENGUAJES DE QUINTA GENERACION

*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.

*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.

EJEMPLOS

*Ejemplo: CPU. Monitor Teclado Mouse, etc.

*Dispositivos USB, dispositivos de cámaras, escanees, dispositivos de impresora y game pad, etc

Page 14: Presentacion de lenguajes de programacion grado 9.2

EVOLUCION DE LOS LENGUAJES DE PROGRAMACION.*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.

Estructurados vs no estructurados

*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.

*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.

Page 15: Presentacion de lenguajes de programacion grado 9.2

*1985-1990 y el nacimiento del Xbase

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.

*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.

*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ó.

Page 16: Presentacion de lenguajes de programacion grado 9.2

*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.

*Para el aprendizaje se usaba Pascal, que permitía inculcar el concepto de programación estructurada.

*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.

*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.

Page 17: Presentacion de lenguajes de programacion grado 9.2

* 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.

*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.

*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.

Page 18: Presentacion de lenguajes de programacion grado 9.2

*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.

*Veamos que hicieron los lenguajes D.O.S. para mantenerse en el mercado:

*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.

*Los únicos "sobrevivientes" al menos en esencia son Visual Fox (Microsoft), Visual Basic (Microsoft), Delphi (Borland) y Visual C (Microsoft)

Page 19: Presentacion de lenguajes de programacion grado 9.2

*> 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.

*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.

*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.

Page 20: Presentacion de lenguajes de programacion grado 9.2

*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)

*Las incursiones cada mas innovadoras de Microsoft parecen imponer a la web como el centro de desarrollo de aplicaciones: Microsoft .NET

*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).

*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.

*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.

*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.

Page 21: Presentacion de lenguajes de programacion grado 9.2

Conclusiones

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.

Page 22: Presentacion de lenguajes de programacion grado 9.2

PROGRAMACION

*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.

*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.

*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.

Page 23: Presentacion de lenguajes de programacion grado 9.2

FASES PARA EL DESARROLLO DE UN SISTEMA DE

INFORMACION Análisis de Sistemas de Computación

*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.

Objetivos del Análisis

*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.

Page 24: Presentacion de lenguajes de programacion grado 9.2

Análisis Económico y Técnico

*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.

*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.

Diseño de sistemas de computación

*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.

*La etapa del Diseño del Sistema encierra cuatro etapas:

*El diseño de los datos

*El Diseño Arquitectónico

*El Diseño de la Interfaz

*El Diseño de procedimientos

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.

Page 25: Presentacion de lenguajes de programacion grado 9.2

Diseño de la Salida

*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.

Herramientas para el Diseño de Sistemas

*Apoyan el proceso de formular las características que el sistema debe tener para satisfacer los requerimientos detectados durante las actividades del análisis:

Herramientas de especificación

*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.

Herramientas para presentación

*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.

Herramientas para el desarrollo de Sistemas

*Estas herramientas nos ayudan como analistas a trasladar diseños en aplicaciones funcionales.

Page 26: Presentacion de lenguajes de programacion grado 9.2

Herramientas para Ingeniería de Software

*Apoyan el Proceso de formular diseños de Software, incluyendo procedimientos y controles, así como la

documentación correspondiente.

Generadores de códigos

*Producen el código fuente y las aplicaciones a partir de especificaciones funcionales bien articuladas.

Herramientas para pruebas

*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.

Page 27: Presentacion de lenguajes de programacion grado 9.2

Análisis de Sistemas de Apoyo a Decisiones Semiestructuradas

*Para poder obtener buenos resultados en los sistemas de apoyo a decisiones estructuradas, debe tener en cuenta:

*Si es analítico o heurístico

*Cómo son tomadas la decisiones en las tres fases de resolución de problemas de inteligencia

*El uso de los métodos de criterios múltiples útiles para la resolución de problemas semiestructurados.

*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.

Sistemas de apoyo a Decisiones

Características de un sistema de apoyo a decisiones

*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.

*Un DSS permite al tomador de decisiones interactuar con él, y esto debe verse en la interfaz del usuario.

*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.

*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.

Page 28: Presentacion de lenguajes de programacion grado 9.2

Conceptos del proceso de Toma de decisiones relevantes para los DSS

*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.

Conclusiones

*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.

*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.

Page 29: Presentacion de lenguajes de programacion grado 9.2

 La lógica como aspecto fundamental de la programación.*Es la capacidad de pensar racionalmente acerca de soluciones alternativas y los

resultados de aplicarlas, y por lo tanto, de hacer elecciones inteligentes.*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.*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"*¿Qué es Lógica? *Lógica Deductiva

Es 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.

*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.

Page 30: Presentacion de lenguajes de programacion grado 9.2

Premisas y Conclusión

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:

"Todos los hombres son mortales" "Sócrates es un hombre"

"Por lo tanto, Sócrates es mortal ".

Y como conclusión en el siguiente argumento:" Todos los animales son mortales" "Todos los hombres son animales" "Luego, todos los hombres son mortales"

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.

Page 31: Presentacion de lenguajes de programacion grado 9.2

Otro Ejemplo:

"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.

*Enunciado Simple:

Es el que no contiene otro enunciado como parte componente. Ej. "Las rosas son rojas"

*Enunciado compuesto:

*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.

*Cuando los enunciados se unen por el conector o, se denominan Enunciados disyuntos. De aquí surgen las siguientes tablas de verdad:

Page 32: Presentacion de lenguajes de programacion grado 9.2

*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)

*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.

Page 33: Presentacion de lenguajes de programacion grado 9.2

PROGRAMACION ORIENTADA A OBJETOS EN PHP

*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.

*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.

Las clases

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.

Page 34: Presentacion de lenguajes de programacion grado 9.2

LENGUAJE DE PROGRAMACION HTML

*Lenguaje HTML*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).

Ventajas*Sencillo que permite describir hipertexto.*Texto presentado de forma estructurada y agradable.*No necesita de grandes conocimientos cuando se cuenta con un editor de páginas

web o WYSIWYG.*Archivos pequeños.*Despliegue rápido.*Lenguaje de fácil aprendizaje.*Lo admiten todos los exploradores.

Desventajas*Lenguaje estático.*La interpretación de cada navegador puede ser diferente.*Guarda muchas etiquetas que pueden convertirse en “basura” y dificultan la

corrección.*El diseño es más lento.*Las etiquetas son muy limitadas.

Page 35: Presentacion de lenguajes de programacion grado 9.2

LENGUAJE DE PROGRAMACION ASP.NET

*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.

*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.

Ventajas

*Completamente orientado a objetos.

*Controles de usuario y personalizados.

*División entre la capa de aplicación o diseño y el código.

*Facilita el mantenimiento de grandes aplicaciones.

*Incremento de velocidad de respuesta del servidor.

*Mayor velocidad.

*Mayor seguridad.

Desventajas

*Mayor consumo de recursos.

Page 36: Presentacion de lenguajes de programacion grado 9.2

Algoritmos en programación

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í.

Algoritmos predefinidos

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.

Page 37: Presentacion de lenguajes de programacion grado 9.2

DEFINICION

*Podemos encontrar muchas definiciones de algoritmo en los textos de programación, todas ellas muy similares:

*Conjunto ordenado y finito de pasos que permite hallar la solución de un problema.

*Una secuencia de pasos que conducen a la realización de una tarea.

*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.

*Conjunto de sentencias / instrucciones en lenguaje nativo, los cuales expresan la lógica de un programa.

*Es un sistema por el cual se llega a una solución, teniendo en cuenta que debe de ser definido, finito y preciso.

*Toda receta, proceso, rutina, método, procedimiento, técnica, formula que resuelven un determinado problema.

*Conjunto de instrucciones concretas y detalladas mediante el cual se consigue una acción determinada.

*Conjunto de reglas que permiten obtener un resultado determinado a partir de ciertas reglas definidas.

*Descripción precisa de una sucesión de instrucciones que permite llevar a cabo un trabajo en un número finito de pasos.

*Un conjunto de símbolos y procedimientos usados en la realización de un cálculo.

Page 38: Presentacion de lenguajes de programacion grado 9.2

PROPIEDADES

*Como todo algoritmo de búsqueda en anchura, A* es un algoritmo completo: en caso de existir una solución, siempre

dará con ella.*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.

*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.

*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.

Page 39: Presentacion de lenguajes de programacion grado 9.2

SIMBOLOS EN ORGANIGRAMAS

Reglas para dibujar un diagramas de flujo

*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.

Inicio o fin del programa Pasos, procesos o líneas de instruccion de programa de computo Operaciones de entrada y salida Toma de desiciónes y Ramificación Conector para unir el flujo a otra parte del diagrama Cinta magnética Disco magnético Conector de pagina Líneas de flujo Anotación Display, para mostrar datos Envía datos a la impresora

Page 40: Presentacion de lenguajes de programacion grado 9.2

Simbolos gráficos*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:

 

Page 41: Presentacion de lenguajes de programacion grado 9.2

+Sumar-Menos

*Multiplicación/División

±Mas o menos=Equivalente a> Mayor que< Menor que

³Mayor o igual que£Menor o igual que¹ o <>Diferente de

 Si 

No

True

False

Page 42: Presentacion de lenguajes de programacion grado 9.2

Los símbolos que se utilizan en la confeccion de un organigrama se agrupan en 3 grupos:

Símbolo de Soporte Símbolo de Proceso Símbolo de Flujo 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:

E= Soporte de Entrada S= Soporte de Salida E/S= Soporte de Entrada y Salida 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:

Proceso Operación Aux. Clasificacion Fusion de Participación De Datos Archivo de Archivo Indica el sentido del movimiento de los datos en formaciones y si

realiza otro movimiento a corta o larga distancia direccion de flujo.

Page 43: Presentacion de lenguajes de programacion grado 9.2

ORGANIGRAMA VARIABLE *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:

*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

* Una variable de un tipo determinado solo puede tomar valores de ese tipo .

TIPOS DE VARIABLES Las variables puede ser identificadas de acuerdo a la función que asume en

el algoritmo, como:

CONTADOR Sirve para llevar una cuenta con incrementos o decrementos constantes,

generalmente de 1 en 1. Ej.: Cumpleaños, variable que acumula el número de cumpleaños año con

año Requiere de las siguientes instrucciones: Cumpleaños = 1 //inicializar en uno Cumpleaños = Cumpleaños + 1 //Cumpleaños aumenta en uno cada año

Page 44: Presentacion de lenguajes de programacion grado 9.2

TIPOS DE VARIABLES ACUMULADOR

Sirve para llevar una suma o cuenta de diferentes valores (acumular). Ej.: SEdad variable que almacena la suma de las edades de una cantidad

de personas. Requiere de las siguientes instrucciones: SEdad = 0 // Inicializa en cero SEdad = SEdad + Edad // SEdad se incrementa en el valor de Edad Inicializar, significa poner en blanco o en cero una variable o campo antes

de su utilización. Los acumuladores y contadores por lo general se inicializan en cero. TIPOS DE VARIABLES VARIABLE DE TRABAJO Campo que almacena temporalmente el resultado de alguna operación. No

es variable de entrada ni de salida. Ej.: Me piden encontrar el área de un cuadrado, para ello necesito el valor

para el Lado AREACUADRADO = LADO x LADO

Page 45: Presentacion de lenguajes de programacion grado 9.2

OPERADORES DE CODIGOPSEODOCÒDIGO

*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.

DIAGRAMA DE FLUJO

*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.

*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.