410 likes | 801 Views
Tema 1: Introducción. Introducción a la informática Introducción a los ordenadores Introducción a la programación. Tema 1: Introducción. Introducción a la informática Información: Ideas o hechos transmitidos entre personas Vallas publicitarias, prensa, clases... Datos:
E N D
Tema 1: Introducción Introducción a la informática Introducción a los ordenadores Introducción a la programación
Tema 1: Introducción • Introducción a la informática • Información: • Ideas o hechos transmitidos entre personas • Vallas publicitarias, prensa, clases... • Datos: • Componentes básicos de la información: codificación • Eslogan, titular,... • Informática: • Conjunto de ciencias, técnicas o actividades que se dedican al estudio, tratamiento y almacenamiento de los datos por medios automáticos. • Sistema binario: • Representación de la información en base 2 • La información se codifica como una secuencia de símbolos binarios: 0 y 1. 2
Tema 1: Introducción • Tipos y codificación de la información: • Codificación • Proceso que consiste en representar la información mediante una combinación de símbolos determinada: dos informaciones distintas tienen dos combinaciones distintas. • Información analógica • La manera en que existe la información en el mundo real: carta, fotos, una cinta de música. • Información digital • Si en vez de utilizar papel, lápiz, magnetófonos, etc. se utiliza un ordenador, la información pasa a ser digital • La información analógica se traduce a codificación binaria • Ejemplo telégrafo y código morse: 3
Tema 1: Introducción “Confirmo asistencia a boda. Llegaré Valencia sábado mañana temprano” escribiré en código Morse la siguiente secuencia de símbolos: “- · - · - - -- · ·· - · · - · --- - - · - · · · · · · · · · · - · - · - · - · · · · - “ etc... 4
Tema 1: Introducción • Si se utilizara la codificación binaria: “01000011 01001111 01000110 01001001 01010010 01001101 01001111 01000001 01010011 01001001 01010011 ...” • Esta codificación es transparente para el usuario • Del mismo modo que el texto se puede codificar imágenes y sonido, e incluso animaciones. 5
Tema 1: Introducción • Unidades de medida de la información • Información analógica • libro en páginas, fotografía en cm, cinta en minutos • Información digital • Cada elemento de información (1,0) se llama bit (binary digit) • Un conjunto de 8 bits es un byte (sería como una letra) • Con un byte podemos conseguir 256 combinaciones distintas: 28 • 1024 bits/bytes = 1 Kbit/Kbytes = 210 bits/bytes • 1024 Kbits/Kbytes = 1 Megabit/Megabyte = 220 bits/bytes • 1024 Mbits/Mbytes = 1 Gigabit/Gigabyte = 230 bits/bytes 6
Tema 1: Introducción • Ocupación orientativa de distintos tipos de información: 7
Tema 1: Introducción • Introducción a los ordenadores • Ordenador: conjunto de sistemas mecánicos y electrónicos diseñado para la gestión automática de los datos y que puede ser programado • Hardware: Parte física de un ordenador: pantalla, teclado, impresora, discos, etc • Software: Parte lógica de un ordenador: sistema operativo, entorno gráfico, datos, etc • Hardware y software • Un ordenador tiene elementos de ambos grupos ya que el hardware no sería operativo sin el software 8
Tema 1: Introducción • Estructura básica de un ordenador • Hardware: • Dispositivos de entrada: ratón, teclado, joystick, trackball, etc. • Dispositivos para el proceso de la información: procesador, memoria principal, electrónica de la placa base. • Dispositivos de almacenamiento de la información: disco duro, diskette, cd-rom, zip, jazz, etc. • Dispositivos de salida: monitor, impresora, plotter. • Software: • Sistema operativo • Programas de usuario • Datos • Existen diferentes clases de ordenadores, nosotros nos referiremos a los personales 9
Tema 1: Introducción • Componentes del ordenador • Información de entrada: Cualquier información que se introduce en el ordenador para ser procesada: conocida, invariable y estática. • Información de salida: Cualquier información generada en un ordenador por medios automáticos: desconocida, variable y dinámica • Proceso: Mecanismo automático, conocido y bien definido por el cual un ordenador es capaz de obtener unos resultados a partir de la información de entrada proporcionada 10
Tema 1: Introducción Ejemplo:Proceso sumar dos números: • Información de entrada: los dos números a sumar (5 y 12) • Proceso: Sumar los dos números (5+12) • Información de salida: la suma de ambos (17) • Procesador: componente principal del ordenador capaz de procesar la información Información de salida Información de entrada Proceso 11
Tema 1: Introducción • El camino de la información • Introducir la información en el ordenador mediante los dispositivos de entrada • Almacenar la información en los dispositivos de almacenamiento • Procesar la información para obtener resultados mediante los dispositivos de proceso • Visualizar los resultados en los dispositivos de salida y/o almacenarlos 12
Tema 1: Introducción • Dispositivos de entrada • Ratón: se utiliza como puntero • Teclado: dispositivo de entrada por excelencia • Se divide en: alfanumérico, numérico, desplazamiento, teclas grises, teclas de función, teclas especiales. • Dispositivos para el proceso de la información • Procesador: se conoce también como CPU (unidad central de proceso), es el cerebro del ordenador, en los ordenadores personales se ha pasado del 8088 a 4,77 Mhz en 1978 a el Pentium IV a 3.0 Ghz en la actualidad. 13
Tema 1: Introducción • Memoria: la memoria principal RAM almacena la información cuando esta es procesada • Electrónica de la placa base: circuito electrónico principal en el que se interconectan el procesador, la memoria y otros dispositivos • Dispositivos de almacenamiento • Disco duro: unidades de almacenamiento de gran capacidad • Disquete: Son discos de pequeño tamaño y capacidad • CD-Rom: Son como los cds de música 14
Tema 1: Introducción • Dispositivos de salida • Pantalla: permite visualizar imágenes y texto: tamaño, resolución y frecuencia de refresco • Impresora: permite presentar los resultados en un soporte definitivo (papel) • Componentes: sistema de alimentación del papel, cabeza de impresión, placa de control, botones y luces de control, conectores y cables. • Tipos: matriciales, de inyección y láser. • Sistema operativo • Es el componente software más importante ya que entre otras funciones se ocupa de que el Hw funcione bien 15
Tema 1: Introducción • Los SO más conocidos son: ms-dos, unix, linux, windows 3.1 95 98, NT, XP y 2003, OS/2, MacOS • Funciones de un SO • Gestión de procesos: gestionar los recursos que soliciten • Gestión de la memoria: la memoria RAM es limitada • Gestión del almacenamiento secundario: guardar y recuperar información • Gestión de E/S: la información llegue a los dispositivos y sea tratada correctamente • Gestión de archivos: la información se almacena en archivos y se estructura en directorios • Programas de usuario • Se compone de todo el software que no es el SO: Procesador de texto, hojas de cálculo, agendas, juegos, aplicaciones gráficas, etc. 16
Tema 1: Introducción • Introducción a la programación • Algoritmo: Procedimiento bien definido que nos permite resolver un problema. Se definen mediante pasos: Dados 2 números visualizar el mayor Inicio Averiguar el valor del primer número Averiguar el valor del segundo número Si el primer número es mayor que el segundo, visualizar el primero, sino visualizar el segundo Fin • Programa: Representación de un algoritmo mediante un lenguaje de programación concreto. Secuencia de instrucciones de un lenguaje de programación que resuelven el problema planteado por un algoritmo. 17
Tema 1: Introducción • Implementar: traducir un algoritmo a un programa. • Desarrollo del Software: • Diseño del algoritmo. • Implementación. • Ejecución y validación. • Lenguaje de programación: Cjto de reglas, símbolos y palabras especiales empleadas para construir un programa. • Instrucción: Cada una de las posibles órdenes que se pueden utilizar en un lenguaje de programación. El conjunto y sintaxis de instrucciones depende del lenguaje utilizado. 18
Tema 1: Introducción El problema debe ser susceptible de ser resuelto por ordenador: Dados dos números visualizar el mayor (lenguaje C) #include <stdio.h> int primer_numero, segundo_numero; main() { scanf("Primer numero: ",&primer_numero); scanf("Segundo numero: ",&segundo_numero); if (primer_numero>segundo_numero) printf("%d",primer_numero); else printf("%d",segundo_numero); } 19
Tema 1: Introducción • Funcionamiento de un programa • Entrada de datos: el programa solicita los datos necesarios para resolver el programa: los scanf • Proceso de la información: el programa opera con los datos para obtener el resultado: una suma • Salida de resultados: presentación en pantalla del resultado: los printf 20
Los lenguajes de programación • Los lenguajes de programación pueden dividirse en dos tipos: • Lenguajes de alto nivel: Lenguaje en el que un programador escribe el programa. Se caracteriza por: • ser independiente de la máquina y del Sistema Operativo para el que se realiza el programa, y • ser relativamente sencillo de entender por una persona (programador) que escribe el programa. • Lenguajes de bajo nivel: Estos lenguajes se caracterizan justo por lo contrario que los anteriores: son difíciles de entender y manejar por una persona, y son dependientes de un procesador en concreto. 21
Los lenguajes de Alto Nivel (I) • Dentro de los lenguajes de alto nivel pueden distinguirse varios tipos: • Imperativos o procedurales (depende de a qué característica se refiera se utiliza un nombre u otro). También llamados lenguajes de 3ª generación. El análisis de los problemas y el planteamiento del diseño de los programas que solucionan un determinado problema se lleva a cabo dividiendo el problema en tareas y subtareas. Ejemplos: C, Pascal, Fortran, ... • Orientados a Objetos. También llamados de 4ª generación. El planteamiento de la solución consiste en la identificación de objetos del mundo real con sus características y comportamiento. Ejemplos: C++, Java, Pascal-OO, ... • Otros: Plantean la solución del problema de la programación desde otros puntos de vista. Se utilizan a nivel de investigación. 22
Los lenguajes de Alto Nivel (II) • Según el tipo de aplicación que se les da se pueden clasificar de la siguiente manera: • De propósito general: BASIC, PASCAL, ADA, C, ... • Científicos: FORTRAN, C, ... • De gestión: COBOL, PRG, C, ... • Educativos: LOGO, ... • De Inteligencia Artificial: LISP, PORLOG, C, ... • Programación en Internet: JAVA, PERL, HTML • El lenguaje C/C++ es de los más utilizados hoy en día. También lo es el PASCAL y los que se refieren a Internet. 23
Los lenguajes de Bajo Nivel • Existen dos lenguajes de Bajo Nivel principalmente: • El ensamblador: Lenguaje de símbolos en el que se expresan las instrucciones elementales que ha de realizar el procesador para el que se está programando. • El lenguaje máquina: Lenguaje formado por cadenas de 1’s y 0’s que constituyen las instrucciones últimas que ejecuta el procesador. Es el único lenguaje de todos los anteriores que entiende el procesador directamente. 24
Compilador Código ejecutable Código fuente (Editor) Intérprete Código intermedio Proceso de programación • Una vez el programador escribe un programa en un lenguaje de Alto Nivel, es necesario traducirlo a lenguaje máquina para que el procesador pueda ejecutarlo. • La traducción se realiza mediante un programa traductor. Existen dos tipos de traductores: • Compiladores: Traducen el programa escrito en un lenguaje de Alto Nivel a lenguaje máquina de un procesador determinado. En un proceso intermedio generan código en lenguaje ensamblador. • Intérpretes: Programas que interpretan las instrucciones de un determinado lenguaje de Alto Nivel y las van ejecutando a medida que las descifran. Ejemplo: Un navegador de Internet es un intérprete del lenguaje de Alto Nivel HTML. 25
Esquema del proceso de programación Fichero ejecutable o programa Fichero fuente Lenguaje de programación de Alto Nivel Lenguaje máquina o binario Extensión: *.c, *.pas *.f, etc. Extensión: *.exe 26
Tipos de programas • Programas de uso universal • Numéricos • Procesadores de texto • Gráficos • Gestión • De información remota • Programas de uso particular • Informática • Ingeniería 27
Tema 1: Introducción • Pseudocódigo • Aunque el conjunto de palabras y símbolos de los distintos lenguajes es muy diferente su funcionalidad es similar • Nos permite realizar un esbozo del programa final utilizando un lenguaje cercano al natural • Después será sencillo traducir al lenguaje elegido. Ejemplo: Dados 2 números, visualizar la suma de ambos Inicio Leer el primer número Leer el segundo número Calcular la suma de ambos Visualizar el resultado Fin 28
Tema 2: Elementos básicos de un programa Tipos de datos, variable y constantes Operadores y expresiones
Tema 2: Elementos básicos de un programa • Tipos de datos, variable y constantes • Tipo de datos: Clasificación disjunta que nos permite distinguir una información de otra según su naturaleza. Dependiendo del tipo se podrán realizar unas operaciones u otras • Variable: Simbología que nos permite asociar un nombre a un almacén de información temporal en un programa. Esta información puede variar durante la ejecución • Constante: Lo mismo que la variable pero su contenido permanece constante 30
Tema 2: Elementos básicos de un programa • Tipos de datos • Numéricos • Enteros: Valores numéricos enteros comprendidos entre -32768 y 32767 ó 0 y 65535 para un procesador de 16 bits. • Reales: Subconjunto del conjunto matemático de los números reales (parte entera y parte real) • Lógicos • Sólo pueden tomar los valores cierto y falso. • Carácter • Valores alfanuméricos del código ASCII • Variables • Para poder disponer de una información durante la ejecución de un programa es necesario almacenarla en una variable. La mayoría de lenguajes precisan la declaración de la variable 31
Tema 2: Elementos básicos de un programa Ejemplo: tipo_variable nombre_variable int contador unsigned int edad char sexo • La declaración tiene dos funciones: reservar la memoria necesaria para la información y permitir utilizar esa información en el programa para realizar operaciones. • Constantes • La información que tiene una constante no varía, por lo que se suelen utilizar para definir valores que se repiten a lo lago del programa #define nombre_constante valor_constante #define pi 3.1416 #define titulo “TEXTO FIJO” #define numero_alumnos 100 32
Tema 2: Elementos básicos de un programa • Operadores y expresiones • Operador: Símbolo que se asocia a una determinada operación básica que se realiza con los datos en algún punto del programa • Expresión: Combinación de variables, constantes, operadores, paréntesis y nombres de función escritas en un determinado orden que tiene la propiedad de ser evaluada y obtener un valor • Operadores • Operadores aritméticos: realizan operaciones aritméticas, por lo que utilizan valores numéricos o variables numéricas 33
Tema 2: Elementos básicos de un programa • Unarios: Necesitan un único valor numérico para realizar la operación. Disponemos de los siguientes operadores: • Signo negativo (-): Se utilizar para indicar que el valor numérico que lo sigue es un valor negativo. Ejemplo: int i = -10; • Incremento (++): Se utiliza para aumentar el valor de su operando en una unidad. Ejemplo: (en lenguaje C) int i = 0 ; i++; /*La variable "i" contiene el valor 1 después de esta instrucción*/ • Decremento (--): Se utiliza para disminuir el valor de su operando en una unidad. Ejemplo: (en lenguaje C) int i = 0 ; i--; /* La variable "i" contiene el valor -1 después de esta instrucción */ 34
Tema 2: Elementos básicos de un programa • Binarios: Necesitan dos valores numéricos para realizar la operación. • Suma (+): Se utiliza para sumar dos valores numéricos. Ejemplo: int i = 0 ; j=10 ; k = 7 ; i=j+k; /* La variable "k" contiene la suma de los valores contenidos en las variables "j" y "k", es decir 10+7=17, después de esta instrucció • Resta (-): Se utiliza para restar dos valores numéricos. Ejemplo: int i = 0 ; j=10 ; k = 7 ; i=j-k; /* La variable "k" contiene la resta de los valores contenidos en las variables "j" y "k", es decir 10-7=3, después de esta instrucción */ • Multiplicación (*): Se utiliza para multiplicar dos valores numéricos. Ejemplo: int i = 0 ; j=10 ; k = 7 ; i=j*k; /* La variable "k" contiene la multiplicación de los valores contenidos en las variables "j" y "k", es decir 10*7=70, después de esta instrucción */ 35
Tema 2: Elementos básicos de un programa • División (/): Se utiliza para dividir dos valores numéricos. Dependiendo del tipo de datos (entero/real) la división obtendrá decimales o no. Ejemplo: int i = 0 ; j=10 ; k = 7 ; i=j/k; /* La variable "k" contiene la división entera de los valores contenidos en las variables "j" y "k", es decir 10/7=1, después de esta instrucción */ • Resto módulo (%): Se utiliza para obtener el resto de la división entera dos valores numéricos. Los operandos deben ser necesaramente números enteros. Ejemplo: int i = 0 ; j=10 ; k = 7 ; i=j+k; /* La variable "k" contiene el resto de dividir de los valores contenidos en las variables "j" y "k", es decir resto(10/7)=3, después de esta instrucción */ 36
Tema 2: Elementos básicos de un programa • Operadores relacionales: Sirven para realizar comparaciones sencillas entre valores, el resultado será un valor lógico • Menor que (<): Devuelve verdadero si el primer operando es estríctamente menor que el segundo operando. Ejemplo: int i = 7 ; j=10 ; if i<j printf(“i es menor que j”); else printf(“j es menor que i”); • Menor o igual que (<=): Devuelve verdadero si el primer operando es estríctamente menor o igual que el segundo operando. Ejemplo: int i = 7 ; j=10 ; if i<=j printf(“i es menor o igual que j”); else printf(“j es menor o igual que i”); • Mayor que (>): Devuelve verdadero si el primer operando es estríctamente mayor que el segundo operando. Ejemplo: int i = 7 ; j=10 ; if i>j printf(“i es mayor que j”);else printf(“j es mayor que i”); 37
Tema 2: Elementos básicos de un programa • Mayor o igual que (>=): Devuelve verdadero si el primer operando es estríctamente mayor o igual que el segundo operando. Ejemplo: int i = 7 ; j=10 ; if i>=j printf(“i es mayor o igual que j”); else printf(“j es mayor o igual que i”); • Igual (= =): Devuelve verdadero si el primer operando es estríctamente igual que el segundo operando. Ejemplo: int i = 7 ; j=10 ; if i = = j printf(“i es igual a j”);else printf(“i es distinto de j”); • Distinto (! =): Devuelve verdadero si el primer operando es estríctamente distinto del segundo operando. Ejemplo: int i = 7 ; j=10 ; if i != j printf(“i es distinto de j”);else printf(“i es igual a j”); 38
Tema 2: Elementos básicos de un programa • Operadores lógicos: permiten realizar expresiones relacionales o lógicas más complejas • Y (AND): Indica que se deben cumplir simultáneamente (a la vez) las dos condiciones o expresiones lógicas que se proporcionan como operandos. Ejemplo: int i = 7 ; j=10 ; k=15; if (i < j) and (i < k) printf(“i es menor que ambas j,k”); else printf(“i no es menor que ambas j,k”); • O (OR): Indica que se deben cumplir al menos una de las dos condiciones o expresiones lógicas que se proporcionan como operandos. Ejemplo: int i = 12 ; j=10 ; k=15; if (i < j) or (i < k) printf(“i es menor que j o k”); else printf(“i es menor que ambas j,k”); 39
Tema 2: Elementos básicos de un programa • NO (NOT): Este operador necesita un único operando y su efecto es negar la condición que representa dicho operando. Ejemplo: int i = 7 ; j=10 ; if not (i < j) printf(“i no es menor que j”); else printf(“i es menor que j”); • Operadores de asignación: Permiten modificar el valor asignado a una variable Ejemplo: int i ; i=1; /* La variable i tiene el valor 1 despues de esta operación */ i=5; /* La variable i tiene el valor 5 despues de esta operación */ • Expresiones: En general, una variable, constante, valor numérico, etc. es una expresión por sí misma, aunque eso sí, muy sencilla. Lo importante de la expresión es que puede ser evaluada y por lo tanto su resultado será de un tipo de datos determinado 40