PLAN 06 / NMS INFORMÁTICA II BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA NIVEL MEDIO SUPERIOR INFORMÁTICA II MATERIAL DIDÁCTICO MANUAL DE PRÁCTICAS Y ANTOLOGÍA JULIO DE 2009 ÁREA DE CIENCIAS EXACTAS ACADEMIA GENERAL DE INFORMÁTICA NOMBRE DEL ALUMNO (A): NÚMERO DE COMPUTADORA: GRADO Y GRUPO: NOMBRE DEL PROFESOR (A): ESCUELA: Julio 2009 1 PLAN 06 / NMS INFORMÁTICA II PRESENTACIÓN DEL MANUAL PARA EL ALUMNO El presente MANUAL DE PRÁCTICAS Y ANTOLOGÍA de Informática II, forma parte del material didáctico para el Plan de Estudios vigente (plan 06) del Nivel Medio Superior para el segundo año del bachillerato. El Manual está estructurado de la siguiente manera: Presentación del Manual para los alumnos Encuadre Programa Medios digitales. Uso de un blog con las herramientas de los diferentes temas de las unidades V y VI, creadas por compañeros de la academia: http://informatica2-buap.blogspot.com/ Bibliografía de referencia y de consulta de alumnos y facilitadores (maestros). AUTORES Profesores: María Lucero Aranda Ortiz José Caselín Rosas COLABORADORES Profesores: Alma Rosa Catalán Alarcón Jorge Sandoval Robles Ma. Del Pilar Beatriz Guevara Castillo Ma. De los Ángeles Sánchez de los Santos Maricela Sánchez Hernández María Griselda Inés García Ávila Alberto Vega Báez Gilberto Sánchez Cervantes Mónica Campos Sánchez Javier Díaz Sánchez René Cardona Y. Flaviano Romero P. Marisol Osorno Velázquez Briseida Bravo E. Julio 2009 2 PLAN 06 / NMS INFORMÁTICA II ENCUADRE CRITERIOS DE EVALUACIÓN Y ACREDITACIÓN Evaluación continua o formativa La solución de problemas de análisis con algoritmos, con un lenguaje de programación, aplicados a situaciones reales, en las unidades V y VI. RUBRO Práctica en clase Tareas Examen y/o Trabajo de la unidad PORCENTAJE 45% 10% 45% Herramientas de evaluación Portafolios: Todas la unidades. Pruebas de desempeño o ejecución y/o Rúbrica: Todas la unidades. Examen auténtico (no tradicional). PORTAFOLIOS Colección de trabajos y reflexiones de los estudiantes, de forma cronológica, que se pueden compilar de manera física (carpeta o folder) o de manera electrónica (Web, o CD), y que contiene información para monitorear el proceso de enseñanza aprendizaje y que permite una autoevaluación, coevaluación y evaluación. PRUEBAS DE DESEMPEÑO O EJECUCIÓN El objetivo de hacer un examen teórico/práctico para estas unidades es evaluar los conocimientos, procedimientos y actitudes ya que de acuerdo al contenido y por ser las primeras unidades existen una serie de conceptos y procedimientos básicos que el alumno debe asimilar y manejar respectivamente INFORMÁTICA II PROGRAMA OBJETIVO GENERAL DE LA MATERIA Desarrollar las potencialidades cognitivas, valorativas y actitudinales mediante el uso adecuado de la computadora como herramienta esencial, en un contexto de situaciones problémicas y trabajo interdisciplinario a nivel aplicativo, para continuar estudios superiores como persona sensible, crítica y que participe en la construcción de un mundo más humano. OBJETIVO GENERAL DEL CURSO Utilizar de manera eficiente software de Hoja de cálculo electrónica como herramienta para el análisis e interpretación de datos, solución de problemas matemáticos estructurales y gráficos así como introducirlos a la programación a un nivel reproductivo y aplicativo. Julio 2009 3 PLAN 06 / NMS INFORMÁTICA II UNIDADES UNIDAD V INTRODUCCIÓN A LA PROGRAMACIÓN UNIDAD VI PROGRAMACIÓN EN LENGUAJE C PRESENTACION DE LAS UNIDADES UNIDAD V INTRODUCCIÓN A LA PROGRAMACIÓN Introducir al alumno en los conceptos de la programación, elaborar diagramas de flujo, utilizando las dos estrategias top-down o bottom-up en la resolución de problemas a un nivel aplicativo. Elaborar algoritmos y diagramas de flujo, claros que satisfagan la solución de un problema. UNIDAD VI PROGRAMACIÓN EN LENGUAJE C Utilizando los diagramas de flujo se procederá al uso de un lenguaje de programación de los existentes en el mercado. El lenguaje de programación propuesto es c. Crear programas en lenguaje C con operadores matemáticos utilizando funciones de entrada y salida a un nivel aplicativo Julio 2009 4 PLAN 06 / NMS INFORMÁTICA II CONTENIDO DE LAS UNIDADES UNIDAD V INTRODUCCIÓN A LA PROGRAMACIÓN Lección 1 La información 1. 2. ¿A que se le llama información? Transformación de datos Lección 2 La importancia de la información 1. 2. ¿Qué tan importante es la información? Lección 2 El proceso Lección 3 Aplicaciones actuales Lección 4 Representación de la información Lección 5 Métodos de solución a problemas, variables y operadores 1. 2. 3. Situaciones problémicas Métodos de solución Estrategias Lección 6 Creación y diseño de algoritmos y diagramas de flujo 1. 2. 3. 4. Algoritmos Diagramas de flujo Estrategias Fases de un programa PROGRAMA DFD UNIDAD VI PROGRAMACIÓN EN LENGUAJE C Lección 1 Lenguajes de programación 1. Lenguaje C Lección 2 Introducción a la programación en lenguaje C 1. 2. Primer programa en C Ejecutar un programa en C Julio 2009 5 PLAN 06 / NMS INFORMÁTICA II RELACIÓN CON EL PERFIL DE EGRESO DEL BACHILLERATO: CONTRIBUCIÓN Y LOGROS El Plan de estudios 06 del Nivel Medio Superior busca que “… Los alumnos que egresan de la Institución han logrado un conocimiento y comprensión de sí mismos, una formación académica que les ha familiarizado con los avances científicos y tecnológicos, que les permite una visión interdisciplinaria e integral, que los hace sensibles a las problemáticas sociales, económicas, políticas, éticas, estéticas y ecológicas, que los prepara para su ingreso al nivel superior; capaces de interactuar en equipo, con una actitud fraterna, libre, justa, pacífica, tolerante y de respeto a la pluralidad….” Por lo tanto, la asignatura de Informática busca incidir, para que nuestros egresados logren: • Escribir y hablar correctamente. • Escuchar y preguntar para comprender y apreciar los puntos de vista de otros. • Leer y comprender la información presentada en sus diversas formas. • Identificar las capacidades y limitaciones de los recursos tecnológicos informáticos contemporáneos y emergentes y evaluar el potencial de estos sistemas y servicios al conducir la vida personal, en el aprendizaje permanente y para satisfacer las necesidades en el ámbito laboral. • Desarrollar destrezas de información sencillas: uso de una herramienta, como el catálogo de una biblioteca. • Desarrollar destrezas de información compuestas: combinación de destrezas y herramientas de información. • Demostrar y defender comportamientos éticos y legales en el uso de tecnología informática y de la información entre compañeros, familiares y en la comunidad en la que se vive. • Usar herramientas y recursos tecnológicos para administrar y comunicar información personal y académica. • Usar de manera natural, rutinaria y eficiente las fuentes de información en línea para satisfacer necesidades de colaboración e investigación. • Seleccionar y aplicar herramientas tecnológicas para el análisis de información, la resolución de problemas y la toma de decisiones en el ámbito del aprendizaje ética y responsabilidad, a nivel reproductivo y aplicativo. Julio 2009 6 PLAN 06 / NMS INFORMÁTICA II PROGRAMA DE INFORMÁTICA II Julio 2009 7 PLAN 06 / NMS INFORMÁTICA II UNIDAD V INTRODUCCIÓN A LA PROGRAMACIÓN Julio 2009 8 PLAN 06 / NMS INFORMÁTICA II Objetivo de la Unidad: Introducir al alumno en los conceptos de la programación, elaborar diagramas de flujo, utilizando las dos estrategias top-down o bottom-up en la resolución de problemas a un nivel aplicativo. Elaborar algoritmos y diagramas de flujo, claros que satisfagan la solución de un problema. Lección 1 La información ¿A que se le llama información? Una máquina es una instrumento construido para facilitar un trabajo particular y, desde que la humanidad apareció sobre la faz del planeta, ha desarrollado estrategias y mecanismos para reducir el esfuerzo requerido para trabajar, logrando productos notables. Para este y otros usos la computador ha sido inventada ya que, a diferencia de las otras máquinas cuyo mecanismo ya esta preestablecido exactamente cómo debe funcionar, la computadora necesita de información para poder hacerlo, y sin ella es inútil que funcione por completo <<modelo de Von Neumman>>. Entonces ¿Qué es el concepto de información? Para nuestros propósitos, se define información como una agrupación de datos relacionados y ordenados en tal forma que resultan útiles para desarrollar alguna actividad y tomar decisiones. Veamos algunos elementos que describen la información. Datos Se representan por Transmisión Computadora 0y1 Pulsos eléctricos. Personas Letras números secuencias de los números 1 y 0 Secuencias de letras y números y Los sentidos visual y auditivo Fuentes y receptores Teclado, monitor Oído y vista Por lo tanto podemos concluir que la computadora consta de varios elementos que son utilizados siguiendo las indicaciones de un programa, y en su interior, los datos sólo son números que fluyen entre sus diferentes componentes. Julio 2009 9 PLAN 06 / NMS INFORMÁTICA II Actividad 1 Participa en los comentarios introductorios a este concepto, realiza un mapa conceptual de los temas y responde a las preguntas que se encuentran al final de esta actividad 1. Un poco de historia La sociedad actual ha ido desarrollando una característica muy peculiar, esto es, la información ha aumentado tanto de valor que ahora resulta comparable con los bienes materiales; situación que, eventualmente, conducirá hacia una sociedad informatizada. Las computadoras han jugado un papel preponderante en el desarrollo de esta situación, al permitir la vertiginosa manipulación de enormes cantidades de datos. Sin embargo, conforme crece la importancia y cantidad de información, resulta necesario organizar y sistematizar su procesamiento. La información y los seres humanos La mayoría de los organismos en la Tierra dependen más de la información genética, "pregrabada" dentro de su sistema nervioso, que de la información extragenética acumulada durante su vida. En contraste, para los seres humanos, y en realidad para todos los mamíferos, la situación es la contraria. Aunque nuestro comportamiento aún es controlado de manera significativa por la herencia genética, tenemos, a través de nuestros cerebros, una mayúscula oportunidad para establecer nuevos patrones culturales y de comportamiento en lapsos breves. Hemos establecido una especie de pacto con la naturaleza: nuestros hijos tendrán dificultades durante su crecimiento, pero, a cambio, su capacidad de aprendizaje aumentará notablemente las posibilidades de supervivencia de la especie humana. Además, en las etapas más recientes de nuestra existencia, los seres humanos no sólo hemos adquirido conocimiento extra-genético sino también hemos inventado el conocimiento extracorporal: información almacenada fuera de nuestros cuerpos, de los cuales, la escritura es el ejemplo más notable. (Traducción del autor.) Los Dragones del Edén, Cari Sagan, 1977. Información financiera ¿Te has fijado que la primera sección que apartan del resto del periódico es la de finanzas? Y no es precisamente porque tengan un interés especial en ella; por el contrario, para la mayoría de los lectores ésa es la única parte del diario que queda sin ser leída. "¡Es muy complicada!", dicen; otros más consideran que no es interesante, y en su mayoría piensan que la sección de finanzas únicamente tiene información entendible por empresarios y financieros. Es cierto que, en general, los datos de esta sección tienen cierta complejidad, porque señalar que la Bolsa Mexicana de Valores alcanzó su máximo histórico sobrepasando los siete mil puntos, o que tuvo una pérdida marginal, no es algo que resulte entendible, y mucho menos atractivo para la mayoría de la gente, porque no le encuentra utilidad en su vida diaria. Sin embargo, este tipo de notas "tan técnicas" son de gran utilidad a aquellas personas que están al frente de una empresa porque con base en ellas determinan las acciones a realizar, ya sea efectuar mayores o menores inversiones, o Julio 2009 10 PLAN 06 / NMS INFORMÁTICA II simplemente, conocer cómo se están comportando las empresas con las que tienen tratos y negocios. Esta misma información financiera que habla de números que suben y bajan, indicando que la inflación durante el primer mes de 2000 fue de 1.34 por ciento, y que esta cifra "se encuentra en línea con la inflación pronosticada para todo el año, de 10 por ciento", también les sirve. Lo mismo que enterarse del comportamiento de la economía de los Estados Unidos y si su Reserva Federal decide incrementar las tasas de interés en un cuarto de punto, o si la Unión Europea devalúa el Euro. Toda esta información les da indicativos a empresarios y financieros para poder "sentir el mercado", esto es, cómo se está comportando la economía nacional e internacional y prever posibles problemas económicos a corto o largo plazo. En la sección de finanzas también se incluyen comentarios de analistas económicos que conocen todo lo que representa esta información y la "traducen", por así decirlo, para que la gente que lee los periódicos entienda, al igual que los financieros, lo que se está publicando en esos espacios. Pero la sección de finanzas es mucho más que sólo números y cifras que cambian todos los días. Quienes automáticamente retiran esta sección, sin siquiera mirarla, porque están convencidos de que no encontrarán nada de utilidad en ella, se equivocan. En los últimos años la mayoría de los periódicos se ha preocupado por esta situación, conscientes de la "poca popularidad" de que goza esta sección. Por ello, han comenzado a incluir secciones de Finanzas Personales, donde pretenden explicar de forma sencilla la mejor manera en que los lectores pueden administrar su dinero, esto es, la mejor forma de ahorrar, dándole a conocer todos los instrumentos o cuentas bancarias para pequeños ahorradores, que existen en los bancos. Asimismo, le dan recomendaciones para que sus gastos o las compras del diario, sean realizadas de forma más organizada. Y la cosa no se queda allí, en estas secciones también se habla sobre los seguros que debe tener cualquier persona y les dan recomendaciones sobre cómo escogerlos; y notas tan diversas desde cómo comprar un auto, hasta cómo reservar un viaje por Internet, o cómo seleccionar un regalo de San Valentín, sin lesionar el patrimonio personal. Lo más curioso es que estas secciones destinadas a las personas que usual-mente sentían a las finanzas fuera de su vida, no sólo han tenido mucho éxito entre ellos, sino también entre los propios financieros, quienes frecuentemente han comentado que a pesar de haber trabajado por años en alguna institución financiera como un banco o una casa de bolsa, nunca habían entendido la manera de administrar sus finanzas personales. Esto deja entrever el gran interés que la gente, en general, tiene por entender cómo pagar sus impuestos y saber las cosas que puede deducir y aquellas que no; y quieren que se les hable no en términos de qué banco les va a pagar la tasa más alta, sino entender en qué banco les van a pagar más dinero por sus ahorros. En gran medida, la entrada en vigor del nuevo sistema de pensiones, nacido en 1997 a raíz de las modificaciones a la Ley del Seguro social, ha despertado este mayor interés de la gente por buscar alguien que les explique las finanzas. Ya que a partir de entonces, cada trabajador afiliado al Instituto Mexicano del Seguro Social tiene que inscribirse en una Administradora de Fondos para el Retiro (Afore) para que ésta, a través de una cuenta individual, acreciente sus ahorros para el retiro. Julio 2009 11 PLAN 06 / NMS INFORMÁTICA II Pero quizá lo que haya originado un mayor interés en la población en general hayan sido los problemas crediticios, así como las fuertes crisis por las que ha atravesado el país en esta última década. Los mismos analistas y empresarios han reconocido que ahora la gente es más consciente en cómo compra, y ha empezado a gastar sólo lo necesario. También, tanto bancos como clientes, se han vuelto más precavidos al momento de solicitar u otorgar un crédito. Y esto se ha visto como el inicio de la cultura financiera que tanta falta le hace a nuestro país. Las mismas dependencias y empresas se han preocupado porque exista mayor conocimiento de las cuestiones económicas y, para ello, realizan publicaciones periódicas, seminarios y cursos con los cuales preparan a los periodistas que cubren la fuente financiera, orientándolos sobre la operación y modificaciones que rigen al sistema financiero y económico de México y el mundo. A su vez, existe una cantidad importante de analistas económicos, alrededor de 50 en el país, quienes dan un punto de vista independiente de los resultados que dan las autoridades, lo cual sirve para tener una percepción más objetiva de la realidad del país y balancear las informaciones oficiales. Así que la próxima vez que tengas una sección de finanzas en tus manos, no la deseches, mejor, échale un ojito; un mundo de nuevas oportunidades se puede abrir ante ti. Nora Vasconcelos De actualidad: Información en la naturaleza Las enzimas son como los trabajadores de una línea de ensamblaje, cada una especializada en un trabajo molecular en particular: por ejemplo, el paso 4 en la construcción del nucleótido de fosfato guanosín, o el paso 11 en el desmantelamiento de una molécula de azúcar para extraer su energía, la moneda con la cual se paga por realizar los trabajos moleculares. Pero las enzimas no controlan el espectáculo. Ellas sólo siguen instrucciones -y de hecho ellas mismas se construyen de este modo- según lo ordenan aquellos que realmente están a cargo. Las moléculas jefe son los ácidos nucléicos, que viven aisladas en una ciudad prohibida, en lo más profundo, en el núcleo de la célula. Si pasáramos a través de un poro al interior del núcleo de la célula, encontraríamos algo que asemejaría la explosión de una fábrica de espaguetis, una desordenada multitud de serpentines y listones, los cuales son dos tipos de ácidos nucléicos: El DNA, que sabe qué hacer, y el RNA, que transporta el resto de la célula, las instrucciones emitas por el DNA. Estas moléculas son lo mejor que cuatro mil millones de años de evolución pudieron producir y contiene la información completa para hacer trabajar una célula un árbol, o un ser humano. La cantidad de información en el DNA humano ocuparía cientos de volúmenes gruesos, si se escribiesen en lenguaje ordinario. Aún más, las moléculas de DNA saben cómo hacer, con raras excepciones, copias idénticas de sí mismas. Ellas tienen una extraordinaria cantidad de conocimientos (Traducción del autor). Cosmos. Carl Sagan, 1980. Julio 2009 12 PLAN 06 / NMS INFORMÁTICA II Responde a las siguientes preguntas: 1. 2. ¿Qué es la información? ________________________________________________________________ ________________________________________________________________ ________________________________________________________________ _______________________________________________________________ Menciona y explica 3 ejemplos (diferentes a los mencionados anteriormente) en los que el que se involucre el manejo o el fenómeno de la información. a) __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ b) __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ c) __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ Julio 2009 13 PLAN 06 / NMS INFORMÁTICA II Transformación de datos Una vez que identificamos los elementos de la información, es necesario ver como es tratada tal información o que datos son importantes para el contexto en que fueron requeridos. Como ejemplo en la siguientes figuras veremos un esquema de cómo obtenemos un pasaporte. Actividad 1 Participa en el análisis de los esquemas y haz las anotaciones que creas pertinentes. __________________________ __________________________ __________________________ __________________________ __________________________ ___________________________ __________________________ ___________________________ __________________________ ___________________________ __________________________ ___________________________ __________________________ __________________________ __________________________ ___________________________ ___________________________ ___________________________ ___________________________ ___________________________ ___________________________ __________________________ ___________________________ ___________________________ ___________________________ ___________________________ __________________________ ___________________________ ___________________________ __________________________ Julio 2009 14 PLAN 06 / NMS INFORMÁTICA II __________________________ __________________________ __________________________ __________________________ __________________________ __________________________ __________________________ __________________________ __________________________ __________________________ __________________________ __________________________ __________________________ __________________________ __________________________ __________________________ __________________________ __________________________ __________________________ __________________________ Actividad 2 Con base al ejemplo anterior, elabora un esquema para inscribirse a un proceso de selección a carrera profesional. Utiliza las mismas figuras: rectángulos para representar fuentes o destinos de datos, círculos para indicar procesos, barras paralelas para los archivos y flechas para indicar el flujo de datos. Julio 2009 15 PLAN 06 / NMS INFORMÁTICA II Lección 2 La importancia de la información ¿Qué tan importante es la información? Como se vio en las lecciones anteriores, la importancia de la información radica en que permite actuar en forma adecuada. Veremos a continuación varios ejemplos donde se aprecia con claridad qué tan importante es la información para las personas, incluso para la naturaleza. Imagen 5.1.2.a Imagen 5.1.2.b Proceso Papel Billete Actividad 1 Con la explicación de tu profesor de las figuras anteriores. Responde a las siguientes preguntas: 1. 2. ¿Cuál es la aplicación de las figuras anteriores? a. (Figura a)____________________________________________________ _____________________________________________________________ _____________________________________________________________ b. (Figura b)_____________________________________________________ _____________________________________________________________ _____________________________________________________________ ¿Cuál es la diferencia entre un papel y un billete? ________________________________________________________________ ________________________________________________________________ _______________________________________________________________ Julio 2009 16 PLAN 06 / NMS 3. INFORMÁTICA II Para el caso de la figura b, existirá una diferencia entre el uso que le dé una persona y el uso que le dé un animal (por ejemplo un perro), justifica tu respuesta._______________________________________________________ ________________________________________________________________ ________________________________________________________________ ________________________________________________________________ ________________________________________________________________ Lección 2 El proceso En cualquier proceso encontramos que la información involucrada necesita de los siguientes elementos (que responden a las preguntas ¿para qué?, ¿Dónde? Y ¿Cómo?). a) Aplicación. La aplicación de la información consiste en utilizar los datos para poder decidir. i. Se contesta el ¿Para qué?. ii. Todo proceso de búsqueda de información tiene un fin. b) Almacenamiento. Consiste en guardar los datos para preservarlos a través del tiempo y poder reutilizarlos. i. Se contesta ¿Dónde se almacena? ii. Existen una gran variedad de dispositivos de almacenamiento externos c) Transmisión. Consiste en comunicar los datos para su utilización. i. Se contesta el ¿Cómo los envió? d) Fuentes y receptores. i. Fuentes son las que generan la información i. Se contesta ¿De dónde? ii. Receptores o destinos son los que aprovecharán la información. i. Se contesta el ¿Para quién? Julio 2009 17 PLAN 06 / NMS INFORMÁTICA II Actividad 1 Con la ayuda de tus compañeros relaciona los siguientes conceptos en la figura 5.1.2.c a) Información almacenada b) Comunicación c) Uso Imagen 5.1.2.c -- Julio 2009 18 PLAN 06 / NMS INFORMÁTICA II Lección 3 Aplicaciones Actuales Los computadores se pueden aplicar en cualquier área que requiera procesar información, como consecuencia ha invadido varias actividades del ser humano. La primera aplicación que tuvieron las computadoras fueron militares y posteriormente científicas. El desarrollo tecnológico ha sido vertiginoso en tan sólo dos décadas y siempre está en constante evolución. Mencionaremos algunas de las aplicaciones más utilizadas y sus aplicaciones. Actividad 1 Tarea. Investiga y menciona al menos 3 aplicaciones de las TIC’s. Las TIC’s y sus aplicaciones. Las TIC’s son aquellas tecnologías que permiten transmitir, procesar y difundir información de manera instantánea. Se define como instrumentos y procesos utilizados para recuperar, almacenar, organizar, manejar, producir, presentar e intercambiar información por medios electrónicos y automáticos. _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ Existen gran cantidad de ejemplos en las aplicaciones actuales. a) b) c) d) e) Administrativa y comercial Manejo de nómina Mantenimiento de inventarios Control de ventas (código de barras) Trasferencias electrónicas Cajeros automáticos Industrial Control de procesos Control de calidad Robótica Investigación científica y tecnológica Diseño Simulación de procesos Realización de cálculos complejos Servicios médicos Análisis clínicos Diagnósticos Sistemas de exploración Sistemas ferroviarios Diseño de nuevos trasportes Diseños de carreteras GPS f) Educación Sistemas tutoriales Programas de apoyos para la enseñanza Evaluación g) Entretenimiento Video juegos Efectos cinematográficos Edición de video h) Área militar Control de proyectiles Espionaje Cifrado y decodificación de mensajes i) Aplicaciones novedosas Realidad virtual Edificios inteligentes (Domótica) Comunicaciones y transportes Satélites Julio 2009 19 PLAN 06 / NMS Componentes (Biosensores, INFORMÁTICA II de la nueva tecnología Biochips, componentes ópticos). Nanotecnología En cada una de estas aplicaciones es necesario la intervención del hombre por más automatizadas o “inteligentes” que sean, en algún momento una persona Planeo un problema Propuso una respuesta lógica y estructurada Diseñó un programa Hizo pruebas de la aplicación Todo esto para que nosotros disfrutemos de la unión de la hardware y el software Lección 4 Representación de la información Actividad 1 Clasifica con la ayuda de tus compañeros, los diferentes medios de representar la información, con las siguientes divisiones Clásico y Actual. Encarta Carta e-mail Periódico Enciclopedias La radio Teléfono Televisión Clásico Cine Periódico digital Periódico impreso Diferentes formatos digitales de audio Video conferencia Diferentes formatos digitales de video Actual La información puede ser representada de diferentes formas. Actualmente la información digital es la que predomina en todos los ámbitos de nuestra vida. Julio 2009 20 PLAN 06 / NMS INFORMÁTICA II Lección 5 Métodos de solución a problemas, variables y operadores Situaciones Problémicas Actividad I Da respuesta a las siguientes preguntas: 1. ¿Qué haces cuando se te presenta un problema?. _____________________________________________________________________ _____________________________________________________________________ 2. ¿Qué acciones llevas a cabo ante ese problema?. _____________________________________________________________________ _____________________________________________________________________ 3. ¿Las decisiones que tomas, siempre son las adecuadas? _____________________________________________________________________ _____________________________________________________________________ 4. ¿Esto requerirá la implementación de una estrategia para resolver ese problema? _____________________________________________________________________ _____________________________________________________________________ Actividad 2 Junto con el profesor participa en el debate de tus respuestas y de tus compañeros. Ante la información adquirida, es necesario definir un método de solución. Método de solución es una estrategia que sirve para resolver un problema. Dicha estrategia consta de un conjunto de acciones que permite eliminar la diferencia entre lo que tenemos y lo que queremos. Julio 2009 21 PLAN 06 / NMS INFORMÁTICA II Problema Vemos a un ciudadano que circula por la carretera y de repente sufre una ponchadura en una llanta de su automóvil. Actividad 3 Crea equipos de 3 personas y den solución al problema anterior (15 min.), comenten sus resultados ante el grupo (10 min.). Escribe tus respuestas. __________________________________________________________________________ __________________________________________________________________________ __________________________________________________________________________ __________________________________________________________________________ __________________________________________________________________________ __________________________________________________________________________ __________________________________________________________________________ __________________________________________________________________________ __________________________________________________________________________ __________________________________________________________________________ __________________________________________________________________________ __________________________________________________________________________ __________________________________________________________________________ Julio 2009 22 PLAN 06 / NMS INFORMÁTICA II Métodos de solución Comenzaremos por definir los siguientes conceptos. Top – Down: el problema se analiza como un todo y luego se divide buscando solucionar cada una de sus partes. Pastel de Manzanas 1 1.1 - Preparar masa 1.1.1 - Mezclar harina , azúcar y mantequilla 1.1.2 - Mezclar leche y huevos 1.3 - Unir masa y manzanas 1.2 - Preparar manzanas 1.2.1 - Pelar manzanas , - Cortar manzanas en rodajas . 1.3.1 - Colocar la masa sobre una fuente . - Colocar las manzanas sobre la fuente. - Verter encima la mezcla de leche y huevos 1.3.1.1 - Hornear. Julio 2009 23 PLAN 06 / NMS INFORMÁTICA II Bottom-Up: con este enfoque el problema se analiza en partes. 1 - Sacar harina y azúcar de la alacena 4 - Mezclar harina con azúcar y mantequilla 2 - Sacar leche y huevos del refrigerador 3 - Sacar manzanas de la frutera 6 - Pelar manzana - Cortar manzana en rodajas 5 - Mezclar leche con huevos 7 - Colocar la masa sobre una fuente - Colocar las manzanas sobre la masa - Verter la mezcla de huevo y leche 8 Hornear: Pastel de manzana Julio 2009 24 PLAN 06 / NMS INFORMÁTICA II En la práctica es posible utilizar metodologías híbridas Es decir, se puede empezar analizando el problema con Top-Down o Bottom-Up, y así obtener la solución del problema original. Organizar la información Análisis de la situación Diseñar una estrategia para obtener la solución Problema Solución Consideraciones iniciales Pasos para llanta No puede seguir su camino y debe continuar el viaje Cambiar la llanta ponchada por otra en buen estado Existe una llanta de refacción en buen estado 1. Bajar del carro efectuar el cambio de 2.Abrir la cajuela Existe herramienta necesaria llave de etcétera). la (gato, cruz, 3. Sacar la llanta de refacción y herramienta 4. Colocar gato bajo el carro 5. Quitar tapón y aflojar (birlos) de la llanta dañada Se tienen las llaves de la cajuela tuercas 6. Levantar carro con el gato 7. Quitar birlos y llanta ponchada 8. Colocar la llanta de refacción y los birlos El carro ya fue estacionado (en la orilla de la carretera) 9. Bajar el carro 10. Apretar tapones los birlos y poner 11. Guardar herramienta y llanta en la cajuela 12 . Cerrar cajuela 13. Subir al carro y continuar el viaje. Julio 2009 25 PLAN 06 / NMS INFORMÁTICA II Actividad 3 Analiza el siguiente problema y trata de dar respuesta a las preguntas que se te hacen: Nuestro personajes está sentado en su casa viendo la televisión.Afuera está lloviendo y como su techo está en mal estado el agua se introduce a la habitación ¿Cuál es su problema? a) El problema es que la televisión no se ve bien b) El problema es que el sillón no es cómodo c) El problema es que las gotas hacen ruido d) El problema es que se está metiendo el agua a su casa ¿Cuáles serian las posibles soluciones? a) Esperar con resignación a que acabe la lluvia (mientras se moja el piso). b) Colocar un paraguas en el techo c) Reparar el techo d) Colocar una cubeta bajo la gotera Julio 2009 26 PLAN 06 / NMS INFORMÁTICA II Tarea Identifica el problema que se presenta en cada una de las siguientes situaciones, propón algunas soluciones y di cuál es la mejor ◦ Agenda ◦ Manejo de un estéreo ◦ En tu clase de matemáticas te dejan de tarea resolver la siguiente ecuación: x2-6x+1=0 ◦ Únicamente hoy exhiben la película sensacional que has deseado ver toda tu vida y por fortuna tienes la tarde libre; sin embargo, no tienes dinero. ◦ Hoy es la gran fiesta de Halloween. Esperas con ansia ir, pero al abrir el ropero te das cuenta que no tienes disfraz Recuerda que todos tenemos la posibilidad de generar un método de solución, sólo es cuestión de organizar la información y no dejar por obvio algunas situaciones Análisis de la situación Problema Diseñar una estrategia para obtener la solución Solución Consideraciones iniciales Pasos para resolver el problema Actividad 2 Escribe ideas positivas, negativas e interrogantes acerca de las siguientes situaciones reales o supuestas, y comenta con tus compañeros: Situaciones Se prohíbe fumar en sitios públicos. Ideas Positivas Ideas negativas Interrogantes Se toma un acuerdo mundial de dejar de usar el celular durante 24 hrs. Las madres que tengan hijos menores de 3 años deben dedicarse a ellos de tiempo completo y no trabajar fuera de casa. Julio 2009 27 PLAN 06 / NMS INFORMÁTICA II Actividad 3 Da respuesta a las siguientes preguntas, a partir del problema que se menciona. Un matrimonio joven decide comprar una mesa. Van a una mueblería y sin pensarlo se deciden por una de estilo colonial americano que les gustó. Cuando llegaron a la casa con la mesa se dieron cuenta que no cabía ni por la puerta, ni por la ventana, ni por el balcón. 1. ¿Qué piensas que le ocurrió a esta pareja?__________________________________ _____________________________________________________________________ 2. ¿Por qué llegaron a esa situación? _______________________________________ _____________________________________________________________________ Casos como éstos son frecuentes en la vida cotidiana. 1. ¿Qué concluyen del ejemplo?_____________________________________________ _____________________________________________________________________ 2. ¿Cómo se habría evitado el problema de la pareja?____________________________ _____________________________________________________________________ 3. ¿Qué datos surgieron a partir del problema, siempre son los mismos datos, que pasa si cambian de modelo?__________________________________________________ _____________________________________________________________________ Para casos como el anterior, hay que tener en cuenta algunas situaciones y ciertas variables: 1. ¿Qué circunstancias debes considerar para planificar una excursión?________________ _______________________________________________________________________ _______________________________________________________________________ _______________________________________________________________________ 2. ¿Qué características debes considerar para comprar una computadora?______________ ________________________________________________________________________ _______________________________________________________________________ _______________________________________________________________________ 3. ¿Qué condiciones necesitas para ver un programa de televisión?____________________ _______________________________________________________________________ _______________________________________________________________________ _______________________________________________________________________ Estrategias Para ayudarte a analizar ciertas situaciones, existen varias estrategias, mencionamos tres de ellas: Estrategia de Postergación Los enunciados de los problemas no siempre son directos. Ocasionalmente, durante la lectura del problema se presentan datos sin relación con los anteriores y, por lo tanto, no pueden representarse. En este caso la información se deja momentáneamente a un lado hasta que surgen los datos necesarios para completarla. Los datos faltantes permiten Julio 2009 28 PLAN 06 / NMS INFORMÁTICA II establecer los nexos necesarios para completar la representación gráfica. La estrategia que permite posponer los datos se denomina postergación. Actividad 3 Resuelve el siguiente ejercicio, haz todas las anotaciones necesarias: José es más rápido que Tomás. Pedro es más rápido que Samuel, pero a diferencia de José es más lento que Tomás. Por otra parte, se sabe que José es más lento que Miguel y Samuel más rápido que Jacobo. ¿Quién es el más rápido? Participa en la lluvia de ideas de tus compañeros para la solución del ejercicio y haz las comparaciones con el tuyo y de ser posible mejoras o ve las diferencias con tus respuestas. Julio 2009 29 PLAN 06 / NMS INFORMÁTICA II Pasos a seguir que pueden ayudarte a resolver el problema con la estrategia de postergación: 1. Leer detenidamente el problema. 2. Identificar la variable y la pregunta del problema. 3. Escoger el tipo de representación y los códigos para representar los datos. 4. Fijar una referencia y representarla gráficamente. 5. Leer el problema, paso a paso, deteniéndose en ciertos momentos para representar los datos. 6. Hacer una representación (gráfica, textual, etc., ) 7. Observar la representación y postergar datos en los casos en que se dé información que requiera datos posteriores para su procesamiento. 8. Verificar si los datos representados corresponden con el enunciado. 9. Observar el resultado de la representación. Los pasos anteriores fueron si te das cuenta los que ocupaste para resolver el problema anterior. Enunciados indeterminados En estos enunciados no se proporciona la información necesaria para que la solución del problema quede definida. Actividad 4 Resuelve el siguiente ejercicio, haz todas las anotaciones necesarias: Nelly y Carolina ganan lo mismo. Nelly gana más que Brenda, quien a su vez gana menos que Elisa. ¿Cuál de las siguientes posibilidades es la correcta? a) Nelly gana menos que Elisa. b) Nelly gana más que Elisa. c) Nelly podría ganar más o podría ganar menos que Elisa. Julio 2009 30 PLAN 06 / NMS INFORMÁTICA II Pasos a seguir que pueden ayudarte a resolver el problema: 1. Leer el problema. 2. Identificar la variable y lo que se pide. 3. Elegir el tipo de representación. 4. Hacer una representación para tratar de comprender las relaciones entre los datos y lo que se pide para identificar posibles datos o relaciones faltantes. 5. Completar el enunciado del problema. 6. Verificar la congruencia del resultado. Al igual que el ejemplo anterior, estos pasos fueron si te das cuenta los que ocupaste para resolver el problema. Representación en dos dimensiones usando tablas de valores numéricos 1. Leer todo el problema e identificar las variables y la pregunta o lo que se pide. 2. Elaborar una tabla que incluya dos de las variables cuyos valores están dados. 3. Leer el problema, parte por parte, y representar los datos de la tercera variable conforme se dan hasta completar la lectura de todo el enunciado. 4. Deducir a partir de los datos conforme se complete la tabla. 5. Contestar la pregunta del problema. 6. Verificar el procedimiento seguido y la respuesta obtenida. Actividad 5 Resuelve el siguiente ejercicio utilizando los pasos anteriores: Ejemplo: Elena, María y Susana estudian idiomas y entre las tres tienen 16 libros de consulta. De los cuatro libros de Elena, la mitad son de francés y uno es de italiano. María tiene la misma cantidad de libros que Elena, pero sólo tienen la mitad de los libros de francés y la misma cantidad de libros de italiano que Elena. Susana tiene solamente un libro de alemán, pero en cambio tiene tantos libros de italiano como libros de alemán tiene María. ¿Cuántos libros de francés tiene Susana y cuántos libros de cada idioma tienen entre todas? Julio 2009 31 PLAN 06 / NMS INFORMÁTICA II Tarea Resuelve los siguientes problemas i. Postergación (1) José es más rápido que Tomás. Pedro es más rápido que Samuel, pero a diferencia de José es más lento que Tomás. Por otra parte, se sabe que José es más lento que Miguel y Samuel más rápido que Jacobo. ¿Quién es el más rápido? (2) Gloria es mayor que Josefina, pero no tanto como Carmen, quien a su vez es mayor que Pamela y que Natalia, por otra parte, es más joven que Pamela, pero mayor que Josefina y Gloria. ¿Quién es la más joven? (3) El Sol es la fuente calorífica del sistema planetario solar. El calor que reciben los planetas está en relación directa con su distancia al Sol. De los siguientes planetas: Neptuno, Plutón, Urano y Saturno, ¿cuál es el menos caliente y cuál el menos frío? Si Neptuno es más frío que Saturno. Éste a su vez es más caliente que Urano. Plutón es el planeta más frío y Saturno es mucho más caliente que Neptuno. Urano es más frío que Neptuno. ii. Problemas enunciados indeterminados (1) Daniel y Sergio ganaron la misma cantidad de medallas en el campeonato de natación del colegio. También es cierto que Daniel ganó más medallas que Víctor, quien a su vez ganó menos que Armando. ¿Qué información se necesita agregar para saber si Daniel ganó más o menos medallas que Armando? a) Víctor ganó menos medallas que Sergio. b) Armando ganó menos medallas que Sergio. c) Daniel ganó más medallas que Víctor. d) Armando tiene más medallas que Víctor. iii. Representación en dos dimensiones usando tablas de valores numéricos (1) Tomás, Luis y Juan tienen 13 pelotas y un número de juegos de mesa que excede en 10 unidades al de balones. Tomás tiene un total de juegos de mesa que excede en dos unidades al número de pelotas y Luis tiene dos pelotas, o sea, cuatro pelotas menos de las que tiene Tomás. Por otra parte, Luis tiene un número de juegos de mesa que duplica su número de pelotas y se sabe que Juan tiene tres juegos de mesa más que Tomás. ¿Cuántos juegos de mesa tiene Juan? (2) Inés es jefa de enfermeras de un hospital. Debe recibir el material de sus subordinadas cada cambio de turno. Alejandra le entregó 23 vendas, tres termómetros, una jeringa y el mismo número de frascos de suero que le entregó Gracia. Fabiola le dio un frasco de suero más de los que entregó Alejandra, siete jeringas y cuatro termómetros. Maricela le entregó 34 artículos, entre los que había 14 termómetros. Gracia le entregó en frascos de suero el doble de lo que Fabiola le entregó en termómetros y el total de artículos que devolvió fue de 45, incluyendo 20 vendas. Entre todas le devolvieron 27 termómetros y entregaron 53 vendas más de las que entregó Alejandra. Entre los 152 artículos devueltos había cuatro jeringas menos que termómetros. Julio 2009 32 PLAN 06 / NMS INFORMÁTICA II Actividad 6 Se tiene que hacer una mudanza en un departamento, y nos vemos en la necesidad de guardar diferentes objetos, relaciona los objetos con las cajas. a ( ) ( b c ) ( ) Podemos responder entonces las siguientes preguntas, con un enfoque de programación: a) ¿Qué es una variable? Una variable es como una caja; en la cual nosotros podemos guardar cosas. Sólo que en las variables o “cajas” sólo pueden guardar una sola cosa a la vez. b) ¿Y por qué se les llama variables? Se las denomina así porque su contenido (la cosa) puede cambiar en cualquier momento durante el desarrollo del programa. De esta forma, una variable puede contener distintas cosas según donde se encuentre en el programa: números, letras, etc. Estas variables tienen ciertas características, si hacemos una analogía de una variable como una caja: i. Etiqueta de la caja = Nombre de la variable ii. Tamaño de la caja = Tipo de dato, es decir el dato u objeto que cabe en la caja iii. Contenido de la caja = Datos c) ¿Y qué tipos de datos podemos usar? Tenemos cuatro tipos básicos: i. Números (enteros, decimales, etc...) ii. Letras y números d) ¿Qué podemos hacer con las variables? Diferentes operaciones como: Julio 2009 33 PLAN 06 / NMS INFORMÁTICA II i. i. ii. Aritméticos +,-, *, /, % Lógicos And, or, not Relacionales < (menor que), > (mayor que) <= (menor o igual que), >= (mayor o igual que) == (igual), != (diferente) Julio 2009 34 PLAN 06 / NMS INFORMÁTICA II Lección 6 Creación y diseño de algoritmos y diagramas de flujo Algoritmos ¿Recuerdas el ejercicio de la llanta ponchada? (pág. 21) ¿Encontraron diferentes formas o métodos para resolver el problema? Para lograrlo ustedes tuvieron que organizar la información, a ese tipo de organización en el área de programación se le da el nombre de algoritmo. Definimos entonces Algoritmo como: la serie de pasos finitos, organizados y lógicos que describen el proceso que se debe seguir, para dar solución a un problema específico. Actividad 1 Realizar el siguiente ejercicio: Calcula el área de un Triángulo Para resolverlo tenemos que seguir algunos pasos 1. Entender bien el problema. 2. Buscar la mejor solución. 3. ¿Qué datos necesito? __________________________________________________ 4. ¿Cómo los utilizo? __________________________________________________ 5. ¿Para qué? __________________________________________________ CONSIDERACIONES INICIALES 1. Datos de entrada: ◦ Base (b), Altura (h) 2. Proceso: ◦ Fórmula: 3. Datos de salida: ◦ Área del triángulo: (A) ALGORTIMO 1. 2. 3. 4. 5. 6. Inicio Usado siempre al inicio del algoritmo Dar la Base b: Dar la Altura h: Realizar operación: a= (b*h)/2; Resultado: El área del triángulo es: a Fin Usado siempre al final del algoritmo Julio 2009 35 PLAN 06 / NMS INFORMÁTICA II EJECUCIÓN DEL ALGORITMO Considera los siguientes datos Base b=3cm y Altura h=5cm. ¿Cuál es el valor del área del triángulo? 1. Inicio 2. Dar la Base b: 3 3. Dar la Altura h: 5 4. Realizar operación: a= (b*h)/2; Sustituyendo datos a= (3*5)/2= (15)/2= 7.5 1. Resultado: El área del triángulo es: 7.5 cm2 2. Fin EJECUCIÓN DEL ALGORITMO Si Base b=5.3cm y Altura h=7.8 cm. ¿Cuál es el valor del área del triángulo? 1. Inicio 2. Dar la Base b: 5.3 3. Dar la Altura h: 7.8 4. Realizar operación: a= (b*h)/2; Sustituyendo datos a= (5.3 * 7.8)/2= (41.34)/2= 20.67 1. Resultado: El área del triángulo es: 20.67 cm2 2. Fin Actividad: Resuelve los siguientes ejercicios y crea sus algoritmos, “corridas” o ejecuciones y su diagrama de flujo. 1. Calcular el número de segundos que hay en un determinado número de días. Equipos de 3 personas (7 min.) 2. En una tienda necesitan saber dado el precio de un artículo vendido y la cantidad de dinero entregado por el cliente, ¿Cuál es el cambio que debe entregársele al mismo? Equipos de 3 personas (7 min.) Ejercicios de Tarea: 1. Dado el radio y la altura de un cilindro, calcular el área y volumen. 2. En una casa de cambio desean convertir una cantidad de dólares a pesos. 3. Dar como datos de entrada el nombre de un dinosaurio, su peso en toneladas y su longitud en libras, y escribir como datos de salida su nombre, el peso en kilogramos y su longitud en metros. Julio 2009 36 PLAN 06 / NMS INFORMÁTICA II Diagramas de flujo Veamos la representación gráfica del algoritmo visto en sesiones anteriores. Vemos a un ciudadano que circula por la carretera y de repente sufre una ponchadura en la llanta de su automóvil. Inicio 1.Inicio Bajar del carro 2.Bajar del carro 2.Abrir la cajuela Abrir la cajuela 3.Sacar la llanta de refacción y herramienta 4. Colocar gato debajo del carro Sacar la llanta de refacción y herramienta 5. Quitar tapón y aflojar tuercas (birlos) de la llanta dañada 6. Levantar carro con el gato 7. Quitar birlos y sacar llanta 8. Colocar la llanta de refacción y los birlos Colocar gato debajo del carro Quitar tapón y aflojar tuercas (birlos) de la llanta dañada 9. Bajar el carro 10. Apretar los birlos y poner tapones Levantar carro con el gato 11. Guardar herramienta y llanta en la cajuela 12 . Cerrar cajuela Quitar birlos y sacar llanta 13. Subir al carro y continuar el viaje. Colocar la llanta de refacción y los birlos 14. Fin Algoritmo Bajar el carro Apretar los birlos y poner tapones Bajar del carro Guardar herramienta y llanta en la cajuela Cerrar cajuela Subir al carro y continuar el viaje. fin Diagrama de flujo Julio 2009 37 PLAN 06 / NMS INFORMÁTICA II Veamos el ejercicio del área del triángulo. Actividad 1 Determina que representan las siguientes figuras en los diagramas de flujo, apoyándote de los ejemplos anteriores Julio 2009 38 PLAN 06 / NMS INFORMÁTICA II Son una manera de representar visualmente el flujo de datos a través de sistemas de tratamiento de información. Los diagramas de flujo describen que operaciones y en que secuencia se requieren para solucionar un problema dado. Símbolos de diagramación Se caracterizan porque los pasos o acciones se ejecutan una tras otra. Como en el ejercicio para calcular el área de un triángulo. Actividad 1 Realiza de forma individual lo siguiente: 1. Los diagramas de flujo con la Estructura Secuencial, de los ejercicios de la Tarea 4. 2. Algoritmo y Diagrama de flujo Calcular el área de un círculo Aquí definimos otro elemento más de la programación: Constante: Dato cuyo valor nunca cambia Ejemplo: Pi = 3.1416 iva = 0.15 Fases de un programa 1) Definición del Problema Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y precisa. Es importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca o entienda del todo no tiene mucho caso continuar con la siguiente etapa. Julio 2009 39 PLAN 06 / NMS INFORMÁTICA II 2) Análisis del Problema Una vez que se ha comprendido lo que se desea del computador, es necesario definir: 1.- Datos de entrada 2.- Cuál es la información que se desea producir (salida o resultado) 3.- Los métodos y fórmulas que se necesitan para procesar los datos. Una recomendación muy práctica es el que nos pongamos en el lugar del computador y analicemos que es lo que necesitamos que nos ordenen y en que secuencia para producir los resultados esperados. 3) Diseño del Algoritmo Las características de un buen algoritmo son las siguientes: (a) Debe poseer un punto particular de inicio. (b) Debe ser definido, no debe permitir dobles interpretaciones (c)Debe ser flexible, soportando la mayoría de variantes que se puedan presentar en la definición del problema. (d) Debe ser finito en tamaño y tiempo de ejecución. 4) Codificación La codificación es la operación de escribir la solución del problema (de acuerdo a la lógica del diagrama de flujo o pseudo código), en una serie de instrucciones detalladas (conocido como código fuente) ó en un código reconocible por la computadora. El código fuente se escribe en un lenguaje de programación, puede ser de bajo o alto nivel, el término alto o bajo no se refiere a la capacidad del lenguaje si no al nivel en el que interactúa con el hardware. 5) Pruebas y Depuración Los errores humanos dentro de la programación de computadoras son frecuentes y aumentan considerablemente con la complejidad del problema. El proceso de identificar y eliminar errores, para dar paso a una solución sin errores se le llama depuración. La depuración o prueba resulta una tarea tan creativa como el mismo desarrollo de la solución, por ello se debe considerar con el mismo interés y entusiasmo. Resulta conveniente observar los siguientes principios al realizar una depuración, ya que de este trabajo depende el éxito de nuestra solución. 6) Documentación Es la guía o comunicación escrita en sus variadas formas, ya sea en enunciados, procedimientos, dibujos o diagramas. A menudo un programa escrito por una persona, es usado por otra. Por ello la documentación sirve para ayudar a comprender o usar un programa o para facilitar futuras modificaciones (mantenimiento). La documentación se divide en tres Documentación Externa y Manual del Usuario. Julio 2009 partes: Documentación Interna, 40 PLAN 06 / NMS INFORMÁTICA II a) Documentación Interna. Son los comentarios o mensaje que se añaden al código fuente para hacer mas claro el entendimiento de un proceso. b) Documentación Externa: Se define en un documento escrito los siguientes puntos: Descripción del Problema (Enunciado). Nombre del Autor (Analista, Programador). Algoritmo (Diagrama de flujo o Pseudo código). Diccionario de Datos (Descripción de variables). Código Fuente (Programa). c) Manual del Usuario: Describe paso a paso la manera como funciona el programa, con el fin de que el usuario obtenga el resultado deseado. 7) Mantenimiento Se lleva acabo después de terminado el programa, cuando se detecta que es necesario hacer algún cambio, ajuste o complementación al programa para que siga trabajando de manera correcta. Para poder realizar este trabajo se requiere que el programa este correctamente documentado. Julio 2009 41 PLAN 06 / NMS INFORMÁTICA II Programa DFD DIAGRAMAS DE FLUJO: DFD DFD es un programa de libre disposición para ayuda al diseño e implementación de algoritmos expresados en diagramas de flujo (DF). Además incorpora opciones para el depurado de los algoritmos, lo que facilita enormemente la localización de los errores de ejecución y lógicos más habituales. Su utilización es muy sencilla, al tratarse de una herramienta gráfica, y además incluye un menú de ayuda muy completo, por lo que en estas notas nos vamos a centrar en el uso básico de las herramientas de diseño y depuración. El resto de opciones (detalles de sintaxis más avanzados, operadores y funciones disponibles), puede consultarse directamente en la ayuda del programa. INICIO DE DFD La ejecución de C: \Mis documentos\FreeDFD-1.1-RC4 DFD presenta la pantalla de inicio siguiente: Julio 2009 42 PLAN 06 / NMS INFORMÁTICA II Un primer ejemplo de diseño con DFD Construiremos un primer ejemplo sencillo de algoritmo para ilustrar las capacidades más básicas de DFD. Dicho algoritmo consistirá en pedir dos números al usuario, sumarlos y presentar el resultado en pantalla. Algoritmo 1. Inicio 2. Pedir el primer número, A 3. Pedir el segundo número B 4. A la variable C asignarle la suma de A y B 5. Mostrar el resultado en pantalla de la variable C 6. Fin Diagrama de Flujo Inicio Leer A Leer B C A+B Mostrar C Fin Julio 2009 43 PLAN 06 / NMS INFORMÁTICA II La operación básica será la de inserción de objetos. En primer lugar, insertaremos una sentencia de salida en la que se indique al usuario que se tiene que ingresar para que el programa pueda procesar la información. Para ello pulsamos el botón correspondiente salida y llevamos el ratón al punto donde vamos a insertarlo. La inserción se realiza pulsando el botón izquierdo, con lo que tendremos una situación como la siguiente: Los puntos azules indican qué objeto se acaba de insertar. Para introducir la variable que deseamos leer, hay que EDITAR dicho objeto, haciendo doble clic sobre el mismo. De este modo se abre una ventana donde pondremos un mensaje indicando al usuario que dato debe introducir (por ejemplo 'Buenos días. Escriba dos números, en ventanas separadas, por favor') y clic en Aceptar. Ahora hay que almacenar los datos que va a dar el usuario agregando una sentencia de Lectura y asignar la variable en nuestro caso A. Julio 2009 44 PLAN 06 / NMS INFORMÁTICA II Repetimos el proceso para agregar otra sentencia lectura, y leer el segundo número B. Ahora hay que colocar una sentencia de de Asignación para calcular la suma de las variables A y B, y asignarlas en C. Variable destino. Sentencia asignación o proceso Una vez asignada la operación clic en aceptar. Solo falta mostrar nuestro resultado en pantalla. Para eso hay que agregar una sentencia de salida, mostrar un mensaje y a la variable C (por ejemplo: 'Gracias. La suma es: ', C). Julio 2009 45 PLAN 06 / NMS INFORMÁTICA II Variable coma indica que se va agregar otro elemento Mensaje o cadena de caracteres con comillas simples, al inicio y al final de la misma. Nuestro algoritmo tendrá la siguiente forma: Julio 2009 46 PLAN 06 / NMS INFORMÁTICA II Un primer ejemplo de ejecución con DF Tras haber diseñado el algoritmo podemos probar o ejecutarlo, para tratar de detectar posibles errores en él. Para ello utilizaremos los botones de ejecución, y en particular el botón EJECUTAR que pondrá en marcha el algoritmo. La primera sentencia en ejecutarse será la de SALIDA, que mostrará en pantalla el mensaje correspondiente: Seguidamente la de ENTRADA, que nos muestra un cuadro de texto donde introduciremos el valor que queramos darle a la variable (por ejemplo, 123.45): Julio 2009 47 PLAN 06 / NMS INFORMÁTICA II Hay que dar clic en continuar y seguidamente nos muestra la pantalla de la siguiente ENTRADA, que nos muestra un cuadro de texto donde introduciremos el valor que queramos darle a la variable (por ejemplo, 100): y, finalmente, la última sentencia de SALIDA: Julio 2009 48 PLAN 06 / NMS INFORMÁTICA II Cuando el algoritmo finaliza su ejecución sin error se muestra el siguiente mensaje: Dado que el algoritmo es correcto, procederemos a guardarlo (por ejemplo, con el nombre sumar dos números). La opción de guardar es similar a la de cualquier aplicación Windows, por lo que no merece mayor comentario. Únicamente recordar que en general, durante el proceso de elaboración de un algoritmo (que puede ser largo) debemos guardar frecuentemente en disco el diseño, con objeto de prevenir posibles fallos o errores que dejen inutilizada la computadora y provoquen la pérdida del trabajo realizado. Julio 2009 49 PLAN 06 / NMS INFORMÁTICA II UNIDAD VI PROGRAMACIÓN EN LENGUAJE C Julio 2009 50 PLAN 06 / NMS INFORMÁTICA II Objetivo de la Unidad: Utilizando los diagramas de flujo se procederá a la uso de un lenguaje de programación de los existentes en el mercado. El lenguaje de programación propuesto es C. Crear programas en lenguaje c con operadores matemáticos utilizando funciones de entrada y salida a un nivel aplicativo. Lección 1 Lenguajes de programación La computadora por si sola no es capaz de realizar alguna tarea, entonces la pregunta sería: ¿Cómo vamos hacer que un conjunto de cables desempeñen tareas específicas?. ¿De que manera se puede lograr la comunicación con la maquina? Entonces tratando de solucionar este problema surgieron los lenguajes de programación junto con sus herramientas que los traducen a ceros y unos. Podemos clasificar estos lenguajes de la siguiente manera: Lenguajes de Bajo Nivel o Tienen su origen desde las primeras computadoras digitales. o Los lenguajes de programación que la computadora puede entender de manera directa son conocidos como lenguajes de máquina. Bastante incomprensible para los humanos o El lenguaje ensamblador consiste en códigos de operación junto con otros nombres simbólicos. Lenguajes de Alto Nivel o Surgen para facilitar la programación al humano o Los lenguajes de alto nivel ofrecen las siguientes ventajas Transportabilidad. Fácil comprensión. o Los primeros lenguajes de alto nivel fueron diseñados para resolver problemas Matemáticos. Lenguajes de tercera generación o Llamados también estructurados están caracterizados por sus potentes posibilidades. o Propósito General. o Orientados a Objetos. La programación orientada a objetos es una filosofía de implementación en donde los programas se organizan como una colección cooperativa de objetos, los cuales representa una instancia de alguna clase y cuyas clases pertenecen a una jerarquía de clases unidas a través de una relación de herencia. o Lenguajes Especializados Julio 2009 51 PLAN 06 / NMS INFORMÁTICA II Julio 2009 52 PLAN 06 / NMS INFORMÁTICA II Lenguaje C El lenguaje C fue diseñado en los años sesenta por Dennis Ritchie, de los Laboratorios Bell. El propósito era ser el lenguaje del sistema operativo UNIX. Surgió a partir de dos lenguajes de programación de sistemas, BCPL y B. A mediados de los ochenta ya había en el mercado numerosos compiladores C, y muchas aplicaciones habían sido reescritas a él para aprovechar sus ventajas. Características del lenguaje El C se encuentra en la jerarquía de lenguajes en un nivel intermedio entre Pascal y el Ensamblador. Pretende ser un lenguaje de alto nivel con la versatilidad del bajo nivel. En su desarrollo se siguieron una serie de líneas generales tales como: El compilador pequeño y eficiente. Pocas palabras reservadas. La E/S no se considera parte del lenguaje en sí Para genera programas eficientes y robustos. Instalación del lenguaje C Julio 2009 53 PLAN 06 / NMS INFORMÁTICA II Pantalla inicial de C Para ejecutar Turbo c • Entrar a la carpeta BIN • Buscar y ejecutar el archivo TC.EXE Lección 2 Primer programa en C Una vez instalado C, crea un nuevo archivo ( Menú Archivo (File) -> Nuevo (New)). Julio 2009 54 PLAN 06 / NMS INFORMÁTICA II Escribe las siguientes instrucciones que sirven como estructura “básica para C”. #include "stdio.h" void main() { } Guarda tu archivo Clic en el menú Archivo (File) Clic en la opción Guardar (Save) En la ventana de diálogo hay que indicar el lugar donde se almacenará la información, indicando la unidad y la carpeta (E:\TC\RESULT\) Respetar la extensión del archivo, remplazando el símbolo “ * ” para el nombre, en nuestro caso ejemplo1 Julio 2009 55 PLAN 06 / NMS INFORMÁTICA II Dar clic en el botón OK, y verificar que el nombre del archivo y la ruta donde está guardado sea la correcta. Vamos a agregar diferentes instrucciones y seleccionarás su función con la ayuda de tus compañeros. Tienes que tomar en cuenta las siguientes notas: Colocarás cada instrucción entre las llave que abre y la que cierra. Presiona la tecla F9 para verificar si no existen errores en la escritura. En caso de no existir errores presiona las teclas Ctrl + F9 , para ejecutar el programa, esto te llevará a otra ventana (en color negro) Presiona cualquier tecla para regresar al programa Haz las anotaciones en la tabla. En caso de que no puedas observar “la pantalla negra” agrega antes de la llave que cierra la instrucción getchar(); y repite el paso 2. Si alguna de tus respuestas es inciso e) error, borra la instrucción y continúa con la siguiente. Julio 2009 56 PLAN 06 / NMS INFORMÁTICA II Agrega las siguientes instrucciones, después de que ya cuentes con su respuesta anexa la siguiente y repite el paso 2 y 4. printf(“Hola”); a) Imprime o muestra, la palabra Hola. printf(“Hola \n”); a) Imprime la palabra hola. printf(“\n Hola”); a) Imprime la palabra hola. b) Lee la palabra Hola. c) Hace una operación. e) Error b) Agrega un salto de línea c) Agrega un salto de antes de la palabra Hola. línea después de la palabra Hola. e) Error b) Agrega un salto de línea c) Agrega un salto de antes de la palabra Hola línea después de la hola. palabra Hola. e) Error scanf(“%d”,&a); a) Imprime la letra a. b) No hace nada. int a=1; a) Imprime la letra a. b) No hace nada. printf(“Escribe el valor de una variable”); a) Imprime el texto que está b) No hace nada. entre comillas. printf(“\n”,a); a) Nada b) Imprime el texto que está entre comillas y el valor de a. printf(“%d”,a); a) Imprime el texto que está b) Imprime el texto que entre comillas. está entre comillas y el valor de a. printf(“ ”,a); a) Imprime el texto que está b) Nada. entre comillas. c) Lee una variable. e) Error c) Lee una variable. e) Error c) Lee una variable. e) Error c) Muestra sólo el valor de a e) Error c) Muestra sólo el valor de a e) Error c) Muestra sólo el valor de a e) Error Cuestionario ¿Qué puedes concluir que hace la instrucción printf(); ? __________________________________________________________________________ __________________________________ ¿Qué hace la instrucción \n dentro de las comillas del printf();? __________________________________________________________________________ __________________________________________________________________________ __________________________________________________ ¿Es necesario respetar la manera de escribir cada instrucción? ( ) si ( ) no ¿porque?___________________________________________________________________ Julio 2009 57 PLAN 06 / NMS INFORMÁTICA II __________________________________________________________________________ __________________________________________________________________________ _____________________________________________________ Julio 2009 58 PLAN 06 / NMS INFORMÁTICA II Ahora, hay que codificar la información, es decir traducirla al lenguaje C. Como ejemplo utilizaremos el ejercicio del Área del triangulo ya visto en el ejercicio anterior. Podemos hacer la siguiente analogía para el algoritmo y diagrama en relación al lenguaje C: Algoritmo 1. Inicio Diagrama Lenguaje C #include <stdio.h> Justificación SENTENCIAS PARA EL PREPROCESADOR Deben empezar con el símbolo " # " en la primera columna. LA FUNCIÓN "main". Todo programa debe contener una función llamada "main" void main( ) INICIO DEL CUERPO DE LA FUNCIÓN "{". { int b=0, h=0, A=0; 2. Dar la Base b. 3. Dar la Altura h. 4.Realizar operación: A=(b*h)/2 5. El área del triángulo es: A DECLARACIÓN DE VARIABLES, antes de leerlas (toda variable debe ser declarada antes de ser utilizada). scanf(“%d”, &b); LECTURA DE CADA UNA DE LAS VARIABLES. scanf(“%d”, &h); A=(b+h)/2; SENTENCIAS U OPERACIONES printf(“El área del triángulo es: %d”, A); IMPRIMIR UNA VARIABLE, JUNTO CON UN MENSAJE QUE LA DISTINGUE. Julio 2009 59 PLAN 06 / NMS INFORMÁTICA II 6. Fin } FIN DEL CUERPO DE LA FUNCIÓN "}". /* comentario */ Estos símbolos permiten escribir comentarios que es información que ignora el compilador y que sirven para documentar el programa. SENTENCIAS PARA EL PREPROCESADOR Deben empezar con el símbolo " # " en la primera columna. Son órdenes que el preprocesador interpreta antes de que el código fuente sea compilado. El preprocesador produce un programa escrito en C que es lo que se compila después. Deben empezar con el símbolo " # " en la primera columna. Incluye también los siguientes conceptos: Librerías en Lenguaje C Contiene librerías que nos permiten utilizar diferentes funciones al momento de programar. stdio.h: librería que permite utilizar las instrucciones básicas para programar en lenguaje C. conio.h: librería que permite utilizar las instrucciones que permiten utilizar color de texto, color de fondo, posición en la pantalla. math.h: librería que permite utilizar las instrucciones para realizar cálculos matemáticos. Para utilizar las instrucciones que contiene cada librería, se debe incluir en el programa, de la siguiente manera: # include < stdio.h > ó # include “stdio.h” # include < conio.h > ó # include “conio.h” LA FUNCIÓN "main". Todo programa debe contener una función llamada "main". Es la invocada desde el sistema operativo cuando comienza la ejecución del programa. También devuelve un valor al medio de llamada. Todo programa debe contener una función llamada "main". INICIO DEL CUERPO DE LA FUNCIÓN "{". DECLARACIÓN DE VARIABLES, también llamada definiciones de datos o declaraciones Todas las variables deben declararse antes de usarlas: Julio 2009 60 PLAN 06 / NMS INFORMÁTICA II Indicar el tipo de datos al que pertenece. Ello determina: o Su representación en memoria. o El conjunto de valores posibles. o Las operaciones permitidas. o La forma de realizar las operaciones. También se puede indicar: o La clase de localización en memoria. o El ámbito de existencia. o Un valor inicial. El usuario puede definir tipos nuevos, combinando tipos predefinidos Tipos de datos Tipo de dato En C Ejemplos printf scanf Entero int int num1; (variable num1 de tipo entero) %d int a,b,c; (variables a,b,c de tipo entero) %i char nom; (varible nom de tipo carácter) %c Carácter char %s char name, ap1; (variables name, ap1 de tipo carácter) Flotante float float n1; (variable n1 de tipo flotante) %f float a,b,c; (variables a,b,c flotantes) Declaración de variables Significado int num1, num2; Declaramos entero. float a,b,c; Declaramos a, b y c como variables de tipo flotante (i.e. que tiene punto decimal). char nom, app, apm; Declaramos nom, app y apm, como variables de tipo carácter. Julio 2009 num1 y num2 como variables de tipo 61 PLAN 06 / NMS INFORMÁTICA II Declaración de constantes Constante: Es un dato cuyo valor no cambia durante la ejecución de un algoritmo, diagrama, y/o programa. Declaración de constantes Significado const nc = 9 Declaramos nc como una constante con valor 9, de tipo entero. const pi = 3.1416; Declaramos pi como una constante con valor 3.1416 de tipo flotante const inst = “BUAP”; Declaramos inst como una constante con valor “BUAP”, de tipo cadena LECTURA DE CADA UNA DE LAS VARIABLES E IMPRESIÓN EN “C” Librería “stdio.h” La librería “stdio.h” contiene las instrucciones printf, scanf, getchar, que son básicas para programar. Estas instrucciones utilizan tipos de datos que como programadores se deben definir. 1. printf: permite imprimir en pantalla texto o información y también resultados a una variable de salida o resultado. Sintáxis: printf(“ aquí se escribe lo que queremos ver en pantalla “); printf(“ Texto %d tipo de dato”, variable ); Ejemplos: printf(“ Hola bienvenido a Lenguaje C “); printf("\n El área del triángulo es %d", area); Caracter Utilidad con la función printf \n Permite saltar un renglón \t Permite un tabulador \” Permite colocar comillas Julio 2009 62 PLAN 06 / NMS INFORMÁTICA II 2. scanf: permite capturar información de teclado y asignarla a una variable de entrada. Sintáxis: scanf ("%tipo de dato", &variable); Ejemplo: scanf ("%d", &num1); 3. getchar() o getch(): permite esperar, hasta obtener un carácter. Sintáxis: getchar( ); o getch( ); #include "stdio.h" void main() { int b=0,h=0,A=0; printf("PROGRAMA QUE CALCULA EL AREA DE UN TRIANGULO"); /* Describe el programa*/ printf("\n Da el valor de la base "); /*letrero que indica que se va ha leer*/ scanf ("%d", &b); /*leer la variable de la base*/ printf("\n Da el valor de la altura "); scanf ("%d", &h); A = (b*h)/2; printf("\n El área del triángulo es %d", A); getchar(); } Después lo guardamos con F2 le asignamos nombre (máximo 8 caracteres sin puntos espacios, caracteres especiales) Ejecutar un programa en C El primer paso es compilar a) Clic en Compile, clic en compile Julio 2009 63 PLAN 06 / NMS INFORMÁTICA II Y ahí vamos a estar corrigiendo tanta veces como sea necesario pues en nuestro ejemplo marca 1 Warnings y 2 Errors Errores: Los errores de programación pueden clasificarse en varios tipos, dependiendo de la fase en que se presenten. Errores de sintaxis: son errores en el programa fuente. Pueden deberse a palabras reservadas mal escritas, expresiones erróneas o incompletas, variables que no existen, etc. Los errores de sintaxis se detectan en la fase de compilación. El compilador, además de generar el código objeto, nos dará una lista de errores de sintaxis. De hecho nos dará sólo una cosa o la otra, ya que si hay errores no es posible generar un código objeto. Avisos: además de errores, el compilador puede dar también avisos (warnings). Los avisos son errores, pero no lo suficientemente graves como para impedir la generación del código objeto. No obstante, es importante corregir estos avisos, ya que el compilador tiene que decidir entre varias opciones, y sus decisiones no tienen por qué coincidir con lo que nosotros pretendemos, se basan en las directivas que los autores del compilador decidieron durante su creación. Errores de enlazado: el programa enlazador también puede encontrar errores. Normalmente se refieren a funciones que no están definidas en ninguno de los archivos objetos ni en las librerías. Puede que hayamos olvidado incluir alguna librería, o algún archivo objeto, o puede que hayamos olvidado definir alguna función o variable, o lo hayamos hecho mal. Errores de ejecución: incluso después de obtener un archivo ejecutable, es posible que se produzcan errores. En el caso de los errores de ejecución normalmente no obtendremos mensajes de error, sino que simplemente el programa terminará bruscamente. Estos errores son más difíciles de detectar y corregir. Existen programas auxiliares para buscar estos errores, son los llamados depuradores (debuggers). Estos programas permiten detener la ejecución de nuestros programas, inspeccionar variables y ejecutar nuestro programa paso a paso. Esto resulta útil para detectar excepciones, errores sutiles, y fallos que se presentan dependiendo de circunstancias distintas. Errores de diseño: finalmente los errores más difíciles de corregir y prevenir. Si nos hemos equivocado al diseñar nuestro algoritmo, no habrá ningún programa que nos pueda ayudar a corregir los nuestros. Contra estos errores sólo cabe practicar y pensar. Julio 2009 64 PLAN 06 / NMS INFORMÁTICA II Cuando tenemos errores el compilador los muestra y al presionar cualquier tecla nos muestra en la pantalla de mensajes lo que está sucediendo Al bajar con las teclas direccionales (las flechas) en la parte de edición una línea se colocará en donde posiblemente se encuentre el error, y después de varias correcciones se muestra un letrero muy esperado, felicidades ya no tienes errores. ¡¡GUARDA, GUARDA!! Es muy importante guardar antes de “correr o ejecutar un programa Ejecuta el programa con Ctrl+F9 y verás Julio 2009 65 PLAN 06 / NMS INFORMÁTICA II Librería “conio.h” La librería “conio.h” contiene las instrucciones cprintf, cscanf, gotoxy, clrscr, que permiten dar mejor vista a los programas realizados en C, por ejemplo color de texto, fondo, limpiar pantalla, …, etc. Función Sintaxis Clrscr Aplicación clrscr(); Limpia la pantalla textcolor (*) textcolor(No.color); Color de texto o letra textbackground (*) textbackground(No.color); Color de fondo Cprintf cprintf(“ “); Escribe en pantalla con el color indicado por (*). Cscanf cscanf(“%Tipo”, & var ); Captura el dato en con el color indicado por (*). Gotoxy gotoxy(coordx, coordy); Coloca el cursor en la posición indicada según las coordenadas de la pantalla. Ejercicio: Realiza un programa utilizando las funciones textcolor( ); y textbackground( ); que te permita identificar los colores, de acuerdo al número asignado. Número 0 Color Negro Número Color 8 1 9 2 10 3 11 Julio 2009 66 PLAN 06 / NMS INFORMÁTICA II 4 12 5 13 6 14 7 15 Julio 2009 67 PLAN 06 / NMS INFORMÁTICA II BIBLIOGRAFÍA Cairó, Osvaldo. Metodología de la Programación. Algoritmos, Diagramas de Flujo y Programas. Volumen I. Computec. México, 1995. Cairó, Osvaldo. Metodología de la Programación. Algoritmos, Diagramas de Flujo y Programas. Volumen II. Computec. México, 1996. Cairó, Osvaldo y Guardati, Silvia. Estructuras de Datos. Mc. Graw Hill. México, 1993. ALCALDE, Eduardo y Miguel García, Metodología de la Programación, Ed. McGraw-Hill, 2da. Edición, México 1993 CAIRO, Battistutti Osvaldo, Metodología de la Programación: Algoritmos, Diagramas de Flujo y Programas, Ed. COMPUTEC-ALFAOMEGA Grupo Editos S. A, México 1995 CORREA, Uribe Guillermo, Desarrollo de algoritmos y aplicaciones en BASIC, PASCAL, COBOL y C, , Ed. McGraw-Hill, 3ra. Edición, Colombia 1992 Dispositivos que actualmente se pueden ocupar como medios para almacenar informacion http://www.tecnogadgets.com/ Informática II Sistemas de Información. Jorge Vasconcelos Santillán. Publicaciones Cultural. 2002 Informática I Sistemas de Información. Jorge Vasconcelos Santillán. Publicaciones Cultural. 2002 JOYANES, Aguilar Luis, Luis Rodriguez Baena, Matilde Fernández Azuela, Fundamentos de programación (Libro de problemas), , Ed. McGraw-Hill / Interamericana de España, S.A, España 1996. LEVIN, Jacques, Structured Programming Techniques Lectures on borroughs implementation, Estados Unidos 1976. LEVINE, Guillermo, Introducción a la computación y a la programación estructurada, Ed. McGraw-Hill, 2da. Edición, México 1991. PRESSMAN, Roger S. Ingeniería del Software, un enfoque práctico, Ed. McGraw-Hill, México 1998. Understanding Computers – Computer Languages, Time-Life books. Inc, Estados Unidos 1986 VERA, Baldillo Fernando, Computadoras y programación de Algoritmos, Universidad LA SALLE, México 1994 WIRTH, Niklaus, Introducción a la Programación Sistemática, Ed. El Ateneo, 2da. Edición, Argentina 1986. Vasconcelos, Jorge. Introducción a la computación. Publicaciones Cultural, México, 1997. Julio 2009 68