TALLER DE INDUCCÍON DE PROGAMACÍON Presentado por: GABRIEL RENE GALVIS GAMEZ Director: ALMA IBEHT CHACON SOLANO TRABAJO QUE EXPONE EL FORMATO APA INSTUTUTO MADRE DEL BUEN CONCEJO SENA FLORIDABLANCA 2014ç TABLA DE CONTENIDO 1.Definicíon de programacíon 2.¿Cual crees que es el papel de los programas de computadora? 3.¿Que nos permite escribir programas para computadoras y por consiguiente comunicarnos con ellas? 4.Cuales son las características de un programador 5. ¿Qué son los lenguajes de programación? 6. Da ejemplos de lenguajes de programación? 7. ¿has escuchado algún lenguaje de programación que te interese? ¿Porqué? 8. realiza una tabla para que describas las generaciones de los lenguajes de que existen y des algunos ejemplos 9. ¿Qué es el entorno de programación? 10. Define programa 11. Define seudocódigo y explica en que consiste? 12. ¿Qué diferencia hay entre seudocódigo y ordinograma? 13. ¿Qué es un diagrama de flujo y cuantos tipos hay? 14. ¿Qué es un algoritmo? 15. ¿Cuáles son las características de un algoritmo? 16. ¿Cuáles don los pasos para implementar un algoritmo? 17. ¿Cuáles son las herramientas de programación para señalar algoritmos? programación 18. ¿Que son los identificadores? 19. ¿Qué son las constantes? 20. ¿Qué son variables? 21. ¿Que es sentencia de asignación? 22. ¿En el día de hoy, te pareció mas difícil hacer el ejercicio o el diagrama de flujo, porque? 23. ¿Qué importancia tiene para ti aprender hacer algunas tareas de programación? Referencias web grafía…………………………………………………………………... 17 Imágenes…………………………………………………………………………………..18 1. Definición de programación Cuando hablamos específicamente de programa en informática, estamos haciendo referencia a un software. Se trata de aplicaciones y recursos que permiten desarrollar diferentes tareas en una computadora (ordenador), un teléfono u otros equipos tecnológicos. 2. ¿Cual crees que es el papel de los programas de computadora? Un sistema operativo es un software de sistema, es decir, un conjunto de programas de computación destinados a realizar muchas tareas entre las que destaca la administración eficaz de sus recursos. Comienza a trabajar cuando en memoria se carga un programa específico y aun antes de ello, que se ejecuta al iniciar el equipo, o al iniciar una máquina virtual, y gestiona el hardware de la máquina desde los niveles más básicos, brindando una interfaz con el usuario. Un sistema operativo se puede encontrar normalmente en la mayoría de los aparatos electrónicos que utilicen microprocesadores para funcionar, ya que gracias a éstos podemos entender la máquina y que ésta cumpla con sus funciones (teléfonos móviles, reproductores de DVD, auto radios, computadoras, radios, etc). 3.¿Que nos permite escribir programas para computadoras y por consiguiente comunicarnos con ellas? Lo que nos permite comunicarnos con ellas son los datos de programación por medio de palabras clave en el programa damos ordenes de lo que queremos realizar y ella por medio de las ordenes que escribimos ejecuta un proceso que nos da por fin un programa de computadora. 4. Cuales son las características de un programador Aprender por su cuenta nuevas habilidades técnicas y no técnicas Ser pragmático, no dogmático Saber cómo buscar soluciones a problemas Tener pasión Dejar su ego en la puerta Tener un espíritu de emprendedor Pensar antes de actuar, pero no caer en el sobre diseño (traducción personal de "Mide dos veces, corta una, pero no midas más de tres veces" 5. ¿Qué son los lenguajes de programación? Un lenguaje de programación es un lenguaje artificial que puede ser usado para controlar elcomportamiento de una máquina, especialmente una computadora. Estos se componen de un conjunto de reglas sintácticas y semánticas que permiten expresar instrucciones que luego serán interpretadas. Debe distinguirse de “lenguaje informático”, que es una definición más amplia, puesto estos incluyen otros lenguajes como son el HTML o PDF que dan formato a un texto y no es programación en sí misma. 6. Da ejemplos de lenguajes de programación? Ensamblador Visual Basic Cobol Java C C++ C# J# SHELL’s de UNIX Oracle PL/SQL 7. ¿has escuchado algún lenguaje de programación que te interese? ¿Por qué? Java es un lenguaje de programación y una plataforma informática comercializada por primera vez en 1995 por Sun Microsystems. Hay muchas aplicaciones y sitios web que no funcionarán a menos que tenga Java instalado y cada día se crean más. Java es rápido, seguro y fiable. Desde portátiles hasta centros de datos, desde consolas para juegos hasta súper computadoras, desde teléfonos móviles hasta Internet, Java está en todas partes. Generaciones de lenguaje de programación Ejemplos Lenguaje de primera generación 00010101010100001111101 Lo constituyen los lenguajes maquina, estos se 10101010101010101010110 consideran como de bajo nivel por que no existe un 01010101010101010101010 programa de codificación menos complicado que el 01010101010101010101011 00011111011100111100110 que utiliza los símbolos binarios 1 y 0. Ascii, utiliza ceros y unos para representar letras del alfabeto. Como este es el lenguaje del CPU, los archivos de texto traducidos a los grupos binarios ASCII pueden leerse por casi cualquier plataforma de sistemas de computadoras. Lenguaje de segunda generación A estos se les denominó lenguaje ensamblador. Los lenguajes ensambladores usan códigos como a asi 1011 0000 01100001 | | | sucesivamente. | | +---- Número 61h en Los programas de software de sistemas tales como binario | | los sistemas operativos y los programas de utilidad | +--- Registro AL +-------- Instrucción MOV se escriben con frecuencia en un lenguaje para agregar o mvc para mover, y ensamblador. Lenguaje de tercera generación Lenguaje de ensamblador Estos son mas fáciles de aprender y usar que los lenguajes maquina y el lenguaje ensamblador, pues su similitud con la comunicación y comprensión humana cotidiana es mayor. Enunciados, Print, Total sales, Read normal Pay etc. Aunque son mas fáciles de programar, no son tan eficientes en términos de rapidez operacional y memoria. Lenguaje de cuarta generación Son lenguajes que se relacionan menos con Ejemplos Visual C++, Visual Basic, PowerBuilder, procedimientos y que son aun mas parecidos al Delphi, Forte y muchos otros. ingles que los lenguajes de tercera generación. Algunas características incluyen capacidades de consulta y base de datos, de creación de códigos y capacidades gráficas. 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 ala base de datos. Lenguaje de cinta generación Alrededor de la mitad 1998 surgieron grupos 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. 9. ¿Qué es el entorno de programación? Un entorno de desarrollo de software es una combinación de herramientas que automatiza o soporta al menos una gran parte de la tareas del desarrollo: análisis de requisitos, diseño de arquitectura, diseño detallado, codificación, pruebas de unidades, pruebas de integración y validación, gestión de configuración, mantenimiento, etc. Las herramientas deben estar bien integradas, pudendo interpretar unas con otras. Están formados por el conjunto de instrumentos (hardware, software, procedimientos,) que facilitan o automatizan las actividades de desarrollo. En el contexto de esta asignatura se consideran básicamente los instrumentos software. 10. Define programa Programación, 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. 11. Define seudocódigo y explica en que consiste? Es una ciencia y análisis numérico que utiliza las convenciones estructurales de un lenguaje de programación real, pero está diseñado para la lectura humana en lugar de la lectura mediante máquina, y con independencia de cualquier otro lenguaje de programación. Normalmente, el pseudocódigo omite detalles que no son esenciales para la comprensión humana del algoritmo, tales como declaraciones de variables, código específico del sistema y algunas subrutinas. El lenguaje de programación se complementa, donde sea conveniente, con descripciones detalladas en lenguaje natural, o con notación matemática compacta. Se utiliza pseudocódigo pues este es más fácil de entender para las personas que el código del lenguaje de programación convencional, ya que es una descripción eficiente y con un entorno independiente de los principios fundamentales de un algoritmo. Se utiliza comúnmente en los libros de texto y publicaciones científicas que se documentan varios algoritmos, y también en la planificación del desarrollo de programas informáticos, para esbozar la estructura del programa antes de realizar la efectiva codificación. 12. ¿Qué diferencia hay entre seudocódigo y ordinograma? En programación, los algoritmos (además de en pseudocódigo) también se pueden representar, gráficamente, por medio de diagramas de flujo. Los diagramas de flujo se pueden utilizar con otros fines, no obstante, a los diagramas de flujo que representan algoritmos también se les conoce como ordinogramas. Dicho de otra forma, un ordinograma representa, de manera gráfica, el orden de los pasos o acciones de un algoritmo. Por ejemplo, véase el siguiente ordinograma El pseudocódigo y los diagramas de flujo son las dos herramientas más utilizadas para diseñar algoritmos en programación estructurada. Si bien, entre ambos tipos de representación existen las siguientes diferencias importantes 13. ¿Qué es un diagrama de flujo y cuantos tipos hay? El diagrama de flujo es una representación grafica de la secuencia de pasos que se realizan para obtener un cierto resultado. Este puede ser un producto un servicio, o un bien una combinación de ambos Flujograma de primer nivel o de dirección descendente: Un flujograma de primer nivel muestra los pasos principales de un proceso y puede incluir también los resultados intermedios de cada paso (el producto o servicio que se produce) y los subpasos correspondientes. Flujograma de segundo nivel o detallado: Un flujograma detallado indica los pasos o actividades de un proceso e incluye, por ejemplo, puntos de decisión, períodos de espera, tareas que se tienen que volver a hacer con frecuencia (repetición de tareas o tareas duplicadas) y ciclos de retroalimentación. Flujograma de ejecución o matriz: Un flujo grama de ejecución representa en forma gráfica el proceso en términos de quién se ocupa de realizar los pasos. Tiene forma de matriz e ilustra los diversos participantes y el flujo de pasos entre esos participantes. 14. ¿Qué es un algoritmo? Se define algoritmo como un conjunto ordenado y finito de operaciones que permite hallar la solución de un problema. Método y notación en las distintas fórmulas del cálculo. El algoritmo constituye un método para resolver un problema mediante una secuencia de pasos a seguir. Sabemos que para que un ordenador pueda llevar adelante una tarea cualquiera, se tiene que contar con un algoritmo que le indique, a través de un programa, que es lo que se debe hacer con la mayor precisión posible. Quizás esta afirmación debería ser revisada desde la óptica de la inteligencia artificial. 17. ¿Cuáles son las herramientas de programación para señalar algoritmos? Para traducir los algoritmos diseñados a un lenguaje de programación que el computador pueda entender, en esta guía se utilizan dos entornos de programación basados en Logo: Micro Mundos y Scratch. Los docentes interesados en conocer estos ambientes de programación, pueden descargar gratuitamente las correspondientes Guías de Referencia: • MicroMundos (proyecto Teddi - PDF; 560KB) http://www.eduteka.org/pdfdir/ManualMicroMundos.pdf • Scratch (MIT - PDF; 1.5MB) http://www.eduteka.org/pdfdir/ScratchGuiaReferencia.pdf 18. ¿Que son los identificadores? Un identificador es un conjunto de caracteres alfanuméricos de cualquier longitud que sirve para identificar las entidades del programa (clases, funciones, variables, tipos compuestos) Los identificadores pueden ser combinaciones de letras y números. Cada lenguaje tiene sus propias reglas que definen como pueden estar construidos. Cuando un identificador se asocia a una entidad concreta, entonces es el "nombre" de dicha entidad, y en adelante la representa en el programa. Nombrar las entidades hace posible referirse a las mismas, lo cual es esencial para cualquier tipo de procesamiento simbólico. 19. ¿Qué son las constantes? Una constante es un dato cuyo valor no puede cambiar durante la ejecución del programa. Recibe un valor en el momento de la compilación y este permanece inalterado durante todo el programa. las constantes se declaran en una sección que comienza con la palabra reservada consta. Después de declarar una constante ya puedes usarla en el cuerpo principal del programa. Tienen varios usos: ser miembro en una expresión, en una comparación, asignar su valor a una variable, etc. 20. ¿Qué son variables? Una variable es un nombre asociado a un elemento de datos que está situado en posiciones contiguas de la memoria principal, y su valor puede cambiar durante la ejecución de un programa. Toda variable pertenece a un tipo de dato concreto. En la declaración de una variable se debe indicar el tipo al que pertenece. Así tendremos variables enteras, reales, booleanas, etc. Por otro lado, distinguimos tres partes fundamentales en la vida de una variable: Declaración Iniciación Utilización 21. ¿Que es sentencia de asignación? Las sentencias son los elementos básicos en los que se divide el código en un lenguaje de programación. Al fin y al cabo, un programa no es más que un conjunto de sentencias que se ejecutan para realizar una cierta tarea. Además, como ya habrás visto, en Pascal el signo que las separa es el punto y coma. Esta sentencia ya estás harto de verla a lo largo del tutorial. Aparece prácticamente en todos los ejemplos. Es una de las instrucciones más comunes en un programa. Lo que te permite es darle un primer valor o cambiar el valor a una variable. Una sentencia de asignación consta de tres partes: La parte a la izquierda del símbolo de asignación El propio símbolo de asignación La parte de la derecha 22. ¿En el día de hoy, te pareció mas difícil hacer el ejercicio o el diagrama de flujo, porque? Si me pareció difícil, realizaba los ejercicios pero siempre me quedaba algo mal , tenia que mirar cada paso y revisar que era lo que me faltaba. 23. ¿Qué importancia tiene para ti aprender hacer algunas tareas de programación? Mas allá de una nota, aprender para si en algún futuro necesitare de el conocimiento que se requiere para elaborar un programa Web grafía Eduteka. (2009-11-09). [En línea] Algoritmos y programación Disponible en: http://www.eduteka.org/pdfdir/AlgoritmosProgramacion.pdf consultado [2014-05-19] Shideshare. Antonia Aguilar Zapata (2012-06-04). [En línea] tipos de diagrama de flujo disponible en: http://www.slideshare.net/AntoniaAguilarZapata/tipos-de-diagramas-de-flujo- 8773144 consultado [2014-05-19] Ecured. David Salomon, Assemblers and Loaders (2005-07-24). [En línea] lenguaje ensamblador y códigos de programación. Disponible en: http://www.ecured.cu/index.php/Lenguaje_ensamblador Buenas tareas. Enviado por jacquelinejust (2012-02-01). [En línea] lenguajes de segunda generación. Disponible en: http://www.buenastareas.com/ensayos/Lenguajes-De-Segunda- Generaci%C3%B3n/3575119.html Imágenes De juniortroya (2013-04-05) Lenguajes de programación por su generación [pantallazo] recuperado de: http://www.slideshare.net/juniortroya/lenguajes-de-programacion-por-su- generacion?qid=fe9e14d5-bc1d-4dc5-b883-f775dc9564ce&v=default&b=&from_search=2