Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Fundamentos de Programacin
CONTENIDO
1. Arquitectura de un Computador 2. Problemas 3. Algoritmo
1.
Arquitectura de un Computador
Hardware: Es la que hace referencia a la parte fsica de un computador y de cualquier dispositivo electrnico. Software: Es la que hace referencia a la parte lgica de un c o m p u t a d o r. CPU
E s t d i vi d i d a e n d o s partes importantes:
Hardware
Unidad central de Proceso Dispositivos de entrada, salida, almacenamiento, comunicacin y cmputo Memoria
CPU
Dispositivos
Entrada Salida
Cmputo
Comunicacin
Almacenamiento
1. Arquitectura de un Computador
Tipos de memoria
RAM (Random Access Memory): Memoria de escritura y lectura. El contenido solo se mantiene mientras el computador est encendido. ROM (Read Only Memory): Memoria de solo lectura, es permanente y no se afecta por el encendido o apagado del computador. Cach: Memoria de acceso muy rpido, usada como puente entre la UCP y la memoria RAM, para evitar las demoras en la consulta de la memoria RAM.
1. Arquitectura de un Computador
Representacin en Memoria
El sistema de numeracin binario: representacin de este tipo de datos. Utiliza dos smbolos el 1 y el 0.
1. Arquitectura de un Computador
Cdigo Binario
Cada 1 en un nmero binario representa una potencia de 2 segn su posicin Ejemplo: El nmero binario 100110 representa el valor 38
1 25 0 24 0 23 1 22 1 21 0 20
Medida de la Memoria
Unidad bsica de informacin: BIT que corresponde a un nico dgito binario (puede tomar los valores 1 o 0).
BYTE: conjunto de 8 bits. 256 valores diferentes: desde el 00000000 (0 en decimal) al 11111111 (255 en decimal).
1. Arquitectura de un Computador
Cantidades de Memoria
Ejemplos:
1 Kilo Byte = 210 Bytes = 1024 Bytes 1 Mega Byte = 210 KBytes = 220 Bytes = 1048576 Bytes 1 Giga Byte = 210 MBytes = 230 Bytes 1 Tera Byte = 210 GBytes = 240 Bytes
1. Arquitectura de un Computador
Software
Software: conjunto de instrucciones que le dicen al hardware que hacer.
Sistema Operativo
Herramientas de Desarrollo Aplicaciones
1. Arquitectura de un Computador
Arquitectura de Software
Lenguaje Alto Nivel Lenguaje Lenguaje Hardware Ensamblador Maquina
Sistema Operativo
Aplicaciones
Herramientas
1. Arquitectura de un Computador
Sistema Operativo
Software encargado de administrar los recursos del sistema. Ofrece un conjunto de comandos a los humanos, para interactuar con la mquina. Puede ser escrito en lenguaje de alto nivel, en lenguaje ensamblador y/o en lenguaje mquina.
1. Arquitectura de un Computador
Lenguaje de Mquina
nico lenguaje (mquina). que entiende
hardware en
el
hardware
(procesador, contiene
memoria,
1. Arquitectura de un Computador
Lenguaje Ensamblador
Software, generalmente escrito en lenguaje de mquina, capaz de traducir de lenguaje ensamblador a lenguaje de mquina. Usa mnemnicos para codificar las operaciones. Los datos y/o direcciones son codificados generalmente como nmeros en sistema hexadecimal. Es especfico (aunque no nico) para cada lenguaje de mquina.
1. Arquitectura de un Computador
1. Arquitectura de un Computador
Aplicaciones
APLICACIN: software que le permite computador realizar una tarea especfica. al
Procesadores de Texto
Video Juegos
Hojas de Calculo
1. Arquitectura de un Computador
Herramientas de Desarrollo
Es una aplicacin que presenta un ambiente en el que, empleando un lenguaje de programacin, se puede desarrollar nuevo software. Ejemplos: ambientes integrados de desarrollo como DevC++, Visual C++, en los que se emplea el lenguaje C++.
1. Arquitectura de un Computador
2. Problemas
Se tiene un problema cuando se desea encontrar uno o varios objetos desconocidos (ya sean estos nmeros, smbolos, diagramas, figuras, u otras cosas), que cumplen condiciones o relaciones, previamente definidas, respecto a uno o varios objetos conocidos.
UN-Virtual
Solucin de problema
Solucionar el problema es encontrar los objetos desconocidos. Para solucionar un problema se debe determinar de manera clara y concisa: cules son los objetos conocidos, las condiciones y de que tipo son los objetos desconocidos.
2. Problemas
Tipos de problemas
Problemas bien condicionados
Problemas mal condicionados Problemas indecidibles
2. Problemas
3. Algoritmo
Secuencia bien definida y finita de tareas, cada una de las cuales se puede realizar con una cantidad de recursos finitos.
Caractersticas de un Algoritmo
Precisin
Hay un orden preciso en el cual deben ejecutarse las tareas que conforman el algoritmo.
De finitud o Determinismo
Todas las veces que se realicen las tareas o pasos de un algoritmo, con las mismas condiciones iniciales, se deben obtener resultados idnticos.
Finitud
El algoritmo debe terminar en algn momento y debe usar una cantidad finita de recursos.
2. Problemas
Estructura de un Algoritmo
Datos Instrucciones Estructuras de control
Las que determinan el orden en que se ejecutarn las instrucciones del algoritmo.
2. Problemas
Ejemplo de algoritmo
Un estudiante se encuentra en su casa (durmiendo) y debe ir a la universidad (a tomar la clase de programacin!!), Que debe hacer el estudiante?
2. Problemas
Ejemplo de algoritmo
1. Dormir hasta que suene despertador (o lo llame la mam). 2. Mirar la hora. 3. Hay tiempo suficiente? 3.1. Si, entonces 3.1.1. Baarse. 3.1.2. Vestirse. 3.1.3. Desayunar. 3.2. No, entonces 3.2.1. Vestirse. el
2. Problemas
Ejemplo de algoritmo
4. Lavarse la boca. 5. Despedirse de la mam y el pap. 6. Hay tiempo suficiente? 6.1. Si, entonces 6.1.1. Caminar al paradero. 6.2. No, entonces 6.2.1. Correr al paradero. 7. Hasta que pase un bus para la universidad hacer: 7.1. Esperar el bus 7.2. Ver a las dems personas que esperan un bus.
3. Algoritmos
Ejemplo de algoritmo
8. Tomar el bus. 9. Mientras que no llegue a la universidad hacer: 9.1. Seguir en el bus. 9.2. Pelear mentalmente con el conductor. 10. Timbrar. 11. Bajarse. 12. Entrar a la universidad. 13. Caminar hasta llegar al saln donde se dicta su curso de programacin. 14. Ingresar al saln.
3. Algoritmos
Representacin de Algoritmos
Las representaciones ms conocidas son: Diagramas de flujo. Pseudo-cdigo.
3. Algoritmos
Diagramas de Flujo
Esquema de representacin grfico algoritmos. de
Usa elementos grficos como rectngulos y rombos. Se pueden usar operaciones matemticas.
3. Algoritmos
Pseudo Cdigo
Esquema de representacin de algoritmos que usa un subconjunto del lenguaje natural del diseador de algoritmos.
Elimina posibles ambigedades empleando una notacin que aunque libre es ms restringida que la del lenguaje natural.
3. Algoritmos
Pseudo Cdigo
leer A, B, C si A>B si A>C Mayor A sino Mayor C fin_si sino si B>C
Mayor B
sino Mayor C fin_si fin_si escribir Mayor
3. Algoritmos
Mdulo 1 Introduccin
4. Solucin
de Problemas Algortmicos
Problema
Metodologa
Programa
Metodologa de Programacin
Anlisis del problema. Especificacin del problema. Diseo del algoritmo. Prueba del algoritmo y refinamiento. Codificacin. Prueba y verificacin.
4. Solucin de Problemas Algoritmicos
Ejemplo de Especificacin
Entradas: La cantidad total de animales (50), cantidad de patas totales (140). Salidas: La cantidad de conejos y la cantidad de gansos.
Condiciones: La suma de conejos y gansos es igual a cincuenta. La suma de las patas de los conejos (cuatro por cada uno) y de los gansos (dos por cada uno) es igual a ciento cuarenta.
4. Solucin de Problemas Algoritmicos
Ejemplo de Especificacin
Problema: Construir un algoritmo que determine el mayor de tres nmeros enteros. Especificacin:
Codificacin
Proceso en el cual se escribe el algoritmo en un lenguaje de programacin, utilizando el editor de la herramienta.
Prueba y Verificacin
Proceso en el cual se corrigen los errores de sintaxis y de lgica del programa, hasta lograr que el programa resuelva el problema.
Variables en programacin
En programacin, las variables son espacios reservados en la memoria que, como su nombre indica, pueden cambiar de contenido a lo largo de la ejecucin de un programa. Una variable corresponde a un rea reservada en la memoria principal del ordenador.
Por ejemplo, en la variable de nombre "num", se almacena el nmero 8 (de tipo entero). De forma genrica, para utilizarla y sumarle un uno se debera programar: num = num + 1.