Download Presentación trabajo PROI

Document related concepts
Transcript
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.
-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.

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
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…
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…
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:

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.
transmiten señales de control a las líneas de datos y de dirección
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:

Representación de números enteros o con signo:

Representación de números en coma flotante:

Representación de caracteres: se representan usando un byte y basándose en el
se lleva a cabo calculando potencias de base
2 y de forma contraria se dividiría entre dos hasta hallar el numero natural
se puede hacer de dos
maneras: tanto con la representación signo-magnitud como representación en complemento
a 2.
permite representar números con
parte decimal relativamente pequeña siguiendo la formula sM x B^5E
código ASCII
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.
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)
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.
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.
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:

Codificación:

Ejecución, verificación y depuración: el programa se ejecuta se comprueba
se diseña una solución que conducirá a un algoritmo que resuelva el problema.
(implementación) la solución se escribe en la sintaxis del lenguaje de alto nivel
rigurosamente y se comprueban todos los errores

Mantenimiento:

Documentación:

Codificación:

Ejecución, verificación y depuración: el programa se ejecuta se comprueba
el programa se actualiza y modifica cada vez que sea necesario
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.
(implementación) la solución se escribe en la sintaxis del lenguaje de alto nivel
rigurosamente y se comprueban todos los errores

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

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.

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.

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.

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.
2.
3.
4.
5.
6.
7.
Escritura del programa fuente con un editor.
Introducir el programa fuente en memoria.
Compilar el programa con el compilador seleccionado.
Verificar y corregir errores de compilación.
Obtención del programa objeto.
El enlazador obtiene el programa ejecutable.
Se ejecuta el programa y, si no existen errores, se tendrá la salida del
programa.