tema 1: introducción introducción a la informática introducción a los ordenadores introducción...
TRANSCRIPT
Tema 1: Introducción
•Introducción a la informática
•Introducción a los ordenadores
•Introducción a la programación
2Fundamentos de Informática. DSIC/UPV
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.
3Fundamentos de Informática. DSIC/UPV
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:
4Fundamentos de Informática. DSIC/UPV
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...
Alfabeto (código) Morse
A · H · ·· · Ñ · · · · U · ·
B · · · I · · O V · · ·
C · · J · P · · W ·
D · · K · Q · X · ·
E · L · ·· R · · Y ·
F ·· · M S · · · Z · ·
G · N · T · ·
5Fundamentos de Informática. DSIC/UPV
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.
Código binario (ASCII)
A 01000001 H 01001000 Ñ 10100101 U 01010101
B 01000010 I 01001001 O 01001111 V 01010110
C 01000011 J 01001010 P 01010000 W 01010111
D 01000100 K 01001011 Q 01010001 X 01011000
E 01000101 L 01001100 R 01010010 Y 01011001
F 01000110 M 01001101 S 01010011 Z 01011010
G 01000111 N 01001110 T 01010100
6Fundamentos de Informática. DSIC/UPV
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
7Fundamentos de Informática. DSIC/UPV
Tema 1: Introducción
– Ocupación orientativa de distintos tipos de información:
Tipo de información Cantidad Tamaño
Texto simple Una página 3 kilobytes
Sonido de baja calidad Un minuto 1 megabyte
Sonido de alta calidad Un minuto 10 megabytes
Imagen en color Pantalla completa 500 kilobytes
Vídeo en movimiento Un minuto, ventana de 100x100 puntos
10 megabytes
8Fundamentos de Informática. DSIC/UPV
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
9Fundamentos de Informática. DSIC/UPV
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
10Fundamentos de Informática. DSIC/UPV
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
11Fundamentos de Informática. DSIC/UPV
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 entrada
ProcesoInformación
de salida
12Fundamentos de Informática. DSIC/UPV
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
13Fundamentos de Informática. DSIC/UPV
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.
14Fundamentos de Informática. DSIC/UPV
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
15Fundamentos de Informática. DSIC/UPV
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
16Fundamentos de Informática. DSIC/UPV
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.
17Fundamentos de Informática. DSIC/UPV
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
InicioAveriguar el valor del primer númeroAveriguar el valor del segundo númeroSi el primer número es mayor que el segundo, visualizar el primero, sino
visualizar el segundoFin
– 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.
18Fundamentos de Informática. DSIC/UPV
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.
19Fundamentos de Informática. DSIC/UPV
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);
}
20Fundamentos de Informática. DSIC/UPV
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
21Fundamentos de Informática. DSIC/UPV
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.
22Fundamentos de Informática. DSIC/UPV
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.
23Fundamentos de Informática. DSIC/UPV
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.
24Fundamentos de Informática. DSIC/UPV
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.
25Fundamentos de Informática. DSIC/UPV
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: CompiladoresCompiladores: 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érpretesInté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.
Código fuente(Editor)
Compilador
Intérprete
Código ejecutable
Código intermedio
26Fundamentos de Informática. DSIC/UPV
Esquema del proceso de programación
Lenguaje de Lenguaje de programación programación de Alto Nivelde Alto Nivel
Fichero fuenteFichero fuente
Lenguaje Lenguaje máquina o máquina o
binariobinario
Fichero ejecutable Fichero ejecutable o programao programa
Extensión: *.c, *.pas *.f, etc. Extensión: *.exe
27Fundamentos de Informática. DSIC/UPV
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
28Fundamentos de Informática. DSIC/UPV
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 ambosInicio
Leer el primer número
Leer el segundo número
Calcular la suma de ambos
Visualizar el resultado
Fin
Tema 2: Elementos básicos de un programa
Tipos de datos, variable y constantes
Operadores y expresiones
30Fundamentos de Informática. DSIC/UPV
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
31Fundamentos de Informática. DSIC/UPV
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
32Fundamentos de Informática. DSIC/UPV
Tema 2: Elementos básicos de un programa
Ejemplo:tipo_variable nombre_variableint contadorunsigned int edadchar 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
33Fundamentos de Informática. DSIC/UPV
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
34Fundamentos de Informática. DSIC/UPV
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 */
35Fundamentos de Informática. DSIC/UPV
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 */
36Fundamentos de Informática. DSIC/UPV
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 */
37Fundamentos de Informática. DSIC/UPV
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”);
38Fundamentos de Informática. DSIC/UPV
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”);
39Fundamentos de Informática. DSIC/UPV
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”);
40Fundamentos de Informática. DSIC/UPV
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
41Fundamentos de Informática. DSIC/UPV
Tema 2: Elementos básicos de un programaExpresiones aritméticas Resultado
6/8 0
3.2/0.4 8.0
-11%3 3.84
(3+2)*(1+1) 10
(i*3)+(i*2) 10
Expresiones relacionales Resultado
(i<2) FALSO
(i<=2) VERDADERO
(i*3)>=(1+2)*i VERDADERO
(2+i)!=(1+i) FALSO
Expresiones lógicas Resultado
(i<2) or (i<10) VERDADERO
(7>=6) and (3= =3) VERDADERO
Not (i<1) FALSO
((i<1) or (i*2>1)) and (i>1) VERDADERO