TEMA 1: INTODUCCIÓN A LA INFORMÁTICA 1.-Informática: -Definición: conjunto de técnicas para el tratamiento automático de la información por dispositivos electrónicos digitales. Ej. de usos de la informática: GPS, aviones, aire acondicionado, videoconsolas,… -Historia de la informática: el primer ordenador que apareció fue el ENIAC en 1945. Al principio los ordenadores estaban compuestos solamente por el hardware, conjuntos de elementos materiales que componen un ordenador, y más tarde se incorporaría la otra parte, el software creado por Von Newman. Esta división de la informática en hardware y software permitió que el nº de errores diminuyera, por lo tanto la funcionalidad era mayor y de eso modo los costes menores, entrando en una economía de escala. El software está compuesto por un sistema operativo, que es el software básico para que funcione el hardware, que pude tener diferentes aplicaciones: procesador de textos, videojuegos, calculadora… ? DOS?MS DOS? Windows (3.1, 3.11, W95, W98) W98 + Windows ? NT = W 2000?W 2003 (unificación del aspecto). ? UNIX? ? ? ? Andrew T. (libro + Minix) ? Linus T. (libro + Minix + internet) = Linux (Slackware, Redhat, Suse, no son gratuitos; y Debian, si es gratuito. UNIX (Sist. operativo más potente, no para PC, multiprocesador)-->MS DOS (Sist. operativo que se usa en los ordenadores más antiguos, es un subconjunto de Unix, microprocesador) --> --> Windows-->W 2000-->Novell (más redes)-->W NT G.U.I -G.U.I: Interfaz Gráfica de Usuario. 2.-Código libre: -Definición: código que te permite conocer como está hecho el programa. LIBRE CASI LIBRE NO LIBRE Debian Redhat Novell Suse Windows Slackware 3.-Compatibilidad: -Definición: es el hecho de que dos cosas funcionen juntas sin ningún problema. Software 1 Si funciona – es compatible. + ? Hardware 1 Si no funciona – no es compatible. Ej. Windows es compatible con un PC, al igual que Linux. En cambio Office no seria compatible con Windows pero si con Linux. -Tipos: Compatibles No compatibles Aplicación Windows ? Aplicación Windows Windows ? Linux PC ? PC -Coste: Linux no puede utilizarse tan fácilmente porque cambiar las aplicaciones de Windows a Linux saldría muy caro. Además, al hacer este cambio, el desarrollo del programa, su mantenimiento y su uso, haría que el coste fuera muy alto y por lo tanto no sería conveniente. 4.-Lenguajes de programación: -Definición: se utiliza para comunicarse con la máquina y crear un programa. Es utilizado por programadores. -Evolución histórica: a) Hardware-->nuevo software b) Von Newman une al hardware con el software lo que aumentaría la funcionalidad de los ordenadores (lenguaje máquina). -Lenguajes de bajo nivel: son lenguajes máquina, es decir que dependen de la máquina). -Lenguajes de alto nivel: sirven para hacer las aplicaciones modernas de hoy día. Son independientes del software, pero no del hardware. -Tipos de lenguajes: 1. C-->sirve para crear un Sistema Operativo, es un leng. de alto nivel. 2. Cobol-->con él se pueden hacer programas de gestiones. 3. Fortran-->traductor de fórmulas. 4. Pascal-->enseña a programar. 5. Modula 2-->también enseña a programar. 6. ADA-->sirve para la programación de dispositivos militares. 7. Lisp-->programas de inteligencia artificial y lógica. 8. Prolog-->programas lógicos. 5.-Generación de software (herramientas) -Algoritmo: secuencia finita y ordenada de pasos para resolver un problema. -Programas: son la implementación en un leng. de programación (VISUAL BASIC, C,…) de un algoritmo. 1. Algoritmo 2. Crear un programa 3. Traducir programa *Programa o código fuente: es el programa que está escrito en el lenguaje de alto nivel. *Programa o código objeto: es el programa escrito en lenguaje máquina. -Traductor: es un programa que transforma el código fuente en código objeto. *Compiladores: aplicación informática que traduce “todo” el código fuente a otro código objeto. Además ejecuta el programa. *Intérpretes: traducen “cada instrucción” de código fuente a código objeto (máquina) y la ejecuta. 6.-Herramientas para el desarrollo de software: Todas ellas forman un IDE-->banco de trabajo, integrado y actualmente de modo gráfico (GUI). Y son: -Editor: sirve para poder escribir el código fuente. -Traductor: traduce el código fuente. -Depurador: trata de investigar o encontrar errores. -Enlazador: lo que hace es utilizar bibliotecas (ej: Fortran) de software. 7.-Diseño modular: basado en “divide y vencerás”. El diseño modular lleva a una diferenciación de funciones y a un mayor grado de especialización, que a su vez lleva a una Economía de escala. Ejemplo: I.S.O (Organización Internacional de Estandarización)-->creo un programa-->O.S.I (Interconexión de Sistemas Abiertos)-->formado por 7 capas, independientes entre ellas: -Aplicación (ej: Internet Explorer) -Presentación (introduce programas y oculta la información) -Sesión (ej: programa de descargas) -Transporte -Red (ej: router) -Enlace (cables) -Física (ej : disquetera) 8.-Aplicaciones Ofimáticas: -Definición: se encargan del tratamiento automático de la información de una oficina. -Procesador de textos -Hoja de cálculo -Base de datos -Presentaciones -Correo electrónico -Creador de páginas Web 8.1.-Procesador de textos: es una aplicación que sirve para crear documentos, darles formato y organizarlos con una estructura (capítulos, páginas, márgenes, sangrías, interlineado,…). Permite trabajar aspectos estéticos del texto (tamaño de letra, tipo de letra, negrita, estilo, subrayado,…). Y también permite trabajar con justificaciones en bloques de texto (a la izquierda, a la derecha, centrado y justificado). A los procesadores de textos actuales se les puede incorporar gráficos dinámicos, hiperenlaces y tablas de datos y de cálculo (enlazadas). Una utilización, muy importante, es el Mailing (es una variedad de marketing directo, que consiste en enviar información publicitaria por correo). 8.2.-Hoja de cálculo: aplicación que sirve para realizar cálculos de forma automática. Trabaja con elementos textuales (rótulos), con fechas y con números, y además con todas las fórmulas. -Tipos de fórmulas: aritméticas (+, -, *, /), estadísticas (ej: medianas), probabilidad, financieras (ej: hipotecas), funciones de ingeniería (ej: resistencia de un material), funciones lógicas,… -Gráficos: son representaciones visuales (más fáciles de entender para los humanos), que resumen los datos, fórmulas, etc. Hay varios tipos de gráficos dependiendo del programa: lineales, de puntos, de barra, logarítmicos,… -Foco: un objeto tiene foco, cuando la siguiente acción que va a realizarse se hace sobre ese objeto. Para seleccionar un foco se utiliza el ratón o el teclado. -Aplicaciones de la hoja de cálculo: se pueden utilizar en ciencia, ingenierías, en la ayuda de toma de decisiones en la dirección de una empresa,… Ejemplo de una hoja de cálculo: A B C D 1 Tiempo (s) Espacio (m) Velocidad (m/s) Fórmulas físicas 2 3 9 =B2/A2 V = e/t 3 5 =C3*A3 3 E = v*t 4 =B4/C4 6 2 T = e/v -En una celda solamente puede ir un rótulo, una fecha, un número o una fórmula. Las celdas que tienen fórmulas y constantes se pueden proteger, para que así, no varíen, y también se pueden ocultar. -Los rótulos se usan para explicar. -Los nº, las fechas son los datos. -Las fórmulas relacionan los datos. 8.3.-Bases de datos: son programas que sirven para relacionar, almacenar y recuperar ingentes cantidades de datos. -Atributo o campo: es una característica por la calificamos, clasificamos, ordenamos a un conjunto de entidades. *Clave primaria-->es un atributo que tiene que tener un valor único en esa tabla (no puede haber dos T-UPLAS iguales). Ej: DNI, nº matrícula de un coche, código de la seguridad social, etc. -T-UPLAS o registros: son conjuntos de valores de los atributos de una entidad. -Relación o tabla: es un conjunto de T-UPLAS de las mismas características. Tipos de bases de datos: a) Jerárquicas ? ?? fueron las 1ª, el problema es que dependían del progr. b) Red ? c) Relacionales (son las más importantes). d) Persistentes (orientadas a objeto). *Bases de datos relacionales: están constituidas por relaciones junto con los programas que trabajan con esas relaciones. La importancia de trabajar con estas B.D es que permiten establecer relaciones entre tablas. Cuando se usan las S.G.B.D.R. (Sistema Gestor de Bases de Datos Relacionales) se evita redundancia (diminuyen los errores), es el software el que sirve de interfaz entre el usuario y los datos, es un interfaz entre aplicaciones y el S.O., esto quiere decir que, puede cambiarse el S.O. sin cambiar las aplicaciones, seguridad de no perder la información, control de acceso, integridad. El proceso de crear y relacionar varias tablas se llama normalización. Este trabajo lo realiza un analista de sistema. Para trabajar con una base de datos necesitamos: 1.-Un diseño. 2.-La creación de las tablas (vacías). 3.-Rellenar las tablas con la información (T-UPLAS). Para manejar una base de datos hay que conocer varios lenguajes: *D.D.L. (Lenguaje de Definición de Datos)--> sirve para crear, borrar tablas (vacías). Trabajo realizado por el administrador. *D.M.L. (Lenguaje de Manipulación de Datos)--> sirve para crear, modificar, eliminar y consultar registros. Este trabajo lo realiza un usuario con privilegios. *D.C.L. (Lenguaje de control de datos)--> otorga o cede y quita privilegios. También lo hace el administrador. *S.Q.L. (Lenguaje de Consulta Estructurado)--> permite trabajar con cualquier base de datos. Ejemplos de bases de datos: Privadas: -Oracle -Informix -Microsoft--> S.Q.L. – Server Libres : -Firebird 8.4.-Presentaciones: conjunto de diapositivas multimedias (texto, gráficos, sonidos). -Transición: mezcla gráfico + sonido. -Plantillas: son diseños predefinidos que se pueden utilizar en una presentación. Otros efectos que se le puede dar al texto: -Las letras pueen tener una aparición u otra, en función del efecto dinámico que se le de al texto. -También al texto se puede dar un tipo de letra diferente, tamaño, color,… Las presentaciones se hacen a partir de programas como: -Powerpoint (Windows) -Impress (Linux) Usos de las presentaciones o diapositivas: -ofrecer una imagen de una corporativa o dde un producto; -enseñar un proyecto; -mostrar un diseño. En definitiva su función principal es vender. 8.5.-Correo electrónico o E-mail: servicio de red para poder enviar y recibir mensajes de un usuario a otro. -Evolución histórica del E-mail: 1º) Se establecía una conexión PC contra PC. 2º) A partir de un sistema telefónico se accedía a un ordenador particular. 3º) Más tarde con la evolución de Internet, a través del sistema telefónico nos podíamos conectar a otra persona, mandándole un correo, pero que solo permitía texto. Esto pasaba porque había una velocidad baja. 4º) Actualmente, al haber evolucionado las tecnologías, hay una mayor velocidad y gracias a ello se pueden mandar textos, imágenes, sonidos, vídeos. -Para crear un correo electrónico: 1º Se pide el nombre del usuario; 2º luego, una contraseña; 3º se repite la contraseña; 4º a continuación se pide una información sensible acerca del usuario que debe ser falsa; 5º por último, se requiere una identificación gráfica, que se basa en reconocer una serie de caracteres para garantizarse que quien se está dando de alta es un humano y no una máquina. -Para crear una contraseña debes tener en cuenta: 1º elegir entre 8 y 12 caracteres; 2º y un buen método, sería seleccionar una frase de la que te acuerdes y poner las iniciales de las palabras que la forman. De este modo tendrías una buena contraseña y evitarías los ataques al E-mail, que pueden ser: *de fuerza bruta: se utilizan muchos ordenadores para atacar al tuyo y conocer la contraseña. *por diccionario: un ordenador utiliza un diccionario, que va probando con palabras del idioma que sea. *Ingeniería social: obtienen tus datos de forma fácil, como por ejemplo a través de una simple llamada de teléfono. -Administración del E-mail: 1º usuario 2º crear, eliminar carpetas 3º crear, eliminar, enviar, responder, mover los mensajes. -Arquitectura del sistema de correo electrónico: la plataforma o hardware CLIENTE A se comunica a través de Internet con un plataforma SERVIDOR B, éste a su vez su comunica con una plataforma SERVIDOR C, que hará llegar el mensaje a la plataforma CLIENTE D. +Sobre la plataforma hace falta un S.O y una aplicación de correo electrónico, llamada aplicación cliente (software básico). +En el servidor también S.O y una aplicación E-mail, llamada servidor (software muy desarrollado). -El S.O del cliente hace falta que sea en red. -El S.O del servidor tiene que ser capaz de ser multitarea, multiusuario y en red. -Internet es un canal inseguro, por lo que hay que usar un usuario y una contraseña. Todo lo que pasa por Internet puede ser captado por un analizador de protocolos o SNIFFER. Para que esto no ocurra hay que tomar medidas de seguridad, como por ejemplo encriptar el mensaje, es decir, cifrar el mensaje para que solo lo pueda conocer quien conozca el método para descifrarlo. El porqué se la inseguridad en Internet tiene algo que ver con: -Gusanos: programa que se multiplica y proovoca la saturación del ordenador y de la red. -Virus: programa parásito, que generalmentte causa daño, escondido dentro de un programa legítimo y guardado en el sector de arranque de un disco. -Caballos de Troya: es un programa que parrece ser bueno, pero que en realidad lleva un programa perjudicial. -Estructura cliente-servidor: el Internet de hoy en día se basa en la estructura cliente/servidor + navegador, es decir, la aplicación cliente se comunica con la aplicación servidor, a través de un protocolo (HTTP/HTML). El primer navegador que existió lo creó un científico que trabajaba en CERN, y se llamó MOSAIC, y posteriormente crearía NETSCAPE. -Protocolo-->conjunto de normas para comunnicar dos sistemas -HTTP (HyperText Transfer Protocol, Protoccolo de Transferencia de Hipertexto)--> es el método más común de intercambio de información en la world wide web, la forma mediante la cual se transfieren las páginas web a un ordenador. -HTML (Hyper-Text Markup Language, Lenguajje de Hipertexto)--> lenguaje en el que están escrita todas las páginas web, por lo que el hipertexto es el contenido de las páginas web. -SMTP (Simple Mail Transfer Protocol, Prottocolo Simple de Transferencia de Correo electrónico) es el protocolo que se encarga del envío y recepción de los mensajes en TCP/IP. 8.6.-Páginas web: están escritas en HTML. Al principio las páginas web eran estáticas, es decir, solo texto; más tarde se les añadirían gráficos y actualmente son dinámicas, es decir, incluyen gráficos dinámicos y para ello al lenguaje HTML hay que añadirle otro lenguaje de programación (se ejecuta en la aplicación cliente a excepción de Java, que lo hace un el servidor), como por ejemplo: -Java: -Java Script: -C -Visual Basic. Net -Asp: creado por Microsoft. .PHP: creado por Unix. La aplicación cliente pide un servicio que es devuelta por la aplicación servidor, gracias al enlace. 9