1.
TÉCNICAS PARA LA FORMULACIÓN DE ALGORITMOS
OBJETIVO:
El alumno será capaz de diferenciar los métodos de representación y formulación de algoritmos, así
como de reconocer y utilizar las características más importantes de cada técnica.
1.1. Diagrama de flujo
Es la representación gráfica de un algoritmo utilizando símbolos (que indican diferentes procesos en la
solución) que se relacionan entre sí mediante líneas que indican el orden en que se ejecutan las
instrucciones.
A continuación se describen los símbolos, los cuáles han sido normalizados por el Instituto
Norteamericano de Normalización (ANSI).
SÍMBOLO DESCRIPCIÓN
Inicio y final del diagrama de flujo.
Entrada y salida de datos.
Símbolo de proceso: Asignación de un valor en la memoria
y/o la ejecución de una operación aritmética.
Símbolo de decisión: Comparación de valores.
Subprogramas.
Conector dentro de página. Continuidad del diagrama
dentro de la misma página.
Conector fuera de página. Continuidad del diagrama
en otra página.
Salida de información por impresora.
Salida de información en pantalla.
Líneas de flujo o dirección. Indican la secuencia en que se r
realizan las operaciones.
A tener en cuenta:
● Las líneas de flujo que se utilicen deben ser solamente horizontales y/o verticales.
● No debe haber cruce de líneas, para evitarlo se recomienda utilizar los conectores.
● Usar conectores solo cuando sea necesario.
● Todas las líneas de flujo deben estar conectadas.
● El texto escrito dentro de los símbolos debe ser claro y evitar el uso de muchas palabras.
1.2. Pseudocódigo
El pseudocódigo es una manera de escribir los pasos o instrucciones que llevan a la solución de un
problema, generando un algoritmo, de una forma parecida a los lenguajes de programación. Se conoce
como un falso lenguaje, solo que está escrito en nuestro idioma, es decir, en el lenguaje humano (en
nuestro, caso en español).
1.3. Ventajas de utilizar un Pseudocodigo a un Diagrama de Flujo
● Se utiliza menos espacio en una hoja de papel
● Las operaciones repetitivas complejas son más fácil de representar.
● Es más cómodo traducir de pseudocodigo en algún lenguaje de programación.
● Siguiendo reglas y orden se puede observar claramente los niveles de instrucción o paso.
2. ESTRUCTURAS ALGORITMICAS
OBJETIVO:
El alumno aprenderá a diferenciar, identificar y utilizar las estructuras algorítmicas en el diseño de
soluciones algorítmicas a los problemas planteados además de aplicar combinaciones de ellas para el
desarrollo de algoritmos más complejos.
De a acuerdo a su nivel de complejidad, se presenta a continuación como se clasifican:
- Asignación
Secuenciales - Entrada
- Salida
- Simples
Estructuras Condicionales - Dobles
Algorítmicas - Múltiples
- Mientras Que
Cíclicas - Hacer Hasta
- Para
2.1. Estructuras Secuenciales
Es la estructura más sencilla de todas. En este tipo de estructura una acción, paso o instrucción sigue a
otra en secuencia, es decir no se ejecuta la instrucción si la anterior no se ha ejecutado (la salida de
una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso). Una estructura
secuencial se representa de la siguiente forma:
Inicio
Accion1
Accion2
.
.
AccionN
Fin
- Asignación: La asignación consiste, en términos computacionales, en el paso de valores a una parte
de la memoria, la cual se conoce con el nombre de variable. En otras palabras, la asignación consiste,
en dar valor a una variable. Se representa con el símbolo. La asignación se puede clasificar de la
siguiente forma:
● Simples: Almacena un valor constante a una variable (a5)
● Contador: Para llevar un conteo del número de veces que se realiza un proceso (aa+1)
● Acumulador: Es un sumador en un proceso (aa+b)
● De trabajo: Guarda el resultado de una operación matemática o expresión (ac+b*2/4).
Lectura: La lectura consiste en recibir o capturar desde un dispositivo de entrada ([Link]. el teclado) un
valor. En pseudocódigo se representa así:
Sintaxis:
Leer a, b
Donde “a” y “b” son las variables que recibirán los valores
Escritura: Consiste en mostrar por medio de un dispositivo de salida ([Link]. monitor o impresora) un
resultado o mensaje. En pseudocódigo se representa asi:
Sintaxis:
Escribir “El resultado es:”, R
Donde “El resultado es:” es un mensaje que se desea aparezca y R es una variable que contiene
un valor.
Ejercicios Secuenciales Resueltos
1. Definición del Problema: Suponga que un individuo desea invertir su capital en un banco y
desea saber cuánto dinero ganara después de un mes si el banco paga a razón de 2% mensual.
Análisis del Problema:
● Datos de entrada: capital a invertir (cap_inv)
● Proceso: gancap_inv * 0.02
● Datos de Salida: Ganacia (gan)
Diseño del Algoritmo:
Inicio
Real cap_inv, gan
Leer cap_inv
Gancap_inv * 0.02
Escribir gan
Fin
2. Definición del Problema: Un vendedor recibe un sueldo base más un 10% extra por comisión de
sus ventas, el vendedor desea saber cuánto dinero obtendrá por concepto de comisiones por
las tres ventas que realiza en el mes y el total que recibirá en el mes tomando en cuenta su
sueldo base y comisiones.
Análisis del Problema:
● Datos de entrada: sueldo base (sb), venta #1 (v1) , venta #2 (v2) , venta #3 (v3)
● Proceso: tot_vta v1 + v2 + v3
Comtot_vta * 0.10
Tpa sb + com
● Datos de Salida: total recibido (trec), comisión (com)
Diseño del Algoritmo:
Inicio
Real sb, v1, v2, v3, tot_vta, com, trec
Leer sb, v1, v2, v3
tot_vtav1 + v2 + v3
comtot_vta * 0.10
trec sb + com
Escribir trec, com
Fin
3. Definición del Problema: Una tienda ofrece un descuento del 15% sobre el total de la compra y
un cliente desea saber cuánto deberá pagar finalmente por su compra.
Análisis del Problema:
● Datos de entrada: total compra (tc)
● Proceso: d tc * 0.15
Tptc - d
● Datos de Salida: total a pagar (tp)
Diseño del Algoritmo:
Inicio
Real tc, d, tp
Leer tc
D tc * 0.15
Tptc - d
Escribir tp
Fin
4. Definición del Problema: Un alumno desea saber cuál será su calificación final en la materia de
Algoritmos. Dicha calificación se compone de los siguientes porcentajes:
55% del promedio de sus tres calificaciones parciales.
30% de la calificación del examen final.
15% de la calificación de un trabajo final.
Análisis del Problema:
● Datos de entrada: Calificación #1 (c1), Calificación #2 (c2) , Calificación #3 (c3), trabajo
final (tf), examen final (ef)
● Proceso: prom (c1 + c2 + c3)/3
Ppar prom * 0.55
Pef ef * 0.30
Ptf tf * 0.15
Cf ppar + pef + ptf
Diseño del Algoritmo:
Inicio
Real c1, c2, c3, ef, tf, prom, ppar, pef, ptf, cf
Leer c1, c2, c3, ef, tf
Prom (c1 + c2 + c3)/3
ppar prom * 0.55
pef ef * 0.30
ptf tf * 0.15
cf ppar + pef + ptf
Escribir cf
Fin
5. Definición del Problema: Un maestro desea saber qué porcentaje de hombres y que porcentaje
de mujeres hay en un grupo de estudiantes.
Análisis del Problema:
● Datos de entrada: número de hombres (nh), número de mujeres (nm)
● Proceso: ta nh + nm
ph nh * 100 / ta
pm nm * 100 / ta
Diseño del Algoritmo:
Inicio
Real nh, nm, ta, ph, pm
Leer nh, nm
ta nh + nm
ph nh * 100 / ta
pm nm * 100 / ta
Escribir ph, pm
Fin
Ejercicios Secuenciales Propuestos
1. La empresa LSE con fines de personalizar su plataforma le ha pedido que realice un algoritmo
que dado el nombre del usuario responda con un mensaje saludándolo con un "Hola " y su
nombre Ejemplo: Si la persona digita que su nombre es Sebastián el mensaje será: "Hola
Sebastián"
2. Implemente un algoritmo que tome dos variables enteras y calcule la suma de las mismas.
3. Escribir un algoritmo que lea las cuatro notas de un estudiante (Cada nota en la escala entre 1 y
5) e imprima el promedio de las mismas.
4. Escribir un algoritmo que calcule e imprima el área de un triángulo dada la base y altura.
5. Dada una cantidad en pesos colombianos, obtener la equivalencia en dólares, asumiendo que la
unidad cambiaría es un dato desconocido.
6. En una alcancía se tienen monedas de 50, 100, 200 y 500 pesos. Escriba un algoritmo que
permita averiguar cuánto dinero hay en la alcancía.
7. Tres personas deciden invertir su dinero para fundar una empresa. Cada una de ellas invierte
una cantidad distinta. Obtener el porcentaje que cada quien invierte con respecto a la cantidad
total invertida.
8. Dado un número de 4 cifras, diseñe un algoritmo que halle otro número con el orden invertido
de los dígitos del número. Ej.: número = 8462 número invertido = 2648
9. Realizar un algoritmo que intercambie los valores de dos variables numéricas
10. Realice un algoritmo que calcule los valores que satisfacen la siguiente ecuación:
A*X^2+B*X+C=0