Sei sulla pagina 1di 68

Unidad I: Conceptos

Bsicos de Programacin
Digital
Prof. Eliana Guzmn U.
Semestre: A-2015

1 1 Introduccin
1.1
En esta unidad se hace una introduccin a
las computadoras y a los lenguajes de
programacin como herramienta de
programacin,
comunicacin entre la mquina y el
usuario.
usuario

1.2 Definicin de computadora


Una computadora (tambin llamada
ordenador o computador) es un sistema
digital con tecnologa microelectrnica,
microelectrnica
capaz de recibir y procesar datos a partir
de un grupo de instrucciones
denominadas programas, y finalmente
transferir la informacin procesada o
guardarla en algn tipo de dispositivo o
unidad de almacenamiento
almacenamiento.

1.2 Definicin de computadora


Es decir
decir, la computadora procesa datos y
los convierte en informacin significativa.
Diferencia entre datos e informacin: los
datos son hechos en bruto: nmeros,
palabras figuras que por si mismos no
palabras,
dicen nada, mientras que la informacin
contiene datos significativos
significativos, es decir son
datos que han sido procesados.

1.2 Definicin de computadora


Modelo fundamental de datos:
Datos

Computadora

Entrada

Proceso

Informacin
Salida

1.2 Definicin de computadora


Una computadora
p
necesita disponer
p
de un conjunto
j
de
funcionalidades y proporcionar la capacidad de:
Aceptar la entrada.
Visualizar o presentar la salida.
Almacenar la informacin en un formato lgicamente
consistente (Binario).
(Binario)
Ejecutar operaciones aritmticas o lgicas bien sobre
datos de entrada o bien sobre datos de salida.
Monitorizar, controlar y dirigir las operaciones globales y
de secuencia del sistema.

1.3 Hardware y software de los sistemas


d procesamiento
de
i t de
d la
l informacin
i f
i
Una computadora consta de dos partes bien
diferenciadas: hardware y software, por lo
tanto necesita de ambas partes para
poder ser utilizada en la prctica.

1 3 1 Hardware
1.3.1
Consta de las partes fsicas
fsicas, tangibles de
la computadora.
Cuando un usuario interacta con una
computadora, proporciona una entrada, en
respuesta la computadora procesa la
respuesta,
entrada devolviendo una salida valiosa al
usuario.
usuario

Esquema bsico del Hardware

Memoria Auxiliar

CPU

Dispositivos
de Entrada

Procesador
Unidad de Control
+
Unidad Aritmtico - Lgica
Memoria Principal

Dispositivos
de Salida

1 3 1 Hardware
1.3.1
Todas las funcionalidades de una
computadora son soportadas por los
siguientes componentes o unidades
fundamentales de la computadora:

1 3 1 Hardware
1.3.1
1 El procesador: es el dispositivo que
1.
ejecuta las instrucciones del programa,
sinnimos: UCP
UCP=CPU
CPU.
El procesador solo puede ejecutar
instrucciones simples
simples, tales como clculos
aritmticos sencillos o desplazamientos de
nmero por diferentes posiciones
posiciones,
comparaciones, etc.

1 3 1 Hardware
1.3.1
Sin embargo la velocidad a la cual se
realizan estos clculos es muy grande,
esta caracterstica es la que permite
ejecutar instrucciones de este tipo.
El procesador es quien dirige y controla el
procesamiento de la informacin realizado
por la computadora.
computadora

1 3 1 Hardware
1.3.1
Puede recuperar informacin de la
memoria: datos o programas.
Tambin almacena resultados del
procesamiento en la memoria para su uso
posterior.
posterior

1 3 1 Hardware
1.3.1
El CPU consta de dos componentes:
Unidad de Control: coordina las
actividades de la computadora y
determina qu operaciones se deben
realizar y en qu orden
orden, es decir
sincroniza y controla todo el proceso de la
computadora.
computadora

1 3 1 Hardware
1.3.1
Unidad aritmtica y lgica: realiza las
operaciones aritmticas y lgicas, tales
como suma
suma, resta
resta, multiplicacin
multiplicacin, divisin
y comparaciones.

1 3 1 Hardware
1.3.1
El microprocesador: es un chip (circuito
integrado) que controla y realiza las
funciones y operaciones con los datos
datos. En
realidad, el microprocesador representa al
CPU o procesador
procesador.
La velocidad de un microprocesador se
mide en megahertz (MHz).
(MHz) Los fabricantes
ms populares son Intel, AMD y Cyrix.

1 3 1 Hardware
1.3.1
2 Memoria: es quien se encarga de
2.
almacenar o guardar la informacin en un
formato lgico consistente
consistente. Normalmente
Normalmente,
tanto los datos como los programas (o
instrucciones) se almacenan en la
memoria, con frecuencia en reas
distintas y separadas
separadas.

1 3 1 Hardware
1.3.1
La memoria se divide en dos categoras:
Memoria principal (central).
Memoria
M
i auxiliar
ili o almacenamiento
l
i t
secundario.

1 3 1 Hardware
1.3.1
Memoria principal (central): contiene los
programas que se estn ejecutando y los
resultados de los clculos intermedios de
la computadora. Por ejemplo, para que un
programa se pueda ejecutar debe ser
situado en la memoria central en una
operacin denominada carga (load)
(load), al
igual que los datos que emplea dicho
programa.
programa

1 3 1 Hardware
1.3.1
La memoria central se divide a su vez en
memoria RAM, memoria ROM y memoria
cach.
cach
Memoria RAM (Random Access Memory)
es normalmente voltil
voltil, lo que significa
que todo cuanto se almacena o guarda en
ella se pierde cuando se apaga la
computadora.

1 3 1 Hardware
1.3.1
En esta memoria es que se almacenan los
programas y datos mientras se est
utilizando la computadora
computadora.

1 3 1 Hardware
1.3.1
Memoria ROM (Read Only Memory): memoria
de solo lectura. Contiene instrucciones
fundamentales que no se pueden alterar,
modificar o perder de forma accidental por el
usuario.
Estas memorias incluyen aquellas instrucciones
que se requieren para cargar inicialmente el
software cuando se enciende la computadora
computadora,
(Sistema Operativo, especificaciones del
hardware) No es voltil,
hardware).
voltil su contenido no se
pierde cuando se apaga.

1 3 1 Hardware
1.3.1
Memoria cach: la mayora de los
procesadores actuales utilizan con
frecuencia una memoria denominada
cach, que sirve para el almacenamiento
intermedio de datos entre el procesador y
la memoria principal, con el objetivo de
que el procesador pueda obtener los
datos de la memoria central de forma ms
rpida.
rpida

1 3 1 Hardware
1.3.1
Direcciones de memoria:
Existen dos conceptos importantes asociados a
cada celda o p
posicin de memoria: su direccin
y su contenido.
Cada celda tiene asociada una nica direccin,,
que indica su posicin relativa en la memoria y
mediante la cual se puede acceder a la posicin
para almacenar
l
o recuperar iinformacin.
f
i L
La
informacin almacenada en una posicin de
memoria es su contenido
contenido.

1 3 1 Hardware
1.3.1
La memoria central se divide en
posiciones numeradas denominadas
bytes: es la unidad elemental de
almacenamiento, se utilizan mltiplos para
definir el tamao de la memoria central
central.

1 3 1 Hardware
1.3.1

1 3 1 Hardware
1.3.1
Memoria auxiliar o almacenamiento
secundario: consta de dispositivos
utilizados para almacenar los datos de
forma permanente, permitiendo su
recuperacin cuando se desee
desee, tanto de
datos como de programas.

1 3 1 Hardware
1.3.1
Las ms utilizadas son:
Cintas magnticas: normalmente para
equipos de audio y video
video.
Discos magnticos: poseen componentes
electromagnticos,
l t
ti
lla iinformacin
f
i se
registra en la superficie del disco y se
accede
d a ella
ll por medio
di d
de cabezales
b
l d
de
lectura/escritura.

1 3 1 Hardware
1.3.1
Pelcula de material magnetizable que permite
la grabacin de datos Ej: discos duros
(actualmente con capacidades de 1 TB), discos
flexibles o disquetes ya en desuso.
Discos pticos: utilizan un haz de lser para
grabar la informacin. Ej:
Discos compactos (CD): informacin que no necesita
ser actualizada con frecuencia
frecuencia. 650 a 700 MB
MB.
Existen de solo lectura y regrabables.

1 3 1 Hardware
1.3.1
Discos verstiles digitales (DVD): naci en
1995 son dispositivos de alta capacidad de
almacenamiento. Sirve tanto en
computadoras como en equipos electrnicos.
Capacidad vara desde 4,7 GB hasta 17 GB.

Unidades ZIP: capacidad 100 MB, 250 MB


y 700 MB.
Pen drive.

1 3 1 Hardware
1.3.1
3 Dispositivos de entrada/salida: son los
3.
dispositivos que permiten la comunicacin
directa del usuario con la computadora
computadora,
los ms utilizados son el teclado y el
ratn.
ratn

1 3 1 Hardware
1.3.1
Dispositivos de entrada: se usan para
introducir datos (informacin) para su
procesamiento convierten la informacin
procesamiento,
de entrada en seales elctricas que se
almacenan en la memoria central:
teclados, lectores pticos, lectores de
cdigos de barras
barras, escner
escner, mdem
mdem,
micrfonos, cmaras, y el ms popular el
ratn.
ratn

1 3 1 Hardware
1.3.1
Dispositivos de salida: permiten presentar
o mostrar el resultado del procesamiento
de los datos
datos, es decir la informacin
informacin.
Pantallas, impresoras, plotters, cornetas,
reconocedores de voz
voz.

1 3 2 Software
1.3.2
Consta de los programas
programas, tambin
llamados aplicaciones, que contienen
instrucciones que la computadora ejecuta
o corre.
El software se divide en dos grandes
grupos: software del sistema y software de
aplicaciones.
aplicaciones

1 3 2 Software
1.3.2
Software del sistema es el conjunto de
programas indispensables para que la
mquina funcione; se denominan tambin
programas del sistema.
Estos programas son bsicamente
bsicamente, el
sistema operativo, los editores de texto,
los compiladores/intrpretes (lenguajes de
programacin) y los programas de utilidad.

1 3 2 Software
1.3.2
Uno de los programas ms importantes es
el sistema operativo, que sirve,
esencialmente para facilitar la escritura y
uso de sus propios programas.
Dirige las acciones globales de la
computadora, instruye a la computadora
para ejecutar otros programas y controla
el almacenamiento y recuperacin de
archivos.
archivos

1 3 2 Software
1.3.2
Los sistemas operativos pueden ser
monousuarios y multiusuarios.
Los sistemas operativos ms populares
son Windows, Linux, Macintosh: Mac OS
X MS-DOS.
X.
MS DOS

1 3 2 Software
1.3.2
El sistema operativo consta de los
siguientes componentes:
Kernel del sistema: componente central del
sistema.
Sistema de administracin de memoria: asigna
un rea de memoria para cada programa que se
est ejecutando.
j
Administrador del sistema de archivos: organiza
y controla el uso del disco duro (DD).

1 3 2 Software
1.3.2
Controladores de dispositivos: controla los
dispositivos de hardware conectados a la
computadora.
computadora
Bibliotecas del sistema: contiene todos los
programas de utilidad que puede ser
llamados por los programas de usuario.

1 4 Programacin
1.4
Es el proceso de escribir un programa
programa, por
lo que requiere conocer cul es el
conjunto de instrucciones del lenguaje
lenguaje.

1 5 Programa
1.5
Es un conjunto de instrucciones internas
utilizadas para ejecutarse en una
computadora y que producen un resultado
concreto.
Cuando un programa se ejecuta
normalmente hay dos tipos de entrada a la
computadora: el programa y los datos
datos.

1.5.1 Instrucciones, sentencias o


proposiciones:
i i
S
Son llos dif
diferentes
t pasos o acciones
i
d
de un
programa o algoritmo, las cuales
especifican
ifi
ciertas
i t iinstrucciones
t
i
que d
debe
b
ejecutar la computadora.
Las instrucciones bsicas que una
computadora es capaz de manipular y
ejecutar se pueden agrupar en cuatro
grupos:

Tipos de instrucciones

Instrucciones de entrada/salida.
Instrucciones aritmtico/lgicas: ejecutan este
tipo
p de operaciones.
p
Instrucciones de seleccin: permiten
seleccionar de alternativas mltiples
p
segn
g
una condicin.
Instrucciones de repeticin: permiten la
repeticin de secuencias de instrucciones un
nmero determinado de veces.

1 6 Lenguajes de Programacin
1.6
Es el conjunto de instrucciones que se
pueden utilizar para construir un
programa.
programa
Sirven para escribir programas ya que
permiten la comunicacin
usuario/mquina.
Ejemplos:
Ej
l
T
Turbo
b P
Pascal,l C
C, C
C++, F
Fortran,
t
Visual Basic, PHP,

1 6 Lenguajes de Programacin
1.6
Los lenguajes de los humanos y los
lenguajes de la computadora son muy
diferentes ya que las caractersticas y
diferentes,
habilidades de las personas son muy
diferentes a las de las mquinas
mquinas.
Los lenguajes de programacin permiten que
las personas escriban programas segn su
propio lenguaje y luego se traducen al
lenguaje que las computadoras entienden
entienden.

1.6.1 Tipos de Lenguajes de


P
Programacin
i
Los principales tipos de lenguajes utilizados
en la actualidad son tres:
Lenguajes de mquina.
Lenguajes de bajo nivel (ensamblador)
(ensamblador).
Lenguajes de alto nivel.

Lenguajes de mquina
Son aquellos que estn escritos en
lenguajes directamente inteligibles por la
computadora ya que sus instrucciones
computadora,
son cadenas binarias que especifican una
operacin y las posiciones de memoria
implicadas.

Lenguajes de mquina
Las instrucciones en lenguaje de mquina
dependen del hardware de la
computadora y por lo tanto difieren de una
computadora a otra. El lenguaje de
mquina de un PC es diferente a la de
una computadora HP, Dell, Compaq o
IBM.
IBM

Lenguajes de mquina
Las ventajas de programar en lenguaje de
mquina se refieren a la posibilidad de
cargar el programa sin necesidad de un
traductor, lo que supone una velocidad
de ejecucin superior a cualquier otro
lenguaje de programacin.

Lenguajes de mquina
Los inconvenientes superan
p
a las ventajas
j y
hacen que no sea un lenguaje muy utilizado
actualmente por los programadores, dichos
inconvenientes son:
Dificultad y lentitud en la codificacin..
Poca fiabilidad
Dificultad grande de verificar y poner a punto los
p og a as
programas.
Los programas slo son ejecutables en el
mismo procesador o CPU.

Conversin de Sistema Decimal a Binario


10
0

2
5
1

2
2
0

2
1
1

2
0

10(decimal) = 1010(binario)

Conversin de Sistema Binario a Decimal

26

25

24

23

22

21

10(decimal) = 1 0 1 0(binario)
23 22 21 20
8 + 0 + 2 + 0 = 10

20

Lenguajes de Programacin
Existen otros lenguajes que permiten
escribir programas con instrucciones
similares al lenguaje humano (casi todos
en ingls). Estos lenguajes se denominan
de alto y bajo nivel
nivel.

Lenguajes de Bajo Nivel


Son ms fciles de utilizar que los lenguajes de
mquina, pero al igual que ellos dependen de la
mquina en particular (procesador).
El lenguaje de bajo nivel por excelencia es el
ensamblador. Las instrucciones en lenguaje
ensamblador son instrucciones como
nemotcnicos.
P ejemplo:
Por
j
l SUM (ADD)
(ADD), RES (SUB)
(SUB), DIV (DIV)
(DIV).

Lenguajes de Bajo Nivel


Ejemplo: ADD
ADD, M
M, N
N, P significa sumar el
nmero contenido en la posicin de
memoria M al nmero almacenado en la
posicin N y guardarlo en la posicin de
memoria P
P.
Evidentemente es ms fcil recordar esta
instruccin que su equivalente en cdigo
de mquina 0110 1001 1010 1011

Lenguajes de Bajo Nivel


Un programa escrito en lenguaje
ensamblador no puede ser ejecutado
directamente por la computadora
computadora, sino
que requiere una fase de traduccin a
lenguaje de mquina
mquina.

Lenguajes de Bajo Nivel


El programa original escrito en lenguaje
ensamblador se denomina programa
fuente y el programa traducido en
lenguaje de mquina se conoce como
programa objeto,
objeto ya directamente
inteligible por la computadora.
Programa fuente
escrito en lenguaje
ensamblador
(assembly)

Programa
ensamblado
(assembler)

Programa objeto
en cdigo de
mquina

Lenguajes de Bajo Nivel


La ventaja de los lenguajes
ensambladores frente a los lenguajes de
mquina es su mayor facilidad de
codificacin y en general, su velocidad de
clculo.
clculo

Lenguajes de Bajo Nivel


Los inconvenientes ms notables de los lenguajes
g j
ensambladores son:
Dependencia total de la mquina, lo que impide
l transportabilidad
la
bilid d d
de llos programas. El
lenguaje ensamblador del PC es diferente al
lenguaje ensamblador de la Macintosh
Macintosh.
La formacin de los programadores es ms
compleja, ya que exige no slo las tcnicas de
programacin sino tambin el conocimiento del
hardware de la mquina.

Lenguajes de Bajo Nivel


Hoy en da los ensambladores tienen sus
aplicaciones muy reducidas en la
programacin de aplicaciones y se
centran en aplicaciones de tiempo real,
control de procesos y de dispositivos
electrnicos.

Lenguajes de Alto Nivel


Son los ms utilizados por los
programadores. Estn diseados para que
las personas escriban y entiendan los
programas de un modo ms fcil que los
lenguajes de mquina y ensambladores.
ensambladores

Lenguajes de Alto Nivel


Otra razn, es que los programas escritos con un
lenguaje de alto nivel son independientes de la
mquina, es decir, las instrucciones del
programa no dependen del diseo del hardware
o de una computadora en particular. En
consecuencia,
i llos programas escritos
it usando
d
lenguajes de alto nivel son portables, lo que
significa la posibilidad de poder ser ejecutados
con poca o ninguna modificacin en diferentes
computadoras.
p

Lenguajes de Alto Nivel


Ventajas:
j
El tiempo de formacin de los programadores es
relativamente corto comparado con otros
lenguajes.
lenguajes
La escritura de programas se basa en reglas
sintcticas similares a los lenguajes humanos.
Ej
Ejemplo:
l read,
d write,
it b
begin,
i end.
d
Las modificaciones y puestas a punto de los
programas
p
og a as so
son ms
s fciles.
c es
Reduccin de los costos de los programas.
Transportabilidad.

Lenguajes de Alto Nivel


Inconvenientes:
No se aprovechan los recursos internos
de la mquina, que se explotan mucho
mejor en los lenguajes de mquina y
ensambladores.
Aumento de la ocupacin de memoria
RAM.
El tiempo de ejecucin de los programas
y
es mucho mayor.

Lenguajes de Alto Nivel


Al igual que sucede con los lenguajes
ensambladores, los programas fuentes
que ser traducidos a cdigo
g de
tienen q
mquina usando traductores llamados en
este caso compiladores e intrpretes.
Lenguajes de alto nivel ms utilizados
actualmente: C, C++, COBOL, FORTRAN,
TURBO PASCAL,
PASCAL VISUALBASIC
VISUALBASIC, JAVA,
JAVA
PROLOG, SQL, HTML, XML, PHP.

Lenguajes de Alto Nivel


Traductores de lenguaje: son programas
que traducen los programas fuente
escritos en lenguajes de alto nivel a
cdigo de mquina. Los traductores se
dividen en:
Intrpretes
Compiladores
C
il d

Lenguajes de Alto Nivel


Intrpretes: es un traductor que toma un
programa fuente y realiza la traduccin y
ejecucin lnea por lnea. Prcticamente ya no
se utilizan.
Compiladores: es un programa intrprete que
traduce un programa escrito en lenguaje de alto
nivel, en un programa escrito en lenguaje de
mquina de forma que la computadora lo pueda
comprender de forma directa.

Lenguajes de Alto Nivel


Programa fuente

Programa fuente

Intrprete

Compilador

Traduccin y
ejecucin lnea a
lnea

Programa objeto

Potrebbero piacerti anche