[TEMA#1. CONCEPTOS BÁSICOS DE PROGRAMACIÓN] 10º Objetivo didáctico: Describe los conceptos esenciales sobre sistemas, los tipos de lenguajes, traductores y programas. Una computadora es una herramienta para resolver problemas. Una computadora es una máquina inútil si no ejecuta instrucciones que le indiquen qué tarea debe hacer. Para aprender más de la programación de computadoras desarrollaremos los conceptos básicos. CONCEPTOS DE PROGRAMACIÓN Programación de computadoras: es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales. El código fuente es escrito en un lenguaje de programación. El propósito de la programación es crear programas que exhiban un comportamiento deseado. El proceso de escribir código requiere frecuentemente conocimientos en varias áreas distintas, además del dominio del lenguaje a utilizar, algoritmos especializados y lógica formal. Sistema: Es un conjunto de partes o elementos organizadas y relacionadas que interactúan entre sí para lograr un objetivo. Los sistemas reciben (entrada) datos, energía o materia del ambiente y proveen (salida) información. Datos: son los hechos que describen sucesos y entidades. ”Datos” es una palabra en plural que se refiere a más de un hecho. Los datos son comunicados por varios tipos de símbolos tales como las letras del alfabeto, números, movimientos de labios, puntos y rayas, señales con la mano, dibujos, etc. Estos símbolos se pueden ordenar y reordenar de forma utilizable y se les denomina información. Información: Es una colección de hechos significativos y pertinentes, para el organismo u organización que los percibe. La definición de información es la siguiente: Información es un conjunto de datos significativos y pertinentes que describan sucesos o entidades. Lenguaje de programación: Sistema de símbolos y reglas que permite la construcción de programas con los que la computadora puede operar así como resolver problemas de manera eficaz. Estos contienen un conjunto de instrucciones que nos permiten realizar operaciones de entrada / salida, cálculo, manipulación de textos, lógica / comparación y almacenamiento / recuperación. CLASIFICACIÓN DE LOS LENGUAJES DE PROGRAMACIÓN: Lenguaje Máquina: Son aquellos cuyas instrucciones son directamente entendibles por la computadora y no necesitan traducción posterior para que la CPU pueda comprender y ejecutar el programa. Las instrucciones en lenguaje maquina se expresan en términos de la unidad de memoria más pequeña el bit (dígito binario 0 ó 1). JARC-PROGRAMACIÓN DE COMPUTADORAS-10° Página 1 [TEMA#1. CONCEPTOS BÁSICOS DE PROGRAMACIÓN] 10º Este lenguaje es mucho más rápido que los lenguajes de alto nivel. La desventaja es que son bastantes difíciles de manejar y usar, además de tener códigos fuente enormes donde encontrar un fallo es casi imposible. Lenguaje de Bajo Nivel (Ensamblador): En este lenguaje las instrucciones se escriben en códigos alfabéticos conocidos como mnemotécnicos para las operaciones y direcciones simbólicas. El lenguaje ensamblador es un derivado del lenguaje máquina y está formado por abreviaturas de letras y números llamadas mnemotécnicos. Con la aparición de este lenguaje se crearon los programas traductores para poder pasar los programas escritos en lenguaje ensamblador a lenguaje máquina. Como ventaja con respecto al código máquina es que los códigos fuentes eran más cortos y los programas creados ocupaban menos memoria. Las desventajas de este lenguaje siguen siendo prácticamente las mismas que las del lenguaje ensamblador, añadiendo la dificultad de tener que aprender un nuevo lenguaje difícil de probar y mantener. Lenguaje de Alto Nivel: Los lenguajes de programación de alto nivel son aquellos en los que las instrucciones o sentencias a la computadora son escritas con palabras similares a los lenguajes humanos (en general en inglés), lo que facilita la escritura y comprensión del programa. Estos lenguajes permiten al programador olvidarse por completo del funcionamiento interno de la maquina/s para la que están diseñando el programa. Tan solo necesitan un traductor que entiendan el código fuente como las características de la máquina. Suelen usar tipos de datos para la programación y hay lenguajes de propósito general (cualquier tipo de aplicación) y de propósito específico (como FORTRAN, BASIC, PASCAL, COBOL, FORTRAN, para trabajos científicos). Lenguajes de cuarta generación o bien 4GL: son herramientas encargadas de optimizar el desarrollo de software automatizando la creación de este. Se han utilizado principalmente en la generación de código para GUI y además en la implementación de programas que facilitan las tareas de los desarrolladores y clientes. La base de los 4GL es que el usuario no dice como se harán las cosas, solo brinda parámetros y el programa se encargará de generar lo solicitado por el usuario, sea esto desde generación de reportes de bases de datos a solucionar un problema matemático. (SheerPower4GL, PowerBuilder, WinDev, Focus, Natural, Progress4GL, SQL, Oracle Reports, PostScript, Matemática, MatLab, Ramis, entre otros.) Lenguajes Naturales: Es un lenguaje escrito o hablado usado por una comunidad, que es precisamente lo contrario a un lenguaje para establecer comunicación con una computadora, mediante la entrada de datos, o la programación de su funcionamiento. (Guzmán 1997) JARC-PROGRAMACIÓN DE COMPUTADORAS-10° Página 2 [TEMA#1. CONCEPTOS BÁSICOS DE PROGRAMACIÓN] 10º TRADUCTORES DE LENGUAJE. Un traductor es un programa que recibe como entrada código escrito en un cierto lenguaje y produce como salida código en otro lenguaje. Generalmente el lenguaje de entrada es de más alto nivel que el de salida. Ejemplos de traductores son los ensambladores y los compiladores. Tipos de errores de traducción: Errores de Compilación: errores de léxico y sintaxis Errores de Ejecución: errores semánticos, de lógica o de intérprete Compilador: Es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, o también genera aplicaciones que sean directamente utilizables en un ordenador o computadora. Un compilador lee el código fuente creado en un determinado lenguaje de programación, lo interpreta, comprueba su sintaxis y traduce a lenguaje o código máquina toda la serie de instrucciones, generando el archivo ejecutable final (programa compilado). La ejecución de un programa con compilador requiere de dos etapas: 1) Traducir el programa simbólico a código máquina 2) Ejecución y procesamiento de los datos. Ensamblador: Es un programa que traduce de un lenguaje ensamblador a lenguaje máquina, mientras que un compilador es un programa que traduce de un lenguaje de alto nivel a un lenguaje de bajo nivel o a lenguaje máquina. Intérpretes: Es un programa que traduce un lenguaje de alto nivel al lenguaje de máquina de una computadora. El programa siempre permanece en su forma original (programa fuente) y traduce cuando está en la fase de ejecución instrucción por instrucción Un intérprete: Traduce y ejecuta una línea del programa a la vez. Si hay error, detiene ejecución del programa. Programas más lentos pero más portables y flexibles. PROGRAMA. Un programa es una serie de instrucciones que le dice al equipo de computadora las tareas que debe realizar. La computadora realiza, o ejecuta, las instrucciones de un programa colocándolas primero en la memoria de la computadora. Los programas se clasifican en: Programa fuente: Programa escrito en un lenguaje de alto nivel (texto ordinario que contiene las sentencias del programa en un lenguaje de programación). Necesita ser traducido a código máquina para poder ser ejecutado. JARC-PROGRAMACIÓN DE COMPUTADORAS-10° Página 3 [TEMA#1. CONCEPTOS BÁSICOS DE PROGRAMACIÓN] 10º Programa (o código) objeto: Es el programa fuente traducido (por el compilador) a código máquina.. Programa Ejecutable: Traducción completa a código máquina, realizada por el enlazador, del programa fuente y que ya es directamente ejecutable. Actividad de aprendizaje N°1. Individual Elabora individualmente en el cuaderno un mapa conceptual, donde refleje las características de los conceptos fundamentales y los lenguajes de programación. Actividad de aprendizaje Grupal. Investiga en Internet u otra fuente bibliográfica sobre las características, clasificación, ventajas y desventajas de los lenguajes de programación. Presenta un informe escrito que contenga: Página de presentación, Índice, Introducción, contenido (8-10 páginas), conclusiones, bibliografía. Deberás realizar una exposición oral de 7 a 10 minutos por grupo. Criterios a Evaluar: Informe escrito: Puntualidad (4), Creatividad (3), Seguimiento de indicaciones (4), Hoja de presentación del informe escrito (2), Índice (2), Introducción (4), Contenido (8), conclusiones (4), bibliografía (4). 35 puntos Exposición Oral: Dominio del tema (3), Claridad en las ideas y opiniones (3), uso adecuado del tiempo (2), organización grupal (2), uso de recurso didáctico (3), respuestas a las preguntas (2). 15 puntos Actividad de aprendizaje N°2. Individual Diseña individualmente en el cuaderno un mapa conceptual, sobre traductores de lenguaje y diferentes programas de computadoras. JARC-PROGRAMACIÓN DE COMPUTADORAS-10° Página 4