260 likes | 425 Views
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
E N D
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 Unidad de Control Salida Entrada Memoria Almacenam secundario
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 datosinvolucrados, 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: • Establecer Contador a 1 • Establecer Suma a 0 • 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