fundamentos de informáticadi002.edv.uniovi.es/~fcano/fi/teoria/tema_1_ce_2014_fcano.pdf ·...
TRANSCRIPT
Tema 1. Introducción.
Universidad de Oviedo
1-1
Fundamentos de Informática
Departamento de Informática
Universidad de Oviedo
Fundamentos de informática
Introducción.
Tema 1
Tema 1. Introducción.
Universidad de Oviedo
1-2
Fundamentos de Informática
1.1 Visión general de la informática
1.2 Estructura y funcionamiento de un ordenador
1.3 Representación de la Información en un ordenador
1.3.1 Sistemas de representación: decimal, binario,
hexadecimal
Representación de números enteros
Representación de números reales
Representación de caracteres
Representación de booleanos
1.4 Las funciones lógicas en el lenguaje
Índice
Tema 1. Introducción.
Universidad de Oviedo
1-3
Fundamentos de Informática
• Informática: lnformación + automática
o Según la RAE: Conjunto de conocimientos científicos y técnicas
que hacen posible el tratamiento automático de la información
por medio de ordenadores.
Ciencia que trata de la adquisición, almacenamiento,
representación, tratamiento y transmisión de la información,
utilizando máquinas denominadas ordenadores o computadoras.
o La información en las empresas se gestiona con diferentes
herramientas informáticas integradas, incluyendo
Diferentes sistemas operativos
Comunicaciones entre máquinas
Bases de datos
Aplicaciones de usuario
Aplicaciones de control y gestión de producción
1.1 Visión general de la informática
Tema 1. Introducción.
Universidad de Oviedo
1-4
Fundamentos de Informática
1.2 Estructura y funcionamiento de un ordenador
• Pero, ¿qué es un
ordenador?
Es una máquina que recoge
unos datos, opera con ellos y
retorna una salida.
Procesa a una velocidad
infinitamente superior a la
humana. Es programable.
• ¿Cómo realiza estas
funciones un ordenador?
o Arquitectura Von Neumann
Tema 1. Introducción.
Universidad de Oviedo
1-5
Fundamentos de Informática
1.2 Estructura y funcionamiento de un ordenador
Algoritmo: secuencia de operaciones bien definidas que resuelve un
problema.
Programa: secuencia de instrucciones lógicas o aritméticas que se
ejecutan en un ordenador
Algoritmo: Pedir coeficientes
Pedir x
Mientras x!=0
Calcular p(x)
Mostrar p(x)
Pedir x
Programa:
Dado un polinomio de segundo orden
p(x)=a·x2+b·x+c, evaluar p(x) para todo x distinto de
cero introducido por el usuario.
Problema:
Tema 1. Introducción.
Universidad de Oviedo
1-6
Fundamentos de Informática
• Sistema decimal
o Base 10, dígitos {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
o Sabemos extraer las unidades y sus pesos relativos!!!
1.3 Representación de la Información en un ordenador
138,32 2 1 0 -1 -2
2x10-2
3x10-1
8x100
3x101
1x102
138,32
Tema 1. Introducción.
Universidad de Oviedo
1-7
Fundamentos de Informática
1.3 Representación de la Información en un ordenador
• Para procesar la información en un computador hay que
representarla
o Un computador solo admite 1/0’s ¡Información binaria!
o Sistema binario
Base 2 dígitos {0, 1}
BIT bit digit
Agrupaciones
8 bits 1 Byte
103 bytes 1 kB
210 bytes 1024 B 1 kB (aceptado)
101 2 1 0
1x22
0x21
1x20
5
Tema 1. Introducción.
Universidad de Oviedo
1-8
Fundamentos de Informática
1.3 Representación de la Información en un ordenador
• Sistema hexadecimal
o La base es 16
o Valores posibles: entero en el
rango [0, 15]
o Dígitos posibles: {0, 1, 2, 3, 4,
5, 6, 7, 8, 9, A, B, C, D, E, F}
o Correspondencia directa con
los números binarios:
16=24 con 4 bits puedo
representar todos los dígitos
binarios.
o Mismo procedimiento para
llevar de decimal a
hexadecimal y viceversa
El visto para sistema binario
10 0x 2 10 0x 2
0 0 0000 8 8 1000
1 1 0001 9 9 1001
2 2 0010 10 A 1010
3 3 0011 11 B 1011
4 4 0100 12 C 1100
5 5 0101 13 D 1101
6 6 0110 14 E 1110
7 7 0111 15 F 1111
Es fácil pasar de binario a hexadecimal.
Y viceversa… ¡solo hay que usar la tabla!
Tema 1. Introducción.
Universidad de Oviedo
1-9
Fundamentos de Informática
Números Enteros Positivos
DE BASE B A BASE 10 DE BASE 10 A BASE B
• Vamos a utilizar básicamente 3 tipos de representación:
En general, si tenemos el número abcd.ef
representado en la base B, EXPRESARLO EN BASE
DECIMAL se realiza mediante MULTIPLICACIONES
sucesivas por potencias de la base B…
abc.d a*B2+b*B1+c*B0+d*B-1
2 1 0 -1
En general, si tenemos el número abcd.ef
representado en la base 10, EXPRESARLO EN
BASE B se realiza mediante DIVISONES sucesivas
entre la base B… 25/2=12, resto 1
12/2=6, resto 0
6/2=3, resto 0
3/2=1, resto 1
1/2=0, resto 1 110012
Decimal Binario Hexadecimal
Lo usa el humano Lo usa el computador Representación
intermedia
Base B=10 Base B=2 Base B=16
0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9
A B C D E F
¿Por qué?
Base
Dígitos
Tema 1. Introducción.
Universidad de Oviedo
1-10
Fundamentos de Informática
Números Enteros Positivos
• De decimal a binario
o 18
o 29
• De binario a decimal
o 11010
o 0110111
• De binario a hexadecimal
o 11010
o 0110111
• De hexadecimal a decimal
o 1A2F
• De hexadecimal a binario
o 1A2F
• 18/2=9 r=0; 9/2=4 r=1; 4/2=2 r=0; 2/2=1
r=0; 1/2=0 r=1 10010
• 29/2=14 r=1; 14/2=7 r=0; 7/2=3 r=1;
3/2=1 r=1; 1/2=0 r=1 11101
• 1*24+1*23+0*22+1*21+0*20=26
• 0*26+1*25+1*24+0*23+1*22+1*21+1*20=
55
• 0001 1010 0x1A
• 0011 0111 0x37
• 1*163+A*162+2*161+F*160=
1*163+10*162+2*161+15*160=6703
• 0001 1010 0010 1111
Tema 1. Introducción.
Universidad de Oviedo
1-11
Fundamentos de Informática
Números Enteros con signo y Números Reales
• Números Enteros con signo
o Con signo: ídem pero usando el bit más significativo como signo
+(0) o –(1). (problema el 0 tiene dos representaciones)
o Complemento a 2:
Para representar el número n con N bits, se realiza la operación 2N - |n|
Ejemplo: -72 con 8 bits
-72 complemento a 2 = 28 - |-72| = 256 – 72 = 184 = 1011 1000
Truco: para obtener la representación de -72:
1º- Se representa 72 en binario 0100 1000
2º- Buscar el primer 1 por la derecha y cambiar el resto de bits (01 y 10) : 1011 1000
Tema 1. Introducción.
Universidad de Oviedo
1-12
Fundamentos de Informática
Números Enteros con signo y Números Reales
• Números reales
o Estándar IEEE 754
+/- Mantisa Exponente
o En 32 ó en 64 bits
o Ojo, con esta representación algunos valores se aproximan, no son exactos, ya
que para representarlo en potencias de 2 se necesitaría infinitos términos. Por
tanto 1/3 + 1/3 +1/3 == 1, puede ser falso.
signo
1 bit
Exponente
8 ó 11 bits
Mantisa
23 ó 52 bits
Tema 1. Introducción.
Universidad de Oviedo
1-13
Fundamentos de Informática
Caracteres Y Datos Booleanos
• Caracteres
o Alfabéticos, Dígitos, Signos
Puntuación…
o Convenio: tabla de
representación
ASCII & ASCII extendido
UTF: UTF-8, -16, -32
• Booleanos:
o Valores posibles true o false
(verdadero o falso; 1 ó 0)
dinero>=precio_entrada
SI (NCE+NPL+NT)/2 >=5
SI (NCE>=4 & NPL>=5)
(NCE>=5 & NPL>=4)
Aprobado
SINO
Suspenso
SINO
Suspenso
o Los operadores relacionales y
de comparación ¡¡¡tienen
resultado BOOLEANO!!!
o Cualquier dato nulo es falso,
en otro caso es cierto
Tema 1. Introducción.
Universidad de Oviedo
1-14
Fundamentos de Informática
1.4 Las conjunciones lógicas. Uso de operadores lógicos
• Primero, ¡las nociones
básicas!
o Operadores lógicos AND (Y,
&), OR (O, |), NOT (no, ¬)
• Problemas:
Expresar las siguientes condiciones.
Con valores concretos a las
variables, verificar que las
condiciones encontradas son
correctas.
1. La temperatura es mayor que el punto
de consigna (temperatura deseada, p.e.
22ºC)
2. La temperatura está en el intervalo [20,
24]ºC
3. La temperatura no está en el intervalo
[20, 24]ºC
4. La temperatura no está en el rango [20,
24]ºC y la presión no es menor que 1 bar
A B A Y B
false false false
false true false
true false false
true true true
A B A O B
false false false
false true true
true false true
true true true
A no A
false true
true false Consecuencia: no(no A)=A
XOR: cierto si distintos
Tema 1. Introducción.
Universidad de Oviedo
1-15
Fundamentos de Informática
1.4 Las conjunciones lógicas. Uso de operadores lógicos
de Morgan
o ¬(A & B) = ¬A | ¬B
o ¬(A | B) = ¬A & ¬B
• Con estas reglas podemos
intentar simplificar o hacer
más claras expresiones:
o ¬(A>30 | A<=10)
Es equivalente a
o A<=30 & A>10
• Ejercicios
Niegue las siguientes condiciones y
aplique de Morgan para simplificar
1. Temperatura mayor que 20 y
Presión menor de 10
2. Temperatura mayor que 20 o
Temperatura menor que 5 y Presión
mayor de 20
3. Temperatura mayor que 20 o menor
que 5, y Presión mayor de 20.
Tema 1. Introducción.
Universidad de Oviedo
1-16
Fundamentos de Informática
1.4 Las conjunciones lógicas. Uso de operadores lógicos
• El ser humano razona utilizando,
entre otros mecanismos,
o reglas SI-ENTONCES-SINO.
SI condicion_antecedente
ENTONCES acciones; SINO
otras acciones;
o Repeticiones MIENTRAS;
PARA_TODO
Mientras condicion_sea_cierta
REPETIR acciones;
• Es importante saber expresar
nuestro razonamiento
formalmente
o La caldera se pone en
funcionamiento si la temperatura
excede el punto de consigna.
Por lo tanto,
• Debemos escribir nuestro
razonamiento
• De nuestro texto escrito en
lenguaje natural hay que extraer
las reglas:
o Identificar las reglas contenidas
en el texto
o Para cada regla identificada:
identificar sus antecedentes
identificar sus acciones
escribir la regla formal
Verificar la regla
o Verificar que se cumple el
razonamiento
Tema 1. Introducción.
Universidad de Oviedo
1-17
Fundamentos de Informática
• Y para acabar…
o Un año es bisiesto si es divisible entre 4, a menos que sea
divisible entre 100. Sin embargo, si un año es divisible entre 100
y además es divisible entre 400, también resulta bisiesto.
o Las raíces de un polinomio de grado 2 (ecuación 1) se calculan
mediante la ecuación 2. Hay cuatro casos a analizar: cuando a
vale cero ( polinomio de orden 1), cuando el contenido de la
raíz cuadrada es positivo ( dos raíces) cuando el contenido de
la raíz cuadrada es cero ( raíz doble) o cuando dicho
contenido es negativo ( raíces imaginarias).
1. Plantear las condiciones completas para cada uno de los casos.
2. Comprobar que si y solo si los coeficientes tienen los valores
apropiados entonces la correspondiente condición se activa.
1.4 Las conjunciones lógicas. Uso de operadores lógicos
ax2 + bx + c = 0 (1)
r =-b± b2 - 4ac
2a(2)