26
Fundamentos de programación Organización de una computadora

Fundamentos de programación Organización de una computadora

Embed Size (px)

Citation preview

Page 1: Fundamentos de programación Organización de una computadora

Fundamentos de programación

Organización de una computadora

Page 2: Fundamentos de programación Organización de una computadora

Datos

• Una computadora procesa datos• Los convierte en información significativa• Datos >> Computadora >> Información

Page 3: Fundamentos de programación Organización de una computadora

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

Page 4: Fundamentos de programación Organización de una computadora

Modelo de von Newmann

• Programa (conjunto de instrucciones) almacenado en memoria

• Se ejecutan las instrucciones en secuencia• Permite la aplicación de algoritmos

Page 5: Fundamentos de programación Organización de una computadora

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

Page 6: Fundamentos de programación Organización de una computadora

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

Page 7: Fundamentos de programación Organización de una computadora

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

Page 8: Fundamentos de programación Organización de una computadora

Datos, algoritmos y lenguajes

Conocer las herramientas, anta de pretender usarlas

Page 9: Fundamentos de programación Organización de una computadora

Datos e información

• Datos– Representación de algún hecho, concepto o

entidad real

• Información– Datos procesados y organizados

Page 10: Fundamentos de programación Organización de una computadora

Sistema

• Conjunto de componentes interconectados e interactivos que tienen un propósito y una unidad total

Page 11: Fundamentos de programación Organización de una computadora

Resolución de problemas con computadoras

Si existe el algoritmo, el problema está CASI resuelto

Page 12: Fundamentos de programación Organización de una computadora

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

Page 13: Fundamentos de programación Organización de una computadora

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

Page 14: Fundamentos de programación Organización de una computadora

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

Page 15: Fundamentos de programación Organización de una computadora

Algoritmo

La parte intelectual de la resolución del problema.

El resto, es talacha

Page 16: Fundamentos de programación Organización de una computadora

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

Page 17: Fundamentos de programación Organización de una computadora

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)

Page 18: Fundamentos de programación Organización de una computadora

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

Page 19: Fundamentos de programación Organización de una computadora

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

Page 20: Fundamentos de programación Organización de una computadora

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

Page 21: Fundamentos de programación Organización de una computadora

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

Page 22: Fundamentos de programación Organización de una computadora

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

Page 23: Fundamentos de programación Organización de una computadora

Lenguaje natural

• Se describen los pasos en simple lenguaje natural

• En nuestro caso: español

Page 24: Fundamentos de programación Organización de una computadora

Fórmulas

• Las fórmulas expresan las operaciones necesarias para obtener el resultado a partir de los datos de entrada y algunas constantes

Page 25: Fundamentos de programación Organización de una computadora

Diagramas de Flujo

Page 26: Fundamentos de programación Organización de una computadora

Pseudocódigo