Está en la página 1de 50

Programacin I

Matemticas Aplicadas y
Computacin

2013
1. La computadora

Hardware: Software:
La parte fsica La parte lgica
La que hace La que dice cmo se hace
1.1. Antecedentes del software
Por qu es necesario el software?
Desde hace cundo existe?
Analizar Video 3. Historia del Software
1.1.1. Definicin de software

Es el conjunto de los programas de


cmputo, procedimientos, reglas,
documentacin y datos asociados, que
forman parte de las operaciones de un
sistema de computacin.
Estndar 729 del IEEE
1.1.2. Software de propsito especfico

Fueron creados para tener un solo uso


Enfocados a personas de actividades similares
Generalmente su distribucin es limitada
Ejemplos:
Sistemas operativos
Paquetes estadsticos
Programas mdicos
Compiladores de lenguajes de programacin
1.1.3. Software de propsito general

Fueron creados para tener muchos uso


Enfocados a personas de actividades diferentes
Generalmente su distribucin es extensa
Ejemplos:
Procesadores de texto
Hojas de clculo
Editores de imgenes
Reconocedores de rostros y voz
1.1.4. El sistema operativo
1.1.4.1. Concepto

Un sistema operativo es un programa o


conjunto de programas que en un sistema
informtico gestiona los recursos de hardware
y provee servicios a los programas de
aplicacin, ejecutndose en modo privilegiado
respecto de los restantes.
1.1.4.2. Funciones

Proporcionar ya sea una interfaz de lnea de comando o una


interfaz grfica al usuario, para que este ltimo se pueda
comunicar con la computadora.
1.1.4.2. Funciones

Administrar los dispositivos de hardware en la computadora:


memoria, monitor, las unidades de disco, los puertos de
entrada/salida ,etc. El SO sirve de intermediario entre los
programas y el hardware.
1.1.4.2. Funciones

Administrar y mantener los sistemas de archivo de disco. Los SO


agrupan la informacin dentro de compartimientos lgicos para
almacenarlos en el disco. Estos grupos de informacin son
llamados archivos.
1.1.4.2. Funciones

Proporcionar servicios a otros programas, similares a aquellos


que el SO proporciona directamente a los usuarios. Por ejemplo,
listar los archivos, grabarlos a disco, eliminar archivos, revisar
espacio disponible, etc. Cuando los programadores escriben
programas de computadora, incluyen en sus programas
instrucciones que solicitan los servicios del SO.
1.1.4.3. Capas

1 2 3 4 5

Cada nivel proporciona un conjunto especfico de funciones primitivas que podrn


usar las funciones de la capa superior.
1.1.4.3. Capas

1 2 3 4 5 1. Ncleo

El ncleo o kernel gestiona todos los procesos, es el encargado de


llevar la cuenta de todos los procesos activos y de la planificacin de
los mismos. Al seleccionar cul de ellos ocupar tiempo del
procesador, esta capa es muy importante, dado que define el
rendimiento del sistema.
1.1.4.3. Capas

1 2 3 4 5 2. Entrada y salida bsica

Proporciona funciones primitivas para la gestin de la memoria


secundaria, es decir, se encarga de proveer las primitivas necesarias
para la localizacin, escritura y lectura de bloques de datos en el
disco duro, sin llegar a proporcionar muchos detalles. Cabe sealar
que en esta capa la informacin almacenada no se representa como
archivos, la cual es una implementacin de una capa superior.
1.1.4.3. Capas

1 2 3 4 5 3. Gestin de memoria

Administra la memoria principal (RAM), se encarga de asignar los


bloques de memoria a los procesos y de liberarlos cuando stos han
terminado. Tambin se encarga de retirar algunos procesos de la
memoria y almacenar una imagen de ellos en el disco duro, para
simular que existe ms memoria de la que hay fsicamente
(memoria virtual).
1.1.4.3. Capas

1 2 3 4 5 4. Sistema de archivos

Esta capa proporciona las funciones necesarias para almacenar la


informacin en archivos, se apoya en las primitivas de la capa2 y la
decisin de qu procesos hacen uso de memoria se ubican en esta
capa.
1.1.4.3. Capas

1 2 3 4 5 5. Intrprete de comando

En esta ltima capa se ubica la interfaz visible para el usuario, ya sea


como una lnea de comando o como una GUI (Interfaz Grfica de
Usuario). Esta capa traduce al conjunto de primitivas de las capas
anteriores lo que el usuario comunica.
1.2. Sistemas de numeracin

Los sistemas de numeracin son conjuntos de


dgitos usados para representar cantidades.
Sistemas de numeracin decimal, binario, octal,
hexadecimal, romano, etc.
Los cuatro primeros se caracterizan por tener
una base (nmero de dgitos diferentes: diez,
dos, ocho, dieciseis respectivamente).
El romano no posee base y resulta ms
complicado su manejo.
1.2. Sistemas de numeracin

Los sistemas de numeracin que poseen una


base tienen la caracterstica de cumplir con la
notacin posicional, es decir, la posicin de cada
nmero le da un valor o peso, as el primer dgito
de derecha a izquierda despus del punto
decimal, tiene un valor igual a b veces el valor
del dgito, y as el dgito tiene en la posicin n un
valor igual a: (bn) * An
b = valor de la base del sistema
n = nmero del dgito o posicin del mismo
A = dgito.
1.2.1. Sistema binario, octal y
hexadecimal

BINARIO:
Base: 2
Dgitos: 0, 1
1.2.1. Sistema binario, octal y
hexadecimal

OCTAL:
Base: 8
Dgitos: 0, 1, 2, 3, 4, 5, 6, 7
1.2.1. Sistema binario, octal y
hexadecimal

HEXADECIMAL:
Base: 16
Dgitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
1.2.2. Conversiones entre
Sistemas (2, 8 y 16)

De un sistema de base b al sistema decimal:

(N)10 = bnAn + bn-1An-1++b0A0+b-1A-1+b-mA-m

Ejemplo: Convertir (EA3.FC)16 a decimal

(162)14+(161)10+(160)3+(16-1)15+(16-2)12 = (3747.984375)10
1.2.2. Conversiones entre
Sistemas (2, 8 y 16)

De decimal a sistema de base b (parte entera):

1. Dividir el nmero deseado entre la base b


2. Reservar el residuo
3. Tomar como nuevo nmero al cociente
4. Repetir los pasos 1, 2 y 3 hasta que el cociente sea 0
5. El nmero que se busca es el que se compone de la
unin de los residuos en el orden inverso en que se
obtuvieron
1.2.2. Conversiones entre
Sistemas (2, 8 y 16)

De decimal a sistema de base b (parte entera):

Ejemplo: Convertir (3747)10 a base hexadecimal


234 14 0
16 3747 16 234 16 14
3 10 14

(3747)10 = (EA3)16
1.2.2. Conversiones entre
Sistemas (2, 8 y 16)

De decimal a sistema de base b (fraccin):

1. Multiplicar el nmero deseado por la base b


2. Reservar la parte entera resultante
3. Tomar como nuevo nmero a la fraccin
4. Repetir los pasos 1, 2 y 3 hasta que la fraccin sea 0
o se llegue a la cantidad deseada de dgitos
5. El nmero que se busca es el que se compone de la
unin de las partes enteras en el orden en que se
obtuvieron
1.2.2. Conversiones entre
Sistemas (2, 8 y 16)

De decimal a sistema de base b (fraccin):

Ejemplo: Convertir (.984375)10 a base hexadecimal

(.984375)(16) 15.75

(.75)(16) 12.0

(.984375)10 = (.FC)16
1.2.3. Operaciones en binario
Suma

1 1 1 1 1 1 1

1 1 1 0 1 1 1 (119)10

0 0 1 1 1 1 1 (31)10
+
1 0 0 1 0 1 1 0 (150)10
1.2.3. Operaciones en binario
Resta

1 1 1 0 1 1 1 (119)10

0 0 1 1 1 1 1 (31)10

- 1 1

1 0 1 1 0 0 0 (88)10
1.2.3. Operaciones en binario
Multiplicacin
1 0 1 1 (11)10

x 1 0 1 (5)10

1 0 1 1

0 0 0 0

1 0 1 1

1 1 0 1 1 1 (55)10
1.2.3. Operaciones en binario
Divisin
1 0 1 1 (11)10
(5)10

1 0 1 1 1 0 1 1 1 (55)10

1 0 1
0 0 1 1 1
1 0 1
0 1 0 1
1 0 1
0 0 0
1.3 Representacin de los datos
en la computadora

Dato: conjunto de smbolos necesarios para


expresar un nmero, valor, palabra o concepto
Informacin: conjunto de datos que permiten
aclarar algo que es desconocido. Es susceptible
de aportar un conocimiento.
Computadora: es una mquina destinada a
procesar informacin.
1.3 Representacin de los datos
en la computadora

Dentro del ordenador, la informacin se representa


mediante el sistema de numeracin binario, es
decir, mediante 0's y 1's.
La unidad bsica de informacin es el bit (BInary
digiT).
El byte es el conjunto de 8 bits. En la memoria, un
byte
suele ser la unidad de direccionamiento, es decir, se
puede hacer referencia a cada byte mediante un
nmero que es su direccin.
1.3 Representacin de los datos
en la computadora

El byte puede almacenar 8 dgitos binarios.


Las caractersticas de informacin hoy en da son
grandes por lo que se utilizan mltiplos del byte:
1 Kilobyte (KB) son 1024 bytes (210 bytes)
1 Megabyte (MB) son 1024 KB (220 bytes)
1 Gigabyte (GB) son 1024 MB (230 bytes)
1 Terabyte (TB) son 1024 GB (240 bytes)
Etc.
1.3.1 Tipos de datos primitivos o
normalizados

Los tipos de datos primitivos tambin conocidos


como tipos de datos Normalizados, son aquellos
que forman parte de la mayora de las
computadoras:

Enteros
Reales
Valores lgicos
Conjunto de caracteres
1.3.1 Tipos de datos primitivos o
normalizados
Cualquiera de estos conjuntos de nmeros es
infinito, mientras que el espacio material de
representacin de los computadores es finito,
por lo tanto, no es posible representar todos los
valores.
En informtica, se asigna un nmero fijo de n bits
para representar un nmero. Esos n bits
permiten representar 2n nmeros distintos.
1.3.2 Representacin de enteros
Signo y magnitud
Consiste en reservar un bit para el signo.
Con n bits disponibles, uno indica el signo y los n-1
restantes indican la magnitud.
El bit de la izquierda se reserva para el signo.
El bit de signo en 0 indica que el nmero es positivo,
mientras que si es 1, indica que el nmero es negativo.
Esta representacin, ampliamente utilizada en los
computadores de la tercera generacin, ya no se utiliza.

(-14)10 con n=8 1 0 0 0 1 1 1 0


1.3.2 Representacin de enteros
Complemento a 1
Para un positivo, se representa el nmero en binario de
forma normal.
Para un negativo, se representa igual que un nmero
positivo pero se complementa cada uno de los bits. (se
cambian 0s por 1s y 1s por 0s).

(-14)10 con n=8 0 0 0 0 1 1 1 0

1 1 1 1 0 0 0 1
1.3.2 Representacin de enteros
Complemento a 2
Para un positivo, se representa igual que un nmero positivo
en complemento a uno.
Para un negativo, se representa igual que un nmero
negativo en complemento a uno pero se le suma 1 al
resultado obtenido (de derecha a izquierda, dejar los
nmeros sin cambio hasta el primer 1, los restantes
cambiarlos).
Es la representacin ms utilizada para negativos.

(-14)10 con n=8 0 0 0 0 1 1 1 0

1 1 1 1 0 0 1 0
1.3.3 Representacin de reales
Principalmente se utiliza el estndar IEEE
754 utilizando 32 o 64 bits

Cuando se usan 32 bits se est utilizando una precisin


simple.
Una precisin doble es aquella que usa 64 bits.
El estndar asume que el nmero que se va a representar
est en forma de punto flotante y normalizada.
1.3.3 Representacin de reales
Normalizacin en base 10
En general, un nmero en punto flotante puede ser
representado como d0.d1d2d3...dk x be
Donde:
d0.d1d2d3...dk es la mantisa
b es la base
e es el exponente
Se dice que el nmero est normalizado si 0<d0<b
Ejemplo: Representar a 108.3 en punto flotante normalizado

1 . 0 8 3 X 10 2

M a n t i s a Base Exponente
1.3.3 Representacin de reales
Precisin simple (32 bits)
Esta representacin tiene el siguiente formato:
signo exponente con signo mantisa

bits 1 8 23

El bit de signo es 0 si el nmero es positivo y 1 si es negativo


El exponente est representado en exceso 127 (se le suma
127 para evitar usar signo)
La mantisa se representa en magnitud SIN el 1 que est a la
izquierda del punto
1.3.3 Representacin de reales
Precisin simple (32 bits)
Ejemplo: Representar (-21)10 en binario
(21)10 = (10101)2 = (1.0101)2 X (24)
Mantisa: 0101
Exponente: (4 + 127)10 = (10000011)2
Signo (1) Exponente (8) Mantisa (23)

1 10000011 01010000000000000000000

32 bits
1.3.3 Representacin de reales
Precisin doble (64 bits)
Esta representacin tiene el siguiente formato:
signo exponente con signo mantisa

bits 1 11 52

El bit de signo es 0 si el nmero es positivo y 1 si es negativo


El exponente est representado en exceso 1023 (se le suma
1023 para evitar usar signo)
La mantisa se representa en magnitud SIN el 1 que est a la
izquierda del punto
1.3.3 Representacin de reales
Precisin doble (64 bits)
Ejemplo: Representar (-21)10 en binario
(21)10 = (10101)2 = (1.0101)2 X (24)
Mantisa: 0101
Exponente: (4 + 1023)10 = (10000000011)2
Signo (1) Exponente (11) Mantisa (52)

1 10000000011 0101000000000000000000000000000000000000000000000000

64 bits
1.3.4 Representacin de
booleanos

Los booleanos representan valores verdaderos o


falsos.
Al ser tan simples la mayora de las
representaciones utilizan solo un byte.
Si el valor es verdadero: 00000001
Si es falso: 00000000
Para ahorra memoria, algunos lenguajes tienen
tipos especiales que utilizan solo un bit.
1.3.5 Representacin de
caracteres
La representacin de caracteres ha sufrido
muchos cambios a lo largo de la historia.
El objetivo es representar smbolos como A,
$, @ utilizando solamente ceros y unos.
La forma natural de hacerlo es mediante una
tabla de equivalencia que asocie una
combinacin de ceros y unos con cada uno de los
smbolos existentes.
Han existido mltiples tablas o cdigos.
1.3.5 Representacin de
caracteres
El cdigo ms difundido, aunque no el ms
moderno, es el cdigo ASCII (American Standard
Code for Information Interchange)
Es un cdigo de caracteres basado en el alfabeto
latino (idioma Ingls).
Publicado como estndar en 1967 y actualizado
en 1986.
La tabla se muestra a continuacin.
1.3.5 Representacin de
caracteres

También podría gustarte