Download Algoritmos
Document related concepts
no text concepts found
Transcript
Fundamentos de programación Organización de una computadora Datos • Una computadora procesa datos • Los convierte en información significativa • Datos >> Computadora >> Información Calculadora • Una calculadora efectúa operaciones sobre datos de entrada y produce resultados • Las operaciones no están almacenadas • El usuario (operador) es quien indica las operaciones • Si es programable, es computadora Modelo de von Newmann • Programa (conjunto de instrucciones) almacenado en memoria • Se ejecutan las instrucciones en secuencia • Permite la aplicación de algoritmos Computadora • Proporciona la capacidad de: – Aceptar la entrada – Visualizar o presentar la salida – Almacenar la información – Ejecutar operaciones aritméticas o lógicas sobre los datos de entrada o de salida – Monitorizar, controlar y dirigir operaciones globales y de secuencia del sistema Componentes más importantes Procesador (CPU) Unidad Aritmética Lógica Entrada Unidad de Control Memoria Almacenam secundario Salida El procesador • Dispositivo que ejecuta la instrucciones del programa • También conocido como CPU (no confundir con el gabinete • Si el procesador está en un solo chip, se le conoce como microprocesador Datos, algoritmos y lenguajes Conocer las herramientas, anta de pretender usarlas Datos e información • Datos – Representación de algún hecho, concepto o entidad real • Información – Datos procesados y organizados Sistema • Conjunto de componentes interconectados e interactivos que tienen un propósito y una unidad total Resolución de problemas con computadoras Si existe el algoritmo, el problema está CASI resuelto Fases en la resolución de problemas • • • • • • • • Análisis del problema Diseño del algoritmo Codificación Compilación y ejecución Verificación Depuración Mantenimiento Documentación Análisis • El problema se analiza – Comprensión de la naturaleza del problema, bien definido – Especificación de requisitos del cliente, particularmente los datos de entrada y la salida esperada – Se deben conocer los datos involucrados, y eliminar los que no son relevantes – Se debe conocer la información que el cliente espera y su presentación Diseño • Se diseña la solución que conducirá a un algoritmo que resuelva el problema • Descomponer el problema en subproblemas y estos en sub-sub-problemas, sucesivamente • Se debe llegar a problemas simples, cuya solución sea implementable en la computadora • A esto se le denomina diseño descendente, también conocido como divide y vencerás Algoritmo La parte intelectual de la resolución del problema. El resto, es talacha Algoritmo • Conjunto de tareas o pasos en una cantidad finita que se ejecutan en un orden determinado, y para determinada situación inicial se resuelve el problema en un tiempo finito. Situación inicial >> algoritmo >> solución Características de un algoritmo • • • • • • Correcto (resolver el problema) Eficiente (recursos y tiempo) Claro Flexible (adaptable) Preciso (bien definido el orden de pasos) Bien definido (mismo resultado para cada mismo problema) • Finito (debe terminar, en un número finito de pasos) • Fiable (proporcionar solución) Representación gráfica de un algoritmo Métodos de representación: – Diagrama de flujo – Diagrama N-S (Nassi-Schneiderman) – Lenguaje de especificación de algoritmos: Pseudocódigo – Lenguaje natural (español) – Fórmulas Diagrama de flujo • Se utilizan símbolos (cajas) estándar que representan los pasos del algoritmo • Unidos por flechas: líneas de flujo • Los símbolos están normalizados por ANSI Diagrama N-S • También conocido como diagrama de chaplin • Como el diagrama de flujo, pero se omiten líneas de flujo y las cajas son contiguas Pseudocódigo • Describe el algoritmo de manera simple • Su conversión a código en un lenguaje es simple • El desarrollador se concentra en la lógica y estructuras de control, sin pensar en el lenguaje • Lo escrito en pseudocódigo se convierte en comentarios del lenguaje Pseudocódigo Calcular el valor de la suma 1+2+3+…+100 Seudocódigo: 1. Establecer Contador a 1 2. Establecer Suma a 0 3. mientras Contador <= 100 hacer Sumar Contador a Suma Incrementar Contador en 1 fin-mientras 4. Visualizar Suma Lenguaje natural • Se describen los pasos en simple lenguaje natural • En nuestro caso: español Fórmulas • Las fórmulas expresan las operaciones necesarias para obtener el resultado a partir de los datos de entrada y algunas constantes Diagramas de Flujo Pseudocódigo