Está en la página 1de 38

!

Coordinadora: Mgter. Gladys Dapozo

Curso de Nivelacin y Ambientacin 2012


FACENA - UNNE

Mdulo Informtica

ndice
Presentacin ............................................................................................................ 3
1.

Contenidos ...................................................................................................... 3

2.

Objetivos ......................................................................................................... 3

3.

Metodologa ..................................................................................................... 4

4.

Evaluacin de las actividades ....................................................................... 4

5.

Cronograma .................................................................................................... 4

Conceptos tericos ................................................................................................. 5


1. Informtica
5
2. Sistemas Numricos
12
3. Tipos de datos y operaciones
21
4. Algoritmos y Estructuras de Control
28

Facultad de Ciencias Exactas y Naturales y Agrimensura

Curso de Nivelacin y Ambientacin 2012


FACENA - UNNE

Mdulo Informtica

Presentacin
Este mdulo busca acercar al futuro estudiante de Licenciatura en Sistemas de
Informacin a los temas propios de la disciplina, con un enfoque
fundamentalmente prctico que destaca la importancia de la resolucin de
problemas utilizando computadoras.
Se inicia con la presentacin de los conceptos fundamentales de la Informtica,
definiciones, alcances y trminos propios de la disciplina.
Luego se abordan cuestiones relacionados con las unidades de medida de la
informacin almacenada, las caractersticas de los principales sistemas numricos
que estn relacionados con la Informtica, las conversiones y operaciones entre
los distintos sistemas, como temas de base para entender los temas propios de la
disciplina. Luego se realiza una introduccin a la resolucin de problemas
utilizando computadoras, mediante una aproximacin a los conceptos sobre datos
y operaciones con los datos, y el concepto de algoritmos, que permitirn introducir
una metodologa sencilla para la construccin de soluciones factibles de ser
implementadas, posteriormente, en una computadora.

1. Contenidos
Informtica: definicin, alcances. Informacin. Carcter y dato. Unidades de
medida de la informacin. La computadora: hardware y software. Programas e
instrucciones. Unidades de medida de la informacin almacenada.
Sistemas numricos. Conversiones y operaciones entre sistemas.
Datos y operaciones. Evaluacin de expresiones.
Algoritmos: concepto, caractersticas. Estructuras de control: secuencia, seleccin,
repeticin.

2. Objetivos
Que el alumno ingresante a la Licenciatura en Sistemas de Informacin:

Comprenda el alcance de la disciplina y el rol del profesional de la


informtica en el desarrollo de soluciones tecnolgicas basadas en el
razonamiento humano.

Incorpore los trminos usuales relacionados con la Informtica y su


herramienta principal: la computadora.

Identifique las caractersticas de los sistemas numricos utilizados en


Informtica y los mecanismos de conversin entre sistemas, as como
tambin, el modo en que se implementan las operaciones aritmticas.

Modele soluciones algortmicas para problemas sencillos, combinando


representaciones de datos y estructuras de control apropiadas.

Comprenda la importancia de expresar sus soluciones de manera precisa,


ordenada y siguiendo reglas formales.

Asimile nociones bsicas que le permitan una mejor comprensin y


aprovechamiento de las asignaturas especficas del primer ao de la
carrera.

Refuerce su vocacin profesional mediante la incorporacin temprana de


los conceptos fundamentales de la disciplina y la prctica de actividades
sencillas pero esenciales como la resolucin de problemas.

Licenciatura en Sistemas de Informacin

Curso de Nivelacin y Ambientacin 2012


FACENA - UNNE

Mdulo Informtica

3. Metodologa
Se dictarn clases fundamentalmente de tipo prctica, enfocadas en lograr
conocimiento de tipo procedimental, con el objetivo de ir afianzando en el alumno
destrezas que le permitan enfrentar con xito las actividades formales de la
carrera.
Los temas tendrn una breve introduccin de los conceptos tericos, a cargo del
docente-tutor, y luego se propondr a los alumnos la resolucin de las guas de
ejercicios. Los docentes estarn a disposicin de los alumnos para las dudas y
dificultades que se planteen. Los ejercicios sern resueltos en la pizarra por los
propios alumnos y puestos a consideracin de la clase, el docente-tutor atender
las consultas que se realicen en relacin a los resultados o procedimientos
involucrados.

4. Evaluacin de las actividades


Para evaluar el cumplimiento de los objetivos de aprendizaje previstos, los
alumnos debern realizar y presentar 3 trabajos prcticos (TP) obligatorios con
ejercitacin similar a la contenida en las guas de ejercicios, desarrolladas en las
clases.
Los TP1 y TP2, sern corregidos por los docentes y entregados a los alumnos con
comentarios aclaratorios sobre los errores encontrados. El trabajo ser calificado
como Aprobado si cumple con un 60% de las respuestas correctas. De lo contrario,
tendr una calificacin de Insuficiente.
El TP3, integrar consignas de las guas de ejercitacin 3 y 4. Adems de una
presentacin escrita, los alumnos defendern en un coloquio las resoluciones
propuestas. El trabajo ser calificado como Aprobado si cumple con un 60% de las
respuestas correctas y si las respuestas de los alumnos en el coloquio son
satisfactorias. De lo contrario, tendr una calificacin de Insuficiente.
El Mdulo de Informtica se considerar Aprobado si el alumno cumpli con
el 75% de asistencia a las clases y aprob el TP1 o el TP2, y el TP3.
Los alumnos que no logren la condicin de Aprobado debern asistir a las
actividades de Tutoras planificadas para esta situacin, que se realizarn en
forma paralela al dictado de las asignaturas del primer cuatrimestre, en la que
debern trabajar los aspectos que no han podido cumplimentar satisfactoriamente.
Los alumnos en estas condiciones podrn cursar normalmente las asignaturas.

5. Cronograma

1 a 3 de febrero (3 das)

Gua 1

6 al 10 de febrero (5 das)

Gua 2

22 al 24 y 28 y 29 de febrero (5 das)

Gua 3

1y 2, 5 al 8/03 (6 das)

Gua 4

6/2/2012:

TP1-Unidades de medida de la informacin almacenada

22/2/2012:

TP2-Sistemas Numricos: Conversiones y operaciones

9 y 10/03:

TP3- Evaluacin de expresiones y Algoritmos

Facultad de Ciencias Exactas y Naturales y Agrimensura

Curso de Nivelacin
n y Ambientacin 2012
FACENA - UNNE

Mdulo Informtica

Conceptos tericos
ericos
1. Informtica
ca
Por Informtica se entiende al Conjunto de conocimientos cientficos
ntficos y tcnicas
que hacen posible
le el tratamiento automtico y racional de la informacin
rmacin por medio
de computadoras.
s.
Justamente la palabra informtica, de origen francs, est formada por la
contraccin de los
os vocablos: INFORmacin y autoMTICA.
En esta definicin
n se destacan dos trminos relevantes:
-

Tratamiento
ento automtico: Se refiere a que son las propias
pias mquinas (las
computadoras)
adoras) las que realizan las tareas de captura,
ptura, proceso y
presentacin
acin de la informacin.

Tratamiento
ento raciona
racional: Se refiere a que todo el proceso
o est regulado a
travs de una secuencia de instrucciones (programa)
a) que siguen el
razonamiento
miento humano.
El objetivo marcado
cado es el tratamiento automtico de la informacin
macin y el medio
utilizado para lograrlo
grarlo es la computadora.
Por lo tanto, para
ara entender en qu consiste la Informtica, es imprescindible
conocer:
-

Todas las caractersticas tcnicas


componentes
entes asociados (perifricos).

Los distintos
ntos tipos de informacin y datos que se manejarn
arn (sistem
(sistemas de
representacin,
ntacin, archivos y bases de datos).

Los procesos
cesos y mtodos aplicados a la informacin o datos
os (programas).

de

las

computadoras
utadoras

sus

Los sistemas
emas de comunicacin que permitirn tratar la informacin a
distancia
a y compartirla de forma confiable (redes de comunicacin de
datos).
Conocer con detalle
talle estos aspectos y la relacin que existe entre
tre ellos, permitir
entender cmo se realiza el tratamiento automtico de la informacin
rmacin utilizando
computadoras.
En la definicin se hace mencin a la utilizacin de computadoras.
as. En realidad, el
trmino es ms amplio y debe entenderse como sistema informtico,
tico, siendo este
un conjunto de recursos
ecursos destinados al tratamiento de la informacin.
n.

La Informtica
ca como disciplina
La Association for Computing Machinery (ACM) y la IEEE
IEEE-C
Computer Society
elaboraron una serie de recomendaciones sobre la Currcula de
e Computacin
Computacin, y
en este documento
ento especifican la siguiente definicin (se aclara
lara que en este
contexto, las palabras
abras Computacin e Informtica se utilizan como
o sinnimos):
La Computacin
n como disciplina comprende el estudio de procesos
cesos algortmicos
que describen y transforman a la informacin; estudian su teora,
a, anlisis, diseo,
eficiencia, implementacin
mentacin y aplicacin. La pregunta fundamental
tal subyacente en
toda la computacin
cin es: qu
qu puede ser automatizado (en forma eficiente)?
Esta disciplina naci
aci al inicio de la dcada de 1940 con la conjuncin
uncin de la teora
de los algoritmos,
os, la lgica matemtica y la invencin de la computadora
electrnica con programa almacenado.

Licenciatura en Sistemas
stemas de Informacin

Curso de Nivelacin y Ambientacin 2012


FACENA - UNNE

Mdulo Informtica

Informacin
Como se ha notado, la Informtica tiene como objetivo principal proporcionar
informacin en forma automatizada, por lo tanto es necesario tener claro qu se
entiende por informacin.
Por una parte, se puede denominar informacin a la comunicacin o adquisicin
de conocimientos que permiten ampliar o precisar los que se poseen sobre una
materia determinada. Por ejemplo, porcentaje de alumnos que aprobaron la
materia Redes.
Por otra parte, algunos autores denominan informacin al conjunto de smbolos
con los que se representan convencionalmente hechos, objetos e ideas. Este
enfoque es ms material y podra llevar a pensar que cualquier conjunto de
smbolos es informacin aunque no tenga sentido. Por ejemplo, un archivo de
datos de alumnos almacenado en el disco rgido.
En general, la naturaleza de la informacin se
comprende mejor en un escenario de comunicacin,
donde se da por supuesto un contexto cognitivo
compartido por un emisor y un receptor, y se transmiten
mensajes (informaciones) a travs de un canal que
propaga smbolos, de manera tal que se presenta:
-

Una peticin de conocimiento.

- La satisfaccin de la peticin de conocimiento (respuesta).


La respuesta proporcionada es la informacin, esta deber aportar un
conocimiento desconocido al receptor y serle til.
Por ejemplo: Dos individuos se encuentran en el pasillo de un edificio y uno le
pregunta a otro: Quin fue?, y el otro responde: Juan.
En este ejemplo se supone que ambas personas comparten el mismo idioma,
condicin necesaria para la comunicacin. Saber si el mensaje aporta
conocimiento al receptor estar relacionado con el contexto y la forma de la
pregunta, pero lo que no queda del todo claro es: cul es la informacin asociada
al mensaje? Algunas alternativas:
-

El conocimiento de que fue Juan y no Mara.

- Que no fue un fenmeno natural el que rompi la ventana.


En evidente que la informacin asociada a la respuesta puede ser muy diversa y
se precisa de un contexto de comunicacin donde emplear el lenguaje como
medio de la comunicacin. La condicin de utilidad de la respuesta permite
eliminar mensajes que no son del todo satisfactorios, por ejemplo, si la respuesta
del segundo individuo es un hombre, posiblemente no satisfaga las expectativas
del primer individuo.
Atendiendo a estas dos formas de concebir la informacin, desde la Informtica,
resulta ms pertinente considerar a la informacin como una realizacin del
conocimiento, conocimiento como objeto, aunque unido a los smbolos del
mensaje que soporta la informacin.
De esta manera, se puede entender que las computadoras tratan solo con la parte
fsica de los smbolos: la representacin de la informacin. Por ello, cuando se
dice que una computadora procesa informacin se debe entender que manipula
las cadenas de smbolos que portan la informacin. Es decir, la computadora
recibe como entrada una representacin simblica de ciertos datos de un
problema y proporcionar como producto cierta secuencia de smbolos, que,
convenientemente interpretada, dar la solucin (informacin) del problema. A
continuacin se ilustra la idea con el grfico que se muestra en la Figura 1.

Facultad de Ciencias Exactas y Naturales y Agrimensura

Curso de Nivelacin y Ambientacin 2012


FACENA - UNNE

Mdulo Informtica

Datos del
problema

Solucin

Smbolos de
entrada

Smbolos de
salida

Proceso
informtico

Figura 1. Proceso informtico

En el contexto genrico de procesamiento de informacin, se denomina dato a la


informacin de entrada e informacin a la salida o resultado del procesamiento.
Un dato es una representacin de un objeto del mundo real mediante la cual se
puede modelar aspectos de un problema que se desea resolver con un programa
en una computadora.
A su vez, un dato est formado por uno o varios caracteres. Un carcter es
cualquier smbolo numrico, alfabtico o especial que se emplea en la escritura y
en el clculo, tale como:
-

Numricos: 0,1,2, 9

Alfabticos: a, b, c,, z, A, B, C, Z

Especiales: *, /, +, #,

De control: salto de lnea, fin de archivo (EOF)...

Por qu se automatiza el tratamiento de la informacin?


Las razones que han llevado a la automatizacin del tratamiento de la informacin
son fundamentalmente cuatro:
-

La realizacin de funciones que el hombre por s solo no puede llevar a


cabo: comunicaciones a larga distancia, etc.

La ejecucin de funciones que, aunque el hombre pueda llevarlas a cabo


por s mismo, su ejecucin tardara mucho tiempo. Por ejemplo, los
clculos complejos para el seguimiento y
control de un proyectil dirigido o de una nave
espacial.

La obtencin de seguridad en algunas tareas,


como las que implican la repeticin de una
serie de pasos, en las que el hombre es ms
propenso a cometer errores.

La sustitucin del hombre para tareas


montonas. Ejemplo: control automtico de
parmetros de calidad en la fabricacin de
productos industriales.

Por qu la necesidad de informacin?


El conocimiento o informacin obtenida en el
procesamiento se utiliza para tomar decisiones con vistas
a un accionar concreto. Esta es la importancia que tiene la
Informtica en la actualidad: permite obtener informacin
confiable, precisa y oportuna que permitir tomar
mejores decisiones. Esto posibilita a las empresas y
organizaciones el logro eficiente de sus objetivos.

Licenciatura en Sistemas de Informacin

Curso de Nivelacin y Ambientacin 2012


FACENA - UNNE

Mdulo Informtica

La computadora
La Informtica trata exclusivamente el procesamiento realizado por una
computadora.
Computador, computadora u ordenador (se consideran
trminos equivalentes), se define como una mquina
capaz de aceptar unos datos de entrada, efectuar con
ellos operaciones lgicas y aritmticas, y proporcionar
la informacin resultante a travs de un medio de
salida; todo ello sin intervencin de un operador
humano y bajo el control de un programa de
instrucciones previamente almacenado en el propio
computador.
Las operaciones lgicas permiten comparar valores o determinar condiciones de
verdad o falsedad, y las aritmticas son anlogas a las usuales en matemtica
(suma, multiplicacin, etc.).

Programas e instrucciones
Una instruccin es un conjunto de smbolos que representa una orden de
operacin o tratamiento para la computadora. En general, estas operaciones se
realizan con datos. Por ejemplo: Sumar A + B.
Un programa es un conjunto ordenado de instrucciones que se dan a la
computadora indicndole las operaciones o tareas que se desea que realice.
Las instrucciones se forman con elementos o smbolos tomados de un
determinado repertorio, el juego de instrucciones de una CPU particular, y se
construyen siguiendo unas reglas precisas.
Los programas son formulaciones concretas de algoritmos abstractos (soluciones
expresadas en trminos generales), que utilizan representaciones de datos e
instrucciones especficas de la plataforma en la que van a ser implementados.
Ejemplos de programas son aquellos que permiten emitir un cheque de pago para
los empleados de una empresa, operar las funciones de un cajero automtico,
emitir resmenes de tarjetas de crdito, realizar el clculo de la trayectoria de un
misil, obtener un pronstico del tiempo, gestionar correo electrnico, software de
redes sociales (Facebook), editor de imgenes, etc.
Todo lo relativo a los smbolos y reglas para escribir programas se denomina
lenguaje de programacin. Por ejemplo: Pascal, C, Java, Python, etc.

Hardware y software
En general, en una computadora o en un sistema
informtico, se encuentran dos partes fundamentales
que interactan entre s:
El elemento fsico o hardware: Es el conjunto de
elementos materiales: computadoras, impresoras,
perifricos, redes de comunicacin, etc.

El elemento lgico o software: Se refiere a los


programas, datos o conjunto de elementos
lgicos: sistema operativo, lenguajes de
programacin,
programas
de
aplicacin
especficos, archivos de datos, pginas web,
etc.

Facultad de Ciencias Exactas y Naturales y Agrimensura

Curso de Nivelacin y Ambientacin 2012


FACENA - UNNE

Mdulo Informtica

Concepto de BIT y BYTE


En el mundo de las computadoras la informacin es digital, es decir que est
constituida por unidades contables (dgitos) de modo que pueden subdividirse. En
muchos casos, es preciso reducir la informacin a unidades ms simples para ser
usadas con eficacia. Una computadora opera de esta forma, no entiende palabras,
cifras numricas, imgenes, notas musicales o letras del alfabeto. No puede
procesar informacin sin dividirla en unidades ms pequeas, slo es capaz de
digerir la informacin que se ha dividido en bits.
Un bit o dgito binario, es la unidad ms pequea de informacin que puede
procesar una computadora. Puede tener uno de dos valores: 0 1. Representa la
informacin correspondiente a la ocurrencia de un suceso de entre dos
posibilidades distintas: prendido o apagado, abierto o cerrado, blanco o negro.
Si podemos imaginar el interior de una computadora como una coleccin de
microscpicos conmutadores on/of, como si fueran lmparas elctricas, podremos
entender porqu la informacin se procesa bit a bit. Cada conmutador o lmpara,
puede estar prendido o apagado, indicando dos posibles estados: 0 o 1, como se
muestra en la Figura 2.

Figura 2. Concepto de bit

Se utiliza la codificacin para asignar valores a los estados: el valor numrico "0" si
la lmpara est apagada y "1" cuando est encendida. Este cdigo sencillo
permite transmitir informacin. Por ejemplo, si establecemos que una lmpara
prendida en la puerta de una habitacin significa "no se puede entrar" estaremos
recibiendo un mensaje perfectamente definido. Una sola lmpara permite codificar
dos informaciones distintas (por ejemplo: "se puede entrar" y "no se puede entrar").
2

Pero si tenemos dos lmparas podramos codificar cuatro (4=2 ) informaciones


distintas, considerando las posibles combinaciones de prendido y apagado:
a) las dos lmparas estn apagadas (0,0)
b) la primera est encendida y la segunda apagada (1,0)
c) la primera est apagada y la segunda encendida (0,1)
d) la dos estn encendidas (1,1)
De esta forma una computadora puede procesar fragmentos ms grandes de
informacin tratando grupos de bits como unidades lgicas. Por ejemplo, una
coleccin de 8 bits, llamada byte, puede representar 256 mensajes diferentes
8
(256=2 ). Esta codificacin permite representar, por ejemplo, las letras del alfabeto,
los dgitos decimales y smbolos especiales.
La Figura 3 muestra la codificacin de la letra A que corresponde al decimal 65 y
que internamente se representa con 8 bits, el primero y el ltimo prendido y los
restantes apagados.

Licenciatura en Sistemas de Informacin

Curso de Nivelacin y Ambientacin


n 2012
FACENA - UNNE

Mdulo Informtica
mtica

Figura 3. Representacin
R
digital de la letra A

Qu representan los bits


En la Figura 4 se ilustra como
mo el texto, los nmeros y los smbolos (caracteres
cteres
especiales) se representan en el interior de la computadora como unos y ceros
eros y
se muestran fuera de la computadora
putadora en el formato entendible por las personas.
as.

Figura 4. Representacin
presentacin interna de la informacin

Unidades de medida para


p
el almacenamiento de informacin
n
Para medir longitudes se utilizan
lizan los metros, para medir capacidad se usan
an los
litros, para medir el peso se
e utilizan los gramos y el tiempo se mide en horas,
minutos y segundos. Para medir
edir la capacidad de almacenamiento de informacin
acin,
se utilizan los bytes.
Dentro de la computadora la informacin se almacena y se transmite en base
e a un
cdigo que slo usa dos smbolos, el 0 y el 1, y a este cdigo se le
denomina cdigo
Las computadoras reducen toda la informacin a ceros y unos, es decirr que
representan todos los datos,
s, procesos e informacin con el cdigo binario
o, un
sistema que denota todos loss nmeros con combinaciones de 2 dgitos,
dgitos el 0 y el 1.
1
Es decir que el potencial de la computadora se basa en slo dos estados
tados
electrnicos: encendido y apagado.
agado. Las caractersticas fsicas de la computadora
adora
permiten que se combinen estos
stos dos estados electrnicos para representar letras,
etras,
nmeros y colores.
Entonces, la unidad ms elemental
emental de informacin es un valor binario conocido
ocido
como bit, es una posicin o variable que toma el valor 0 1. Representa
nta la
informacin correspondiente
e a la ocurrencia de un suceso de entre dos
posibilidades distintas: prendido
do o apagado, abierto o cerrado.
En informtica, cada letra, nmero
mero o signo de puntuacin ocupa un byte (8 bits).
Por ejemplo, cuando se dice que un archivo de texto ocupa 5.000 bytes estamos
amos
afirmando que ste equivale a 5.000 letras o caracteres.
Entonces, un byte es el nmero
mero de bits necesarios para a
almacenar un carcter.
cter.
Este nmero depende del
el cdigo utilizado por la computadora, siendo
iendo
generalmente 8, por lo que habitualmente
abitualmente byte se utiliza como sinnimo de 8 bits.

10

Facultad de Ciencias Exactas y Naturales


urales y Agrimensura

Curso de Nivelacin y Ambientacin 2012


FACENA - UNNE

Mdulo Informtica

La capacidad de almacenamiento de una computadora o de un soporte de


informacin, (tal como el disco rgido, un CD o un pen drive) se mide en bytes.
Como es una unidad relativamente pequea, es usual utilizar mltiplos, que se
muestran en la Tabla 1.
Las denominaciones de las unidades derivan del Sistema Internacional de
Unidades (http://es.wikipedia.org/wiki/Sistema_Internacional_de_Unidades).
Tabla 1: Unidades de medida de la informacin almacenada
MEDIDA

EQUIVALENCIA

1 Byte

8 bits

1 Kilobyte (KB)

1024 bytes = 2

EJEMPLOS
Una letra, un nmero o un smbolo

10

bytes

Un archivo de texto, 20 KB

20

1 Megabyte (MB)

1024 KB = 2 bytes =
1.048.576 bytes

1 Gigabyte (GB)

1024 MB = 2 bytes =
1.073.741.824 bytes

1 Terabyte (TB)

1024 GB = 2

1 Petabyte (PB)

1024 TB = 2

1 Exabyte (EB)

1024 PB = 2

60

bytes

La informacin almacenada en el
mundo (al 2011) es de
aproximadamente 300 EB

1 Zettabyte (ZB)

1024 EB = 2

70

bytes

No existe ejemplo real

1 YottaBytes

1024 ZB = 2

80

bytes

No existe ejemplo real

Un archivo mp3, 3 MB

30

una pelcula en DivX, 1 GB

40

bytes

800 pelculas, 1 TB

50

bytes

En diciembre de 2007, YouTube


tuvo un trfico de 27 PB

Se utiliza el factor multiplicador 1024 en lugar de 1000 es por ser la potencia de 2


ms prxima a 1000, cuestin importante desde el punto de vista electrnico.

Figura 5. Unidades de medida y sus equivalencias. Imagen obtenida en:

http://vistoalreves.es/tag/megabyte/

Licenciatura en Sistemas de Informacin

11

Curso de Nivelacin y Ambientacin


n 2012
FACENA - UNNE

Mdulo Informtica
mtica

2. Sistemas Numricos
cos
El estudio de las computadoras
oras y del procesamiento de
datos requiere algn conocimiento
ocimiento de los sistemas
numricos, ya que stos constituyen
stituyen la base de todas las
transformaciones de informacin
macin que ocurren en el
interior de la computadora. Los sistemas numricos que
interesa conocer son:
c
por los smbolos 1 y 0, es el que utiliza
iza la
El sistema binario, compuesto
computadora en su funcionamiento interno. La computadora opera
ra en
binario debido a qu
ue sus componentes fsicos, pueden representar
sentar
solamente dos estados
dos de condicin: apagado/prendido, abierto/cerrado,
rrado,
magnetizado/no magnetizado,
netizado, etc. Estados de condicin a los que se les
asigna el valor 1 0.
El sistema decimal, compuesto por los smbolos 0 al 9, es el sistema
stema
numrico que utilizamos
mos a diario.
El sistema hexadecimal
cimal, con 16 smbolos, ofrece la posibilidad
d de
comprimir los nmeros
os binarios para hacerlos ms sencillos de tratar.
Los sistemas numricos difieren
ieren en cuanto a la disposicin y al tipo de
e los
smbolos que utilizan.

Sistema decimal
El ms importante factor en
n el desarrollo de la
ciencia y la matemtica fue
ue la invencin del
sistema decimal de numeracin.
acin. Este sistema
utiliza diez smbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
denominados generalmente "cifras decimales".
Quizs deriva de la cantidad
ad de dedos de las
manos que se puede utilizar
zar como un baco
primitivo.

Sistema binario
El sistema numrico binario (de base 2) usa solamente dos smbolos
diferentes, 0 y 1, que significan
ifican "ninguna unidad" y "una unidad"
respectivamente. A diferencia
a del sistema decimal, el valor relativo de
los dgitos binarios a la izquierda
zquierda del dgito menos significativo
aumenta en una potencia de
e dos cada vez, en lugar de hacerlo en
potencias de diez.
Especficamente, los valores de posicin de la parte entera de un nmero binario
inario
son las potencias positivas de
e dos:
4
3
2
1
0
2
2
2
2
2
(de derecha a izquierda)
Y los valores de posicin de
e la parte fraccionaria de un nmero binario son
on las
potencias negativas de dos:
-1
-2
-3
-4
2
2
2
2
(de izquierda a derecha).
Por ejemplo, el nmero binario
o 101101,11 =
=

1x 2

0x 2

1x 32

1x 2

1 2
1x

0x 2

1x8

1x4

= 45,75 en el sistema decimal


al

12

Facultad de Ciencias Exactas y Naturales


urales y Agrimensura

1x 2

1x 2

-1

1x1

0,5 + 1

-2

1x 2

1 x 0,25

=
=

Curso de Nivelacin y Ambientacin 2012


FACENA - UNNE

Mdulo Informtica

Para evitar confusiones, cuando se emplean varios sistemas de notacin, se


acostumbra encerrar cada nmero entre parntesis y escribir la base como
subndice, en notacin decimal o colocando la base entre parntesis o medio
parntesis. Por ejemplo, todas las siguientes notaciones son vlidas:
(101101,11)2 , 45,75(10) , 2C87(16

Sistema hexadecimal
Los nmeros binarios de gran magnitud consisten en largas series de ceros y unos,
que son difciles de interpretar y manejar. Como un medio conveniente para
representar esos nmeros binarios de gran magnitud se utiliza el sistema numrico
hexadecimal (de base 16). Cada dgito hexadecimal representa cuatro dgitos
binarios.
La notacin hexadecimal requiere el uso de 16 smbolos
para representar 16 valores numricos. Dado que el sistema
decimal proporciona solamente diez smbolos numricos (de
0 a 9), se necesitan seis smbolos adicionales para
representar los valores restantes. Se han adoptado para este
fin las letras A, B, C, D, E, y F.
La lista completa de smbolos hexadecimales consta, por lo
tanto, del 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E y F, en
orden ascendente de valor. La tabla 1 muestra los nmeros
decimales, hexadecimales y binarios equivalentes (hasta el nmero 31). Ntese
que al alcanzarse el nmero decimal 16, se terminan los smbolos hexadecimales
y se coloca un "1 de acarreo" delante de cada smbolo hexadecimal en el segundo
ciclo, que abarca los nmeros decimales de 16 a 31.
Tabla 2: Equivalencias entre los sistemas decimal, hexadecimal y binario
Decimal
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

Hexadecimal
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10
11
12
13
14
15
16
17
18

Binario
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
10000
10001
10010
10011
10100
10101
10110
10111
11000

Licenciatura en Sistemas de Informacin

13

Curso de Nivelacin y Ambientacin 2012


FACENA - UNNE

Mdulo Informtica

25
26
27
28
29
30
31

19
1A
1B
1C
1D
1E
1F

11001
11010
11011
11100
11101
11110
11111

Teorema fundamental de la Numeracin


Una determinada cantidad, que denominaremos nmero decimal (N en este caso),
se puede expresar de la siguiente manera:

N=

n
i=

i
(
dgito
)
x
(
base
)
i
d

- base = 10
- i = posicin respecto de la coma
- d = nro. de dgitos a la derecha de la coma
- n = nro. de dgitos a la izquierda de la coma, menos 1
- dgito = cada uno de los que componen el nmero
Supongamos una cantidad expresada en un sistema cuya base es B y
representamos por Xi, cada uno de los dgitos que contiene dicha cantidad, donde
el subndice indica la posicin del dgito con respecto a la coma decimal, posicin
que hacia la izquierda de la coma se numera desde 0 en adelante y de 1 en 1, y
hacia la derecha se enumera desde -1 y con incremento -1.
El Teorema Fundamental de la Numeracin relaciona una cantidad expresada en
cualquier sistema de numeracin, con la misma cantidad expresada en el sistema
decimal:
4
3
2
1
0
N =..........+ X4 * B + X3* B + X2* B + X1* B + X0* B
-1
-2
-3
-4
+ X-1* B + X-2* B + X-3* B + X-4* B + .......
Ejemplo: 201,13 es una cantidad expresada en un sistema de numeracin en base
3. Cul ser la representacin de la misma cantidad en el sistema decimal?
2
1
0
-1
201,1 = 2 * 3 + 0 * 3 + 1 * 3 + 1 * 3

Conversiones entre los distintos sistemas.


a) Binario a decimal: Se aplica el Teorema Fundamental, se suman los
productos de todos los valores posicionales por el nmero que ocupa la
posicin.
Nmero binario:

Multiplicado por:

Valor posicional

Es la base elevada a la posicin

Resultado del producto:

0,25

0,5

0,25

-1

-2

La suma del resultado del producto = 8 + 4 + 0 + 1 + 0 + 0.25 = 13,25


(decimal)
Recuerde, el valor posicional es la base del sistema elevada al nmero de la
posicin que ocupa el nmero.

14

Facultad de Ciencias Exactas y Naturales y Agrimensura

Curso de Nivelacin y Ambientacin 2012


FACENA - UNNE

Mdulo Informtica

b) Hexadecimal a decimal: Se multiplica el nmero representado por el valor


posicional que le corresponde, y se suman los resultados:
3

Ej. AE1B = A x 16 + E x 16 + 1 x 16 + B x 16
= 10 x 4096 + 14 x 256 + 1 x 16 + 11 x 1
=
40960 +
3584 +
16 +
11 = (44571)10
c) Decimal a binario: Para cambiar de base decimal a cualquier otra base se
divide el nmero que se quiere convertir por la base del sistema al que se
quiere cambiar. Los resultados que se obtengan en el cociente deben seguir
dividindose hasta que este resultado sea menor que la base. Los residuos que
resulten de todas las divisiones en orden progresivo se toman de derecha a
izquierda para conformar el nmero binario resultante de la conversin.
Ejemplo: convertir el nmero decimal 39 a binario.
39 : 2 =

19

Resto =

19 : 2 =

Resto =

9:2=

Resto =

4:2=

Resto =

2:2=

Resto =

0
(100111)2

Algoritmo Parte Entera: Para convertir N = (0,5821)10 en su equivalente binario


multiplique N y cada parte fraccionaria sucesiva por la base (2 en este caso),
observando la parte entera del producto, como sigue:
Multiplicaciones
Partes enteras
0,5821 x 2 = 1,1642
1
0,1642 x 2 = 0,3284
0
0,3284 x 2 = 0,6568
0
0,6568 x 2 = 1,3136
1
0,3136 x 2 = 0,6272
0
Observe que la parte entera de cualquier producto puede ser solo cero o uno; ya
que se multiplican por 2 nmeros que son menores que uno. La sucesin de
dgitos partes enteras de arriba hacia abajo, da el equivalente binario requerido.
Es decir N = 0,5821 es equivalente a (10010)2 (aproximadamente)
d) Decimal a hexadecimal: El mecanismo de conversin es el mismo que el
descripto en el tem c, pero dividiendo el nmero por 16, que es la base del
sistema hexadecimal. Para convertir una fraccin decimal a su equivalente
hexadecimal, se aplica el algoritmo parte entera, con base 16.
e) Binario a hexadecimal: Se divide el nmero binario en grupos de cuatro
dgitos binarios, comenzando desde la derecha y se reemplaza cada grupo por
el correspondiente smbolo hexadecimal. Si el grupo de la extrema izquierda no
tiene cuatro dgitos, se deben agregar ceros hasta completar 4 dgitos.
Ejemplo:
(111110011011010011)2 = 0011 / 1110 / 0110 / 1101 / 0011 = (3E6D3)16

Licenciatura en Sistemas de Informacin

15

Curso de Nivelacin y Ambientacin 2012


FACENA - UNNE

Mdulo Informtica

Hexadecimal a binario: De la misma manera, para convertir nmeros


hexadecimales en binarios, se reemplaza cada smbolo hexadecimal por el
correspondiente grupo de cuatro dgitos binarios, y descarte los ceros
innecesarios.
(6C4F2E)16 = 0110/1100/0100/1111/0010/1110 =
= 11011000100111100101110)2

Operaciones aritmticas
Las reglas de la aritmtica son las mismas en todos los sistemas numricos de
posiciones de valor relativo. Por ello, basta slo recordar las reglas
correspondientes de la aritmtica decimal para poder efectuar operaciones
aritmticas con nmeros de cualquier otra base.
Suma binaria.
En esencia, la suma abrevia la operacin de contar. Sumamos dos dgitos
contando los valores de ambos dgitos en orden correlativo, o bien, lo que es ms
simple memorizando la suma de los dgitos mediante una tabla de sumar. Cuando
la suma de los dos dgitos excede los smbolos numricos disponibles de la
notacin (es decir, el lmite de cualquier posicin de dgito), se lleva un 1 a la
posicin de dgito inmediatamente superior. Por lo tanto, en el sistema decimal,
3+5 = 8, pero 9+1 =0 con acarreo de un 1 (es decir 10).
En el sistema binario hay solamente dos smbolos, 0 y 1. Por lo tanto, al sumar
1+1 en la notacin binaria se excede el lmite de la cuenta (ya que no hay otro
smbolo disponible) y, en consecuencia, el resultado es 0 con acarreo de un 1 a la
posicin de dgito inmediatamente superior.
En la computadora se implementa la operacin de suma mediante circuitos
lgicos digitales combinatorios.
Las reglas completas de la suma binaria son las siguientes:
Reglas de suma binaria:
0

10 (0 con acarreo de 1)

La ltima suma puede escribirse como diez, pero se lee "uno, cero")
La tabla de sumar binaria que se incluye a continuacin brinda una manera
conveniente de resumir estos resultados:
+

10

Veremos tres ejemplos de suma binaria:


a) Suma sencilla sin acarreos:
1 0 1 0
+

1 0 1
1 1 1 1

16

Facultad de Ciencias Exactas y Naturales y Agrimensura

Curso de Nivelacin y Ambientacin 2012


FACENA - UNNE

Mdulo Informtica

b) Suma con acarreo: Cuando la suma excede el mximo valor del sistema
numrico, en este caso 1, se produce un acarreo, es decir se traslada
una unidad a la columna siguiente, tal como se muestra en la siguiente
suma:
1

Acarreo
+

c) Suma con varios acarreos: Frecuentemente es necesario sumar 1 + 1,


adems de un 1 de acarreo, proveniente de una posicin de orden inferior.
El resultado es 1, con acarreo de un 1 a la posicin inmediatamente
superior.
1
+

59
+

35
94

En la suma anterior se han convertido los valores de los operandos para


comprobar que el resultado es correcto.
Resta binaria
Las cuatro reglas bsicas para la resta de nmeros binarios son:
0

1 (con acarreo negativo de 1, es decir, 10 1 = 1)

Por ejemplo, restemos 101 011:

10

En la columna derecha se realiza la resta de 1 1 = 0


En la columna central hay que tomar prestado un 1 de la siguiente columna
ms significativa, la cual queda en 0 y da lugar a 10 en la columna central,
luego 10 - 1 = 1
En la columna izquierda, se resta 0 0 = 0

Resta binaria por complemento


Este es el mtodo ms eficiente para realizar sustracciones, y consiste en sumar
al minuendo el complemento del sustraendo. Luego, la unidad que excede la
longitud del minuendo, se elimina de la izquierda y se suma a la cifra de las
unidades. (Prestar atencin siempre a las posiciones decimales).
Ejemplo, realizar la siguiente resta:

Licenciatura en Sistemas de Informacin

17

Curso de Nivelacin y Ambientacin 2012


FACENA - UNNE

Mdulo Informtica

1
-

(minuendo)
(sustraendo)

Los pasos a seguir son:


a) Si la cantidad de dgitos del sustraendo es menor que la del minuendo se
completa el sustraendo con ceros a la izquierda de la parte entera, y a la
derecha de la parte decimal (encolumnar por la coma).
b) Se halla el complemento del sustraendo, restando este valor del mximo
valor binario con la misma longitud que el minuendo.

(complemento)

En el sistema binario el complemento tambin puede hallarse cambiando cada


dgito del sustraendo por su opuesto, es decir, el 1 se convierte en 0, y viceversa.
c) Se suma al minuendo el complemento del sustraendo.

+
1

d) Se elimina el 1 de la izquierda y se suma encolumnado con el ltimo dgito


de la cifra, sin importar la coma decimal.

0
1

+
1

(resultado)

Las comprobaciones pueden realizarse convirtiendo a decimal las cifras del


minuendo y del sustraendo y realizando la resta.
Ejemplo:
-

35,625

21

14,625

Otro modo de controlar el resultado es sumar el mismo al sustraendo, debiendo


obtenerse el minuendo.

18

Facultad de Ciencias Exactas y Naturales y Agrimensura

Curso de Nivelacin y Ambientacin 2012


FACENA - UNNE

Mdulo Informtica

Suma hexadecimal.
La suma en el sistema hexadecimal sigue las mismas reglas que la suma decimal
y la binaria. Trabajar con smbolos alfanumricos - nmeros y letras - parece
extrao al principio, dado que algunos resultados en la suma decimal tienen un
significado diferente en notacin hexadecimal. Por ejemplo, mientras 4+5 = 9 tanto
en el sistema decimal como en el hexadecimal, 7+8 = F (no 15) en la notacin
Hexadecimal. Cada vez que la suma de dos dgitos sobrepasa F (el smbolo
hexadecimal de mayor valor), se genera el acarreo de un 1 hacia la posicin de
dgito inmediatamente superior. De este modo, 7+9 = 10 (es decir, 0 con acarreo
de un 1), 9+9 = 12 (es decir, 2 con acarreo de un 1), C+9 = 15, y as
sucesivamente.
A continuacin se incluyen tres ejemplos de suma hexadecimal:
a)
9654

38,484

+ 4528

17,704

56,188(10)

DB7C

Este ejemplo es sencillo y no implica ningn acarreo. Para verificar el resultado,


cada uno de los operandos fue convertido al sistema decimal, se efectu la suma,
y se corrobor el resultado.
b)

En esta operacin se utiliza acarreo. La suma se realiza de la siguiente manera: A


+ E = 8 con acarreo de un 1 a la posicin de dgito inmediatamente superior. Al
sumar los dgitos de la posicin inmediata superior, F + A = 9 con acarreo de un 1,
pero a este resultado falta sumar el acarreo proveniente de la posicin de orden
inferior, es decir 9 + 1 = A.
Otra manera de hacerlo es sumar primero el acarreo al dgito menor: A + 1 = B, y
luego sumar B + F = A con acarreo de un 1 a la posicin de dgito inmediato
superior. Al sumar los dos ltimos dgitos, 1 + 6 = 7, y ms el 1 de acarreo
equivale a 8.
c)
1

Esta suma muestra tambin acarreos pero como son cifras con decimales se
deben encolumnar los sumandos de acuerdo a la posicin de la coma decimal.

Licenciatura en Sistemas de Informacin

19

Curso de Nivelacin y Ambientacin 2012


FACENA - UNNE

Mdulo Informtica

Resta hexadecimal.
La resta hexadecimal sigue las mismas reglas que la resta decimal y que la resta
binaria, con la salvedad que un acarreo o un pedido de 1 en la notacin
hexadecimal representa el nmero decimal 16.
Mtodo tradicional:

19

18

minuendo

sustraendo

Mtodo del complemento:


Se siguen los mismos pasos que los descriptos para la resta binaria.
Ejemplo:
8 E A D, 0 1
(minuendo)
3 B E 5
(sustraendo)
a) Determinacin del complemento: se resta el sustraendo del mximo valor
hexadecimal que es FFFF, FF. No olvidar completar con ceros el
sustraendo, para obtener la misma cantidad de dgitos que el minuendo,
encolumnando por la coma decimal.
F

C 4 1 A ,
b) Suma del complemento al minuendo:

c) Se elimina el 1 de la izquierda y se suma al ltimo dgito, sin importar la


coma decimal.

1
5

Para realizar la comprobacin, se puede proceder de igual manera que en la resta


binaria.

20

Facultad de Ciencias Exactas y Naturales y Agrimensura

Curso de Nivelacin
n y Ambientacin 2012
FACENA - UNNE

Mdulo Informtica

3. Tipos de datos y operaciones


En el proceso
o de automatizacin de obtencin de
informacin, la computadora
omputadora opera con datos.
La seleccin de un tipo de datos para representar los objetos
manipulados por
or el algoritmo determinar las operaciones aplicables y las
relaciones que pueden
ueden establecerse
estab
entre ellos.
Por ejemplo: tiene
ene sentido plantear la operacin 3 + 5, pero
ero qu significa
casa + rbol?
Los tipos de datos
os disponibles y las operaciones que estos soportan
ortan dependen en
cierta medida del
el lenguaje de programacin escogido, como tam
tambin la forma
especfica de realizar operaciones, asignaciones y comparaciones.
aciones. Para el
desarrollo de algoritmos generales se utilizan entonces tipos
pos de datos y
operaciones bsicas
icas que estn disponibles en todos los lenguajes.
s.
Datos, tipos de datos y opera
operaciones primitivas
Un dato es la expresin general que describe los objetos con los que opera la
computadora. En
n general, las computadoras pueden operar con
on varios tipos de
datos. Los programas
amas y algoritmos operan sobre esos tipos de datos.
atos.
En el proceso de
e resolucin de problemas el diseo de las estructura
ctura de los datos
es tan importante
e como el diseo del algoritmo y del programa que se basa en el
mismo.
Ejemplos de datos
tos son: el nombre de una persona, el valor de una temperatura,
una cifra de venta
ta de supermercado,
sup
la fecha de un cheque, etc.
Tipos de datos:
Los distintos tipos
ipos de datos se representan en diferentes
es formas en la
computadora, tall como se ha visto en el tema de representacin de la informacin.
A nivel de mquina,
ina, un dato es un conjunto de bits
bi (dgitos 0 o 1). Los lenguajes
de alto nivel permiten
ermiten basarse en abstracciones e ignorar los
os detalles de la
representacin interna.
nterna. Aparece el concepto de tipo de dato, as como de su
representacin. Los datos pueden ser: simples o compuestos
Un tipo de dato simple
s
es aquel cuyo contenido se trata como una unidad que no
puede separarse
e en partes ms elementales. Los ms usuales son:
on:
-

Numricos
os ((integer, real)

Lgicos ((boolean)

Carcterr ((char)

Un tipo de dato compuesto


c
o estructurado, es aquel que permi
mite almacenar un
conjunto de elementos
mentos bajo una estructura particular, darle un nico
nico nombre, pero
con la posibilidad
d de acceder en forma individual a cada componente.
nente. Ejemplo de
datos estructurados
dos son los arreglos y registros, que veremos en
n detalle en te
temas
posteriores.
A continuacin, veremos las caractersticas de los principales
es tipos de datos
simples:
ricos
a) datos numricos
El tipo numrico es el conjunto de los valores numricos. Pueden
n representarse en
dos formas distintas:
ntas:

Licenciatura en Sistemas
stemas de Informacin

21

Curso de Nivelacin y Ambientacin 2012


FACENA - UNNE

Numrico entero (integer)

Numrico real (real)

Mdulo Informtica

Enteros: El tipo entero es un subconjunto finito de los nmeros enteros. Pueden


ser positivos o negativos y no tienen decimales. Ejemplos: 5, 15, -30, 12567.
Los enteros son denominados tambin nmeros de punto o coma fija. La mayora
de los lenguajes de programacin utilizan enteros que se almacenan en 2 bytes
(entero corto), de ah que los valores mnimo y mximo son, respectivamente, 32768 y 32767.
Real: El tipo real es un subconjunto de los nmeros reales. Pueden ser positivos o
negativos y tienen punto decimal. Un nmero real consta de una parte entera y de
una parte decimal. Ejemplos: -45.78, 3.0, 0.008, -13456.89.
b) datos lgicos (booleanos)
El tipo lgico, tambin denominado booleano, slo puede tomar 2 valores:
verdadero (true) o falso (false).
c) datos de tipo Carcter (Char) y tipo Cadena (String)
El tipo carcter (char) es el conjunto finito y ordenado de caracteres que la
computadora reconoce. Un dato de este tipo contiene un solo smbolo. Los
caracteres que reconocen las diferentes computadoras no son estndar, pero la
mayora reconoce los caracteres: Alfabticos: letras A la Z en maysculas y
minsculas, los dgitos del 0 al 9, caracteres especiales: signos de puntuacin y
otros smbolos. En general, estos caracteres se almacenan en ASCII y el orden de
los caracteres es el que le asigna este cdigo.
Un valor constante de tipo carcter se escribe entre apstrofos, por ejemplo, la
expresin letra = X, asigna a la variable de tipo carcter letra la constante
carcter X.
Una cadena (string) de caracteres representa un conjunto de caracteres. Se puede
trabajar con una variable de este tipo como si se tratara de una unidad, sin
embargo, no es un dato de tipo simple dado que est integrado por elementos a
los cuales se puede acceder en forma individual. Se trata de un tipo de datos
estructurado.
Una cadena de caracteres tiene dos caractersticas importantes: la longitud fsica y
la longitud dinmica o lgica. La longitud fsica se define en la declaracin del tipo
de dato y permite al procesador reservar el espacio mximo de memoria necesario
para almacenar el valor de una variable de ese tipo. Ejemplo:
STRING nombre[10]
nombre = Ema
En este ejemplo, la longitud fsica de la variable nombre es 10 y la longitud
dinmica es 3.
Las constantes de tipo string se escriben tambin entre apstrofos.
Constantes y variables
Constantes
Los programas muchas veces requieren valores que no deben cambiar durante la
ejecucin del programa. Estos valores se denominan constantes.
Ejemplos de constantes
Constante real: 3.141592, -0.1234 (vlidas)
comas)

22

Facultad de Ciencias Exactas y Naturales y Agrimensura

1,456.63 (invlida, no se permiten

Curso de Nivelacin y Ambientacin 2012


FACENA - UNNE

Mdulo Informtica

Observaciones: Tener en cuenta que el separador decimal (punto o coma)


depende del lenguaje de programacin o de la configuracin del sistema operativo.
Constante de tipo carcter: B, 4
Constante de tipo cadena: 9 de julio 1449, Ciencias Exactas, Juan Perez
Constantes lgicas: true, false
Variables
Los valores que cambian durante la ejecucin del programa se llaman variables, y
corresponden a espacios de la memoria principal que se identifican con un nombre
y son de un tipo de dato, y pueden cambiar de contenido si el programador as lo
especifica con las instrucciones adecuadas.
Una variable se identifica con los siguientes atributos: Nombre que la identifica y
Tipo que describe el tipo de contenido de la variable.
El nombre de una variable es lo que permite utilizar el espacio de memoria
reservado para la misma y el valor que all se almacena. Los posibles nombres de
las variables dependern del lenguaje de programacin utilizado (longitud,
caracteres vlidos), pero en general se buscar respetar lo siguiente:

Debe ser descriptivo de los valores que se le asignarn (esto se conoce


como mnemotcnico). Los nombres de variables Edad, Importe_venta,
Precio_unitario, Cant_materias, Total_general, resultarn descriptivos en
el contexto del problema.

No utilizar palabras reservadas ni caracteres especiales (espacio, letras


acentuadas, , coma, punto). En general se recomienda limitarse a letras
(a b z), dgitos (0 1 2 9) y guin bajo (_) para separar palabras.
Algunos lenguajes distinguen maysculas de minsculas en los nombres
de las variables (por ejemplo, NOTA no es lo mismo que Nota o nota).

El tipo de dato se especifica cuando se declaran las variables. Convendremos


escribir antes de iniciar cada algoritmo el conjunto de datos que utilizaremos, ya
sean de entrada, de salida, o para clculos intermedios o auxiliares. Tendremos
entonces una primera seccin donde se declara el nombre y tipo de cada dato, y
respetaremos estas condiciones durante todo el desarrollo del algoritmo.
Por ejemplo:
VAR
REAL: precio_unitario, precio_final
ENTERO: cantidad
STRING: domicilio[30]
CHAR: codigo
declara tres variables numricas: dos de tipo real y una de tipo entero, una
variable de tipo carcter y otra de tipo cadena.

Expresiones
Las expresiones son combinaciones de constantes, variables, operadores,
parntesis y nombres de funciones. Maneja las mismas ideas que la notacin
matemtica convencional.
Por ejemplo: a + (b+3) + ^C. Los parntesis indican el orden de clculo y la ^
representa la raz cuadrada.
El resultado de cada expresin es un valor que se determina tomando los valores
de las variables y constantes implicadas y la ejecucin de las operaciones

Licenciatura en Sistemas de Informacin

23

Curso de Nivelacin y Ambientacin 2012


FACENA - UNNE

Mdulo Informtica

indicadas. Una expresin consta de operandos y operadores. Segn sea el tipo de


objetos que manipulan, las expresiones se clasifican en:
- Aritmticas (Resultado de tipo Numrico)
- Lgicas (Resultado de tipo Lgico)
- Carcter (Resultado de tipo Carcter)
- Cadena de caracteres (resultado de tipo Cadena)
a) Expresiones aritmticas:
Son anlogas a las formulas matemticas. Las variables y constantes son
numricas (entera o real) y las operaciones son las aritmticas.
Operadores aritmticos:
Smbolo

Operacin

Suma

Resta

Multiplicacin

Divisin

**, ^, `
div
mod

Exponenciacin
divisin de enteros
resto de la divisin de enteros

Operadores div y mod: Generalmente, el smbolo / se utiliza para la divisin real y


el operador div representa la divisin de enteros. El operador mod representa el
resto de la divisin entera.
En ambos casos, esta representacin puede diferir de acuerdo al lenguaje de
programacin.
Ejemplos:
A div B si A=19 y B= 6 el resultado es 3 (entero)
A mod B si A=19 y B=6 el resultado es 1 (entero)
Reglas de prioridad
Las expresiones que tienen dos o ms operandos requieren reglas matemticas
que permitan determinar el orden de las operaciones, se denominan reglas de
prioridad o precedencia y son:
1) Las operaciones encerradas entre parntesis se evalan primero. Si existen
diferentes parntesis anidados (interiores unos a otros), las expresiones ms
internas se evalan primero.
2) Las operaciones aritmticas dentro de una expresin tienen el siguiente orden
de prioridad:
1 - Operador de exponenciacin (**, ^, `)
2 - Operadores *, /, div y mod
4 - Operadores +, -,
Cuando hay varios operadores con igual prioridad en la expresin, el orden de
prioridad es de izquierda a derecha. Ejemplo: Observar el orden de resolucin en
la siguiente expresin:

24

Facultad de Ciencias Exactas y Naturales y Agrimensura

Curso de Nivelacin y Ambientacin 2012


FACENA - UNNE

Mdulo Informtica

14

84

42
45

b)

Expresiones booleanas

Otro tipo de expresin, es la expresin lgica o booleana, cuyo valor es siempre


verdadero o falso. Dijimos que existen dos constantes lgicas, verdadera (true) o
falsa (false) y que las variables lgicas slo pueden tomar estos valores. En
esencia, una expresin lgica es una expresin que puede tomar estos dos
valores, verdadero o falso.
Las expresiones lgicas se forman combinando constantes lgicas, variables
lgicas y otras expresiones lgicas utilizando los operadores lgicos not, and y or
y los operadores relacionales (de relacin o comparacin) que se muestran en la
tabla.
Operadores de relacin:
Permiten realizar comparaciones de valores de tipo numrico o carcter. Los
operadores de relacin sirven para expresar las condiciones en los algoritmos.
Operador

Significado

=
>
<
d
e
<>

igual
mayor que
menor que
mayor o igual que
menor o igual que
distinto de

Ejemplo: Dadas las variables A y B, con los valores A=4 y B=3:

La expresin A > B es verdadera

(A-2) < (B-4) es falsa (reemplazando: (4-2) < (3-4), esto es 2 < -1, es
falso)

Los operadores de relacin se pueden aplicar a cualquiera de los tipos de datos


estndar: enteros, real, lgicos y de carcter. La aplicacin a valores numricos es
evidente.
Para realizar comparaciones de datos de tipo carcter, tenemos que tener en
cuenta que la comparacin se realizar con el valor numrico de su representacin
interna (ASCII).
Las cadenas de caracteres se comparan comenzando por el primer carcter a la
izquierda hasta encontrar la primera diferencia. Si no se encuentra un carcter
distinto se trata de cadenas iguales o es menor la que tiene menor longitud. Por
ejemplo:
a < m es verdadero
Emma > Eva es falso
mesa < mesada es verdadero

Licenciatura en Sistemas de Informacin

25

Curso de Nivelacin y Ambientacin 2012


FACENA - UNNE

Mdulo Informtica

Operadores lgicos:
Los operadores lgicos o booleanos bsicos son no (not), y (and) y o (or). El
funcionamiento de estos operadores se muestra en la tabla siguiente:
Operador lgico

Expresin lgica

Significado

no (not)

no p (not p)

y (and)

p y q (p and q)

Conjuncin de p y q

o (or)

p o q (p or q)

Disyuncin de p y q

Negacin de p

El grfico muestra la aplicacin de las operaciones de Conjuncin (AND),


Disyuncin (OR) y Negacin (NOT).

AND
OR
NOT
Las definiciones de las operaciones no, y, o se resumen en las llamadas tablas de
verdad.
no a

ayb

aob

verdad

falso

verdad

verdad

verdad

verdad

verdad

verdad

falso

verdad

verdad

falso

falso

verdad

falso

verdad

falso

verdad

falso

falso

verdad

verdad

falso

Falso

falso

falso

falso

falso

En las expresiones lgicas se pueden mezclar operadores de relacin y lgicos.


As, por ejemplo:
(11 < 20) y (3 < 9) la evaluacin de la expresin es verdadera
(15 > 30) o (X < Z) ) la evaluacin de la expresin es verdadera
Prioridad de los operadores lgicos:
Operador
no (not)

Prioridad
Ms alta (primera ejecutada)

/, *, div, mod, y (and)


+, -, o (or)
<, >, =, e, d, <>
c)

Ms baja (ltima ejecutada)

Expresiones de carcter y cadena

Una expresin de tipo carcter o de tipo cadena puede sumar el contenido de


otras variables de tipo char o de tipo cadena. Esta operacin se denomina
concatenacin y el operador ms frecuentemente usado es el smbolo +.
Ejemplo:
Nombre = Martn
Apellido = Fierro
La expresin Nombre + + Apellido da como resultado una cadena nica Martin
Fierro.

26

Facultad de Ciencias Exactas y Naturales y Agrimensura

Curso de Nivelacin y Ambientacin 2012


FACENA - UNNE

1.2.

Mdulo Informtica

Funciones

Las operaciones que se requieren en los programas exigen en muchos casos,


adems de las funciones bsicas o primitivas que hemos visto, otros operadores
especiales que se denominan funciones internas, incorporadas o estndar. Por
ejemplo, las funciones que calculan la raz cuadrada (Raiz2) o el logaritmo decimal
de un nmero (Log10).
Funcin

Descripcin

Tipo de
argumento

Resultado

Abs (x)

Valor absoluto de x

Entero o real

Idem
argumento

Cos (x)

Coseno de x

Entero o real

real

Sen (x)

Seno de x

Entero o real

real

Exp (x)

Exponencial de x

Entero o real

real

Log10 (x)

Logaritmo decimal

Entero o real

real

Ln (x)

Logaritmo neperiano

Entero o real

real

Redondeo (x)

Redondeo de x

Entero o real

entero

Cuadrado (x)

Cuadrado de x

Entero o real

Idem
argumento

Raiz2 (x)

Raz cuadrada de x

Entero o real

real

Trunc (x)

Truncamiento de x

Real

entero

Extrae (s,i,c)

Extrae de una cadena s, a partir


de la posicin i, la cantidad c de
caracteres

Cadena, entero

cadena

Length (x)

Devuelve la longitud dinmica o


lgica de una cadena o string

cadena

entero

Las dos ltimas funciones de datos tipo string son frecuentes en los lenguajes de
programacin pero puede cambiar el nombre con el que se designa a la funcin.
Ejemplos:
Funcin

Resultado

Raiz2 (25)

Redondeo (6.6)

Abs (-12)

12

Extrae (spiderman, 7,3)

man

Length (nombre)

Anita

Licenciatura en Sistemas de Informacin

27

Curso de Nivelacin y Ambientacin


n 2012
FACENA - UNNE

Mdulo Informtica
mtica

4. Algoritmos y Estructuras
ructuras de Control
Un algoritmo es un mtodo para resolver problemas. Ms
especficamente, es un conjunto
unto finito de reglas que dan
una secuencia de operaciones
es para resolver un problema
especfico.
El trmino proviene del matemtico
emtico persa Mohammed AlAl
khowarizmi que alcanz gran
n repercusin por el enunciado
de reglas paso a paso para
a sumar, restar, multiplicar y
dividir nmeros decimales.
Para llegar a la realizacin de un programa es necesario el diseo previo de un
algoritmo, de modo que sin algoritmo
lgoritmo no puede existir un programa.
Los algoritmos son independiente
dientes tanto del lenguaje de programacin en que
ue se
expresan como de la computador
adora que los ejecuta. En cada problema el algoritmo
oritmo
se puede expresar en un lenguaje
guaje diferente de programacin o ejecutarse en
n una
computadora distinta, sin embargo
mbargo el algoritmo ser siempre el mismo. As,
, por
ejemplo, en una analoga con
n la vida diaria, una receta de un plato de cocina
na se
puede expresar en espaol, ingls o francs, pero cualquiera sea el idioma
a, los
pasos para la elaboracin del plato se realizarn sin importar el idioma
a del
cocinero.
En la ciencia de la computacin
acin y en la programacin, los
lo algoritmos son ms
importantes que los lenguajes
es de programacin o las computadoras. Un lenguaje
guaje
de programacin es tan solo
olo un medio para expresar un algoritmo y una
computadora es solo un procesador para ejecutarlo. Tanto el lenguaje
e de
programacin como la computadora
utadora son los medios para obtener un fin: conseguir
seguir
que el algoritmo se ejecute y se efecte el proceso correspondiente.
Dada la importancia del algoritmo
ritmo en la ciencia de la computacin, un aspecto
o muy
importante ser el diseo de algoritmos. El diseo de la mayora de los algoritmos
itmos
requiere creatividad y conocimientos
mientos profundos de la tcnica de la programacin.
in.

Caractersticas de los algoritmos


Adems de ser un conjunto finito de reglas que da la secuencia de operaciones
iones
para resolver un tipo especfico
pecfico de problema, un algoritmo tiene cinco
caractersticas fundamentales:
s:
1. Finitud. Un algoritmo
o siempre debe terminar luego de un nmero finito
ito de
pasos.
so de un algoritmo d
debe estar precisamente definido,
inido,
2. Definicin. Cada paso
las acciones a realizar
zar deben especificarse de manera rigurosa y sin
ambigedades.
3. Entrada. Un algoritmo
o tiene cero o ms entradas, esto es, cantidadess que
le son dadas inicialmente
mente antes de que el algoritmo empiece. Estas
entradas se toman de
e un conjunto especfico
esp
de objetos.
4. Salida. Un algoritmo
o tiene una o ms salidas, esto es, cantidadess que
tienen una relacin especfica
specfica con las entradas.
5. Efectividad. Tambin
n se espera que un algoritmo sea efectivo. Esto
significa que todas las
as operaciones a realizarse en
e el algoritmo deben
en ser
suficientemente bsicas
cas para que puedan
puedan, en principio, llevarse a cabo
exactamente y en un tiempo finito por un hombre usando lpiz y papel.l.
Ejemplo de algoritmo
Se requiere calcular la media de tres nmeros que ingresan por teclad
teclado.

28

Facultad de Ciencias Exactas y Naturales


urales y Agrimensura

Curso de Nivelacin y Ambientacin 2012


FACENA - UNNE

Mdulo Informtica

Los pasos del algoritmo son:


1. Ingresar primer nmero
2. Ingresar segundo nmero
3. Ingresar tercer nmero
4. Sumar los tres nmeros
5. Dividir el resultado obtenido en el paso anterior por 3
6. Mostrar el cociente obtenido
La definicin de un algoritmo debe describir tres partes: Entrada, Proceso y Salida.
La informacin proporcionada al algoritmo constituye su entrada y la informacin
producida por el algoritmo constituye su salida.
En el algoritmo del ejemplo citado anteriormente se tendr:
Entrada: los nmeros.
Proceso: suma de todos los nmeros y divisin del resultado por tres
Salida: media de los tres nmeros ingresados

Escritura de algoritmos
Una computadora solo es capaz de resolver un problema si se le indica paso a
paso las acciones que debe realizar. Estos pasos sucesivos constituyen, como ya
se vio, el algoritmo.
Escribir un algoritmo consiste en realizar una descripcin del mtodo o conjunto de
reglas que se propone para resolver un problema. Estas reglas tienen las
siguientes propiedades:
-

Debe seguirse una secuencia definida de pasos hasta que se obtenga el


resultado.

- Slo puede ejecutarse una operacin a la vez.


Adems, en todo algoritmo los datos manipulados son de importancia
fundamental: se busca obtener una informacin determinada a partir de datos
bsicos del problema. Como generalmente se querr aplicar el mismo algoritmo a
conjuntos de datos de entrada diferentes, estos datos se identifican en cada paso
con un nombre, que ser reemplazado en tiempo de ejecucin por los datos
particulares que sea necesario tratar (por ejemplo, por los datos ingresados a
travs del teclado u obtenidos de un archivo). En el ejemplo del clculo de la
media, visto anteriormente, los nmeros de entrada se identificarn con las
variables n1, n2, n3, o cualquier nombre que se desee.
El hecho de que un algoritmo deba especificar un conjunto finito y ordenado de
pasos a seguir, no es contradictorio con la posibilidad de realizar algunas de las
operaciones solo bajo ciertas condiciones (por ejemplo, calcular el recargo de una
factura solo si est vencida), indicar la repeticin de algunas de las instrucciones
un nmero de veces conocido de antemano (por ejemplo 10 veces) o aun un
nmero no conocido de veces que se determinar a partir de los datos de entrada
recibidos (por ejemplo, mientras el operador ingrese valores mayores que 0).
Estas acciones se conocen como alteraciones en el flujo de control, es decir en el
orden de ejecucin de las instrucciones del algoritmo, y permiten expresar las
soluciones de problemas complejos como la repeticin selectiva de operaciones
sencillas.
Para escribir algoritmos se utilizan diversas tcnicas que buscan eliminar la
ambigedad del lenguaje coloquial en la especificacin de sus pasos.
Una forma de escribir algoritmos es mediante frmulas. Una frmula permite
obtener valores desconocidos (salida) a partir de valores conocidos (datos)

Licenciatura en Sistemas de Informacin

29

Curso de Nivelacin y Ambientacin 2012


FACENA - UNNE

Mdulo Informtica

relacionados en una expresin matemtica que indica las operaciones que se


deben aplicar (algoritmo).
Un ejemplo conocido es la frmula para calcular las soluciones de ecuaciones de
segundo grado, de la forma: ax 2 + bx + c = 0
Las soluciones son dos y se obtienen como:

x1 =

b + b2
2a

4ac

x2 =

b2
2a

4ac

En este caso los datos de entrada son los coeficientes a, b y c, y los resultados
son los valores de x1 y x2 que se obtienen aplicando las operaciones indicadas en
la frmula.
Como se puede notar, las frmulas son especialmente tiles cuando los pasos a
seguir se pueden expresar como operaciones aritmticas y funciones matemticas.
Otra manera de representar un algoritmo es con diagramas de flujo. Constituyen
un recurso grfico, que facilita especialmente la visualizacin de alteraciones en el
flujo de control, pues utilizan flechas para indicar qu instruccin se debe ejecutar
a continuacin.
Utiliza distintos smbolos que determinan la forma de interpretar el contenido de
los mismos, tales como: instrucciones a ejecutar, condiciones para determinar el
siguiente paso del algoritmo, datos de entrada a obtener, resultados a emitir, etc.
Ejemplo:
El diagrama de flujo que representa el algoritmo para calcular la media aritmtica
de tres valores numricos es el siguiente:

Otra notacin de algoritmos usual es el pseudocdigo.


En esta notacin, los datos y operaciones se expresan de la misma manera que
en los diagramas de flujo, pero las alteraciones en el flujo de control y las
operaciones de entrada/salida se indican mediante palabras clave. Esta forma de
escribir algoritmos guarda semejanzas con las sentencias disponibles en cualquier
lenguaje de programacin, por lo que constituye una prctica valiosa para la futura
tarea de escribir y mantener programas, pero sus reglas son ms flexibles,
permitiendo as concentrarse en la estructura lgica del algoritmo, sin preocuparse
por las limitaciones que impondra trabajar con un lenguaje de programacin en
particular.
Si bien el pseudocdigo presenta muchas variantes, se convendr utilizar la
sintaxis que se presenta en los apartados siguientes, para facilitar el entendimiento

30

Facultad de Ciencias Exactas y Naturales y Agrimensura

Curso de Nivelacin y Ambientacin 2012


FACENA - UNNE

Mdulo Informtica

durante el curso e incorporar algunas prcticas de gran utilidad en la elaboracin


de algoritmos y programas.
Ejemplo:
El mismo algoritmo representado en el diagrama de flujo, en pseudocdigo se
representar de la siguiente manera:
VARIABLES
REAL: media
ENTERO: n1, n2, n3
INICIO
LEER n1, n2, n3
media = (n1 + n2 +n3)/3
ESCRIBIR media
FIN

Declaracin de variables
Antes de iniciar cada algoritmo se describir el conjunto de datos a utilizar, sean
estos de entrada, de salida, o para clculos intermedios o auxiliares. Habr
entonces una primera seccin donde se asignar un nombre y se indicar el tipo
de cada uno de ellos, y estas condiciones debern respetarse durante todo el
desarrollo del algoritmo.
VARIABLES
TIPO-1: var-11, , var-1n
TIPO-2: var-21, , var2n

TIPO-m: var-m1, , var-mn


siendo var-XX los nombres de las variables y TIPO-X uno de los siguientes:
-

REAL para datos numricos con coma decimal

ENTERO para datos numricos que no tengan cifras decimales

CHAR para dato de tipo carcter

- BOOL para valores lgicos (verdadero / falso)


Por ejemplo:
VARIABLES
REAL: precio_unitario, precio_final
ENTERO: cantidad
declara tres variables numricas: dos de tipo real y una de tipo entero.
No todos los lenguajes de programacin requieren que se declaren las variables a
utilizar: algunos permiten usar variables que no fueron declaradas previamente, y
las crean cuando se les asigna un valor. Otros incluso permiten que el tipo de una
variable cambie durante la ejecucin del programa, o realizan conversiones
automticas cuando no coinciden los tipos en una asignacin. Sin embargo no es
recomendable utilizar este tipo de operaciones con frecuencia, ya que generan
soluciones difciles de entender, de documentar y, consecuentemente, muy
difciles de depurar y mantener.
El algoritmo propiamente dicho, es decir el conjunto de operaciones a realizar
utilizando los espacios de memoria definidos, se indicar en un bloque delimitado
por las palabras clave INICIO y FIN. En esta seccin se le debe asignar un valor
apropiado a la variable antes de ejecutar cualquier paso que pueda requerirla.

Licenciatura en Sistemas de Informacin

31

Curso de Nivelacin y Ambientacin 2012


FACENA - UNNE

Mdulo Informtica

Entrada y salida
La instruccin LEER captura datos de un dispositivo de entrada y los almacena en
la o las variables indicadas.
Es posible inicializar una variable (es decir, darle su primer valor luego de
declararla) mediante una operacin de lectura en lugar de una asignacin. Es
tambin una operacin destructiva.
Por ejemplo:
LEER A, B, C
Si se ingresan por teclado los valores 100, 50 y 30, entonces A=100, B=50, C=30.
La instruccin ESCRIBIR indica que los datos deben enviarse a un dispositivo de
salida.
Por ejemplo:
ESCRIBIR A, B, C
Tomando los valores del ejemplo anterior, se mostrarn en pantalla los datos 100,
50 y 30 (generalmente separados por tabulaciones).
Para indicar que los resultados deben ser enviados a una impresora se puede usar
en su lugar la instruccin IMPRIMIR, que es anloga:
IMPRIMIR A, B, C
Tomando los valores del ejemplo anterior, se imprimirn los datos 100, 50 y 30.
En general puede utilizarse cualquier expresin como parmetro de una
instruccin de salida, pero no es una prctica recomendable, porque hace el
programa ms difcil de interpretar y mantener.
Por ejemplo:
ESCRIBIR venta_anual / dias_anio
puede ser la instruccin para mostrar un promedio, pero es ms comprensible:
promedio_diario = venta_anual / dias_anio
ESCRIBIR promedio_diario
Adems esta ltima opcin permite realizar otras operaciones con el valor
almacenado en promedio_diario, sin necesidad de calcularlo nuevamente.

Estructuras de control
Como ya se adelant, para resolver algunos problemas no basta con indicar un
conjunto secuencial de pasos a seguir, sino que a veces es necesario evaluar
condiciones y en consecuencia ejecutar o repetir la ejecucin de determinados
pasos.
Esto es posible utilizando estructuras de control, que permiten determinar en
tiempo de ejecucin cul debe ser la siguiente instruccin a ejecutar. Se llaman as
porque proporcionan un mecanismo para pasar el control de la ejecucin a otro
punto del algoritmo, que no necesariamente es el que aparece a continuacin,
alterando el flujo de control.
Las estructuras bsicas que permiten expresar cualquier algoritmo son tres:
secuencial, selectiva y repetitiva. Tambin existen otras derivadas de estas,
pero siempre pueden reducirse a las tres fundamentales.
Supngase que se desea calcular la tarifa a abonar por una comunicacin
telefnica, a partir del precio por minuto y la duracin de la llamada.
Un algoritmo sencillo ser:

32

Facultad de Ciencias Exactas y Naturales y Agrimensura

Curso de Nivelacin y Ambientacin 2012


FACENA - UNNE

Mdulo Informtica

VARIABLES
REAL: duracion, precio_minuto
REAL: tarifa
INICIO
LEER precio_minuto
LEER duracion
tarifa = precio_minuto * duracion
ESCRIBIR tarifa
FIN
En este algoritmo la estructura utilizada es la secuencia, que consiste en ejecutar
las instrucciones una a continuacin de la otra en el orden indicado.
INSTRUCCION1

INSTRUCCION2

INSTRUCCIONn

Secuencia

Supngase ahora que est vigente una promocin, de manera tal que si la
comunicacin dur ms de 10 minutos tiene un descuento del 10% en el precio
final.
En este caso es necesario que un grupo de instrucciones -las que permitirn
calcular y aplicar el descuento- se ejecuten de acuerdo a una condicin. Para ello
se utiliza una estructura selectiva:
VARIABLES
REAL: duracion, precio_minuto
REAL: tarifa
INICIO
LEER precio_minuto
LEER duracion
tarifa = precio_minuto * duracion
SI duracion > 10 ENTONCES
// aplicar descuento del 10%
tarifa = tarifa tarifa * 10 / 100
FIN-SI
ESCRIBIR TARIFA
FIN
La estructura selectiva permite ejecutar una o varias instrucciones solo cuando se
cumple una determinada condicin, es decir, si es verdadera una expresin lgica.
Tiene dos versiones:

Licenciatura en Sistemas de Informacin

33

Curso de Nivelacin y Ambientacin 2012


FACENA - UNNE

Mdulo Informtica

la alternativa simple, que ejecuta un bloque de instrucciones si la


condicin se cumple

la alternativa doble, que ejecuta un bloque de instrucciones si la condicin


es verdadera y un bloque distinto si la condicin es falsa.

CONDICION

INSTRUCCION1

INSTRUCCION2

INSTRUCCIONn

Alternativa simple

CONDICION

INSTRUCCION1

INSTRUCCION1

INSTRUCCION2

INSTRUCCION2

INSTRUCCIONn

INSTRUCCIONn

Alternativa doble

El problema presentado tambin puede resolverse utilizando alternativa doble:


VARIABLES
REAL: duracion, precio_minuto
REAL: tarifa
REAL: descuento
INICIO
LEER precio_minuto
LEER duracion
tarifa = precio_minuto * duracion
SI duracion > 10 ENTONCES
// descuento del 10%

34

Facultad de Ciencias Exactas y Naturales y Agrimensura

Curso de Nivelacin y Ambientacin 2012


FACENA - UNNE

Mdulo Informtica

descuento = tarifa_base * 10 / 100


SINO
// no se aplica descuento
descuento = 0
FIN-SI
tarifa = tarifa_base - descuento
ESCRIBIR tarifa
FIN
La tercera estructura bsica es la estructura repetitiva, que permite repetir un
conjunto de instrucciones. Esta repeticin se controla con una condicin que es
verificada antes de cada iteracin o repeticin, para determinar el momento en que
se pasar el control de la ejecucin a la instruccin que aparece a continuacin del
ciclo.

CONDICION

INSTRUCCION1

INSTRUCCION2
N

INSTRUCCIONn

Iteracin o repeticin

Por ejemplo, si en lugar de calcular la tarifa de una comunicacin telefnica se


quisiera calcular la tarifa de varias comunicaciones, es posible repetir las
instrucciones que resuelven el problema para todas las llamadas que se desee
procesar.
Cuando se utiliza una estructura repetitiva, es fundamental establecer la condicin
que permitir detener la repeticin en algn momento, y expresarla en una forma
procesable por la computadora, esto es, mediante una expresin lgica. Si esta
condicin no se especifica o nunca se cumple, el bloque de instrucciones se
repetir indefinidamente hasta agotar los recursos de la computadora (lo que en la
jerga informtica se conoce como cuelgue).
Cuando la repeticin sea mientras haya datos, el programador ser el encargado
de definir un valor especial para los datos ingresados que ser identificado como
una seal para detener el procesamiento. En general se opta por utilizar algn
valor ajeno al dominio del problema, como por ejemplo una llamada con duracin 0,
un nombre vaco o una cantidad de productos negativa.
La nueva situacin planteada puede entonces resolverse de la siguiente manera:
VARIABLES
REAL: duracion, precio_minuto
REAL: tarifa
INICIO
LEER precio_minuto
LEER duracion

Licenciatura en Sistemas de Informacin

35

Curso de Nivelacin y Ambientacin 2012


FACENA - UNNE

Mdulo Informtica

MIENTRAS duracion > 0 HACER


tarifa = precio_minuto * duracion
ESCRIBIR tarifa
LEER duracion
FIN-MIENTRAS
FIN
O bien, aplicando el descuento promocional:
VARIABLES
REAL: duracion, precio_minuto
REAL: tarifa
REAL: descuento
INICIO
LEER precio_minuto
LEER duracion
MIENTRAS duracion > 0 HACER
tarifa = precio_minuto * duracion
SI duracion > 10 ENTONCES
// descuento del 10%
descuento = tarifa_base * 10 / 100
SINO
// no se aplica descuento
descuento = 0
FIN-SI
tarifa = tarifa_base - descuento
ESCRIBIR tarifa
LEER duracion
FIN-MIENTRAS
FIN
As, se deber instruir al operador para que ingrese el valor real de la duracin de
la llamada mientras quiera calcular la tarifa, e ingrese 0 o un nmero negativo para
finalizar el programa. El precio del minuto se lee una sola vez al iniciar el programa,
pues no vara entre llamadas.
Observe que al final del bloque de instrucciones a repetir aparece:
LEER duracion
que es la instruccin encargada de obtener nuevos datos y permitir determinar en
qu momento debe detenerse el procesamiento. Sin esta instruccin el problema
no ser resuelto, pues calcular indefinidamente la tarifa de la primera llamada
ingresada y no evaluar nuevos datos.
En general casi cualquier algoritmo combinar todas estas estructuras para
expresar la solucin al problema que se desea resolver. Esto puede observarse en
la ltima versin de nuestro ejemplo.
Cuando el bloque de instrucciones de una estructura est contenido en otra se
dice que las estructuras estn anidadas.

36

Facultad de Ciencias Exactas y Naturales y Agrimensura

Curso de Nivelacin y Ambientacin 2012


FACENA - UNNE

Mdulo Informtica

La forma general de las estructuras vistas es:


Secuencia
instruccin-1
instruccin-2

instruccin-n
Alternativa simple
SI condicin ENTONCES
instruccin-1

instruccin-n
FIN-SI
Alternativa doble
SI condicin ENTONCES
instruccin-1

instruccin-n
SINO
instruccin-1

instruccin-n
FIN-SI
Repeticin o iteracin
MIENTRAS condicin HACER
instruccin-1

instruccin-n
FIN-MIENTRAS
Donde:
-

instruccin-1, instruccin-2, , instruccin-n representa una o ms


asignaciones, operaciones de entrada, operaciones de salida o bloques
correspondientes a estructuras alternativas o repetitivas.

condicin es una expresin lgica, es decir una expresin que puede


evaluarse como verdadera o falsa.

Licenciatura en Sistemas de Informacin

37

Curso de Nivelacin y Ambientacin 2012


FACENA - UNNE

Mdulo Informtica

Bibliografa
ACM. Computing Curricula 2005. ACM en:
http://www.acm.org/education/education/curric_vols/CC2005-March06Final.pdf
Dapozo, Gladys. Algoritmos y Estructuras de Datos I. Material de estudio de la
asignatura. 2011.
De Giusti, Armando. Algoritmos, datos y programas. Prentice Hall. 2001.
ISBN 987-9460-64-2.
Joyanes Aguilar, Luis. Fundamentos de Programacin. Algoritmos. Estructuras de
Datos y Objetos. Mc Graw-Hill. 1996. 2003. 3ra. Edicin. ISBN 84-481-3664-0.
Lage, Fernando y Cataldi, Zulma. Fundamentos de algoritmos y programacin. Nueva
Librera. 2008. ISBN 978-987-1104-63-5.
Llamas Bello, Csar. Introduccin a la Informtica. Ed. Thomson. 2004.
Perez Berr, Miriam y Cristina. Algoritmos y Programacin. Nueva Librera. 2007. ISBN
978-987-1104-46-8.
Prieto; Lloris; Torres. Introduccin a la Informtica. McGraw-Hill. 3ra. edicin. 2002.
Wirth, Niklaus. Algoritmos y Estructuras de Datos. Prentice Hall. 1987. ISBN 968-880113-5.

38

Facultad de Ciencias Exactas y Naturales y Agrimensura

También podría gustarte