introduccion computadoras

50
Laboratorio de Lenguajes de Programación I UNIDAD I Unidad Académica de Ingeniería Eléctrica

Upload: picego

Post on 29-Jun-2015

1.269 views

Category:

Technology


0 download

DESCRIPTION

Da una introduccion muy general sobre la historia de las computadoras, la division en hardware y software.También explica la diferencia entre programa compilado e interpretado. Una breve historia sobre la tendencia de los lenguajes de computadora.Las diferentes conversiones numericas entre diferentes bases como : base diez, base dos, base ocho y hexadecimal.

TRANSCRIPT

Page 1: introduccion computadoras

Laboratorio de Lenguajes de Programación I

UNIDAD I

Unidad Académica de Ingeniería Eléctrica

Page 2: introduccion computadoras

Objetivo

El alumno aprenderá técnicas para desarrollar la lógica en la construcción de programas

utilizando el lenguaje C. A través de teoría y explicaciones de las sentencias básicas de

todo lenguaje de programación y será capaz de realizar programas con la metodología de descomposición de arriba-abajo (top down),

programación estructurada.

Page 3: introduccion computadoras

Contenido

I. Introducción

II. Elementos del lenguaje C

III. Estructuras de control

IV. Arreglos y cadenas

V. Apuntadores

Page 4: introduccion computadoras

Contenido

I. Introducción

II. Elementos del lenguaje C

III. Estructuras de control

IV. Arreglos y cadenas

V. Apuntadores

Page 5: introduccion computadoras

Introducción

1.1 Componentes esenciales de un computador.-

El alumno definirá conceptos básicos y será capaz de distinguir los componentes esenciales de las Tecnologías de la Información y Comunicación.

Page 6: introduccion computadoras

Dispositivos de entrada

Introducción

Dispositivos de salida

Page 7: introduccion computadoras

CPU

Memoria ROM

Introducción

Page 8: introduccion computadoras

Memoria RAM

Memoria Secundaria

Introducción

Page 9: introduccion computadoras

Hardware Software

Introducción

Page 10: introduccion computadoras

Software de sistema.- Al software de sistemas pertenecen los

programas cuya finalidad es servir a otros programas y ejecutar funciones

comunes para todos los usuarios de la computadora. Ejemplo: sistemas

operativos , compiladores , ensambladores , cargadores, manejadores de bases de

datos, etc.

Introducción

Page 11: introduccion computadoras

Software de aplicación.- es el software específico para

aplicaciones particulares de los usuarios de un sistema de cómputo.

Introducción

Normalmente, en la codificación del

software de aplicación no se utiliza un

lenguaje de bajo nivel, sino que se

codifican en lenguajes de alto nivel y

se traducen ya sea por compiladores o

por intérpretes

Page 12: introduccion computadoras

Sistema Operativo.- Se trata del software (programa) encargado de gestionar el ordenador. Es la aplicación que oculta la física real del ordenador para mostrarnos un interfaz que permita al usuario un mejor y más fácil manejo de la computadora.

Introducción

Windows. A día de hoy el Sistema Operativo más popular (instalado en el 95% de computadoras del mundo). Es un software propiedad de Microsoft por el que hay que pagar por cada licencia de uso.

Page 13: introduccion computadoras

Introducción

Page 14: introduccion computadoras

Linux. Sistema operativo de código

abierto. Posee numerosas distribuciones (muchas de

ellas gratuitas) y software adaptado para él (aunque sólo el

15% de ordenadores tiene instalado algún sistema Linux).

Introducción

Fundamentalmente su éxito está

en grandes máquinas o servidores.

Actualmente las distribuciones

Linux más conocidas son: Red

Hat, Fedora (versión gratuita

de Red Hat), Debian, Ubuntu

(variante de Debian de libre

distribución), Mandriva y SUSE.

Page 15: introduccion computadoras

MacOs. Sistema operativo de los ordenadores MacIntosh.

Apple inició la revolución de la computadora personal en los años 70s con la Apple II y reinventó la computadora personal en los años 80s con la Macintosh. Hoy, Apple continua liderando la industria innovando con sus galardonadas computadoras, sistema operativo OS X y las aplicaciones iLife y profesionales. Apple, además, encabeza la revolución de medios digitales con su línea de reproductores de música iPod y la tienda de música digital en línea iTunes, e incursiona en el mercado de la telefonía móvil con su revolucionario iPhone.

Introducción

Page 16: introduccion computadoras

Unix. Sistema operativo muy robusto para gestionar redes de todos los tamaños. Actualmente en desuso debido al uso de Linux (que está basado en Unix), aunque sigue siendo muy utilizado para gestionar grandes redes (el soporte sigue siendo una de las razones para que se siga utilizando)

Solaris. Versión de Unix para sistemas Sun.

Introducción

Page 17: introduccion computadoras

Interfaz de línea de comandos.- Es una manera de interactuar con la computadora en el cual los comandos son introducidos como textos (secuencia de caracteres) a través del teclado, y la salida es recibida también como texto.

Introducción

Page 18: introduccion computadoras

Interfaz de usuarios: GUI Es una manera de interactuar con la computadora a

través de la manipulación directa de imágenes gráficas.

Introducción

GUI despliega elementos visuales tales como íconos, ventanas, menús en los cuales el usuario solamente va seleccionando dando un clic o doble clic, dependiendo de sus necesidades.

Page 19: introduccion computadoras

1.2

Tendencias

de los

Lenguajes de

Programació

n

Introducción

Page 20: introduccion computadoras

Clasificación de los lenguajes de programación :

Según el nível de abstracción

Según la forma de ejecución

Según el paradigma de programación que poseen cada uno de ellos.

Introducción

Page 21: introduccion computadoras

1.3 Generación de las Computadoras

Introducción

Primera Generación: (1951-1958)

• Tarjetas perforadas• Bulbos• Tambores

magnéticos• Lentas y grandes• Leng. Máquina• Costosas• Monopolio:IBM

Page 22: introduccion computadoras

1.3 Generación de las Computadoras

Introducción

Segunda Generación: (1956-1964)

• Transistores• Núcleos magnéticos• Más rápidas• Más pequeñas• Leng. Fortran, cobol• Aplicaciones: sistemas de

reservaciones, control tráfico, inventario, nómina, contabilidad.

Page 23: introduccion computadoras

1.3 Generación de las Computadoras

Introducción

Tercera Generación: (1967-1971)

• Circuitos integrados• Más rápidas• Más pequeñas• Menos calor• Más eficientes• Cintas magnéticas• Multiprogramación• Compatibilidad con

equipo mayor• Minicomputadora• Leng.programación : alto

nivel

Page 24: introduccion computadoras

1.3 Generación de las Computadoras

Introducción

Cuarta Generación: (1971-1981)

• Microprocesador• Más rápidas• Más pequeñas• Chips de memoria• Cintas magnéticas• Multiprogramación• Microminiaturización• Computadoras personales• Avances tecnológicos en

corto tiempo.• Apple, radio Shack,

commodore, etc.• Sistema operativo MS-

DOS• Interfaces gráficas

Page 25: introduccion computadoras

1.3 Generación de las Computadoras

Introducción

Quinta Generación: (1982-1989)

• Computadoras en Paralelo

• Lenguajes programación: orientado a objetos

• Nuevos modelos de memoria que asignan tareas a cada procesador.

• Microporcesadores en paralelo reconocen voz e imágenes.

• Aplicaciones: Procesamiento de lenguaje natural, sistemas expertos, redes neuronales, algoritmos genéticos, fibras ópticas, etc.

• World Wide Web

Page 26: introduccion computadoras

1.3 Generación de las Computadoras

Introducción

Quinta Generación: (1982-1989)

• Computadoras en Paralelo

• Lenguajes programación: orientado a objetos

• Nuevos modelos de memoria que asignan tareas a cada procesador.

• Microporcesadores en paralelo reconocen voz e imágenes.

• Aplicaciones: Procesamiento de lenguaje natural, sistemas expertos, redes neuronales, algoritmos genéticos, fibras ópticas, etc.

• World Wide Web

Page 27: introduccion computadoras

1.3 Generación de las Computadoras

Introducción

Sexta Generación: (1990 hasta la fecha)

• Arquitecturas combinadas: Paralelo/Vectorial con cientos de microprocesadores.

• Realiza un millón de millones de operaciones aritméticas x seg.

• Redes WAN• Crecen los medios de

comunicación: fibras ópticas, satélites.

• Inteligencia artificial distribuida, teoría del caos, sistemas difusos, holografía, transistores ópticos, etc.

Page 28: introduccion computadoras

1.4 Tipos de Lenguajes: Código de máquina

El ordenador sólo puede ejecutar instrucciones

en un lenguaje muy simple conocido como código

máquina.

Programar en ese lenguaje es muy complejo.

Ejemplo, sumar 5+2 podría ser algo como

1001011000101010

Introducción

Page 29: introduccion computadoras

1.4 Tipos de Lenguajes: Ensamblador

Es código escrito en un lenguaje que tiene

representación exacta en el código máquina.

Cada programa creado en ensamblador sirve

para una sola máquina (no es portable).

Muy difícil de escribir.

Introducción

Page 30: introduccion computadoras

1.4 Tipos de Lenguajes: Alto nível

Los lenguajes de alto nivel se alejan de la

máquina y se parecen más al pseudocódigo

Se escriben programas que luego habrá que

ensamblar para convertirles en código máquina

Son portables.

Introducción

Page 31: introduccion computadoras

1.5 Lenguajes: Interpretes

El intérprete es un software capaz de interpretar

instrucciones escritas en un lenguaje de alto

nivel.

Interpretan el código línea a línea de la primera a

la última

Optimizan menos el código

Introducción

Page 32: introduccion computadoras

1.5 Lenguajes: Compilado

Software que traduce un programa pero

interpretando todo el código a la vez.

El código es más eficiente.

Se tarda más en ejecutar el resultado.

Introducción

Page 33: introduccion computadoras

1.6 Sistemas de Numeración

Sistemas no posicionales.

Sistemas posicionales1. Decimal

2. Binario

3. Octal

4. Hexadecimal

Introducción

Page 34: introduccion computadoras

Introducción

Page 35: introduccion computadoras

1.6 Sistemas de Numeración

Sistema numérico de base 10 (decimal)

Ejemplo: 2134 = (2x103) + (1x102) + (3x101) + (4x100)

Introducción

Page 36: introduccion computadoras

1.6 Sistemas de Numeración

Sistema numérico de base 2 (binario)

Ejemplo: 101102 = (1 x 24 = 16) + (0 x 23 = 0) + (1 x 22 = 4) + (1 x 21 = 2) + (0 x 20 = 0) = 22 (16 +

0 + 4 + 2 + 0)

Introducción

Page 37: introduccion computadoras

1.6 Sistemas de Numeración

Sistema numérico de base 8 (octal)

Ejemplo: 1228 = (1 x 82 = 64) + (2 x 81 = 16) + (2 x 80 = 2) = 82

Sistema numérico de base 15 (hexadecimal)

Introducción

Page 38: introduccion computadoras

Introducción

Page 39: introduccion computadoras

Introducción

Page 40: introduccion computadoras

Introducción

Page 41: introduccion computadoras

Introducción

Page 42: introduccion computadoras

Introducción

Page 43: introduccion computadoras

Introducción1.7.- Programa, Algoritmo y Diagrama de flujo

• Programa: conjunto de instrucciones ejecutables por un ordenador.

• Algoritmo: es un método para resolver un problema mediante una serie de pasos definidos, precisos y finitos.

• Diagrama de flujo: Representación gráfica de un algoritmo.

Page 44: introduccion computadoras

Símbolo Función

Proceso Cualquier tipo de operación que origine cambio de valor, formato, posicion de la informacion almacenada en memoria, operaciones aritmeticas, de transferencia, etc.

Entrada/Salida Cualquier tipo de de introduccion de datosen la memoria desde los perifericos”entrada”o registros de informacion procesadaen un periferico de salida

Impresora Se utiliza en ocaciones en lugar del simbolo de entradaa/salida

Llamada a subrutina, funcion o procedimiento; este es un modulo independiente del programa principal, que recibe una entrada procedente de dicho programa , realiza una tarea determinada y regresa al terminar al propgrama principal

Monitor Pantalla ; en ocaciones se utiliza en lugar de simbolo de entrada / salida

Proceso: DecisiónIndica operaciones logicas o de comparacionentre datos- normalmente entre dos y en funcion del resultado, determina cual de los dos caminos alternativos se debe seguir; normalmente tiene dos salidas- respuestas si o no.

ConectorSirve para enlazardos partes cualesquiera de un organigrama a traves de un conector de salida y otro en la entrada. En la misma pagina del diagrama

Conector Conexión entre dos puntos del organigrama situados en paginas diferentes

Teclado En ocaciones se utilisa en lugar del simbolo de entrada/salida

Sím

bolo

s d

el

dia

gra

ma d

e f

lujo

Page 45: introduccion computadoras

Introducción1.7.- Programa, Algoritmo y Diagrama de flujo

Reglas para el trazado de Diagrama de Flujo

1. Solo líneas rectas horizontales y verticales.2. Evitar que las líneas se crucen.3. A cada símbolo debe llegar solo 1 línea.4. Todas las líneas deben terminar en algún

símbolo.5. Debe leerse de arriba-abajo y de izquierda a

derecha.

Page 46: introduccion computadoras

Introducción1.7.- Fases para la resolución de un problema en computadora

Page 47: introduccion computadoras

Introducción1.7.- Fases para la resolución de un problema en computadora

ANÁLISIS

Page 48: introduccion computadoras

Introducción1.7.- Fases para la resolución de un problema en computadora

DISEÑO

Page 49: introduccion computadoras

Introducción1.7.- Fases para la resolución de un problema en computadora

Page 50: introduccion computadoras

Introducción1.7.- Fases para la creación de un programa

Cargador

CPU

Disco

Enlazador Disco

Compilador Disco

Preprocesador Disco

EditorDisco

El programa se crea en el editor y se almacena en disco

El programa preprocesador procesa el código

El compilador crea el código objeto y lo almacena en disco.

El enlazador relaciona el código objeto con las bibliotecas, crea a.out y lo almacena en disco.

El cargador coloca el programa en memoria

La CPU toma cada instrucción y la ejecuta, posiblemente

almacena nuevos valores de datos mientras el programa se

ejecuta.

Memoria Principal

Memoria Principal