Está en la página 1de 45

Mdulo 1 Introduccin

Fundamentos de Programacin

CONTENIDO
1. Arquitectura de un Computador 2. Problemas 3. Algoritmo

4. Solucin de problemas Algortmicos

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:

La Arquitectura Von Newman

Hardware
Unidad central de Proceso Dispositivos de entrada, salida, almacenamiento, comunicacin y cmputo Memoria

CPU

La Arquitectura Von Newman 1. Arquitectura de Computador

Unidad Central de Proceso (CPU)

Micropocesador Athlon 64 X2 E6 3800+

1. Arquitectura del Computador

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

Elementos que pueden estar en dos estados (prendidos o apagados).

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

1*32 + 0*16+ 0*8+ 1*4+ 1*2+ 0*1= 38


1. Arquitectura de un Computador

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

Especfico para cada dispositivos, etc.). Programa: almacenado instrucciones y datos.

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

Lenguaje de Alto Nivel


Es un lenguaje con una estructura sintctica mas rica que le permite mayor expresividad. Cuenta con un conjunto de palabras reservadas, para codificar estructuras de control e instrucciones. Permite el uso de expresiones aritmticas y relacionales.
1. Arquitectura de un Computador

Lenguaje de Alto Nivel


COMPILADORES e INTERPRETES: software capaz de traducir de un lenguaje de alto nivel al lenguaje de mquina. C++ Java Python

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

Para almacenar informacin: datos de entrada, de salida o intermedios.

Las acciones o procesos que el algoritmo realiza sobre los datos.

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

Programacin de Computadores Modulo 1. Introduccin

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

Anlisis del Problema


Entender de manera clara el problema que se esta resolviendo. Esta fase de la metodologa concuerda con el proceso de identificacin de objetos conocidos, objetos desconocidos y condiciones usado en la seccin de problemas.

4. Solucin de Problemas Algoritmicos

Programacin de Computadores Modulo 1. Introduccin

Especificacin del Problema


Descripcin clara y precisa de: Las entradas del problema. Las salidas del problema. Las condiciones, es decir la dependencia que mantendrn las salidas obtenidas con las entradas recibidas.
4. Solucin de Problemas Algoritmicos

Programacin de Computadores Modulo 1. Introduccin

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

Programacin de Computadores Modulo 1. Introduccin

Ejemplo de Especificacin
Problema: Construir un algoritmo que determine el mayor de tres nmeros enteros. Especificacin:

Entradas: A,B,C (nmeros de entrada) de tipo entero.


Salidas: Mayor de tipo entero.

Condiciones: Mayor debe ser el valor mximo de A, B y C.


4. Solucin de Problemas Algoritmicos

Programacin de Computadores Modulo 1. Introduccin

Diseo del algoritmo


Es la fase en la que se construye el algoritmo que permitir encontrar la solucin al problema. La forma adecuada de realizar este proceso es subdividirlo.

4. Solucin de Problemas Algoritmicos

Programacin de Computadores Modulo 1. Introduccin

Prueba del Algoritmo y Refinamiento


Proceso de seguimiento del algoritmo para verificar que cumple con la especificacin. Si no se cumple con la especificacin se va refinando hasta lograr el objetivo.

4. Solucin de Problemas Algoritmicos

Programacin de Computadores Modulo 1. Introduccin

Codificacin
Proceso en el cual se escribe el algoritmo en un lenguaje de programacin, utilizando el editor de la herramienta.

4. Solucin de Problemas Algoritmicos

Programacin de Computadores Modulo 1. Introduccin

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.

4. Solucin de Problemas Algoritmicos

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.

También podría gustarte