Fundamentos de programación Organización de una computadora

Preview:

Citation preview

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)Procesador (CPU)

Unidad Aritmética Lógica

Unidad Aritmética Lógica

Unidad de ControlUnidad de ControlEntradaEntrada SalidaSalida

MemoriaMemoria Almacenam secundarioAlmacenam 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 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+…+100Seudocódigo:1. Establecer Contador a 12. Establecer Suma a 03. mientras Contador <= 100 hacer

Sumar Contador a SumaIncrementar Contador en 1fin-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

Recommended