Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Fundamentos de programación II




Enviado por Pablo Turmero



    Monografias.com

    1
    Clase de introducción
    ¿Qué es un ordenador?
    Programas y algoritmos
    Lenguajes de programación
    Java

    Monografias.com

    2
    ¿Qué es un ordenador?
    “Un sistema digital con tecnología microelectrónica capaz de procesar información a partir de un grupo de instrucciones denominado programa”
    Componentes principales:
    Procesador (CPU: Central Processing Unit)
    Memoria (RAM: Random Access Memory)
    Componentes auxiliares:
    Disco duro
    Lector CD-ROM
    Teclado
    Pantalla
    etc.

    Monografias.com

    3
    Elementos de un ordenador
    Memoria Principal
    (RAM)
    Unidad de
    Control (CU)?
    Unidad aritmetica
    y logica (ALU)?
    Programa
    Dispositivos de entrada
    Dispositivos de salida
    Dispositivos de
    almacenamiento de datos
    teclado
    ratón
    pantalla
    impresora
    disco duro
    lector/grabador de CD-ROM
    lector/grabador de disquete
    Procesador
    (CPU)
    (hardware)

    Monografias.com

    4
    Representación de los datos en el ordenador
    El único código que entiende la CPU son los bits.
    Los bits son representados en circuitos electrónicos que pueden estar en estado “on” (1) u “off” (0)
    Las instrucciones se mandan a la CPU en forma de bytes, que son palabras de 8 bits
    1 byte = 8 bits
    1 kilobyte = 1 024 bytes
    1 megabyte = 1 024 kilobytes = 1 048 576 bytes

    Monografias.com

    5
    Representación de los datos en el ordenador
    Base 10:
    Dígitos = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
    1111 = 1*103 + 1*102 + 1*101 + 1*100
    Base 2:
    Dígitos = {0, 1}
    1111 = 1*23 + 1*22 + 1*21 + 1*20 = 8 + 4 + 2 + 1 = 15
    ¿Cuántos valores puede representar un byte?
    1 byte = 8 bits (Ej: 01100101)
    Cada bit puede representar 2 valores (0 y 1)
    Un byte puede representar 28 = 256 valores

    Monografias.com

    6
    Representación de textos
    TEXTO: My name is Anders.
    ASCII: 77-121-32-110-97-109-101-32-105-115-32-65-110-100-101-114-115-46
    18 bytes

    Monografias.com

    7
    Representación de imagen
    División de la imagen en una matriz de pixels (unidad de la imagen)
    Cada pixel asociado con un color
    0 0 0 0 0 0 0 0
    0 0 1 1 0 1 1 0
    0 0 1 0 0 0 1 0
    0 0 1 0 0 0 1 0
    0 0 1 1 0 1 1 0
    0 0 0 0 0 0 0 0
    0 0 1 1 0 1 1 0
    0 0 0 0 0 0 0 0

    Monografias.com

    8
    Representación de sonido
    Discretización de la amplitud
    Un byte para cada valor
    (Gp:) 4 8 12 13 12 10 8…

    Monografias.com

    9
    ¿Qué es un programa?
    Un programa es una secuencia de instrucciones a la CPU
    Cada instrucción es un conjunto de bytes
    Ejemplos de instrucciones:
    Leer un dato del teclado
    Guardar un dato en la memoria
    Ejecutar una operación sobre dos datos
    Mostrar un dato en la pantalla
    etc.

    Monografias.com

    10
    Acceso a la memoria
    (Gp:) 9
    (Gp:) 8
    (Gp:) 7
    (Gp:) 6
    (Gp:) 5
    (Gp:) 4
    (Gp:) 3
    (Gp:) 2
    (Gp:) 1
    (Gp:) 15
    (Gp:) 64
    (Gp:) 32
    (Gp:) 10
    (Gp:) 0
    (Gp:) 2
    (Gp:) 45
    (Gp:) 125
    (Gp:) 12

    RAM
    CPU

    Monografias.com

    11
    Algoritmo
    Un esquema para resolver cierto tipo de problema
    Se puede traducir en un programa para ejecutarlo en un ordenador
    Pasos para la resolución de un problema con ordenador:
    Diseño de un algoritmo
    Codificación de un programa
    Ejecución y validación

    Monografias.com

    12
    Algoritmo
    Componentes:
    Entrada: datos del problema a resolver
    Salida: el resultado de la resolución
    Proceso: pasos a seguir para la resolución
    Propiedades:
    Preciso: orden estricto + expresiones precisas
    Definido: con la misma entrada, siempre resulta la misma salida
    Finito: número finito de pasos

    Monografias.com

    13
    Algoritmo 1
    Problema: Sumar dos números
    Solución:
    Entrada: dos números
    Salida: guardar la suma en la memoria y imprimirla por pantalla
    Proceso:
    Añadir los dos números
    Guardar el resultado en la memoria
    Imprimir el resultado por pantalla

    Monografias.com

    14
    Algoritmo 2
    Problema: hacer una taza de té a la inglesa
    Solución:
    Entrada: agua, bolsa de té, leche, tetera, taza, cuchara
    Salida: una taza de té a la inglesa
    Proceso:
    Poner la bolsa de té en la taza
    Poner el agua a hervir en la tetera
    Verter el agua hervida en la taza
    Añadir leche
    Remover

    Monografias.com

    15
    Algoritmo 3
    Problema: averiguar la solvencia de un cliente que ejecuta un pedido a una fábrica.
    Solución:
    Entrada: el pedido
    Salida: mensaje de aceptación o rechazo
    Proceso:
    Leer el pedido
    Examinar la ficha del cliente
    Si el cliente es solvente, aceptar pedido
    En caso contrario, rechazar pedido

    Monografias.com

    16
    Lenguajes de programación
    Lenguajes máquina
    Lenguajes ensamblador
    Lenguajes de alto nivel: C, C++, Visual Basic, Java, Pascal, Prolog, LISP,…

    Monografias.com

    17
    Lenguajes máquina
    Programas son secuencias de instrucciones compuestas de bytes:
    16 29 156 9 82 75
    Ventajas:
    La CPU entiende estos programas
    Desventajas:
    Pensar en modo de 0’s y 1’s es muy difícil para nosotros

    Monografias.com

    18
    Lenguajes ensamblador
    Instrucciones compuestas de palabras cortas y números:
    LOD 15 6
    LOD 16 8
    ADD 15 16 17
    JMP 10
    Ventajas:
    Más fácil a entender
    Desventajas:
    Todavía bastante abstracto
    Necesita traducir el código a lenguajes máquina

    Monografias.com

    19
    Lenguajes de alto nivel
    Diseñados para ser más parecidos a lenguaje natural
    Ventajas:
    Mucho más fácil de dar instrucciones
    Desventajas:
    Más complicado convertir en lenguajes máquina

    Monografias.com

    20
    Lenguajes de programación:¿Por qué hay tantos? ¿Cómo nacen, sobreviven y caducan?
    Diferentes dominios de aplicación:
    Programación de sistemas – rapidez y acceso de bajo nivel: C
    Inteligencia artificial – computación simbólica: LISP, Prolog
    Programación científica – fórmulas matemáticas: Fortran
    Negocios – transacciones: COBOL
    Uso específico: SQL (bases de datos), Perl (manipulación de textos), JavaScript (páginas web), Pascal (formación)

    Monografias.com

    21
    Lenguajes de programación:¿Por qué hay tantos? ¿Cómo nacen, sobreviven y caducan?
    Diferentes necesidades:
    Fiabilidad: Ada
    Escabilidad, paradigma orientado a objeto: C ? C++
    Portabilidad: Java
    Evolución:
    Mejora del hardware
    Mejor comprensión de como reforzar criterios de legibilidad, facilidad de aprender y escribir, fiabilidad…
    Importancia de la estandardización
    ¡Número de usuarios!

    Monografias.com

    22
    Traductores de lenguaje: intérpretes
    (Gp:) PROGRAMA FUENTE
    (Gp:) INTERPRETE
    (Gp:) EJECUCION DE LA(S)?
    INSTRUCCION(ES)
    INTERPRETADA(S)?

    Monografias.com

    23
    Traductores de lenguaje: compiladores
    PROGRAMA FUENTE
    COMPILADOR
    ENLAZADOR
    (binder, linker)
    EJECUCION
    Fase de compilación
    Fase de ejecución
    OPCION 1
    programa
    ejecutable
    Fase de compilación
    Fase de ejecución
    OPCION 2
    programa
    objeto

    Monografias.com

    24
    Java
    Se desarrolló en los comienzos de los años 1990
    La intención era crear una herramienta para escribir programas cortos y efectivos
    Ventajas:
    Básico, fácil de entender
    Portátil: el mismo código sirve para todos los sistemas operativos
    Soporta interfaz gráfica de usuario (GUI)
    Apropiado para programas en Internet
    Desventajas:
    La ejecución es más lenta que algunos otros lenguajes

    Monografias.com

    25
    Java
    El código fuente se guarda en un archivo con extensión .java
    Un compilador traduce el código fuente en código de byte, y lo guarda en un archivo con extensión .class
    Las instrucciones son diferentes para diferentes sistemas operativos
    Un intérprete específico al sistema operativo interpreta el código byte para ejecutar el programa
    Un programa puede ser compuesto de varios archivos

    Monografias.com

    26
    La Máquina Virtual Java (JVM)?
    PROGRAMA FUENTE
    COMPILADOR JAVA
    PROGRAMA OBJETO
    .java
    .class
    Programa bytecode para JVM
    INTERPRETE (JVM)
    para Windows
    INTERPRETE (JVM)
    para Linux
    INTERPRETE (JVM)
    para Macintosh
    WINDOWS
    LINUX
    MACINTOSH

    Monografias.com

    27
    Ejecución de un programa Java
    HolaMundo.java
    HolaMundo.class
    javac HolaMundo.java
    System.class
    java HolaMundo
    SISTEMA OPERATIVO
    compilador Java
    llamar a la JVM
    crear el programa
    en un editor

    Monografias.com

    28
    Componentes de un lenguaje
    Sintaxis (gramática): reglas que determinan de manera estricta el vocabulario, orden y formato de las instrucciones permitidas
    Errores sintácticos: el programa no compila y/o no se puede interpretar
    Semántica (sentido): el programa, al ejecutarlo, produce el resultado correcto que uno quiere

    Monografias.com

    29
    Errores de programación
    Modificar o crear un
    archivo .java
    Editar para
    corregir errores
    (Gp:) Compilar

    Ejecutar programa
    Depurar
    (debugging)?
    errores de compilación (sintaxis)?
    no hay errores
    errores de ejecución (semántica)?

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter