I.P. 1
curso 2005/2006
Tema 1. Conceptos Básicos
TEMA 1. Conceptos básicos 1.1 Introducción Dos definiciones de Informática: • Ciencia que estudia todo lo referente al procesamiento automático de la información. • Teoría, diseño, fabricación y uso de computadores. Sistema de información DATOS
PROCESO
INFORMACIÓN
La abstracción es un proceso mental, que ante un determinado concepto u objeto, realiza un estudio basado en dos aspectos complementarios: • destacar sus detalles relevantes. • ignorar sus detalles irrelevantes. Se estructura en niveles jerárquicos y reduce la complejidad del concepto en estudio.
1.2 Autómatas y programas. máquina = dispositivo capaz de realizar un trabajo máquina virtual o abstracta máquina de Babbage (1834) maquina de Von Neumann (1946). requieren estímulos de distinta graduación Según su grado de autonomía: • No automáticas: (Necesitan de un estímulo externo constante para operar). Ejemplos típicos la máquina de escribir o el piano. • Automáticas: (Requieren de mínimos estímulos externos): 1
I.P. 1
curso 2005/2006
Tema 1. Conceptos Básicos
•
No programables: (Realizan siempre la misma operación). Ejemplos: copiadora, ascensor o caja de música. • Programables: (Realizan diversas operaciones según el programa que las gobierna). Ejemplo: tocadisco u ordenador. autómata = máquina automática en las programables: • Programa: Parte variable de la máquina = Conjunto de instrucciones . • Máquina base: Parte fija y física de la máquina. su comportamiento depende del programa que se ejecuta sobre ella una máquina programable es inútil sin un programa cómputo = determinación de una cantidad o resultado mediante el calculo o procesamiento con unos datos = tratamiento de la información. computador (ordenador)= autómata programable de propósito general programa = descripción de un cómputo = comportamiento de un computador. Lenguaje de programación : Lenguaje que nos permite comunicarnos con el computador. Notación para describir algoritmos y estructuras de datos. Convención para escribir descripciones que puedan ser evaluadas. computador: componente fijo = hardware = aspectos físicos componente variable = software = aspectos lógicos. computadores actuales = máquinas de programa almacenado (Von Neumann): 2
I.P. 1
• • •
curso 2005/2006
Tema 1. Conceptos Básicos
Memoria: (Almacén de Programa y Datos) Componente pasivo cuya calidad viene determinada por el tamaño (espacio, capacidad). Procesador: (Calculador de cómputos) Componente activo cuya calidad viene determinada por la velocidad (tiempo de ejecución) Entrada/Salida.: (Conexión de la máquina con el exterior recibiendo los argumentos de entrada y devolviendo los resultados de salida)
1.3 Algoritmos Sucesión finita de instrucciones que describe con precisión cómo resolver todos los problemas de un mismo tipo. Uzbeco Al-Kuaritzmi (880) lenguaje algorítmico --> abstracción --> algoritmo --> facilidadad -> generalidad lenguaje de programación --> codificación --> programa programa = descripción del comportamiento de un computador real algoritmo = descripción del comportamiento del computador abstracto. ejecución del algoritmo --> estados • • • •
Coordenadas: conjunto de elementos necesarios para poder describir el problema Dominio (Tipo): conjunto de valores que puede tomar cada una de las coordenadas Estado: uno de los posibles conjuntos de valores asociados a cada una de las coordenadas Espacio de estados: conjunto de todos los estados posibles 3
I.P. 1
curso 2005/2006
Tema 1. Conceptos Básicos
1.4 Programación e Ingeniería del Software programación = técnicas y razonamientos para el desarrollo de programas (tarea o labor de desarrollar programas). historia de la programación = camino hacia un grado creciente de abstracción. programas pequeña escala (PROGRAMACIÓN) programas gran escala (INGENIERÍA DEL SOFTWARE) dificultad, tamaño, número de programadores y planificación. FASES DE LA PROGRAMACION A PEQUEÑA ESCALA ┌───────────────────┐ │ PROBLEMA │ │ │ └─────────┬─────────┘ │ │ ELABORACION ↓ ┌─────────┴─────────┐ │ ESPECIFICACION │ │ │ └─────────┬─────────┘ │ │ DISEÑO ↓ ┌─────────┴─────────┐ │ IMPLEMENTACION ├───→ ANALISIS │ │ └─────────┬─────────┘ │ │ CODIFICACION ↓ ┌─────────┴──────────┐ │ │ │ PROGRAMA │ └────────────────────┘ 4
I.P. 1
curso 2005/2006
Tema 1. Conceptos Básicos
ESQUEMA BÁSICO DE ALGORITMO algoritmo (alg) nombre del algoritmo ent Coordenadas de entrada o argumentos (a). sal Coordenadas de salida o resultados (r) ent/sal Coordenadas de entrada-salida(w) Pre: Q(a,w) Pos: R(a,r,w) Declaraciones usadas en implementación principio (prin) Sentencias fin
5