Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Para el desarrollo de los ejercicios y la elaboración de los algoritmos se van a utilizar las técnicas de
seudocódigo y la herramienta gráfica (Diagrama de Flujo). Adicionalmente se levantará una prueba de
escritorio con el fin de comparar de alguna forma el comportamiento del algoritmo de acuerdo a los
datos esperados del problema.
Diagrama de Flujo se realiza por medio de la aplicación Dfd (software Libre cubierto por la licencia
pública GNU(GPL). A continuación una descripción de la ventana principal y el panel de herramientas.
1
3 2
4 8 5 9 6 7
Algoritmos UPTC 10
11
1- Barra de título Describe la información de ubicación y nombre del archivo con extensión *.dfd que
se está ejecutando.
2- Barra de menú Indica las diferentes opciones para manejo de la aplicación, en la mayoría de los
casos estas opciones están representadas en los iconos de la barra de herramientas.
4- Iconos de manejo de archivos En su orden corresponden a nuevo archivo, abrir archivo, guardar
archivo e imprimir de funcionamiento igual a cualquier otro tipo de aplicación.
5- Iconos de edición En su orden corresponden a cortar, copiar, pegar y eliminar, se activan cuando
es seleccionado un objeto de diseño en la hoja de trabajo, de funcionamiento igual a cualquier otro tipo
de aplicación.
6- Iconos de ejecución y depuración En su orden corresponden a:
Ejecutar Realiza la ejecución directa del algoritmo, mostrando los errores o cuadros de dialogo
que correspondan al diseño. Puede ser reemplazado por la tecla especial F9.
Detener Se activa cuando se realiza la ejecución paso a paso y detiene la misma cuando el
usuario lo requiera.
Pausar Se activa cuando se selecciona un objeto del algoritmo y se selecciona la opción “ejecutar
hasta”, Pausa la ejecución paso a paso hasta el punto indicado.
Paso simple Es la forma de ejecución paso a paso, recorre el algoritmo objeto a objeto hasta que
se le indique que continúe. Puede ser reemplazado por la tecla F7. Para salir de este modo se utiliza el
botón detener.
Ejecutar Hasta Se activa cuando se selecciona algún objeto del algoritmo, lo cual indica que hasta
ese objeto se va a ejecutar el algoritmo. Puede ser reemplazado por la tecla F4. Para salir de este modo
se utiliza el botón detener.
Depurador Evalúa expresiones para el algoritmo diseñado, siempre está activo. Tiene un menú
mediante el cual puede crear una nueva expresión, editar una expresión existente o eliminar una
expresión.
Algoritmos UPTC
Algoritmos UPTC
Ciclo para Realiza las operaciones asignadas que se encuentran entre el inicio y el fin del ciclo
para. Lo anterior bajo las condiciones de inicialización de la variable (primera casilla), cantidad de
iteraciones a realizar mientras la expresión sea verdadera (segunda casilla) y valor de incremento o
decremento de la variable (tercera casilla).
En el siguiente ejemplo se le pide al programa que muestre por pantalla el mensaje ( Se completó el
ciclo). Para el caso, la variable c se inicializa (asigna un valor) en 10(primera casilla), se le pide que el
valor final de c sea 4(segunda casilla) quien determinara la cantidad de iteraciones (ciclos que debe
realizar) y que realice un decremento de 1 cada vez que se ejecute el ciclo (tercera casilla)
Para un segundo ejemplo se le pide al programa que muestre por pantalla el mensaje ( Se completó
el ciclo). Para el caso, la variable c se inicializa (asigna un valor) en 4(primera casilla), se le pide que
el valor final de c sea 10(segunda casilla) quien determinara la cantidad de iteraciones (ciclos que debe
realizar) y que realice un incremento de 1 cada vez que se ejecute el ciclo (tercera casilla)
En cualquiera de los ejemplos anteriores se puede realizar la ejecución por paso simple o paso a paso
(F7) para comprobar la cantidad de veces que realiza las iteraciones o ciclos antes de mostrar el
mensaje por pantalla correspondiente a la salida ( Se completó el ciclo)
Un tercer ejemplo me muestra la impresión numerada del mensaje ( Se completó el ciclo n) donde
n es la cantidad de veces que se imprime, para nuestro caso 3 veces.
Algoritmos UPTC
Puede evaluar cadenas de caracteres por medio de igualdad (=) o Desigualdad (!=)
Puede evaluar valores numéricos reales por medio de igualdad (=), Desigualdad (!=), mayor que(>),
menor que(<), mayor o igual que (>=) y menor o igual que(<=).
Lectura Almacena el valor o cadena de caracteres en una variable con un identificador determinado
Algoritmos UPTC
por el programador del algoritmo. Se debe colocar simplemente el nombre del identificador. Corresponde
al almacenamiento de valores ingresados por teclado por parte del usuario.
Salida Muestra por pantalla los mensajes para interactuar con el usuario, en algunos casos se
tratará de información solicitada al usuario para lo cual se escribirá el mensaje dentro de comillas
simples. En los casos de que se trate de respuestas, irá de igual forma entre comillas simples y si se
quiere invocar alguna variable o constante del algoritmo se hará a través del identificador el cual deberá
ir además entre comillas simples y precedido y seguido de comas. A continuación los ejemplos
correspondientes
caso 1. Para solicitar información al usuario ‘Por favor digite entre comillas simples su nombre’
caso 2. Para entregar una respuesta ‘Su nombre es ‘,n,’ su edad es ‘,e,’ y su ciudad es ‘,c,’ gracias’
En el siguiente ejemplo se muestra un programa principal que invoca a un subprograma y los resultados
del ejercicio. Algoritmos UPTC
2- Herramientas para el trabajo con subprogramas Se utilizan para crear, eliminar y navegar entre
los diferentes subprogramas creados a partir del programa principal. Permite trabajar de forma modular
descendente en el diseño del algoritmo, obteniendo menor complejidad final y mayor entendimiento al
diseño. En su orden mostrados en pantalla son:
Nuevo subprograma Crea subprogramas que realizan operaciones y devuelven los resultados a un
programa principal o subprogramas de nivel superior. Se debe colocar un nombre al subprograma, los
parámetros (variables que retornan algún valor al programa de nivel superior del cual es invocado) y una
breve descripción de lo que realiza el subprograma.
La creación del subprograma se realiza en una hoja de trabajo nueva y se puede navegar de
subprograma en subprograma a través de los botones Anterior subprograma y Siguiente
subprograma.
Para llamar al subprograma creado desde el nivel superior se debe insertar el objeto llamada (explicado
anteriormente) en el sitio que corresponda del algoritmo del nivel superior, teniendo en cuenta colocar el
mismo nombre y los mismos parámetros
Algoritmos UPTC
Eliminar subprograma Permite eliminar los subprogramas seleccionados, se desactiva cuando está
en el nivel principal que hace la llamada al subprograma, se activa cuando se está en los niveles
inferiores y en la hoja del subprograma a eliminar. Para eliminar un subprograma se realiza desde el
subprograma que hace la llamada y desde la hoja de trabajo donde se encuentra el subprograma. En
ambos casos aparece un mensaje de advertencia antes de la eliminación.
10- Hoja de Trabajo Corresponde al espacio en el cual se va a realizar el diseño. La hoja de trabajo
siempre debe aparecer con la partida y finalización del algoritmo (inicio-fin) objetos inseparables y entre
los cuales se debe diseñar el algoritmo. Sobre la hoja de trabajo aparecen los diferentes mensajes de
los objetos del diseño, de interacción con el usuario, de errores dados por la aplicación y de respuestas
y pruebas.
11- Modo Actual Describe de forma resumida las acciones posibles a realizar cuando el cursor se
ubica en cualquier icono herramienta de trabajo.
Prueba de escritorio Se tabulará teniendo en cuenta los datos de entrada, los datos de salida, los
pasos y las operaciones aritméticas o lógicas que estén incluidas en el algoritmo
A continuación se muestra un ejemplo de una prueba de escritorio para una serie de operaciones
aritméticas.
Nótese que para algunos casos se reutilizan las variables de salida, tratándose a las mismas como
variables de entrada (resaltadas en color amarillo) hasta que terminan de realizar las operaciones que
satisfacen alguna condición (recursividad). El valor final para este tipo de variables es el último asignado
por las operaciones.
Análisis del problema (incluye todas las etapas presentadas anteriormente. (Formular claramente el
problema, especificar los resultados que se desean obtener, identificar la información disponible (datos),
determinar las restricciones, procesos necesarios)
Elaboración Diagrama de Flujo En los dos primeros ejercicios se mostrará el paso a paso para el
manejo de la aplicación Dfd, explicando como se utiliza la herramienta. En los ejercicios posteriores se
omitirá esta explicación. A continuación del diagrama de flujo se harán los comentarios respectivos
indicando que operación se realiza para cada paso del flujo.
CONCEPTOS BÁSICOS
CONSTANTE Variable cuyo valor no puede ser modificado durante la ejecución del programa.
ASIGNACION DE VALOR Entregar un valor a una variable o a una constante por medio de una
operación o directamente por medio de una igualdad ( ej: c=6 ó c= 6+3).
BUCLE Circuito de retroacción. Hasta que no cumple una condicionalidad no deja de volver a recorrer
el circuito.
EJERCICIO 1
Hallar el perímetro de un cuadrado cuyo lado mide 5 cm, mostrar el resultado por pantalla teniendo en
cuenta el nombre del usuario que interactúa con el sistema.
Elaboración de seudocódigo
1. inicio
2. Asignar el valor de 5 a l (ele)
3. Solicitar el nombre del usuario
4. Leer el nombre del usuario
5. Calcular el perímetro
6. Mostrar la respuesta (perímetro) por pantalla indicando el nombre del usuario
7. fin
Algoritmos
5
UPTC
6- Salida de respuesta al usuario indicando el nombre y el cálculo del perímetro mediante el llamado de
las variables correspondientes.
Algoritmos UPTC
Hallar el perímetro de un cuadrado. La longitud del lado es ingresada por el usuario, mostrar el
resultado por pantalla teniendo en cuenta el nombre del usuario que interactúa con el sistema.
Hallar el área de un cuadrado de perímetro 20.8, mostrar el resultado por pantalla teniendo en cuenta
el nombre del usuario que interactúa con el sistema.
Hallar el área de un cuadrado. La longitud del lado es ingresada por el usuario, mostrar el resultado
por pantalla teniendo en cuenta el nombre del usuario y la longitud del lado que interactúa con el
sistema.
EJERCICIO 2
Algoritmos UPTC
Hallar el área de un triángulo rectángulo a partir de los datos de la base y de la altura suministrados por
el usuario. Determinar si los valores asignados a las longitudes de base y altura son positivos, si lo son,
calcular el área del triángulo en caso contrario mostrar un error al usuario indicando la causa del mismo.
1. inicio.
2. Asignar el valor de 2 a la constante div.
3. Solicitar al usuario los valores correspondientes a la base y a la altura.
4. Leer los valores de las longitudes de la base y la altura.
5. Evaluar el valor de la longitud de la base.
1. Si es menor o igual que cero mostrar error indicando la causa del mismo.
2. Si es mayor que cero pasar a punto 6.
6. Evaluar el valor de la longitud de la altura
1. Si es menor o igual que cero mostrar error indicando la causa del mismo.
2. Si es mayor que cero pasar a punto 7.
7. calcular el área del triángulo.
1. calcular base por altura.
2. al cálculo anterior dividirlo entre div.
8. Mostrar el resultado.
9. Fin.
Algoritmos
3
UPTC
A
B
5
7 6
8 C
2- Asignación del valor 2 a la constante con identificador div (para reemplazar a 2 en la fórmula del área
del triángulo por div). Lo anterior porque este valor 2 nunca cambiará en la fórmula y para omitirlo como
tal durante la escritura del programa y llamarlo a través del identificador div.
3- Salida de Indicación al usuario solicitándole el valor de la longitud de la base y la altura del triángulo.
4- Lectura de los valores para las longitudes de base y altura a las variables con identificador b y h
5- Verificación por el objeto de decisión de la variable b (número real positivo). En caso de no cumplir
muestra error a través de la salida por pantalla en caso de cumplir pasa a 6
6- Verificación por el objeto de decisión de la variable c (número real positivo). En caso de no cumplir
muestra error a través de la salida por pantalla en caso de cumplir pasa a 7
7- Se realiza la operación para calcular el área [A=(b*h)/2] primero se hace A=b*h (donde A= Área,
b=base, h=altura), posteriormente al resultado de A se divide entre div (A=A/div), con el fin de utilizar la
asignación de la constante div=2. Las operaciones anteriores muestran recursividad de la variable A, en
donde primero toma un valor (el resultado b*h) y luego ese resultado es utilizado como entrada para
realizar la operación final (A/div).
9- Fin
B Cuando se introduce una letra o conjunto cualquiera de letras como una cadena de caracteres (es
decir entre comillas simples), puede pasar las condicionalidades sin embargo al momento de realizar las
operaciones aritméticas nos va a mostrar que el tipo de datos no corresponde para hacer operaciones
aritméticas. Presenta error del sistema ej: al ingresar ‘asd’ y ‘lucia’ como valores no puede hacer
A=’asd’*’lucía’ y genera el cuadro de error.
Hallar el área de un triángulo rectángulo a partir de los datos de la base y de la altura suministrados
por el usuario. Evaluar los valores asignados a las longitudes de base y altura uno a la vez, con el fin de
identificar si son mayores a cero , si lo son, calcular el área del triángulo en caso contrario mostrar un
error al usuario indicando la causa del mismo antes de continuar el programa
Hallar el área de un triángulo rectángulo conociendo la base (valor de la base =4.8) y tomando el valor
de la altura suministrado por el usuario. Determinar si los valores asignados a las longitudes de base y
altura son positivos, si lo son, calcular el área del triángulo en caso contrario mostrar un error al usuario
indicando la causa del mismo.
Hallar el área de un triángulo rectángulo a partir del dato de la longitud de la base suministrado por el
usuario. La longitud de la altura será 2.5 veces la longitud de la base. Evaluar los valores asignados a
las longitudes de base y altura uno a la vez, con el fin de identificar si son mayores a cero , si lo son,
calcular el área del triángulo en caso contrario mostrar un error al usuario indicando la causa del mismo
antes de continuar el programa.
EJERCICIO 3
Generar el recibo de pago semanal de los empleados de la empresa “Insumos X-Y” El recibo debe
mostrar el nombre de la empresa, fechas de periodo a liquidar en la factura, fecha de elaboración de la
factura (las fechas son ingresadas por el usuario), nombre del empleado, cargo del empleado, total de
horas trabajadas en el período (Dato a ingresar por el usuario), valor por hora de acuerdo al cargo del
empleado, salario Bruto en pesos, Bono en pesos por pago de horas extras si las hubiere (cuando las
horas laboradas sean mayores de 48 horas (horas laborables legales), las horas excedentes se pagaran
con un recargo adicional del 25% del valor normal de la hora), descuento en pesos sobre el salario bruto
Algoritmos UPTC
por servicios de salud (8%), descuento en pesos sobre el salario bruto por pago de pensión laboral
(10%) y el salario neto a pagar al empleado.
El resultado anterior se consulta a través del código del empleado.
Cod
Nombre Empleado
Empleado Cargo Valor Hora
11 Juan Pérez Carreño operador 4000
12 Pedro Diaz Gonzalez vendedor 5000
13 Jorge Andrés Fernandez Perez operador 4000
14 Graciliano Perez Aristizabal vendedor 5000
15 Pedro Jimenez Gómez supervisor 8000
Elaboración de seudocódigo
1. inicio.
2. Asignar la cadena de caracteres a la constante con identificador empr.
3. Solicitar al usuario los valores correspondientes a la fecha actual y al periodo de liquidación.
4. Leer los valores de fecha actual y el periodo de liquidación.
5. Ingresar el código del empleado.
1. Si el código pertenece a algún empleado continuar a punto 6.
2. Si el código no pertenece a ningún empleado generar error.
6. Asignar la cadena de caracteres con el nombre del empleado a la variable con identificador n
7. Asignar la cadena de caracteres con el cargo del empleado a la variable con identificador
cargo
8. Asignar el valor de la hora de trabajo del empleado a la variable con identificador vhr.
9. Asignar el porcentaje del descuento por servicios de salud a la variable con identificador
imp1.
Algoritmos UPTC
10. Asignar el porcentaje del descuento por pensión a la variable con identificador imp2.
11. Asignar el porcentaje del sobrecoste de la hora de trabajo del empleado en caso de ser hora
extra a la variable con identificador vrbono.
12. Asignar el valor laborable legal semanal la variable con identificador hlab.
1. Ingresar la cantidad de horas laboradas por el empleado en el periodo de tiempo.
2. Si las horas laboradas son menores a cero informar al usuario que existe un error al
ingresar el dato.
3. Si las horas laboradas son iguales a cero informar al usuario que no ha laborado por tanto
su salario es $0
4. Si las horas laboradas son mayores que cero pasar a punto 14
13. Verificar las horas laboradas
1. Si son menores o iguales a 48 horas, calcular
1. Salario Bruto
2. Descuentos
3. Salario neto
2. Si son mayores a 48 horas, calcular
1. Salario Bruto
2. Horas extras
3. Bono por horas extras
4. Salario bruto total
5. Descuentos
6. Salario neto
14. Mostrar el resultado.
15. Fin.
Elaboración Diagrama de Flujo
Algoritmos UPTC
Algoritmos UPTC
• imp2=salb*imp2 0,1 200000 20000
• totdto=imp1+imp2 16000 20000 36000
• saln=salb-totdto 200000 36000 164000
Empresa -->INSUMOS X-Y
Período de liquidación: --> 12/03/2013 hasta
17/03/2013 Fecha de pago:--> 20/03/2013
Nombre empleado -->Pedro Diaz Gonzalez
con cargo: --> vendedor El Valor por hora del
'12/03/2013
INSUMOS X- Pedro Diaz cargo es : -->$ 5000 las horas trabajadas en el
Mostrar resultado hasta '20/03/2013' vendedor 40 5000 16000 20000 200000 164000
Y Gonzalez periodo de liquidación son: --> 40 El salario
19/03/2013'
bruto de este periodo es: -->$ 200000. Los
descuentos que tiene son 1-Descuento por
servicios de salud -->$16000 y 2-Descuento
por pensión -->$ 20000 Su Salario neto es por
tanto -->$164000
Ingresar la cantidad de horas laboradas por
60
el empleado en el periodo de tiempo
• salb =vhr*htrab 60 5000 300000
• hex= htrab-hlab 60 48 12
• vrbono= hex*(vrbono*vhr) 12 5000 0.25 15000
• salb= salb+vrbono 15000 300000 315000
• imp1=salb*imp1 0,08 315000 25200
• imp2=salb*imp2 0,1 315000 31500
• totdto=imp1+imp2 25200 31500 56700
• saln=salb-totdto 315000 56700 258300
Empresa -->INSUMOS X-Y
Período de liquidación: --> 12/03/2013 hasta
19/03/2013 Fecha de pago:--> 20/12/2013
Nombre empleado -->Pedro Diaz Gonzalez
con cargo: --> vendedor El Valor por hora del
cargo es : -->$ 5000 las horas trabajadas en el
'12/03/2013
INSUMOS X- Pedro Diaz periodo de liquidación son: --> 60, Las
Mostrar resultado hasta '20/03/2013' vendedor 60 5000 25200 31500 315000 258300
Y Gonzalez horase extras del periodo son 12, El bono
19/03/2013'
de pago por horas extras es 15000;El salario
bruto de este periodo es: -->$ 315000. Los
descuentos que tiene son 1-Descuento por
servicios de salud -->$25200 y 2-Descuento
por pensión -->$ 31500 Su Salario neto es por
tanto -->$258300
EJERCICIOS PROPUESTOS VARIANTES DEL EJERCICIO 3
Realizar el ejercicio suponiendo que el empleado ingresa horas festivas las cuales tienen un bono de
incremento del 50% sobre el coste de la hora normal de trabajo.
EJERCICIO 4
El usuario debe ingresar tres números por teclado y el algoritmo debe determinar si la suma de
cualquier pareja de ellos es igual al tercer número, Si se cumple la condición debe aparecer un resultado
en pantalla indicando la suma correspondiente a la igualdad. En caso contrario aparecerá un mensaje
mostrando la desigualdad.
Elaboración de seudocódigo
1. inicio.
2. Solicitar al usuario los valores correspondientes a los tres números a comparar.
3. Leer los valores de los tres números
4. Evaluar si el primer número más el segundo número es igual al tercer número.
1. Si se cumple la igualdad Mostrar mensaje de igualdad
2. Si no se cumple la igualdad ir a punto 5
5. Evaluar si el primer número más el tercer número es igual al segundo número.
1. Si se cumple la igualdad Mostrar mensaje de igualdad
2. Si no se cumple la igualdad ir a punto 6
6. Evaluar si el segundo número más el tercer número es igual al primer número.
1. Si se cumple la igualdad Mostrar mensaje de igualdad
2. Mostrar mensaje de desigualdad para cualquiera de las posibles condiciones
7. fin
Elaboración Diagrama de Flujo
Algoritmos UPTC
Elaboración Prueba de escritorio
El usuario debe ingresar un número por teclado y el algoritmo debe asignar un segundo número de
doble valor y un tercer número de triple valor con respecto al número ingresado por el usuario.
Determinar si la suma de cualquier pareja de los números obtenidos es igual al tercer número, Si se
cumple la condición debe aparecer un resultado en pantalla indicando la suma correspondiente a la
igualdad, en caso contrario aparecerá un mensaje mostrando la desigualdad.
El usuario debe ingresar tres números por teclado y el algoritmo debe determinar si la suma de
cualquier pareja de ellos es igual al tercer número, Si se cumple la condición debe aparecer un resultado
en pantalla indicando la suma correspondiente a la igualdad. En caso contrario aparecerá un mensaje
indicando la desigualdad. Se deben realizar las asignaciones de los tres números dados por el usuario a
las respectivas variables en un solo paso en el diseño del algoritmo.
El usuario debe ingresar tres números por teclado y el algoritmo debe determinar si la suma de
cualquier pareja de ellos es igual al tercer número, Si se cumple la condición debe aparecer un resultado
en pantalla indicando la suma correspondiente a la igualdad. En caso contrario aparecerá un mensaje
indicando la desigualdad. El algoritmo debe evaluar cual es el número mayor y solo realizar la suma
correspondiente con los números menores para verificar la igualdad.
Algoritmos UPTC
Algoritmos UPTC