INTRODUCCIÓN A LA PROGRAMACIÓN INTRODUCCIÓN A LA PROGRAMACIÓN Edgar Ruíz González Sara...

19
INTRODUCCIÓN A LA PROGRAMACIÓN Edgar Ruíz Gonzál Sara Rodríguez Po

Transcript of INTRODUCCIÓN A LA PROGRAMACIÓN INTRODUCCIÓN A LA PROGRAMACIÓN Edgar Ruíz González Sara...

Page 1: INTRODUCCIÓN A LA PROGRAMACIÓN INTRODUCCIÓN A LA PROGRAMACIÓN Edgar Ruíz González Sara Rodríguez Portal.

INTRODUCCIÓN

A LA

PROGRAMACIÓN

Edgar Ruíz GonzálezSara Rodríguez Portal

Page 2: INTRODUCCIÓN A LA PROGRAMACIÓN INTRODUCCIÓN A LA PROGRAMACIÓN Edgar Ruíz González Sara Rodríguez Portal.

1.- FUNDAMENTOS DE LA INFORMÁTICA

1.1- Definiciones Básicas -Informática: es la contracción de las palabras INFORmación

y autoMÁTICA. Se considera una ciencia o ingeniería que estudia el tratamiento automático de la información por medio de ordenadores

-Computador: es una maquina capaz de recibir y procesar datos bajo el control de un programa. Se considera también un sistema cuyas salidas dependen de sus entradas constituidas por datos e instrucciones.

Dato: es un conjunto de símbolos utilizados para representar un valor numérico, un hecho o una idea con el fin de ser captada por el computador.

Page 3: INTRODUCCIÓN A LA PROGRAMACIÓN INTRODUCCIÓN A LA PROGRAMACIÓN Edgar Ruíz González Sara Rodríguez Portal.

-Codificación: es una transformación que representa los elementos de un conjunto mediante los de otro de forma que a cada elemento del primer conjunto le corresponda un elemento distinto del segundo.

-Bit: es la unidad mas pequeña de información que utiliza un ordenador . A cada carácter de información le corresponde un numero determinado de bits.

Page 4: INTRODUCCIÓN A LA PROGRAMACIÓN INTRODUCCIÓN A LA PROGRAMACIÓN Edgar Ruíz González Sara Rodríguez Portal.

1.2.- Estructura funcional de un computador

UCP: unidad central de procesos que se divide en:

Unidad de control: incluye el juego de instrucciones del computador y es responsable de su ejecución

Unidad aritmético-lógica: realiza operaciones aritméticas tales como sumas restas y operaciones lógicas tales como comparar dos números

Banco de registros: dispositivos de alta velocidad para almacenar datos o instrucciones temporalmente mientras se ejecutan las instrucciones

Page 5: INTRODUCCIÓN A LA PROGRAMACIÓN INTRODUCCIÓN A LA PROGRAMACIÓN Edgar Ruíz González Sara Rodríguez Portal.

Memoria interna: almacena datos e instrucciones durante la ejecución de los programas. Está ligada directamente a las unidades más rápidas del computador. (UC y UAL)

Memoria RAM: “random acces memory” se puede leer y escribir en ella pero no de forma permanente

Memoria ROM: “read only memory” en ella sólo se puede leer y es de carácter permanente

Memoria externa: es más lenta que la memoria interna pero consta de muchas más capacidad tales como discos duros, DVD´s, disquetes, cintas magnéticas…

Page 6: INTRODUCCIÓN A LA PROGRAMACIÓN INTRODUCCIÓN A LA PROGRAMACIÓN Edgar Ruíz González Sara Rodríguez Portal.

Dispositivos de Entrada/Salida: constituyen la base de la comunicación entre el computador y el resto del mundo.

Interfaz con el usuario: lápiz óptico, teclado, ratón, altavoces, pantalla…

Conexión con sistemas de almacenamiento: lectores de cinta, lectores de CD-ROM

Conexiones a redes: modem, tarjeta de red…

Page 7: INTRODUCCIÓN A LA PROGRAMACIÓN INTRODUCCIÓN A LA PROGRAMACIÓN Edgar Ruíz González Sara Rodríguez Portal.

Bus: es el mecanismo de comunicación entre los elementos de un computador. Está constituido por múltiples líneas que pertenecen a tres grupos:

Líneas de control: transmiten señales de control a las líneas de datos y de dirección

Líneas de datos: la circulación de datos entre los módulos del sistema

Conexiones a redes: indican la dirección de memoria donde se encuentran los datos a tratar.

Page 8: INTRODUCCIÓN A LA PROGRAMACIÓN INTRODUCCIÓN A LA PROGRAMACIÓN Edgar Ruíz González Sara Rodríguez Portal.

1.3.- Representación de la información

Los computadores representan la información usando dos dígitos: 0 y 1, es decir, usando el sistema binario y con él se pueden representar números y caracteres.

Representación de números naturales: se lleva a cabo calculando potencias de base 2 y de forma contraria se dividiría entre dos hasta hallar el numero natural

Representación de números enteros o con signo: se puede hacer de dos maneras: tanto con la representación signo-magnitud como representación en complemento a 2.

Representación de números en coma flotante: permite representar números con parte decimal relativamente pequeña siguiendo la formula sM x B^5E

Representación de caracteres: se representan usando un byte y basándose en el código ASCII

Page 9: INTRODUCCIÓN A LA PROGRAMACIÓN INTRODUCCIÓN A LA PROGRAMACIÓN Edgar Ruíz González Sara Rodríguez Portal.

1.4.- Historia de los computadores

Introducción: Los primeros dispositivos para contar conocidos por el

hombre fueron sus propias manos y dedos. Y cuando no eran suficientes utilizaban objetos de la naturaleza.

Creación del Ábaco(s.IV a.C), el cual ayudaba a

la memoria del humano a realizar los cálculos.

Se considera el primer calculador personal.

Los árabes inventan el sistema numérico decimal. Introducen los conceptos de: el 0 y lugares fijos para las decenas, cientos, miles… Esto hace una simplificación de los cálculos matemáticos.

Page 10: INTRODUCCIÓN A LA PROGRAMACIÓN INTRODUCCIÓN A LA PROGRAMACIÓN Edgar Ruíz González Sara Rodríguez Portal.

La era mecánica es una era marcada por ciertos avances tales como :

La introducción de las varillas Napier que simplifican la multiplicación desarrolladas por John Napier en el s.XVII

Proposición por parte de Wilhelm del sistema binario para la realización de los cálculos

La invención de una maquina para sumar y restar por obra de Pascal y Leibniz que mejoran y desarrollan a lo largo de los siglos XVIII y XIX

Introducción de la tarjera perforada de Joseph Jacquard

Babbage ideó la maquina analítica, pero no llegó a construirse por su complejidad mecánica (constaba de un motor a vapor, con 30 metros de largo por 10 de ancho)

Page 11: INTRODUCCIÓN A LA PROGRAMACIÓN INTRODUCCIÓN A LA PROGRAMACIÓN Edgar Ruíz González Sara Rodríguez Portal.

1ª Generación:

los ordenadores eran construidos a base de válvulas de vacío y relés electromagnéticos.

El procesador era secuencial y las tarjetas perforadas introducían los datos (lenguaje máquina)

Se construye el ENIAC (utilizaba alrededor de 1900 válvulas de vacío y 1500 relés. Sólo trabajaba con 20 números de diez dígitos.)

2ª Generación:

Se sustituyen las válvulas de vacío por los transistores. Éstos, eran mucho más pequeños y desprendían menos calor.

Los ordenadores reducen su tamaño.

Se construye el UNIVAC 1100.

Page 12: INTRODUCCIÓN A LA PROGRAMACIÓN INTRODUCCIÓN A LA PROGRAMACIÓN Edgar Ruíz González Sara Rodríguez Portal.

3ª Generación:

Comienzan a utilizarse los circuitos integrados (formados por miles de transistores conectados entre si e insertados en un solo chip).

Los ordenadores reducen aún más su tamaño y aumenta su velocidad de cálculo.

Comienza a estandarizarse los programas para crear software (Basic, Pascal…)

4ª Generación:

Se reemplazan las memorias con núcleos magnéticos por las memorias de chip de silicio.

Se fabrican los microprocesadores.

En 1981, la empresa IBM construye el primer ordenador personal.

Page 13: INTRODUCCIÓN A LA PROGRAMACIÓN INTRODUCCIÓN A LA PROGRAMACIÓN Edgar Ruíz González Sara Rodríguez Portal.

2.- CONCEPTOS BÁSICOS DE PROGRAMACIÓN

2.1 Fases en la resolución de un problema

Análisis del problema: el problema se analiza teniendo presente la especificación de los requisitos dados por el cliente

Diseño: se diseña una solución que conducirá a un algoritmo que resuelva el problema.

Codificación: (implementación) la solución se escribe en la sintaxis del lenguaje de alto nivel

Ejecución, verificación y depuración: el programa se ejecuta se comprueba rigurosamente y se comprueban todos los errores

Page 14: INTRODUCCIÓN A LA PROGRAMACIÓN INTRODUCCIÓN A LA PROGRAMACIÓN Edgar Ruíz González Sara Rodríguez Portal.

Mantenimiento: el programa se actualiza y modifica cada vez que sea necesario

Documentación: escritura de las diferentes fases del ciclo de vida del software esencialmente el análisis diseño y codificación unidos a manuales de usuario y de referencia.

Codificación: (implementación) la solución se escribe en la sintaxis del lenguaje de alto nivel

Ejecución, verificación y depuración: el programa se ejecuta se comprueba rigurosamente y se comprueban todos los errores

Page 15: INTRODUCCIÓN A LA PROGRAMACIÓN INTRODUCCIÓN A LA PROGRAMACIÓN Edgar Ruíz González Sara Rodríguez Portal.

2.2. Paradigmas de programación.

Los paradigmas de programación son enfoques diferentes para la construcción de soluciones a problemas. Podemos encontrar tres tipos:

Paradigma imperativo: representa el método tradicional de programación. Este paradigma define el proceso de programación como el desarrollo de una secuencia de ordenes que manipulan los datos para producir los resultados deseados

Paradigma declarativo: solicita al programador que describa el problema en lugar de encontrar una solución algorítmica al problema , es decir, utiliza el principio del razonamiento lógico para responder a las preguntas consultadas

Page 16: INTRODUCCIÓN A LA PROGRAMACIÓN INTRODUCCIÓN A LA PROGRAMACIÓN Edgar Ruíz González Sara Rodríguez Portal.

Paradigma orientado a objetos: el programador define en primer lugar los objetos del problema y a continuación los datos y operaciones que actuaran sobre esos datos. Las ventajas de la programación orientada a objetos se derivan esencialmente de la estructura modular existente en la vida real y el modo de respuesta de estos módulos u objetos a mensajes o eventos que se producen en cualquier instante.

Page 17: INTRODUCCIÓN A LA PROGRAMACIÓN INTRODUCCIÓN A LA PROGRAMACIÓN Edgar Ruíz González Sara Rodríguez Portal.

2.3. Clasificación de los lenguajes de programación.

Se clasifican según el nivel. Podemos encontrar tres tipos:

Lenguaje de programación y bajo nivel: el nivel hace referencia a lo próxima que la forma de expresar las sentencias este al hombre (lenguaje natural) o a la maquina (lenguaje de 0 y 1).

Lenguajes declarativos: están formados por sentencias “que se quiere hacer” y no indica el proceso detallado (algoritmos). Tiene propósitos muy específicos como la recuperación de información en bases de datos.

Lenguaje de alto nivel: hay dos que son los lenguajes basados en la asignación de valores y lenguajes basados en la definición de funciones o relaciones.

Page 18: INTRODUCCIÓN A LA PROGRAMACIÓN INTRODUCCIÓN A LA PROGRAMACIÓN Edgar Ruíz González Sara Rodríguez Portal.

2.4. Traductores: Compiladores e Intérpretes.

Los traductores de lenguaje son programas que traducen a su vez los programas fuente escritos en lenguajes de alto nivel a código maquina. Se dividen en interpretes y compiladores:

Intérpretes: son traductores que toman un programa fuente lo traducen y a continuación lo ejecutan. Según se van almacenando las instrucciones simbólicas se analizan y se producen los mensajes de error correspondientes; así el usuario puede proceder inmediatamente a su corrección.

Page 19: INTRODUCCIÓN A LA PROGRAMACIÓN INTRODUCCIÓN A LA PROGRAMACIÓN Edgar Ruíz González Sara Rodríguez Portal.

Compiladores: son programas que traducen los programas fuente escritos en lenguaje de alto nivel a lenguaje maquina. El programa fuente suele estar contenido en un archivo y el programa objeto puede almacenarse como archivo en memoria masiva para ser procesado posteriormente. La compilación consta de varias fases:

1. Escritura del programa fuente con un editor.

2. Introducir el programa fuente en memoria.

3. Compilar el programa con el compilador seleccionado.

4. Verificar y corregir errores de compilación.

5. Obtención del programa objeto.

6. El enlazador obtiene el programa ejecutable.

7. Se ejecuta el programa y, si no existen errores, se tendrá la salida del programa.