GUÍA CUADERNO DE TRABAJO ACADÉMICO INFORMÁTICA ÁREA I BACHILLERATO UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO 2020 Universidad Nacional Autónoma de México Dirección General de la Escuela Nacional Preparatoria Colegio de Informática Jefatura de Producción Editorial de la Escuela Nacional Preparatoria ESCUELA NACIONAL PREPARATORIA COLEGIO DE INFORMÁTICA ÁREA I. FÍSICO MATEMÁTICAS Y DE LAS INGENIERÍAS Grado: Cuarto Clave: 1412 Plan: 1996 ACTUALIZACIÓN CURRICULAR 2016 INFORMÁTICA Guía cuaderno de trabajo académico Coordinación y revisión Marcela Cuapio Campos Autores Milagros Pacheco Castañeda Rocío Velasco Bazán Norma Angélica Romero Badillo Norma Gloria Covarrubias Rocha Alejandro Villagómez Díaz Israel Fernando Balderas Morales Alma Rosa López Aparicio Marcela Cuapio Campos Rebeca Guillermina Villegas Salas Ivette Cruz Felipe Rebeca Rodríguez Ramírez Nancy Olivia Montor Vázquez Blanca Rosa Algalán Meneses Josafath Benítez Rumbo Mónica Elizabeth González Chavarría Adriana Sánchez Máximo Zugelli Vanessa Elorza Bautista Alejandro Nava Álvarez Juan Carlos Sotomayor Guerra UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO ESCUELA NACIONAL PREPARATORIA DIRECCIÓN GENERAL: BIÓL. MARÍA DOLORES VALLE MARTÍNEZ SECRETARÍA ACADÉMICA: M. EN C. MARÍA JOSEFINA SEGURA GORTARES JEFA DEL DEPARTAMENTO DE PRODUCCIÓN EDITORIAL: LIC. MARÍA ELENA JURADO ALONSO Imagen de portada: Gerd Altmann Diseño de portada: Edgar Rafael Franco Rodríguez Diseño editorial: Citlali Galván González Rebeca Guillermina Villegas Salas Diseño gráfico: Citlali Galván González Revisión de estilo: Marcela Cuapio Campos Rebeca Guillermina Villegas Salas Queda prohibida la reproducción parcial o total del contenido de la presente obra, sin la previa autorización expresa y por escrito de su titular, en términos de la Ley Federal de Derecho de Autor, y en su caso de los tratados internacionales aplicables. La persona que infrinja esta disposición se hará acreedora a las sanciones legales correspondientes. Segunda edición: febrero, 2020. Derechos reservados por © UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO Escuela Nacional Preparatoria Dirección General Adolfo Prieto 722, Col. Del Valle. C.P. 03100, Ciudad de México. Impreso en México. PRESENTACIÓN La Escuela Nacional Preparatoria, institución educativa con más de 150 años de experiencia formando jóvenes en el nivel medio superior, busca la constante actualización y mejora de sus materiales de apoyo a la docencia, así como la publicación de nuevos ejemplares, siempre teniendo en mente a nuestros alumnos y su aprovechamiento. Después de varios años de trabajo, reflexión y discusión, se lograron dar dos grandes pasos: la actualización e implementación de los programas de estudios de bachillerato y la publicación de la nueva colección de Guías de Estudio. Sin embargo, los trabajos, resultado del espíritu crítico de los profesores, siguen dando fruto con publicaciones constantes de diversa índole, siempre en torno a nuestro quehacer docente y a nuestros programas actualizados. Ciertamente, nuestra Escuela Nacional Preparatoria es una institución que no se detiene, que avanza con paso firme y constante hacia su excelencia académica, así como preocupada y ocupada por la formación integral, crítica y con valores de nuestros estudiantes, lo que siempre ha caracterizado a nuestra Universidad Nacional. Aún nos falta más por hacer, por mejorarnos cada día, para que tanto nuestros jóvenes estudiantes como nuestros profesores seamos capaces de responder a esta sociedad en constante cambio y a la Universidad Nacional Autónoma de México, la Universidad de la Nación. “POR MI RAZA HABLARÁ EL ESPÍRITU” BIÓL. MARÍA DOLORES VALLE MARTÍNEZ DIRECTORA GENERAL ESCUELA NACIONAL PREPARATORIA ÍNDICE INTRODUCCIÓN UNIDAD I. INFORMACIÓN DIGITAL 1.1 Búsqueda de información: búsqueda básica y especializada en buscadores, bases de datos, bibliotecas digitales y sitios institucionales 1.2 Evolución del procesamiento de la información 1.3 Codificación de la información, unidades básicas de información y almacenamiento de datos: bytes, kilobytes, entre otros 1.4 Almacenamiento de información en dispositivos digitales físicos o lógicos 1.5 Criterios de manejo de la información: manejo seguro de la información (malware – antimalware); manejo confiable de la información, manejo ético de la información UNIDAD 2 PROCESAMIENTO DIGITAL DE LA INFORMACIÓN 2.1 Tipos de equipos: computadoras, dispositivos móviles, etc., de acuerdo con la capacidad de procesamiento de información 2.2 Características elementales del equipo: propiedades del equipo en hardware y software, microprocesador, memoria ram, periféricos, etc. 2.3 Sistemas operativos 2.4 Tipos de software UNIDAD 3. METODOLOGIA DE SOLUCIÓN DE PROBLEMAS COMPUTABLES 3.1 Planteamiento: acotamiento y alcances del problema computable 3.2 Análisis: definición de datos e identificación de los elementos y recursos que se requieren para la solución del problema 3.3 Diseño de la solución del problema: algoritmos, diagramas de flujo y pseudocódigo con estructuras de control 3.4 Paradigmas y lenguajes de programación: estructurados, orientados a objetos, etc. 3.5 Codificación: traducción del lenguaje natural a un lenguaje de programación 3.6 Prospectiva: límites, alcances y riesgos de la programación PÁG. 9 13 16 24 32 41 58 68 81 85 99 103 112 140 146 160 GLOSARIO 167 RESPUESTAS DE EJERCICIOS 172 AUTOEVALUACIÓN 214 REFERENCIAS BIBLIOGRÁFICAS 227 INTRODUCCIÓN El presente cuaderno de trabajo tiene como objetivo primordial acompañar al estudiante del curso de Informática en la construcción de sus conocimientos. A lo largo del cuaderno, encontrarás material teórico que te servirá para sentar las bases en las que se fundamentan los temas; ejercicios que te permitirán poner en práctica lo aprendido y evaluaciones que te harán ver qué tanto has aprendido. También tiene la finalidad de ayudar al estudiante que se encuentra en una situación remedial, para que pueda prepararse de una manera completa para presentar un examen. Así mismo, puede ser útil para el profesor como un apoyo en la clase, pues sirve para guiar al docente en la impartición del curso bajo el programa actualizado paso a paso y además, puede utilizarse como material adicional a la bibliografía. El cuaderno aborda las tres unidades de la que consta el programa de estudios actualizado. Al inicio de cada sección, se detallan los contenidos conceptuales y procedimentales que se abordan en la misma. A lo largo del cuaderno se encuentran ejemplos y referencias electrónicas que se deben visitar para complementar los temas de una forma adecuada. El cuaderno contiene los siguientes apartados: ● Temario de estudio. Da a conocer los contenidos y las actividades de aprendizaje acerca de cada tema conforme al Programa de Estudios vigente. Indica la profundidad de los conocimientos que serán evaluados. ● Actividades. Contienen la información teórica y práctica para desarrollar aprendizajes conceptuales y procedimentales. ● Autoevaluación. Se presentan cuestionarios de indagación y evaluación para medir los aprendizajes. ● Referencias de consulta. Proporciona las fuentes donde el estudiante puede complementar cada tema del programa. ● Glosario. Contiene el significado de palabras usadas en el cuaderno. Esperamos que este material te sea de utilidad, y que, con él, puedas prepararte para enfrentar los diferentes retos que se te presentan como estudiante. UNIDAD 1 Información Digital “La información es poder” Bill Gates Unidad 1. Información Digital UNIDAD 1 INFORMACIÓN DIGITAL Introducción En esta unidad desarrollarás habilidades digitales en el manejo de información que junto con los diversos procesos de enseñanza te ayudarán a comprender temas como la evolución del procesamiento de la información y las computadoras, el almacenamiento que te va a permitir guardar información de manera segura, así como el manejo y procesamiento correcto de la información utilizando criterios de búsqueda en sitios confiables de internet, así como propiciar un uso ético y responsable de las fuentes consultadas. Todo esto podrás realizarlo en clase compartiendo tus experiencias y opiniones con tus compañeros y tu profesor o de forma individual, con el fin de proporcionarte los conocimientos necesarios y herramientas para presentar tu examen ordinario o extraordinario. Tu equipo de cómputo contiene información importante para tí, ya sea escolar o privada, (documentos, imágenes, usuarios, contraseñas, etc.), por lo que es importante que sepas qué riesgos corre la información contenida en tu equipo y los peligros que corres al conectarte a ciertos sitios o copiar información a tu computadora y que cuentes con los conocimientos y herramientas que te permitan tener protegida tu información. Aunado a esto aprenderás de forma divertida con ejercicios que reforzaran los conceptos revisados en cada tema. Contenidos conceptuales Contenidos procedimentales 1.1 Búsqueda de información: búsqueda básica y especializada en buscadores, bases de datos, bibliotecas digitales y sitios institucionales. 1.6 Empleo de la red para buscar información sobre la evolución del procesamiento de la información desde la antigüedad hasta la actualidad empleando criterios de búsqueda. 1.9 Uso de criterios para la selección de información académicamente confiable. Contenidos actitudinales Imagen 1.1 (qimono, 2019) 1.12 Valoración del empleo, uso responsable y honesto 7 Unidad 1. Información Digital 1.1 Búsqueda de información: búsqueda básica y especializada en buscadores, bases de datos, bibliotecas digitales y sitios institucionales En la escuela te han dejado un proyecto sobre los beneficios de hacer ejercicio y su influencia positiva en el organismo y elaborar un cartel informativo que se colocará en la semana de la salud. Tus compañeros y tú no saben dónde buscar información en la red. Te preguntas ¿qué bibliotecas o catálogos te ayudarán a buscar información?, ¿cómo saber si la información que consultas es la adecuada? y ¿podrás encontrar información específica sobre el tema? Para poder iniciar tu investigación es necesario que sepas que existen estrategias de búsqueda de información, las cuales se describen a continuación. Internet se ha convertido en un cúmulo de información y datos que están distribuidos en todo el mundo, cuando se hace una consulta del algún tema existe la posibilidad de encontrar imágenes, videos, documentos, presentaciones, audios, etc. Es tanta la diversidad de información que se encuentra que las posibilidades se multiplican comparado con los medios impresos tradicionales a nuestro alcance. Para indagar Información en un buscador necesitamos escribir una palabra clave, para que nos muestre una lista de direcciones con los temas relacionados. Cuando se busca información en Internet, se debe seguir un eje de acciones para obtener la información requerida: Conocer las variables de búsqueda. Consultar opciones de “ayuda de búsqueda de información”. Utilizar algunas estrategias de búsqueda (operadores lógicos, comillas, símbolos + y -, etc.). Evitar palabras comunes que los buscadores ignoran. Cuidar la ortografía. Verificar el idioma. Cuidar la sintaxis en la utilización de operadores. Ordenar, clasificar y seleccionar la información. Dentro de las estrategias de búsqueda de información y obtener resultados eficientes, se encuentran: 8 Operadores booleanos (and, or, not). Permiten ampliar, delimitar o reducir una búsqueda. Unidad 1. Información Digital Imagen 1.2 Operadores booleanos (Universidad de Valencia, 2018) Operadores de proximidad. Permiten establecer la relación o cercanía entre los términos de una búsqueda (WITH, NEAR, ADJ) WITH: Encuentra documentos que incluyan todos los términos, donde el orden es el mismo con el que se indica el criterio de búsqueda. Por ejemplo: computadoras with cuánticas NEAR: Encuentra documentos que incluyan todos los términos, pero el orden no es el mismo con el que se indica el criterio de búsqueda. Por ejemplo: plantas near ornato ADJ: Encuentra documentos que incluyan todos los términos juntos, con el orden con que se indica el criterio de búsqueda. Por ejemplo: síndrome adj Down “ ”: Encuentra documentos que incluyan todas las palabras detalladas dentro de las comillas. Por ejemplo: “incendios en la selva amazónica” Operadores de Truncamiento. Son símbolos que se emplean para sustituir palabras y obtener variaciones (* o ?) ?: El símbolo de cierre de interrogación permite que se omita una sola letra de una palabra, sin importar en dónde se coloque. Por ejemplo: ?oma = coma, goma, toma, roma *: El asterisco permite que se omitan una sola letra o varias de una palabra, así como encontrar variaciones, pero con la misma raíz. Por ejemplo: mega* = megahertz, megabits, megabytes *logía = arqueología, biología, psicología 9 Unidad 1. Información Digital Ejercicio 1.1 1. Averigua en qué museos se encuentran los siguientes objetos y obras de arte: Tumba de Pakal Penacho de Moctezuma Las dos Fridas Cueva de San Borjitas 2. En el buscador, debes encontrar información sobre el tema Contaminación marina en México. ¿Cuántos registros se obtienen con los siguientes criterios de búsqueda de información y qué recursos se encontrarán? a) contaminación and marina or México b) contaminación - marina + México c) “contaminación marina” en México d) contaminación near marina and México e) contamin* marina and México Reflexión Responde las siguientes preguntas: ¿Consideras eficiente hacer búsquedas por Internet? ¿Qué criterios de búsqueda de información son más eficaces en la obtención de información en la red? ¿Siempre es conveniente utilizar criterios específicos en la búsqueda y selección de información? ¿Cómo sabrías que una página es confiable en la información que ofrece? 10 Unidad 1. Información Digital Contenidos conceptuales Contenidos procedimentales 1.2 Evolución del procesamiento de la 1.6 Empleo de la red para buscar información. información sobre la evolución del procesamiento de la información desde la antigüedad hasta la actualidad empleando criterios de búsqueda. Imagen 1.3 (ARTIST, 2019) 1.9 Uso de criterios para la selección de información académicamente confiable. Contenidos actitudinales 1.12 Valoración del empleo, uso responsable y honesto de la información para evitar la piratería, el plagio, etc. 1.13 Valoración del marco normativo del uso de la web, la información (creación, desarrollo y aplicación) y las tecnologías, así como las sanciones correspondientes (policía cibernética). 1.2 Evolución del procesamiento de la información Cuando vas a una tienda de videojuegos una consola llama tu atención, te preguntas cuánta memoria tiene, la velocidad a la cual corre, si es grande o pequeña, qué controles tiene para jugar de modo que sea más placentero y cómodo jugar con ella, y si eres más curioso, observas qué procesador tiene y la posibilidad de expansión, por supuesto podrás ver qué juegos tiene para poder jugar de inmediato con ella o cuando menos si existe una en demostración para probarla. Ha pasado por tu mente ¿cómo eran las primeras consolas?, ¿cuáles eran las primeras computadoras que se inventaron y para qué? Para dar respuesta a estas preguntas, debemos conocer la historia de las primeras computadoras y su evolución hasta llegar a la tecnología actual. ¿Qué es una computadora? “Es un dispositivo electrónico que almacena y procesa datos; y es capaz de ejecutar órdenes o comandos” (Joyanes y Zahonero, 2011). Si una computadora es un dispositivo electrónico y facilita las tareas al hombre al ejecutar órdenes y hacer actividades en menor tiempo, es conveniente preguntarse ¿cómo serían las computadoras en aquellos tiempos en donde no existía electricidad? La Tabla 1.1 representan los inicios de las computadoras: 11 Unidad 1. Información Digital Descripción Imagen Las antiguas culturas como los caldeos, sumerios, babilonios y egipcios usaban como método de conteo números representados por cuentas fabricadas de diferentes materiales como madera o barro, con las que se realizaban procesos matemáticos de operaciones básicas. Los mayas incorporaron a sus procesos matemáticos el uso del cero (0), lo cual permitió resolver problemas matemáticos y astronómicos complejos. Imagen 1.4 El número cero en varias formas (Mendoza, 1998) En 1917, el inventor de los logaritmos, Giovanni Nepro, creó una tabla pitagórica de columnas que realizaba multiplicaciones, raíces cuadradas y cúbicas de una forma rápida. Imagen 1.5 Ábaco de Napier. (Enciclopedia Libre Universal, 2004) Blaise Pascal en 1642 construyó una máquina, conocida después como “La Pascalina”, realizaba sumas y restas de forma mecánica. Imagen 1.6 La Pascalina (Monniaux D, 2018) 12 Unidad 1. Información Digital Descripción Imagen Herman Hollerit crea “La máquina tabuladora”, que fue pionera en el uso de tarjetas perforadas. Posteriormente funda la empresa Tabulating Machine Company, precursora de la compañía International Business Machines fundada por Thomas J. Watson en 1924, mejor conocida actualmente por sus siglas: IBM. Imagen 1.7 Máquina tabuladora (Mandujano, 2017) Primera computadora electrónica. Los avances de la tecnología dieron como resultado en 1937 la primera computadora electrónica por Atanasoff, llamada Atanasoff Berry Computer o por sus siglas ABC. Imagen 1.8 Computadora ABC. (Rahman, 2011) Tabla 1.1 Inicios de las computadoras Generaciones de las computadoras A partir de la década de los cuarenta, el desarrollo de las computadoras se ha dividido por generaciones de acuerdo a un avance significativo como los componentes de hardware con los que están construidas, los procesadores que utilizan, capacidad, velocidad y el software que el ser humano ha utilizado para trabajar con ellas. La Tabla 1.2 muestra las características más representativas de cada una de las generaciones de computadoras. 13 Unidad 1. Información Digital Generación Imagen Primera Generación (1946-1958) La primera generación se caracteriza por tener como componentes principales tubos al vacío o también llamados bulbos, los cuales se usaban para el manejo de la corriente dentro de estas computadoras. Las características principales de esta generación son que eran computadoras de un gran tamaño y lentas en el procesamiento de los datos para dar información, generaban mucho calor y tenían un sistema de enfriamiento especial para combatirlo. Su programación era mediante lenguaje máquina. Las computadoras que representan esta generación son la ENIAC y la UNIVAC, consideradas como las primeras computadoras comercializadas. Imagen 1.9 Bulbos. (Ecured, 2013) Imagen 1.10 Eniac2. (Ecured, 2011) Segunda Generación (1959-1964) En la segunda generación se cambian los tubos de vacío por transistores. Estas computadoras ahorran espacio y energía, aumentan los periféricos de entrada y salida, como el teclado y los monitores, en cuanto al procesamiento de datos se incrementa, pues aparece un lenguaje de alto nivel llamado Fortran, el cual permite un mayor número de opciones en el procesamiento de la información. Imagen 1.11 Transistor (Industrial Alchemy, 2018) Una computadora de esta generación es la computadora PDP-1. Imagen 1.12 Computadora PDP1 (Computer History Museum, 2018) 14 Unidad 1. Información Digital Generación Imagen Tercera Generación (1964-1975) En la tercera generación se cambian los transistores por circuitos integrados. Las computadoras de esta generación son más pequeñas y menos costosas. La tercera generación ya es nombrada computadoras digitales. El manejo de estos equipos es por medio de lenguajes de control de los sistemas operativos y por lenguajes de alto nivel como Pascal. Imagen 1.13 Circuito Integrado de 1959 (Computer History Museum, 2018) Surge la compatibilidad con otros equipos y la multiprogramación. Un equipo representativo de esta generación es la computadora IBM 360. Imagen 1.14 IBM 360 (Computer History Museum, 2018) Cuarta Generación (1971-1984) En la cuarta generación se integra el microprocesador promoviendo el desarrollo de las microcomputadoras y las computadoras personales, en primer lugar, la computadora APPLE II en 1977 y las PC (Personal Computer) a principios de los ochentas. Estas computadoras tienen mayor rapidez en su procesamiento de la información. Imagen 1.15 Microprocesador Intel 8080 de 1974 (Computer History Museum, 2018) Con las computadoras personales se incrementa el número de computadoras vendidas de manera vertiginosa, logrando ser una herramienta importante para hacer las tareas cotidianas y de negocios. Otra de las características de esta generación en que los equipos almacenan la información en discos magnéticos y se desarrollan las supercomputadoras. Imagen 1.16 IBM PC (Computer History Museum, 2018) Tabla 1.2 Generaciones de computadoras 15 Unidad 1. Información Digital Ejercicio 1.2 Estás en una tienda de computadoras y de pronto llega un vendedor para decirte que le acaba de llegar la última generación de computadoras y que es la quinta, pero no tienes idea cuáles son las características de ésta, entonces te pones a investigar desde un dispositivo móvil cuáles son las características y diferencias de la parte física y lógica que indican que estamos en la quinta generación. Escríbelas. Comparte los resultados con tus compañeros. Ejercicio 1.3 Estás jugando un video juego y para obtener vidas te piden relacionar la columna de los diferentes inventos con sus creadores. 16 1. Colossus ( ) William Oughtred 2. Regla de cálculo ( ) George R. Stibitz 3. UNIVAC ( ) Joseph Jacquard 4. Máquina tabuladora ( ) John von Neumann 5. ABC ( ) Arthur Scherbuis 6. Sumadora mecánica ( ) Howard Aiken 7. Telar automático ( ) Herman Hollerith 8. Circuitos Digitales lógicos ( ) John Mauchly 9. Mark 1 ( ) Charles Babbage 10. Máquina Enigma ( ) Blaise Pascal 11. Máquina analítica ( ) 12. ENIAC ( ) Atanasoff Berry Computer Tommy Flowers Unidad 1. Información Digital Ejercicio 1.4 ¿Cuáles son las características de las generaciones de computadoras?, llena la información que falta. Observa que existe una quinta generación. Generación Elemento principal Características principales de uso de cada generación 1ª generación Transistor 3ª generación Microprocesador 5ª generación Comparte tus resultados con tus compañeros. Reflexión En este espacio de reflexión completa los espacio en blanco para obtener una idea general de lo visto y refinado en este apartado. Mi familia comenta que en muy poco tiempo la ___________ ha _________de forma apresurada, de tal manera que no alcanzamos a conocer una __________ o ____________ y ya salió un _________ nuevo con otras _______________ y formas de manipularlo diferente, es probable que se deba a la forma tan apresurada que se vive hoy en día, y las ___________ ficticias sociales que nos llevan hoy por hoy a cambiar de tecnología. No sucedía así en años pasados desde que iniciaron las computadoras, para poder cambiar de equipo o de una __________ a otra se requería de cierto tiempo para hacer modificación _____________ con mayor rapidez. Lo que se ha visto según la plática es que, con el avance tecnológico, los equipos de cómputos se pusieron al ________ de más gente bajando __________, y cubriendo las _____________ de las personas. Palabras clave: alcance, avanzado aplicaciones, avanzar, computadora costos, dispositivo móvil, equipo, generación, necesidades, necesidades, tecnología. 17 Unidad 1. Información Digital De acuerdo con los conocimientos adquiridos, ¿cómo evalúas tu aprendizaje? Indicadores Aprendí los diferentes tipos de computadoras. Puedo diferenciar entre cada generación de computadoras. Aprendí desde cuándo surgieron las computadoras y para qué se usaban. Identifico las características pertinentes de las diferentes generaciones de computadoras. Identifico qué modelos de computadoras son de cada generación. Sé a quién debemos la estructura del procesamiento de la información de hoy en día. Sé a qué se debe el cambio de generación de computadoras. Sé cuándo debo hacer un cambio en mis dispositivos móviles o computadora. 18 Regular Bien Excelente Unidad 1. Información Digital Contenidos conceptuales Contenidos procedimentales 1.3 Codificación de la información, unidades básicas de información y almacenamiento de datos: bytes, kilobytes, entre otros. 1.7 Organización y almacenamiento de información en diversos dispositivos de acuerdo con el volumen de la información. 1.9 Uso de criterios para la selección de información académicamente confiable. Contenidos procedimentales 1.15 Concientización del impacto ambiental de las nuevas tecnologías, así como de la contaminación digital. Imagen 1.17 (Aparicio, 2019) 1.3 Codificación de la información, unidades básicas de información y almacenamiento de datos: bytes, kilobytes, entre otros Codificación de la información Desde tiempos remotos, el hombre como individuo de sociedad, se ha visto en la necesidad de diseñar y crear lenguajes como una forma de comunicación y para expresar sus ideas o pensamientos. El uso de señas e imágenes fueron las primeras formas de comunicación, hasta llegar a la escritura mediante el uso de símbolos como el alfabeto que ahora conocemos. Ahora, imagina la labor que realizaron para establecer una interfaz de comunicación entre los humanos y las computadoras. Diversos precursores (inventores y matemáticos) se dieron a la tarea dar solución a este problema, entre ellos encontramos a los siguientes: En 1854, George Boole (matemático irlandés, creador del álgebra booleana), fue el primer hombre en crear un sistema lógico conformado por ceros y unos, llamado “sistema binario”. En 1937, Claude Shannon, basado en el álgebra de Boole fundamenta su tesis donde muestra el primer diseño práctico de un circuito digital. Konrad Zuse a partir de esa tesis, crea las primeras computadoras que utilizaban el sistema binario (0 y 1). Actualmente, una computadora funciona mediante el uso de componentes de tipo electrónico, pequeños y rápidos (circuitos integrados o chips). Estos circuitos utilizan los valores de 0 y 1 para indicar dos estados: encendido y apagado; es decir, 19 Unidad 1. Información Digital para la ausencia de corriente corresponderá un 0 y ante la presencia de corriente, corresponderá un 1. Ahora sabes que a través de ceros y unos (sistema binario), tu computadora, celular y otros dispositivos codifican y decodifican toda la información, cada uno de esos ceros y unos es una señal que se envía y se procesa para desplegar resultados (documentos, imágenes, hojas de cálculo, etc.) en la pantalla. Podemos definir codificación de la información como el procedimiento que realiza una computadora digital, cuando convierte la información a ceros y unos (la codifica en binario) y la devuelve en información que se pueda utilizar como: cálculos, textos, imágenes, música o cualquier tipo de archivo digital. Imagen 1.18 Código binario. (Inspirito, 2016) Unidades de información y almacenamiento de datos Como se mencionó anteriormente, las computadoras trabajan con el sistema binario y esto ha derivado en el uso de las unidades de almacenamiento de información digital que conocemos actualmente. En informática es común manejar el concepto de “palabra” la cual está constituida por bits (acrónimo de binary digit, en español dígito binario), es decir por ceros y unos y no por letras en el concepto que estamos acostumbrados, una palabra puede constar de 8, 16, 32 o 64 bits, entre mayor sea este número, mayor velocidad de procesamiento tendrá la computadora. Sabías que, para representar las letras de tu nombre, una computadora necesita codificarlos mediante el código ASCII (American Standard Code for Information Interchange o Código Estadounidense Estándar para el Intercambio de Información). Este código asigna un número a cada letra o símbolo que puede ser representado por una computadora conocido como caracter, utiliza un formato de ocho bits para conformar cada símbolo. Cuando generamos documentos o 20 Unidad 1. Información Digital información digital cada uno de estos caracteres ocupan espacio en nuestros dispositivos, en cada canción, fotografía o mensaje, por lo tanto, entre más documentos o archivos tengas, el desempeño de tu computadora o dispositivo va disminuyendo. La capacidad de almacenamiento de una computadora se mide en términos como byte, kilobyte, megabyte, gigabyte, terabyte, etc. Para que el rendimiento de tus dispositivos sea óptimo es importante que aprendas a administrar la información que capturas, descargas, guardas y creas dentro de tus dispositivos móviles y de cómputo. Bit. Es la mínima cantidad de datos o información que puede almacenar o procesar una computadora (0,1). Byte. Cada byte de información es conformado por un conjunto de 8 bits (un caracter). Nibble. Conjunto de 4 bits, permite la representación del sistema hexadecimal. Imagen 1.19 Capacidad de almacenamiento. Taylor (s/f) Ejercicio 1.5 Con un compañero realiza una búsqueda de información en el navegador de tu preferencia e investiga lo siguiente: ¿Cómo surgen los códigos de comunicación del lenguaje máquina al natural? Observa la siguiente conversión de decimal a binario: 21 Unidad 1. Información Digital Imagen 1.20 Conversión a decimal (MikroElectrónica, 2018) Ahora, intenta convertir los siguientes números binarios a decimal: a) 11101 = b) 11111 = c) 01010 = ¿Lo lograste?, juega a convertir algunos otros de tu interés con tus compañeros. Lee y con tus propias palabras define el concepto de código ASCII. ¿Por qué es importante el código ASCII en la codificación de la información? ________________________________________________________________ ________________________________________________________________ Descarga el código ASCII en tu computadora o dispositivo móvil e investiga cómo se utiliza y cuántos caracteres se pueden representar con este código. Tip: utiliza las palabras clave “codificación de información” y “lenguaje máquina” “código ASCII”, si deseas ver una lista más extensa para el código, ingresa al sitio: http://www.asciitable.com/ Podrás observar que un byte, corresponde a una letra, por ejemplo, la palabra “HOLA” contiene 4 bytes. ¿Sabes cuántos bits contiene la palabra “HOLA”? Si 1 byte = 8 bits entonces 4 bytes X 8 = 32 bits Indica cuántos bytes tiene la frase “Hola Mundo”: _______________________ Ahora prueba con tu nombre, indica lo siguiente y pide a un compañero que te ayude a revisar. a) Cuántos Bits b) Cuántos Byte 22 Unidad 1. Información Digital Ejercicio 1.6 Observa, investiga y completa la siguiente tabla: Unidades de almacenamiento Unidad Abreviatura Bit Bit Forma binaria 0,1 Byte B 21 1 210 1024 Kilobyte Megabyte MB Bytes Equivalencia 1,048,576 8 bits 1 024 KB Gigabyte Terabyte Petabyte Ingresa a los documentos de tu PC, selecciona una carpeta y visualiza sus propiedades. Contesta lo siguiente: ¿Puedes indicar cuántos bytes de información contiene esa carpeta? Abre un documento de texto (Word) en tu computadora. Guárdalo con tu nombre y cierra el documento. Con el botón derecho de tu mouse, abre las propiedades del archivo que acabas de crear e identifica cuántos bytes de tamaño ocupa (anota tu respuesta). _______________________________________________________________ _______________________________________________________________ Ahora abre el mismo documento y escribe tu nombre completo, talla, peso y edad, guárdalo y ciérralo. Selecciona el archivo y con el botón derecho de tu mouse, abre de nuevo las propiedades. Identifica cuántos bytes de tamaño ocupa ¿Varió el tamaño? ¿Cuánto? ________________________________________________________________ 23 Unidad 1. Información Digital ¿Puedes identificar la cantidad de almacenamiento de datos que tiene tu dispositivo móvil, computadora, USB, un CD-ROM o tablet? Anótalo en la siguiente tabla y compara las cantidades de almacenamiento. Tabla comparativa Tipo de dispositivo Almacenamiento total Celular Tablet Computadora Memoria USB CD-ROM ¿Qué dispositivo es el más conveniente para realizar un respaldo de toda tu información (música, fotos, videos y documentos)? ________________________________________________________________ ________________________________________________________________ Ejercicio 1.7 Después de reflexionar sobre la codificación de la información y sobre todo de las unidades básicas de información, retoma el concepto de sistema binario y con base en ello realiza lo siguiente: Recuerda que el sistema binario se compone de 1´s y 0´s y que a mayor número de ceros y unos se puede representar un mayor número de letras y/o palabras. Agrupando bits, podemos obtener bytes y de igual manera, agrupando bytes podemos obtener kilobytes y así sucesivamente. 24 Unidad 1. Información Digital Imagina que debes realizar un ensayo de dos páginas para una de tus materias, ¿cuántos kilobytes crees que puede ocupar tu texto? Anota tu respuesta. ____________________________________________________________ ____________________________________________________________ Ahora imagina que debes entregar un proyecto final de una de tus materias para aprobar tu periodo en un CD-ROM, el proyecto debe incluir: una portada, introducción, justificación, desarrollo y conclusiones. ¿Cuántas páginas de texto crees que puedan caber en ese CD-ROM? ¿Será suficiente un CD-ROM para guardar tu proyecto? Anota tu respuesta. ____________________________________________________________ ____________________________________________________________ Reflexión Lee el siguiente texto, reflexiona y completa con las palabras faltantes. Desde sus inicios y hasta la actualidad, la comunicación entre el hombre y las computadoras se llevó mediante la creación del _________ __________, George Boole fue creador de este sistema y del Álgebra Booleana. Con este sistema conformado por _______ y _______ tu computadora decodifica y ___________ la información. Por ______________ de la información se entiende que: “es el procedimiento que realiza una ______________ digital, cuando convierte la información a _______ y _______, la codifica y la devuelve en ______________ que se puede utilizar, para dicha codificación existe un código estándar llamado ____________ con el cual se realiza el intercambio de información”. Todo dato, palabra o número que se genera o codifica en tu computadora genera espacio, lo cual involucra una cantidad de almacenamiento el cual se mide en kilobytes, _________, gigabyte, __________, etc. por lo que es importante que sepas administrar la información que resguardas en tu computadora ya que el ___________ o desempeño de ésta se verá reflejado. Palabras clave: Sistema binario, ceros y unos, codificación, computadora, información, megabyte, ASCII, rendimiento. 25 Unidad 1. Información Digital De acuerdo con los conocimientos adquiridos, ¿cómo evalúas tu aprendizaje? Indicadores ¿Comprendí el concepto de “codificación”? ¿Comprendí para qué sirve y la función del sistema binario en la codificación de la información? ¿Comprendí los términos bit, byte, palabra y nibble? ¿Comprendí los términos de almacenamiento de datos tales como: kilobyte, megabyte, terabyte y gigabyte? ¿Comprendí la funcionalidad del código ASCII? 26 Regular Bien Excelente Unidad 1. Información Digital Contenidos conceptuales Contenidos procedimentales 1.4 Almacenamiento de información en dispositivos digitales físicos o lógicos. 1.7 Organización y almacenamiento de información en diversos dispositivos de acuerdo con el volumen de la información. Contenidos actitudinales Imagen 1.21 Almacenamiento en la nube (Dataprius, 2016). Recuperado de: https://bit.ly/2G9pXqR 1.15 Concientización del impacto ambiental de las nuevas tecnologías, así como de la contaminación digital. 1.4 Almacenamiento de información en dispositivos digitales físicos o lógicos Actualmente, es común utilizar el disco duro de la computadora, la memoria USB o la tarjeta microSD del móvil para guardar documentos, fotografías, videos etc., con la finalidad de conservarlos y utilizarlos posteriormente, al hacerlo estamos haciendo uso de dispositivos de almacenamiento. ¿Qué pasaría si no existieran estos dispositivos? ¿Dónde guardarías las fotografías, música y documentos que generas todos los días al usar la computadora y tu celular? ¿Has escuchado el término disquetes de 5¼? Los dispositivos de almacenamiento, al igual que los equipos de cómputo, han evolucionado con el tiempo. En 1976 Shugart Associate creó el disquete de 5 ¼ pulgadas, uno de los primeros dispositivos físicos de almacenamiento que tenía una capacidad de 360 KB, que actualmente sólo serviría para guardar documentos en formato de texto sin imágenes o 6 segundos de una canción en formato MP3. Imagen 1.22 Disquete de 5 ¼ (Pixabay, s/f) 27 Unidad 1. Información Digital En esta época, el almacenamiento de los discos duros llegaba hasta 5 MB en el que podrías almacenar una canción y media en formato MP3 o una imagen de 1024 x 768 píxeles. En 1984, se redujo el tamaño de los disquetes a 3 ½ pulgadas y aumentó la capacidad a 720 KB, por ser de doble cara. Imagen 1.23 Disquete de 3 ½ (Pixabay, s/f) En los 90´s, los discos duros aumentaron su capacidad hasta 1 GB y siguió en aumento en los años siguientes, en esta época también llegó al mercado otro dispositivo de almacenamiento físico el CD-ROM creado como disco para música y aún se sigue usando para este rubro, pero desde su creación evolucionó para ser usado en la computación con una capacidad de almacenamiento de 650 MB donde podrías almacenar alrededor de 180 canciones en formato MP3. En 1999, sale al mercado la tarjeta de memoria creada por las compañías SanDisk, Matsushita y Toshiba con una capacidad de almacenamiento de 4 MB. En el año 2000, surgió la memoria USB con un almacenamiento de 8 MB que fueron comercializadas por la compañía Trek Technology e IBM, actualmente podemos encontrar memorias USB hasta de 2 TB que pueden llegar a almacenar 531,344 canciones o 975,168 fotos, como se puede observar, el almacenamiento de información ha evolucionado de forma muy rápida. Podemos decir que al proceso de guardar información de forma permanente se le conoce como almacenamiento de información, puede ser de dos tipos: 28 Dispositivos físicos Dispositivos lógicos Unidad 1. Información Digital Dispositivos Físicos Son los dispositivos de almacenamiento que podemos tocar y ver de manera física y que forman parte del hardware. A continuación, se describen los diferentes tipos de dispositivos físicos: Disco Duro interno y externo. Unidad de almacenamiento que se encuentra dentro del CPU (interno) o puede conectarse de manera externa a través de un cable USB, permite el almacenamiento del sistema operativo y de aplicaciones de uso específico. Memoria USB. Dispositivo de almacenamiento de tamaño pequeño sin partes mecánicas, tiene capacidad de almacenamiento desde 2 GB hasta 2 TB. Tarjeta de Memoria. Dispositivo de almacenamiento no volátil que se puede usar en diferentes aparatos (PC, cámara fotográfica, consola de videojuegos, dispositivos móviles etc.) ya que vienen en diferentes medidas y capacidades de almacenamiento. CDROM. Conocido como disco compacto, es un disco óptico que permite el almacenamiento de información, su capacidad llega hasta 700 MB. DVD. Es un disco óptico, que al igual que el CD, permite el almacenamiento de información, su capacidad es de 4.7 GB si es de capa simple, los de doble capa llegan a almacenar 8.5 GB. Imagen 1.24 Dispositivos de almacenamiento (VPE, 2015) 29 Unidad 1. Información Digital Dispositivos Lógicos Son los espacios para almacenar información en la nube que proporcionan diferentes proveedores cuyo acceso es a través del internet y algunos son gratuitos. Imagen 1.25 Almacenamiento en la nube (Escuela en la nube, 2018) El almacenamiento en la nube proporciona las siguientes ventajas: ● ● ● ● ● Movilidad. Se puede tener acceso desde cualquier lugar si se cuenta con acceso a internet. Trabajo en equipo. El trabajo en equipo y colaborativo se puede realizar desde cualquier lugar, ya que los documentos almacenados están disponibles para su edición y manejo sin tener que reunirse de forma física. Seguridad. Debido a que el servicio lo proporcionan grandes compañías disponen de medidas de seguridad para evitar la pérdida de información. Ahorro. La mayoría de estos servicios ofrece una capacidad de almacenamiento de forma gratuita por lo que no es necesario invertir dinero. No genera basura electrónica. Al ser un almacenamiento lógico y no tener partes físicas no genera basura electrónica y contribuye a la conservación del planeta. Ya sabes qué dispositivos de almacenamiento existen para almacenar la información, pero es importante tenerla organizada para conocer dónde están tus tareas, fotografías, música, etc., y así disponer de manera precisa y rápida a ella. Organización de información. Es guardarla o clasificarla en carpetas con un nombre claro que haga referencia al tema o tipo de archivo que estamos guardando, por ejemplo: 30 Unidad 1. Información Digital Directorio de un dispositivo físico Imagen 1.26 Ejemplo de carpetas. (Cruz, I., 2019) Directorio en un dispositivo lógico Imagen 1.27 Directorio en la nube. (Cruz, I., 2019) 31 Unidad 1. Información Digital Ejercicio 1.8 Ahora que ya conocemos datos importantes sobre estos dispositivos, abre tu navegador y haz una pequeña búsqueda para llenar la siguiente tabla: Nombre de Dispositivo Tipo de dispositivo (físico o lógico) Capacidad de almacenamiento Precio Disco duro Memoria USB Tarjeta de Memoria Google Drive One Drive Compara los resultados de tu tabla con tus compañeros y contesta lo siguiente: ¿Qué dispositivo es mejor? ¿Cuál es más barato? ¿Qué tipo de dispositivo contamina menos? Ejercicio 1.9 ¿Sabías que además de la capacidad de almacenamiento, la nube nos proporciona herramientas para trabajar en equipo y a distancia? Sin la necesidad de reunirse en casa de algún compañero se puede trabajar en la creación de un documento, una presentación u otra tarea. Vamos a probar estas herramientas realizando el siguiente ejercicio. 1. Genera una cuenta en una página que proporcione almacenamiento en la nube, forma equipo con tus compañeros y colaboren en la creación de un documento de algún tema de su interés. 2. Ahora un miembro del equipo debe crear el documento en la nube. 3. Una vez que se creó, los demás miembros del equipo deben proporcionar su dirección de correo electrónico para que puedan tener acceso al documento y editarlo. 32 Unidad 1. Información Digital 4. Cuando compartas el documento no te olvides de proporcionar los permisos necesarios para que tus compañeros pueden editar y contribuir al documento. 5. Desde su casa, cada uno deberá contribuir a la elaboración de este documento. A continuación, describe qué tal fue la experiencia de trabajar en la nube. Considera lo tecnológico y el trabajo en equipo para ello. ¿Cuáles son las ventajas y desventajas con los dispositivos de almacenamiento físico?, anótalas a continuación: Ejercicio 1.10 A continuación, tenemos un fragmento del artículo “Basura Informática. La otra cara de la tecnología” de Greenpeace. Lee con atención y contesta las preguntas al final del artículo. Después, comparte con tus compañeros. El rápido y permanente desarrollo tecnológico de los aparatos relacionados con la información y la comunicación -computadoras, impresoras, teléfonos celulares- trae como consecuencia el problema de los residuos provenientes de esta industria, cuyo porcentaje de crecimiento es cada vez mayor en comparación con otros residuos domiciliarios. En los últimos años, el ciclo de vida útil de las computadoras se ha reducido notablemente. El “diseño para el basurero” logrado a través de la obsolescencia programada de los aparatos, ha generado una tasa de recambio veloz para este tipo de productos. Además, la constante innovación tecnológica con nuevas funcionalidades y diseños, conllevan un permanente recambio de equipos a una velocidad preocupante. Según datos de mercado se estima que el ciclo de vida útil para una computadora de escritorio es de siete años y cinco para las portátiles. Sin embargo, generalmente el recambio se da con mayor anticipación. (Greenpeace,2011). Las preguntas por responder son las siguientes: 1. ¿Por qué crees que la vida útil de las computadoras se ha reducido en los últimos años? 2. ¿Qué podrías hacer para prolongar la vida útil de tus dispositivos como celulares, computadoras y tabletas y así generar menos basura electrónica? 33 Unidad 1. Información Digital Reflexión En este espacio de reflexión, lee el siguiente texto y completa las palabras faltantes. La diferencia entre_________________ físicos y lógicos es que los dispositivos_________________ son los que puedo ver y tocar y los dispositivos __________________ son los que me proporciona un proveedor a través de internet. Estoy muy _________________ porque usando el almacenamiento en la nube puedo realizar trabajos en __________________ sin necesidad de reunirme con mis _________________ en un lugar, esto es una ________________ ventaja. Si mi información se borrara o perdiera por alguna razón yo me sentiría _____________________________________________, para no volver a perder esta información yo __________________________________. Para ayudar a evitar la basura electrónica yo recomiendo las siguientes 5 acciones: 1. 2. 3. 4. 5. Verifica los conocimientos adquiridos Indicadores Aprendí el concepto de almacenamiento de información. Sé diferenciar entre un dispositivo de almacenamiento físico de uno lógico. Aprendí a usar las herramientas que me proporciona el almacenamiento en la nube. Conozco las ventajas y desventajas de un dispositivo de almacenamiento físico. 34 Regular Bien Excelente Unidad 1. Información Digital Puedo decidir qué tipo de almacenamiento usar. Podría comprar un dispositivo de almacenamiento físico de acuerdo con lo que ofrece. Sé trabajar de manera colaborativa en un documento compartido Sé administrar mi información en la nube y en mis dispositivos físicos. Pongo en práctica alguna de mis recomendaciones para evitar la basura electrónica. Contenidos conceptuales Contenidos procedimentales 1.5 Criterios de manejo de la información: manejo seguro de la información (malware – antimalware); manejo confiable de la información, manejo ético de la información. 1.8 Aplicación de medidas preventivas y correctivas para el tratamiento de malware. 1.9 Uso de criterios para la selección de la información académicamente confiable. 1.10 Búsqueda de información de temas actuales en informática (delitos informáticos: hackeo, ciberacoso etc.). Contenidos actitudinales Imagen 1.28 (Villagómez, 2019) 1.15 Concientización del impacto ambiental de las nuevas tecnologías, así como de la contaminación digital. 35 Unidad 1. Información Digital 1.5 Criterios de manejo de la información: manejo seguro de la información (malware – antimalware); manejo confiable de la información, manejo ético de la información Una nota en la revista Forbes asegura que México ocupa el quinto lugar en ataques de malware, después de Estados Unidos, Japón, Alemania y Canadá. Lo que demuestra que México es un blanco potencial por el número de dispositivos que no están protegidos. Imagen 1.29 Malware (Pixabay, 2016). Los ataques a dispositivos móviles son difíciles de detectar ya que utilizan programas maliciosos que no dejan rastro y desaparecen cuando han robado o destruido la información. Tan sólo en el primer trimestre de 2015, los ataques a dispositivos móviles en México se incrementó 661% (Manky, citado por Villafranco G., 2016). Como puedes observar, somos vulnerables a los malware, y tú ¿sabes qué es un malware? ¿Has tenido problemas con malware en tu PC o dispositivo móvil? ¿Han entrado a alguna de tus cuentas de usuario (correo electrónico o red social) y han publicado en tu nombre? ¿Tu computadora ha funcionado de manera extraña, lenta o se ha perdido información y/o se bloquea? Malware El malware (abreviatura de “software malicioso”) son programas que buscan ocasionar algún daño en el equipo de cómputo, se instalan en los diferentes dispositivos de cómputo, sin que el dueño de éste se dé cuenta y sin que se sepa el tipo de actividades que ejecutará en los equipos. Por lo regular, cuando una máquina muestra cambios negativos en su comportamiento se dice que tiene “virus”, el término apropiado debe ser malware, entonces ¿por qué se le llama virus? Hace algunos años, a principios de los ochentas, surgieron los primeros programas capaces de hacer copias de sí mismo y propagarse a otros equipos, a los que se llamó virus, por la similitud con el comportamiento de los virus biológicos. Conforme han pasado los años y la 36 Unidad 1. Información Digital tecnología ha evolucionado, estos programas se han diseñado con muchas más funciones que les permiten espiar, robar y dañar la información de los dueños de los equipos de cómputo. Por lo que ha sido necesario ampliar la clasificación de este tipo de malware, quedando los virus como un tipo de malware de los muchos que han surgido. Los malware se instalan y ejecutan en tu computadora sin tu conocimiento o permiso. Algunos malware ejecutan actividades que sólo molestan, como enviar mensajes o imágenes a pantalla o ralentizar el equipo, pero la mayoría del malware es dañino y está diseñado para infectar y tomar el control de sistemas con poca seguridad. Imagen 1.30 Malware (Pixabay, 2016) Un malware por lo general se compone de dos partes, la forma en que se copia e instala en la computadora y el llamado payload que es el daño que ocasionará al ejecutarse. Los tipos de malware se clasifican acorde a la forma en que acceden a un equipo o el tipo de actividad que realizan. El malware puede clasificarse en: ● ● ● ● Virus. Estos programas pueden propagarse a través de equipos o redes haciendo copias de sí mismo, se ocultan en un programa de uso común, como puede ser un juego, un archivo ejecutable o vía envíos o descargas en internet. Se ejecuta automáticamente. El código (programa) puede copiarse a sí mismo en otros archivos y hacer cambios en tu equipo. Troyanos. Su característica principal es la forma en que se presenta ante el usuario, los troyanos se presentan como un programa legítimo, llamativo (juego, presentación, video, etc.) e inofensivo, pero que, al ejecutarlo, permite el acceso remoto al atacante o descarga herramientas con las que pueden espiar tu actividad en la computadora. Gusanos. Se ejecutan una gran cantidad de veces por lo que consumen una gran cantidad de memoria del sistema o de ancho de banda de la red, con el objetivo que el equipo se bloquee y deje de responder. Spam. Son mensajes de correo electrónico no solicitados de usuarios desconocidos que llegan en grandes cantidades. Los remitentes de spam se 37 Unidad 1. Información Digital ● ● ● ● hacen pasar por empresas, amigos o familiares, por lo general no dañan el equipo, pero son molestos y pueden solicitar información privada en nombre de una empresa. Spyware (software espía). Recopila información sobre tus hábitos y tu historial de navegación o información personal (como números de tarjetas de crédito) y a menudo utiliza Internet para enviar esta información a terceros sin tu conocimiento. Adware (software publicitario). Es software gratuito, es publicidad que aparece en forma de ventanas emergentes o en una barra de herramientas en tu equipo o navegador. Es un software molesto, no solicitado y puede ser programado para recopilar tu información personal, y en general espiar tu actividad en internet. Phishing. Se utiliza para obtener información personal del usuario como contraseñas o datos de tarjetas de crédito, números de cuentas bancarias o información valiosa que se maneja a través de la Web. Funciona enviando correos electrónicos falsos o a través de sitios web falsos que por lo general solicitan que verifiques tus datos personales por ese medio. Ransomware. Restringe el acceso a tu sistema, es decir, no te permite utilizar tu equipo y exige el pago de un rescate para eliminar la restricción. Imagen 1.31 Ransomware (Pixabay, 2018) ¿Cómo podemos detectar que el equipo ha sido infectado? Si presenta alguna de las siguientes características: ● ● ● ● ● ● ● ● ● 38 La capacidad de respuesta del equipo es más lenta de lo habitual. Las ventanas emergentes son molestas e incontrolables. Hay presencia de spam (correo no solicitado). Los bloqueos frecuentes. La conexión a internet puede ser lenta o no hay conexión. Algunos archivos no pueden abrirse o ser encontrados (fueron borrados). No puede accederse a los archivos del equipo. Hay publicidad emergente nueva en aplicaciones que no la tenían. La página de inicio de su navegador puede haber cambiado. Unidad 1. Información Digital ¿Has observado una de éstas en tu computadora? ¿Cuáles? ¿De dónde proviene el malware? ● ● ● ● ● ● ● ● De Internet y del correo electrónico. Sitios web hackeados. Demos de juegos. Archivos de música. Barras de herramientas. Software pirata. Suscripciones gratuitas. Cualquier descarga de Internet. ¿Cómo proteger a tu equipo y tu información del malware? Llevando a cabo acciones preventivas que eviten el contagio y utilizando software antimalware. Algunas medidas preventivas son: ● ● ● ● ● ● ● ● ● ● No hacer clic en las ventanas emergentes de publicidad. Comprobar programas y características en busca de algo que no pertenezca al equipo (archivos desconocidos). No responder a enlaces en correos electrónicos no solicitados o en redes sociales. No abrir archivos adjuntos de correos electrónicos no solicitados. Proteger las contraseñas y no revelarlas a nadie. No proporcionar información confidencial por teléfono, en persona o a través de la Web (correo electrónico, redes sociales, formularios desconocidos). Comprobar la URL del sitio (dirección Web). En muchos casos la dirección Web puede parecer legítima, pero la URL puede estar mal escrita o el dominio puede ser diferente (.com en lugar de .edu). Mantener actualizado el navegador y aplicar los parches de seguridad. Revisar las opciones que aparecen activadas de forma predeterminada al registrar cuentas o servicios en línea. Abrir una dirección de correo electrónico alterna que se utilice solo para actividades en línea como compras, registro en servicios, perfiles de redes sociales, etc. 39 Unidad 1. Información Digital Ejercicio 1.11 Con base en la información que se ha revisado, analiza y responde la siguiente pregunta y coméntala con tus compañeros: ¿Qué medidas además de las anteriores has considerado tomar cuando detectaste un síntoma de infección por malware? ¿Qué son los antimalware1? Son conjuntos de programas diseñados y distribuidos por empresas especializadas. Este software busca ciertos patrones que indiquen una infección por malware basándose en comportamientos y características específicas en los archivos del equipo, llamadas firmas o definiciones de malware conocidos. Es importante mantener actualizado el antimalware en los equipos ya que nuevos códigos maliciosos son diseñados constantemente. Imagen 1.32 Antimalware (Western Office Equipment, 2018) ¿Cómo funciona un antimalware? Podemos decir que existen dos métodos que utilizan los antimalware para la detección de malware: detección de firmas y detección de comportamiento. 1 Chilo Quiroz M. (2017) indica en relación con el concepto de antimalware que: “Un AntiMalware es lo mismo que un Antivirus, y un Antivirus es un AntiMalware”. 40 Unidad 1. Información Digital Detección por firma. Se analiza el equipo en busca de características únicas dentro de la programación de un malware (llamadas “firmas”) que los vuelven identificables. Se aísla el programa (malware) en una computadora, se analiza cada línea de código, se toma un grupo de líneas que identifican a ese malware de forma única y este patrón se agrega a una base de datos llamada diccionario de firmas. Al instalarse en el equipo del usuario, éste se compara con los archivos de la computadora, si hay algo en la computadora que coincide con un patrón en el diccionario, el programa lo anula. Detección de comportamiento. El software antimalware monitorea el comportamiento del software instalado y cuando éste se comporta de una manera diferente a la habitual, es decir, intentando modificar otro programa, programas que se autocopian, o que gastan muchos recursos, etc. Al detectar este comportamiento el antimalware permite detectar y diseñar vacunas para el nuevo malware. Imagen 1.33 Resguardo Algunas compañías diseñadoras de antimalware son: Symantec Corporation http://www.symantec.com/es/mx/index.jsp Trend Micro http://www.trendmicro.com/la/home/enterprise.htm Panda Software http://www.pandasoftware.es/ McAffee http://www.mcafee.com/mx/ Imagen 1.34 Antimalwares (Mejorantivirusahora, 2014). Sophos http://esp.sophos.com/ F-secure http://www.f-secure.com/ Computer Associates http://www.ca.com/offices/mexico/ 41 Unidad 1. Información Digital Bit Defender http://www.bitdefender.com.mx Kaspersky http://www.kaspersky.com.mx Además del término malware, es importante que conozcas también el concepto de basura digital, de esta manera se llama a todos aquellos archivos generados por malware como spam, spyware, etc. El extracto del siguiente artículo ejemplifica algunos elementos que también son considerados basura digital. Basura digital contaminación real “Los correos spam o basura, y las cuentas en correos electrónicos y en redes sociales que fueron abiertas, pero no se utilizaron o que fueron abandonadas, representan una fuente de contaminación al medio ambiente que es definida como basura digital o cibernética, pues es información que circula en nuestros equipos y que no es útil. En entrevista sobre el tema, Paola Mercado Lozano, asesora del Sistema de Universidad Virtual (UDGVirtual), explicó que internet contamina el medio ambiente debido a las cantidades de energía que consume y a las emisiones de dióxido de carbono (CO2) que propician los servidores de centros de datos de la red. De acuerdo con estimaciones del Centro de Eficiencia Energética de Telecomunicaciones (CEET) de Australia, por medio de internet se emiten 830 millones de toneladas de dióxido de carbono cada año, y esta cifra podría duplicarse en el año 2020. Se estima, además, que existen casi 4 mil millones de usuarios de internet en el mundo, lo que provoca el incremento de la demanda en energía eléctrica y, por lo tanto, de CO2, indicó Mercado Lozano, experta en el área de tecnologías e información”. Fragmento del artículo Basura digital contaminación real por UDGVirtual, tomado de la revista CGTI (http://cgti.udg.mx/noticias/basura-digital-contaminacion-real 2017). Después de leer este texto, surge una reflexión: ¿habías pensado en algún momento que las actividades que realizas en internet como la generación de información, usuarios, accesos, etc. también contaminan aún cuando no es tangible? 42 Unidad 1. Información Digital Ejercicio 1.12 Acorde a la información revisada, relaciona las siguientes columnas: 1. Son programas que se instalan en tu equipo sin tu consentimiento o permiso. ( ) Antimalware 2. Son algunos síntomas de que nuestro equipo está infectado con algún tipo de malware. ( ) Gusano 3. Programas que pueden traer como adjunto un archivo de malware. ( ) Troyano 4. Puede propagarse a través de equipos o redes haciendo copias de sí mismo, se ocultan en un programa de uso común. ( ) Detección por firmas 5. Son programas que se presentan llamativos, divertidos como juegos, videos, etc. pero que contienen algún tipo de programa que puede robarnos información, dañar nuestro equipo, etc. ( ) Demos de juegos Archivos de música Software pirata 6. Conjunto de programas diseñado por alguna empresa especializada que permite detectar el malware en nuestros equipos y eliminarlo. ( ) El equipo se vuelve lento. Las ventanas emergentes son molestas e incontrolables. 7. Programa que recopila información personal y la envía a terceros sin tu consentimiento. ( ) Virus 8. Método que utiliza un antivirus para encontrar un malware conocido. ( ) Malware 9. Consumen una gran cantidad de memoria del sistema con el objetivo que el equipo se bloquee. ( ) Spyware 43 Unidad 1. Información Digital Ejercicio 1.13 Acorde al siguiente texto tomado de la página de la UNESCO: http://www.unesco.org/new/es/communication-andinformation/intergovernmental-programmes/information-for-allprogramme-ifap/priorities/information-ethics/ “El debate internacional sobre la ética de la información versa sobre los aspectos éticos, jurídicos y sociales de las aplicaciones de las tecnologías de la información y la comunicación (TIC). Los principios éticos de las sociedades del conocimiento se inspiran en la Declaración Universal de Derechos Humanos e incluyen el derecho a la libertad de expresión, el acceso universal a la información, sobre todo la que pertenece al dominio público, el derecho a la educación, el derecho a la vida privada y el derecho a participar en la vida cultural. Una de las cuestiones éticas más problemáticas es la desigualdad entre los países - y dentro de éstos entre las comunidades urbanas y las comunidades rurales - en el acceso a las TIC. A la par de los beneficios de un mundo interconectado digitalmente, surgen el riesgo del abuso y el uso indebido. Ciertos países ya están elaborando mecanismos para proteger a sus pueblos de dichos riesgos, garantizando, por ejemplo, la seguridad de los niños en Internet; pero evidentemente aún queda mucho por hacer para resolver las dimensiones éticas de la sociedad de la información ...”. Una vez leído el texto anterior y tu experiencia en la Web y redes sociales, analiza las siguientes oraciones. Comenten su opinión entre compañeros de clase. 1. Acorde al derecho a la libertad de expresión comentado, el acceso universal a la información y el derecho a la vida privada da tu opinión acerca de los siguientes puntos: a) Es válido que se publiquen imágenes, videos y textos que te pertenecen sin tu autorización. b) Es válido que publiques imágenes, videos, textos que no te pertenecen sin autorización de quienes aparecen en ellos. c) Qué tan válido consideras publicar textos de los cuales no sabes acerca de su validez o veracidad. d) ¿Consideras necesario verificar la veracidad y validez de la información publicada en la Web antes de darla por cierta? 2. “A la par de los beneficios de un mundo interconectado digitalmente, surge el riesgo del abuso y el uso indebido”. Acorde a este fragmento de texto da tu opinión acerca de: 44 Unidad 1. Información Digital a) Una vez que subes una imagen, un texto, un video, etc. ¿a quién pertenece esta información? b) ¿Es posible eliminar de manera permanente un archivo que ha sido subido a la Web? c) La información publicada en la Web es 100% verdadera. d) Tienes control sobre la privacidad de la información que estás publicando en todo momento. e) De las distintas actividades que tú realizas en internet como lo es crear una cuenta de usuario que no utilizas, información que no administras o usas, dejar tu equipo desatendido y conectado a internet, ¿cuál de ellas consideras que pueden generar contaminación digital? ¿Por qué? 3. Acorde a las opiniones comentadas entre tus compañeros de clase y la propia, en equipos, listen una serie de ideas acerca de cómo debería ser su comportamiento en la Web para navegar seguros y respetar los derechos de los demás. Ejercicio 1.14 En equipos o de manera individual elige uno de los antimalware mostrados en el texto. Entra a su página Web y con la información encontrada, de manera general contesta las siguientes preguntas: 1. 2. 3. 4. 5. ¿Cómo se instala el antimalware? ¿Cómo se activa? ¿Cómo se elimina un malware una vez detectado? ¿Qué ventajas proporciona tener un antimalware instalado? ¿Qué desventajas proporciona tener un antimalware instalado? Reflexión Hemos platicado que el malware es un tipo de software que se instala en tu equipo sin tu permiso y realiza actividades que tú desconoces. Pensemos como evitar infectarnos. 1. Al encender tu equipo notas que hay cierto comportamiento no habitual en él. Sospechas que tiene algún malware. ¿Qué actividades debes realizar para asegurar que tu equipo de cómputo no está infectado? 2. Al recibir un e-mail de un usuario desconocido. ¿Qué acciones realizas para evitar infectar tu equipo de un malware? 45 Unidad 1. Información Digital Comentamos que es importante contar con un software antimalware y tenerlo activo permanentemente. ¿Cuáles serían las ventajas de contar con este software en tu equipo? Además de un software antivirus, ¿qué medidas preventivas consideras importantes realizar para no infectarte de malware? Verifica los conocimientos adquiridos Indicadores Aprendí qué es un malware. Aprendí que hay diferentes tipos de malware y puedo reconocer las características de al menos 5 de ellos. Aprendí cómo puede afectar un malware a mi equipo y a mi información. Conozco las ventajas y desventajas de instalar un software antivirus en el equipo de cómputo. Puedo listar una serie de 5 acciones que me permitan prevenir el contagio de malware en mi equipo, además de instalar un antivirus. Acerca de mi información o de la de algún amigo, puedo determinar los alcances de compartirla en la web (imágenes, videos, texto, etc). 46 Regular Bien Excelente Unidad 1. Información Digital Autoevaluación Tema 1.1 Búsqueda de información 1. Rosa debe hacer una investigación en la clase de Biología sobre la Migración de las mariposas Monarca mediante una consulta en internet. ¿Cuál es el procedimiento para buscar en línea de comando documentos PDF del tema exacto Migración de mariposas monarcas? a) Abrir el navegador, abrir el buscador, escribir en la barra de búsqueda “Migración de mariposas monarcas” filetype:PDF b) Abrir el buscador, escribir en la barra de búsqueda Migración de mariposas monarcas c) Abrir el buscador y escribir PDF mariposas monarca d) Abrir el navegador, abrir el buscador y escribir en la barra de búsqueda Migración de mariposas monarcas – PDF 2. En la clase de Problemas sociales, económicos y políticos de México, Teresa y Juan expondrán sobre el tema Reforma educativa en México, ¿cómo sabrán que un sitio es confiable cuando decidan consultarlo? a) Por el número de sitios encontrados b) Por el número de likes de la página c) Por ser los primeros sitios en aparecer d) Por el tipo de recurso listado Tema 1.2 Evolución del procesamiento de la información Ana fue con sus padres a una tienda de tecnología para identificar diferentes tipos de computadoras, pues le habían pedido en su clase de informática que las viera. Entonces ella: 3. Viendo el celular se preguntó, las primeras computadoras estaban hechas para realizar _________ tarea(s). a) Una b) Más de una c) Procesos de d) Bloque de procesos 4. Al comprar una computadora, ¿qué es lo primero que se debe verificar?: a) El teclado, pantalla y el gabinete b) Procesador, la memoria, y la capacidad de almacenamiento c) Las aplicaciones, el sistema operativo y la memoria d) El teclado, la memoria y las aplicaciones 47 Unidad 1. Información Digital 5. Ana en la tienda le dijo a su mamá que si recordaba la característica más importante de la cuarta generación de computadoras a la cual le contestó a) Uso de microprocesadores b) Programar en Fortran c) Lenguaje Binario d) Uso de transistores 6. En la tienda, Ana reflexionó que su dispositivo móvil se debe de cambiar cuando: a) Cuando sale la nueva versión b) Cuando ya no lo están vendiendo c) Cuando ya no cubre las necesidades del usuario d) Cuando ya paso un año la versión Tema 1.3 Codificación de la información 7. ¿Cuántos bits conforman un byte? a) 6 bits b) 12 bits c) 1 bit d) 8 bits 8. ¿Bajo qué sistema numérico trabaja una computadora? a) binario b) decimal c) físico d) dinámico 9. ¿Qué significan en español las siglas del código ASCII? a) Código de Alta Secuencia en el Intercambio de Información b) Código Americano Estándar para el Intercambio de Información c) Código de Intercambio Decimal Binario Extendido d) Código Alfanumérico de Secuencia en el intercambio de información 10. ¿En qué términos se mide el tamaño de almacenamiento de una computadora? a) En kilobytes, megabytes, gigabytes, terabytes, etc. b) Bits, bytes, palabras, nibble, etc. c) En códigos, unidades, información, sistemas, etc. d) En canciones, música, fotos, archivos, juegos, etc. Tema 1.4 Almacenamiento de información Anabel es una estudiante que toma la actividad estética de fotografía, la memoria de su cámara digital está llena de fotografías de diversos temas, para seguir usando la memoria de su cámara debe pasar sus fotografías a otro medio de almacenamiento. El disco de su computadora personal ya solo tiene 500 MB de almacenamiento y para sus fotografías necesita 14GB de almacenamiento. Anabel 48 Unidad 1. Información Digital tendrá que decidir en qué dispositivo de almacenamiento debe guardar su información, si usa una cuenta en la nube podrá tener 15GB de almacenamiento de manera gratuita, pero necesitaría contar con una conexión a internet para poder usarla, si decide comprar una USB 16GB debe gastar 100 pesos, pero podría utilizarla para guardar sus archivos sin necesidad de una conexión a internet. 11. ¿Cuál sería el procedimiento que Anabel debe seguir para guardar sus fotografías en la nube? a) Cortar y pegar b) Tener conexión a internet, entrar en su cuenta en la nube, crear una carpeta llamada fotografías y seleccionar subir archivos c) Copiarlas al disco duro y posteriormente pegarlas en la nube d) Pegar en la nube 12. De acuerdo con el tamaño total del archivo de fotografías, ¿qué dispositivo de almacenamiento debe usar Anabel si no cuenta con una conexión a internet? a) Dejarlo en la memoria de la cámara digital b) El disco duro c) La nube d) USB de 16GB 13. ¿Qué debe hacer Anabel para almacenar su información de forma ordenada y encontrarla rápidamente? a) Crear carpetas en el dispositivo seleccionado con nombres de fechas o temas, clasificar las fotografías y guardarlas en la carpeta correcta b) Copiar todo como está en una sola carpeta c) Copiar grupos de fotografías y ponerlos en carpetas con números d) Copiar las fotografías sin clasificarlas 14. ¿Qué dispositivo de almacenamiento debería seleccionar Anabel para contribuir a no generar basura electrónica? a) El almacenamiento en la USB b) El almacenamiento en la nube porque es de tipo lógico c) El almacenamiento en la memoria de la cámara digital d) El almacenamiento en un disco duro externo Tema 1.5 Criterios de manejo de la información Daniela está trabajando sobre una tarea de lengua española en su computadora personal que debe entregar el día de mañana. Va a modificar el archivo que empezó a trabajar en la semana, pero al buscarlo en su computadora no puede encontrarlo, por lo que piensa utilizar el archivo que respaldó en su memoria USB. Su computadora tarda más de lo habitual en abrir el explorador y al buscar en su USB no tiene ningún archivo, está vacía. 49 Unidad 1. Información Digital 15. ¿Cómo se le llama al software que debe utilizar Daniela para verificar si su computadora tiene algún tipo de infección? a) Virus b) Malware c) Detección d) Antimalware 16. Si el equipo de Daniela tuviera algún tipo de software dañino el cual se instaló sin su autorización y sin que supiera las actividades que realizará en su equipo. ¿Cómo se le llama a este tipo de software? a) Ingeniería social b) Malware c) Detección por firmas d) Antimalware 17. Daniela recuerda que, en su computadora un compañero le instaló un juego. Este juego era muy llamativo y amigable, pero sin que ella lo supiera además se instaló otro software que puede espiar sus actividades o dañar su equipo. Por las características comentadas, ¿qué tipo de software adicional se instaló? a) Troyano b) Malware c) Gusano d) Virus Asistes con un grupo de amigas del colegio a una reunión con todo tu grupo de 4to año de preparatoria. A la reunión asisten compañeros de tu grupo, de otros grupos y de otras escuelas. Algunas amigas toman fotos y videos de diferentes situaciones que se dan en la reunión. 18. ¿Las fotos tomadas son propiedad de la persona que las tomó y puede publicarlas en cualquier red social? a) Verdadero b) Falso 19. Si los videos y fotos tomadas son publicadas en una red social, ¿éstas desaparecen completamente si son borradas de la Web? a) Verdadero b) Falso 50 UNIDAD 2 Procesamiento digital de la información “La tecnología es sólo una herramienta. La gente utiliza las herramientas para mejorar sus vidas.” Tom Clancy Unidad 2 Procesamiento digital de la información UNIDAD 2 PROCESAMIENTO DIGITAL DE LA INFORMACIÓN Introducción En esta unidad el alumno identificará y seleccionará el hardware y software adecuado de un equipo de cómputo o dispositivo móvil, con el objetivo de cubrir las necesidades técnicas al realizar sus tareas académicas. También obtendrá la capacidad de procesar y compartir información, trabajando de manera individual y colaborativa, utilizando diferentes programas de aplicación y la nube, con la finalidad de que interprete los resultados y genere conclusiones. Contenidos conceptuales Contenidos procedimentales 2.1 Tipos de equipos: computadoras, dispositivos móviles, etc., de acuerdo con la capacidad de procesamiento de información. 2.5 Identificación de las características de diferentes dispositivos de cómputo para seleccionar el equipo adecuado a sus necesidades. 2.7 Ejecución de procesamiento de información individual o colectivamente para almacenar, compartir y presentar utilizando dispositivos y/o la nube. Imagen 2.1 Computadoras (Pérez, 2019) 2.8 Uso de software de acuerdo con las necesidades del manejo y presentación de la información: procesadores de texto, hojas de cálculo, presentaciones electrónicas, software multimedia, etc. 2.9 Interpretación de resultados obtenidos a partir de la información procesada para obtener conclusiones. Contenidos actitudinales 52 Unidad 2 Procesamiento digital de la información 2.10 Valoración del trabajo colaborativo al obtener, procesar, interpretar y presentar información. 2.11 Valoración de las actitudes que promueven la tolerancia, el respeto y la responsabilidad al compartir la información. 2.1 Tipos de equipos: computadoras, dispositivos móviles, etc., de acuerdo con la capacidad de procesamiento de información Las computadoras forman parte de la vida cotidiana, los servicios que ofrecen van desde los más esenciales hasta los más especializados y dependiendo del volumen de información que procesan, la cantidad de usuarios que atienden o el tipo de trabajos que desarrollen, existe un tipo de computadora para cada trabajo en específico. ¿Conoces todos los tipos de computadoras que existen? Las computadoras han evolucionado, con el paso del tiempo se fue modificando su tamaño, fines de uso, su velocidad en el procesamiento de la información y capacidad de almacenamiento. Actualmente se puede adquirir un sin fin de equipos de cómputo de acuerdo con la necesidad del usuario, en este apartado podrás aprender qué características técnicas debes tomar en cuenta al elegir un equipo de cómputo. Computadoras Una computadora tiene la capacidad de almacenar y procesar información a grandes velocidades, determinadas por sus características técnicas (hardware), permitiendo procesar información y almacenarla de forma eficiente. Antes de definir qué características técnicas requerimos para elegir nuestra propia computadora, es importante saber que las computadoras pueden clasificarse como: ● ● ● ● Microcomputadoras Minicomputadoras Macrocomputadoras Supercomputadoras 53 Unidad 2 Procesamiento digital de la información Las más pequeñas de tamaño, capacidad de almacenamiento y procesamiento son las microcomputadoras, son monousuario y tienen la ventaja de que se pueden transportar con facilidad, además de que son accesibles económicamente para casi todas las personas, sus usos son diversos, pero principalmente son usadas en el hogar y las oficinas para tareas que no requieren de gran velocidad en el procesamiento de información ni de gran capacidad de almacenamiento. Ejemplos de ellas son: celulares, laptops, computadoras de escritorio, relojes inteligentes (smart watch), etc. Imagen 2.2 Microcomputadoras (Pérez, 2019) Las minicomputadoras son llamadas así por su tamaño, sin embargo, a pesar de que en apariencia son como las computadoras de escritorio, tienen la capacidad de alojar a varios usuarios a la vez (multiusuario), es decir, se pueden conectar simultáneamente. Por sus características técnicas son muy usadas para oficinas, escuelas, empresas o negocios. 54 Unidad 2 Procesamiento digital de la información Imagen 2.3 Minicomputadora. Las macrocomputadoras son llamadas así por el gran volumen de información que pueden almacenar y procesar con gran rapidez, además de que pueden hacer conexión simultáneamente con diferentes computadoras para realizar diferentes procesos. Son usadas primordialmente en empresas o con finalidad científica. Imagen 2.4 Macrocomputadoras (Puerto, 2019). Las supercomputadoras también conocidas como computadoras de alto desempeño, contienen cientos de procesadores trabajando en paralelo lo cual permite que procesen información de manera masiva y puede resolver problemas simultáneos de forma más rápida, su velocidad se mide en Teraflops lo cual se traduce en billones de operaciones por segundo. Son usadas por gobiernos e industrias para procesos militares, industriales y climáticos entre otros. 55 Unidad 2 Procesamiento digital de la información Imagen 2.5 Supercomputadora Miztli (UNAM, 2013) La clasificación de las computadoras por el tipo de señal que utilizan es la siguiente: Analógica Digital Híbrida Analógica. Computadoras que trabajan con mediciones básicamente físicas, como temperatura, velocidad, peso, fuerza, entre otras. Al ser una medición física la señal es constante. Imagen 2.6 Computadora analógica COMDYNA GP-6 (Pérez 2019) Digital. Computadoras que trabajan contando números y realizando operaciones lógicas entre factores que tienen valores numéricos, debe ser programada antes de utilizarse. La señal es discontinua ya que trabaja con 0’s y 1’s. 56 Unidad 2 Procesamiento digital de la información Imagen 2.7 Computadoras digitales (Pérez, 2019) Híbrida. Computadoras que operan con ambas señales, analógica y digital y dependiendo del proceso a realizar es la señal que trabaja. Imagen 2.8 Laptop híbrida (Ecured, 2010) Dispositivos móviles Un dispositivo móvil es un tipo de computadora de mano o de bolsillo, tiene la capacidad de procesar información y conectarse a Internet; su memoria puede ser limitada, es de uso personal y pueden ser usados para visualización de video, audio, GPS, telefonía, fotografía, navegación en internet. etc. Están creados para trabajar con aplicaciones que en su mayoría necesitan de una conexión WiFi para su buen funcionamiento, así como de la nube para garantizar y ofrecer el almacenamiento de la información. 57 Unidad 2 Procesamiento digital de la información Imagen 2.9 Dispositivos móviles (Pérez, 2019) Para verificar la comprensión de los temas vistos hasta ahora, a continuación se expondrá un caso que será la base para resolver algunos ejercicios propuestos posteriormente. Erika estaba comentando con su grupo de amigos, qué diferencias hay entre los diferentes equipos de cómputo, pues ella no entendía por qué año con año se actualizan los equipos de cómputo o dispositivos móviles. Ella comenta que solo usaba el equipo de cómputo para hacer tareas y su dispositivo móvil para redes sociales y tomar fotos; por ese motivo se dio a la tarea de apoyarse de sus compañeros para esta investigación y determinar ¿cuáles son los diferentes tipos de computadoras?, ¿cómo saber qué computadora o dispositivo móvil elegir? y ¿de qué depende el cambio acelerado en el hardware y software de los equipos de cómputo y dispositivos móviles? 58 Unidad 2 Procesamiento digital de la información Para esto te proponemos unos ejercicios que ayudarán a resolver las dudas que Erika tiene de estos temas. Ejercicio 2.1 Utilizando un editor de textos, genera una tabla donde clasifiques las siguientes computadoras: ASUS ROG GR8 IBM S/390 Miztli Dell PowerEdge T130 HP Proliant Dl385 Sunway TaihuLigt IBM System z10 Toshiba Tecra C50-C1502LA Incluye en la lista el equipo de cómputo que generalmente usas o tienes en casa y tu dispositivo móvil. Guíate con el ejemplo de la tabla: Computadora Tipo Miztli Supercomputadora Velocidad de procesamiento Capacidad de almacenamiento Precio Usos o aplicaciones Ejercicio 2.2 Encuentra tres ejemplos de computadoras que utilicen cada uno de los tipos de señal (analógica, digital e híbrida), escríbelos en un documento y justifica cada ejemplo. Ejercicio 2.3 Realiza una encuesta entre tus conocidos con respecto a qué prefieren utilizar, una computadora o un dispositivo móvil, para realizar sus actividades académicas, de comunicación y de esparcimiento y ¿por qué? 59 Unidad 2 Procesamiento digital de la información Apóyate en un manejador de hojas de cálculo para generar una gráfica que indique la comparación entre ambas herramientas. En un procesador de textos, redacta una conclusión con respecto a los resultados. Reflexión Responde las siguientes preguntas: ¿Consideras que la humanidad depende en gran medida de las computadoras para realizar cualquier actividad? Argumenta tu respuesta. ¿Crees que las computadoras están reemplazando al hombre en las actividades cotidianas o esenciales? Si es así, menciona en cuáles. ¿Te consideras adicto a la tecnología?, ¿por qué? ¿Qué actividades consideras que ya no es posible realizarlas sin el uso de computadoras? ¿Consideras que los dispositivos móviles están sustituyendo a la computadora?, ¿por qué? ¿Cómo imaginas una sociedad sin que use el software para sus tareas cotidianas? ¿Qué determina que se tenga que cambiar de computadora o dispositivo móvil en poco tiempo, por uno más actualizado? Tipos de almacenamiento Así como la computadora ha evolucionado y reducido su tamaño, también los dispositivos y formas de almacenar la información, han sufrido transformaciones, actualmente los más usados son: Dispositivos de almacenamiento electrónicos; hacen uso de circuitos electrónicos para almacenar información, como los pendrives y tarjetas de memoria, ejemplos de ellos son: la memoria USB (Universal Serial Bus), memoria SD, micro SD, etc. Son conocidos también como memorias de estado sólido. Dispositivos de almacenamiento en la nube. Está diseñada para guardar los datos o la información en un servidor. 60 Unidad 2 Procesamiento digital de la información Imagen 2.10 Almacenamiento de la información (Pérez, 2019) Ejercicio 2.4 Investiga los diferentes tipos de medios de almacenamiento que han existido desde los inicios de la computadora hasta la actualidad y realiza un cuadro sinóptico con la clasificación de éstos, dependiendo de la forma en la que se lleva a cabo la grabación de la información. Puedes basarte en la siguiente clasificación: Magnéticos Ópticos Electrónicos Virtuales Ejercicio 2.5 Realiza una encuesta a tus amigos y familiares para conocer ¿cuántas personas conocen los diferentes dispositivos de almacenamiento. Emplea una hoja de un procesador de texto y coloca una conclusión de cuáles son los más usados y porqué. Ejercicio 2.6 De la encuesta del ejercicio anterior y empleando un presentador electrónico, realiza una presentación de la investigación, de los resultados y escribe una conclusión. 61 Unidad 2 Procesamiento digital de la información Reflexión Tres estudiantes de cuarto año de bachillerato deben reunirse para investigar sobre el tema Protección de datos en las redes sociales. ¿Cuál forma de trabajo crees que escogerían los estudiantes? a) Reunirse a trabajar desde la nube y que cada uno escriba sus aportaciones. b) Reunirse en la biblioteca de la escuela y que un estudiante recopile la información en una memoria USB. Realiza una comparación entre las dos formas de almacenar la información y escribe en la siguiente tabla las ventajas y desventajas. Trabajo en la Nube Trabajo en una USB Contenidos conceptuales Contenidos procedimentales 2.2 Características elementales del equipo: propiedades del equipo en hardware y software, microprocesador, memoria Ram, periféricos, etc. 2.5 Identificación de las características de diferentes dispositivos de cómputo para seleccionar el equipo adecuado a sus necesidades. 2.9 Interpretación de resultados obtenidos a partir de la información procesada para obtener conclusiones. 62 Unidad 2 Procesamiento digital de la información Contenidos actitudinales 2.10 Valoración del trabajo colaborativo al obtener, procesar, interpretar y presentar información. 2.11 Valoración de las actitudes que promueven la tolerancia, el respeto y la responsabilidad al compartir la información. Imagen 2.11 Hardware y software (Pérez, 2019) 2.2 Características elementales del equipo: propiedades del equipo en hardware y software, microprocesador, memoria Ram, periféricos, etc. Actualmente, tanto la computadora como el dispositivo móvil son herramientas multitareas que te permiten hacer actividades como la creación de tareas o trabajos escolares, para divertirte con juegos o aplicaciones, comunicarte etc. ¿Tú, con qué prefieres trabajar, con la computadora o con el móvil? ¿Cómo elegir un equipo de cómputo de acuerdo con mis necesidades? Para tomar esta decisión, tenemos que considerar las características del hardware, del software y que se definan muy bien las necesidades del usuario o propósito de uso del equipo de cómputo. Si el usuario es un programador especializado o un estudiante de bachillerato, ¿necesitarán el mismo software en cualquier equipo de cómputo para realizar su propósito de uso? ¿Les servirá un equipo con las mismas características de hardware? ¿Tendrían que tomar en cuenta el sistema operativo? En cuanto a los dispositivos móviles, ¿las aplicaciones tendrán la misma funcionalidad que en una computadora? ¿Puedo usar cualquier aplicación sin importar el dispositivo móvil? ¿Existen también diferentes sistemas operativos como en las computadoras? Para elegir el equipo adecuado a tus necesidades se requiere conocer ciertos elementos. Para iniciar este tema contesta las siguientes preguntas: 63 Unidad 2 Procesamiento digital de la información Pregunta Al comprar tu computadora, ¿sabes cuál elegir? Si No Al adquirir tu celular, ¿sabes cuál elegir? ¿Comprendes la diferencia entre un dispositivo móvil y un equipo de cómputo? ¿Conoces el computadora? funcionamiento de cada elemento de tu ¿Sabes las características técnicas del software de tu equipo de cómputo? ¿Sabes las características técnicas del software de tu dispositivo móvil? ¿Sabes las características técnicas del hardware de tu equipo de cómputo? ¿Sabes las características técnicas del hardware de tu dispositivo móvil? ¿Cómo te fue con el cuestionario? En este tema deberás conocer cómo funciona el hardware de tu computadora y dispositivo móvil, de tal forma que te permita elegir un buen equipo. Hardware El hardware lo constituyen todas las partes físicas de una computadora o dispositivo móvil, son ejemplos de hardware: disco duro, tarjeta madre, microprocesador, cables, etc. Imagen 2.12 Hardware (Pérez, 2019) 64 Unidad 2 Procesamiento digital de la información Computadora Los elementos internos que componen a un equipo de cómputo son: tarjeta madre, procesador, memoria RAM, disco duro, fuente de poder, pila, por mencionar algunos. Los elementos externos que componen un equipo de cómputo son: teclado mouse, monitor, gabinete, unidad de CD, DVD, webcam, entre otros. El hardware de un equipo de cómputo tiene ciertos componentes principales los cuales son: microprocesador, memoria RAM, memoria ROM, entre otros. Consulta los diversos videos de Pcityourself localizados en la dirección electrónica https://www.youtube.com/user/pcityourself/videos para que veas con más detalle los componentes de una computadora. Imagen 2.13 Elementos de una computadora (Pérez, 2019) Microprocesador Microprocesador (CPU): Encargado de las operaciones de cálculo y control de los periféricos de entrada y salida. Las partes que lo componen son: Unidad Aritmética Lógica: También conocida como ALU (Arithmetic Logic Unit por sus siglas en inglés). Es la encargada de realizar cálculos matemáticos, así como operaciones binarias más complejas. ● Unidad de control: Es la parte primordial del CPU, es la encargada de dirigir y ejecutar de manera correcta cada instrucción enviada. La velocidad del CPU es un factor importante que se debe considerar para valorar su rendimiento y la velocidad del reloj en Hz (hertzios) es la medida más común que mide la cantidad de operaciones por segundo que puede realizar el CPU por segundo. 65 Unidad 2 Procesamiento digital de la información En el mercado existen diferentes tipos/modelos de microprocesadores. Algunas empresas que fabrican procesadores son: Intel, AMD, Qualcomm. Imagen 2.14 Microprocesador (Pérez, 2019) Memoria RAM Y ROM La computadora tiene dos tipos de memoria principal (RAM y ROM): Memoria ROM significa Read Only Memory, la cual es una memoria de sólo lectura debido a que fue grabada por el fabricante y por lo tanto no se puede modificar por el usuario, esta memoria contiene grabados algunos programas que indican la manera en la que la computadora iniciará, y el funcionamiento del procesador, entre otras instrucciones. Memoria RAM significa Ramdom Access Memory. Es una memoria de acceso aelatorio; es decir, la información no se almacena de manera secuencial. Otra de sus características es que almacena la información de manera temporal, la información se guardará por un corto tiempo y después libera su espacio para darle lugar a otra información nueva. Al querer o necesitar adquirir una memoria de este tipo, se deben considerar dos aspectos muy importantes: la capacidad de almacenamiento, medida en Gigabytes (GB) y la velocidad de transferencia de datos, medida en Megahertzios (MHz) o en Gigahertzios (GHz). Actualmente se puede encontrar en el mercado memorias RAM con capacidad de 4GB, 8GB, 16GB, 32GB o más. Un equipo de cómputo con más GB de memoria RAM tendrá un costo mayor. 66 Unidad 2 Procesamiento digital de la información Imagen 2.15 Memorias RAM y ROM (Pérez, 2019) Periféricos Los periféricos de un equipo de cómputo son aquellos aparatos que se conectan al equipo principal para utilizarlos, son ejemplos de periféricos: pantalla/monitor, teclado, impresora, escáner, entre otros. Cada periférico realiza una función específica, por lo cual se clasifica en: periférico de entrada, salida, entrada-salida, almacenamiento. De entrada: Teclado, mouse, escáner, micrófono, webcam, lápiz electrónico, entre otros. De salida: Monitor o pantalla, impresora, audífonos, bocinas, proyectores, altavoces, entre otros. De entrada-salida: Multifuncional, unidades de CD, DVD, tarjetas de red, router, módem, tarjetas de audio, entre otros. De almacenamiento: Son los elementos que guardan la información de forma permanente. Entre estos se encuentran: memorias (USB, SD, MicroSD), discos DVD, discos CD, disco duro interno, disco duro externo, blue ray (BDBlu-ray Disk). Imagen 2.16 Periféricos (Pérez, 2019) 67 Unidad 2 Procesamiento digital de la información A continuación, se muestra un cuadro sinóptico con una clasificación general de los elementos de una computadora, tanto de hardware como de software: Imagen 2.17 Elementos de una computadora Dispositivo móvil Existen cientos de dispositivos en el mercado, esto se debe al requerimiento de software y hardware que nos ofrecen, como son: 68 Procesador. Capacidad de almacenamiento, cuentan con un almacenamiento interno desde 2, 4, 8, 16, 32, 64 y 128 Gigabytes; algunos ofrecen el incremento de almacenamiento a través de la inserción de tarjetas de memorias flash, generalmente Micro SD. Sistema operativo, podemos encontrar básicamente cuatro: Google, Android, Apple IOS y Windows Phone. Los sistemas operativos para dispositivos móviles suelen ser menos robustos que los diseñados para las computadoras de escritorio o portátiles, por lo que no puedes hacer todo lo que haces con una computadora, además que están orientados hacia la conectividad inalámbrica y necesidades específicas. Unidad 2 Procesamiento digital de la información Resolución de cámara fotográfica, actualmente los dispositivos cuentan con dos cámaras, la trasera y la frontal, de las cuales la cámara frontal siempre tiene menor calidad, la cual es medida a través de megapixeles. Memoria RAM, actualmente existen de 2, 4 y 6 GB, pero se prevé que pronto saldrán al mercado los de 8. Resolución de pantalla, nunca tuvimos pantallas con tamaños tan diferentes como el día de hoy, vinculado a este escenario está la resolución de las pantallas, como VGA, XGA, HD, Full HD, 1440p y 4K y otros. Recordemos que la resolución es el número de pixeles que puede mostrar una pantalla. Tamaño y grosor, la gama en este punto es un poco menos amplia, en general los fabricantes han buscado estándares, apegándose a la demanda del consumidor. Por ejemplo, en los smarthphone actualmente se utiliza un tamaño de 5 pulgadas y en grosor sería 7 mm. Pero si existen en el mercado sus excepciones tanto en tamaño como en grosor. Marca, como cualquier producto en el mercado hay diferentes marcas que lo ofrecen, algunas con mayor prestigio que otras, esto depende de diferentes factores como: el tiempo en el mercado, la calidad de los productos, innovación, entre otros. Precio, en su mayoría tiene relación directa con las características que ofrece, entre mejor sean éstas, mayor será el precio, aunque en ocasiones también la marca puede ser un factor. En un dispositivo móvil, el hardware (elementos) es: batería, cámara, procesador, memorias para almacenar datos, radiofrecuencia, audio, display, sensores y conectividad. De los elementos más importantes su función es: Radiofrecuencia: transmisión y recepción de señales. Conectividad: intercambiar datos para compartir internet: Wi-Fi o Bluetooth. Sensores: detectar variables como la iluminación, giro, aceleración, etc. Memoria: para el almacenamiento se utiliza en una memoria flash. Memorias para dispositivos móviles. Memoria eMMC (Embedded MultiMedia Card): Es una tarjeta multimedia incorporada no volátil. Es una solución de almacenamiento integrado con interfaz MMC, memoria flash, todo en un pequeño espacio con conexiones BGA (Ball Grid Array) matriz de malla de bolas. La memoria de almacenamiento es una memoria flash (posiblemente en su versión eMMC), en caso de tener insertada una tarjeta SD externa, se puede acceder al explorador de archivos y muestre una carpeta llamada “sdcard”. 69 Unidad 2 Procesamiento digital de la información Elección del sistema operativo (OS) Para la elección del sistema operativo se toma en consideración qué tan seguro es, además de las aplicaciones que se pueden instalar con algún costo o gratis. En los equipos de cómputo los sistemas operativos más importantes son: Windows, iOs y Linux. En los dispositivos móviles se puede encontrar diversos sistemas operativos, como puede ser: Android, iOS, Windows Phone, Symbian, Blackberry OS, etc. Consulta el sitio Cotizador Telcel en la URL http://www.smartcen.net:8051/ en el que podrás cotizar en línea planes y equipos móviles de acuerdo con tus necesidades. Retomando el caso de Erika propuesto previamente, con lo que leíste y tu investigación, realiza los siguientes ejercicios: Ejercicio 2.7 Realiza en un documento en Word, un organizador gráfico de tu preferencia, ilustrando con imágenes las partes físicas tanto de una computadora de escritorio o laptop y las de un dispositivo móvil. 70 Unidad 2 Procesamiento digital de la información Ejercicio 2.8 Llena la siguiente tabla y cotiza los componentes de un equipo de cómputo para un usuario que se dedica a la programación de computadoras. Hardware Tipo Tecnología Características Precio Fuente de información Tarjeta madre Procesador Disco duro Memoria Gabinete Fuente de poder Mouse Teclado Ejercicio 2.9 A partir de la situación planteada sobre la compra de un equipo de cómputo, y tomando en cuenta las características principales que se deben considerar para elegir el que se adapte mejor a las necesidades de quién lo utilizará, realiza una búsqueda en internet de tres equipos, compáralos y decide cuál deberías comprar y porqué. 71 Unidad 2 Procesamiento digital de la información Ejercicio 2.10 Realiza una investigación sobre qué equipo periférico es indispensable tener conectado a la computadora para que puedan realizar su trabajo de manera eficiente y eficaz, los siguientes profesionistas: Arquitecto Docente Contador Diseñador gráfico Periodista Ejercicio 2.11 Crea un cuadro sinóptico en donde el tema principal sea “Dispositivos de almacenamiento”, los subtemas son los tipos de almacenamiento (magnético, óptico y estado sólido) y en el último nivel debes poner los dispositivos de almacenamiento que entran en cada subtema, por ejemplo; en almacenamiento magnético pondrías disco duro, en almacenamiento óptico; disco compacto y en almacenamiento en estado sólido memoria flash SD. Ejercicio 2.12 Investiga las características técnicas que debe tener un dispositivo móvil para un amante de la fotografía y otro para el que usa muchas redes sociales. Llena la siguiente tabla y cotiza un dispositivo para cada perfil. Requerimientos Sistema operativo Memoria Procesador Cámara Conectividad 72 Características (técnicas) Costo Unidad 2 Procesamiento digital de la información Ejercicio 2.13 Haz una búsqueda en internet de los requisitos de sistemas que requiere un dispositivo móvil de un estudiante que gusta de instalar muchas aplicaciones educativas. Software Nombre Memoria RAM Procesador Sistemas operativos Aplicaciones que va a usar Antivirus si es que usa 73 Unidad 2 Procesamiento digital de la información Ejercicio 2.14 ¿Cuáles consideras que son los requerimientos de software que requiere una computadora que va a ser utilizada por un estudiante? Investiga las características técnicas que debe tener el software de una computadora antes de comprarla. Con los datos obtenidos llena la siguiente tabla. Como referencia, ve la siguiente dirección electrónica de los requisitos de sistemas de Windows 10: https://www.microsoft.com/es-mx/windows/windows-10-specifications#systemspecifications Software Requerimientos Almacenamiento en Disco duro Memoria RAM requerida Velocidad de procesamiento de datos Sistema operativo Software de ofimática Antivirus Ejercicio 2.15 Identifica las características de tu(s) dispositivo(s) móvil(es). Tipo de dispositivo 74 Procesador RAM Capacidad de almacenamiento Sistema operativo Unidad 2 Procesamiento digital de la información Reflexión Responde las siguientes preguntas: ¿Para tener un equipo que siempre cubra las necesidades del usuario, es necesario adquirir el más caro del mercado? ¿Cuál consideras que es mejor adquirir, un equipo portátil o de escritorio? ¿Es importante considerar el presupuesto que se tiene para comprar un equipo de cómputo? ¿Crees necesario cambiar el dispositivo móvil cada año sólo por moda? ¿Qué repercusiones ambientales existen al cambiar de equipo constantemente? ¿Qué haces con el equipo que ya no utilizas? Estás por realizar un proyecto de investigación que requiere de equipos de cómputo que procesan gran cantidad de información. El proyecto lo realizarás con otros compañeros y tú eres el encargado de administrar el dinero, un proveedor te ofrece equipos que no cumplen con la totalidad de requerimientos, pero son más baratos o tienen promoción de descuento, ¿qué opción eliges? y ¿por qué? a) Considerarías que cumpla con todos los requerimientos técnicos. b) Aprovecharías la promoción y ahorraríamos dinero. c) Comprarías un equipo de cómputo usado de menor costo y con requerimientos similares a los necesitados. Contenidos conceptuales Contenidos procedimentales 2.3 Sistemas operativos. 2.6 Uso del sistema operativo en actividades concretas para administrar información digital (tareas escolares, actividades personales, etc.). Contenidos actitudinales 2.11 Valoración de las actitudes que promueven la tolerancia, el respeto y la responsabilidad al compartir la información. Imagen 2.18 Sistemas (Pérez, 2019) 75 Unidad 2 Procesamiento digital de la información Sin el software, un equipo de cómputo no es más que un grupo de circuitos sin utilidad y no sería capaz de realizar las actividades de almacenar, procesar y recuperar información. De todo el software que existe, el más importante es el sistema operativo. ¿Conoces las funciones que realiza un sistema operativo? ¿Sabes por qué es tan importante? ¿Qué pasaría si un equipo no tuviera sistema operativo? 2.3 Sistemas operativos El sistema operativo es un conjunto de programas que administra los recursos de la computadora. Entre las actividades que realiza se encuentran: Supervisar las funciones de entrada, proceso, almacenamiento y salida. Intercambiar información entre la memoria central y la externa. Proveer de una plataforma para que el software de aplicación pueda ejecutarse. Regular el acceso al sistema. Proporcionar al usuario una interfaz para comunicarse con la computadora. (B@UNAM, 2014). Dentro de los recursos de hardware que administra se encuentran: Procesador. El sistema operativo coordina el tiempo que el procesador dedica a cada programa que se esté ejecutando. Periféricos. El sistema operativo comprueba que estén conectados y funcionando correctamente. Memoria. El sistema operativo coordina el uso de la memoria que cada programa requiere junto con los datos en su ejecución. Respecto al software, el sistema operativo administra: Información. Permite realizar copias, borrar o mover los archivos y los organiza, utilizando una lista (directorio), que es lo que conoces como carpetas. Interfaz. Proporciona el mecanismo de comunicación con el usuario, ya sea por una línea de comandos o por una función gráfica. Seguridad. Garantiza la integridad de la información al evitar accesos o modificaciones sin autorización del usuario. Comunicación. Establece las conexiones necesarias para la transferencia de datos en una red. Tipos de sistemas operativos Existen sistemas operativos que pueden ser gráficos; con íconos y menús de instrucciones, ejemplos de ellos son: Windows, Macintosh, Android, IOS, o a base 76 Unidad 2 Procesamiento digital de la información de línea de comandos, como: Unix o MS-DOS. Otros usan la función gráfica y de comandos, por ejemplo: LINUX. Los sistemas operativos pueden ser multitareas; es decir, ejecutar varias instrucciones a la vez, como Windows, Linux, UNIX, por mencionar algunos. También pueden ser monotarea como MS-DOS, que pueden ejecutar una sola tarea a la vez. En cuanto a la administración de usuarios, los hay monousuario al trabajar con un usuario a la vez, y multiusuario los que permiten atender a más de un usuario a la vez. Con respecto al manejo de microprocesadores, se dividen en: uniproceso, por controlar un solo procesador de la computadora y multiproceso por ocupar todos los microprocesadores de un equipo, distribuyendo el trabajo entre todos. Imagen 2.19 Sistemas operativos (Pérez, 2019) Sistemas operativos para móviles Existen varios sistemas operativos que usan los dispositivos móviles, celulares o smartphone, pero los más comunes o principales son: Android e iOS, seguidos por Windows Phone y Symbian. Una característica importante de Android es que es de código abierto basado en Linux, lo que permite que se puedan descargar aplicaciones gratuitas o de pago; esto, sin embargo, lo vuelve más inseguro. Por otro lado, iOS es de código cerrado. Cuenta con control de consumo de batería y es más seguro, debido a que no se puede descargar cualquier aplicación y requiere de licencia para su uso. Imagen 2.20 Sistemas operativos para dispositivos móviles (Pérez, 2019) 77 Unidad 2 Procesamiento digital de la información Ejercicio 2.16 De la lista de sistemas operativos que a continuación se enlistan, clasifícalos de acuerdo con sus características (monotarea, multitarea, monousuario, multiusuario etc.). Sistema Operativo Windows Monotarea Multitarea Monousuario Multiusuario Uni proceso Multi proceso Unix Linux MacOS Android iOS DOS Ejercicio 2.17 Organiza tus archivos creando carpetas por disciplina o por actividades, usando las funciones del administrador de tarea de tu sistema operativo. Como en el siguiente ejemplo: Imagen 2.21 Carpetas creadas en sistema operativo gráfico 78 Unidad 2 Procesamiento digital de la información Ejercicio 2.18 Haz una búsqueda de tus archivos PDF usando las funciones del administrador de tareas de tu sistema operativo. Como en el siguiente ejemplo: Imagen 2.22 Ejemplo de búsqueda en sistema operativo gráfico Reflexión ¿Por qué es importante en tu vida diaria la administración y el almacenamiento de la información? ¿Consideras que es más sencilla la administración del almacenamiento en la nube? ¿Por qué? 79 Unidad 2 Procesamiento digital de la información Contenidos conceptuales 2.4 Tipos de software. Contenidos procedimentales 2.8 Uso de software de acuerdo con las necesidades del manejo y presentación de la información: procesadores de texto, hojas de cálculo, presentaciones electrónicas, software multimedia, etc. 2.9 Interpretación de resultados obtenidos a partir de la información procesada para obtener conclusiones Imagen 2.23 Tipos de software (Pérez, 2019) Contenidos actitudinales 2.11 Valoración de las actitudes que promueven la tolerancia, el respeto y la responsabilidad al compartir la información. 2.4 Tipos de software En la actualidad, realizamos un sin fin de actividades con nuestros equipos de cómputo: entablamos comunicaciones, enviamos mensajes, hacemos tareas escolares, llevamos presupuestos, reservamos boletos de avión, etc., pero nada de esto podría hacerse si no existiera el software. Para entender la importancia que el software tiene, vamos a imaginar lo siguiente: Imagina que eres miembro de una orquesta, en esta orquesta hay un director, tienes otros compañeros músicos, cada uno con su instrumento y van a tocar la 8 a Sinfonía de Beethoven, sin embargo, nadie tiene la partitura ¿Se puede tocar la melodía? En este ejemplo, el director es el procesador, tú y los demás músicos los periféricos, y el software, ¿adivina quién es? ¡Correcto!, es la partitura. Como puedes ver, sin partitura no hay música, y así pasa con el equipo de cómputo, el hardware no podría realizar ninguna actividad sin el software. ¿Sabes cuántos tipos de software existen? ¿Cómo se clasifica? En este tema revisaremos cómo se clasifica el software de tu computadora y dispositivo móvil. Software El software es un conjunto de programas (comúnmente llamado interfase) que le permiten a la computadora realizar ciertas tareas. El software se puede clasificar por licencia, por uso: 80 Unidad 2 Procesamiento digital de la información Software gratis: Se distribuye gratuitamente como: Google Chrome y Mozilla Firefox. Software con restricciones: Se distribuye con limitaciones, puede ser un demo o por un determinado tiempo. Por ejemplo: un antivirus. Software gratis con contenido publicitario: Son de distribución gratuita con contenido publicitario dentro de su programa. Ejemplo: algunas aplicaciones gratis. Software libre: Puede ser gratuito o de paga. El usuario tiene acceso al código fuente y puede modificarlo. El ejemplo representativo de este software es el sistema operativo Linux. Software privado o de paga: Tiene un costo para poder utilizarlo. Algunos de los ejemplos más representativos, son: Windows, Microsoft Office para Windows y Mac, aplicaciones que no contienen anuncios. Clasificación por uso/usabilidad Software de sistema: Lo constituyen los Sistemas Operativos (OS, por sus siglas en inglés), programas que sirven para el control y comunicación de un equipo de cómputo o dispositivo móvil y provee servicios a los programas de aplicación. Ejemplos de estos sistemas operativos tenemos: Jaguar, Leopard, iOS, Android, Windows 8, Windows 10, Fedora, Centos, Red hat, Ubuntu, etc. Software de programación: Son programas que se les conoce como lenguajes de programación y sirven para crear y modificar software de sistema y de aplicación. Son ejemplos de software de programación: Lenguaje C, C++, PHP, Python, Logo, Java, Scratch, entre otros. Software de aplicación: Son programas diseñados para facilitar la realización de tareas específicas. Los ejemplos de estos softwares son: aplicaciones de comunicación, los procesadores de texto, hojas de cálculo, programas de diseño, bases de datos, presentaciones electrónicas, graficadores, entre otros. Ejemplos: Excel, PowerPoint, Word, Acrobat, CorelDraw, etc. Imagen 2.24 Software (Pérez, 2019) 81 Unidad 2 Procesamiento digital de la información Ejercicio 2.19 Clasificación del software. Ejercicio interactivo. Realiza las siguientes acciones: 1. Abrir el navegador de internet (Explorer, Mozilla Firefox, Chrome, etc.) 2. Teclear en la barra de navegación la siguiente dirección: http://www.kubbu.com/student/?i=1&a=75123_clasificaci_n_del 3. Practica hasta obtener el 100% del ejercicio para reforzar lo aprendido del tema. Ejercicio 2.20 Escribe en el paréntesis (F) si es falso o (V) si es verdadero cada uno de los siguientes enunciados. 82 ( ) Windows y Linux son ejemplos de software de sistema. ( ) Editores gráficos, procesadores de textos y lenguajes programación son ejemplos de software de aplicación. ( ) Antivirus, procesadores de texto y hojas de cálculo son ejemplos de software de lenguaje. ( ) C#, Java y Visual Basic son ejemplos de software de programación. ( ) Un equipo de cómputo puede estar integrado por software de sistema, aplicación y programación. de Unidad 2 Procesamiento digital de la información Ejercicio 2.21 Coloca los elementos de la siguiente lista de software de aplicación en la categoría que le corresponde: Word, Excel, PowerPoint, Writer, Calc, Impress, Pages, Numbers, Keynote, VLC, Movie Maker, Media Player y Camtasia Procesadores de texto Hojas calculo Presentadores electrónicos Software multimedia Ejercicio 2.22 Investiga el software con el que cuenta una computadora de tu escuela o de tu casa y completa el siguiente cuadro: Software de sistema con el que cuenta: Software de aplicación con los que cuenta: (citar al menos 5) Software de programación con los que cuenta: (citar al menos 3) 83 Unidad 2 Procesamiento digital de la información Ejercicio 2.23 Elaborar un cuadro sinóptico, de manera colaborativa, usando la nube, sobre los diversos tipos de software que existen actualmente. Para hacerlo, los pasos son los siguientes: 1. Formar equipos de trabajo de 6 integrantes. 2. Cada equipo nombrará un representante. 3. Cada representante de equipo realizará lo siguiente: a) Presionar el botón: b) Colocar tu correo electrónico de Gmail y tu contraseña. c) Una vez ingresado a drive, presionar el botón: d) Seleccionar la opción Dibujos de Google e) Al momento que aparezca el dibujo de Google Drive, deberás colocar el título: Imagen 1 f) Una vez que hayas colocado el título al documento, deberás presionar el botón: y ahí deberás colocar los correos de tus compañeros de equipo y el permiso de editar. 84 Unidad 2 Procesamiento digital de la información 4. Cada integrante del equipo deberá ingresar a su correo electrónico para poder abrir el documento que ha compartido su representante. 5. Una vez que todos los integrantes se encuentren en el mismo dibujo, deberán realizar un collage sobre los diversos tipos de software que integran las computadoras del centro de cómputo de su escuela. 6. Cuando el equipo haya terminado el cuadro sinóptico, su representante lo compartirá a la cuenta de correo del profesor con permiso de comentar. 85 Unidad 2 Procesamiento digital de la información Ejercicio 2.24 1. Realiza la siguiente tabla en un procesador de textos. 2. Da el formato que más te guste a la tabla. 3. Marca con una “X” a qué tipo de software pertenecen cada uno de los elementos listados. SOFTWARE Nombre Android Avast Avira C++ Chrome Excel Facebook Internet Explorer Instagram iTunes iOs 86 TIPO Sistema Operativo (SO) Programación Aplicación Unidad 2 Procesamiento digital de la información SOFTWARE Nombre TIPO Sistema Operativo (SO) Programación Aplicación Java Linux Mac OS Mozilla FireFox Norton Antivirus OpenOffice Pascal PowerPoint Ubuntu Waze Whatsapp Windows 10 Word 87 Unidad 2 Procesamiento digital de la información Reflexión Completa las palabras que faltan del texto: Todo comenzó un viernes por la tarde, cuando el profesor de la materia de informática nos comentó en clase, que deberíamos formar equipos de trabajo, para realizar un cuadro sinóptico colaborativo, sobre los tipos de software. Nos reunimos en equipo al finalizar la clase y nombramos a un representante, el cual tendría que __________ el documento, después lo ____________ con los compañeros de equipo colocando el permiso de ___________ para que pudiéramos colocar nuestras aportaciones al trabajo y la manera de comunicarnos sería por medio del __________ y el ____________ para comentar algunos puntos de vista. Una vez que terminamos y quedamos conformes con el resultado obtenido, se lo compartimos a nuestro profesor, pero la duda que nos surgió fue la siguiente: si el permiso que le otorgaba sería de ___________ o _________, pero decidimos que era necesario que el profesor nos retroalimentara nuestro trabajo y no que sólo pudiera visualizarlo. Palabras clave: chat, comentar, compartió, correo electrónico, crear, edición, ver. Autoevaluación Tema 2.1 Tipos de equipos 1. Computadoras que se caracterizan por ejecutar cálculos complejos y científicos: a) Microcomputadora b) Supercomputadora c) Minicomputadora d) Macrocomputadoras 2. Computadoras utilizadas frecuentemente en bancos que procesan grandes volúmenes de información: a) Microcomputadora b) Supercomputadora c) Minicomputadora d) Macrocomputadoras 88 Unidad 2 Procesamiento digital de la información 3. Computadoras que se basan en la realización de cálculos: a) Analógicas b) Digitales c) Híbridas d) Dual 4. Computadoras que se basan en la medición: a) Analógicas b) Digitales c) Híbridas d) Dual Tema 2.2 Características elementales del equipo 5. Las partes más importantes de un equipo de cómputo son: a) Procesador, disco duro y memoria b) Memoria, procesador, Ram y Rom c) Disco duro, CD, monitor y mouse d) CPU, disco duro, monitor y DVD 6. Las partes más importantes de un dispositivo móvil son: a) Procesador, memoria, recepción b) Memoria, procesador, tipo de señal c) Cámara, display, procesador d) CPU, disco duro, monitor, DVD 7. Son elementos que integran un microprocesador: a) Unidad física, unidad de control b) Unidad matemática, unidad física c) Unidad lógica, unidad matemática d) Unidad aritmético - lógica, unidad de control 8. Los periféricos únicamente de entrada de una computadora son: a) Impresora, audífonos, proyectores y monitor b) Multifuncional, unidad de CD, tarjeta de red y módem c) Escáner, teclado, micrófono y webcam d) Tarjeta de audio, lápiz electrónico, impresora y multifuncional 9. ¿Cómo se define el hardware? a) Un conjunto de programas llamados interface b) Elementos físicos que componen un equipo de cómputo c) Elementos internos que componen una computadora d) Elementos externos que componen un equipo de cómputo 89 Unidad 2 Procesamiento digital de la información 10. La unidad de medida Hz (herzios) se emplea para: a) Medir la velocidad de transferencia b) Medir la capacidad de almacenamiento c) Medir la velocidad de un microprocesador d) Medir la velocidad de control 11. Programas que sirven para procesar la información de un equipo de cómputo o dispositivo móvil: a) Software de aplicación b) Software de programación c) Software libre d) Software de sistema 12. Son ejemplos de sistemas operativos en un dispositivo móvil: a) Symbian, Blackberry, Android b) Windows, iOS, Linux c) Android, Windows, Linux d) Blackberry, Linux, iOS 13. Es una memoria para dispositivo móvil: a) Memoria RAM b) Memoria ROM c) Memoria Flash SD d) Memoria Flash MS 14. ¿Cuáles son las características técnicas más importantes que debemos considerar para comprar un equipo de cómputo? a) Si cuenta con un disco duro, tipo de lector para discos ópticos y tipo de conexiones para dispositivos periféricos b) Velocidad de procesamiento, capacidad de memoria RAM y capacidad de almacenamiento en el disco duro c) Número de conexiones USB, capacidad de memoria CACHE y resolución del monitor d) Tipo de memoria ROM, tamaño del gabinete, estilo del monitor Tema 2.3 Sistemas operativos 15. ¿Qué es un sistema operativo? a) Un programa para editar un texto b) Un programa que administra los recursos de la computadora c) Es el código de una aplicación d) La parte tangible de la computadora 90 Unidad 2 Procesamiento digital de la información 16. ¿En qué se caracteriza un sistema operativo multitarea? a) Ejecutar un solo programa a la vez b) Ejecutar simultáneamente varias aplicaciones c) Proveer una interface de sistema d) Dar servicio a muchos usuarios 17. ¿Qué es un sistema operativo multiusuario? a) Permite que varios usuarios puedan ejecutar programas a la vez b) Permite ejecutar diversos programas al mismo tiempo c) Ejecutar un solo programa a la vez a) Utilizar simultáneamente varias aplicaciones Tema 2.4 Tipos de Software 18. ¿Cómo se define el software? a) Programas para editar textos b) Programas que administra los recursos de la computadora c) El código de una aplicación d) Programas que permiten realizar diferentes actividades a la computadora 19. Son ejemplos de Software de aplicación a) Unix, editor de textos y hoja de cálculo b) Windows y editor de presentaciones c) Java, iOS y editor de textos d) Editor de textos, hoja de cálculo y editor de presentaciones 20. Son ejemplos de sistemas operativos a) Linux, hoja de cálculo y Windows b) Linux, iOs y Windows c) Linux, Java y Windows d) Linux, Android y Word 21. Son ejemplos de lenguajes de programación a) C, Word y Windows b) C, C# y Windows c) C, C# y Linux d) C, Java y PHP 91 Unidad 2 Procesamiento digital de la información 22. Con la siguiente tabla, evalúa tu desempeño LISTA DE OBSERVACIÓN Alumno: Fecha: Temas: Instrucciones: Marca con una “X” donde corresponda según los siguientes parámetros: Excelente: El desempeño es superior a lo esperado. Muy bien: El desempeño es lo esperado. Bien: El desempeño es inferior a lo esperado. Mejorable: Se inicia en el logro del rasgo. Sin realizar: No se observa desempeño alguno o se le dificulta para lograrlo. CRITERIO INDICADOR Realizó la investigación sobre los componentes de un equipo de cómputo y dispositivos móviles. Identificó y clasificó las partes de un equipo de cómputo y dispositivos móviles de su casa o escuela. Contenido Indicó la función de los componentes de un equipo de cómputo y dispositivo móvil. Identificó a qué tipo de dispositivo móvil pertenece su teléfono celular. Desarrollo actitudinal y social 92 Puede trabajar en equipo en actividades de investigación. Muestra interés y compromiso al realizar las actividades. E MB B M SR UNIDAD 3 Metodología de solución de problemas computables “Primero resuelve el problema. Entonces, escribe el código”. John Johnson. Unidad 3 Metodología de solución de problemas computables UNIDAD 3 METODOLOGÍA DE SOLUCIÓN DE PROBLEMAS COMPUTABLES Introducción En esta unidad se explica qué es y cómo resolver un problema computable de manera eficaz mediante una metodología de solución de problemas computables que consta de las siguientes fases: 1. Planteamiento del problema. 2. Análisis de la solución del problema. 3. Diseño de la solución del problema. 4. Codificación. Contenidos conceptuales Contenidos procedimentales 3.1 Planteamiento: acotamiento y alcances del problema computable. 3.9 Elección del paradigma y del lenguaje apropiado para codificar, incluyendo la comprensión de su sintaxis y aplicando su conocimiento del inglés. Contenidos actitudinales Imagen 3.1 Problema. (Altmann, J. s/f) 3.11 Desarrollo de actitudes requeridas para la programación: concentración, paciencia, tolerancia a la frustración, creatividad, perseverancia, disciplina, etc. 3.1 Planteamiento: acotamiento y alcances del problema computable Todos los días el ser humano se enfrenta a problemas de diversa índole. Desde que nos despertamos, comenzamos a resolver problemas y tomar decisiones. Muchas de estas acciones las realizamos de manera automática, sin ser conscientes de que para la solución de una situación problemática hacemos uso de una estrategia. A diferencia de estos problemas cotidianos, existen algunos problemas más complejos que son más fáciles de resolver mediante equipos de cómputo, por ejemplo, aquéllos que requieren de cálculos muy complejos y precisos o el manejo de grandes volúmenes de información. 94 Unidad 3 Metodología de solución de problemas computables Lo anterior, nos lleva a preguntarnos: ¿qué es un problema?, ¿cuál es el mejor método para resolverlo?, ¿qué tipos de problemas puede resolver la computadora y cómo se abordan? Para Vasconcelos, J. (2011, pag. 230) “un problema es una situación en la que las cosas que tenemos son diferentes de las que deseamos”. Cuando el problema es factible de resolver a través de un equipo de cómputo, se dice que es un problema computable. Vallarta, G. (2011), define problema computable como “toda abstracción de la realidad que puede ser representada mediante una serie de pasos ordenados lógicamente”. En el área de la informática, para resolver este tipo de problemas existen diferentes metodologías. En este cuaderno de trabajo, aprenderás una de ellas la cual te permitirá crear programas de computadora que resuelvan necesidades específicas. El acotamiento y alcance de un problema computable los establece el usuario de acuerdo con el contexto y recursos disponibles, ya que es él quien define qué es lo que espera solucionar. Éstos dependen del tipo de problema que se vaya a resolver y del interés del usuario. En la práctica, la mayoría de los problemas que se resuelven mediante la computadora son aquellos que requieren de algún tipo de cálculo u operación. Metodología de solución de problemas computables Para resolver los problemas computables existe una metodología que consta de los siguientes pasos: Planteamiento del problema Análisis de la solución del problema Diseño de la solución del problema Codificación Figura 3.1 Metodología de solución de problemas computables 95 Unidad 3 Metodología de solución de problemas computables Planteamiento del problema. Esta etapa inicial consiste en conocer y delimitar el problema. Se define qué es lo que se desea resolver, se identifican los recursos disponibles y se establece un tiempo determinado para su solución. Análisis de la solución del problema. Consiste en elegir de las posibles opciones de solución que se tengan, la que sea más fácil de llevar a cabo. En esta fase, el objetivo es dividir el problema en partes, examinando cada una de éstas para abordarlo mejor y determinar cómo unas partes pueden afectar a otras. Diseño de la solución del problema. Una vez seleccionada la opción más viable de solución, se diseña el algoritmo que consiste en una serie de pasos organizados lógicamente que permiten solucionar adecuadamente el problema determinado. En esta etapa, se utilizan herramientas de diseño como el diagrama de flujo y el pseudocódigo. Codificación. Consiste en escribir el algoritmo en un lenguaje de programación. En conclusión, para resolver un problema computable de manera eficaz se requiere del uso de la metodología de solución de problemas. Su conocimiento y aplicación no sólo te permitirá automatizar un proceso, sino también te ayudará a desarrollar habilidades de pensamiento lógico, a planificar y resolver problemas de cualquier índole. Este proceso implica tener una mente abierta y lista para un trabajo creativo y perseverante. Ejercicio 3.1 Escribe en orden las etapas de la metodología de solución de problemas computables y explícalas brevemente. Diseño del problema Codificación Planteamiento del problema Análisis del Problema 1._____________________________________________________ 2._____________________________________________________ 3._____________________________________________________ 4._____________________________________________________ 96 Unidad 3 Metodología de solución de problemas computables Reflexión Cuando se te presenta un problema: ¿Cómo lo solucionas? ¿Utilizas alguna metodología para llegar a la solución? ¿Crees que es indispensable realizar cada una de las etapas de la metodología de solución de problemas para crear un programa? A continuación, se abordan con mayor detalle las actividades que se deben realizar en cada etapa de la metodología de solución de problemas computables y se explican los elementos que las integran mediante un ejemplo que incluye la automatización de procesos simples que realiza un cajero automático. Planteamiento del problema Actualmente, las visitas al banco se han reducido gracias al uso de apps de banca móvil y de los cajeros automáticos. Te has preguntado alguna vez ¿cuál es el origen de los cajeros automáticos?, ¿cómo es que estos cajeros funcionan?, ¿qué operaciones realizan?, ¿cuáles son sus procesos de seguridad? El origen de los cajeros automáticos se remonta al año de 1965, cuando el británico John Sheperd-Barron inventó un modelo de cajero automático, precursor de los cajeros actuales, basado en las máquinas que vendían chocolates. Él ideó un cajero automático que al introducir un cheque expedía el dinero utilizando el mismo principio de las máquinas expendedoras de chocolates de ese entonces, que funcionaban al insertar una moneda y después de jalar una palanca una barra de chocolate aparecía en un cajón. Hoy en día, los cajeros automáticos son máquinas muy sofisticadas que ofrecen diversos servicios bancarios. El auge de la banca móvil, así como el uso de estos cajeros han facilitado y agilizado los procesos bancarios. Para entender y aplicar la metodología de solución de problemas computables, vamos a considerar algunas de las operaciones básicas que se pueden realizar mediante un cajero automático, de esta forma, tu reto será crear programas que resuelvan los siguientes problemas: Verificación de acceso a una cuenta bancaria. Consulta de saldo. Realizar un depósito a una cuenta bancaria. Realizar un retiro de una cuenta bancaria verificando que no se exceda el saldo del cliente, ni el monto máximo de retiro diario. 97 Unidad 3 Metodología de solución de problemas computables Simular la realización de más de una transacción bancaria en una sola sesión. Pago de servicios. Contenidos conceptuales Contenidos procedimentales 3.2 Análisis: definición de datos e identificación de los elementos y recursos que se requieren para la solución del problema. 3.9 Elección del paradigma y del lenguaje apropiado para codificar, incluyendo la comprensión de su sintaxis y aplicando su conocimiento del inglés. Contenidos actitudinales Imagen 3.2 Análisis. (Ingenioempresa, 2018). 3.11 Desarrollo de actitudes requeridas para la programación: concentración, paciencia, tolerancia a la frustración, creatividad, perseverancia, disciplina, etc. 3.2 Análisis: definición de datos e identificación de los elementos y recursos que se requieren para la solución del problema Después de realizar el planteamiento del problema, se continúa con el análisis del problema. En esta fase se especifica claramente los elementos que se requieren (entradas), las tareas que el programa debe realizar (procesos) y el resultado que se espera (salida). Las acciones que se realizan en el análisis son: Comprender el problema. Describir los requisitos del problema, aclarar si el programa requiere interacción con el usuario para leer datos de entrada y especificar los resultados de salida. Describir los datos y representarlos de manera que la computadora los pueda manipular. Si el programa genera una salida, especificarla y dar formato al resultado. Como te habrás dado cuenta, en la etapa de análisis lo que se busca es comprender el problema dividiéndolo en tres partes: entrada, proceso y salida y examinando cómo se interrelacionan y afectan unas a las otras. 98 Unidad 3 Metodología de solución de problemas computables Figura 3.2 Actividades del análisis del problema (Jimenez, 2016). Para llevar a cabo el análisis vamos a responder ciertas preguntas que nos indicarán los elementos con los que contamos para realizar el programa (Tabla 3.1): Preguntas Información a obtener ¿Qué datos se necesitan conocer de antemano para obtener la información que se desea? Datos que es necesario considerar para resolver el problema. Datos que el usuario debe proporcionar. Rango de valores que puede tomar cada dato. Entradas ¿Cómo debo transformar los datos de entrada en la información que deseo obtener? ¿Qué operaciones se deben realizar? Las operaciones o ecuaciones que el programa debe realizar. Procesos ¿Cómo debo organizar los datos procesados para presentar los resultados esperados? Definición de datos que presenten la solución del problema. Diseño de la presentación de resultados. Rango de valores que puede tomar cada dato. Salidas Definición Tabla 3.1 Preguntas de análisis Definición de constantes, variables y tipos de datos Una vez que has identificado los datos de entrada y salida, es necesario organizarlos de manera que la computadora los pueda manipular. Para ello, cada dato identificado se asociará con una variable o una constante y un tipo de dato. 99 Unidad 3 Metodología de solución de problemas computables Cada dato de entrada y salida requiere de un nombre único que lo identifique y dependiendo de cómo se comporte su valor, puede considerarse como variable (el dato cambia) o constante (el valor no cambia durante la ejecución del programa). Por ejemplo, saldo, cuenta_cliente, nombre son variables e interes_a_pagar y nombre_banco son constantes. Ejercicio 3.2 Datos para resolver un problema. Responde lo siguiente: Cuando introduces tu tarjeta al cajero automático ¿qué datos lee el cajero de tu tarjeta? ________________________________________________________ ¿Qué datos te solicita el cajero para verificar tu identidad? ________________________________________________________ ¿Es un valor fijo o cambiante? ________________________________________________________ Tipos de datos En el ejercicio 3.2, seguramente identificaste como dato de entrada una contraseña (4 dígitos si es cajero automático o 6 si es dispositivo móvil). Esta contraseña cambia su valor dependiendo del usuario, por lo que para poder trabajarla en un programa se debe definir una variable. Esta variable se asociará a un identificador comúnmente conocido como nombre de la variable y a un tipo de dato. El tipo de dato se refiere al dominio (valores que puede tomar) de la variable o constante. Los tipos de datos básicos son: Numéricos a. Enteros. Números precedidos de signo + ó - y no tienen parte decimal. Ejemplos: 57, 180, 73 b. Reales. Números precedidos de signo + ó - y que tienen parte decimal. Ejemplos: 47.5, 36.7, 9.8 Alfanuméricos o carácter Datos que pueden ser letras del alfabeto (a, b, c, A, Y, Z, etc.), dígitos (0, 1, 2, …, 9) o símbolos especiales ($, %, &, /, !, =, etc.). Aunque este tipo de datos puede contener números, no pueden ser utilizados para realizar operaciones aritméticas. Un dato tipo caracter contiene un solo caracter y se 100 Unidad 3 Metodología de solución de problemas computables escribe entre apóstrofes: ‘a’, ‘9’; mientras que una cadena de caracteres se escribe entre comillas: “prepa”, “UNAM”. Lógicos o booleanos Datos que pueden contener el valor verdadero (true) o falso (false). De acuerdo con la clasificación anterior, para manipular en la computadora la contraseña que el cajero te solicita, nombraremos la variable clave_acceso y definiremos su tipo de datos como caracter. De esta manera, la definición de la variable que guardará el dato de contraseña puede ser: Definir clave_acceso Como Caracter; Así como definimos la variable clave_acceso, podemos definir variables de tipo numérico, alfanumérico y lógicos como lo muestran los siguientes ejemplos: Definir edad_cliente Como Entero; Definir cantidad_billetes Como Entero; Definir saldo Como Real; Definir monto_prestamo Como Real; Definir nombre Como Caracter; Definir domicilio Como Caracter; Definir cuenta_activa Como Boolean; Ejercicio 3.3 Cuando haces uso del cajero automático, introduces tu tarjeta para validar los datos y acceder al sistema. Define las variables que se requieren para realizar esta validación y una vez que te ha identificado el cajero, qué datos te muestra en pantalla. Dato Nombre de la variable Tipo de dato Definición de la variable Entrada/Salida Número de identificación personal Nombre del tarjetahabiente Cuenta CLABE Nombre del banco 101 Unidad 3 Metodología de solución de problemas computables Nombre de la variable Dato Tipo de dato Definición de la variable Entrada/Salida Tipo de cuenta del cliente Saldo Muy bien, ahora que ya definimos las entradas y las salidas esperadas, prosigamos con los procesos. Procesos Se refiere a las operaciones que deben aplicarse a los datos para obtener la solución al problema. Éstas dependen del tipo de operadores que se utilizan, ya sean aritméticos, relacionales o lógicos. En el ámbito de la computación se conocen como expresiones. Definición de expresión en computación Una expresión es una lista de datos y/o funciones (operandos) unidos mediante símbolos (operadores) que, al aplicarles una serie de reglas de evaluación, se obtiene como resultado un valor (Berlanga, 2000). Tipos de expresiones en computación En computación se utilizan los siguientes tipos de expresiones: Expresión de asignación La expresión de asignación permite almacenar un valor en una variable (Tabla 3.2). Operador de asignación = Significado Asignación simple Ejemplos x=100 x=y x=x+z Tabla 3.2 Expresión asignación 102 x100 yy xx+z Unidad 3 Metodología de solución de problemas computables Expresiones aritméticas Una expresión aritmética permite realizar operaciones entre operandos de tipo numérico. Los operadores aritméticos que se utilizan se muestran en la Tabla 3.3: Operador aritmético Significado Ejemplo + Suma z=x+y - Resta z=x-y ^ Potenciación z= x ^ y * Multiplicación z=x*y / División z=x/y % Residuo (o módulo) z=x%y Tabla 3.3 Operadores aritméticos Expresiones de comparación Las expresiones de comparación o relacionales comparan dos valores. Los operadores de comparación que se utilizan se muestran en la Tabla 3.4: Operador relacional Significado Ejemplo > Mayor que a > b a mayor que b < Menor que a < b a menor que b >= Mayor o igual que a >= b a mayor o igual que b <= Menor o igual que a <= b a menor o igual que b = Igual que a = b a igual que b <> != Diferente que a != b a diferente que b Tabla 3.4 Operadores relacionales Las expresiones de comparación siempre devuelven un valor booleano, es decir, verdadero (1) o falso (0). 103 Unidad 3 Metodología de solución de problemas computables Expresiones lógicas Las expresiones lógicas evalúan dos o más expresiones de comparación. Los operadores lógicos que se utilizan se muestran en la Tabla 3.5: AND OR NOT A B A AND B A B A OR B 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 1 0 0 1 1 1 1 1 1 1 1 (edad>=18) AND (cred_INE) bach_ENP OR bachi_CCH A NOT A NOT(mexicano) Tabla 3.5 Operadores lógicos La Tabla 3.6 muestra algunos ejemplos: Expresión lógica Evaluación de la expresión lógica (8>10) AND (4<2) (8>10) AND (4<2) verdadero AND (4<2) verdadero AND falso falso (5<1) OR (6>4) (5<1) OR (6>4) falso OR (6>4) falso OR verdadero verdadero NOT (15>=7*2) OR (43 <= 8*2) NOT (15>=14) OR (43 <= 8*2) NOT (15>=14) OR (43 <= 16) NOT (verdadero) OR (falso) falso OR falso falso Tabla 3.6 Ejemplos de expresiones lógicas Prioridad de operadores 104 Unidad 3 Metodología de solución de problemas computables La precedencia de operadores es el orden en que los operadores serán evaluados, los de mayor prioridad serán evaluados primero. La precedencia de operadores se muestra en la Tabla 3.7: Prioridad de operadores Prioridad 1 Operador2 ( ) Significado Paréntesis 2 ^ 3 * / % Multiplicación, división, módulo 4 + - Suma, resta 5 < <= > >= == != 6 NOT (!) 7 && AND 8 || OR Exponenciación Menor que, menor o igual que, mayor que, mayor o igual que, Igual, diferente Negación Tabla 3.7 Prioridad de operadores El uso de paréntesis “( )” en las expresiones puede modificar la prioridad de operadores, las operaciones que se incluyan entre paréntesis, se realizarán primero, respetando la precedencia de operadores dentro del paréntesis. Ejercicio 3.4 Calcula el resultado de las siguientes expresiones e indica qué tipo de expresión es: 2 La representación de los operadores puede variar dependiendo del lenguaje de programación que se utilice. 105 Unidad 3 Metodología de solución de problemas computables Expresión Resultado Tipo de expresión 15 % 2 9 – 5 * 3 + 24 / 6 2*5^3/2%3 (4 ^ 2) >= (3 * 5) 8*3/2<7–2*3 (7 > 5 * 3) AND (2 <= 10 / 3) Not (5 != 7 - 2) Reflexión Los cajeros automáticos realizan millones de transacciones al día, por lo que emplean equipos de cómputo con recursos de almacenamiento muy grandes, pero limitados. 106 ¿Crees importante considerar este aspecto cuando defines las variables? ¿Con qué tipo de dato definirías el teléfono del cuentahabiente y por qué? ¿Es conveniente el uso de estándares para nombrar las variables? ¿Cuál sería la repercusión de definir una variable con un tipo de dato diferente al requerido? Unidad 3 Metodología de solución de problemas computables Contenidos conceptuales Contenidos procedimentales 3.3 Diseño de la solución del problema: algoritmos, diagramas de flujo y pseudocódigo con estructuras de control. 3.7 Elaboración de algoritmos y/o diagramas de flujo para la solución de los problemas planteados (fórmulas matemáticas, figuras geométricas, juegos, etc.). 3.8 Pruebas de escritorio para validar los algoritmos y/o diagramas de flujo. Contenidos actitudinales Imagen 3.3 Programación (Villegas R. 2019) 3.11 Desarrollo de actitudes requeridas para la programación: concentración, paciencia, tolerancia a la frustración, creatividad, perseverancia, disciplina, etc. 3.3. Diseño de la solución del problema: algoritmos, diagramas de flujo y pseudocódigo con estructuras de control Las instituciones bancarias cuentan con un grupo de programadores que se encarga de elaborar los programas que hacen funcionar de forma óptima los cajeros automáticos. Alguna vez te has preguntado ¿qué herramientas se utilizan para esta tarea? Existen metodologías de solución de problemas y herramientas que son de utilidad para los programadores de computadoras, como el pseudocódigo, diagrama de flujo, UML (Unified Modeling Language), etc. Algoritmo Un algoritmo es el conjunto de pasos finitos3 bien definidos y con un orden lógico que permiten realizar una tarea, como podría ser la solución de problemas. Los algoritmos deben tener perfectamente definidas las entradas y las salidas. Los algoritmos tienen las siguientes características: ● ● ● ● Finito. Terminará siempre después de un número determinado de pasos. Preciso. Indica el orden en que se realizará cada paso. Definido. Se debe obtener el mismo resultado cada vez que se lea o ejecute. Efectivo. Los pasos del algoritmo deben llevar a la solución del problema planteado. 3 Marvin Lee Minsky constató que, si el tamaño de un procedimiento no se conoce de antemano, tratar de descubrirlo es un problema indecible ya que el procedimiento puede ser ejecutado hasta el infinito porque nunca se tendrá la respuesta (Durango, Arias, & Gracia, 2016). 107 Unidad 3 Metodología de solución de problemas computables Ejemplo 3.1 Retiro de efectivo y consulta de saldo en un cajero automático Tienes $1000.00 en tu cuenta y después de realizar un retiro de cualquier cantidad en el cajero automático deseas conocer tu saldo. El algoritmo que permite realizar dicha tarea quedaría de la siguiente forma: Inicio saldo = 1000 Escribir Monto a retirar: Leer retiro Calcular saldo = saldo - retiro Escribir El saldo es: saldo Fin Ejercicio 3.5 Desarrolla el algoritmo que permita realizar un depósito de cualquier cantidad a tu cuenta y que te muestre el saldo final. Considera el saldo inicial de tu cuenta de $800.00 pesos. Diagrama de flujo El diagrama de flujo es una representación gráfica de la solución de un problema, es decir, es la representación gráfica de un algoritmo. 108 Unidad 3 Metodología de solución de problemas computables Simbología de los diagramas de flujo En un diagrama de flujo cada acción del algoritmo se representa con un símbolo específico. La Tabla 3.8 muestra cada uno de ellos. Símbolo Significado Inicio/Fin Proceso Decisión Entrada/Salida Salida/Escribir } Conector dentro de página Conector fuera de página Dirección del flujo Tabla 3.8 Simbología de los diagramas de flujo 109 Unidad 3 Metodología de solución de problemas computables El diagrama de flujo del algoritmo del ejemplo 3.1 anterior quedaría de la siguiente forma: Figura 3.3 Retiro de efectivo y consulta de saldo en un cajero automático 110 Unidad 3 Metodología de solución de problemas computables Ejercicio 3.6 Elabora el diagrama de flujo del algoritmo que desarrollaste en el ejercicio 3.5. 111 Unidad 3 Metodología de solución de problemas computables Pseudocódigo El pseudocódigo es la forma de representar un algoritmo mediante un lenguaje informal en el que se combinan palabras del lenguaje común con instrucciones de programación. Normas básicas para crear pseudocódigos Los pseudocódigos se componen de: ● ● ● Cabecera. Se indica el nombre del algoritmo que se va a realizar. Declaraciones. Se definen las variables y constantes que se utilizarán. Cuerpo. Se indican las operaciones o instrucciones de las que se compone el pseudocódigo. A continuación, se muestra el pseudocódigo del algoritmo que determina el saldo de una cuenta después de retirar cualquier cantidad: Ejemplo 3.2 Cálculo del saldo después de un retiro en un cajero automático Proceso realizar_retiro 1 Definir retiro, saldo Como Real; 2 saldo 1000; 3 Escribir “Monto a retirar: ”; 4 Leer retiro; 5 saldo saldo - retiro; 6 Escribir “Saldo: ”, saldo; FinProceso Ejercicio 3.7 Desarrolla el pseudocódigo del ejercicio 3.6. 112 Unidad 3 Metodología de solución de problemas computables Prueba de escritorio Consiste en hacer de forma manual un seguimiento, línea por línea, de las instrucciones definidas en el algoritmo, dando valores de prueba a las variables para comprobar si el resultado al que se llega es el esperado. Por ejemplo, la prueba de escritorio del algoritmo anterior quedaría de la siguiente forma: Prueba de escritorio para un retiro de $200.00 Instrucción/Variable Saldo saldo 1000; 1000 Leer retiro; Retiro 200 saldo saldo - retiro; 800 Pantalla del usuario Escribir “Monto a retirar: ”; Monto a retirar: 200 Escribir “Saldo: ”, saldo; Saldo: 800 Ejercicio 3.8 Realiza la prueba de escritorio del pseudocódigo del ejercicio 3.7. 113 Unidad 3 Metodología de solución de problemas computables Ejercicio 3.9 Escribe el pseudocódigo, diagrama de flujo y haz la prueba de escritorio de los procesos bancarios listados a continuación: a) Solicitar el número de identificación personal del cuentahabiente. b) Calcular la mensualidad a pagar de un préstamo a un año. c) Compra de tiempo aire para celular. Suponga un saldo inicial de $500.00. Ya has logrado realizar el pseudocódigo de diferentes operaciones bancarias. Todas estas instrucciones, como habrás notado, se realizan una a la vez y en un orden determinado, sin embargo, un programa no siempre está limitado a una secuencia lineal de instrucciones. Durante su proceso, se pueden tomar decisiones que impliquen la ejecución de diferentes códigos, o incluso su repetición. Lo anterior se logra mediante las estructuras de control. 114 Unidad 3 Metodología de solución de problemas computables Estructuras de control Las estructuras de control, como su nombre lo indica, permiten controlar el flujo de datos en un programa. Especifican qué, cómo y bajo qué circunstancias se ejecutan las instrucciones. El paradigma de programación estructurada señala que todo problema computable puede ser resuelto mediante tres estructuras de control: secuencia, selección e iteración (repetición). Estructura de secuencia Cuando las instrucciones son ejecutadas en orden secuencial y una a la vez, se está empleando la estructura de secuencia. Su representación en pseudocódigo y diagrama de flujo es: Estructura de secuencia Pseudocódigo Inicio Instrucción 1 Instrucción 2 Instrucción 3 Fin Diagrama de flujo Figura 3.4 Diagrama de flujo de la estructura de control de secuencia Funcionamiento Se ejecuta la instrucción 1, después la instrucción 2 y finalmente, la instrucción 3. Todos los algoritmos que has elaborado hasta el momento, son ejemplos del uso de la estructura de secuencia. 115 Unidad 3 Metodología de solución de problemas computables Estructura de selección Retomando el diseño de nuestro programa de cajero automático, te has puesto a pensar ¿cómo logra identificar el sistema de cómputo que el usuario y contraseña ingresados son correctos? ¿Cómo verifica que deseas retirar más dinero del que tienes disponible en tu cuenta? Estos y otros controles sobre las operaciones bancarias se pueden programar gracias a la estructura de selección. La estructura de selección también es conocida como estructura de decisión o comparación. Se utiliza para seleccionar la ejecución de un bloque específico de instrucciones, dependiendo del resultado de la evaluación de una expresión lógica. Su representación en pseudocódigo y diagrama de flujo es: Estructura de selección Si-Entonces-SiNo (if-then-else) Pseudocódigo Inicio Si expresión_lógica Entonces Bloque de instrucciones 1 SiNo Bloque de instrucciones 2 FinSi Fin Diagrama de flujo Figura 3.5 Diagrama de flujo de la estructura de control de Si-Entonces-SiNo Funcionamiento Se evalúa la expresión_lógica. Si es verdadera, se ejecuta el bloque de instrucciones 1. Si es falsa, se ejecuta el bloque de instrucciones 2. 116 Unidad 3 Metodología de solución de problemas computables Ejemplo 3.3 Retiro de una cuenta bancaria verificando el saldo del cliente Elaborar el pseudocódigo y diagrama de flujo para verificar que el monto que desea retirar un cliente sea menor que el saldo de su cuenta. Pseudocódigo Proceso validar_retiro 1 Definir saldo, retiro Como Real; 2 saldo 1000; // El saldo inicial del cliente es de $1,000.00 3 Escribir 'Transacción de retiro'; 4 Escribir 'Monto a retirar: '; 5 Leer retiro; 6 Si retiro <= saldo Entonces 7 Escribir 'Retiro exitoso. Recoja su dinero'; 8 SiNo 9 Escribir 'El saldo de su cuenta es insuficiente'; 10 FinSi FinProceso 117 Unidad 3 Metodología de solución de problemas computables Diagrama de flujo 118 Unidad 3 Metodología de solución de problemas computables Cuando se hace un retiro de dinero, el banco no sólo verifica que el usuario tenga el saldo suficiente en su cuenta, sino también que no excede el límite del monto diario a retirar definido por el banco. ¿Cómo puedes modificar el algoritmo anterior para considerar esta nueva condición? ¿Cuál sería la expresión lógica correcta para resolver el problema? En este caso, observa que es necesario utilizar dos estructuras comparativas, la primera, retiro<=saldo, y la segunda retiro<=retiro_maximo. La forma de unir varias estructuras relacionales en una sola expresión lógica es mediante los operadores lógicos, en este caso, utilizaremos el operador AND (Y). Operador lógico AND (Y) Valor de la expresión lógica Verdadero. Todas las expresiones son verdaderas. Falso. Al menos una expresión es falsa. Expresión lógica Transacción de retiro: retiro<=saldo Y retiro<=retiro_maximo Tabla 3.9 Ejemplo del uso de operadores lógicos Así, la solución al problema de validar un retiro considerando el monto máximo y el saldo del cliente es: Ejemplo 3.4 Retiro de una cuenta bancaria verificando monto máximo permitido Pseudocódigo 1 Proceso validar_retiro_max 2 Definir saldo, retiro, retiro_maximo Como Real; 3 saldo 10000; // El saldo inicial del cliente es de $10,000.00 4 retiro_maximo 5000; // El retiro máximo es de $5,000.00 5 Escribir 'Transacción de retiro'; 6 Escribir 'Monto a retirar:'; 7 Leer retiro; 8 Si retiro <= saldo Y retiro <= retiro_maximo Entonces 9 Escribir 'Retiro autorizado.'; 10 SiNo 11 Escribir 'Retiro denegado.'; 12 FinSi FinProceso 119 Unidad 3 Metodología de solución de problemas computables Diagrama de flujo 120 Unidad 3 Metodología de solución de problemas computables Ejercicio 3.10 Elabora el pseudocódigo y diagrama de flujo de las siguientes transacciones bancarias: a) Validar el NIP del usuario. Considere que el NIP correcto es 1234. b) Validar el acceso a una cuenta. Verifique el número de cuenta y NIP del usuario. Considere que el número de cuenta y NIP correctos son 876543 y 8833 respectivamente. c) Validar el acceso a una cuenta mancomunada. Verifique el número de cuenta y NIP del usuario. Considere que el número de cuenta correcto es 976543 y los NIP de los usuarios son 1234 y 4321. Una vez que has comprendido cómo un sistema de cómputo puede tomar decisiones, es tiempo de analizar un nuevo caso. El cliente del cajero automático generalmente hace varias transacciones en una sola sesión. Por ejemplo, puede consultar su saldo, retirar efectivo y realizar varias transferencias a otras cuentas. Para solucionar este caso, debemos conocer la estructura de iteración. Estructuras de iteración Las estructuras de iteración también se conocen como estructuras de ciclo o repetición. Como su nombre lo indica, permiten repetir un bloque de instrucciones tantas veces sea necesario. Existen tres estructuras de este tipo: mientras (while), repetir (repeat) y para (for). Aunque todas repiten código, cada una tiene sus características particulares las cuales debes conocer para elegir la más apropiada de acuerdo al problema a resolver. Por lo anterior, aprenderás cómo se escribe el pseudocódigo y diagrama de flujo de cada una de ellas y cómo funcionan a partir de algunos ejemplos. 121 Unidad 3 Metodología de solución de problemas computables Estructura de iteración Repetir (Repeat) Pseudocódigo Inicio Repetir Bloque de instrucciones Hasta Que expresión_lógica Fin Diagrama de flujo Figura 3.8 Diagrama de flujo de la estructura de control de iteración repetir Descripción El bloque de instrucciones se repite hasta que la expresión_lógica sea verdadera. El bloque de instrucciones es ejecutado al menos una vez en el programa. Funcionamiento Paso 1 Se ejecuta el bloque de instrucciones. Paso 2 Se evalúa la expresión lógica. Si es verdadera, el ciclo termina. Si es falsa, regresa al paso 1. 122 Unidad 3 Metodología de solución de problemas computables Estructura de iteración Mientras (While) Pseudocódigo Inicio Mientras expresión_lógica Bloque de instrucciones FinMientras Fin Diagrama de flujo Figura 3.9 Diagrama de flujo de la estructura de control de iteración mientras Descripción Se ejecuta el bloque de instrucciones mientras la expresión_lógica sea verdadera. Cuando la expresión_lógica es falsa, se termina el ciclo. Puede ocurrir que el bloque de instrucciones no se ejecute nunca en el programa. Funcionamiento Paso 1 Se evalúa la expresión lógica. Si es verdadera, se ejecuta el paso 2. Si es falsa, termina el ciclo. Paso 2 Se ejecuta el bloque de instrucciones. Paso 3 Se regresa al paso 1. 123 Unidad 3 Metodología de solución de problemas computables Estructura de iteración Para (For)4 Pseudocódigo Inicio Para variable_numerica = v_inicial Hasta variable_numerica = v_final Con incremento Hacer Bloque de instrucciones FinPara Fin Diagrama de flujo Figura 3.10 Diagrama de flujo de la estructura de control de iteración para (for) Descripción Se ejecuta un bloque de instrucciones n número de veces. Antes de iniciarse el ciclo, se conoce el valor de n. Funcionamiento Paso 1 Se inicializa la variable_numerica con el valor_inicial. Paso 2 Se compara si el valor de la variable_numerica es menor o igual que el valor_final. Si es verdadero, se ejecuta el paso 3. Si es falso, se termina el ciclo. Paso 3 Se ejecuta el bloque de instrucciones. Paso 4 La computadora suma automáticamente el valor de incremento a la variable_numerica (el incremento puede ser positivo o negativo). 4 Existen diversas formas de representar la estructura “para” (for) en un diagrama de flujo. En este caso, se muestra la forma de representación de la herramienta PseInt. 124 Unidad 3 Metodología de solución de problemas computables Paso 5 Se regresa al paso 2. Vamos a resolver un problema mediante la estructura de control repetir. Requerimos un programa que indique el total de transacciones realizadas por un usuario. En este caso, el usuario debe realizar al menos una transacción. Ejemplo 3.5 Realizar múltiples transacciones bancarias en una sola sesión Pseudocódigo (solución con el uso de la estructura repetir) Proceso multiples_transacciones 1 Definir transacciones Como Caracter; 2 Definir num_transaccion Como Entero; 3 transacciones ’si’; 4 num_transaccion 0; 5 Repetir 6 num_transaccion num_transaccion + 1; 7 Escribir ‘Se realiza la transacción ‘, num_transaccion; 8 Escribir ‘¿Desea realizar otra transacción?’; 9 Leer transacciones; 10 Hasta Que transacciones == ’no’; 11 Escribir ‘Total de transacciones realizadas: ‘, num_transaccion; FinProceso 125 Unidad 3 Metodología de solución de problemas computables Diagrama de flujo (solución con el uso de la estructura repetir) Figura 3.11 Realizar múltiples transacciones bancarias en una sola sesión con estructura repetir (Pseint) 126 Unidad 3 Metodología de solución de problemas computables Observa en el diagrama de flujo de la Figura 3.11 que el bloque de instrucciones contenido dentro del ciclo repetir se ejecuta al menos una vez. Resolveremos el mismo problema, pero ahora consideremos el caso del usuario que no desea realizar ninguna transacción bancaria. Para ello, utilizaremos la estructura de control Mientras: Pseudocódigo (solución con el uso de la estructura mientras) Proceso multiples_transacciones 1 Definir transacciones Como Caracter; 2 Definir num_transaccion Como Entero; 3 transacciones 'si'; 4 Escribir '¿Desea realizar una transacción?'; 5 Leer transacciones; 6 num_transaccion 0; 7 Mientras transacciones == ’si’ Hacer 8 num_transaccion num_transaccion + 1; 9 Escribir 'Se realiza la transacción ', num_transaccion; 10 Escribir '¿Desea realizar otra transacción?'; 11 Leer transacciones; 12 FinMientras 13 Escribir 'Total de transacciones realizadas:', num_transaccion; FinProceso Revisa el diagrama de flujo de la Figura 3.12 y observa que, a diferencia del diagrama de la Figura 3.11, la condición se evalúa antes de realizar el bloque de instrucciones, lo que origina la posibilidad de que este bloque no se ejecute ni una sola vez, lo que permite considerar el caso de los usuarios que no desean realizar ninguna transacción bancaria. 127 Unidad 3 Metodología de solución de problemas computables Diagrama de flujo (solución con el uso de la estructura mientras) Figura 3.12 Realizar múltiples transacciones bancarias en una sola sesión con estructura while (PseInt) 128 Unidad 3 Metodología de solución de problemas computables Ahora supongamos que el usuario desea realizar un determinado número de pago de servicios. El cajero automático le preguntará inicialmente cuántos pagos realizará, y después, le pedirá el monto de cada uno de los pagos. Cuando se conoce de antemano el número de veces que se realizará un ciclo, se recomienda utilizar la estructura de control para (for). Veamos cómo se resuelve el problema anterior: Ejemplo 3.6 Pago de servicios Pseudocódigo Proceso pago_servicios 1 Definir numero_pagos, contador Como Entero; 2 Definir monto_pago, total_pagos Como Real; 3 total_pagos 0; 4 monto_pago 0; 5 Escribir 'Número de pagos a realizar: '; 6 Leer numero_pagos; 7 Para contador 1 Hasta numero_pagos con paso 1 Hacer 8 Escribir 'Monto a pagar del pago ', contador, ': '; 9 Leer monto_pago; 10 total_pagos total_pagos + monto_pago; 11 FinPara 12 Escribir 'Total de pagos: ', total_pagos; FinProceso La estructura Para (for) funciona de la siguiente forma: Paso 1 Se inicializa el contador en 1 Paso 2 Se compara el contador con el valor final (contador <= numero_pagos). Si esta expresión lógica es verdadera, se realiza el paso 3. Si es falsa, se termina el ciclo. Paso 3 Se solicita el monto a pagar y se acumula el monto en total_pagos Paso 4 Se actualiza el contador (contador = contador + 1) y se regresa al paso 2 129 Unidad 3 Metodología de solución de problemas computables Diagrama de flujo Figura 3.13 Pago de servicios (PseInt) Es importante señalar que cuando no se especifica el incremento, se asume que el incremento será de 1 y también pueden existir decrementos, cuando el valor que se especifica en el elemento ‘con Paso’ de la estructura Para es negativo. Finalmente, vamos a hacer la prueba de escritorio del diagrama de flujo anterior, para que te quede más clara la estructura Para (for): 130 Unidad 3 Metodología de solución de problemas computables Instrucción/Variable contador Evaluación expresión lógica total_ pagos monto _pago numero _pagos total_pagos 0; 0 monto_pago 0; 0 0 Leer numero_pagos; 0 0 3 0 0 3 Leer monto_pago; 0 100 3 total_pagos total_pagos + monto_pago; 100 100 3 Leer monto_pago; 100 500 3 total_pagos total_pagos + monto_pago; 600 500 3 Para contador 1 Hasta numero_pagos Con paso 1 Hacer (se inicializa la variable contador en 1) 1 Para contador 1 Hasta numero_pagos Con paso 1 Hacer (se evalúa la expresión lógica contador <= numero_pagos, al ser verdadera, se ejecuta el ciclo) Para contador 1 Hasta numero_pagos Con paso 1 Hacer (se incrementa el contador en 1) Para contador 1 Hasta numero_pagos Con paso 1 Hacer (se evalúa la expresión lógica contador <= numero_pagos, al ser verdadera, se ejecuta el ciclo) 1<=3 (V) 2 2<=3 (V) 131 Unidad 3 Metodología de solución de problemas computables Instrucción/Variable contador Para contador 1 Hasta numero_pagos Con paso 1 Hacer (se incrementa el contador en 1) 3 total_ pagos monto _pago numero _pagos Leer monto_pago; 600 400 3 total_pagos total_pagos + monto_pago; 1000 400 3 Para contador 1 Hasta numero_pagos Con paso 1 Hacer (se evalúa la expresión lógica contador <= numero_pagos, al ser verdadera, se ejecuta el ciclo) Para contador 1 Hasta numero_pagos Con paso 1 Hacer (se incrementa el contador en 1) Evaluación expresión lógica 3<=3 (V) 4 Para contador 1 Hasta numero_pagos Con paso 1 Hacer (se evalúa la expresión lógica contador <= numero_pagos, al ser falsa, se termina el ciclo) 4<=3 (F) Pantalla del usuario 132 Escribir 'Número de pagos a realizar: '; Número de pagos a realizar: 3 Escribir 'Monto a pagar del pago ', contador, ': '; Monto a pagar del pago 1: 100 Escribir 'Monto a pagar del pago ', contador, ': '; Monto a pagar del pago 2: 500 Escribir 'Monto a pagar del pago ', contador, ': '; Monto a pagar del pago 3: 400 Escribir 'Total de pagos: ', total_pagos; Total de pagos: 1000 Unidad 3 Metodología de solución de problemas computables Ejercicio 3.11 Otra de las acciones que realiza un cajero automático es entregar el efectivo que el usuario retira. Escribe el pseudocódigo y elabora el diagrama de flujo para simular esta entrega con las siguientes consideraciones: ● ● ● La cantidad a retirar debe ser múltiplo de 50. El cajero automático debe entregar el menor número de billetes posible. Las denominaciones de los billetes disponibles son: $500.00, $200.00, $100.00 y $50.00. ● El cliente puede hacer más de un retiro. 133 Unidad 3 Metodología de solución de problemas computables Ejercicio 3.12 Identifica cuáles estructuras de control utilizaste para resolver el ejercicio 3.11 e indica qué acción realiza cada una de ellas. Estructura de control Sirve para En conclusión, habrás observado que son múltiples las estructuras de control que se necesitan para resolver el ejercicio 3.11. También habrás notado que una estructura de control puede estar contenida dentro de otra. Ahora que ya conoces las estructuras de control, es importante que las practiques realizando diversos ejercicios, recuerda que mientras más practiques, lograrás mayor destreza. Reflexión Aprender a programar requiere de constancia y mucha práctica. A lo largo de tus estudios y vida diaria, probablemente te enfrentarás a problemas que serán más fáciles de resolver a través de la programación utilizando diferentes aplicaciones. Aunque las instrucciones varían de una aplicación a otra, los principios básicos que has aprendido te servirán para diseñar tus soluciones de forma eficiente. Ahora, te invito a reflexionar sobre la programación de computadoras. Responde las siguientes preguntas y comparte con tus compañeros tus respuestas. 134 ¿En qué beneficia al programador hacer un buen diseño de la solución del problema? ¿Por qué es importante definir el menor número de variables en un programa? Para el diseño de la solución de un problema, ¿qué es mejor utilizar: el pseudocódigo o el diagrama de flujo? Unidad 3 Metodología de solución de problemas computables ¿Qué tipo de documentación facilitaría a una persona ajena a la solución del problema entenderla correctamente y modificarla? Tu profesor te solicita el diseño de un algoritmo y decides buscar la solución en un sitio de internet. ¿Esta acción es ética, por qué? ¿Qué habilidades te permite desarrollar aprender a programar? Contenidos conceptuales Contenidos procedimentales 3.4 Paradigmas y lenguajes de programación: estructurados, orientados a objetos, etc. 3.9 Elección del paradigma y del lenguaje apropiado para codificar, incluyendo la comprensión de su sintaxis y aplicando su conocimiento del inglés. Contenidos actitudinales Imagen 3.4 Lenguajes Programación (Universia 2016) 3.11 Desarrollo de actitudes requeridas para la programación: concentración, paciencia, tolerancia a la frustración, creatividad, perseverancia, disciplina, etc. 3.4. Paradigmas y lenguajes de programación: estructurados, orientados a objetos, etc. Un paradigma es un ejemplo o un modelo a seguir, ya sea de conducta, de ideas, de personas, de trabajo, de vivir etc. Por ejemplo, en un principio el teléfono era una herramienta exclusiva para entablar una comunicación a distancia entre personas, ahora con los avances tecnológicos el teléfono adquiere un nuevo paradigma, en el cual nos permite grabar videos, escuchar música, tomar fotografías, utilizar redes sociales, entre otras actividades. En programación existen paradigmas que nos indican las herramientas y métodos a utilizar para crear un programa que resuelva un problema. El concepto de paradigma de programación fue aplicado por Floyd y Richard Beigel en 1994 como un conjunto de métodos sistemáticos aplicables en todos los niveles de diseño de programas (Rodríguez, J., 2003). Los paradigmas se basan en modelos de cómputo, los principales son: Imperativo. Conjunto de instrucciones que se ejecutan una tras otra e indican cómo realizar una tarea (cómo se debe de calcular). Ejemplo: 135 Unidad 3 Metodología de solución de problemas computables Programación imperativa Leer x Leer y resultado =x+y Escribir resultado En el paradigma imperativo se encuentran la: Programación estructurada. La programación se divide en bloques (procedimientos y funciones) y la programación se controla con secuencias, selección e iteración. Dentro de los lenguajes de este tipo se encuentran: Pascal, Cobol, C, ADA, Modula-2. Programación orientada a objetos. Se basa en la idea de un objeto, que es una combinación de variables locales y procedimientos llamados métodos, que juntos conforman una entidad de programación (objeto), la programación se resuelve comunicando dichos objetos a través de mensajes. Entre los lenguajes orientados a objetos tenemos: C++, Java, Smaltalk, Phyton, Visual Basic.Net. Programación orientada a eventos. La estructura y programación del programa va determinado por los sucesos que ocurran ya sean definidos por el programa o por el usuario. Ejemplos de lenguajes tenemos: Visual Java, JavaScript, Visual C++, Visual Basic. Declarativo. Se indican un conjunto de condiciones, proposiciones, afirmaciones, restricciones, ecuaciones o transformaciones que describen el problema y detallan su solución (qué se debe de calcular). Programación declarativa predecesor (x)=x-1, si x>0 sucesor (x)=x+1 suma(x,0)=0 suma (x,y)=sucesor(suma(x,predecesor(y))) ?suma(3,2) Programación funcional. Concibe las instrucciones como funciones matemáticas y composición entre ellas más simples. Ejemplo de lenguajes: Hasel, Miranda, Scheme, Lisp. 136 Unidad 3 Metodología de solución de problemas computables Programación funcional (let ((a 1) (b 2) (c 1) (d 1)) (cond ((eql a b) 1) ((eql a c) "Primera expresion" 2) ((eql a d) 3))) Programación lógica. Se programa a través de inferencias lógicas, responde preguntas planteadas al sistema y así resuelve los problemas. Ejemplo de lenguajes: Prolog. Programación lógica /* sumatorio(Num,Sum) <- Sum es el sumatorio desde 1 hasta Num */ sumatorio(1,1) :- !. sumatorio(N,S) :- N1 is N-1, sumatorio(N1,S1), S is N+S1. Ejercicio 3.13 Llena la siguiente tabla escribiendo para cada lenguaje de programación su paradigma y el tipo de programación al que pertenece: Lenguaje Paradigma Tipo de programación Prolog Pascal Lenguaje C Lisp Phyton Java Visual Basic.NET 137 Unidad 3 Metodología de solución de problemas computables Lenguajes de programación Si reconocemos que una computadora es una máquina que maneja un lenguaje de comunicación basada en pulsos eléctricos y magnéticos, surgen las siguientes interrogantes: ¿los seres humanos y las computadoras hablan el mismo lenguaje? Si no es así, entonces ¿cómo se le dan instrucciones a una computadora? o ¿cómo se le puede dar indicaciones a la computadora para que realice ciertas tareas o programas? Los lenguajes de programación son lenguajes formales que se componen de: un conjunto de reglas (sintácticas y semánticas) y notaciones, símbolos, caracteres y palabras claves. Los componentes de los lenguajes de programación se utilizan para construir instrucciones que permiten a un programador poder expresar el procesamiento de datos y sus estructuras en una computadora. Existen diferentes tipos de lenguajes de acuerdo al grado de abstracción de sus instrucciones: Lenguaje máquina. Un programa en lenguaje máquina, está formado por una secuencia finita de unos y ceros. Como es el lenguaje que utiliza la computadora de forma directa, es difícil de entender y escribir. Ejemplo: Lenguaje máquina 10110101 1011101100101010101 Lenguajes simbólicos. Este tipo de lenguajes utiliza símbolos para escribir las instrucciones, por lo que es fácil de entender y corregir. Un ejemplo de este tipo es lenguaje es el Ensamblador. Lenguaje simbólico Ensamblador MOV 7, SP ADD X Lenguajes de alto nivel. Son lenguajes más naturales y sus instrucciones son más fáciles de escribir y entender, su nivel de abstracción es alto. Ejemplos de este tipo de lenguajes son: Pascal, C y Java. 138 Unidad 3 Metodología de solución de problemas computables Lenguaje alto nivel. Lenguaje C #include <conio.h> int main(void) { printf(“Hola alumno”); return 0; } Evolución de los lenguajes de programación La Tabla 3.10 muestra la evolución que han tenido los lenguajes de programación a través del tiempo: Generación Primera Tercera Cuarta Características Dependientes Aplicaciones del equipo. científicas y matemáticas. Uso de procedimientos y estructuras de datos. Entornos de desarrollo orientados a tratamiento de datos. Lenguajes Propósito general: Pascal, C, ADA PowerBuilder Lenguaje máquina Segunda Fortran Cobol Lenguaje ensamblador Algol Basic Xbase++ SheerPower4 Orientados a Objetos: Smaltalk, C++, Java, Eiffel. GL Especializados como: Lisp, Prolog, Apl Tabla 3.10 Evolución de los lenguajes de programación Lenguajes de programación en web Existen lenguajes para programar aplicaciones en la red que han surgido por la necesidad de desarrollar aplicaciones que corran en la web, se clasifican en: 139 Unidad 3 Metodología de solución de problemas computables Lenguajes del lado del cliente. Son ejecutados por el navegador y no requieren de ningún tratamiento especial. Ejemplos: JavaScript y VBScript. Lenguajes del lado del servidor. Lenguajes que son ejecutados desde el servidor y son enviados al cliente (usuario) y visibles en el navegador. Ejemplos: PHP. Ejercicio 3.14 Realiza una breve investigación acerca de los principales lenguajes que se utilizan. Llena la siguiente tabla con la información que se solicita para cada lenguaje de programación. Lenguaje Principales usos Programas desarrollados con el lenguaje JavaScrip Java Lenguaje C PHP Phyton Swift Visual Basic.NET C++ Reflexión De acuerdo con tu experiencia: 140 ¿Cuál consideras será la tendencia de lenguajes de programación para las aplicaciones futuras? ¿Nacerán nuevos paradigmas? Unidad 3 Metodología de solución de problemas computables Contenidos conceptuales Contenidos procedimentales 3.5 Codificación: traducción del lenguaje natural a un lenguaje de programación. 3.9 Elección del paradigma y del lenguaje apropiado para codificar, incluyendo la comprensión de su sintaxis y aplicando su conocimiento del inglés. 3.10 Programación y comprobación de la solución del problema computable. Contenidos actitudinales Imagen 3.5 Abstracto (Pxhere, 2018) 3.11 Desarrollo de actitudes requeridas para la programación: concentración, paciencia, tolerancia a la frustración, creatividad, perseverancia, disciplina, etc. 3.5. Codificación: traducción del lenguaje natural a un lenguaje de programación En esta fase de la metodología de solución de problemas computables es donde se traduce el algoritmo a un lenguaje de programación para que la computadora pueda ejecutarlo. El producto final de esta etapa es un programa de computadora. Un programa es un conjunto de instrucciones codificadas en un lenguaje de programación que le indican a la computadora cómo realizar una tarea. Las computadoras y los humanos nos comunicamos de forma distinta, entonces, para realizar un programa la comunicación no es directa con el equipo de cómputo. En un primer momento, usamos los lenguajes de programación para codificar las instrucciones en un lenguaje entendible y fácil de usar para el ser humano, y en un segundo momento, hacemos uso de un compilador o un intérprete para traducir estas instrucciones en binario. Tanto los compiladores como los intérpretes son los programas que permiten traducir un programa escrito en un cierto lenguaje de programación (código fuente) a un programa codificado en unos y ceros (código objeto) para que sea ejecutado por la computadora. 141 Unidad 3 Metodología de solución de problemas computables Ejercicio 3.15 Investiga ¿qué un compilador y qué es un intérprete? Escribe tu respuesta y observa las diferencias de funcionamiento que existen entre ellos. Compilador Intérprete El uso de un compilador o un intérprete depende del lenguaje de programación que se utilice para resolver un problema, es decir, hay lenguajes de programación que generan programas que son compilados y otros que son interpretados. El Lenguaje C se utiliza como referencia para codificar los ejemplos del presente cuaderno de trabajo, debido a que varios lenguajes actuales están basados en él. Fue creado en 1972 por Dennis Ritchie. Es considerado un lenguaje de nivel medio, lo que implica que no es necesario el conocimiento directo de la computadora para poder programar, contrario a esto, se realiza una abstracción que hace más fácil esta actividad. Para facilitar la programación, la mayor parte de los lenguajes de programación como el Lenguaje C, ya tienen instrucciones básicas y estructuras de control. Ejercicio 3.16 Busca las características de programación del Lenguaje C que lo han hecho tan funcional y utilizado a lo largo del tiempo: 142 Unidad 3 Metodología de solución de problemas computables Estructura general de un programa en C La Tabla 3.11 muestra la estructura general de un programa en lenguaje C: /* Información del programa */ #include <conio.h> #define Comentario Directivas del microprocesador (bibliotecas) Declaración de variables y constantes globales void funcion1(parámetros); Prototipo de funciones void funcion2(parámetros); main() { Función principal } void funcion1(parámetros) { instrucciones; } void funcion2(parámetros) { instrucciones; } Código de las funciones adicionales Tabla 3.11 Estructura general de un programa en el lenguaje de programación C El lenguaje de programación C es sensible al uso de mayúsculas y minúsculas, por lo que al escribir las palabras reservadas5 propias del lenguaje deberá tenerse precaución en su empleo. A continuación, se muestra la codificación del ejemplo 3.2 Cálculo del saldo después de un retiro en un cajero automático revisado en el tema 3.3: 5 Palabra reservada es una palabra que tiene un significado gramatical especial para el lenguaje de programación. 143 Unidad 3 Metodología de solución de problemas computables Pseudocódigo Programa en lenguaje C Proceso realizar_retiro 1 Definir retiro, saldo Como Real; 2 saldo 1000; 3 Escribir “Monto a retirar: ”; 4 Leer retiro; 5 saldo saldo - retiro; 6 Escribir “Saldo: ”, saldo; FinProceso /* Calcular saldo después de un retiro*/ #include <conio.h> #include<stdio.h> int main () { float saldo; float retiro; saldo=1000; printf(“Monto a retirar:”); scanf(“%f”, &retiro); saldo=saldo-retiro; printf(“Saldo=%f”,saldo); getch(); return 0; } En el ejemplo anterior, la primera línea es un comentario que describe la función del programa. Las directivas #include <conio.h> y #include <stdio.h> son las instrucciones que declaran las bibliotecas que contiene la información de las funciones que se utilizan en el programa, tal como printf y scanf, que nos permiten realizar una escritura y una lectura de datos de una forma muy sencilla. La función principal main() es obligatoria e indica el comienzo del programa con una llave que abre { y encierra las instrucciones que están dentro del módulo, mientras que la llave que cierra } se ocupa para señalar hasta dónde acaba el ámbito del procedimiento main. int main() { --- instrucciones --} Para declarar las variables saldo y retiro y el tipo de dato que cada una de ellas almacenará, que en este caso serán números reales, se utilizan las instrucciones: float saldo; float retiro; 144 Unidad 3 Metodología de solución de problemas computables La estructura general para declarar una variable en Lenguaje C es: <tipo> <variables>; Ejercicio 3.17 Realiza una investigación y llena el siguiente cuadro con los tipos de datos simples que contempla el Lenguaje C, así como sus palabras reservadas, número de bytes asignados, número de bits y el rango de valores correspondiente: Tipo de dato Palabra reservada Número de bytes Entero int 2 Número de bits 16 Rango de valores -32768 a 32767 Real Carácter long double Volvamos al análisis de nuestro ejemplo: saldo=1000; En esta línea se utiliza el símbolo “=“ para asignar el valor 1000 a la variable saldo. En este caso, se pone “;” al final de la línea para indicar el fin de la instrucción. Observa en el ejemplo que también hay algunas instrucciones no llevan “;” al final, lo cual también es correcto. printf(“Monto a retirar:”); 145 Unidad 3 Metodología de solución de problemas computables La sentencia printf() es la función que se utiliza para escribir información, el mensaje se escribe entre comillas “ ”, lo que se visualiza en la pantalla será: Monto a retirar. scanf(“%f”, &retiro); Con la función scanf() leemos un valor desde el teclado, “%f” indica que leeremos un dato de tipo float y se antepone el caracter & al nombre de la variable donde se almacenará el valor. Utilizaremos “%d” para variables enteras y “%c” para variables de tipo caracter. saldo=saldo-retiro; Es una expresión de asignación, cuyo resultado es la operación saldo-retiro y éste se asigna a la variable saldo. printf(“Saldo=%f”,saldo); La función printf() es utilizada para escribir el mensaje “Saldo=”, y el código %f indica el lugar exacto y el tipo de dato a escribir, en ese lugar se imprimirá el valor de la variable saldo con el tipo de dato (float) especificado. Por ejemplo, si el saldo es 30.00 el mensaje que se imprime será: Saldo=30. Existen otros formatos como %d para datos tipo entero, %s para cadena de caracteres etc. return 0; La instrucción return; termina la ejecución del programa y devuelve el control al sistema operativo de la computadora, el número 0 indica al sistema que el programa se ejecutó exitosamente. 146 Unidad 3 Metodología de solución de problemas computables Ejercicio 3.18 Descarga el entorno de desarrollo DEV C, instálalo en tu equipo, captura, compila y ejecuta el código del ejemplo 3.2 Cálculo del saldo después de un retiro en un cajero automático y comprueba el código de la solución del problema. Codificación de las expresiones aritméticas en C Como se revisó en el tema 3.2, existen diferentes operadores matemáticos que permiten la construcción de expresiones en computación. En la Tabla 3.12 se describe cómo se codifican estos operadores en Lenguaje C: Operador aritmético Programación en C Suma + Resta - Potencia pow(x,y) En donde x es la base, y es la potencia. Para hacer uso de esta función se deberá agregar la biblioteca < math.h> Multiplicación * División / Residuo de la división % entera Tabla 3.12 Operadores aritméticos en lenguaje C 147 Unidad 3 Metodología de solución de problemas computables Codificación de la estructura selectiva en C La estructura de decisión o comparación se codifica en lenguaje C como se muestra a continuación: Pseudocódigo Programa en lenguaje C Inicio Si expresión_lógica Entonces Bloque de instrucciones Fin if (expresión_lógica) { -- bloque de instrucciones -} Inicio Si expresión_lógica Entonces Bloque de instrucciones 1 SiNo Bloque de instrucciones 2 FinSi Fin if (expresión_lógica) { -- bloque de instrucciones 1 -} else { -- bloque de instrucciones 2-} Para hacer uso de esta estructura se necesita conocer la codificación en C de los operadores relacionales y lógicos para generar las expresiones lógicas necesarias. Codificación de operadores relacionales en C Operador relacional Programación en C mayor que > menor que < mayor o igual que >= menor o igual que <= igual a == diferente a != Tabla 3.13 Operadores relacionales en lenguaje C 148 Unidad 3 Metodología de solución de problemas computables Codificación de operadores lógicos en C Operador lógico Programación en C AND && OR || NOT ! Tabla 3.14 Operadores lógicos en lenguaje C A continuación, se presenta la codificación del ejemplo 3.3 Retiro de una cuenta bancaria verificando el saldo del cliente, donde hacemos uso de la estructura selectiva y de operadores relacionales: Pseudocódigo Proceso validar_retiro 1 Definir saldo, retiro Como Real; 2 saldo 1000; 3 Escribir 'Transacción de retiro'; 4 Escribir 'Monto a retirar: '; 5 Leer retiro; 6 Si retiro <= saldo Entonces 7 Escribir 'Retiro exitoso. Recoja su dinero'; 8 SiNo 9 Escribir 'El saldo de su cuenta es insuficiente'; 10 FinSi FinProceso Programa en lenguaje C /*Retiro de una cuenta bancaria verificando el saldo del cliente*/ #include <stdio.h> #include <conio.h> int main() { float saldo,retiro; saldo=1000; printf("Transacci%cn de retiro\n", 162); printf("Monto a retirar:"); scanf("%f",&retiro); if (retiro<=saldo) { printf("Retiro exitoso. "); } else { printf("El Saldo es insuficiente"); } getch(); return 0; } 149 Unidad 3 Metodología de solución de problemas computables Ejercicio 3.19 Captura, compila y ejecuta el código del ejemplo 3.3 Retiro de una cuenta bancaria verificando el saldo del cliente y comprueba el código de la solución del problema. Ahora vamos a revisar la codificación del ejemplo 3.4 Retiro de una cuenta bancario verificando monto máximo permitido, donde se hace uso de la estructura selectiva y del uso de operadores lógicos: Pseudocódigo Programa en lenguaje C 1 2 /* Retiro de una cuenta bancaria verificando monto máximo permitido*/ #include <stdio.h> #include <conio.h> int main() { float saldo,retiro, retiro_maximo; saldo=10000; //El saldo es de 10 000 retiro_maximo=5000; printf("Transacci%cn de retiro\n",162); printf("Monto a retirar:"); scanf("%f",&retiro); if (retiro<=saldo && retiro<=retiro_maximo) { printf("Retiro autorizado"); } else { printf("Retiro denegado"); } getch(); return 0; } Proceso validar_retiro_max Definir saldo, retiro, retiro_maximo Como Real; 3 saldo 10000; 4 retiro_maximo 5000; 5 Escribir 'Transacción de retiro'; 6 Escribir 'Monto a retirar:'; 7 Leer retiro; 8 Si retiro <= saldo Y retiro <= retiro_maximo Entonces 9 Escribir 'Retiro autorizado.'; 10 SiNo 11 Escribir 'Retiro denegado.'; 12 FinSi FinProceso Ejercicio 3.20 Captura, compila y ejecuta el código del ejemplo 3.4 Retiro de una cuenta bancaria verificando monto máximo permitido y comprueba el código de la solución del problema. 150 Unidad 3 Metodología de solución de problemas computables Codificación de estructuras de iteración en C Las estructuras que permiten repetir un bloque de instrucciones se codifican en lenguaje C como se muestra a continuación: Pseudocódigo Estructura Hacer - Mientras6 Hacer Programación en lenguaje C do Bloque de instrucciones Mientras expresión_lógica Pseudocódigo Estructura Mientras (While) Mientras expresión_lógica Bloque de instrucciones FinMientras Pseudocódigo Estructura Para Para variable_numerica = v_inicial Hasta variable_numerica = v_final Con incremento Hacer Bloque de instrucciones FinPara { --- Bloque de instrucciones --} while (expresión_lógica); Programación en lenguaje C while (expresión_lógica) { --- Bloque de instrucciones -} Programación en C for (vn=vi; expresión lógica; incr) { --- Bloque de instrucciones --} Esta estructura repite un bloque de instrucciones mientras la expresión lógica es verdadera. 6 La estructura Repetir-Hasta no existe en el Lenguaje C, sin embargo, puede utilizarse la estructura Hacer-Mientras. 151 Unidad 3 Metodología de solución de problemas computables Veamos cómo se utilizarían las estructuras iterativas codificando el ejemplo 3.5 Realizar múltiples transacciones bancarias en una sola sesión utilizando la estructura de control do-while: Codificación del ejemplo 3.5 Realizar múltiples transacciones bancarias en una sola sesión utilizando la estructura de control do-while: /*Realizar múltiples transacciones bancarias en una sola sesión con do-while*/ #include <stdio.h> #include <conio.h> int main() { char transacciones; int num_transaccion; transacciones = ‘s’; num_transaccion = 0; do { num_transaccion=num_transaccion+1; printf(“\nSe realiza la transacci%cn:%d \n”,162,num_transaccion); printf(“\n%cDesea realizar otra transacci%cn (s/n)? ”, 168 ,162); transacciones=getche(); } while (transacciones!=’n’); printf(“\nTotal de transacciones realizadas:%d”,num_transaccion); getch(); return 0; } Resolveremos el mismo problema, pero ahora consideremos el caso del usuario que no desea realizar ninguna transacción bancaria. Para ello, utilizaremos la estructura de control Mientras: 152 Unidad 3 Metodología de solución de problemas computables Codificación del ejemplo 3.5 Realizar múltiples transacciones bancarias en una sola sesión utilizando la estructura de control while: /*Realizar múltiples transacciones bancarias en una sola sesión con while*/ #include <stdio.h> #include <conio.h> int main() { char transacciones; int num_transaccion; transacciones = 's'; num_transaccion = 0; printf("\n%cDesea realizar otra transacci%cn? (s/n):", 168,162); transacciones=getche(); while (transacciones=='s') { num_transaccion=num_transaccion+1; printf("\nSe realiza la transacci%cn:%d \n",162,num_transaccion); printf("\n%cDesea realizar otra transacci%cn? (s/n):", 168,162); transacciones=getche(); } printf("\nTotal de transacciones realizadas:%d",num_transaccion); getch(); return 0; } Ejercicio 3.21 Captura, compila y ejecuta los códigos de los ejemplos: Realizar múltiples transacciones bancarias en una sola sesión y comprueba la solución del problema. Para observar un ejemplo del uso de la estructura de iteración “para” en Lenguaje C, realizaremos la codificación del ejemplo 3.6 Pago de servicios, revisado en el tema 3.3. 153 Unidad 3 Metodología de solución de problemas computables Codificación del ejemplo 3.6 Pago de servicios #include<stdio.h> int main() { int contador; float monto_pago; int numero_pagos; float total_pagos; total_pagos = 0; monto_pago = 0; printf("Número de pagos a realizar: \n"); scanf("%i",&numero_pagos); for (contador=1;contador<=numero_pagos;contador+=1) { printf("Monto a pagar del pago %i: \n",contador); scanf("%f",&monto_pago); total_pagos = total_pagos+monto_pago; } printf("Total de pagos: %f\n",total_pagos); return 0; } Ejercicio 3.22 Captura, compila y ejecuta el código del ejemplo 3.6 y comprueba el código de la solución del problema. Ejercicio 3.23 Codifica en lenguaje C la solución al ejercicio 3.11, captúralo, compílalo y comprueba que soluciona el problema. Reflexión Responde las siguientes preguntas: ¿Qué habilidades consideras son importantes no sólo para programar, sino en tu desempeño académico y profesional? 154 Unidad 3 Metodología de solución de problemas computables Decides saltarte algunos pasos de la Metodología de solución de problemas que aprendiste, e irte directamente a la codificación del programa. ¿Es correcto seguir esta estrategia, por qué? Contenidos conceptuales Contenidos actitudinales 3.6 Prospectiva: límites, alcances y riesgos de la programación 3.11 Desarrollo de actitudes requeridas para la programación: concentración, paciencia, tolerancia a la frustración, creatividad, perseverancia, disciplina, etc. Imagen 3.6 Futuro. (Computrabajo, 2018) 3.6. Prospectiva: límites, alcances y riesgos de la programación Límites de la programación Los límites están dados por la creatividad del programador y del usuario que lo solicita, se pueden observar en la actualidad varios tipos de software que van desde aplicaciones para cocinar, que nos indican el clima, la duración del sueño, hasta programas muy complejos que realizan cálculos para conocer grandes distancias en el universo. Alcances de la programación En este aspecto, se puede señalar que son infinitos, lo vemos a toda hora y en cientos de artículos, por ejemplo, los automóviles cuya tecnología que utilizan es impresionante, los hay con piloto automático, con sensores que permiten un estacionado computarizado e incluso hay autos que pueden desactivar válvulas del motor para el ahorro de combustible. Otra área en la que los alcances son enormes es la milicia. Existe armamento para destruir todo un país con extrema exactitud. En las comunicaciones, se puede tener contacto en tiempo real con cualquier persona en cualquier parte del mundo. Riesgos de la programación Desde que se codifica un programa, hasta que se cuenta con un programa ejecutable y no se ha patentado, éste puede ser difundido con fines de lucro sin el 155 Unidad 3 Metodología de solución de problemas computables consentimiento de los autores, lo que nos lleva directamente a la violación de los derechos de autor y al plagio. En México, la Ley Federal de Derechos de Autor establece en su artículo 3º: “Las obras protegidas por esta ley son aquellas de creación original susceptibles de ser divulgadas o reproducidas en cualquier forma o medio”, reforzado por el artículo 5º que establece que la protección que ofrece esta ley se concede a obras que han sido fijadas en un soporte material (Diario Oficial de la Federación, 1996). El plagio, según la Real Academia Española se refiere al acto de "copiar en lo sustancial obras ajenas, dándolas como propias". Es decir, el plagio es utilizar el trabajo, las ideas, o las palabras de otra persona como si fueran propias, sin comprobar de manera clara de donde proviene la información. Una situación de plagio en la programación se da cuando en una aplicación creada por varios programadores, se cambia de nombre o de dueño por la acción negativa de alguno de sus miembros, este riesgo se minimiza si se cuenta con los códigos fuente. Otro riesgo es la piratería de programas informáticos (venta de software no original). Las pérdidas económicas son inmensas y el número de personas que los practican va en aumento. La razón principal de esta práctica desleal es el precio elevado del software original. Ética de la programación Se debe aprender a programar analizando a detalle que nuestras líneas de código no afecten de ninguna forma la integridad de una persona o empresa, esto es, dar prioridad a la ética en nuestros diseños. Cuando se está desarrollando o creando algún programa o aplicación se debe tener en cuenta: 156 La honestidad de una consulta, que consiste en ofrecer una solución real al problema que se plantea, sin exageraciones y cediendo el proyecto a otra persona más capacitada en caso de no contar con las habilidades para resolverlo. Ofrecer expectativas realistas evitando dar promesas difíciles de llevar a cabo y brindando opciones de solución para que las personas sepan qué esperar de tu trabajo. Además, se debe cumplir con lo que se promete en tiempo y forma. Usar códigos propios evitando los de otros programadores sin su consentimiento. Se puede utilizar código abierto, pero dando el crédito a sus creadores. Utilizar estándares de programación, esto es, aunque cada programador tenga su propio estilo de programación se recomienda adaptarse a los Unidad 3 Metodología de solución de problemas computables estándares de la programación para que, en caso de ser necesario, otra persona retome tu trabajo. Compartir conocimientos y habilidades abre caminos en el trabajo; además de que ayudas a que otros mejoren. Asumir nuestros errores cuando algo no salga como se esperaba, nos genera una responsabilidad que debe subsanarse ofreciendo soluciones. No hay que justificarse ni tampoco negar los errores, hay que aceptarlos y solucionarlos. Ejercicio 3.24 Realiza un cuadro comparativo acerca de las ventajas y desventajas de usar apps gratuitas. Apps Gratuitas Ventajas Desventajas Reflexión La acción copy-paste (copiar-pegar) es muy utilizada por los usuarios de computadoras. Los programadores han tratado de nulificar esta situación, evitando en primera instancia el uso del ratón, después han logrado en muchas páginas web, anular el comando Ctrl + C. Esto nos lleva a reflexionar: Cuando tu maestro te deja codificar un algoritmo y encuentras el código en la red, ¿utilizas copy-paste para entregar esta tarea? ¿Has pensado que estás violando los derechos del autor? ¿Crees que al hacer así las cosas, de verdad estás aprendiendo? 157 Unidad 3 Metodología de solución de problemas computables Autoevaluación Tema 3.1 Planteamiento Se le ha encargado a un programador que diseñe un programa o aplicación para poder pagar los servicios por consumo de agua. 1. ¿Cuál crees que sea el problema al que se enfrenta esta persona? a) Que tiene que pagar el agua. b) Que no tiene dinero para pagar. c) Que tiene que generar un código de programación. d) Que tiene que analizar cómo va a pagar su adeudo. Tema 3.2 Análisis Un programador está realizando el análisis de un problema que consiste en validar el acceso a un sistema de pago de servicios por consumo de agua. El proceso consiste en identificar el id_usuario y mostrar los siguientes datos: nombreCliente, edad, adeudo, moroso y telefono en la pantalla del usuario. 2. De todos los datos involucrados en el problema ¿Cuáles consideras son datos de entrada y cuáles son de salida? a) Entrada: Id_usuario. Salida: nombreCliente, edad, adeudo, moroso, telefono. b) Entrada: Id_usuario, nombreCliente. Salida: edad, adeudo, moroso, telefono. c) Entrada: nombreCliente. Salida: Id_usuario, edad, adeudo, moroso, teléfono. d) Entrada: nombreCliente, edad. Salida: Id_usuario, adeudo, moroso, telefono. 3. ¿Cuál es la forma de definir la variable telefono con su tipo de dato correcto? a) Definir telefono = numérico b) Definir telefono como numérico c) Definir telefono = caracter d) Definir telefono como caracter Tema 3.3 Diseño de la solución del problema Martín se encuentra muy preocupado por el incremento diario del 5% en el costo de la gasolina, razón por la cual te pide ayuda para conocer el costo que tendrá el combustible en una fecha determinada; para calcular el costo de la gasolina después de n días se puede utilizar la fórmula del interés compuesto. Para dicha tarea se tienen los siguientes datos: 158 Unidad 3 Metodología de solución de problemas computables Costo inicial = ci Número de días transcurridos = n Tasa estimada de incremento diario = t Costo estimado = ce 4. ¿Cuál es el algoritmo que calcula el costo estimado de la gasolina correctamente? a) Inicio Leer ci Leer n t = 0.05 ce=ci*(1+t)*n Escribir ce Fin b) Inicio Leer ci Leer n t= 0.5 ce=ci*t*n+1 Escribir ce Fin c) Inicio Leer ci Leer n t=0.05 ce=ci*(1+t)n Escribir ce Fin d) Inicio Leer ci Leer n t= 0.5 ce=ci*(1+t)n Escribir ce Fin 5. Dados los siguientes valores: ci=$17.00, n=3, t=5%, ¿cuál sería el costo estimado de la gasolina? a) $19.67 b) $20.37 c) $58.80 d) $53.55 159 Unidad 3 Metodología de solución de problemas computables 6. El símbolo del diagrama de flujo con la que Martín podrá representar el cálculo a realizar es: a) b) c) d) Una recomendación de seguridad para el uso de dispositivos móviles es tener una clave de acceso que evite el uso indebido de los mismos por otras personas. Algunos tienen reconocimiento facial, otros, reconocimiento de huella digital y los más sencillos utilizan una clave de acceso. 7. ¿Con qué estructura de control se puede verificar que la clave ingresada por la persona sea igual a la registrada en el dispositivo móvil? a) Selección b) Secuencia c) Ciclo d) Iteración 8. Si la variable clave_acceso almacena el valor de la clave de acceso correcta al dispositivo móvil y la variable clave_ingresada la clave que teclea el usuario que desea acceder al dispositivo móvil, ¿cuál es la expresión lógica correcta para verificar la contraseña? a) clave_acceso es la clave_ingresada b) clave_acceso == clave_ingresada c) clave_acceso es correcta d) clave_ingresada = correcta Tema 3.4 Paradigmas En la clase de Informática te solicitaron realizar un trabajo acerca del impacto que tiene en la sociedad los cambios de paradigmas y te pidieron poner ejemplos de estos cambios. Como a tí te gusta la programación escogiste el tema Paradigmas de Programación y lo expusiste a tus compañeros. Para verificar si te pusieron atención, tú les preguntas lo siguiente: 160 Unidad 3 Metodología de solución de problemas computables 9. Paradigma y tipo de programación que divide un programa en procedimientos y funciones, además, hace uso de estructuras de control: a) Imperativo y Programación Orientada a Objetos. b) Imperativo y Programación funcional. c) Imperativo y Programación Orientada a Eventos. d) Imperativo y Programación Estructurada. 10. ¿A qué tipo de paradigma y estilo de programación pertenece Python? a) Imperativo y Programación Orientada a Objetos. b) Imperativo y Programación Estructurada. c) Imperativo y Programación funcional. d) Imperativo y Programación Orientada a Eventos. 11. Otro de tus compañeros te comenta que él sabe programar en HTML, pero no sabe a qué tipo de programación corresponde, tú contestas: a) Programación Imperativa. b) Programación Funcional. c) Programación Web. d) Programación Estructurada. Tema 3.5 Codificación Eduardo es un estudiante que ha realizado el diseño de la solución de un problema que calcula el promedio de un alumno a partir de 3 calificaciones. Ha determinado que los datos de entrada son las 3 calificaciones y el dato de salida es el promedio. Eduardo deberá ahora codificar el programa en lenguaje C. 12. ¿Cuál es la codificación correcta en lenguaje C para declarar la variable que almacene el promedio? a) int promedio; b) float promedio; c) real promedio; d) char promedio; 13. ¿Cuál es la codificación para calcular el promedio de tres calificaciones? a) prom=cal1+cal2+cal3/3; b) prom==(cal1+cal2+cal3)/3; c) prom=(cal1+cal2+cal3)/3; d) prom==cal1+cal2+cal3/3; 14. Como resultado del cálculo del promedio se requiere imprimir si el alumno está aprobado ¿Cómo se codifica? a) if (prom=6) printf(“Aprobado”); b) if (prom>6) printf(“Aprobado”); c) if (prom>=5) printf(“Aprobado”); d) if (prom>=6) printf(“Aprobado”); 161 Unidad 3 Metodología de solución de problemas computables GLOSARIO Algoritmo: Es el conjunto de pasos finitos bien definidos y con un orden lógico que permiten realizar una tarea. Análisis del problema: Fase de la metodología de solución de un problema donde se estima lo que debe hacer un programa y el resultado esperado. Aplicaciones: El término "aplicación" es una forma abreviada para designar a un programa de aplicación. Un programa de aplicación es aquél diseñado para desempeñar una función específica. ASCII: La memoria de un ordenador guarda toda la información en formato digital. No hay forma de almacenar caracteres directamente. Cada uno de los caracteres tiene un código digital equivalente. Esto se denomina código ASCII. El código ASCII básico representaba caracteres utilizando 7 bits (para 128 caracteres posibles, enumerados del 0 al 127). Sus siglas significan American Standard Code for Information Interchange que en español es Código Estadounidense Estándar para el Intercambio de Información. Basura electrónica: Se conoce como basura electrónica a todos los dispositivos electrónicos que ya no tienen vida útil y son desechados. Buscador: Se define como el sistema informático que indexa archivos almacenados en servidores web cuando se solicita información sobre algún tema. Caracter: Cualquier elemento de un conjunto de caracteres predefinidos o alfabeto. Cualquier elemento del conjunto de caracteres ASCII. Circuito integrado: Combinación de elementos electrónicos miniaturizados que se alojan en un único soporte de un material semiconductor. Claude Shannon: (Claude Elwood Shannon; Gaylord, 1916 - Medford, 2001) Ingeniero estadounidense, padre de la moderna teoría de la información, una formulación matemática que analiza las unidades de información (bits) y su pérdida en los procesos de transmisión. Codificación: Proceso de conversión que transforma el programa fuente en una secuencia de pulsos eléctricos (1 y 0) para que la computadora lo ejecute. Computadora: Máquina electrónica que, mediante determinados programas, permite almacenar y tratar información, y resolver problemas de diversa índole. Constante: Datos que su contenido no cambia durante la ejecución de un programa. 162 Glosario Diagrama de Flujo: Representación gráfica de un algoritmo. Disco Duro: Dispositivo de almacenamiento magnético, interno. Disco Óptico: Discos que usan luz láser para escribir y leer información. Dispositivo electrónico: Conjunto de la combinación encapsulados en circuitos que usan señales eléctricas. de componentes Dispositivos móviles: Un dispositivo móvil se puede definir como un aparato de pequeño tamaño, con algunas capacidades de procesamiento, con conexión permanente o intermitente a una red, con memoria limitada, que ha sido diseñado específicamente para una función, pero que puede llevar a cabo otras funciones más generales. Disquete: Dispositivo de almacenamiento físico de forma cuadrada usado en los 80´s para guardar información. Su máxima capacidad de almacenamiento fue de 1.2 Mb. Entrada: Dato que es necesario considerar para resolver un problema. Estructura de control: Permite controlar el flujo de datos de un programa. Estructura de iteración: Permite repetir un bloque de instrucciones. Estructura de secuencia: Ejecuta las instrucciones una a la vez y en orden secuencial. Estructura de selección: También conocida como decisión o comparación. Se ejecutan diferentes bloques de código dependiendo de la evaluación de una expresión lógica. Estructura mientras: Repite un bloque de instrucciones mientras una expresión lógica sea verdadera. Estructura para: Repite un bloque de instrucciones un número determinado de veces. Estructura repetir: Repite un bloque de instrucciones al menos una vez durante la ejecución de un programa y hasta que una expresión lógica sea verdadera. Expresión en computación: Operandos unidos mediante operadores de los que se obtiene un valor. Generación: Cada una de las fases de una técnica en evolución, en que se aportan avances e innovaciones respecto a la fase anterior. 163 Glosario George Boole: (Lincoln, Reino Unido, 1815 - Ballintemple, actual Irlanda, 1864) Matemático británico, creador de un nuevo sistema de cálculo lógico que póstumamente sería llamado Álgebra de Boole. Dicho sistema, en el que las proposiciones se reducen a símbolos sobre los que puede operar matemáticamente, supuso un avance fundamental en el desarrollo de la lógica y, más de un siglo después, hallaría un formidable e insospechado campo de aplicación en la informática y los microprocesadores, cuyo funcionamiento se basa en la lógica binaria de Boole. GPS: (Global Position System) Sistema de Posicionamiento Global. Indica la posición de un objeto vía satelital. Hardware: Parte física o tangible de una computadora. Información: Como información denominamos al conjunto de datos, ya procesados y ordenados para su comprensión, que aportan nuevos conocimientos a un individuo o sistema sobre un asunto, materia, fenómeno.La importancia de la información radica en que, con base en esta, podemos solucionar problemas, tomar decisiones o determinar cuál alternativa, de un conjunto de ellas, es la que mejor se adapta a nuestras necesidades. Ingeniería social: Es una forma de obtener información personal, a través de entrevistas telefónicas, personales o vía la WEB. En la que el entrevistador se hace pasar por representante de una institución, etc., y mediante engaños obtiene información. Internet: Es un conjunto descentralizado de redes de comunicación interconectadas, que utilizan la familia de protocolos TCP/IP, garantizando que las redes físicas heterogéneas que la componen funcionen como una red lógica única, de alcance mundial. Konrad Zuse: (Berlín, 1910 - Huenfeld, 1995) Ingeniero alemán. Se le considera el inventor de la primera computadora electrónica digital totalmente funcional, la conocida como Z3 (1941). Además, fue el primero en desarrollar un lenguaje informático e introducir el sistema de numeración binario en la construcción de ordenadores. Licencia de software: Es un contrato entre el diseñador o titular de los derechos de un software permite el uso de este software bajo condiciones pre-establecidas. Memoria RAM: (Random Access Memory) Memoria de acceso aleatorio, volátil. Multitarea: Un sólo usuario ejecutando varias tareas al mismo tiempo en un sistema. Navegador de internet: Es una aplicación que nos va a permitir visualizar el contenido de las páginas web. 164 Glosario Navegador: La información en la Web está disponible mediante páginas web, estas páginas están escritas internamente en lenguaje HTML, para transformar ese lenguaje en páginas Web visibles hace falta un programa, a estos programas se les llama navegadores o browsers (en inglés). Paradigma de programación: Patrón, modelo o ejemplo a seguir para construir la solución de un problema. Pixeles: Es la unidad más pequeña de una imagen digital, para visualizarlos hay que acercar la imagen y se verán como cuadros que forma parte de la imagen. Planteamiento: Primera fase de la metodología de la solución de un problema donde se identifica el problema a resolver y si es viable de solucionarse en tiempo y forma. Potencia: Capacidad de realizar una función o acción en una unidad o periodo de tiempo. Problema computable: Problema que puede solucionarse utilizando un dispositivo electrónico de cálculo. Problema: Es cuando las cosas que tenemos son diferentes de las que queremos. Procesador: Unidad funcional de una computadora que se encarga de la búsqueda, interpretación y ejecución de instrucciones. Proceso: Operaciones que deben aplicarse a los datos para encontrar la solución de un problema Programa fuente: Instrucciones escritas en lenguaje de programación. Programa: Conjunto de instrucciones escritas en secuencia lógica para solucionar un problema. Pseudocódigo: Forma de representar un algoritmo mediante la combinación del lenguaje común con instrucciones de programación. Resolución de monitor: Número de bits que puede proyectar, entre mayor sea el número la imagen será más nítida. Riesgo: Cualquier situación que pueda alterar el estado original de un objeto o persona. Salida: Datos que presenten la solución de un problema. Sistema monousuario: Sistema operativo que únicamente da servicio a un usuario cada vez. 165 Glosario Sistema multiusuario: Sistema operativo que puede atender múltiples usuarios. Sistema operativo: Software que controla los recursos de la computadora. Software: Parte lógica o intangible de una computadora. Transistor: Semiconductor provisto de tres o más electrodos que sirve para rectificar y amplificar los impulsos eléctricos. Sustituye ventajosamente a las lámparas o tubos electrónicos por no requerir corriente de caldeo, por su tamaño pequeñísimo, por su robustez y por operar con voltajes pequeños y poder admitir corrientes relativamente intensas. Tubo de vacío: Ampolla de vidrio de forma redondeada. Usado para amplificar o conmutar señales eléctricas. USB (Universal Serial Bus) o Bus Universal en Serie: Es un puerto o conector donde se pueden insertar diversos dispositivos periféricos. Variable: Es un identificador que hace referencia a datos, cuyo contenido puede cambiar durante la ejecución de un programa. Velocidad de procesamiento: Capacidad de una computadora para procesar un cierto número de bytes al mismo tiempo. Web: La World Wide Web (WWW) o red informática mundial es un sistema de distribución de documentos de hipertexto o hipermedios interconectados y accesibles vía Internet. Wi-fi: Tecnología o mecanismo de interconexión inalámbrica de dispositivos electrónicos. WWW: Son las siglas de World Wide Web, se refiere a un conjunto de protocolos que permite, de forma sencilla, la consulta remota de archivos de hipertexto. Ésta fue un desarrollo posterior (1990) y utiliza Internet como medio de transmisión. 166 Respuestas de ejercicios y autoevaluaciones RESPUESTAS DE EJERCICIOS Y AUTOEVALUACIONES UNIDAD 1 Ejercicio 1.3 1. Colossus ( 2 ) William Oughtred 2. Regla de cálculo ( 8 ) George R. Stibitz 3. UNIVAC ( 7 ) Joseph Jacquard 4. Máquina tabuladora ( 12 ) John von Neumann 5. ABC ( 10 ) Arthur Scherbuis 6. Sumadora mecánica ( 9 ) Howard Aiken 7. Telar automático ( 4 ) Herman Hollerith 8. Circuitos Digitales lógicos ( 3 ) John Mauchly 9. Mark 1 ( 11 ) Charles Babbage 10. Máquina Enigma ( 6 ) Blaise Pascal 11. Máquina analítica ( 5 ) Atanasoff Berry Computer 12. ENIAC ( 1 ) Tommy Flowers 13. Colossus ( 2 ) William Oughtred 14. Regla de cálculo ( 8 ) George R. Stibitz 15. UNIVAC ( 7 ) Joseph Jacquard 16. Máquina tabuladora ( 12 ) John von Neumann 17. ABC ( 10 ) Arthur Scherbuis 18. Sumadora mecánica ( 9 ) Howard Aiken 19. Telar automático ( 4 ) Herman Hollerith 20. Circuitos Digitales lógicos ( 3 ) John Mauchly 21. Mark 1 ( 11 ) Charles Babbage 22. Máquina Enigma ( 6 ) Blaise Pascal 23. Máquina analítica ( 5 ) Atanasoff Berry Computer 24. ENIAC ( 1 ) Tommy Flowers 167 Respuestas de ejercicios y autoevaluaciones Ejercicio 1.4 Generación Elemento principal 1ª generación Bulbos 2º Generación Transistor 3ª generación Circuitos Integrados 4ª Generación Microprocesador 5ª generación Procesadores en paralelo Reflexión Mi familia comenta que en muy poco tiempo tecnología ha avanzado de forma apresurada, de tal manera que no alcanzamos a conocer una computadora o dispositivo móvil y ya salió un equipo nuevo con otras aplicaciones y formas de manipularlo diferente, es probable que se deba a la forma tan apresurada que se vive hoy en día, y las necesidades ficticias sociales que nos llevan hoy por hoy a cambiar de tecnología. No sucedía así en años pasados desde que iniciaron las computadoras, para poder cambiar de equipo o de una generación a otra se requería de cierto tiempo para hacer modificaciones, en ese entonces iniciaban los estudios de la tecnología que permitió avanzar con mayor rapidez. Lo que se ha visto según la plática es que el avance tecnológico los equipos de cómputos se pusieron al alcance de más gente bajando costos, y cubriendo las necesidades de las personas. Ejercicio 1.5 a) b) c) 11101=29 11111= 31 01010=10 Hola mundo= 80 bits, 10 byte 168 Respuestas de ejercicios y autoevaluaciones Ejercicio 1.6 Unidades de almacenamiento Unidad Abreviatura Bit Bit Forma binaria 0,1 Bytes Equivalencia Byte B 21 1 Kilobyte KB 210 1024 Megabyte MB 220 1,048,576 1 024 bytes 1 024 KB Gigabyte GB 230 1,073,741,824 1 024 MB Terabyte TB 240 1,099,511,627,776 1 024 GB Petabyte PB 250 1, 125,899,906,842,624 1 024 TB 0o1 8 bits Ejercicio 1.7 Una página de texto mecanografiado ocupa unos 2KB (contiene unos 2000 caracteres) por lo que, para un ensayo de 2 páginas, en donde solo se tendrá texto se tendría un aproximado de 4KB. ¿Cuántas páginas de texto crees que puedan caber en ese CD-ROM? Aproximadamente 358,400 páginas ¿Será suficiente un CD-ROM para guardar tu proyecto? Anota tu respuesta. Si es suficiente el CD-ROM y se desaprovecharía la mayor parte de la capacidad del disco ya que aproximadamente se realizaría un trabajo de 20 a 30 páginas. Ejercicio 1.13 El objetivo del cuestionario es orientar a los alumnos a administrar la información que comparten en la red con base en normas de ética y que comprendan los peligros que corren al compartir mucho de su vida privada en la WEB. 169 Respuestas de ejercicios y autoevaluaciones Ejercicio 1.14 El objetivo del cuestionario es que el alumno investigue en la red y sea capaz de localizar y conocer las características de algunas marcas de antivirus, logrando así la habilidad de encontrar y vacunar su equipo. Autoevaluación Respuestas a la autoevaluación Unidad 1 170 Pregunta Respuesta Pregunta Respuesta 1 a 11 b 2 d 12 b 3 a 13 a 4 b 14 b 5 a 15 d 6 c 16 b 7 d 17 c 8 a 18 b 9 b 19 b 10 a Respuestas de ejercicios y autoevaluaciones UNIDAD 2 Ejercicio 2.1 Computadora Tipo ASUS ROG GR8 IBM S/390 Miztli Dell PowerEdge T130 HP Proliant Dl385 Sunway TaihuLigt IBM System z10 Toshiba Tecra C50-C1502LA Minicomputadora Macrocomputadora Supercomputadora Minicomputadora Minicomputadora Supercomputadora Supercomputadora Microcomputadora Ejercicio 2.16 Sistema Operativo Windows Monotarea X X X X X X Unix Linux MacOS Android iOS DOS Multitarea X Monousuario X X X Multiusuario Uni proceso X X X X X Multi proceso X X X X X X Ejercicio 2.20 1.- Escribe en el paréntesis (F) si es falso ó (V) los siguientes enunciados. (V) Windows y Linux son ejemplos de Software de sistema. (F) Editores gráficos,procesadores de textos y Lenguajes de programación son ejemplos de Software de Aplicación (F) Antivirus,procesadores de texto y Hojas de cálculo son ejemplos de Software de lenguaje. (V) C#, Java y Visual Basic son ejemplos de Software de Programación (V) Un equipo de cómputo puede estar integrado por Software de sistema, aplicación y programación 171 Respuestas de ejercicios y autoevaluaciones Ejercicio 2.21 Procesadores de texto word writer impress pages Hojas calculo excel calc numbers Presentadores electrónicos Software multimedia power point keynote vlc movie maker media player camtasia Ejercicio 2.24 SOFTWARE Nombre Android Sistema Operativo (SO) Programación Aplicación X Avast X Avira X C++ 172 TIPO X Chrome X Excel X Facebook X Respuestas de ejercicios y autoevaluaciones Internet Explorer X Instagram X iTunes X iOs X Java X Linux X Mac OS X Mozilla FireFox X Norton Antivirus X OpenOffice X Pascal X Power Point Ubuntu X X Waze X Whats app X Windows 10 Word X X 173 Respuestas de ejercicios y autoevaluaciones Reflexión Todo comenzó un día viernes por la tarde cuando el profesor de la materia de informática, nos comentó en clase, que deberíamos formar equipos de trabajo, para realizar un cuadro sinóptico colaborativo, sobre los tipos de software. Nos reunimos en equipo al finalizar la clase y nombramos a un representante, el cual tendría que crear el documento, después lo compartió con los compañeros de equipo añadiéndole el permiso de edición para que pudiéramos colocar nuestras aportaciones al trabajo y la manera de comunicarnos sería por medio del chat y el correo electrónico para comentar algunos puntos de vista. Una vez que terminamos y quedamos conforme con el resultado obtenido, se lo compartimos a nuestro profesor, pero la duda que nos surgió fue la siguiente si el permiso que le otorgaba seria de v er_ o comentar , pero decidimos que era necesario que el profesor nos retroalimentara nuestro trabajo y no que sólo pudiera visualizarlo. Palabras clave: chat, comentar, compartió, correo electrónico, crear, edición,ver. Respuestas a la evaluación 174 Pregunta Respuesta Pregunta Respuesta 1 b 12 b 2 d 13 b 3 a 14 b 4 b 15 respuesta abierta 5 a 16 b 6 a 17 b 7 d 18 a 8 c 19 d 9 a 20 d 10 c 21 b 11 a 22 2 Respuestas de ejercicios y autoevaluaciones UNIDAD 3 Respuestas de los ejercicios de la Unidad 3 Ejercicio 3.1 Escribe en orden las etapas de la metodología de solución de problemas computables y explícalas brevemente. Diseño del problema Codificación Planteamiento del problema Análisis del Problema Planteamiento del problema. Se conoce y se delimita el problema Análisis del problema. Se divide el problema en partes, se examinan sus interrelaciones, se identifican varias soluciones y se elige la mejor. Diseño del problema. Se diseña el algoritmo, diagrama de flujo o pseudocódigo para detallar los pasos que se deben realizar para resolver el problema. Codificación. Se escribe el algoritmo en un lenguaje de programación. Ejercicio 3.2 Datos para resolver un problema. Responde lo siguiente: Cuando introduces tu tarjeta al cajero automático ¿qué datos lee el cajero de tu tarjeta? Nombre y número de cuenta ¿Qué datos te solicita el cajero para verificar tu identidad? El NIP ¿Es un valor fijo o cambiante? Un valor cambiante, depende de cada usuario 175 Respuestas de ejercicios y autoevaluaciones Ejercicio 3.3 Cuando haces uso del cajero automático, introduces tu tarjeta para validar los datos y acceder al sistema. Define las variables que se requieren para realizar esta validación y una vez que te ha identificado el cajero, qué datos te muestra en pantalla. Dato Nombre de la variable Nip Tipo de dato caracter Número de identificación personal Nombre del nombre_cliente caracter tarjetahabiente Cuenta CLABE Nombre del banco Clave nombre_banco Tipo de cuenta tipo_cuenta del cliente Saldo Saldo 176 caracter Definición de la variable Definir nip Como caracter Entrada/ Salida Entrada Definir nombre_cliente Como caracter Entrada Definir clabe Como caracter caracter Definir nombre_banco Como caracter caracter Definir tipo_cuenta Como caracter numérico Definir saldo Como real real Salida Salida Salida Salida Respuestas de ejercicios y autoevaluaciones Ejercicio 3.4 Calcula el resultado de las siguientes expresiones e indica que tipo de expresión es: Expresión 15 % 2 9 – 5 * 3 + 24 / 6 2*5^3/2%3 (4 ^ 2) >= (3 * 5) 8*3/2<7–2*3 (7 > 5 * 3) AND (2 <= 10 / 3) Not (5 != 7 - 2) Resultado 1 9 – 15 + 24 / 6 9 – 15 + 4 20 2 * 125 / 2 % 3 250 / 2 % 3 125 % 3 2 16 >= 15 Verdadero 24 / 2 < 7- 6 12 < 1 Falso ( 7 > 15) AND (2 <= 3 ) Falso AND Verdadero Falso Verdadero Tipo de expresión Aritmética Aritmética Aritmética Relacional Relacional Lógica Lógica Ejercicio 3.5 Desarrolla el algoritmo que permita realizar un depósito de cualquier cantidad a tu cuenta y que te muestre el saldo final. Considera el saldo inicial de tu cuenta de $800.00 pesos. Inicio saldo = 800 Escribir Monto del depósito: Leer depósito Calcular saldo = saldo + depósito Escribir Saldo actual: saldo Fin 177 Respuestas de ejercicios y autoevaluaciones Ejercicio 3.6 Elabora el diagrama de flujo del algoritmo que desarrollaste en el ejercicio 3.5. 178 Respuestas de ejercicios y autoevaluaciones Ejercicio 3.7 Desarrolla el pseudocódigo del ejercicio 3.6. Proceso realizar_deposito7 1 Definir saldo, deposito Como real; 2 saldo 800; 3 Escribir ‘Monto del depósito: ‘ 4 Leer deposito; 5 saldo saldo + deposito; 6 Escribir ‘Saldo actual: ‘, saldo; FinProceso Ejercicio 3.8 Realiza la prueba de escritorio del pseudocódigo del ejercicio 3.7. Prueba de escritorio para un depósito de $500.00 Instrucción/Variable saldo 800; Saldo Retiro 800 Leer retiro; 200 saldo saldo - retiro; 800 Pantalla del usuario Escribir “Monto del depósito: ”; Monto del depósito: 500 Escribir “Saldo: ”, saldo; Saldo: 800 7 La mayoría de los lenguajes de programación no permiten identificadores con acentos, por ello, es recomendable que no los utilices para nombrar a tus programas, variables o constantes. 179 Respuestas de ejercicios y autoevaluaciones Ejercicio 3.9 Elabora el pseudocódigo, diagrama de flujo y haz la prueba de escritorio de los procesos bancarios listados a continuación: a) Solicitar el número de identificación personal del cuentahabiente. b) Calcular la mensualidad a pagar de un préstamo a un año. c) Compra de tiempo aire para celular. Suponga un saldo inicial de $500.00. a) Solicitar el número de identificación personal del cuentahabiente. Pseudocódigo Proceso solicitar_nip 1 Definir nip Como caracter; 2 Escribir ‘Digite NIP: ‘; 3 Leer nip; 4 Escribir ‘NIP: ‘, nip; FinProceso Diagrama de flujo Prueba de escritorio Instrucción/Variable Leer nip; 180 nip 1234 Pantalla del usuario Escribir ‘Digite NIP: ‘; Digite NIP: 1234 Escribir ‘NIP: ‘, nip; NIP: 1234 Respuestas de ejercicios y autoevaluaciones b) Calcular la mensualidad a pagar de un préstamo a un año. Pseudocódigo Diagrama de flujo Proceso calcular_mensualidad 1 Definir prestamo, mensualidad Como real; 2 Escribir ‘Digite el monto del préstamo: ‘; 3 Leer prestamo; 4 mensualidad prestamo / 12; 5 Escribir ‘La mensualidad es: ‘, mensualidad; FinProceso Prueba de escritorio Instrucción/Variable Prestamo Mensualidad Leer prestamo; 3000 mensualidad = prestamo / 12; 3000 250 Pantalla del usuario Escribir ‘Digite el monto del préstamo: ‘; Digite el monto del préstamo: 3000 Escribir ‘La mensualidad es: ‘, mensualidad; La mensualidad es: 250 181 Respuestas de ejercicios y autoevaluaciones c) Compra de tiempo aire para celular. Suponga un saldo inicial de $500.00. Pseudocódigo Proceso compra_tiempo_aire 1 Definir t_aire, saldo Como real; 2 saldo 500; 3 Escribir ‘Digite el monto de tiempo aire: ‘; 4 Leer t_aire; 5 saldo saldo - taire; 6 Escribir ‘Tiempo abonado’; 7 Escribir ‘Saldo actual: ’, saldo; FinProceso 182 Diagrama de flujo Respuestas de ejercicios y autoevaluaciones Prueba de escritorio Instrucción/Variable saldo 500; Leer t_aire; saldo = saldo - taire; t_aire Saldo 500 500 460 40 40 Pantalla del usuario Escribir ‘Digite el monto de tiempo aire: ‘; Digite el monto del tiempo aire: 40 Escribir ‘Tiempo abonado’; Tiempo abonado Escribir ‘Saldo actual: ’, saldo; Saldo actual: 460 Ejercicio 3.10 (a) Elabora el pseudocódigo y diagrama de flujo de las siguientes transacciones bancarias: a) Validar el NIP del usuario. Considere que el NIP correcto es 1234. Pseudocódigo Proceso validar_nip 1 Definir nip Como caracter; 2 Escribir 'Digite NIP: '; 3 Leer nip; 4 Si nip=='1234' Entonces 5 Escribir 'NIP correcto.'; 6 SiNo 7 Escribir 'NIP incorrecto.'; 8 FinSi FinProceso 183 Respuestas de ejercicios y autoevaluaciones Diagrama de flujo para validar el NIP del usuario 184 Respuestas de ejercicios y autoevaluaciones Ejercicio 3.10 (b) Elabora el pseudocódigo y diagrama de flujo de las siguientes transacciones bancarias: b) Validar el acceso a una cuenta. Verifique el número de cuenta y NIP del usuario. Considere que el número de cuenta y NIP correctos son 876543 y 8833 respectivamente. Pseudocódigo Proceso validar_acceso_cuenta 1 Definir cuenta, nip Como caracter; 2 Escribir 'Digite el número de cuenta: '; 3 Leer cuenta; 4 Escribir 'Digite NIP: '; 5 Leer nip; 6 Si cuenta == ’876543’ Y nip == '8833' Entonces 7 Escribir 'Acceso concedido.'; 8 SiNo 9 Escribir 'Acceso denegado.'; 10 FinSi FinProceso 185 Respuestas de ejercicios y autoevaluaciones Diagrama de flujo para validar el acceso a una cuenta bancaria 186 Respuestas de ejercicios y autoevaluaciones Ejercicio 3.10 (c) Elabora el pseudocódigo y diagrama de flujo de las siguientes transacciones bancarias: c) Validar el acceso a una cuenta mancomunada. Verifique el número de cuenta y NIP del usuario. Considere que el número de cuenta correcto es 976543 y los NIP de los usuarios son 1234 y 4321. Pseudocódigo Proceso validar_cuenta_mancomunada 1 Definir cuenta, nip Como caracter; 2 Escribir 'Digite el número de cuenta: '; 3 Leer cuenta; 4 Escribir 'Digite NIP: '; 5 Leer nip; 6 Si cuenta == ’976543’ Y (nip == '1234' O nip == '4321') Entonces 7 Escribir 'Acceso concedido.'; 8 SiNo 9 Escribir 'Acceso denegado.'; 10 FinSi FinProceso 187 Respuestas de ejercicios y autoevaluaciones Diagrama de flujo para validar el acceso a una cuenta bancaria mancomunada 188 Respuestas de ejercicios y autoevaluaciones Ejercicio 3.11 Otra de las acciones que realiza un cajero automático es entregar el efectivo que el usuario retira. Escribe el pseudocódigo y elabora el diagrama de flujo para simular esta entrega con las siguientes consideraciones: ● ● ● La cantidad retirada debe ser múltiplo de 50. El cajero automático debe entregar el menor número de billetes posible. Las denominaciones de los billetes disponibles son: $500.00, $200.00, $100.00 y $50.00. ● El cliente puede hacer más de un retiro. Pseudocódigo8 Proceso billetes 1 Definir retiro Como Real; 2 Definir entrega Como Real; 3 Definir billetes_500 Como Entero; 4 Definir billetes_200 Como Entero; 5 Definir billetes_100 Como Entero; 6 Definir billetes_50 Como Entero; 7 Definir cantidad_billetes Como Entero; 8 Definir otra_transaccion Como Caracter; 9 otra_transaccion 'si'; 10 entrega 0; 11 Repetir 12 Borrar Pantalla9; 13 Escribir 'Monto del retiro (debe ser múltiplo de 50)'; 14 Leer retiro; 15 Si retiro MOD 50 == 0 Y retiro > 0 Entonces 16 entrega retiro; 17 billetes_500 trunc(retiro / 500); 18 Para cantidad_billetes 1 Hasta billetes_500 Hacer 19 Escribir 'El cajero entrega un billete de $500.00'; 20 FinPara 21 entrega entrega – 500 * billetes_500; 22 billetes_200 trunc(entrega / 200); 23 Para cantidad_billetes 1 Hasta billetes_200 Hacer 24 Escribir 'El cajero entrega un billete de $200.00'; 25 FinPara 8 En el pseudocódigo se utiliza la función trunc(). Esta función devuelve la parte entera de la expresión que se define dentro de los paréntesis. Por ejemplo: trunc(1600/500) devuelve el valor de 3. 9 La instrucción Borrar Pantalla, como su nombre lo indica, borra todos los datos de la pantalla del usuario. 189 Respuestas de ejercicios y autoevaluaciones 26 entrega entrega – 200 * billetes_200; 27 billetes_100 trunc(entrega / 100); 28 Para cantidad_billetes 1 Hasta billetes_100 Hacer 29 Escribir 'El cajero entrega un billete de $100.00'; 30 FinPara 31 entrega entrega - 100 * billetes_100; 32 billetes_50 trunc(entrega / 50); 33 Para cantidad_billetes 1 Hasta billetes_50 Hacer 34 Escribir 'El cajero entrega un billete de $50.00'; 35 FinPara 36 entrega entrega – 50 * billetes_50; 37 Escribir 'Efectivo entregado: ', retiro; 38 Escribir 'Nominación de los billetes entregados'; 39 Escribir billetes_500,' billetes de $500.00'; 40 Escribir billetes_200,' billetes de $200.00'; 41 Escribir billetes_100,' billetes de $100.00'; 42 Escribir billetes_50,' billetes de $50.00'; 43 SiNo 44 Escribir 'Monto inválido.'; 45 FinSi 46 Escribir '¿Desea realizar otro retiro?'; 47 Leer otra_transaccion; 48 Hasta Que otra_transaccion == 'no' FinProceso 190 Respuestas de ejercicios y autoevaluaciones Diagrama de flujo para entregar billetes de distintas denominaciones Hoja 1 de 8 191 Respuestas de ejercicios y autoevaluaciones Diagrama de flujo para entregar billetes de distintas denominaciones Hoja 2 de 8 192 Respuestas de ejercicios y autoevaluaciones Diagrama de flujo para entregar billetes de distintas denominaciones Hoja 3 de 8 193 Respuestas de ejercicios y autoevaluaciones Diagrama de flujo para entregar billetes de distintas denominaciones Hoja 4 de 8 194 Respuestas de ejercicios y autoevaluaciones Diagrama de flujo para entregar billetes de distintas denominaciones Hoja 5 de 8 195 Respuestas de ejercicios y autoevaluaciones Diagrama de flujo para entregar billetes de distintas denominaciones Hoja 6 de 8 196 Respuestas de ejercicios y autoevaluaciones Diagrama de flujo para entregar billetes de distintas denominaciones Hoja 7 de 8 197 Respuestas de ejercicios y autoevaluaciones Diagrama de flujo para entregar billetes de distintas denominaciones Hoja 8 de 8 198 Respuestas de ejercicios y autoevaluaciones Ejercicio 3.12 Identifica cuáles estructuras de control que utilizaste para resolver el ejercicio 3.11 e indica qué acción realiza cada una de ellas. Estructura de control Utilidad Repetir – Hasta (repeat-until) Sirve para repetir el proceso de entrega de billetes tantas veces el usuario desee. El proceso se repite mientras el usuario responda cualquier cosa diferente de ‘no’. Si – Entonces – De lo contrario Se usa para comprobar que la cantidad (if-then-else) capturada por el usuario sea múltiplo de 50. Si la cantidad es múltiplo de 50, realiza el proceso de entrega de billetes, si no, escribe el mensaje ‘Monto inválido’. Para (for) Se usa para escribir en la pantalla del usuario el mensaje que se ha entregado un billete de la denominación correspondiente. Ejercicio 3.13 Llena la siguiente tabla escribiendo para cada lenguaje de programación su paradigma y el tipo de programación al que pertenece: Prolog Lógico Tipo de programación Lógico Pascal Imperativo Estructurada Lenguaje C Impereativo Estructurada Lisp Funcional Funcional Lenguaje Paradigma 199 Respuestas de ejercicios y autoevaluaciones Phyton Imperativo Orientada a Objetos Java Imperativo Orientada a Objetos Visual Basic .NET Imperativo Orientada a Eventos Ejercicio 3.14 Realiza una breve investigación acerca de los principales lenguajes que se utilizan. Llena la siguiente tabla con la información que se solicita para cada lenguaje de programación. Lenguaje Java Scrip Desarrollo web Java Permite la creación de aplicaciones de escritorio. Utilizado para aplicaciones para móviles y web. Para programar sistemas operativos y drivers Lenguaje C PHP Phyton Swift Visual Basic .NET C++ 200 Uso más frecuente Desarrollo y aplicaciones WEB. Creación de todo tipo de programas Apps de iOS, Mac, Apple TV y Apple Watch Aplicaciones para red Desarrollo de sistemas operativos, aplicaciones Android y aplicaciones de propósito general Programas desarrollados con el lenguaje Aplicaciones para móvil Android, Eclipse, Netbeans, Open Office Kernel de Linux, Mac OS X, C++, Python, Perl y Ruby. Facebook, Wikipedia, WordPress, Drupal. Dropbox, YouTube y Reddit Khan Academy, Linkedin y Airbnb. Aplicaciones generales que usan windows Windows, los paquetes de Adobe, máquinas virtuales de Java y .NET Respuestas de ejercicios y autoevaluaciones Ejercicio 3.15 Investiga ¿qué un compilador y qué es un intérprete? Escribe tu respuesta y observa las diferencias de funcionamiento que existen entre ellos. Compilador Intérprete Convierte un conjunto de líneas de Traduce línea a línea de comandos comandos de un lenguaje de alto a nivel escritos en un lenguaje de alto a código binario, en una sola acción. nivel a código binario, al mismo tiempo va ejecutando cada línea. Ejercicio 3.16 Busca las características de programación del Lenguaje C que lo han hecho tan funcional y utilizado a lo largo del tiempo: Contiene pocas palabras reservadas (identificadores que reconoce el lenguaje de programación para realizar una tarea) y funciones. Se tienen compiladores del Lenguaje C para las distintas plataformas de hardware, es decir, es portable. Es un programa muy utilizado porque es de propósito general, se ha empleado desde la construcción de un sistema operativo hasta la realización de una simple suma. 201 Respuestas de ejercicios y autoevaluaciones Ejercicio 3.17 Realiza una investigación y llena el siguiente cuadro con los tipos de datos simples que contempla el Lenguaje C, así como sus palabras reservadas, número de bytes asignados, número de bits y el rango de valores correspondiente: 202 Tipo de dato Palabra Número Número Rango de valores reservada de bytes de bits Entero Int 2 16 -32768 a 32767 Real Float 4 32 3.4E-38 a 3.4E+38 Carácter Char 1 8 0 a 255 Entero largo Long 4 32 -2147483648 a 2147483647 Real con doble precisión Double 8 64 1.7E-308 a 1.7E+308 Respuestas de ejercicios y autoevaluaciones Ejercicio 3.18 Descarga el entorno de desarrollo DEV C, instálalo en tu equipo, captura, compila y ejecuta el código del ejemplo 3.2 Cálculo del saldo después de un retiro en un cajero automático y comprueba el código de la solución del problema. En el código de este ejercicio se tiene un saldo previo de $1000.00. Haremos dos retiros y el programa nos presentará el saldo restante: 1. Cuando el retiro es de $900.00, el resultado es: 2. Cuando el retiro es de $450.00, el resultado es: Ejercicio 3.19 Captura, compila y ejecuta el código del ejemplo 3.3 Retiro de una cuenta bancaria verificando el saldo del cliente y comprueba el código de la solución del problema. En el código presentado de ejemplo se muestra que el saldo asignado a la cuenta es de $1000.00, de modo que al probar el código la captura serán dos tipos de valores: uno que sea menor a esa cantidad y otro que se exceda. En el primer caso, retiramos $500.00. El resultado es: En cambio, si se retira $1500.00, el resultado es: 203 Respuestas de ejercicios y autoevaluaciones Ejercicio 3.20 Captura, compila y ejecuta el código del ejemplo 3.4 Retiro de una cuenta bancaria verificando monto máximo permitido y comprueba el código de la solución del problema. En el presente código, el máximo monto de retiro es de $5000.00, por lo que habrá dos tipos de valores para verificar su óptimo funcionamiento: 1. Cuando el valor es menor al monto máximo, en este caso es de $4000.00. 2. Cuando el valor es mayor al monto máximo, en este caso es de $7500.00. Ejercicio 3.21 Captura, compila y ejecuta los códigos de los ejemplos: Realizar múltiples transacciones bancarias en una sola sesión con la estructura repetir y comprueba la solución del problema. El presente ejercicio muestra la ejecución de un código que permite repetir una acción según una condición. En este caso particular, la condición es si se desea realizar otra transacción, donde se capturará cinco veces que sí hasta que finalmente se captura la letra n que significa que no continúe el programa. El resultado es: 204 Respuestas de ejercicios y autoevaluaciones Ejercicio 3.22 Captura, compila y ejecuta el código del ejemplo 3.6 y comprueba el código de la solución del problema. 205 Respuestas de ejercicios y autoevaluaciones Ejercicio 3.23 Codifica en lenguaje C la solución al ejercicio 3.11, captúralo, compílalo y comprueba que soluciona el problema. /*Entrega de efectivo en billetes de diferentes nominaciones*/ #include <stdio.h> #include <conio.h> int main() { int retiro,entrega; int billetes_500,billetes_200,billetes_100,billetes_50; int cantidad_billetes; char otra_transaccion; otra_transaccion='s'; entrega=0; do { printf("Monto del retiro (debe ser m%cltiplo de 50):",163); scanf("%d",&retiro); if ((retiro %50)==0 && (retiro>0)) { entrega=retiro; billetes_500= entrega/500; for(cantidad_billetes=1;cantidad_billetes<=billetes_500; cantidad_billetes++) { printf("El cajero entrega un billete de $500\n"); } entrega=entrega-500*billetes_500; billetes_200=entrega/200; for (cantidad_billetes=1;cantidad_billetes<=billetes_200; cantidad_billetes++) { printf("El cajero entrega un billete de $200\n"); } entrega=entrega-200*billetes_200; billetes_100=entrega/100; for (cantidad_billetes=1;cantidad_billetes<=billetes_100; cantidad_billetes++) { printf("El cajero entrega un billete de $100\n"); } entrega=entrega-100*billetes_100; billetes_50=entrega/50; for (cantidad_billetes=1;cantidad_billetes<=billetes_50; cantidad_billetes++) { printf("El cajero entrega un billete de $50\n"); } entrega=entrega-50*billetes_50; printf("Efectivo entregado:$%d\n",retiro); printf("Nominaci%cn de los billetes entregados\n",162); 206 Respuestas de ejercicios y autoevaluaciones printf("Billetes de $500 %d\n",billetes_500); printf("Billetes de $200 %d\n",billetes_200); printf("Billetes de $100 %d\n",billetes_100); printf("Billetes de $50 %d\n",billetes_50); } else { printf("Monto inv%clido\n",160); } printf("%cDeseas realizar otro retiro(s/n)?:",168); otra_transaccion=getche(); printf("\n\n"); } while(otra_transaccion=='s'); return 0; } En las siguientes dos ejecuciones del presente ejercicio, se muestra la captura de dos retiros: uno de $1350.00 y otro de $850.00. La pantalla de resultado es la siguiente: 207 Respuestas de ejercicios y autoevaluaciones Ejercicio 3.24 Realiza un cuadro comparativo acerca de las ventajas y desventajas de usar apps gratuitas. Apps Gratuitas Ventajas Desventajas No cuestan dinero. Que vienen con anuncios comerciales. Que hay gran variedad de ellas disponibles en internet. Muchas son de prueba y sólo duran pocos días. Son muy fáciles de descargar en cualquier computadora. No están disponibles todas las opciones. No requieren bajar actualizaciones, Ocultan algún riesgo de malware. se actualizan automáticamente No requieren de un sistema operativo en especial. Recopilan información sobre tu dispositivo incluyendo sitios visitados, ubicación, llamadas realizadas y contenidos de mensaje. Los idiomas en los que vienen son muy limitados, la mayoría vienen solo en inglés. Respuestas de la Autoevaluación Número de 1 2 3 4 5 6 7 8 pregunta Respuesta c a c d c d a b correcta 208 9 10 11 12 13 14 d a c b c d Escuela Nacional Preparatoria Guía cuaderno de trabajo académico Informática Autoevaluación Evaluación Final 1. Para la investigación en internet que realizas para la materia de Historia, el profesor te solicita emplear los siguientes operadores booleanos: AND, OR y NOT para ello. ¿Cuál es la función de utilizarlos en el trabajo que realizas? a. Procesar información b. Codificar información c. Buscar información d. Proteger Información En el museo, vimos el proceso evolutivo del hombre, los climas, el manejo de los autos, las nuevas tecnologías y las diferentes características del mismo. Si quiero asemejar el ejemplo con la evolución de las computadoras, 2. ¿cómo se puede distinguir en una computadora a que generación pertenece? a. Por el tamaño de la memoria b. Por la cantidad de almacenamiento c. Por la velocidad del procesamiento d. Por su componente interno 3. En la generación uno, ¿cómo se programaba? a. Por tarjeta perforada b. Por medio de cables conectados c. Por medio de lenguaje de programación d. Por cinta magnética Un archivo de texto, en formato PDF, DOC o TXT ocupa por lo general muy poco espacio. Aproximadamente una hoja mecanografiada utiliza unos 2KB o 2000 caracteres. En un ordenador podrías tener muchos de estos archivos de texto sin mayor problema. Puedes utilizar medios de almacenamiento como un CD-ROM o una USB para guardar un archivo de texto común. Para fines de entrega de tu tarea de informática, tu profesor(a) te pide un documento en Word en el cual le incluyas una investigación sobre el tema “Generación de computadoras”. 4. ¿Qué factor o factores pueden causar el aumento de datos en tu archivo? a. El tamaño de la letra, interlineado y márgenes b. Incluir imágenes, gráficos, formas o figuras c. El formato en cómo lo guardes d. El sistema operativo de tu computadora 209 Escuela Nacional Preparatoria Guía cuaderno de trabajo académico Informática Autoevaluación 5. Si tuvieras que entregar tu tarea por medio del correo electrónico, ¿qué elementos debes tener en cuenta en relación a las unidades de información para poder realizar el envío correcto a tu profesor? a. El dominio de tu cuenta de correo b. El límite y tamaño de archivo que puedes adjuntar en tu correo. c. El destinatario a quien va dirigido el correo d. Tener un CD-ROM en donde copiar tu archivo Para la asignatura de fotografía con la finalidad de que puedas observar la pérdida de calidad que se tiene de una imagen al pasarla de un formato a otro, te piden realizar una colección de 5 imágenes tomadas por ti para generar un collage, la cámara digital con la que cuentas es de 6MP. El collage junto con las fotos las entregarás en un CD-ROM (que tiene una capacidad de 700MB). Para el formato TIFF cada foto pesa 3xMP o 18 MB para tu cámara de 6MP, para RAW oscila entre 1.5xMP o 2xMP o 9 y 12 MB y para JPG es una relación 1/1 es decir una foto en tu cámara de 6MP pesa 6MB. 6. ¿Cuántas fotografías en formato JPG podrías almacenar en el CD-ROM? a. Entre 110 y 116 fotografías aproximadamente b. Entre 30 y 38 fotografías aproximadamente c. Entre 70 y 77 fotografías aproximadamente d. Entre 50 y 58 fotografías aproximadamente 7. En la materia de literatura te dejaron hacer un trabajo en equipo de 3 personas para la siguiente semana, debido a que todos viven en puntos separados de la ciudad es difícil juntarse en un punto común. ¿Cuál sería el almacenamiento que debes usar para esta tarea y que permite trabajar en equipo sin tener que reunirse físicamente? a. La nube b. USB c. Disco duro d. DVD 210 Escuela Nacional Preparatoria Guía cuaderno de trabajo académico Informática Autoevaluación 8. Con el avance de la tecnología y el uso de aparatos como celulares, cámaras digitales, consolas de videojuegos entre otros, necesitas una capacidad de memoria mayor a la que proporcionan estos desde fabrica para almacenar diversa información, ¿qué dispositivo de almacenamiento físico viene en varias medidas y tamaños de almacenamiento que puedes usar en estos dispositivos? a. CDROM b. Disco Duro c. Tarjeta de memoria d. Disquete 9. Una página web estática es básicamente informativa y está enfocada a mostrar información permanente. ¿Cómo puedes garantizar 2 aspectos de que la información que obtienes de ella tiene relevancia para una tarea o investigación académica? a. Por los autores y no presentar virus. b. Por no tener virus y la publicidad presentada. c. Por la publicidad presentada y las referencias digitales d. Por las referencias digitales y los autores. La preparatoria en la que estás inscrito cuenta con un centro de cómputo que provee servicio a sus alumnos. Es decir, les da préstamo de computadoras para su uso con acceso a internet y servicio de impresión. Al utilizar el equipo de cómputo generalmente los trabajos o los archivos que descargas son guardados en una USB o te los envías por internet. 10. Cuando copias los archivos trabajados USB y los pasas a tu equipo de cómputo es posible que lo infectes. Al malware que se instala por copia de archivos en tu equipo se le llama: a. Gusano b. Troyano c. Virus d. Spyware 211 Escuela Nacional Preparatoria Guía cuaderno de trabajo académico Informática Autoevaluación 11. Es posible que las computadoras del centro de cómputo contengan software que pueda dañar el equipo de cómputo y que al autocopiarse tú no te des cuenta de que se instaló también en los archivos que pasaste a tu computadora. A todo este tipo de programas se le llama: a. Software de aplicación b. Virus c. Software malicioso d. Troyano Después de enviarte archivos por e-mail que trabajaste en el centro de cómputo, te das cuenta de que tu máquina empieza a tener un comportamiento diferente al habitual, se tarda más en arrancar, trabaja más lento y has perdido archivos. 12. Por la forma en que el archivo llegó a tu equipo, ¿qué tipo malware se instaló en el equipo? a. Virus b. Gusano c. Spyware d. Rootkit 13. En los equipos del centro de cómputo no sabes si hay un antivirus o si está actualizado, por lo que es posible que se instale un malware. ¿A qué dispositivos de tu computadora puede afectar? a. Archivos b. Disco duro c. Memoria RAM d. Todas las anteriores 14. Es un tipo de computadora de tamaño pequeño con capacidades de procesamiento, con conexión a internet, memoria interna y su característica es la movilidad. a. Computadora Personal b. Celular c. Servidor d. Internet 212 Escuela Nacional Preparatoria Guía cuaderno de trabajo académico Informática Autoevaluación 15. Ramiro realizó un proyecto para la clase de geografía, por lo que necesita guardar un documento, una presentación electrónica y un video de 15 min. Además, desea compartirlo con sus compañeros. ¿Cuál sería el dispositivo de almacenamiento apropiado? a. Medio magnético b. Medio óptico c. Medio electrónico d. Medio de la nube 16. ¿Qué capacidad de memoria RAM es la más usual actualmente en el mercado para una computadora personal? a. 64 MB b. 128 MB c. 256 MB d. 1 GB 17. En la unidad central de proceso, ¿qué función realiza la tarjeta madre? a. Organiza y administra el hardware del equipo con un conjunto de programas b. Actúa como un circuito principal que conecta y comunica a todos los dispositivos y componentes conectados a ella c. Permiten la comunicación del usuario con la computadora d. Permite el almacenamiento y recuperación de grandes cantidades de información 18. ¿Qué componentes esenciales tiene un sistema operativo? a. Sistema informático, comandos y núcleo b. Programa de archivos, comandos y aplicaciones c. Sistema de archivos, interpretación de comandos y núcleo d. Programa, componentes que comunican órdenes y aplicaciones 213 Escuela Nacional Preparatoria Guía cuaderno de trabajo académico Informática Autoevaluación Mariana requiere saber qué características técnicas debe de tener un equipo de cómputo que comprará para su hija que pronto entrará a la secundaria, solo cuenta con un presupuesto de $12,000 pesos y se pregunta: 19. ¿Cuáles son las partes más importantes que debe de tomar en cuenta para la compra de su equipo de cómputo? a. Almacenamiento de la nube, teclado, monitor b. Procesador, monitor, memoria c. Procesador, memoria, disco duro d. Monitor, memoria USB, procesador 20. De las siguientes características técnicas, ¿cuáles serían las más adecuadas para el uso de un estudiante de acuerdo al costo en el mercado? a. Memoria Ram de 16 Gb, 1Tb de disco duro, procesador corei7 b. Memoria Ram de 4 Gb, 1Tb de disco duro, procesador corei3 c. Memoria Ram de 4 Gb, 1Tb de disco duro, procesador Amd A6 d. Memoria Ram de 4 gb, 1Tb de disco duro, procesador AMD Ryzen 3 21. De acuerdo al costo y a las características técnicas, ¿cuál sería la mejor opción para un estudiante que va a entrar a la secundaria y que le puede servir para la preparatoria? a. Procesador AMD Ryzen 3 / 1tb disco duro / 4gb RAM / costo $12000 b. Procesador / Intel Celeron / 500gbdisco duro / 4gb RAM / costo $6000 c. Procesador / AMD A4 / / 1tb disco duro / 4gb RAM / Costo $9999 d. Procesador / AMD A9 / 1tb disco duro / 8gb RAM / Costo $12000 Mariana decidió ya comprar el equipo de cómputo con las siguientes características: procesador / AMD A9 / 1tb disco duro / 8gb RAM / Costo $12000. Pero ahora quiere saber 22. ¿Qué sistema operativo y que software podría elegir para un chico de secundaria? a. Windows 10 b. Windows 8 c. Windows 17 d. Macintosh 214 Escuela Nacional Preparatoria Guía cuaderno de trabajo académico Informática Autoevaluación 23. ¿Cuáles son los requisitos de sistema mínimos para instalar un sistema operativo Windows 10? a. Procesador a 1 GHz/ RAM/ 1 GB para 32 bits o 2 GB para 64 bits/Espacio en disco duro: 16 GB para SO de 32 bits; 32 GB para SO de 64 bits b. Procesador a 1 GHz/ RAM 52 GB para 32 bits o 2 GB para 64 bits/Espacio en disco duro: 10 GB para SO de 32 bits; 32 GB para SO de 64 bits c. Procesador a 1 GHz/ RAM 12 GB para 32 bits o 2 GB para 64 bits/Espacio en disco duro: 11 GB para SO de 32 bits; 32 GB para SO de 64 bits d. Procesador a 2 GHz/ RAM 8 GB para 32 bits o 2 GB para 64 bits/Espacio en disco duro: 200 GB para SO de 32 bits; 32 GB para SO de 64 bits 24. ¿Cuáles son los requisitos de sistema mínimos para instalar office 365? a. Procesador a 1ghz /Sistema operativo Windows/ Memoria requerida 1 GB RAM (32 bits); 2 GB de RAM (64 bits)/Espacio libre requerido en disco duro 3.0 GB. b. Procesador a 1ghz /Sistema operativo Windows/ Memoria requerida 6 GB RAM (32 bits); 2 GB de RAM (64 bits)/Espacio libre requerido en disco duro 3.0 GB c. Procesador a 1ghz /Sistema operativo Windows/ Memoria requerida 1 GB RAM (32 bits); 12 GB de RAM (64 bits)/Espacio libre requerido en disco duro 3.0 GB d. Procesador a 1ghz /Sistema operativo Windows/ Memoria requerida 7 GB RAM (32 bits); 2 GB de RAM (64 bits)/Espacio libre requerido en disco duro 3.0 GB Vas a realizar una rifa y deseas automatizar el cálculo del total a pagar por la compra de n boletos, con las siguientes consideraciones: El costo del boleto es de $20.00 Al comprar 5 o más boletos, se realiza un descuento del 10% del total a pagar. 215 Escuela Nacional Preparatoria Guía cuaderno de trabajo académico Informática Autoevaluación Responde las siguientes preguntas: 25. ¿Cuáles son las variables involucradas en la solución del problema? a. Número de boletos y costo b. Número de boletos y total a pagar c. Número de boletos, total a pagar y costo d. Número de boletos, costo, total a pagar y descuento 26. ¿Cuáles son las constantes involucradas en la solución del problema? a. Costo y descuento b. Total a pagar y número de boletos c. Costo y total a pagar d. Descuento y número de boletos 27. Al elaborar el pseudocódigo, ¿cuál es la declaración del dato costo del boleto? a. Definir costo Como Caracter; b. Definir costo Como Entero; c. Definir costo Como Número; d. Definir costo Como $20.00 28. ¿Cuál es la expresión aritmética para calcular el total a pagar por la compra de máximo 4 boletos? a. total_pagar <- costo * num_boletos; b. total_pagar -> costo * num_boletos; c. costo * num_boletos <- total_pagar d. costo * num_boletos == total_pagar 29. ¿Cuál es la expresión aritmética para calcular el total a pagar por la compra de más de 5 boletos? a. total_pagar <- costo*num_boletos – 10; b. costo*num_boletos – 0.10 == total_pagar c. total_pagar <- costo*num_boletos - costo*num_boletos*0.10; d. total*num_boletos*0.10 <- total_pagar 216 Escuela Nacional Preparatoria Guía cuaderno de trabajo académico Informática Autoevaluación 30. Para identificar los casos en que se debe realizar el descuento del 10%, ¿qué estructura de control utilizarías? a. Para b. Repetir c. Mientras d. Si-Entonces-De lo contrario 31. ¿Cuál es la expresión de comparación para identificar los casos en que se debe aplicar el descuento? a. num_boletos > 5 b. total_pagar > 100 c. total_pagar <= 100 d. num_boletos >= 5 32. Realiza la prueba de escritorio del siguiente diagrama de flujo e indica cuál es el valor final de la variable total_pagar: a. 54 b. 60 c. 20 d. 0 217 Escuela Nacional Preparatoria Guía cuaderno de trabajo académico Informática Autoevaluación 33. La declaración en el lenguaje de programación C del dato num_boletos es: a. int num_boletos; b. num_boletos int; c. num_boletos; d. data num_boletos; 34. La codificación en lenguaje C del segmento para solicitar al usuario el número de boletos a comprar es: a. scanf("Dame el número de boletos que deseas comprar: \n"); printf("%i",&num_boletos); b. printf("Dame el número de boletos que deseas comprar: \n"); scanf("%i",num_boletos); c. printf("Dame el número de boletos que deseas comprar: \n"); scanf("%i",&num_boletos); d. printf("Dame el número de boletos que deseas comprar: \n"); scanf(&num_boletos); Realiza la prueba de escritorio del programa para el caso: comprar 3 boletos y los precios de los boletos son: 10, 20 y 30. #include<stdio.h> int main() { int i; float precio; int boleto; float pagar; pagar = 0; printf("Dame el número de boletos que deseas comprar: \n"); scanf("%i",&boleto); for(i=1;i>=boleto;i++) { printf("Dame el costo del boleto: ", boleto, " \n"); scanf("%f",&precio); pagar = pagar + precio; } printf("El total a pagar es: %f\n",pagar); return 0; } 218 Escuela Nacional Preparatoria Guía cuaderno de trabajo académico Informática Autoevaluación 35. El mensaje que muestra el programa al final es: a. El total a pagar es: 0 b. El total a pagar es: 60 c. El total a pagar es: 10 d. El total a pagar es: 30 36. ¿Cuál sería la codificación de la instrucción for para que calculara el total a pagar? a. for(i=1;i>=boleto;i++) b. for(i=1;i<=boleto;i++) c. for(i=1;i>boleto;i++) d. for(i=1;i<boleto;i++) 219 Escuela Nacional Preparatoria Guía cuaderno de trabajo académico Informática Autoevaluación 220 Respuestas a la Evaluación final Pregunta Respuesta Pregunta Respuesta Pregunta Respuesta 1 c 13 d 25 b 2 d 14 b 26 a 3 a 15 d 27 b 4 b 16 c 28 a 5 b 17 b 29 c 6 a 18 c 30 d 7 a 19 c 31 d 8 c 20 c 32 a 9 d 21 d 33 a 10 c 22 a 34 c 11 c 23 a 35 a 12 b 24 a 36 b 221 REFERENCIAS BIBLIOGRÁFICAS Unidad 1 AVAST (2015) Obtenido de Malware y antimalware: https://www.avast.com/eses/c-malware B@UNAM (2015). Sistema Operativo. Recuperado de http://www.bunam.unam.mx/ Biografías y Vidas. Claude Shanno recuperado diciembre de 2017 en https://www.biografiasyvidas.com/biografia/s/shannon.htm> Biografías y Vidas. George Boole recuperado diciembre 2017 en https://www.biografiasyvidas.com/biografia/b/boole.htm Biografías y Vidas. Konrad Zuse, recuperado diciembre de 2017 en https://www.biografiasyvidas.com/biografia/z/zuse.htm Chito Quiróz M (2017). Los Antivirus y Antimalware son exactamente lo mismo Laboratorio Virus, [Sitio Web] recuperado de http://www.laboratoriovirus.com/AntivirusAntimalware.html CGTI (2017) Obtenido de Basura digital contaminación real: http://cgti.udg.mx/noticias/basura-digital-contaminacion-real Dell. (2014). DELL. Obtenido de La Historia del Almacenamiento de Datos, recuperado diciembre 2018 en http://es.community.dell.com/dellblogs/direct2dell/b/direct2dell/archive/2014/02/17/la-historia-delalmacenamiento-de-datos Enciclopedia de Clasificaciones (2017). "Tipos de sistemas". Recuperado de: enero 2018 en http://www.tiposde.org/general/727-sistemas Generador formato APA. http://www.cva.itesm.mx/biblioteca/pagina_con_formato_version_oct/apa.ht m Greenpeace. (s.f.). Greenpeace.org. Obtenido de Basura Informática. La otra cara de la tecnología . recuperado diciembre 2017 en http://www.greenpeace.org/argentina/Global/argentina/report/2011/contamin acion/basura_electronica_otra_cara_tecnologia.pdf Información (s. f.). En: Significados.com. Disponible en: https://www.significados.com/información/ Consultado: 24 de enero de 2018, 11:59 am. Kasperrsky (2018) Otenido de ¿Qué es el código malicioso? https://latam.kaspersky.com/resource-center/definitions/malicious-code Lidia Contreras. (2010). Konrad Zuse. de Museo Informática recuperado diciembre de 2017 en,Sitio web: histinf.blogs.upv.es/2010/11/02/konradzuse/ Lugo, L (2006). Introducción a las computadoras, recuperado diciembre 2018 en http://www.uprm.edu/cti/docs/manuales/manuales-espanol/vaxvms/manuales/Intcomp.pdf Martínez, F., & Prendes, M. (2007). Nuevas tecnologías y educación. Estimado colega:»|, 27. Real Academia Española, (2017) diccionario, recuperado enero 2018 en http://www.rae.es 222 SANS (2018) Obtenido de ¿Qué es un antivirus? https://securingthehuman.sans.org/newsletters/ouch/issues/OUCH201412_sp.pdf UNAM CERT. (2009) Obtenido de: Software antivirus. https://www.seguridad.unam.mx/historico/usuario-casero/eduteca/main.dscid=116 UNESCO (2017). obtenido de Ética de la información: http://www.unesco.org/new/es/communication-andinformation/intergovernmental-programmes/information-for-all-programmeifap/priorities/information-ethics/ Universidad Nacional Autonóma de México (2003), apuntes para la Asignatura de Informática I, recuperado en diciembre 2018 en http://fcasua.contad.unam.mx/apuntes/interiores/docs/98/1/informa1.pdf Unidad 2 © Guevara Soriano Anaid. Dispositivos Móviles. Revista.Seguridad Numero 07. [Formato Digital]. Recuperado de https://www.youtube.com/watch?v=z57wr0cNKFo, el 06 de diciembre de 2017. Programing Word canal. Clasificación del software (26/01/2015). [Archivo de video]. Recuperado de https://www.youtube.com/watch?v=a-E2HXlZc8I, el 13 de diciembre de 2017. Raspberry. (2019). Raspberry Pi 4 [Imagen]. Recuperado de https://www.raspberrypi.org/products/raspberry-pi-4-model-b/. Supercomputadora Miztli UNAM. (2013). [Imagen]. Recuperado de http://www.fundacionunam.org.mx/wpcontent/uploads/2018/03/compuMIZTLI2.jpg Supercomputadoras UNAM. http://www.super.unam.mx/index.php/supercomputadorasunam UNAM Sepacomputo canal. ¿Qué es el Hardware y Software? (18/01/2016). [Archivo de video]. Recuperado de https://www.youtube.com/watch?v=PhGkt3R0LkY, el 13 de diciembre de 2017. UNAM Sepacomputo canal. ¿Qué es una computadora? (15/01/2016). [Archivo de video]. Recuperado de https://www.youtube.com/watch?v=z57wr0cNKFo, el 06 de diciembre de 2017. Velasco Bazán, R., Romero Badillo, N. A., González Sandoval, N. A. y Villanueva Vilchis A. E., (2017), Informática, México, Mx. Unidad 3 Berlanga, R., García, P., Gracia, I., Iñesta, J., & Barber, F. (2000). Introducción a la programación con Pascal. España: Publicaciones de la Universidad Jaume. Bijarro, F. (2011). Desarrollo estratégico para la investigación científica. Editado por eumed.net. Recuperado el 1 de diciembre de 2017 de: 223 http://www.eumed.net/librosgratis/2007c/306/que%20es%20un%20problema.htm Cairó O. (2010). Metodología de la programación. México: AlfaOmega. Condusef (). Historia del Cajero Automático. Recuperado de: http://www.condusef.gob.mx/Revista/index.php/usuariointeligente/educacion-financiera/222-historia-del-cajero-automatico Cruz, C. y Medina, G. Fundamentos de programación. Editado por la Universidad Autónoma del Estado de Hidalgo. Recuperado el 11 de diciembre de 2017 de: http://cidecame.uaeh.edu.mx/lcc/mapa/PROYECTO/libro4/13_metodologa_ para_la_resolucin_de_problemas.html Diario Oficial de la Nación (1996). Ley Federal del Derecho de Autor. SEGOB. Recuperado el 18 de enero de 2018 de: http://www.dof.gob.mx/nota_detalle.php?codigo=4907028&fecha=24/12/199 6 Durango, A., Arias, Á., & Gracia, J. (2016). Curso de Programación con Java. México: IT Compus Academy. Joyanes A. & Zahonero M. (2011). Programación en C, C++, JAVA y UML. México: McGrawHill. Microsoft. (2017). Introduction to Control Structures. Recuperado de: https://msdn.microsoft.com/en-us/library/aa242123(v=vs.60).aspx Peña, R. (2010). De Euclides a Java. Historia de los algoritmos y de los lenguajes de programación. Distrito Federal, México: AGT Editores. Rodríguez, J. (2003) Introducción a la Programación. España: Club Universitario. Recuperado de: https://s3.amazonaws.com/academia.edu.documents/38609102/introduccio n_a_la_programacion_teoria_y_practica.pdf?AWSAccessKeyId=AKIAIWO WYYGZ2Y53UL3A&Expires=1515382188&Signature=9R9L5lUYaNaVLmO 0C6r1czS3C18%3D&response-contentdisposition=inline%3B%20filename%3DIntroduccion_a_la_Programacion._T eoria_y.pdf Vallarta J. (2011). Un problema computable (pasos) [mensaje en un blog]. Recuperado de: https://gisellevallartabelmont.blogspot.mx/2011/03/unproblema-computable-pasos.html Zac, D. (2013). An Introduction to programming with C++. (7ª ed.). Boston: Cengage Learning. Imágenes Algalan, B. (2019). Elementos de una computadora [Imagen]. Ciudad de México. Antivirus-support ( -) [Imagen]. Recuperado de http://antivirus-support.net/forkaspersky-support.php AtoZTeacherStuff (2018) [Imagen] Generador de crucigrama disponible en : Codificación de Información. http://tools.atozteacherstuff.com/ AtoZTeacherStuff (2018)[Imagen] Generador de sopa de letras disponible en : Codificación de Información. http://tools.atozteacherstuff.com/ 224 CDEstrella ( 2017) Computadoras digitales. [Imagen] Recuperado de http://cdestrella.com.mx/equipos-de-c%C3%B3mputo.html Cedrón C (2015). Un blog para el aula. [Imagen]. Recuperado de https://unblogparaelaula.wordpress.com/author/carmencedron/ Computer History (2018) IBM PC Recuperado de http://www.computerhistory.org/revolution/personal-computers/17/301/1087 ---------- (2018) PDP1 Recuperado de http://www.computerhistory.org/exhibits/_media/img/pdp1-main.jpg Computer History Museum (2018) Circuito Integrado de 1959. Recuperado de http://www.computerhistory.org/revolution/digital-logic/12/276/1417 ---------- (2018) IBM 360. Recuperado de hhttp://www.computerhistory.org/revolution/mainframe-computers/7/161 ----------- (2018) Microprocesador Intel 8080 de 1974 . Recuperado de http://www.computerhistory.org/revolution/artifact/283/1539 Definición (-).Periféricos [Imagen] Recuperado de: https://definicion.mx/dispositivos-perifericos/ Ecured (2010) Laptop híbrida [Imagen] Recuperado de :https://www.ecured.cu/images/thumb/0/09/Computadora-hibrida.jpg/200pxComputadora-hibrida.jpg ---------- (2010). Laptop híbrida [Imagen]. Ciudad de México. ---------- (2011). Eniac2. [Fotografía]. Recuperado de: https://www.ecured.cu/images/0/0f/Eniac2.JPG ---------- (2013) Valvulas. [Fotografía]. Recuperado de https://www.ecured.cu/images/a/aa/Valvulas.jpeg Enciclopedia Libre Universal en Español (2004). Abaco_de_Napier_(tablero y varillas). [imagen] Recuperado de: http://enciclopedia.us.es/index.php/Archivo:Abaco_de_Napier_(tablero_y_va rillas).png Escuela en la nube (2018. Almacenamiento en la nube [Imagen]. Recuperado de https://www.escuelaenlanube.com/wpcontent/uploads/2013/02/SugarSync-almacenamiento-en-la-nube300x170.jpg ImageMag (2016) Dispositivos móviles[Imagen] Recuperado de: https://imagemag.ru/img-ba_moviles.htmlg Imagen 3.1 Altmann, J. (s/f). Problema-solución-ayuda-apoyo [imagen] en Pixabay. Recuperada de: https://pixabay.com/es/illustrations/problemasoluci%C3%B3n-ayuda-apoyo-3303396/ Imagen 3.2 Ingenio&empresa (2018) Análisis [imagen] Recuperado de https://ingenioempresa.com/wp-content/uploads/2018/03/5-porqués.png Imagen 3.3 Villegas, R. (2019). Programación [imagen]. Imagen 3.4 Universia (2016) Lenguajes Programación [imagen].Recuperado de https://imagenes.universia.net/gc/net/images/cienciatecnologia/l/le/len/lenguajes-de-programacion.jpg Imagen 3.5 pxhere (,2018) Abstracto [imagen] Recuperado de Imagen 3. 6 Computrabajo, (2018 Futuro.) [imagen] Recuperado de https://blog.computrabajo.com.mx/candidato/wp-content/uploads/2018/09/empleosfuturos-1120x450.jpg 225 Industrial Alchemy (2018). [Fotografía]. Recuperado de http://www.industrialalchemy.org/media2/pict12/2n35.jpg Inspirito(2016). Digital [imagen] Recuperado de: https://pixabay.com/es/digitalesresumen-binario-c%C3%B3digo-1742679/ ITP.net (2010) Macrocomputadoras [Imagen]. Recuperado de http://www.itp.net/581204-ibm-announces-major-mainframe-advancement Jimenez Rasgado ( 2016 ).Actividades del análisis del problema. [Imagen]. Recuperado https://sites.google.com/site/portafoliodigitalguillermina Mandujano Ortíz (2017). Máquina tabuladora [Fotografía] Recuperado de: https://rafamandu.files.wordpress.com/2015/10/dsc_0304.jpg?w=620&h=34 9 Mejorantivirusahora (2014). Antivirus[Imagen] Recuperado de: https://mejorantivirusahora.com/wp-content/uploads/2014/04/antivirus.jpg Mendoza Grado V. M (1998).[Imagen] Recuperado de: http://www.historiadelcomputo.unam.mx/files/40anos/memorias_40_anos/hi storia/hisvmg04.htm MikroElectrónica (2018) Conversión a decimal. [Imagen]Recuperado de https://cdn.mikroe.com/ebooks/img/37/2016/02/al-mundo-de-losmicrocontroladores-chapter-01- 0-3.gif Minicompuitadora (Y-RAY) [Imagen]. Recuperado de: http://y-ray/Servorent.html Monniaux D.(2018) Arts et Metiers Pascalina. [Fotografía] Recuperado de https://upload.wikimedia.org/wikipedia/commons/8/80/Arts_et_Metiers_Pasc aline_dsc03869.jpg Partes de la computadora (2017).Microcomputadoras. [Imagen] Recuperado de http://partesdelacomputadora.info/sexta-generacion-de-computadoras/ Pérez, G. (2019). Portada [Imagen]. Ciudad de México. ---------- (2019). Computadoras [Imagen]. Ciudad de México. ---------- (2019). Microcomputadoras [Imagen]. Ciudad de México. ---------- (2019). Computadora analógica COMDYNA GP-6 [Imagen]. Ciudad de México. ---------- (2019). Computadoras digitales [Imagen]. Ciudad de México. ---------- (2019). Dispositivos móviles [Imagen]. Ciudad de México. ---------- (2019). Almacenamiento de la información [Imagen]. Ciudad de México. ---------- (2019). Hardware y software [Imagen]. Ciudad de México. ---------- (2019). Hardware [Imagen]. Ciudad de México. ---------- (2019). Elementos de una computadora [Imagen]. Ciudad de México. ---------- (2019). Microprocesador [Imagen]. Ciudad de México. ---------- (2019). Memorias RAM y ROM [Imagen]. Ciudad de México. ---------- (2019). Periféricos [Imagen]. Ciudad de México. ---------- (2019). Sistemas [Imagen]. Ciudad de México. ---------- (2019). Sistemas operativos [Imagen]. Ciudad de México. ---------- (2019). Sistemas operativos móviles [Imagen]. Ciudad de México. ---------- (2019). Tipos de software [Imagen]. Ciudad de México. ---------- (2019). Software [Imagen]. Ciudad de México Pixabay (2016). [Imagen] Recuperado de https://cdn.pixabay.com/photo/2016/06/09/17/02/computer1446109__340.jpg 226 Pixabay(-) Disquette. [Imagen ]Recuperado de: https://pixabay.com/es/disquetede-ordenador-5-1219931/ Pixabay(-). Disco flexible[Imagen] Recuperado de: https://pixabay.com/es/discoflexible-disquete-23343/ Rahman F. (2011). Computadora ABC. Atanasof_Berry Computer [Fotografía] Recuperado de https://fahmirahman.files.wordpress.com/2011/04/atanasoffberry-computer.jpg Ransomware (Pixabay, 2018). [Imagen] Recuperado de https://pixabay.com/es/ordenador-port%C3%A1til-teclado-2450220/ Raspberrypi. (2019). Minicomputadora [Imagen]. Recuperado de https://www.raspberrypi.org/products/raspberry-pi-4-model-b/. Romero, N. (2019). Carpetas creadas en sistema operativo gráfico [Imagen]. Ciudad de México. Romero, N. (2019). Ejemplo de búsqueda en sistema operativo gráfico [Imagen]. Ciudad de México. Supercomputadora Miztli UNAM. (2013) [Imagen]. Recuperado de: http://historiadelcomputo.unam.mx/files/fotos/Miztli/Miztli.html#.WpITIRNuaR s Taylo (s/f) Capacidad de almacenamiento. [Imagen] Recuperado de http://hstaylor.weebly.com/uploads/4/5/0/5/45054429/2949779_orig.jpg The Computer Museum( ) Computadora analógica COMDYNA GP-6 https://museum.syssrc.com/artifact/251/ Universitat de València (2018) Operdores booleanos [Imagen] Disponible en http://mural.uv.es/deceta/operadores_booleanos.jpg VPE (2015)Dispositivos de almacenamiento () .Recuperado de http://vpe.cun.edu.co/cordoba751antiguo/OVAS/Computador/alamacenamie nto.jpg Western Office Equipment(2018). Antimalware.[Imagen]. Recuperado de: http://www.westernoffice.net/2017/03/03/avg-and-malwarebytes/ 227