Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Pensamiento Computacional Unidad 2 Lógica Computacional Tema 1 Resolución de problemas basados en computadoras Pensamiento Computacional Objetivo Adquirir habilidades técnicas y competencias computacionales necesarias para abordar desafíos y problemas utilizando la tecnología Introducción ❑ La resolución de un problema mediante un ordenador consiste en el proceso que, a partir de la descripción de un problema expresado habitualmente en lenguaje natural y en términos propios del dominio del problema, permite desarrollar un programa que resuelva dicho problema. ❑ Se denomina instrucción al conjunto de datos insertados en una secuencia estructurada o específica que el procesador interpreta y ejecuta. Subtemas » Subtemas: 1 Instrucciones, operadores lógicos y relacionales; y, tipos de datos. 2 Constantes y variables, expresiones. 3 Análisis de requerimientos, estructura de un pseudocódigo, abstracción. Resolución de problemas basados en computadoras El algoritmo es una serie ordenada de procesos o pasos que deben llevarse a cabo para dar solución a un problema específico. Características • Preciso • Definido • Finito • Legible Algoritmo Resolución de problemas basados en computadoras Características de un algoritmo El orden de ejecución de sus pasos o instrucciones debe ser riguroso, algunos tendrán que ser ejecutados antes de otros, de manera lógica, por ejemplo, no se podrá imprimir un archivo, si previamente no se ha encendido la impresora y no se podrá encender la impresora si previamente no se tiene una. PRECISO Y ORDENADO Si el algoritmo se ejecuta en repetidas ocasiones, usando los mismos datos, debe producir siempre el mismo resultado. DEFINIDO Todo algoritmo posee un inicio, de igual forma debe tener un final; la ejecución de sus instrucciones debe terminar una vez procese los datos y entregue resultados. FINITO CARACTERÍSTICAS Tiene que haber claridad en el texto que describe el al algoritmo, de tal manera que sea posible leerlo y entenderlo con facilidad. LEGIBLE Análisis del problema Definición de Requisitos Creación de algoritmo Implementación de algoritmo Resolución de problemas basados en computadoras Pasos para la construcción de un Algoritmo Resolución de problemas basados en computadoras Las fases para construir un programa, y resolver un problema son las siguientes: 1. Definición del problema. 2. Análisis del problema. 3. Diseño de la solución. 4. Implementación de la solución. 5. Prueba y Depuración. En esta etapa, identificamos y comprendemos claramente el problema que queremos resolver. Es importante delimitar el problema y establecer los objetivos y requisitos que se deben cumplir. Analizamos en profundidad el problema para comprender su estructura y características. Exploramos posibles enfoques y estrategias para abordarlo y consideramos las limitaciones y restricciones involucradas. 1. Definición del problema 2. Análisis del problema Resolución de problemas basados en computadoras Diseñamos una solución eficiente y efectiva para el problema identificado. Utilizamos herramientas y técnicas de la lógica computacional para desarrollar un plan lógico y detallado. Traducimos el diseño de la solución en código de programación. Utilizamos un lenguaje de programación adecuado y aplicamos buenas prácticas de programación para implementar la solución de manera precisa. 3. Diseño de la solución 4. Implementación de la solución Resolución de problemas basados en computadoras En esta etapa, evaluamos la solución implementada para verificar su funcionamiento correcto. Realizamos pruebas exhaustivas, identificamos errores o fallos y los corregimos mediante técnicas de depuración. 5. Prueba y depuración Resolución de problemas basados en computadoras Subtema 1: Instrucciones. Al iniciar el proceso de diseño del algoritmo debemos definir instrucciones para resolverlo, estas instrucciones se deben escribir y posteriormente almacenar en memoria en el mismo orden en que han de ejecutarse. Subtema 1: Instrucciones. Las instrucciones básicas que se pueden implementar de manera general en un algoritmo y que son soportadas en todos los lenguajes de programación las mencionamos a continuación: Subtema 1: Operadores lógicos y relacionales. Para evaluar expresiones contamos con una amplio conjunto de operadores Operadores Asignación Aritméticos Relacionales Lógicos Operadores Subtema 1: Operadores lógicos y relacionales. Operadores Aritméticos DIV MOD Subtema 1: Operadores lógicos y relacionales. Operadores Relacionales Subtema 1: Operadores lógicos y relacionales Operadores Lógicos Subtema 1: Operadores lógicos y relacionales Operadores Lógicos Subtema 1: Operadores lógicos y relacionales Precedencia de Operadores Subtema 1: Tipos de datos. Siendo el dato la unidad mínima de información , los tipos de datos se refieren al valor que se puede almacenar en una variable o constante en un programa. Algunos de los tipos de datos más comunes son: ✓ Números enteros (sin coma) 758 -48 Rango es negativos y positivos ✓ Números reales o de puntos flotantes (con coma) Rango es negativos y positivos, números con parte decimal 8/2 = 4 7,58 -4,8 -48 -2 = -50 8/3 = 2,66 -4,8 -2,0 = -6,8 Subtema 1: Tipos de datos. ✓ Carácter # b Cualquier Símbolo o letra ✓ Lógico (Booleano) Puede tener 2 valores: Falso o Verdadero Z Verdadero Hola mundo Falso Cadena de caracteres true false FV Subtema 1: Tipos de datos. Una Variable es un nombre simbólico que identifica una dirección de memoria, su valor puede cambiar durante la ejecución de un programa. Una Variable debe ser : • Declarada • Inicializada • Utilizada Subtema 2: Variables. • Una Constante es el un elemento de almacenamiento de datos o direcciones de memoria , que no varían durante la ejecución de un programa. • En la declaración de una variable o constante se debe indicar el tipo de dato al que pertenece. Subtema 2: Constantes • La variable "radio" se utiliza para almacenar el valor del radio del círculo, que es ingresado por el usuario. • La constante "pi" se utiliza para almacenar el valor de pi, que se mantiene constante durante toda la ejecución del programa. • La variable "area" se utiliza para almacenar el resultado del cálculo del área del círculo. Fórmula Área = π * radio^2 Ejercicio: Área de un círculo • Las expresiones son combinaciones de constantes, variables y operadores de diferentes tipos que nos permiten manipular datos para obtener información nueva. • Los lenguajes de programación usan los mismos conceptos de las operaciones matemáticas tradicionales, tales como el agrupamiento y la precedencia de operadores. • Están compuestas de un operando y dos operadores y tienen un valor. • El valor de la expresión se obtiene al tomar los valores de los operandos y aplicarles el operador. • Los operandos pueden ser constantes, variables u otras expresiones y se clasifican en aritméticos, relacionales, lógicos y de conversión de tipos dependiendo del tipo de los operandos que manipulan y del tipo del valor que regresan. Subtema 2: Expresiones. Subtema 2: Expresiones. 25 + 8 * 4 < 35/7 + 1 ^ (56/7) - 4 AND 20 – 8 >15 25 + 8 * 4 < 35/7 + 1 ^ (8) - 4 AND 20 – 8 >15 25 + 32 < 5 + 1 - 4 AND 20 – 8 >15 57 < 2 AND 12 >15 Falso ^ Falso Falso Subtema 2: Expresiones. 25 + 8 * 4 < 35/7 + 1 - 4 AND 20 – 8 >15 Subtema 3: Análisis de requerimientos El análisis de requerimientos es un estudio profundo de una necesidad tecnológica que tiene una empresa, organización o negocio. En este proceso, se realiza un análisis exhaustivo del sistema que se va a desarrollar. Se definen y aplican técnicas que permitan analizar los requisitos necesarios para su buen desarrollo. Subtema 3:Estructura de un pseudocódigo. El pseudocódigo es un lenguaje intermedio entre el lenguaje natural y cualquier lenguaje de programación específico, como son: C, FORTRAN, Pascal, etc. Noexiste una notación formal o estándar de pseudocódigo, sino que, cada programador puede utilizar una notación propia. • El pseudocódigo es una forma de expresar los distintos pasos que va a realizar un programa, de la forma más parecida a un lenguaje de programación. Su principal función es la de representar por pasos la solución a un problema o algoritmo, de la forma más detallada posible, utilizando un lenguaje cercano al de programación. • El pseudocódigo no puede ejecutarse en un ordenador ya que entonces dejaría de ser pseudocódigo, como su propio nombre indica, se trata de un código falso (pseudo = falso), es un código escrito para que lo entienda el ser humano y no la máquina. Subtema 3: Estructura de un pseudocódigo. • Ocupa menos espacio en una hoja de papel • La ventaja del pseudocódigo es que en su uso, en la planificación de un programa, el programador se puede concentrar en la lógica y en las estructuras de control y no preocuparse de las reglas de un lenguaje específico • Permite representar en forma fácil operaciones repetitivas complejas • Es muy fácil pasar de pseudocódigo a un programa en algún lenguaje de programación. • Si se siguen las reglas se puede observar claramente los niveles que tiene cada operación. • Nota: Es importante en los pseudocódigos el uso de la indentación o sangría Subtema 3: Estructura de un pseudocódigo • Ejemplo de palabras claves utilizadas de modo general en un lenguaje de programación Subtema 3: Estructura de un pseudocódigo INICIO • VARIABLES • INSTRUCCIONES U OPERACIONES • RESULTADOS FIN • La estructura de un pseudocódigo comienza con la palabra start y finaliza con la palabra end, en inglés (en español, inicio, fin). Entre estas palabras, sólo se escribe una instrucción o acción por línea. Subtema 3: Estructura de un pseudocódigo • Un ejemplo aclaratorio en el uso del pseudocódigo podría ser un sencillo algoritmo del arranque de un coche. inicio //arranque de un coche poner palanca de cambio en neutro introducir la llave de contacto girar la llave de contacto si el motor se enciende entonces esperar unos instantes a que se caliente el motor continuar con la sentencia o línea 12 de lo contrario revisar porqué no encendió solucionado la falla mecánica regresar a la sentencia 3 (línea 3) fin del si poner palanca de cambio en primera pisar el acelerador lentamente Continuar con el viajefin Fin Subtema 3: Estructura de un pseudocódigo • La abstracción es una estrategia de resolución de problemas en la cual el programador se concentra en resolver una parte del problema ignorando completamente los detalles sobre cómo se resuelven el resto de las partes. En este proceso de abstracción se considera que el resto de las partes ya han sido resueltas y por lo tanto pueden servir de apoyo para resolver la parte que recibe la atención. • Una vez hecha la descomposición en subproblemas, resulta natural resolver cada uno de ellos en una función o un procedimiento. Como los subproblemas son más sencillos que el problema original, su complejidad (dada por su tamaño y número de variables) será inferior a la complejidad del mismo problema resuelto por medio de un solo procedimiento. Subtema 3: Abstracción. • La abstracción es la estrategia de programación más importante en computación. Sin abstracción las personas serían incapaces de abordar los problemas complejos. La pericia de un programador no está en ser veloz para escribir líneas de programa, si no que en saber descubrir, en el proceso de diseño, cuáles son las partes del problema, y luego resolver cada una de ellas abstrayéndose de las otras. • Un ejemplo de abstracción es el hecho de que uno pueda conducir un automóvil sin ser un mecánico (lo cual probablemente no era cierto con los primeros vehículos). Al conducir, uno se abstrae de cómo funciona la combustión en el motor. Sólo se requiere saber cómo se maneja el volante y los pedales, y cuales son las reglas del tránsito. Subtema 3: Abstracción. • DIFERENTES MODELOS DE ABSTRACCIÓN DEL TÉRMINO CARRO • Un carro es la combinación (o composición) de diferentes partes, tales como motor, carrocería, cuatro ruedas, cinco puertas, etc. • Un coche (carro) es un concepto común para diferentes tipos de coches. Pueden clasificarse por el nombre del fabricante (Audi, BMW, SEAT, Toyota, Chrisler...) • por su categoría (turismo, deportivo, todoterreno...), • por el carburante que utilizan (gasolina, gasoil, gas, híbrido...). Subtema 3: Abstracción. » JOYANES AGUILAR LUIS. (2003). FUNDAMENTOS DE PROGRAMACIÓN. MEXICO: MC GRAW HILL. » Fundamentos de computación https://www.youtube.com/watch?v=C19lKwVZE60&list=PL46- B5QR6sHkc2PwGOVa_X3HRmCokEizb » Definición y características de Algoritmo - Tipos , Operadores y Variables https://www.youtube.com/watch?v=Tu9OQSff-gw » Instrucciones de Entrada/Salida Cálculo y Control – https://www.youtube.com/watch?v=Meciq2t8gTQ » Tipos de Datos https://www.youtube.com/watch?v=rRZI3kzPDV0&list=PL46- B5QR6sHmIim_g4RzKqnH_5AIG7wP1&index5 » Asignar nombres a Variables/constantes (IdenAficadores) https://www.youtube.com/watch?v=eoTravXOsTk » Operadores Aritméticos https://www.youtube.com/watch?v=6cprJILuARw Bibliografía » Operadores Relacionales https://www.youtube.com/watch?v=thoXz7vYE4k&list=PL46-B5QR6sHmIim_g4RzKqnH_5AIG7wP1&index=14 » Operadores Lógicos https://www.youtube.com/watch?v=G1WIQkm7FBQ&list=PL46-B5QR6sHmIim_g4RzKqnH_5AIG7wP1&index=15 Bibliografía Diapositiva 1 Diapositiva 2 Diapositiva 3 Diapositiva 4 Diapositiva 5 Diapositiva 6 Diapositiva 7 Diapositiva 8 Diapositiva 9 Diapositiva 10 Diapositiva 11 Diapositiva 12 Diapositiva 13 Diapositiva 14 Diapositiva 15 Diapositiva 16 Diapositiva 17 Diapositiva 18 Diapositiva 19 Diapositiva 20 Diapositiva 21 Diapositiva 22 Diapositiva 23 Diapositiva 24 Diapositiva 25 Diapositiva 26 Diapositiva 27 Diapositiva 28 Diapositiva 29 Diapositiva 30 Diapositiva 31 Diapositiva 32 Diapositiva 33 Diapositiva 34 Diapositiva 35 Diapositiva 36 Diapositiva 37 Diapositiva 38 Diapositiva 39: Bibliografía Diapositiva 40
Compartir