You are on page 1of 78

ESCUELA DE CIENCIAS BSICAS E INGENIERA

ASIGNATURA: Algoritmos I

CORPORACIN UNIVERSITARIA REMINGTON


DIRECCIN PEDAGGICA
Este material es propiedad de la Corporacin Universitaria Remington (CUR), para los estudiantes de la CUR
en todo el pas.

2011

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 5

CRDITOS

El mdulo de estudio de la asignatura Algoritmos I es propiedad de la Corporacin Universitaria Remington. Las


imgenes fueron tomadas de diferentes fuentes que se relacionan en los derechos de autor y las citas en la bibliografa.
El contenido del mdulo est protegido por las leyes de derechos de autor que rigen al pas.
Este material tiene fines educativos y no puede usarse con propsitos econmicos o comerciales.

AUTOR
Jos Antonio Polo
Ingeniero de sistemas de la Universidad de Antioquia Especialista en finanzas de la Corporacin Universitaria Remington
Participacin del tercer Congreso Colombiano de Computacin 3CCC de la universidad EAFIT Participacin del primer
simposio en Inteligencia Artificial de la Corporacin Universitaria Remington Participacin del IV Congreso Internacional
de Software Libre GNU/Linux, Universidad de Manizales Participacin del 5 Congreso Nacional de Redes y Telemtica,
Redes de Servicios Mviles Integrados, Centro de Construccin de Conocimiento Evento CCC Docente de ctedra del
politcnico Jaime Isaza Cadavid Docente de ctedra del Tecnolgico de Antioquia Participacin del proyecto de la
articulacin de la media tcnica del Tecnolgico de Antioquia Docente de la Corporacin Universitaria Remington
barra5111@yahoo.es
Nota: el autor certific (de manera verbal o escrita) No haber incurrido en fraude cientfico, plagio o vicios de autora; en
caso contrario eximi de toda responsabilidad a la Corporacin Universitaria Remington, y se declar como el nico
responsable.

RESPONSABLES
Dr. Mauricio Seplveda
Director de la Escuela Ciencias Bsicas e Ingeniera
Director Pedaggico
Octavio Toro Chica
dirpedagogica.director@remington.edu.co
Coordinadora de Medios y Mediaciones
Anglica Ricaurte Avendao
mediaciones.coordinador01@remington.edu.co

GRUPO DE APOYO
Personal de la Unidad de Medios y Mediaciones
EDICIN Y MONTAJE
Primera versin. Febrero de 2011.
Derechos Reservados

Esta obra es publicada bajo la licencia CreativeCommons. Reconocimiento-No Comercial-Compartir Igual 2.5 Colombia.

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 6

TABLA DE CONTENIDO

1.

MAPA DE LA ASIGNATURA ............................................................................................. 7

2.

EL COMPUTADOR SUS COMPONENTES PROBLEMAS Y SOLUCIONES ................................ 8

2.1.

Esquema General de un Computador ................................................................................... 10

2.2.

Problemas, Soluciones y Programas ..................................................................................... 11

2.2.1. Elementos para la Construccin de un Algoritmo................................................................. 13


2.3.

Algoritmos Representacin y Estructuras Bsicas ................................................................ 14

2.3.1. Forma General de un Algoritmo............................................................................................ 15


3.

OPERADORES Y EXPRESIONES ...................................................................................... 19

3.1.

Operadores............................................................................................................................ 20

3.1.1. Operadores Aritmticos ........................................................................................................ 20


3.2.

Expresiones Aritmticas, Relacionales y Booleanas.............................................................. 24

3.2.1. Conversin de una Expresin Algebraica a Expresin Lineal de Computador ...................... 26


3.2.2. Conversin de una Expresin Lineal de Computador a Expresin Algebraica ...................... 27
4.

ESTRUCTURAS DE DECISIN ......................................................................................... 33

4.1.

Estructuras de Decisin Simple y Compuestas ..................................................................... 34

4.2.

Estructura Caso o Selector Mltiple ...................................................................................... 43

5.

ESTRUCTURAS REPETITIVAS ......................................................................................... 49

5.1.

Estructuras Repetitivas.......................................................................................................... 50

5.1.1. Funcionamiento y Componentes de las Diferentes Estructuras Repetitivas ........................ 51


5.1.2. Ciclo Automtico o Ciclo Para ............................................................................................... 51
5.1.3. Esquema Cuantitativo ........................................................................................................... 59
5.2.

Estructuras Repetitivas Anidadas .......................................................................................... 69

5.3.

Estructura de Rompimiento de Control ................................................................................ 74

5.4.

Pistas de Aprendizaje ............................................................................................................ 78

5.5.

Glosario ................................................................................................................................. 80

5.6.

Referencias Bibliogrficas ..................................................................................................... 81

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 7

1. MAPA DE LA ASIGNATURA
ALGORITMOS I

PROPSITO GENERAL DEL MDULO


Proporcionar a los estudiantes las herramientas bsicas para la solucin de problemas mediante un proceso de
secuencias lgicas.

OBJETIVO GENERAL
Dar al estudiante las herramientas bsicas para el desarrollo de algoritmos aplicables en cualquier disciplina, que
permitan la generacin de una capacidad analtica y creativa en la solucin e implementacin de problemas
propuestos.

OBJETIVOS ESPECFICOS
Presentar las herramientas bsicas para la construccin de soluciones utilizando el computador. Adems la
identificacin de los pasos necesarios que se necesitan para la construccin de un buen algoritmo, y la
aplicacin de las instrucciones de lectura y escritura
Capacitar al estudiante para la manipulacin de los diferentes operadores aritmticos y lgicos, a nivel
relacional y a nivel lgico.
Reconocer como se maneja una estructura de decisin identificando cuando y como se utiliza una pregunta.
Adems la aplicacin de la estructura caso en problemas complejos.
Reconocer en un problema cuando se utiliza un ciclo para, un ciclo mientras que, y la aplicacin de los
conceptos de contadores, acumuladores, promedios y porcentajes, adems la manipulacin del concepto de
ciclos anidados y rompimiento de control.

UNIDAD 1

UNIDAD 2

UNIDAD 3

UNIDAD 4

El COMPUTADOR:
SUS COMPONENTES,
PROBLEMAS Y
SOLUCIONES
Capacidad para
identificar los
componentes de un
computador, y la
forma de solucionar
problemas que
requieran el uso de
stos.

EXPRESIONES
Habilidad para
diferenciar
expresiones
aritmticas de
expresiones lgicas
relacionales y
booleanas

ESTRUCTURAS DE
DECISIN
Capacidad para
comprender el
concepto de
estructuras de
decisin simple y
compuesta, as como
el de selector
mltiple.

ESTRUCTURAS
REPETITIVAS
Habilidad para
manejar procesos
repetitivos en
formato cualitativo y
cuantitativo,

manejar
contadores,
acumuladores,
promedios y
porcentajes.

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 8

2. EL COMPUTADOR SUS COMPONENTES PROBLEMAS Y SOLUCIONES

http://www.youtube.com/watch?v=FasDEqui4FU
http://www.youtube.com/watch?v=YnMMy8Nnj_I&feature=related
OBJETIVO GENERAL
Presentar las herramientas bsicas para la construccin de soluciones utilizando el
computador. Adems la identificacin de los pasos necesarios para la construccin de un
buen algoritmo, y la aplicacin de las instrucciones de lectura y escritura
OBJETIVOS ESPECFICOS
Conocer el esquema general de una computadora y la relacin entre los diferentes
componentes.
Analizar el proceso global de un problema y las diferentes etapas en las que este
transcurre.
Identificar los diferentes pasos para la elaboracin de un buen algoritmo, as como las
diferentes estructuras para su construccin.

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 9

Prueba Inicial
1.

Realizar el siguiente sudoku:

Para resolver un sudoku se tiene que completar todas las casillas existentes con los nmeros del 1
al 9, teniendo en cuenta que no pueden coincidir dos nmeros iguales en la misma fila, en la
misma columna o en el mismo cuadro de 3x3.

Un hombre tiene 4 baldes: A, B, C y D; todos ellos de diferente capacidad como muestra la


figura:

El balde con capacidad de 24 Lts. est lleno de leche, la cual desea repartir en cantidades iguales a
sus tres hijos. Los baldes no tienen marcas adicionales que puedan ayudar con las medidas; las

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 10

nicas dos formas de trasladar la leche de un recipiente a otro es llenando completamente el


balde al que se desea pasar la leche o vaciando totalmente el balde del que se sacar la leche.
Escriba paso a paso las instrucciones que ejecutar para repartir la leche en tres cantidades
iguales.
Ejemplo:
D
C

C
B

(del recipiente D paso al C)


(del recipiente C paso al B)

2.1. Esquema General de un Computador


Todas las partes de un sistema de computacin operan bajo el control de una de ellas: La unidad
de control. Vemoslo en la siguiente figura:

Teclado y Pantalla

Mouse

RAM
Unidad aritmtica y
lgica
BUS
Registros de trabajo

DE
CONTROL

Memoria
auxiliar
Puertos
seriales

Control interno
CPU

Puertos
USB

Veamos cada uno de los componentes de un computador:


(Haga clic en el trmino para obtener informacin)
CPU (Central Processing Unit).
Unidad aritmtica y lgica.
Registros de trabajo.
Control interno.
Bus de control.
Memoria Principal (RAM).
Memoria auxiliar.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 11

Puertos seriales.
Puertos USB.
EJERCICIOS
1. Cul es la funcin de la memoria RAM?
2. Qu diferencia hay entre memoria principal y memoria auxiliar en un computador?
3. Describa las funciones de cada uno de los componentes de la CPU de un computador.

2.2. Problemas, Soluciones y Programas


Cuando se va a desarrollar una aplicacin usando el computador como herramienta se tiene
establecida cierta metodologa para garantizar que la aplicacin desarrollada sea de buena calidad.
Los pasos que establece dicha metodologa son:
1. Anlisis del problema.
2. Diseo de la solucin.
3. Implementacin de la solucin planteada.
3.1.
Elaboracin de algoritmos.
3.1.1. Anlisis del problema.
3.1.2. Diseo de la solucin.
3.1.3. Construccin del algoritmo.
3.1.4. Prueba de escritorio.
3.2.
Codificacin en algn lenguaje de programacin.
3.3.
Compilacin.
3.4.
Pruebas del algoritmo.
4. Pruebas del sistema.
5. Puesta en marcha.
Nuestro curso se centra en lo correspondiente al numeral 3.1.
Los pasos que se siguen en la construccin de un algoritmo, como ya habamos mencionado, son:
1.
2.
3.
4.

Anlisis del problema.


Diseo de la solucin.
Construccin del algoritmo.
Prueba de escritorio.

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 12

El anlisis del problema consiste en determinar exactamente cules son los datos de entrada que
se requieren, cul es la informacin que se desea producir y cul es el proceso que se debe
efectuar sobre los datos de entrada para producir la informacin requerida. Se debe indagar por
todas las situaciones especiales que se puedan presentar para tenerlas en cuenta en el diseo.
Con base en el anlisis se elabora el diseo del algoritmo: se asignan nombres a las variables, se
define el tipo de cada una de ellas, se definen las operaciones y subprocesos que hay que efectuar
y el mtodo para resolver cada uno de ellos.
Los elementos para la construccin de un algoritmo son: datos, estructuras e instrucciones.
La prueba de escritorio consiste en asumir la posicin del computador y ejecutar el algoritmo que
se ha elaborado para ver cmo es su funcionamiento. Esta parte es muy importante puesto que
permite detectar errores de lgica sin haber hecho an uso del computador. Aunque no garantiza
que el algoritmo est bueno 100%, ayuda mucho en la elaboracin de algoritmos correctos.
Habiendo superado los pasos anteriores, se elige un lenguaje de programacin (algunos de los ms
utilizados en la actualidad son: Java, C, C++, PHP, entre otros), se codifica el algoritmo en dicho
lenguaje y se pone en ejecucin en el computador disponible.
PASOS PARA LA SOLUCIN DE UN PROBLEMA
Veamos la forma grfica para representar un problema en la siguiente figura:

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 13

En la primera seccin nos concentramos en la definicin del problema, en la segunda, en el


proceso de construccin de la solucin y, en la tercera, en el contenido y estructura de la solucin
misma.
Ahora veamos los pasos que debemos seguir para solucionar el problema en un computador:
Paso 1: Una persona u organizacin, denominada el cliente, tiene un problema y necesita
la construccin de un programa para resolverlo. Para esto contacta una empresa de
desarrollo de software que pone a su disposicin un programador.
Paso 2: El programador sigue un conjunto de etapas, denominadas el proceso, para
entender el problema del cliente y construir de manera organizada una solucin de buena
calidad, de la cual formar parte un programa.
Paso 3: El programador instala el programa que resuelve el problema en un computador y
deja que el usuario lo utilice para resolver el problema. Fjese que no es necesario que el
cliente y el usuario sean la misma persona. Piense por ejemplo que el cliente puede ser el
gerente de produccin de una fbrica y, el usuario, un operario de la misma.

2.2.1. Elementos para la Construccin de un Algoritmo


Los elementos con los cuales se construye un algoritmo son las estructuras lgicas y los datos.
Miremos los datos.
Para efectos de representacin de datos en un computador, estos se clasifican en numricos y no
numricos, y los datos numricos se clasifican en enteros y reales.
En trminos de computacin se denomina tipo, y se habla entonces de datos de tipo entero, de
tipo real, de tipo no numrico, etc.
Cuando se trabajan datos numricos en un computador es muy importante considerar si el tipo es
entero o real, puesto que, dependiendo de ello, los resultados que se obtienen al efectuar
operaciones aritmticas pueden variar sustancialmente.

2.2.1.1 Representacin de Datos en un Computador


(Haga clic en el trmino para obtener informacin)
La unidad bsica de representacin de datos es el bit.
La siguiente unidad se denomina byte.
La siguiente unidad de representacin es el campo.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 14

La siguiente unidad de representacin es el registro.


La siguiente unidad de representacin es el archivo.
La siguiente unidad de representacin es la base de datos.
EJERCICIOS
1. Cuntos bits se requiere para representar la palabra ALGORITMOS?
2. Describa los conceptos de bit, byte, campo, registro, archivo y base de datos.
3. Cules son los pasos que se siguen para elaborar soluciones utilizando el computador
como herramienta?

2.3. Algoritmos Representacin y Estructuras Bsicas


Las estructuras lgicas para la construccin de algoritmos son:
1. Estructura secuencia
2. Estructura decisin
3. Estructura ciclo
La estructura bsica en la construccin de un algoritmo es la estructura de secuencia. Esta
estructura consiste en que las instrucciones se ejecutan exactamente en el orden en que han sido
escritas: primero se ejecuta la primera instruccin, luego la segunda instruccin, luego la tercera
instruccin y por ltimo la ltima instruccin.
Nota: El orden en el cual se escriben las instrucciones es fundamental para el correcto
funcionamiento de un algoritmo.
Cada estructura consta de un conjunto de instrucciones.
Las instrucciones correspondientes a la estructura secuencia son:
1.
2.
3.
4.
5.

Instrucciones de lectura.
Instrucciones de escritura.
Instrucciones de asignacin.
Las instrucciones correspondientes a la estructura decisin.
Las instrucciones correspondientes a la estructura ciclo.

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 15

Las instrucciones correspondientes a la estructura decisin son:


1. La instruccin SI y su componente opcional SINO.
2. La instruccin CASOS.
Las instrucciones correspondientes a la estructura ciclo son:
1. La instruccin MIENTRAS QUE.
2. La instruccin PARA.
3. La instruccin HAGA MIENTRAS QUE.

2.3.1. Forma General de un Algoritmo


La forma general de nuestros algoritmos ser:
1.
2.
3.
4.
5.
6.

ALGORITMO NOMBRE_DEL_ALGORITMO
DEFINICIN DE VARIABLES
INICIO
INSTRUCCIONES DEL ALGORITMO
FININICIO
FINALGORITMO

INSTRUCCIN DE LECTURA
Para que el computador pueda procesar datos, stos deben estar en la memoria principal (RAM).
La instruccin de lectura consiste en llevar los datos con los cuales se desea trabajar, desde un
medio externo hacia la memoria principal.
Los medios externos en los cuales pueden residir los datos son: disco duro, discos removibles, CD,
dispositivos USB, etc.; los datos tambin pueden entrarse directamente a travs del teclado.
La forma general de la instruccin de lectura es:
LEA (lista de variables, separadas por comas)

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 16

INSTRUCCIN DE IMPRESIN
La instruccin de impresin consiste en llevar los datos desde la memoria hacia un medio externo,
el cual puede ser disco duro, cinta, impresora, etc.
La forma general de la instruccin de impresin es:
IMPRIMA (lista de variables y/o mensajes, separados por comas)
Los mensajes son para instruir al usuario acerca de los datos que se le estn presentando. Si el
dato que se imprime es el nombre de una persona, es conveniente que dicho dato est precedido
por un mensaje que diga: nombre. Si el dato que se est presentando es una edad, es conveniente
que dicho dato est precedido por un mensaje que diga: edad. Y as sucesivamente.
Cuando vayamos a escribir un mensaje en una instruccin de impresin, dicho, mensaje lo
escribiremos encerrado entre comillas.
Vamos a hacer nuestro primer algoritmo utilizando solo las instrucciones de lectura y de escritura.
1. ALGORITMO PRIMERO
2.
VARIABLES: NOM (CARACTER)
3.
TEL (NUMRICO)
4.
INICIO
5.
IMPRIMA (Este es mi primer programa)
6.
IMPRIMA (Escriba el nombre)
7.
LEA (NOM)
8.
IMPRIMA (Escriba el telfono)
9.
LEA (TEL)
10.
IMPRIMA (Su nombre es:, NOM, y su telfono es:, TEL)
11.
IMPRIMA (Esto es genial)
12.
FININICIO
13. FIN
En la instruccin 1, estamos definiendo el nombre del algoritmo: lo llamamos PRIMERO.
En la instruccin 2, estamos definiendo las variables que vamos a utilizar en nuestro
algoritmo. Ponemos el ttulo VARIABLES y definimos la variable NOM, que podr
almacenar datos alfanumricos y, en la instruccin 3, definimos la variable TEL, que podr
almacenar datos numricos.
En la instruccin 4, ponemos nuestra palabra clave INICIO, la cual indica que a partir de ah
estn las instrucciones de nuestro algoritmo.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 17

En la instruccin 5, ponemos el ttulo de nuestro algoritmo, el cual saldr en pantalla.


En la instruccin 6, ponemos nuestra instruccin de impresin la cual imprime el mensaje
Escriba el nombre instruyendo al usuario acerca de la informacin que debe introducir.
En la instruccin 7, ponemos nuestra instruccin de lectura, en la cual el dato escrito por el
usuario se almacenarn en la posicin de memoria que el computador identificar con el
nombre NOM.
En la instruccin 8, ponemos nuestra instruccin de impresin la cual imprime el mensaje
Escriba el telfono instruyendo al usuario acerca de la informacin que debe introducir.
En la instruccin 9, ponemos nuestra instruccin de lectura, en la cual el dato escrito por el
usuario se almacenarn en la posicin de memoria que el computador identificar con el
nombre TEL.
En la instruccin 10, ponemos la instruccin de impresin con la cual se imprimen los
datos escritos por el usuario, cada uno con su respectivo ttulo.
En la introduccin 11, imprimimos un mensaje para luego finalizar nuestro algoritmo.
La instruccin 12, es nuestra palabra clave FININICIO, que cierra el inicio de las
instrucciones del algoritmo y, en la instruccin 13, ponemos el fin del algoritmo.
INSTRUCCIN DE ASIGNACIN
La instruccin de asignacin consiste en llevar algn dato a una posicin de memoria, la cual est
identificada con el nombre de una variable.
La forma general de una instruccin de asignacin es:
(Haga clic en VARIABLE para obtener informacin sobre los tipos de variables)

VARIABLE

Constante numrica entera


Constante numrica real
Variable
Mensaje
Expresin

Por ejemplo:
1.
2.
3.
4.
5.

a = 425
b = 3.46
c = Bienvenido
d=a
e=a+b*d
En los ejemplos 1 y 2, a las variables a y b les estamos asignando una constante numrica:
entera en el primer ejemplo, real en el segundo.
En el ejemplo 3, a la variable c le estamos asignando un mensaje.

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 18

En el ejemplo 4, a la variable d le estamos asignando el contenido de otra variable.


En el ejemplo 5, a la variable e le estamos asignando el resultado de evaluar una
expresin.
EJERCICIOS

1.
2.
3.
4.
5.
6.
7.
8.
9.

1. Elaborar un algoritmo que imprima el siguiente mensaje: Que buenos son los algoritmos
y la computacin.
2. Cules son las instrucciones correspondientes a la estructura ciclo?
3. Cmo se diferencia la escritura de mensajes de la escritura de datos de una instruccin de
lectura?
4. Detecte y describa los errores que hay en el siguiente algoritmo:
ALGORITMO ERRORES
VARIALBES: X, Y (NUMRICAS)
INICIO
IMPRIMA (Digite los datos para X y Y:)
IMPRIMA (dato X:, X, dato Y:, Y)
LEA (X, Y)
IMPRIMA (Hasta pronto)
FININICIO
FIN

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 19

3. OPERADORES Y EXPRESIONES

http://www.youtube.com/watch?v=fpUAP3lMJUs&feature=related
http://www.youtube.com/watch?v=nS_AiOEWa2I
OBJETIVO GENERAL
Capacitar al estudiante para manipular los diferentes operadores aritmticos y lgicos, a nivel
relacional y a nivel lgico.
OBJETIVOS ESPECFICOS
Conocer los diferentes tipos de operadores utilizados a nivel de programacin, y las
diferentes operaciones entre ellos; adems de las prioridades de cada uno de ellos.
Identificar las expresiones aritmticas, relacionales y booleanas, y sus resultados lgicos.

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 20

Prueba Inicial
1.
2.
3.
4.
5.
6.
7.
8.

En qu consiste una instruccin de asignacin?


Cmo se evala una expresin aritmtica?
En qu consiste la asociatividad de un operador?
Para qu se utilizan los parntesis en expresiones de computador?
Qu es una expresin relacional?
Cules son los operadores relacionales?
Qu es una expresin lgica?
Cules son los operadores lgicos?

OPERADORES Y EXPRESIONES
Una expresin es una sucesin de operandos y operadores, la cual puede ser de tres clases:
1. Expresin aritmtica.
2. Expresin relacional.
3. Expresin lgica.

3.1. Operadores
Los operadores son smbolos con los que se ordena la ejecucin de ciertas operaciones, se dividen
en dos clases; Aritmticos y Lgicos.

3.1.1. Operadores Aritmticos


Sirven para efectuar clculos aritmticos. Ellos son:
Smbolo

Operacin

+
*
/ (slash)
%
**, ^

Suma
Resta
Multiplicacin
Divisin
Mdulo (Toma el residuo de una divisin)
Ambos potenciacin y radicacin (Se debe expresar la raz como una
potencia fraccionaria)

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 21

1Prioridades de los operadores:


Smbolo

Prioridad

+, *, /, %
**, ^

Tienen la misma prioridad


Tienen la misma prioridad, pero mayor que la suma y la resta
Tienen mayor prioridad que todos los anteriores

Si dos o ms operadores consecutivos tienen la misma prioridad, las operaciones se ejecutarn en


las instrucciones de izquierda a derecha.
Ejemplo: Si se tiene la expresin:
A ** 2/5 * B -5 y los valores almacenados en A y B son 5 y 20 respectivamente, la evaluacin de
acuerdo al orden de prioridad ser:
5 ** 2 = 25
25 / 5 * 20 = 100
100 5 = 95
Si se tiene una expresin con dos o ms potencias consecutivas estas se realizan de derecha a
izquierda. Por ejemplo:
11 % 3 + 10 / 5 * 2 ^ 2 ^ 3
De acuerdo al orden de prioridad, el resultado sera:
2^3=8
2 ^ 8 = 256
Habiendo resuelto las potencias tendremos:
11 % 3 + 10 / 5 * 256
2 + 512 = 214
Si se requiere que una o ms operaciones se realicen primero que otras, entonces estas se
encierran entre parntesis y dentro de estos se conserva la jerarqua de los operadores.
Ejemplo:

La operacin:

debe representarse como: (a + b) / (c + a) + 20

Oviedo Efran
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 22

La operacin:

se representa como: a/b - c/(a^(d + e)*20)

Operadores Lgicos
Sirven para determinar el valor de verdad de proposiciones Lgicas simples o compuestas. Su
aplicacin se encuentra en los procesos de comparacin los cuales sirven para tomar decisiones.
Se dividen en: Lgicos relacionales y lgicos booleanos.
Operadores Lgicos Relacionales
Sirven para hallar el valor de verdad de una proposicin Lgica simple. Se define una proposicin
Lgica simple (PLS) como la comparacin entre contenido de un campo variable y un valor
constante o la comparacin entre los contenidos de dos campos variables. Ellos son:
Smbolo

Funcin

==
<>, !=
>
<
>=

Igual
Diferente
Mayor que
Menor que
Mayor o igual que

<=

Menor o igual que

Nota aclaratoria: Estos operadores pueden variar dependiendo el Lenguaje de Programacin que
se utilice. Para los procesos de comparacin es bueno anotar que slo son vlidos si los campos
variables a comparar han sido previamente asignados.
Ejemplos:
CARLOS >= 6
Esto es una PLS, en la cual se compara el contenido del campo variable CARLOS con el valor
numrico 6, esta puede ser verdadera o falsa dependiendo del contenido del campo CARLOS.
Otros ejemplos:
Nombre <> "*"
B == C
SALARIO <= 98700
EDAD > 100.

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 23

Operadores Lgicos Booleanos


Sirven para hallar el valor de verdad de una proposicin lgica compuesta (PLC), entendindola
como la conexin de dos o ms PLS. En trminos de Lgica matemtica son los llamados
conectivos lgicos. Ellos son:

Smbolos
Matemticos

Smbolos
utilizados en
programacin

Nombre

Valor de Verdad o Definicin

&&
AND

Conjuncin, se lee
Y

||
OR

Disyuncin, se lee
O

Se define como verdadera cuando


las PLS que conectan son todas
verdaderas
Se define como falsa cuando las
PLS que conectan son todas falsas.

!
NOT

Negacin, se lee
NO

No es un conectivo Igico. Su
funcin es alterar el valor de
verdad de las proposiciones
lgicas.

Prioridad de los operadores lgicos booleanos


1. Negacin
2. Conjuncin
3. Disyuncin

!
&&
||

Las variables lgicas son variables que slo pueden tomar dos valores: verdadero o falso.
En general, una variable lgica, en el mbito de los computadores, es una variable de un solo bit,
el cual puede ser 0 1. Por convencin se ha adoptado que el 0 representa falso y el 1 verdadero.
Se establece por convencin que para formar una PLC, las PLS deben estar encerradas entre
parntesis y para hallar el valor de verdad de una PLC primero se evala el valor de verdad de cada
PLS por separado y el valor de verdad de la PLC estar en funcin del operador lgico booleano
usado para la conexin.

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 24

Ejemplo:
Sean: A = 1; B = 3; C = 0. Hallar el valor de verdad de la siguiente PLC

(A < B) ^ (B < C)
V
V

^
F

F
F

Se hall el valor de verdad de cada PLS


Se aplic la definicin del operador lgico booleano conjuncin
La PLC es falsa

EJERCICIOS
Dada la siguiente definicin de variables con su respectivo tipo y contenido
Numricos enteros
Numricos reales
a=4
y = 3.5
b=7
x = 2.0
c=3
z = 5.0
d=2
w = 1.5
Determine el resultado de evaluar cada una de las siguientes expresiones:
a*b/2+1
c/y^2
a / ((b + c) / (d + 1) * (a + b) b) ^ b ^ a + z
z / x + b * w * (c b) / a

3.2. Expresiones Aritmticas, Relacionales y Booleanas


Cuando se trata de evaluar expresiones lgicas primero se evalan las expresiones aritmticas,
luego las expresiones relacionales y por ltimo las expresiones lgicas, las cuales tambin tienen
cierta prioridad en el momento de efectuar la evaluacin, como mencionamos anteriormente.
Ejemplos:
1. a && b
2. a > b || c < d
3. radio >= a ^ 2 || (b c) == (3.1 + c) && (c + d) * 2 <=1
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 25

En el ejemplo 1, si a y b tienen estado de verdad, el resultado de evaluar la expresin es


verdadero; de lo contrario es falso.
En el ejemplo 2, si a es mayor que b, o c es menor que d, el resultado de evaluar la expresin es
verdadero; de lo contrario es falso.
En el ejemplo 3, primero se evalan las expresiones aritmticas:
Llamaremos r1 el resultado de multiplicar 3.14 por el valor almacenado en la variable
radio.
Llamaremos r2 el resultado de elevar el contenido de la variable a al cuadrado.
Llamaremos r3 el resultado de restarle a b lo que hay almacenado en c.
Llamaremos r4 el resultado de sumar 3.1 con el contenido de c.
Llamaremos r5 el resultado de multiplicar por 2 la suma de c con d.
Nuestra expresin quedar:
r1 >= r2 || r3 == r4 && r5 <= 1
Llamaremos r6 el resultado lgico obtenido de comparar r1 con r2.
Llamaremos r7 el resultado de comparar r3 con r4.
Llamaremos r8 el resultado de comparar r5 con 1.
Nuestra expresin queda:
r6 || r7 && r8
Luego evala r7 && r8.
Llamaremos r9 a este resultado: S r7 y r8 son verdaderos, entonces r9 ser verdadero; de
lo contrario r9 ser falso.
Nuestra expresin queda:
r6 || r9
En la cual, con uno de los dos operandos que sea verdadero, el resultado de evaluar la expresin
ser verdad.

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 26

3.2.1. Conversin de una Expresin Algebraica a Expresin Lineal de Computador


Cuando se elabora un algoritmo es muy comn tener que escribir expresiones, sobre todo si se
trata de algoritmos de carcter cientfico o matemtico.
Para escribir expresiones de computador, segn el tema anterior, es necesario tener en cuenta la
forma como el computador evala dichas expresiones.
Veamos cmo convertir una expresin algebraica en expresin de computador.
Ejemplo:

Si queremos escribir esta expresin algebraica como expresin de computador, tenemos varias
formas de hacerlo:
1. a / b * c
2. a / b / c
3. a / (b * c)
La primera forma es incorrecta, porque de acuerdo a lo visto en el tema anterior, primero ejecuta
la divisin del valor de a entre el valor de b, y el resultado lo multiplica por el valor de c. Osea que
si a vale 36, b vale 6 y c vale 2el resultado de evaluar dicha expresin es 12, lo cual es errneo.
La segunda y tercera forma son correctas: en la segunda forma, primero ejecuta la divisin del
valor de a por el valor de b y el resultado lo divide por el valor de c, obteniendo como resultado 3.
En la tercera forma primero multiplica el valor de b por el valor de c y el resultado divide al valor
de a, obteniendo como resultado tambin 3.
Es supremamente importante entender este primer ejemplo.
En la tercera forma hemos utilizado parntesis para alterar el orden de ejecucin de las
operaciones; sin embargo, en la segunda forma no lo hemos utilizado y el resultado tambin es
correcto.
Veamos algunos ejemplos en los que se exige el uso del parntesis.
1. Consideremos la siguiente expresin algebraica:
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 27

La expresin de computador correcta puede ser:


1. (a + d / e + c) / (b * c)
2. (a + d / e + c) / b / c

2. Consideremos esta otra expresin algebraica:

La forma correcta de escribir esta expresin algebraica como expresin de computador es:
A ^ b ^ (c + 1)

3.2.2. Conversin de una Expresin Lineal de Computador a Expresin Algebraica


Pasemos ahora a considerar el caso contrario: dada una expresin de computador, escribir la
expresin algebraica correspondiente.
Consideremos los siguientes ejemplos:
1. a + b * c / d e ^ f
La expresin algebraica es:

2. (a + b) * c / (d e) ^ f
La expresin algebraica es:

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 28

3. a b / c + (b c / d) / e
La expresin algebraica es:

Ejemplos Y Aplicaciones De Uso


Elaborar un algoritmo que lea un dato correspondiente al lado de un cuadrado y que calcule e
imprima el rea de dicho cuadrado.
Anlisis
Datos de entrada: Lado del cuadrado (lado).
Clculos: Determinar el rea del cuadrado.
Datos de salida: rea del cuadrado (rea).
Nuestro algoritmo queda:
1. ALGORITMO REA_DEL_CUADRADO
2.
VARIABLES: lado, rea (NUMRICAS)
3.
INICIO
4.
IMPRIMA (Ingrese el tamao del lado del cuadrado en cms.)
5.
LEA (lado)
6.
rea = lado ^ 2
7.
IMPRIMA (Lado:, lado, rea:, rea)
8.
FININICIO
9. FIN
En la instruccin 1, definimos el nombre del algoritmo.
En la instruccin 2, definimos las variables que vamos a utilizar, con su correspondiente tipo.
En la instruccin 3, ponemos nuestra palabra clave de inicio de las instrucciones ejecutables.
En la instruccin 4, imprimimos un mensaje que oriente al usuario de que dato debe ingresar.
En la instruccin 5, leemos el valor del lado.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 29

En la instruccin 6, determinamos el rea del cuadrado y la guardamos en la variable area.


En la instruccin 7, imprimimos el lado ledo y el rea calculada, con sus respectivos mensajes.
En la instruccin 8, ponemos nuestra palabra clave de fin de las instrucciones ejecutables.
En la instruccin 9, indicamos el fin del algoritmo.
Entonces, si el lado ledo en la instruccin 5 tiene un valor de 10, al ejecutar la instruccin 6 se
almacena en la posicin de memoria identificada con el nombre de rea el valor de 100.
Luego, al ejecutar la instruccin 7, imprimir
Lado: 10, rea: 100
Veamos otro ejemplo:
Elaborar un algoritmo que lea el salario actual de dos empleados y el porcentaje de aumento de
cada uno de ellos y que calcule e imprima el salario actual, el aumento y el nuevo salario de cada
uno de ellos.
Anlisis:
Datos de entrada:
Salario actual del empleado uno (se1)
Salario actual del empleado dos (se2)
Porcentaje aumento del empleado uno (pe1)
Porcentaje aumento del empleado uno (pe2)
Clculos:
El aumento de cada empleado se obtiene multiplicando el salario actual por el porcentaje
de aumento ledo, y el nuevo salario se obtiene sumando el aumento al salario actual
Datos de salida:
Aumento del empleado uno (au1)
Aumento del empleado dos (au2)
Nuevo salario del empleado uno (nse1)
Nuevo salario del empleado dos (nse2)

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 30

Con base a lo anterior, nuestro algoritmo queda:

1. ALGORITMO AUMENTOS
2.
VARIABLES: se1, se2, pe1, pe2, au1, au2, nse1, nse2 (NUMRICAS)
3.
INICIO
4.
IMPRIMA (Ingrese el salario del empleado uno)
5.
LEA (se1)
6.
IMPRIMA (Ingrese el porcentaje de aumento del empleado uno)
7.
LEA (pe1)
8.
IMPRIMA (Ingrese el salario del empleado dos)
9.
LEA (se2)
10.
IMPRIMA (Ingrese el porcentaje de aumento del empleado dos)
11.
LEA (pe2)
12.
au1 = se1 + pe1
13.
au2 = se2 + pe2
14.
nse1 = se1 + au1
15.
nse2 = se2 + au2
16.
IMPRIMA (Empleado uno:)
17.
IMPRIMA (Salario actual:, se1, Aumento:, au1, Nuevo salario:, nse1)
18.
IMPRIMA (Empleado dos:)
19.
IMPRIMA (Salario actual:, se2, Aumento:, au2, Nuevo salario:, nse2)
20.
FININICIO
21. FIN
En la instruccin 1, definimos el nombre de nuestro algoritmo.
En la instruccin 2, definimos las variables que utilizaremos en nuestro algoritmo, con su
respectivo tipo.
En la instruccin 3, ponemos nuestra palabra clave de inicio de las instrucciones ejecutables.
En las instrucciones 4 a 11 leemos los datos correspondientes al salario de cada empleado y al
porcentaje de aumento, con sus respectivos mensajes.
En las instrucciones 12 y 13, calculamos el aumento de cada uno de los empleados. Dichos
aumentos los almacenamos en las variables au1 y au2.
En las instrucciones 14 y 15, calculamos el nuevo salario de cada empleado.

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 31

En la instruccin 16, imprimimos el ttulo para los datos del empleado uno.
En la instruccin 17, imprimimos los datos correspondientes al empleado uno: salario actual,
aumento y nuevo salario.
En la instruccin 18, imprimimos el ttulo para los datos del empleado dos.
En la instruccin 19, imprimimos los datos correspondientes al empleado dos: salario actual,
aumento y nuevo salario.
EJERCICIOS

1. Si el valor de A = 4, B = 5, C = 1, L = Verdadero (TRUE); muestre cuales son los valores


impresos en el siguiente algoritmo:
1. ALGORITMO OPERADORES_Y_EXPRESIONES
2.
VARIABLES: A, B, C, X, Y, Z (NUMRICAS)
3.
L: (BOOLEANAS)
4.
INICIO
5.
A=4
6.
B=5
7.
C=1
8.
L = TRUE
9.
X=B*AB^2/4*C
10.
Y=A*B/3^2
11.
Z = (((B + C) / 2 * A + 10) * 3 * B) 6
12.
IMPRIMA (X, Y, Z)
13.
FININICIO
14. FIN
2. Usando los valores de A, B, C y L del punto anterior, calcule el valor almacenado en las
siguientes variables:
X = (B <= 100) && ! (A > C) && (C == 1)
Y = (B == 5) || (C == 30) && ! L
Z = ((B + 20) > (C 1)) || ((A + 5) <= 50)
3. Convierta la siguiente expresin algebraica en expresin de computador

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 32

4. Convierta la siguiente expresin de computador a expresin algebraica


a / (b + c / (d + 1) * (a + b) a) ^ b ^ a + c
5. Elaborar un algoritmo que lea el nombre de una persona y que imprima el mensaje
Bienvenido(a), seguido del nombre de la persona leda.
6. Elaborar un algoritmo que lea dos datos enteros correspondientes a los catetos de un
tringulo rectngulo y que calcule e imprima el valor de la hipotenusa de dicho tringulo.
7. Elabore un algoritmo que lea el cdigo de un artculo, el precio unitario del artculo y la
cantidad vendida. Su algoritmo debe calcular e imprimir: el total de la venta, el IVA y el
total a pagar; sabiendo que el impuesto es del 16%.
8. Elabore un algoritmo que lea dos nmeros enteros y que muestre como salida la suma,
resta, multiplicacin, divisin y mdulo del primero por el segundo.
9. Elaborar un algoritmo que lea una temperatura en grados Fahrenheit y la convierta e
imprima en grados centgrados. Los grados Fahrenheit se convierte a grados centgrados
restndoles 32 y multiplicando por cinco novenos.

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 33

4. ESTRUCTURAS DE DECISIN

http://www.youtube.com/watch?v=0EhP86HvCHk
OBJETIVO GENERAL
Reconocer como se maneja una estructura de decisin identificando cuando y como se
utiliza una pregunta. Adems la aplicacin de la estructura caso en problemas complejos.
OBJETIVOS ESPECFICOS
Conocer cundo utilizar una estructura de decisin simple y cundo una estructura de
decisin compuesta.
Identificar cundo remplazar la estructura de decisin SI por un selector mltiple, o
estructura CASO.

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 34

Prueba Inicial
1.
2.
3.
4.
5.

Cul es la forma general de la instruccin SI?


Cundo es necesario utilizar el componente SINO en una instruccin SI?
Qu es mejor y porqu: La instruccin SI simple o instrucciones SI anidadas?
Cundo se aplica una instruccin CASO?
Una instruccin SI puede remplazar una instruccin CASO?

ESTRUCTURAS DE DECISIN
Las instrucciones correspondientes a la estructura decisin son:
La instruccin SI y su componente opcional SINO.
La instruccin CASOS.

4.1. Estructuras de Decisin Simple y Compuestas


La estructura de decisin permita instruir al computador para que ejecute ciertas acciones
(instrucciones) segn alguna condicin.
La forma general de la instruccin SI es:
SI (condicin)
Instrucciones que se ejecutan cuando la condicin sea verdadera.
SINO
Instrucciones que se ejecutan cuando la condicin es fala.
FINSI
Ejemplo:
Elaborar un algoritmo que lea el salario actual de un empleado y que calcule e imprima el nuevo
salario de acuerdo a la siguiente condicin: si el salario es menor que 1000 pesos, aumentar el
10%; sino no hacer el aumento.
Anlisis:
Datos de entrada: salario actual (SALACT).
Clculos: determinar el aumento segn la condicin planteada.
Datos de salida: aumento (AU), nuevo salario (NUESAL).
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 35

Nuestro algoritmo es:


1. ALGORITMO AUMENTO_CONDICIONAL
2.
VARIABLES: SALACT, AU, NUESAL (NUMRICAS)
3.
INICIO
4.
IMPRIMA (Ingrese salario)
5.
LEA (SALACT)
6.
SI (SALACT < 1000)
7.
AU = SALACT * 0.1
8.
SINO
9.
AU = 0
10.
FINSI
11.
NUESAL = SALACT + AU
12.
IMPRIMA (Nuevo salario:, NUESAL)
13.
FININICIO
14. FIN
En la instruccin 2, se definen las variables con las cuales vamos a trabajar.
En la instruccin 5, se lee el salario actual.
En la instruccin 6, se compara el salario ledo con el dato de referencia planteado en el
enunciado.
Si la condicin de la instruccin 6 es verdadera, se ejecuta la instruccin 7; sino se
efectuar la instruccin 9.
En la instruccin 7, se determina el aumento, el cual es el diez por ciento del salario actual,
mientras que en la instruccin 9 se asigna cero al aumento.
La instruccin 10, delimita el alcance de la instruccin SI.
En la instruccin 11, se calcula el nuevo salario, y en la instruccin 12 se imprime el nuevo
salario.
El anterior algoritmo se puede escribir sin utilizar el componente SINO, el cual, como habamos
dicho, es opcional.
Veamos nuestro nuevo algoritmo:

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 36

1. ALGORITMO AUMENTO_CONDICIONAL (2)


2.
VARIABLES: SALACT, AU, NUESAL (NUMRICAS)
3.
INICIO
4.
IMPRIMA (Ingrese salario)
5.
LEA (SALACT)
6.
AU = 0
7.
SI (SALACT < 1000)
8.
AU = SALACT * 0.1
9.
FINSI
10.
NUESAL = SALACT + AU
11.
IMPRIMA (Nuevo salario: , NUESAL)
12.
FININICIO
13. FIN
La diferencia de este segundo algoritmo con el primero es que al aumento inicialmente se le
asigna el valor de cero en la instruccin 6.
Cuando se compara el salario actual con el valor de referencia (1000), se modificar el aumento
slo si el salario actual es menor que el valor de referencia; en caso contrario el aumento
permanecer en cero.
INSTRUCCIONES
En la prctica se presentan hechos en los cuales es necesario controlar situaciones dentro de
situaciones ya controladas, es decir, comprobar condiciones dentro de condiciones, o comprobar
varias condiciones a la vez. Estos acontecimientos implican el uso de la instruccin SI de una forma
ms compleja.
Ejemplo:
Elabore un algoritmo que lea tres datos numricos y que los imprima ordenados
ascendentemente.
Anlisis:
Datos de entrada: tres datos numricos (a, b, c).
Clculos: determinar el menor de los tres datos para imprimirlo de primero, luego determinar el
menor de los dos restantes para imprimirlo de segundo y luego imprimir el tercer dato.
Datos de salida: los mismos tres datos de entrada en orden ascendente.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 37

Una primera forma de escribir este algoritmo es siendo exhaustivos en la comparacin de los
datos.
Realmente, las diferentes situaciones que se pueden presentar para escribir los tres datos son:
La primera, cuando a es menor que b y b es menor que c.
La segunda, cuando a es menor que c y c es menor que b.
La tercera, cuando b es menor que a y a es menor que c,
Y as sucesivamente.
A cada situacin le corresponde una relacin de orden diferente.
1.
2.
3.
4.
5.
6.

a, b, c
a, c, b
b, a, c
b, c, a
c, a, b
c, b, a

Un algoritmo para efectuar esta tarea es:

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 38

1. ALGORITMO ORDENAR_3_DATOS (1)


2.
VARIABLES: a, b, c (NUMRICAS)
3.
INICIO
4.
IMPRIMA (Ingrese tres nmeros)
5.
LEA (a, b, c)
6.
SI (a < b) && (b < c)
7.
IMPRIMA (a, b, c)
8.
FINSI
9.
SI (a < c) && (c < b)
10.
IMPRIMA (a, c, b)
11.
FINSI
12.
SI (b < a) && (a < c)
13.
IMPRIMA (b, a, c)
14.
FINSI
15.
SI (b < c) && (c < a)
16.
IMPRIMA (b, c, a)
17.
FINSI
18.
SI (c < a) && (a < b)
19.
IMPRIMA (c, a, b)
20.
FINSI
21.
SI (c < b) && (b < a)
22.
IMPRIMA (c, b, a)
23.
FINSI
24.
FININICIO
25. FIN
Las instrucciones 6 a 8 consideran la primera situacin; las instrucciones 9 a 11 consideran la
segunda situacin; las instrucciones 12 a 14 consideran la tercera situacin; las instrucciones 15 a
17 consideran la cuarta situacin; las instrucciones 18 a 20 consideran la quinta situacin; y las
instrucciones 21 a 23 consideran la sexta situacin.
Este algoritmo tiene el inconveniente de que cuando una situacin sea verdadera, contina
preguntando por las dems, lo cual genera ineficiencia. Para evitar esta ineficiencia utilizamos la
parte opcional SINO.
Veamos cmo queda nuestro algoritmo:

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 39

1. ALGORITMO ORDENAR_3_DATOS (2)


2.
VARIABLES: a, b, c (NUMRICAS)
3.
INICIO
4.
IMPRIMA (Ingrese tres nmeros)
5.
LEA (a, b, c)
6.
SI (a < b) && (b < c)
7.
IMPRIMA (a, b, c)
8.
SINO
9.
SI (a < c) && (c < b)
10.
IMPRIMA (a, c, b)
11.
SINO
12.
SI (b < a) && (a < c)
13.
IMPRIMA (b, a, c)
14.
SINO
15.
SI (b < c) && (c < a)
16.
IMPRIMA (b, c, a)
17.
SINO
18.
SI (c < a) && (a < b)
19.
IMPRIMA (c, a, b)
20.
SINO
21.
IMPRIMA (c, b, a)
22.
FINSI
23.
FINSI
24.
FINSI
25.
FINSI
26.
FINSI
27.
FININICIO
28. FIN
De esta manera, cuando encuentre que una condicin (situacin) es verdadera, procede a
imprimir los datos en forma ordenada y no sigue preguntando por las dems condiciones.
Una tercera forma en que podemos elaborar el algoritmo es la siguiente:
Comparamos a con b.
Pueden suceder dos cosas: una, que a sea menor que b, y dos, que b sea menor que a.

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 40

1. Si a es menor que b, implica que habr que escribir el dato a antes que el dato b; por lo
tanto las posibles formas de escribir los tres datos son:
1. a, b, c
2. a, c, b
3. c, a, b
Si b es menor que c, imprimimos la primera posibilidad: a, b, c; de lo contrario, debemos comparar
a con c.
Si a es menor que c, imprimimos la segunda posibilidad: a, c, b; en caso contrario, imprimimos la
tercera posibilidad: c, a, b.
2
Si b es menor que a implica que habr que escribir el dato b antes que el dato a; por lo
tanto las posibles formas de escribir los tres datos son:
1. b, a, c
2. b, c, a
3. c, b, a
Si a es menor que c, imprimimos la primera posibilidad: b, a, c; de lo contrario, debemos comparar
b con c.
Si b es menor que c, imprimimos la segunda probabilidad: b, c, a; sino, imprimimos la tercera
probabilidad: c, b, a.
Con base en el anterior anlisis nuestro algoritmo queda:

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 41

1. ALGORITMO ORDENAR_3_DATOS (3)


2.
VARIABLES: a, b, c (NUMRICAS)
3.
INICIO
4.
IMPRIMA (Ingrese tres nmeros)
5.
LEA (a, b, c)
6.
SI (a < b)
7.
SI (b < c)
8.
IMPRIMA (a, b, c)
9.
SINO
10.
SI (a < c)
11.
IMPRIMA (a, c, b)
12.
SINO
13.
IMPRIMA (c, a, b)
14.
FINSI
15.
FINSI
16.
SINO
17.
SI (a < c)
18.
IMPRIMA (b, a, c)
19.
SINO
20.
SI (b < c)
21.
IMPRIMA (b, c, a)
22.
SINO
23.
IMPRIMA (c, b, a)
24.
FINSI
25.
FINSI
26.
FINSI
27.
FININICIO
28. FIN

//c es menor que b

//c es menor que a

//b es menor que a

//c es menor que a

//c es menor que b

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 42

EJERCICIOS
1. Elabore un algoritmo que lea el nombre de un empleado, su salario bsico por hora y el
nmero de horas trabajadas en el mes; imprima su nombre y salario mensual si ste es
mayor de 450.000 pesos, de lo contrario imprima slo en nombre.
2 Se tienen tres esferas (A, B, C) de diferente peso. Elaborar un algoritmo que determine cul es
la esfera de mayor peso.
3 Elaborar un algoritmo que determine la suma del valor menor y mayor en un grupo de 4 datos.
4 Elaborar un algoritmo que lea la ordenada (Y) y abscisa (X) de un punto de un plano cartesiano y
determine si pertenece o no a la recta Y = 3X + 5.
5 Un almacn de escritorios hace los siguientes descuentos: si el cliente compra menos
de 5 unidades, se le da un descuento del 10% sobre la compra; si el nmero de unidades
es mayor o igual a 5 pero menos de 10 se le otorga un 20%; y si son 10 o ms unidades, se
le da un 40%. Elaborar un algoritmo que determine cunto debe pagar un cliente si el
valor de cada escritorio es de 800.000 pesos.
6 Una frutera ofrece las manzanas con descuento segn la siguiente tabla:
No. de manzanas

% descuento

02
35
6 10
11 en adelante

0%
10%
15%
20%

Elaborar un algoritmo que determine cunto pagar una persona que compre manzanas en esa
frutera.
Cierta universidad tiene un programa para estimular a los estudiantes con buen rendimiento
acadmico. Si el promedio es de 4.5 o ms y el alumno es de pregrado, entonces cursar 28
crditos y se le har un descuento de 25%; si el promedio es mayor o igual a 4.0 pero menor que
4.5 y el alumno es de pregrado, entonces cursar 25 crditos y se le har un 10% de descuento; si
el promedio es mayor o igual que 3.5 y menor que 4.0 y es de pregrado, cursar 20 crditos y no
tendr descuento; si el promedio es mayor o igual que 2.5 y menor que 3.5 y es de pregrado,
cursar 15 crditos y no tendr descuento; si el promedio es menor que 2.5 y es de pregrado, no
podr matricularse; si el promedio es mayor o igual a 4.5 y es de posgrado, cursar 20 crditos y
se le har un 20% de descuento; si el promedio es menor de 4.5 y es de posgrado, cursar 10
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 43

crditos y no tendr descuento.


Elaborar un algoritmo que determine cunto debe pagar un estudiante y cuntos crditos registra
si el valor de cada crdito es de 50.000 pesos para pregrado y 300.000 pesos para posgrado.
8 Un proveedor de computadores ofrece descuento del 10%, si cuesta 1.000.000 de pesos o ms.
Adems, independientemente, ofrece el 5% de descuento si la marca es ABACO. Elaborar un
algoritmo que determine cunto pagar, con IVA incluido, un cliente cualquiera por la compra de
un computador.

4.2. Estructura Caso o Selector Mltiple


El selector mltiple sirve para reemplazar una serie lgica. Su estructura corresponde a la de un
bloque de decisin mltiple, es decir, ofrece ms de dos caminos a seguir simultneamente. Para
usar un selector mltiple se debe considerar:
La presencia de una variable que contenga ms de dos valores que sean enteros (1, 2, 3,...
N) y dependiendo de ese valor se ejecute ciertas instrucciones segn el camino Lgico
determinado.
No tiene sentido usar un selector para una variable como por ejemplo sexo (1; hombre, 2: Mujer),
en este caso es ms ptimo y eficiente un bloque de decisin pero para una variable como
programa (1: Sistemas, 2: Electrnica. 3: Secretariado, 4: Gestin Administrativa, 5: Contadura) se
debe usar un selector.
EI selector mltiple se puede usar cuantas veces se requiera.
En el selector se debe colocar todos los valores de la variable.
El selector tiene la siguiente estructura:

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 44

CASOS
CASO (VARIABLE==1)
Grupo de instrucciones a ejecutar cuando la variable sea igual a 1
SALTO
CASO (VARIABLE==2)
Grupo de instrucciones a ejecutar cuando la variable sea igual a 2
SALTO
CASO (VARIABLE==3)
Grupo de instrucciones a ejecutar cuando la variable sea igual a 3
SALTO
CASO (VARIABLE==N)
Grupo de instrucciones a ejecutar cuando la variable sea igual a N
SALTO
OTRO_CASO
Grupo de instrucciones a ejecutar cuando la variable sea diferente a las anteriores
SALTO
FINCASOS

Despus de ejecutar las instrucciones que se encuentran dentro de un caso especfico la expresin
SALTO nos remitir hasta el fin de los casos.
Ejemplo:
Elaborar un algoritmo que lea el nombre de una persona y su estado civil.
El estado civil est codificado con un dgito con los siguientes significados:
1: Soltero
2: Casado
3: Separado
4: Viudo
5: Unin libre
El algoritmo debe imprimir el nombre ledo y la descripcin correspondiente al estado civil.

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 45

Anlisis:
Datos de entrada: nombre (NOM), estado civil (EC).
Clculos: Comparar el estado civil segn el cdigo establecido e imprimir la descripcin
correspondiente.
Datos de salida: nombre (NOM), estado civil (EC).
1. ALGORITMO ESTADO_CIVIL (1)
2.
VARIABLES: NOM (CARACTER)
3.
EC (NUMRICA)
4.
INICIO
5.
IMPRIMA (Ingrese nombre)
6.
LEA (NOM)
7.
IMPRIMA (Ingrese estado civil)
8.
LEA (EC)
9.
CASOS
10.
CASO (EC == 1)
11.
IMPRIMA (NOM, Soltero)
12.
SALTO
13.
CASO (EC == 2)
14.
IMPRIMA (NOM, Casado)
15.
SALTO
16.
CASO (EC == 3)
17.
IMPRIMA (NOM, Separado)
18.
SALTO
19.
CASO (EC == 4)
20.
IMPRIMA (NOM, Viudo)
21.
SALTO
22.
CASO (EC == 5)
23.
IMPRIMA (NOM, Unin libre)
24.
SALTO
25.
OTRO_CASO
26.
IMPRIMA (EC, Estado civil no vlido)
27.
SALTO
28.
FINCASOS
29.
FININICIO
30. FIN
Dentro de la instruccin CASOS cuando escribimos CASO (EC == 1): la mquina compara EC con 1,
si EC es igual a 1 ejecuta las instrucciones correspondientes a ese caso.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 46

Un algoritmo equivalente al anterior, utilizando la instruccin SI, es el siguiente:


1. ALGORITMO ESTADO_CIVIL (2)
2.
VARIABLES: NOM (CARACTER)
3.
EC (NUMRICA)
4.
INICIO
5.
IMPRIMA (Ingrese nombre)
6.
LEA (NOM)
7.
IMPRIMA (Ingrese estado civil)
8.
LEA (EC)
9.
SI (EC == 1)
10.
IMPRIMA (NOM, Soltero)
11.
SINO
12.
SI (EC == 2)
13.
IMPRIMA (NOM, Casado)
14.
SINO
15.
SI (EC == 3)
16.
IMPRIMA (NOM, Separado)
17.
SINO
18.
SI (EC == 4)
19.
IMPRIMA (NOM, Viudo)
20.
SINO
21.
SI (EC == 5)
22.
IMPRIMA (NOM, Unin libre)
23.
SINO
24.
IMPRIMA (EC, Estado civil no vlido)
25.
FINSI
26.
FINSI
27.
FINISI
28.
FINSI
29.
FINSI
30.
FININICIO
31. FIN
Un punto importante que se debe considerar en este sitio es: cundo utilizar la instruccin SI, y
cundo utilizar la instruccin CASOS?
La respuesta es sencilla:

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 47

Cuando el resultado de una comparacin slo da dos alternativas, se utiliza la instruccin


SI.
Cuando el resultado de una comparacin da ms de dos alternativas, se utiliza la
instruccin CASOS.
EJERCICIOS
1. Elabore un algoritmo que lea el nombre de un estudiante y su promedio acumulado de la
carrera. El algoritmo debe imprimir el nombre del estudiante y alguno de los siguientes
mensajes: psimo, malo, regular, bueno o excelente. El estudiante se considera
psimo, si el promedio acumulado es menor o igual que 1; malo, si el promedio es mayor
que 1 y menor que 3; regular, si el promedio es mayor o igual que 3 y menor que 4;
bueno, si el promedio es mayor o igual que 4 y menor que 4.5; y excelente, si el promedio
es mayor o igual que 4.5.
2

Elabore un algoritmo que lea un nmero menor que 32768 y que efecte lo siguiente:
si es mltiplo de 4, imprimir el nmero dividido por 4; si es mltiplo de 5, imprimir la
quinta parte del nmero elevada al cuadrado; si es mltiplo de 7, imprimir el nmero
dividido por 8; y si no es mltiplo de ninguno de los anteriores, imprimir el mensaje
nmero extrao.

3 Elabore un algoritmo que lea: nombre de un empleado, estado civil, edad y salario actual. Para
el empleado ledo determine el nuevo salario con base en las siguientes polticas:
Soltero menor de 30 aos se le aumenta el 10% de su salario actual.
Soltero mayor o igual de 30 aos se le aumenta el 12% de su salario actual.
Casado menor de 25 aos se le aumenta el 12% de su salario actual.
Casado mayor o igual de 25 aos se le aumenta el 15% de su salario actual.
Separado menor de 20 aos se le aumenta el 8% de su salario actual.
Separado mayor o igual de 20 aos se le aumenta el 10% de su salario actual.
Viudo menor de 30 aos se le aumenta el 15% de su salario actual.
Viudo mayor o igual de 30 aos se le aumenta el 12% de su salario actual.
Empleado en unin libre que devengue menos de 1000 pesos se le aumenta el 20% de su
salario actual.
Empleado en unin libre que devengue 1000 pesos o ms se le aumenta el 12% de su
salario actual.
El algoritmo deber determinar el aumento del empleado ledo e imprimir: nombre, estado civil,
edad, salario actual, porcentaje de aumento, aumento y nuevo salario.

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 48

4 La empresa de productos de belleza El acn otorga descuento a sus clientes segn la siguiente
clasificacin: si es mayorista, tiene una antigedad de ms de dos aos y el valor de la compra es
mayor que 2.000.000 de pesos le da un descuento del 25%; si es mayorista, tiene una antigedad
menor o igual a dos aos y el valor de la compra est entre 1.500.000 y 2.000.000 de pesos le da
un descuento del 20%; si es minoritario, tiene una antigedad superior a cinco aos y el valor de
la compra es superior a 2.000.000 de pesos le da un descuento del 18%; si es ocasional y el valor
de la compra es superior a 2.000.000 de pesos le da un descuento de 10%; en cualquier otro caso,
la compaa no da ningn descuento. Elabore un algoritmo que lea la clase de cliente, la
antigedad y el valor de la compra y determine el valor a pagar por la compra.
Los cdigos de clasificacin del cliente son:
1. Mayorista.
2. Minorista.
3. Ocasional.

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 49

5. ESTRUCTURAS REPETITIVAS

http://www.youtube.com/watch?v=0EhP86HvCHk
OBJETIVO GENERAL
Reconocer en un problema cuando se utiliza un ciclo para, un ciclo mientras que, y la
aplicacin de los conceptos de contadores, acumuladores, promedios y porcentajes, adems
la manipulacin del concepto de ciclos anidados y rompimiento de control.
OBJETIVOS ESPECFICOS
Conocer las diferentes instrucciones que se utilizan para que el computador ejecute ms de
una vez cierto conjunto de instrucciones.
Analizar las estructuras repetitivas anidadas y su orden de secuencia dentro del algoritmo.
Identificar la estructura de rompimiento de control y cuando se hace necesario su uso dentro
de un ciclo.

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 50

Prueba Inicial
En los siguientes enunciados seleccione la respuesta correcta
1. Un proceso repetitivo me permite:
a.
b.
c.
d.

Repetir una instruccin ms de una vez


Repetir una instruccin solo una vez
No repetir instrucciones
Repetir una instruccin infinitamente

2. En un ciclo Para se debe conocer:


a.
b.
c.
d.

Lmite inferior
Lmite superior
El incremento
Todas las anteriores

3. En un ciclo Mientras Que se pueden trabajar procesos que pueden ser:


a.
b.
c.
d.

Formato cuantitativo
Formato cualitativo
Formato cuantitativo y cualitativo
Ninguna de las anteriores

5.1. Estructuras Repetitivas


Se puede decir que estos procesos son aquellos en los cuales se repite o se itera un proceso
determinado cierto nmero de veces. Se les llama tambin proceso iterativo o simplemente ciclos.
La construccin de un ciclo se puede hacer de la siguiente manera:
Elaborar el algoritmo pensando solamente en una iteracin.
Luego de tener listo lo anterior hay varias maneras de repetir un proceso las cuales
bsicamente dependen de si se conoce o no el nmero de iteraciones o repeticiones, y segn
esto los ciclos se dividen en: Ciclo automtico o ciclo para; ciclo mientras que.

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 51

5.1.1. Funcionamiento y Componentes de las Diferentes Estructuras Repetitivas


Una estructura repetitiva, o ciclo, est conformada por instrucciones que permiten al
programados instruir la mquina para que se ejecute varias veces un grupo de instrucciones segn
alguna condicin.
Las instrucciones que pertenecen a esta estructura son: PARA, MIENTRAS QUE y HAGA MIENTRAS
QUE.

5.1.2. Ciclo Automtico o Ciclo Para


Estos procesos cclicos se caracterizan por el uso de una variable de iteracin la cual tiene tres
caractersticas: Esta inicializada, controlada e incrementada (en algunos casos disminuye en vez de
incrementar), es decir, tiene lmite inferior, lmite superior e incremento (o decremento).
Estas caractersticas se dan a manera de instrucciones ubicadas espacialmente en el algoritmo en
distintas posiciones, esto es lo que define un ciclo automtico y una manera muy cmoda de
representarlo es agrupando las tres caractersticas de la variable de iteracin en una sola
instruccin, seguida del proceso a iterar y terminando con la instruccin FINPARA.
La instruccin en donde estn agrupadas las 3 caractersticas, se llama el encabezamiento del
ciclo, esquemticamente es:
PARA (I= LINF, LSUP, INC)
Proceso a iterar
FINPARA
En donde I es la variable de iteracin o variable controladora del ciclo, LINF es el lmite inferior o
valor inicial de la variable de iteracin, LSUP es el lmite superior o control de la variable de
iteracin, INC es el valor del incremento.
La instruccin PARA slo se usa cuando se conocen el lmite inferior (LINF) y lmite superior (LSUP)
de la variable controladora del ciclo.
NOTA: En algunos algoritmos, disminuiremos la variable de iteracin en lugar de incrementarla,
para estos algoritmos el esquema es:

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 52

PARA (I= LSUP, LINF, DEC)


Proceso a iterar
FINPARA
En donde empezaremos en el lmite superior (LSUP) y realizaremos el proceso a iterar hasta que
nuestra variable controladora de ciclo (I) llegue al lmite inferior (LINF); disminuyendo la variable
de iteracin como lo indique el decremento (DEC).
Ejemplo: Elaborar un algoritmo que lea edad, estado civil (1: Soltero, 2: Casado), estatura y sexo
(1: Hombre, 2: Mujer) de 500 personas. Calcular e imprimir: Cuantas personas cumplen
simultneamente ser mayor de edad, soltero, hombre y alto (estatura > 1.70), el porcentaje de
esas personas con respecto a total de personas (500) y el promedio de edad y el promedio de
estatura de esas personas.
Solucin:
Datos de entrada: Se debe Leer edad, estatura, estado civil y sexo de 500 personas, notemos que
al leer el campo sexo se debe almacenar en l un numero 1 o un numero 2, si el campo sexo
contiene el nmero 1 se entiende que es un hombre; de lo contrario el nico valor posible es un 2
y se entiende que es una mujer. Este anlisis es vlido para el campo estado civil.
Clculos: Se debe utilizar un ciclo, es decir, una variable de iteracin; Se debe usar un bloque y una
PLC para encontrar aquellas personas que cumplen simultneamente la condicin planteada. Se
deben contar estas personas, lo cual sugiere el uso de un contador y como nos piden calcular
promedios debemos usar un acumulador de edad y un acumulador de estatura, con el contador es
suficiente para calcular los porcentajes requeridos.
Datos de salida: Imprimir el contador, el promedio y el porcentaje. El algoritmo quedara as:
1. ALGORITMO CICLO_PARA
2.
VARIABLES: I, EDAD, EC, EST, SX, CONT, ACUMEDAD, ACUMEST, PROMEDAD, PROMEST,
PORC (TIPO NUMRICO)
3.
INICIO
4.
CONT = 0
5.
ACUMEDAD = 0
6.
ACUMEST = 0
7.
PARA (I=1, 500, 1)
8.
IMPRIMA (Ingrese edad)
9.
LEA (EDAD)
10.
IMPRIMA (Ingrese estado civil)
11.
LEA (EC)
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 53

12.
IMPRIMA (Ingrese estatura)
13.
LEA (EST)
14.
IMPRIMA (Ingrese el sexo: 1.Hombre, 2.Mujer)
15.
LEA (SX)
16.
SI (EDAD>=18) ^ (EC==1) ^ (EST>=1.70) ^ (SX==1)
17.
CONT = CONT + 1
18.
ACUMEDAD = ADUMEDAD + EDAD
19.
ACUMEST = ECUMEST + EST
20.
FINSI
21.
FINPARA
22.
PROMEDAD = ECUMEDAD / CONT
23.
PROMEST = ACUMEST / CONT
24.
PORC = CONT * 100 / 500
25.
IMPRIMA (Personas mayores de edad, soltero, hombre y alto, CONT)
26.
IMPRIMA (Porcentaje, PORC)
27.
IMPRIMA (Promedio de edad, PROMEDAD)
28.
IMPRIMA (Promedio de estatura, PROMEST)
29.
FININICIO
30. FIN
Note que Ia PLC del bloque de decisin es verdadera, si todas las PLS que la conforman son
verdaderas.
(EDAD >= 18) nos garantiza ser mayor de edad cuando es verdadera.
(EC = 1), en donde Ia variable EC contiene el estado civil, si el contenido del campo EC es igual a 1
significa que es soltero.
(SX = 1), en donde la variable SX contiene el Sexo. Si el contenido del campo SX es igual a 1 esta
PLS es verdadera y significa ser hombre.
(Est > 1.70), en donde la variable EST contiene la estatura. Segn el problema si esta PLS es
verdadera es una persona alta.
El campo CONT esta contando las personas que cumplen la condicin buscada, el campo
ACUMEDAD esta sumando las edades de esas personas, el campo ACUMEST esta sumando las
estaturas de esas personas; por ltimo note que los promedios de edad (PROMEDAD), de estatura
(PROMEST) y el porcentaje (PORC) se calculan por fuera del ciclo. Efectuemos una prueba de
escritorio para los siguientes datos (Aunque pudieron ser otros).

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 54

EDAD

EC

SX

EST

18
20
22
22
26

1
1
1
2
1

1
1
1
2
1

1.80
1.60
1.75
1.70
1.80

EDAD EC SX EST

CONT ACUMEDAD ACUMEST

18
20
22
22
26

0
1
1
2
2
3

1
1
1
2
1

1
1
1
2
1

1.80
1.60
1.75
1.70
1.80

0
18
18
40
40
66

0
1.80
1.80
3.55
3.55
5.35

Con los valores de ACUMEDAD, ACUMEST y CONT, calculemos los promedios y el porcentaje:
PROMEDAD = 66/3
=>
PROMEDAD = 22
PROMEST = 5.35/3
=>
PROMEST = 1.78
PORC = 3 * 100/ 5
=>
PORC = 60
Por ltimo se imprime: 3, 22, 1.78,60
Veamos otros ejemplos:
En una empresa se tiene 1000 empleados, por empleado lee la edad. Calcular e imprimir la
cantidad de empleados que tienen edad mayores a 21 aos y menores de 30 aos.
1. ALGORITMO EMPLEADOS
2.
VARIABLES: CONT, C, EDAD (TIPO NUMRICO)
3.
INICIO
4.
CONT = 0
5.
PARA (C = 1, 1000, 1)
6.
IMPRIMA (Ingrese la edad)
7.
LEA (EDAD)
8.
SI (EDAD>21) ^ (EDAD<30)
9.
CONT = CONT + 1
10.
FINSI
11.
FINPARA
12.
IMPRIMA (Personas con edad entre 21 y 30 aos, CONT)
13.
FININICIO
14. FIN
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 55

En el ejemplo anterior se us la estructura cclica automtica o ciclo para y se ha dicho que esta
estructura se utiliza cuando se conoce el nmero de iteraciones, en este caso (1000), el nmero de
iteraciones se ha controlado usando un bloque de decisin en el cual por medio de una PLS se
compara el contenido actual de la variable de iteracin con un valor constante, una manera de
generalizar estos ciclos es comparar el contenido de la variable de iteracin con el contenido de
un campo el cual se ha ledo previamente antes y por fuera del ciclo.
Este campo se conoce con el nombre de REGISTRO IDENTIFICADOR.
El problema anterior es para 1000 personas pero lo podemos generalizar para un nmero N
conocido de personas as:
1. ALGORITMO EMPLEADOS_N
2.
VARIABLES: N, CONT, C, EDAD (TIPO NUMRICO)
3.
INICIO
4.
IMPRIMA (Ingrese el nmero de empleados)
5.
LEA (N)
6.
CONT = 0
7.
PARA ( C = 1, N, 1)
8.
IMPRIMA (Ingrese la edad)
9.
LEA (EDAD)
10.
SI (EDAD>21) ^ (EDAD<30)
11.
CONT = CONT + 1
12.
FINSI
13.
FINPARA
14.
IMPRIMA (Personas con edad entre 21 y 30 aos, CONT)
15.
FININICIO
16. FIN
Note que el ciclo va hasta N iteraciones pero N ha sido ledo previamente, es decir, el ciclo se
puede hacer para 5, 100, 1000, 2000, Personas porque por medio de la lectura se le da el valor al
campo N, se determina cuantas veces quiere repetir el proceso. La variable N se llama registro
identificador.
CICLO MIENTRAS QUE
La forma general de la instruccin MIENTRAS QUE es:
MQ (condicin)
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 56

Instrucciones que se ejecutan mientras que la condicin sea verdadera


FINMQ
La condicin puede ser una expresin relacional o una expresin lgica. En la condicin, por lo
general, se evala el valor de una variable. Esta variable, que se debe modificar en cada iteracin,
es la variable controladora del ciclo.
2

Esquema Cualitativo:
Son estructuras repetitivas que se pueden utilizar cuando no se conoce el nmero de iteraciones a
ejecutar ejemplo cuando se hace una encuesta, el nmero de datos totales a precisar no es
concreto, en este caso es ms precedente usar un ciclo "mientras que", que un ciclo para, otros
ejemplos serian calcular los salarios en una empresa que cambia constantemente el nmero de
trabajadores, o las definitivas de una escuela en donde se pueden retirar alumnos o ingresar
alumnos extemporneamente; estos ciclos tienen las siguientes caractersticas:
El encabezamiento est formado por la frase MIENTRAS_QUE (o de forma abreviada: MQ),
seguida de una proposicin lgica simple o compuesta encerrada entre parntesis. Esta
proposicin deber estar integrada al menos por un campo variable que posibilite la
alteracin de su contenido dentro del ciclo, de manera que el proceso repetitivo se
interrumpa en un momento predeterminado.
El ciclo se ejecuta, si y Slo si, la proposicin lgica es verdadera, cuando se vuelva falsa, se
sale automticamente del ciclo.
EI control de las iteraciones Io tiene el usuario, es decir, el usuario determina cuando quiere
interrumpir la ejecucin del ciclo puesto que bastara dar un valor tal que Ia expresin lgica
se vuelva falsa.
La proposicin Igica se puede formar de dos maneras:
Usando una variable adicional a las variables del programa la cual puede ser un switche o una
variable llamada control.
Usando una de las variables que contienen Ia informacin a procesar (nombre, edad, sexo,
estado civil, etc.), En este caso se dice que el ciclo est controlado por un campo centinela.
En ambos casos (usando un control, un switche o un centinela) se debe hacer Io siguiente:
Leer antes del encabezamiento del ciclo el campo control, el switche o el campo centinela
teniendo en cuenta que el valor asignado sea tal que vuelva verdadera la proposicin Igica si
se quiere entrar al ciclo.
Hacer una segunda lectura del campo (control, switche o centinela) dentro del ciclo y antes
de llegar a Ia Lnea de cierre del mismo teniendo en cuenta que como en ese punto se retorna
al encabezamiento del ciclo, si se quiere iterar nuevamente el valor debe ser tal que la
proposicin lgica se vuelva verdadera; si se quiere salir del ciclo se asignara un valor que la
2

Oviedo Efran
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 57

vuelva falsa, en este sentido es que se dice que el usuario tiene el control del ciclo y del
nmero de iteraciones.
Ejemplo:
Se est realizando una encuesta en la ciudad (no se conoce el nmero de encuestados) se va
elaborando un archivo de datos y por cada registro tenemos: Edad, Estado civil (1: Soltero, 2:
Casado), ingresos mensuales y conforme con el gobierno (1: si, 2: no).
Calcular e imprimir:
a. Qu porcentaje de personas estn de acuerdo con el gobierno.
b. Promedio de edad de las personas inconformes con el gobierno.
c. Cuantas personas conformes con el gobierno, ganan menos de $150.000 mensuales y son
casadas.
d. Promedio de ingresos de todas las personas.
Solucin:
Necesitamos variables para almacenar los datos de entrada:
ED: Para la edad.
EC: Para el estado civil.
ING: Para el ingreso mensual.
CONFGOB: Conforme con el gobierno.
PORCONF: Porcentaje de personas de acuerdo con el gobierno; para este clculo se necesita
contar a todas las personas encuestadas, porque no se conoce cuantas veces se va a procesar la
informacin, si fuera un ciclo para, no habra la necesidad de este conteo porque el total de
iteraciones est determinado por el registro identificador N, para este conteo se usar el contador
llamado CONTOT (Contador total de personas encuestadas), adicionalmente se necesita contar a
las personas que estn de acuerdo con el gobierno y se har con el campo CONCONF.
PORMIN: Promedio de ingresos de todas las personas. Se necesita acumular los ingresos de todos
y se har en el campo acumulador llamado ACUING.
PROMED: Promedio de edad de las personas en contra del gobierno. Se necesita acumular las
edades de estas personas y para ello se usar acumulador ACUMEDAD y contar las personas
inconformes y se har con el contador CNCONF.
CONTCAS: Contador de personas conformes con el gobierno que ganan menos de $150.000 y son
casadas.
Solucin con una variable adicional llamada control:

1. ALGORITMO MQ_CUALITATIVO
2.
VARIABLES: ED, EC, ING, CONFGOB, CONTOT, CONCONF, CNOCONF, CONTCAS, ACUMING,
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 58

ACUMEDAD, PORCONF, PROMIN, PROMED (TIPO NUMRICO)


3.
INICIO
4.
CONTOT = 0
5.
CONCONF = 0
6.
CNOCONF = 0
7.
CONTCAS = 0
8.
ACUMING = 0
9.
ACUMEDAD = 0
10.
IMPRIMA (Ingresar encuesta: 1.Si, 0.No)
11.
LEA (CONTROL)
12.
MQ (CONTROL > 0)
13.
IMPRIMA (Ingrese la edad)
14.
LEA (ED)
15.
IMPRIMA (Ingrese el estado civil)
16.
LEA (EC)
17.
IMPRIMA (Cul es su ingreso mensual)
18.
LEA (ING)
19.
IMPRIMA (Est conforme con el gobierno: 1.Si, 0.No)
20.
LEA (CONFGOB)
21.
CONTOT = CONTOT + 1
22.
ACUMING = ACUMING + ING
23.
SI (CONFGOB==1)
24.
CONCONF = CONCONF + 1
25.
SI (ING<150000) ^ (EC==2)
26.
CONTCAS = CONTCAS + 1
27.
FINSI
28.
SINO
29.
CNOCONF = CNOCONF + 1
30.
ACUMEDAD = ACUMEDAD + ED
31.
FINSI
32.
IMPRIMA(Ingresar otra encuesta: 1.Si, 0.No)
33.
LEA (CONTROL)
34.
FINMQ
35.
PORCONF = CONCONF * 100 / CONTOT
36.
PROMIN = ACUMING / CONTOT
37.
PROMED = ACUMEDAD / CNOCONF
38.
IMPRIMA (Porcentaje de personas conformes con el gobierno, PORCONF)
39.
IMPRIMA (Promedio de edad de las personas inconformes con el gobierno,
PROMED)
40.
IMPRIMA (Personas conformes con el gobierno, casadas que ganan menos de
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 59

$150.000 mensuales, CONTCAS)


41.
IMPRIMA (Promedio de ingresos de todas las personas, PROMIN)
42.
FININICIO
43. FIN
En la solucin anterior se uso una variable adicional que se llama control, su contenido se lee antes
del ciclo y el encabezamiento se construy con la PLS control > 0, aunque se debe aclarar que
pudo haber sido cualquier otra, esto significa que para poder entrar al ciclo se le debe dar el
control al valor positivo (usted pudo construir otra PLS como por ejemplo: Control < 0, control = 0,
control <> 1, control < 10, etc., la que se quiera pero teniendo en cuenta que al leer control, el
valor asignado debe ser tal que la PLS sea verdadera). Adems el control se vuelve a leer antes de
retornar al encabezamiento del ciclo y si se quiere volver a iterar el valor ledo debe ser tal que la
PLS sea verdadera.
Por lo general la manera ms usada de formar un ciclo mientras que, es usando variables centinela
porque en un programa el uso de menos variables lo hace ms ptimo, sin embargo, se presentan
las otras dos opciones con el fin que se escoja la que ms cmoda le parezca.

5.1.3. Esquema Cuantitativo


El esquema cuantitativo es utilizado cuando se conoce el nmero de veces que debe repetirse un
ciclo determinado, antes de activarse la estructura repetitiva.
El nmero de iteraciones o cantidad de registro puede ser un valor constante o, generalmente,
una variable de entrada cuyo valor es proporcionado al algoritmo antes de activarse el ciclo. Para
explicar este esquema se realizar el siguiente ejemplo:
Hacer un algoritmo que encuentre la suma de los primeros N nmeros naturales.
Anlisis:
Datos de entrada: La cantidad de nmeros a tener en cuenta en la suma
Clculos: Primero se debe conocer la cantidad de nmeros naturales a sumar y luego generar y
sumar la cantidad de nmeros comprendidos entre 1 y esa cantidad.
Datos de salida: La suma de los primeros N nmeros naturales.
Definicin de Variables:
N: Cantidad de nmeros naturales a sumar
NUM: Contador que genera los nmeros entre 1 y N y que a su vez controla el ciclo.
SUMA: Suma de los nmeros entre 1 y N
1. ALGORITMO MQ_CUANTITATIVO
2.
VARIABLES: N, SUMA, NUM (TIPO NUMRICO)
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 60

3.
INICIO
4.
SUMA = 0
5.
NUM = 1
6.
IMPRIMA (Ingrese cuntos nmeros desea sumar)
7.
LEA (N)
8.
MQ (NUM <= N)
9.
SUMA = SUMA + NUM
10.
NUM = NUM + 1
11.
FINMQ
12.
IMPRIMA (La suma desde 1 hasta, N, es, SUMA)
13.
FININICIO
14. FIN
Prueba de escritorio:
Si el valor de N es 7.
N

NUM

SUMA

10

15

21

28

Salida: La suma es: 28

5.1.3.1 Uso del Mq Teniendo un Archivo ya Creado


Para elaborar un algoritmo con ciclos con el fin de determinar el aumento y el nuevo salario de
todos los empleados de una empresa, primero debemos definir cmo entrar los datos al
algoritmo. Una forma es a travs del teclado y otra es leyendo los datos de cada empleado desde
un archivo previamente almacenado en el computador.
Elaboremos un algoritmo leyendo los datos desde un archivo.

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 61

Como habamos visto, un archivo es una coleccin de registros, en la cual en cada registro se
almacenan los datos correspondientes a un empleado.
Cuando se procesa un archivo, el computador debe identificar el nombre del archivo y cundo
termin de procesar el archivo. Para identificar esta segunda situacin, cada archivo tiene al final
un registro especial que indica que ya no hay ms registros. Este registro especial contiene lo que
se conoce como marca de fin de archivo. Llamaremos a esta marca EOF, de las iniciales de las
palabras en ingls End Of File (fin de archivo).
Por ejemplo, un archivo con cinco registros llamado nmina, en el cual cada registro contiene el
nombre y el salario actual de un empleado, tiene la siguiente conformacin:
Archivo nmina
N de registro

Nombre

Salario actual

1
2
3
4
5
6

Sara
Pedro
Mara
Juan
Elena
EOF

2000
3000
1500
500
2800

Cuando se est procesando un archivo y se ejecuta la instruccin de lectura LEA, la mquina lee los
datos de un registro y se posiciona para leer los datos del siguiente registro. Por consiguiente, para
procesar el anterior archivo debemos ejecutar la instruccin LEA cinco veces.
Adems, para procesar un archivo necesitamos ponerlo a disposicin del programa que lo va a
procesar. Esto se logra con la instruccin ABRA (nombre del archivo). Tambin incluiremos una
pequea modificacin en la instruccin de lectura para sealas cul es el archivo que se va a leer, y
una instruccin que cierre el archivo cuando se termina de procesar. La instruccin que
utilizaremos para cerrar un archivo ser: CIERRE (nombre del archivo).
La instruccin de lectura queda:
LEA (nombre del archivo: lista de variables, separadas por comas)
Considerando estas caractersticas, nuestro algoritmo queda:
1. ALGORITMO AUMENTO_EN_ARCHIVO
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 62

2.
VARIABLES: sa, au, ns (NUMRICAS)
3.
nom (CARACTERES)
4.
INICIO
5.
ABRA (nmina)
6.
MQ (!= EOF(nmina))
7.
IMPRIMA (Ingrese nombre y salario actual)
8.
LEA (nmina: nom, sa)
9.
au = 0
10.
SI (sa < 1000)
11.
au = sa * 0.1
12.
FINSI
13.
ns = sa + au
14.
IMPRIMA (Nombre:, nom)
15.
IMPRIMA (Salario actual:, sa)
16.
IMPRIMA (Aumento:, au)
17.
IMPRIMA (Nuevo salario:, ns)
18.
FINMQ
19.
CIERRE (nmina)
20.
FININICIO
21. FIN
Al ejecutar la instruccin 5, el dispositivo de lectura se posiciona para leer el primer registro del
archivo nmina.
La instruccin 6 pregunta si el registro disponible para ser ledo tiene la marca de fin de archivo; de
ser as, la ejecucin continuar en la instruccin 19.
Si el registro disponible para ser ledo no es la marca de fin de archivo, la ejecucin contina con la
instruccin 7.
La instruccin 8 lee nombre y salario, y los almacena en las variables nom y sa, respectivamente:
en la variable nom queda almacenado Sara y en la variable sa queda almacenado 2000.
Adems de cargar las variables nom y sa con los datos ledos, la instruccin de lectura deja
posicionado el dispositivo de lectura para que lea el siguiente registro.
En la instruccin 9, se le asigna 0 al aumento.

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 63

La instruccin 10 compara el salario ledo con 1000. Si el salario ledo es menor que 1000 ejecuta
la instruccin 11, la cual calcula el aumento como el diez por ciento del salario ledo (au = sa * 0.1).
Si el salario ledo no es menor que 1000, el aumento se queda en cero.
En la instruccin 13 se calcula el nuevo salario, y en las instrucciones 14 a 17 se imprimen el
nombre del empleado, el salario actual, el aumento y el nuevo salario.
La instruccin 18, que es el fin de la instruccin MIENTRAS QUE (MQ), hace que el algoritmo
retorne a la instruccin 6 en la cual va a controlar que el registro para leer no tenga la marca de fin
de archivo.
Al ejecutar por segunda vez la instruccin LEA, las variables nom y sa quedan con los datos Pedro y
3000, respectivamente.
Nuevamente se le asigna cero al valor del aumento, ya que si no hiciramos esto en la variable au
quedar el aumento que se le hizo al anterior empleado.
Al procesar el archivo nmina en su totalidad, los resultados obtenidos sern:
nom

sa

au

ns

Sara
Pedro
Mara
Juan
Elena

2000
3000
1500
500
2800

0
0
0
50
0

2000
3000
1500
550
2800

5.1.3.2 Ciclo Haga Mientras Que


Esta instruccin de ciclo tiene la caracterstica de que se ejecuta mnimo una vez, ya que la
condicin se evala despus de que se han ejecutado las instrucciones del ciclo.
La forma general de la instruccin HAGA MIENTRAS QUE es:
HAGA
Instrucciones que se ejecutan mientras la condicin sea verdadera
MQ (Condicin)

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 64

Cuando se elaboran algoritmos es necesario, en algunas ocasiones, poder ejecutar primero las
instrucciones correspondientes a un ciclo y luego evaluar las condiciones que determinan si se
vuelven a ejecutar las instrucciones del ciclo. Una de las situaciones en las que es pertinente
utilizar la instruccin HAGA MIENTRAS QUE es la elaboracin de un men, en el cual el usuario
debe elegir una opcin, ya que primero se deben presentar las posibles opciones para que el
usuario escoja una, y luego evaluar la escogencia del usuario.
Ejemplo:
Elaborar un algoritmo que presente un men en pantalla con las siguientes opciones:
1. Leer nmero.
2. Calcular factorial.
3. Determinar si es par.
4. Terminar.
El usuario elige una opcin y el programa opera de acuerdo a la opcin que l eligi.
Veamos cmo es el algoritmo:
1. ALGORITMO MEN (1)
2.
VARIABLES: n, f, i, op (TIPO NUMRICAS)
3.
INICIO
4.
HAGA
5.
IMPRIMA (Elija una opcin del Men:)
6.
IMPRIMA (1. Leer nmero)
7.
IMPRIMA (2. Calcular factorial)
8.
IMPRIMA (3. Determinar si es par)
9.
IMPRIMA (4. Terminar)
10.
LEA (op)
11.
CASOS
12.
CASO (op == 1)
13.
LEA (n)
14.
SALTO
15.
CASO (op == 2)
16.
f=1
17.
PARA (i= 1, n, 1)
18.
f=f*i
19.
FINPARA
20.
IMPRIMA (f, es el factorial de, n)
21.
SALTO
22.
CASO (op == 3)
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 65

23.
SI ((n % 2) == 0)
24.
IMPRIMA (n, es par)
25.
SINO
26.
IMPRIMA (n, es impar)
27.
FINSI
28.
SALTO
29.
CASO (op == 4)
30.
SALTO
31.
OTRO_CASO
32.
IMPRIMA (Elija una opcin vlida)
33.
SALTO
34.
FINCASOS
35.
MQ (op != 4)
36.
FININICIO
37. FIN
En la instruccin 2, definimos las variables con las que vamos a trabajar: n el nmero ledo, f para
almacenar el factorial, i para efectuar las operaciones de clculo del factorial y op para almacenar
la opcin elegida por el usuario.
En la instruccin 4, hemos colocado la instruccin HAGA, la cual significa que todas las
instrucciones que hay desde la instruccin 5 hasta la 34 se van a repetir mientras la condicin
escrita en la instruccin 35 sea verdadera, es decir, mientras que la opcin (op) sea diferente de 4.
En las instrucciones 5 a 9, escribimos los mensajes de las diferentes opciones que tiene el usuario.
En la instruccin 10, se lee la opcin elegida por el usuario y se almacena en la variable op.
En la instruccin 11, planteamos la instruccin CASOS, ya que necesitamos comparar el contenido
de la variable op con varios valores: si op vale 1, simplemente se leer un valor para n; si op vale 2,
se calcula el factorial de n y se imprime dicho resultado; si op vale 3, averiguamos si n es par e
imprimimos el mensaje adecuado; si op vale 4, simplemente instruimos a la mquina para que no
ejecute ninguna operacin y vaya a la instruccin 35 para evaluar la condicin de terminacin del
ciclo; y finalmente, si el valor de op no es ninguno de los anteriores, imprimimos el mensaje de
que la opcin elegida por el usuario no es vlida. En las instrucciones correspondientes a cada una
de las operaciones hemos colocado la instruccin SALTO, la cual hace que vaya a la instruccin 35
para evaluar la condicin del ciclo.
En la instruccin 35, se evala la condicin. Si op vale 4, la condicin es falsa y la ejecucin
contina en la instruccin 36; cualquier otro valor diferente de 4 significa que la condicin es
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 66

verdadera y por consiguiente regresa a la instruccin 4 para volver a ejecutar las instrucciones del
ciclo.
Conversin de la instruccin HAGA MIENTRAS QUE en instruccin MIENTRAS QUE
En general, cualquier ciclo elaborado con la instruccin HAGA MIENTRAS QUE se puede construir
usando la instruccin MIENTRAS QUE, aunque para ello se necesita una variable adicional.
Llamaremos a esta variable adicional sw, con la cual controlaremos el ciclo MIENTRAS QUE.
Inicialmente a esta variable le asignamos el valor de cero y planteamos el ciclo MIENTRAS QUE
para que se ejecute mientras sw sea igual a cero. El valor del sw slo lo pondremos en 1 cuando la
opcin elegida por el usuario sea 4.
Veamos cmo queda nuestro algoritmo utilizando la instruccin MIENTRAS QUE en lugar de
utilizar la instruccin HAGA MIENTRAS QUE:
1. ALGORITMO MEN (2)
2.
VARIABLES: n, f, i, op, sw (TIPO NUMRICAS)
3.
INICIO
4.
sw = 0
5.
MQ (sw == 0)
6.
IMPRIMA (Elija una opcin del Men:)
7.
IMPRIMA (1. Leer nmero)
8.
IMPRIMA (2. Calcular factorial)
9.
IMPRIMA (3. Determinar si es par)
10.
IMPRIMA (4. Terminar)
11.
LEA (op)
12.
CASOS
13.
CASO (op == 1)
14.
LEA (n)
15.
SALTO
16.
CASO (op == 2)
17.
f=1
18.
PARA (i= 1, n, 1)
19.
f=f*i
20.
FINPARA
21.
IMPRIMA (f, es el factorial de, n)
22.
SALTO
23.
CASO (op == 3)
24.
SI ((n % 2) == 0)
25.
IMPRIMA (n, es par)
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 67

26.
SINO
27.
IMPRIMA (n, es impar)
28.
FINSI
29.
SALTO
30.
CASO (op == 4)
31.
sw = 1
32.
SALTO
33.
OTRO_CASO
34.
IMPRIMA (Elija una opcin vlida)
35.
SALTO
36.
FINCASOS
37.
FINMQ
38.
FININICIO
39. FIN

EJERCICIOS
1. Elabore un algoritmo que lea 200 nmeros enteros y calcule e imprima: Cuntos son
positivos, cuntos son negativos y cuntos son iguales a cero.
2. Elaborar un algoritmo que lea el salario neto de 2000 trabajadores y calcule e imprima: el
promedio de salarios y el porcentaje de aquellos trabajadores que ganen ms del salario
mnimo vigente, el promedio de salarios y el porcentaje de aquellos trabajadores que
ganen menos del salario mnimo vigente.
3. Elaborar un algoritmo que lea el carn, nombre, edad, sexo (1: Hombre, 2: Mujer),
programa (1: Programacin, 2: Contadura, 3: Gestin administrativa, 4: Secretariado, 5:
Electrnica) para un nmero N conocido de personas. Calcular e imprimir:
a. Cuntas personas estudian en cada uno de los distintos programas.
b. Cuntas mujeres, mayores de edad, estudian secretariado.
c. Promedio de edad de los hombres que estudian programacin.
d. Cuntas mujeres, mayores de edad, estudiantes de gestin administrativa se llaman
LAURA.
e. Porcentaje de estudiantes mujeres de electrnica.
4. Elabore un algoritmo que lea un nmero N y que genere e imprima todos los nmeros
primos desde 1 hasta N.
5. Elabore un algoritmo que lea dos enteros positivos m y n, y que calcule e imprima el
resultado de multiplicar m por n utilizando nicamente la operacin de suma.

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 68

6. Elabore un algoritmo que lea dos enteros positivos m y n, y que calcule e imprima el
resultado de elevar m a la potencia n utilizando nicamente la operacin de suma.
7. Elabore un algoritmo que imprima los enteros desde 1 hasta N de la siguiente manera:
1 22 333 4444 55555
8. Una empresa utiliza la siguiente frmula para calcular el sueldo de sus empleados:
Sueldo=(100+edad+(1+2+3++aos en la compaa))/aos en la compaa
Elabore un algoritmo que permita imprimir el sueldo y el nombre de cada uno de los 40
empleados de la compaa, as como el total acumulado de sueldos y el nombre del empleado
que gana ms y del que gana menos.
9. Una empresa cuenta con X empleados. Se tiene un archivo de datos y por cada registro se
tiene: nombre, sexo (1: Hombre, 2: Mujer), edad, estado civil (1: Soltero, 2: Casado) y
cargo (1: Obrero, 2: Secretaria, 3: Supervisor). Calcular e imprimir:
a. Cuntas secretarias se llaman Mara.
b. Cuntas secretarias se llaman Mara y son solteras.
c. Cuntas secretarias se llaman Mara y son solteras menores de 25 aos.
d. Promedio de edad de los supervisores casados.
e. Cuntos obreros son hombres.
f. Determine si hay al menos un hombre obrero llamado Juan.
Elabore la prueba de escritorio para el siguiente archivo de datos:

NOMBRE

SEXO

EDAD

ESTADO
CIVIL

CARGO

10

MARA
CARLOS
JOHN
JOS
CLAUDIA
MARA
JUAN
JORGE
ELAS
MARA

2
1
1
1
2
2
1
1
1
2

18
24
22
26
25
20
19
25
30
28

1
2
2
1
2
2
1
2
1
2

2
3
3
1
1
2
1
3
1
2

10. Se tiene un archivo de datos con un nmero desconocido de registros, por registro se
tiene: edad, estado civil (1: Soltero, 2: Casado), nivel de estudio (1: Primaria, 2:
Secundaria, 3: Universidad) y seccin del peridico que prefiere (1: Internacional, 2: Local,
3: Econmica, 4: Cultural). Elaborar un algoritmo que calcule e imprima:
a. Promedio de edad de los que prefieren la seccin internacional.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 69

b. Porcentaje que representan los que prefieren la seccin social.


c. Porcentaje de los casados que prefieren la seccin econmica.
d. Cuntos universitarios prefieren la seccin cultural.

5.2. Estructuras Repetitivas Anidadas


Los ciclos anidados o nido de ciclos ocurren cuando dentro de un ciclo existe otro u otros ciclos. En
estos casos el ciclo ms interno se activa tantas veces como el ciclo externo permita entrar en el
grupo de instrucciones.
Veamos que hace el siguiente algoritmo:
1. ALGORITMO CICLOS_ANIDADOS
2.
VARIABLES: I, J (TIPO NUMRICO)
3.
INICIO
4.
PARA (I=1, 3, 1)
5.
PARA (J=5, 7, 1)
6.
IMPRIMA (I, J)
7.
FINPARA
8.
FINPARA
9.
FININICIO
10. FIN
Note que la variable I toma los valores 1, 2 y 3, por cada uno de estos valores la Variable J toma los
valores 5, 6 y 7, es decir que el ciclo interno se activa 3 veces.
Veamos el seguimiento:

I
1
1
1

J
5
6
7

SE IMPRIME
1
5
1
6
1
7

AI terminar las iteraciones del ciclo interno (el de la J), se retorna nuevamente al ciclo externo (el
de la I) y la variable de iteracin I toma el valor de dos (I = 2) lo cual obliga a entrar nuevamente al
ciclo anidado (la I no ha terminado sus iteraciones) y esto implica que la variable J inicie
nuevamente desde el comenz, es decir, desde el valor de cinco.

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 70

El proceso se repite nuevamente, se sale del ciclo interno al ciclo externo y la variable I toma su
ltimo valor que es tres y se efecta la ltima iteracin, esto es:
I

J
2
2
2
3
3
3

5
6
7
5
6
7

SE IMPRIME
2
2
2
3
3
3

5
6
7
5
6
7

En este momento se sale del ciclo de la J y se procede a incrementar la I, pero cuando esta ya
tom todos sus valores. Se sigue con la instruccin siguiente a este ciclo (el de Ia I) que es
Terminar el proceso.
Ntese que por cada valor del ciclo ms externo, el ciclo interno toma todos sus valores.
Ejemplo 1: Elaborar un algoritmo que imprima las tablas de multiplicar del 1 al 10, se debe
imprimir el multiplicando, el multiplicador y el producto.
Anlisis:
5

Multiplicando

1*1=1
1*2=2
1*3=3

1*9=9
1 * 10 = 10

20

Multiplicador

2*1=2
2*2=4
2*3=6

2 * 9 = 18
2 * 10 = 2O
...

...
...
...

9*1=9
9 * 2 = 18
9 * 3 = 27

Producto

10 * 1 = 1O
10 * 2 = 2O
10 * 3 = 3O

...
9 * 9 = 81
10 * 9 = 9O
9 * 10 = 9O
10 * 10 = 100

Ntese que el multiplicando toma valores del 1 al 10, lo mismo que el multiplicador, pero el
multiplicando permanece en un valor mientras que el multiplicador toma todos sus valores, Io que
lleva a un nido de ciclos de los cuales el ms externo generar el multiplicando y el mas interno el
multiplicador.
Definicin de Variables:
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 71

I: ndice del ciclo que generar el multiplicando


J: ndice del ciclo que generar el multiplicador
PROD: Producto del multiplicando y el multiplicador
1. ALGORITMO MULTIPLICACION
2.
VARIABLES: I, J, PROD
3.
INICIO
4.
PARA (I= 1, 10, 1)
5.
PARA (J= 1, 10, 1)
6.
PROD = I * J
7.
IMPRIMA (I, *, J, =, PROD)
8.
FINPARA
9.
FINPARA
10.
FININICIO
11. FIN
Ejemplo 2: Elaborar un algoritmo que imprima la siguiente serie de nmeros:
5 - 1 - 10
5 - 1 - 20
5 - 3 - 10
5 - 3 - 20
6 - 1 - 10
6 - 1 - 20
6 - 3 - 10
6 - 3 - 20
Anlisis:
Aqu se encuentran tres variables distintas, la primera toma valores de 5 y 6, la segunda de 1 y 3, y
la tercera de 10 y 20.
Por simple inspeccin el ciclo ms externo ser el que genere el 5 y el 6 (no cambia de valores
mientras los otros si); luego ir el ciclo que genere el 1 y el 3 (no cambia mientras el ltimo s) y
por ltimo, el ms interno, ser el que genere el 10 y el 20.
Definicin de Variables:
K: ndice del ciclo que generar el 5 y el 6
M: ndice del ciclo que generar el 1 y el 3
N: ndice del ciclo que generar el 10 y el 20
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 72

1. ALGORITMO SERIE
2.
VARIABLES: K, M, N (TIPO NUMRICO)
3.
INICIO
4.
PARA (K= 5, 6, 1)
5.
PARA (M= 1, 3, 2)
6.
PARA (N= 10, 20, 10)
7.
IMPRIMA (K, M, N)
8.
FINPARA
9.
FINPARA
10.
FINPARA
11.
FININICIO
12. FIN
Ejemplo 3:
Una empresa produce canecas, para ello cuenta con una mquina que produce Ios discos de la
parte inferior y otra que produce los cilindros de los lados. La mquina que produce los discos
inferiores puede elaborarlos de 5 tamaos diferentes con radios de 30, 40, 50, 60 y 70 cms. La que
produce los cilindros los puede hacer de alturas de 45, 60, 75, 90 cms.
Elabore un algoritmo que encuentre e imprima todos los posibles Volmenes de las canecas que
puede producir la empresa.
Anlisis:
Es un nido de ciclos, ya que por cada tipo de discos de la base se tienen diferentes alturas de
cilindros.
Volumen = rea de la Base * Altura
rea de la base = 3.1416 * R ** 2
Definicin de Variables:
R = ndice del ciclo que generar los radios
A = ndice del ciclo que generar las alturas de los cilindros
REA = Campo variable que contendr las reas de los discos
VOL = Campo variable que contendr los volmenes

1. ALGORITMO CANECAS
2.
VARIABLES: R, AREA, A, VOL
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 73

3.
INICIO
4.
PARA (R= 30, 70, 10)
5.
AREA = 3.1416 * (R ^2)
6.
PARA (A= 45, 90, 15)
7.
VOL = REA * A
8.
IMPRIMA (Volumen, VOL)
9.
FINPARA
10.
FINPARA
11.
FININICIO
12. FIN
EJERCICIOS
Un almacn cuenta con 5 vendedores, cada vendedor vende 4 tipos de artculos, al final de la
semana por cada vendedor y por cada artculo se elabora un registro con la siguiente informacin
Cdigo del vendedor.
Cdigo del artculo.
Valor por unidad.
Nmero de unidades vendidas.
Elabore un algoritmo que imprima cunto vendi cada vendedor, y el total vendido por el
almacn.
NOTA: Los registros se disponen de la siguiente forma:
Las cuatro primeras corresponden al primer vendedor, las cuatro siguientes al segundo vendedor,
y as sucesivamente.
Elaborar un algoritmo que genera e imprima un calendario, partiendo de este ao. La impresin
debe hacerse as:
Ao, mes, da, hora, minutos, segundos.
Debe tenerse en cuenta que hay meses con diferentes das y que hay aos bisiestos.
En un edificio se quiere sistematizar la deuda de sus habitantes. El edificio tiene 35 pisos, por
cada piso se lee para cada apartamento la deuda de cada persona, no se conoce el nmero de
apartamentos ni el nmero de deudores por apartamento. Deber existir una posibilidad de que
hallan personas que no deban. Elaborar un algoritmo que calcule e imprima:
Si la deuda no existe, un mensaje que diga Persona no deudora.
Si la deuda existe, la deuda del piso y la deuda total del edificio.
Promedio de deuda por piso.
Promedio de deuda total del edificio.
Elaborar un algoritmo que genere e imprima el siguiente grupo de nmeros:
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 74

1,
1,
1,
1,
2,
2,
2,
2,
3,
3,
3,
3,

1,
4,
9,
16,
1,
4,
9,
16,
1,
4,
9,
16,

1
1
1
1
1
1
1
1
1
1
1
1

5.3. Estructura de Rompimiento de Control


Ciertas veces cuando se tiene un proceso establecido (ciclo), se necesita ejecutar una o varias
instrucciones que estn por fuera del ciclo, se dice que esto es un rompimiento de control y se
implementa mediante un enunciado de decisin.
Ejemplo 1:
En un almacn cada que un vendedor realiza una venta, se elabora un registro con el cdigo del
vendedor y la suma por la cual se realiz la venta; al final de la semana se clasifican estos registros
por el cdigo del vendedor o sea que los registros correspondientes a un vendedor se colocan
juntos, luego las del otro vendedor y as sucesivamente.
No se conoce el nmero de ventas de cada vendedor. A cada vendedor le corresponde el 2.5% de
las ventas que realizo.
Elabore un algoritmo que imprima el cdigo de cada vendedor y lo que se le debe pagar, tambin
se debe imprimir el total vendido por el almacn.
Anlisis:
Para procesar estos registros se necesita un nido de ciclos, pero como no se conoce el nmero de
registros debemos utilizar ciclos mientras. Se necesita una suma parcial por cada vendedor, el cual
se debe inicializar en cero cada vez que cambie el cdigo del vendedor.
Definicin de Variables:
Cod = Contendr el cdigo de los vendedores
Datos de entrada:
Vta = Contendr el valor de la venta
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 75

SUMTOL = Suma total de las ventas


SUMVEN = Suma de las ventas de cada vendedor
PAGO = Lo que se debe pagar a cada vendedor
CODACT = Cdigo actual, cuando Codact sea diferente de Cod implica que acabaron los registros
correspondientes a un vendedor, por lo tanto se debe calcular el pago.
1. ALGORITMO VENTAS
2.
VARIABLES: SUMTOT, COD, VTA, CODACT, SUMVEN, PAGO (TIPO NUMRICO)
3.
INICIO
4.
SUMTOT = 0
5.
IMPRIMA (Ingrese el cdigo del vendedor (Ingrese 0 para salir))
6.
LEA (COD)
7.
IMPRIMA (Ingrese la venta)
8.
LEA (VTA)
9.
MQ (COD<> 0)
10.
CODACT= COD
11.
SUMVEN=0
12.
MQ (COD == CODACT)
13.
SUMVEN = SUMVEN + VTA
14.
IMPRIMA (Ingrese el cdigo del vendedor (Ingrese 0 para salir))
15.
LEA (COD)
16.
IMPRIMA (Ingrese la venta)
17.
LEA (VTA)
18.
FINMQ
19.
PAGO = SUMVEN * 2.5 / 100
20.
IMPRIMA (Al vendedor, CODACT, se le pagar, PAGO)
21.
SUMTOT = SUMTOT + SUMVEN
22.
FINMQ
23.
IMPRIMA (Total en ventas, SUMTOT)
24.
FININICIO
25. FIN
Ejemplo 2:
En una entidad educativa por cada estudiante se elabor un registro con:
Cdigo del Grupo.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 76

Nombre del Estudiante.


Edad del Estudiante.
Estatura del Estudiante.
Los registros estn ordenados por Grupo, no se conoce el nmero de registros. Elabore un
algoritmo que imprima los cdigos de los grupos y su respectivo promedio de edad. Adems se
debe imprimir el nombre dela persona ms alta del grupo y su estatura.
Anlisis:
Este es un ejercicio de rompimiento de control ya que cada que cambie el cdigo del saln se debe
calcular el promedio de edad e imprimirlo.
Definicin de Variables:

Datos de
entrada:

Codgru = Contendr el cdigo del grupo


Nom = Contendr el nombre de los estudiantes
Ed = Contendr la edad de los estudiantes
Est = Contendr la estatura de tos estudiantes

Sumed = Acumulador, contendr la suma de las edades de las edades de los grupos
Cgru = Contador de los estudiantes de cada grupo
Promed = Promedio de Edad de cada grupo
Mayest = Contendr la mayor estatura del colegio
Nommay = Contendr el nombre de la persona ms alta
Codact = Contendr el cdigo del Grupo con que se est trabajando, cuando el cdigo ledo sea
diferente a este, se habr cambiado de grupo.
1. ALGORITMO ENTIDAD_EDUCATIVA
2.
VARIABLES: CODGRU, ED, EST, CODACT, MAYEST, NOMMAY, SUMED, CGRU, PROMED
(TIPO NUMRICO)
3.
NOM (TIPO CARACTER)
4.
INICIO
5.
IMPRIMA (Ingrese el cdigo del grupo)
6.
LEA (CODGRU)
7.
IMPRIMA (Ingrese el nombre del estudiante)
8.
LEA (NOM)
9.
IMPRIMA (Ingrese la edad del estudiante)
10.
LEA (ED)
11.
IMPRIMA (Ingrese la estatura del estudiante)
12.
LEA (EST)
13.
MQ (ED <> -1)
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 77

14.
CODACT = CODGRU
15.
MAYEST=0; SUMED=0; CGRU=0
16.
MQ (CODACT == CODGRU)
17.
CGRU = CGRU + 1
18.
SUMEDA = SUMED + ED
19.
SI (EST > MAYEST)
20.
MAYEST = EST
21.
NOMMAY = NOM
22.
FINSI
23.
IMPRIMA (Ingrese el cdigo del grupo)
24.
LEA (CODGRU)
25.
IMPRIMA (Ingrese el nombre del estudiante)
26.
LEA (NOM)
27.
IMPRIMA (Ingrese la edad del estudiante)
28.
LEA (ED)
29.
IMPRIMA (Ingrese la estatura del estudiante)
30.
LEA (EST)
31.
FINMQ
32.
PROMED = SUMED / CGRU
33.
IMPRIMA (Cdigo del grupo, CODACT, Promedio, PROMED)
34.
FINMQ
35.
IMPRIMA (Persona ms alta del colegio:, NOMMAY, mide, MAYEST)
36.
FININICIO
37. FIN
EJERCICIOS
1. Elaborar un algoritmo que produzca un reporte con los sueldos de una compaa, dando
subtotales por sucursal y total general de todas las sucursales, sabiendo que se lee por
registro:
Cdigo del empleado.
Cdigo de la sucursal.
Sueldo mensual.
La informacin est ordenada por sucursales. No se conoce el nmero de empleados. Se debe
imprimir:
Cdigo de la sucursal y total pagado en esa sucursal.
Total pagado por la empresa.

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 78

5.4. Pistas de Aprendizaje


Recuerde que una divisin de un nmero entero por otro entero da como
resultado un nmero entero.
Recuerde que una divisin de un nmero real por un nmero entero da
como resultado un nmero real.
Recuerde que una divisin de un nmero real por otro real da como
resultado un nmero real.
Tenga en cuenta que, en una expresin de computador, debe escribir una
raz en forma de potencia. Por ejemplo la raz cuadrada de 9 sera:
9 ^ (1/2)
No olvide que un contador es una variable que se utiliza, como su nombre
lo indica, para contar las ocurrencias de algn evento. Esta se debe
inicializar en 0 y se debe incrementar en 1 antes de cerrar el ciclo.
No olvide que un acumulador es una variable que se encarga de guardar el
total de realizar una operacin entre la variable acumulador y la variable a
acumular; y esta debe inicializarse en 0 antes de iniciar el ciclo. Por
ejemplo se quiere saber el salario total de una empresa:
totsal = 0
PARA (i = 1, n, 1)
LEA (sal)
totsal = totsal + sal
FINPARA
IMPRIMA (totsal)
Recuerde que un promedio es el resultado de dividir un acumulador entre
un contador. Por ejemplo un promedio de edades:
ac = 0
cont = 0
sw = 1
MQ (sw == 1)
cont = cont + 1
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 79

LEA (edad)
ac = ac + edad
LEA (sw)
FINMQ
prom = ac / cont
IMPRIMA (prom)
Recuerde que un porcentaje es el resultado de multiplicar un contador
especfico por cien y dividirlo por un contador general. Por ejemplo
calcular el porcentaje de personas mayores de edad:
contgen = 0
contesp = 0
sw = 1
MQ (sw == 1)
contgen = contgen + 1
LEA (edad)
SI (edad >= 18)
contesp =contesp + 1
FINSI
LEA (sw)
FINMQ
porc = contesp * 100 / contgen
IMPRIMA (porc)
Recuerde que los contadores y acumuladores deben inicializarse en 0 y
deben incrementar dentro del ciclo.
Recuerde que los promedios y porcentajes se deben calcular por fuera del
ciclo.

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 80

5.5. Glosario
Algoritmo. Lista de instrucciones para resolver un problema abstracto, es decir, que un nmero finito de
pasos convierten los datos de un problema (entrada) en una solucin (salida).
Aplicacin. Es un programa informtico diseado como herramienta para permitir a un usuario realizar uno
o diversos tipos de trabajo.
Booleano. Es un tipo de dato lgico que puede representar valores de lgica binaria; es decir, valores que
representen falso o verdadero.
Ciclo o bucle. Es una instruccin que se ejecuta repetidas veces dentro de un algoritmo, hasta que la
condicin asignada a dicho ciclo deje de cumplirse.
Condicin. Es una instruccin o grupo de instrucciones que determinan si se realizar la siguiente
instruccin o no.
Decremento. Es una disminucin que se le realiza a una determinada variable.
Factorial. Se llama factorial de n al producto de todos los nmeros naturales desde 1 hasta n.
Incremento. Es el aumento que sufre una determinada variable.
Instruccin. Es un conjunto de datos insertados en una secuencia estructurada o especfica que el
procesador interpreta y ejecuta.
Iteracin. Es la repeticin de una serie de instrucciones dentro de un algoritmo.
Lmite inferior. Es el mximo valor que puede tomar una variable dentro de un ciclo PARA.
Lmite superior. Es el mnimo valor que puede tomar una variable dentro de un ciclo PARA.
Secuencia. Es una serie de pasos lgicos que tienen coherencia y un orden determinado.
Switch o switche. Generalmente, se utiliza en la condicin de un ciclo MIENTRAS QUE o de un ciclo HAGA
MIENTRAS QUE. Si la condicin se cumple, se ejecutan las instrucciones que hay dentro de dicho ciclo; de lo
contrario, salta hasta el final del ciclo. Tambin suele usarse como condicin en las estructuras de decisin.
Variables. Son espacios reservados en la memoria que, como su nombre indica, pueden cambiar de
contenido a lo largo de la ejecucin de un programa.

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

Corporacin Universitaria Remington Direccin Pedaggica


Algoritmos I Pg. 81

5.6. Referencias Bibliogrficas


Castro, C. A., & Londoo Ciro, L. (1996). La experiencia de prcticas docentes de un curso de lgica
de programacin. Medelln.
Joyanes Aguilar, L. (1996). Fundamentos de programacin: Algoritmos y estructura de datos.
McGraw Hill/Interamericana de Espaa S.A.
Oviedo Regino, E. M. (2004). Lgica de programacin, segunda edicin. ECOE ediciones: Bogot.
Rios Castrilln, F. (1982). Apuntes sobre diagramacin primera parte. Edicin No. 4. Medelln.
Vsquez L., G. (1985). Lgica para programacin de computadores. Medelln.
Villalobos S., J. A., & Casallas G., R. (2006). Fundamentos de programacin, aprendizaje activo
basado en casos primera edicin. Bogot: Pearson educacin de Mxico S.A. de C.V.
Desarrollo Web. (s.f.). Recuperado el 8 de Abril de 2011, de
http://www.desarrolloweb.com/manuales/67/
Dr. Cruaas Sospreda, J., & Dr. Expsito Ricardo, C. (s.f.). Universidad Pedaggica Enrique Jos
Verona. Recuperado el 8 de Abril de 2011, de
http://www.varona.rimed.cu/revista_orbita/index.php?option=com_content&task=view&id=612
&Itemid=677
La Web del Programador. (s.f.). Recuperado el 8 de Abril de 2011, de
http://www.lawebdelprogramador.com/cursos/algoritmos/basico.php
Programacin. (s.f.). Recuperado el 8 de Abril de 2011, de
http://www.programacion.com/articulo/introduccion_a_la_programacion_205
Universidad Nacional de Colombia sede Bogot. (s.f.). Recuperado el 8 de Abril de 2011, de
http://www.virtual.unal.edu.co/cursos/ingenieria/2001839/docs_curso/contenido.html

Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia

You might also like