Logo Studenta

RESUMEN PROGRAMACION UNIDAD 1

¡Estudia con miles de materiales!

Vista previa del material en texto

PENSAMIENTO COMPUTACIONAL
· ABSTRACCION:
· DESCOMPOSICION:
· PATRONES: ordenamiento de cosas que se repiten de manera lógica
· ALGORITMOS: secuencia de pasos o instrucciones que representan un modelo de solución para determinado tipo de problema (Joyanes Aguilar). El proceso de romper el problema en cada etapa y expresar cada paso en forma más detallada se denomina refinamiento sucesivo.
CARACTERISTICAS DE UN ALGORITMO: 
· Preciso: indicar orden de operaciones 
· Definido: si se sigue un algoritmo 2 veces, se debe obtener el mismo resultado. 
· Finito: Debe finalizar en algún momento
· La definición de un algoritmo debe describir tres partes:
 Entrada, Proceso y Salida.
El pensamiento computacional: Es un proceso para la solución de problemas a través de diferentes técnicas como: 
· Organización y análisis de información de manera lógica.
· Representación de información mediante abstracciones tales como modelaciones y simulaciones o diagramas.
· Automatización de soluciones mediante el pensamiento algorítmico (una serie ordenada de pasos).
· Identificación, análisis e implementación de posibles soluciones (pensamiento lógico) con el objetivo de lograr la combinación más efectiva y eficiente de pasos y recursos.
METODOLOGÍA PARA DEFINIR Y RESOLVER UN PROBLEMA
La resolución de un problema pasa por cuatro etapas diferentes
METODOLOGÍA: POLYA + PENSAMIENTO COMPUTACIONAL
· ENTENDER EL PROBLEMA: ANALISIS 
· TRABAJAR EN UN PLAN: 
1. Abstracción Patrones 
2. Dividir el problema en subproblemas 
3. Identificar Datos de entrada y salida 
4. Proceso genérico: Refinamiento 0
· EJECUTAR EL PLAN : Refinamientos necesarios. 
· EXAMINAR SOLUCIÓN
Existen varias metodologías de resolución de problemas pero que siguen un mismo patrón de solución el cual consiste en: 
· Identificar un problema y recolectar la información. 
· Diseñar una o varias soluciones. 
· Llevar a cabo un plan de acción o implementación de las posibles respuestas. 
· Revisar realizado y volver a empezar, si es necesario, haciendo una reflexión y/o replanteamiento
LAS FASES DE RESOLUCIÓN DE UN PROBLEMA CON COMPUTADORA SON:
Análisis del problema:
• ¿Qué entradas se requieren? (tipo de datos con los cuales se trabaja y cantidad).
• ¿Cuál es la salida deseada? (tipo de datos de los resultados y cantidad).
• ¿Qué método produce la salida deseada?
• Requisitos o requerimientos adicionales y restricciones a la solución.
· Diseño del algoritmo. 
· Codificación. 
· Compilación y ejecución. 
· Verificación. 
· Depuración.
· Mantenimiento. 
· Documentación.
EN QUÉ ME AYUDA APRENDER A RESOLVER PROBLEMAS??
 ADQUIRIR: 
· Confianza en el manejo de la complejidad. 
· Persistencia al trabajar con problemas difíciles. 
· Tolerancia a la ambigüedad. 
· Habilidad para lidiar con problemas no estructurados. 
· Habilidad para TRABAJAR EN EQUIPO
Las dos herramientas más utilizadas para diseñar algoritmos son: 
· Diagramas de flujo: (flowchart) es una representación gráfica de un algoritmo. 
· Pseudocódigo: es una herramienta de programación en la que las instrucciones se escriben en palabras similares al inglés o español, que facilitan tanto la escritura como la lectura de programas.
· Las instrucciones son acciones básicas que se pueden implementar de modo general en un algoritmo y que esencialmente soportan todos los lenguajes. Las instrucciones básicas son independientes del lenguaje.
El proceso que convierte los resultados del análisis del problema en un diseño modular con refinamientos sucesivos que permitan una posterior traducción a un lenguaje se denomina diseño del algoritmo. 
El diseño del algoritmo es independiente del lenguaje de programación en el que se vaya a codificar posteriormente.
Estructura general de un programa: Concepto 
Un programa de computadora es un conjunto de instrucciones —órdenes dadas a la máquina— que producirán la ejecución de una determinada tarea. En esencia, un programa es un medio para conseguir un fin. El fin será probablemente definido como la información necesaria para solucionar un problema. El proceso de programación es, por consiguiente, un proceso de solución de problemas y el desarrollo de un programa requiere las siguientes fases
PARTES DE UN PROGRAMA
El programador debe establecer el conjunto de especificaciones que debe contener el programa: entrada, salida y algoritmos de resolución, que incluirán las técnicas para obtener las salidas a partir de las entradas.
PROGRAMACIÓN ESTRUCTURADA
 Es un paradigma de programación basado en utilizar funciones o subrutinas, y únicamente tres estructuras de control: 
· SECUENCIA: ejecución de una sentencia tras otra. 
· SELECCIÓN O CONDICIONAL: ejecución de una sentencia o conjunto de sentencias, según el valor de una variable booleana.(if /else.) 
· ITERACIÓN (CICLO THENO BUCLE): ejecución de una sentencia o conjunto de sentencias, mientras una variable booleana sea verdadera. (while /for/repeat)
DATOS E INFORMACIÓN
DATOS: Son hechos aislados, como el número de empleado, el total de hora semanales trabajadas, los números de parte de un inventario o las órdenes de venta.
INFORMACIÓN : Conjunto de hechos organizados de tal forma que poseen un valor adicional más allá del que tiene cada uno por sí mismo. Mediante la definición y organización de las relaciones entre los datos se genera información.
TIPOS DE DATOS
El primer objetivo en todo programa es el manejo de la información o datos. 
Tipos de datos: 
· numéricos (entero, real) 
· lógicos (boolean) true/false 
· carácter (carácter, cadena) (Caracteres numéricos, alfabéticos, especiales)
CONSTANTES Y VARIABLES
· Una constante es un dato que permanece sin cambios durante todo el desarrollo del algoritmo o durante la ejecución del programa
· Una variable es un dato que su valor cambia durante la ejecución del programa.
ABSTRACCIÓN PROCEDIMENTAL
Una abstracción procedimental separa el propósito de un subprograma de su implementación. Una vez que un subprograma se haya escrito o codificado, se puede usar sin necesidad de conocer su cuerpo y basta con su nombre y una descripción de sus parámetros.
ABSTRACCIÓN DE DATOS
 Se centra en las operaciones que se ejecutan sobre los datos en vez de cómo se implementarán las operación. 
Un tipo abstracto de datos (TAD) es una colección de datos y un conjunto de operaciones sobre esos datos. Tales operaciones pueden añadir nuevos datos, o quitar datos de la colección, o buscar algún dato. Los otros módulos de la solución conocerán qué operaciones puede realizar un TAD. Sin embargo, no conoce cómo se almacenan los datos ni cómo se realizan esas operaciones.
UNIDAD 2: ESTRUCTURAS SECUENCIALES Y SELECTIVAS EN LA PROGRAMACIÓN
ESTRUCTURAS DE CONTROL: Conjunto de técnicas que permite elaborar programas en cualquier lenguaje de programación. 
Las estructuras de control o sentencias básicas son una de estas técnicas, y permiten iniciarse sin dificultad en la programación.
¿QUÉ ES EL FLUJO DE CONTROL DE UN PROGRAMA? 
Se llama flujo de control al orden en el que se ejecutan las instrucciones de un programa, siendo las propias instrucciones las que determinan o controla dicho flujo. 
En un programa, a menos que el flujo de control se vea modificado por una instrucción de control, las instrucciones siempre se ejecutan secuencialmente, una detrás de otra, en orden de aparición, de izquierda a derecha y de arriba abajo, que es el flujo natural de un programa.
ESTRUCTURA SECUENCIAL Y SELECTIVAS 
· La estructura secuencial es la más sencilla de todas pero a su vez es la más fundamental. el orden en que se ejecutan las instrucciones es en secuencia por omisión, es decir si no se dice lo contrario. Después de la instrucción n seguirá la instrucción n+1, esto significa que después de la instrucción 1 sigue la 2, luego la 3 y así sucesivamente hasta llegar al final del algoritmo. 
· Las estructuras condicionales comparan una variable contra otro(s)valor (es), para que en base al resultado de esta comparación, se siga un curso de acción dentro del programa. Cabe mencionar que la comparaciónse puede hacer contra otra variable o contra una constante, según se necesite. Existen tres tipos básicos, las simples, las dobles y las múltiples.
Las estructuras condicionales controlan si una sentencia o bloque de sentencias se ejecutan, en función del cumplimiento o no de una condición o expresión lógica.
ESTRUCTURAS DE DECISIÓN ANIDADAS.
Permiten comparar una variable contra distintos posibles resultados, ejecutando para cada caso una serie de instrucciones especificas
ALTERNATIVA MÚLTIPLE (SEGÚN SEA)
 Con frecuencia —en la práctica— es necesario que existan más de dos elecciones posibles. Estos problemas se podrían resolver por estructuras alternativas simples o dobles, anidadas o en cascada; sin embargo, este método si el número de alternativas es grande puede plantear serios problemas de escritura del algoritmo y naturalmente de legibilidad. La estructura de decisión múltiple evaluará una expresión que podrá tomar n valores distintos, 1, 2, 3, 4, ..., n. Según que elija uno de estos valores en la condición, se realizará una de las n acciones, o lo que es igual, el flujo del algoritmo seguirá un determinado camino entre los n posibles. Los diferentes modelos de pseudocódigo de la estructura de decisión múltiple son:

Continuar navegando