Arturo Gómez Gilaberte Eva Parramón Ponz EDITORIAL DONOSTIARRA Pokopandegi, no 4 - Pabellón Igaralde - Barrio Igara Teléfonos 943 215 737 - 943 213 011 - 943 214 406 20018 - SAN SEBASTIÁN
[email protected] - www.editorialdonostiarra.com TECNOLOGÍAS DE LA INFORMACIÓN Y LA COMUNICACIÓN II 2o Bachillerato
1 Desarrollo de software EN LA RED: ENLACES DE INTERÉS code.google.com/p/swfk-es Excelente manual “Doma de serpientes para niños”, de Jason R. Briggs, traducido por José Miguel González, que se puede descargar de forma gratuita librosweb.es/libro/python Libro de Python para principiantes. www.openprocessing.org Comunidad dedicada a compartir proyectos de Processing. www.rodoval.com/lenguajes.html Extensa lista de lenguajes de programación y enlaces a sus principales compiladores, recursos, etc. 10 Tecnologías de la Información y la Comunicación II - 2o Bachillerato - Editorial Donostiarra 1. La programación 2. La creación de un programa. Metodologías de desarrollo Ciclo de vida del software. Fases del proceso de programación. Procedimientos de depuración 3. Los algoritmos. Diagramas de flujo 4. Tipos de datos, variables y operadores Datos. Variables. Operadores 5. La programación estructurada. Estructuras de control: secuenciales, condicionales e iterativas 6. Orientación a objetos: clases y objetos. Herencia Los objetos. Las clases. La herencia. Envío de mensajes 7. Lenguajes de bloques y pseudocódigo 8. Introducción al lenguaje C Estructura general de un programa en C. Declaración de las variables. Tipos de datos. Palabras reservadas. Comentarios. Operadores y abreviaturas específicas de C 9. Lenguaje de programación Python Elementos de Python 10. Lenguaje de programación Processing Entorno de Processing. Coordenadas. Pantalla. Colores. Formas básicas. Estructura de un programa. Tipos de datos. Tipos de variables. Interacción con el ratón. Interacción con el teclado. Condicionales y bucles. Cargar imágenes 11. La industria del desarrollo de software Transformación digital. Exponentes y ejemplos. Innovación. Emprendimiento y oportunidades de empleo. Automatización. Beneficios y riesgos del software y los algoritmos
Tecnologías de la Información y la Comunicación II - 2o Bachillerato - Editorial Donostiarra 11 Conoce 1 Desarrollo de software 1. La programación Un algoritmo es una sucesión de pasos que se deben realizar para la resolución de un problema. En el proceso de resolución de problemas técnicos, el ser humano ha creado una herramienta increíble: el ordenador. Una persona detecta un problema, lo analiza y, si es posible, obtiene un algoritmo que le permite solucionarlo. Un ordenador es una herramienta capaz de llevar adelante esa tarea encomendada, eso sí, siguiendo un algoritmo que le indique, con la mayor precisión posible, lo que debe hacer. Son muchos los problemas que se solucionan con un algoritmo, de ahí la importancia de apren- der un lenguaje que permita a la persona comunicarse con el ordenador para que éste ejecute el algoritmo deseado. Es decir, aprender a programar algoritmos, que es el objeto de esta unidad. En la actualidad, programamos tanto ordenadores como cualquier otro objeto dotado de un microprocesador: satélites, vehículos, electrodomésticos, videoconsolas, cadenas de montaje, robots..., y hasta las atracciones de un parque de recreo. Por ejemplo, un autobús lleva un GPS con un programa que va indicando su posición. En las paradas de los autobuses, hay un panel programado. El panel recibe la información de la posición y el programa hace que vaya mostran- do el tiempo que falta hasta que llegue el autobús. Los programas son una serie o secuencia de instrucciones entendibles por los ordenadores que permiten la realización de las acciones o tareas para las que han sido creadas. Para escribir un programa se utilizan distintos lenguajes, llamados lenguajes de programación. Los programas se escriben en lo que se denomina código fuente, que son las instrucciones que el programador indica que deben ser ejecutadas a fin de realizar las acciones para las que el programa ha sido diseñado. Sin embargo, este código no lo puede comprender directamen- te el ordenador y debe ser traducido al único lenguaje que el ordenador puede interpretar: el lenguaje máquina o código binario. Para realizar esta transformación del código se utilizan unos traductores, llamados compiladores e intérpretes, que convierten las instrucciones da- das por el programador en instrucciones comprensibles por un ordenador y generan el llamado código objeto, que es el archivo traducido a lenguaje máquina. Una vez compilado un programa podemos ejecutarlo, esto es, hacer que se inicie la carga del programa y se empiecen a realizar las acciones programa- das. Hay dos formas de tra- ducir los programas a código máquina. Mien- tras que el intérprete traduce línea a línea el código fuente a código máquina y se detiene si encuentra un error, el compilador tra- duce todo el archivo fuente a código objeto y muestra los posibles errores en un informe posterior.
12 Tecnologías de la Información y la Comunicación II - 2o Bachillerato - Editorial Donostiarra Conoce 1 Desarrollo de software El desarrollo de un programa requiere los siguientes pasos: 1. Definición y análisis del problema 2. Diseño del algoritmo 3. Codificación del programa (obtenemos el código fuente) 4. Compilación (obtenemos el código objeto) 5. Depuración de errores y verificación del programa 6. Explotación (documentación y mantenimiento) Ciclo de vida del software. Fases del proceso de programación 2. La creación de un programa. Metodologías de desarrollo Los programas están constituidos por un conjunto de sentencias que se procesan en una de- terminada secuencia y conforman órdenes capaces de manipular una serie de datos con el fin de obtener un determinado resultado. Las órdenes o instrucciones pueden dividirse en tres gran- des secciones, cada una de las cuales corresponde a una parte de la codificación del programa: • Entrada de datos. Aquí se engloban todas aquellas instrucciones que recogen datos de un dispositivo o periférico (por ejemplo, el teclado), que se almacenan después en la memoria central o principal para su proceso posterior. • Proceso o algoritmo. En esta parte del programa se escriben las instrucciones o sen- tencias encargadas de procesar los datos recogidos en la sección anterior, conforme al propósito o finalidad del programa. Los resultados obtenidos se almacenan nuevamen- te en la memoria principal. • Salida de datos o resultado. Este bloque está formado por las instrucciones que toman los resultados obtenidos en la etapa de proceso, que se envían a los dispositivos de salida de la información (por ejemplo, la pantalla). Las instrucciones (a veces llamadas comandos) son informaciones reconocidas por el len- guaje de programación que indican al ordenador una acción elemental que debe realizar. Por ejemplo, en el lenguaje C, la instrucción printf visualiza un elemento en pantalla. En QBasic, esta misma instrucción se llama print, etc. Muchas veces hablamos de instrucciones y sentencias como si fueran lo mismo, pero en reali- dad tendríamos que decir que las instrucciones forman parte de una sentencia. Por ejemplo, la instrucción printf en sí no realiza ninguna acción, pero la sentencia printf(“Hola”), formada por la instrucción printf y el literal “Hola”, sí produce una acción específica. Por lo tanto, una sentencia de programación une instrucciones y otros elementos del lenguaje para llevar a cabo la ejecución de una tarea. CÓDIGO FUENTE Entrada Proceso Resultado Programación lineal Enfoque top-down En el diseño de software, se conoce como enfoque top- down al método para resolver problemas de forma que se empieza por analizar el pro- blema con un enfoque global y luego se subdivide el pro- blema en partes cada vez más pequeñas hasta llegar a los últimos detalles. Por ejemplo, si queremos diseñar una app que sea una calculadora, co- menzaremos analizando para qué se usará (funcionalidad) y cuál va a ser, a grandes ras- gos, su apariencia (interfaz), y después iremos subdividiendo tareas, analizando y progra- mando las principales funcio- nes hasta llegar al último nivel de detalle, como pueden ser la forma de cada botón o el tipo de letra usado en ellos.