Algoritmia
Algoritmia
Introducción a la Informática
Unidad 2. Algoritmia
Unidad 2. Algoritmia
Competencia
Utiliza los conceptos informáticos y aplica el enfoque sistémico para comprender y solucionar
lógicamente los problemas multidisciplinares de su área de formación.
Indicadores de competencia
Saber Hacer Ser
Diferencia entre dato, información, Interpreta y aplica ordenadamente los Organiza, modela y propone
conocimiento y sabiduría. pasos necesarios para colectar, soluciones lógicas y plausibles a los
representar, exponer y explicar la problemas disciplinares utilizando
Adquiere, procesa y presenta la información, utilizando las herramientas tecnológicas que
información necesaria en cada herramientas informáticas necesarias. faciliten los procesos.
contexto.
Red de conceptos
Introducción a la informática
Introducción a la unidad 2
En el contexto de la ciencia de la computación es indispensable abarcar el tema de la Algoritmia,
pues es una de las bases fundamentales de todos los sistemas informáticos que actualmente
encontramos en el medio.
La algoritmia es nuestro medio de comunicación directa con las maquinas, nuestra forma de
traducir los objetivos a un lenguaje entendible para la maquina compuesto de muchos procesos que
ayudan a dar solución al inconveniente.
“Un algoritmo según la real academia, es un conjunto ordenado y finito de operaciones que
permite encontrar la solución a un problema cualquiera”. (Baeza, pag. 1)
Acción problémica
Una familia de un pueblo lejano de Antioquia, decide irse a vivir a Medellín, la ciudad principal
de este departamento, y montar allí un negocio que les ayude con el sustento diario. El padre de
esta familia, quien cuenta con un buen capital, se decide por un negocio de “compra y venta de
artículos electrónicos”, justo en el centro de la ciudad.
Para la administración de las cuentas del negocio, deciden averiguar los costos de comprar un
software que se encargue de hacer toda la parte operativa y de cálculos, que permita administrar
sus cuentas y las ganancias del negocio y, además, llevar el control de los intereses y el tiempo de
préstamo de dinero a los usuarios. Pero el costo de estos sistemas es bastante alto y el
mantenimiento anual vale casi lo mismo que comprarlo nuevo.
Por ello, el padre decide pedir ayuda a su hijo mayor, un estudiante universitario, para que
desarrolle un programa simple que ayude a llevar las cuentas sistematizadas y permita ajustarse a
los requerimientos de los siguientes elementos:
• Registro de clientes nuevos, actualización de registros antiguos, contabilizar el total
prestado y el total del interés según el tiempo diferido, permitir hacer abonos en préstamos
y totalizar el capital prestado que tiene el negocio y el total de las ganancias en intereses.
Por medio del aplicativo de fácil uso PSeint, desarrolla un sistema como el que necesita esta
familia para su nuevo negocio, donde se cumplan con los requerimientos mínimos y permita
visualizar, al finalizar la semana, la ganancia total de todos los intereses recogidos.
1. Lógica básica
Introducción a la informática
Razonamiento lógico
El razonamiento lógico es la facultad que tenemos para deducir, a través
de un juicio, y determinar su veracidad, posibilidad y ejecución a partir
de otro juicio.
Razonamiento argumentativo
El razonamiento argumentativo es la facultad explicativa que tenemos
ante un suceso o caso, en otras palabras, la facultad para respaldar
cualquier tipo de acciones que tomamos en nuestro entorno diario.
1.2 Ejercicio
A continuación, te presentamos tres ejercicios. Para resolverlos, tendrás que poner a prueba tus
destrezas lógicas. Haz clic en el botón siguiente para iniciar:
1. ¿Cuál es el menor número de personas que se requiere para que en una familia haya: un
abuelo, una abuela, tres hijos, tres hijas, dos madres, dos padres, una suegra, un suegro y
una nuera?
a. 10
b. 9
c. 8
d. 13
2. De cinco futbolistas, donde ninguno tiene la misma cantidad de goles convertidos, se sabe
que Claudio tiene dos goles más que Abel, Flavio tiene dos goles más que Roberto, pero
Introducción a la informática
uno menos que Abel y Andrés más goles que Roberto, pero menos que Abel. ¿Cuántos
goles menos que Claudio tiene Andrés?
a. 4
b. 3
c. 5
d. 2
Ejemplo
Planteamiento del problema
Realizar un algoritmo que muestre las indicaciones a un adulto para enseñar a un niño a cruzar la
calle cuando esté solo, teniendo en cuenta todas las variables posibles.
Análisis
El primer factor de entrada es contar con un niño entre 5 y 8 años, pues él es quien va a recibir la
información y es considerado el producto finalizado; debe tener ese rango de edad para garantizar
que puede capturar la información sin problema.
Algoritmo:
Inicio
1. Llevar el niño a la calle
2. Si hay un semáforo vehicular…
2.1. Esperar a que se ilumine un bombillo rojo y cruzar rápidamente
3. Si no hay un semáforo cerca entonces...
3.1. Buscar un paso cebra y, si está cerca, entonces hacer lo siguiente...
3.1.1. Ir al paso cebra
3.1.2. Esperar a que no pase ningún vehículo
3.1.3. Cruzar
3.2. Si no hay ningún paso cebra cerca, entonces hacer lo siguiente...
3.2.1. Mirar a la izquierda y a la derecha para ver si viene algún auto a alta velocidad o está muy
cerca
3.2.2. Si no viene ningún coche, cruzar rápidamente; en caso de que venga algún coche, esperar e
ir al paso
Final
En esta primera fase del esquema se deben establecer las necesidades claras que debe
Planteamiento del problema tener el usuario para poder aportarle una debida solución.
Después de tener definidos los requerimientos básicos del problema, se establecen los
Análisis del problema requerimientos de entrada, salida y los calculados por el sistema.
Características
Los algoritmos tienen características básicas con las cuales deben cumplir para poderse catalogar
correctamente:
Finitud: todo algoritmo debe tener una cantidad finita de operaciones, nunca puede ser infinito y
siempre debe finalizar con el proceso.
Preciso: los pasos que se establezcan dentro del algoritmo deben de ser muy claros y concretos,
sin permitir confusión alguna.
Definido: cada proceso ejecutado por el algoritmo debe ser veraz y no puede dar cabida a una
ambigüedad sobre su procedimiento o resultado obtenido.
Eficiencia: se deben generar la menor cantidad de pasos posibles en el algoritmo para que el
gasto de memoria sea el mínimo en el sistema y su ejecución sea mucho más veloz.
Modular: el algoritmo debe estar creado por partes, donde cada una permita hacer operaciones
diferentes, de forma tal que, al ser necesitado por el programador, pueda hacer uso de estos
fragmentos de código en otros proyectos o inclusive en el mismo.
Entrada/Salida: los algoritmos siempre deben tener, por lo menos, un dato de entrada y generar
un dato de salida después del procesamiento.
Datos de entrada
Comprobación y
depuración
1.5 Resumen
Te invitamos a observar con atención un pequeño resumen de los temas abordados hasta este
momento. Haz clic en la imagen para iniciar:
Introducción a la informática
2.1 Pseudocódigo
2.1.1 Ejemplo
Definición del problema
Realizar un algoritmo en pseudocódigo que permita realizar el cálculo del promedio de tres
números enteros ingresados por el usuario.
Análisis del problema
Introducción a la informática
Se tienen como elementos de entrada para el sistema que son tres números de tipo entero, y hay
que realizar un promedio con ellos, el cual se calcula haciendo una sumatoria de los tres números
y dividirlos entre tres, que es la cantidad total de números.
Inicio
//Declaración de variables y asignación del tipo de dato
Entero n1, n2, n3, suma, promedio
//Lectura de los datos del usuario y guardar el valor en las variables
Leer "Ingrese el primer número", n1
Leer "Ingrese el primer número", n2
Leer "Ingrese el primer número", n3
//Procedimientos que se deben realizar con los valores que se guardaron en cada variable
suma = n1 + n2 + n3
promedio = suma / 3
//Mostrar el resultado de la operación realizada con los valores
Imprima "El promedio de los tres números es: ", promedio
Fin
La utilización del pseudocódigo presenta las ventajas de ser más compacto que un organigrama,
ser más fácil de escribir y de transcribir a un lenguaje de programación.
Existen estructuras de control que determinan el camino a seguir en las instrucciones:
1. Estructura secuencial o lineal: consiste en colocar una instrucción tras otra, de manera
que se vayan ejecutando de arriba abajo.
2. Estructura selectiva o de decisión (si, si no): permiten ejecutar un conjunto de
instrucciones u otras en función de si se cumple o no una condición.
3. Estructura repetitiva o iterativa (mientras, repetir, para): permite repetir una
instrucción o grupo de ellas un número fijo de veces o mientras una condición se cumpla.
Ejemplo
Diseña un algoritmo que permita calcular el valor total del salario básico de un empleado al mes,
solicitándole al usuario que ingrese el valor de la hora y cantidad de horas semanales trabajadas.
Inicio
//Declaración de variables
Entero valorH, totalH, totalSalario
//Lectura de los datos iniciales
Introducción a la informática
Estructura simple
Si (Condición) entonces
//Procedimientos u operaciones
Fin Si
Ejemplo
Diseña un algoritmo que permita calcular el promedio de tres números reales ingresados por el
usuario y calcula su raíz cuadrada con el promedio.
Inicio
//Declaración de las variables
Reales n1, n2, n3, suma, prom, raizn
//Leer los datos iniciales
Leer "Ingrese el primer número: ", n1
Leer "Ingrese el segundo número: ", n2
Leer "Ingrese el tercer número: ", n3
//Realización de los procesos
suma = n1 + n2 + n3
prom = suma / 3
Si (prom >= 0) entonces
raizn = √prom
Imprima "La raíz cuadrada del número es: ", raizn, “y el promedio de los tres números es:”, prom
Introducción a la informática
Sino
Imprima "No se puede hallar la raíz cuadrada y el promedio de los tres números es:”, prom
Fin si
Estructura compuesta
Si (Condición) entonces
//Procedimientos u operaciones
Sino
//Procedimientos u operaciones
Fin Si
Ejemplo
La estructura condicional permite anidar unas instrucciones en otras. Supongamos que queremos
calcular la nota promedio de la carrera de un estudiante, donde se ingresan cinco calificaciones de
las asignaturas cursadas, con las siguientes condiciones:
• Si el total del promedio es mayor o igual a 3.5, se aplica un descuento de matrícula del
20% y si es superior a 4.5, se le aplica un 10% más
• Si el total del promedio es menor a 3.5, no se aplica descuento de matricula
• El valor total de la matrícula para todos los estudiantes es de $485,300.
Inicio
//Declaración de Variables
Real nota1, nota2, nota3, nota4, nota5, suma, promedio, matricula=485300, desc
//Leer los datos ingresados por el usuario
Leer "Ingrese la calificación de la primera asignatura: ", nota1
Leer "Ingrese la calificación de la segunda asignatura: ", nota2
Leer "Ingrese la calificación de la tercera asignatura: ", nota3
Leer "Ingrese la calificación de la cuarta asignatura: ", nota4
Leer "Ingrese la calificación de la quinta asignatura: ", nota5
//Procedimientos a realizar
Suma = nota1 + nota2 + nota3+ nota4 + nota5
Promedio = suma / 5
Si (promedio >= 3.5) entonces
Si (promedio >= 4.5) entonces
desc = matricula * 0.30
Imprima “El promedio es de”, promedio, “su valor a pagar de matrícula es “,
matricula – desc
Sino
Introducción a la informática
Ejemplo
Realiza un algoritmo que lea varios números (hasta que introduzcamos un número negativo) y
calcule el promedio de ellos.
Inicio
//Declaración de variables
Reales suma, n, promedio, número
//Leer los datos
Lea "Ingrese el primer valor numérico: ", número
//Procedimientos
Mientras (número >= 0)
suma = suma + número
n=n+1
Lea "Ingrese un número para agregar o uno negativo para finalizar: ", número
Introducción a la informática
Fin Mientras
Si (n > 0)
promedio = suma / n
//Imprimir los resultados
Imprima "El promedio de los números ingresados es: ", promedio
Sino
Imprima "El promedio de los números es 0"
Fin si
Importante: En las operaciones del ciclo es importante que se modifique el valor de la variable
que evalúa la condición, para que el ciclo no se quede infinito.
2.4.2 Para…
Permite realizar una o varias acciones un número determinado de veces. Ese número de veces se
puede dejar fijo en el algoritmo o se toma como variable para que el usuario ingrese un valor según
sus necesidades.
El formato de esta estructura es el siguiente:
Para (i=1 hasta n, 1)
//procedimientos a realizar
Fin Para
En cada iteración de la repetición va tomando distintos valores comprendidos entre Para y Fin Para.
En la primera iteración toma el valor inicio que es (i), en la segunda toma el valor en el siguiente
(i + 1), y así, sucesivamente, hasta llegar al valor de (n) que es el valor límite del ciclo.
Ejemplo
Realice un algoritmo que permita leer 20 números y calcular el promedio de ellos:
Inicio
//Declaración de variables
Reales suma, n, numero, promedio
//Procedimientos
Para (n=1 hasta 20, 1)
Lea "Ingrese los números", número
Introducción a la informática
Importante: en un algoritmo podemos implementar cualquiera de los dos ciclos (Mientras o Para),
inclusive los dos, para realizar acciones diferentes o también puede darse el caso que estén anidados
uno dentro de otro, las veces que sea necesario.
Todo lo que se haga en un PARA se puede hacer con un MIENTRAS, pero no todo lo que se haga
con un MIENTRAS, se puede hacer con un PARA.
3. Diagramas
En algoritmia, los diagramas son formas de representación gráfica que permiten visualizar
claramente los procesos y establecer rutas de seguimiento. Te invitamos a conocer y aprender más
acerca de este tema, haz clic en cada uno de los enlaces para acceder a la información:
Ejemplo 1
Realiza un algoritmo que determine si el número dado es par o impar.
Universidad de Huelva, (n.d.). DFD para indicar si un número es Par o Impar. [image] Available at:
http://www.uhu.es/04004/material/Transparencias2.pdf [Accessed 18 Oct. 2016].
Ejemplo 2
Realiza un algoritmo que permita leer dos números enteros, calcular la suma de ellos y mostrar el
resultado.
Inicio
num1, num2
Fin
Introducción a la informática
Ejemplo
Desarrollar un algoritmo que nos permita, cada media hora, durante la jornada de trabajo laboral,
vigilar desde una ventana.
Trejos Buriticá, O. (1999). La Esencia de la Lógica de Programación - Básico. 1st ed. Pereira: Editorial Papiro, p.63.
Introducción a la informática
Desarrollo PseInt
¿Qué es el PSeInt?
"Generador de pseudocódigo enfocado a la enseñanza de la programación inicial".
PSeInt es un simulador que permite interpretar el pseudocódigo, orientado al aprendizaje de la
programación mediante la utilización de un simple y limitado pseudo-lenguaje intuitivo y en
español.
PSeInt está pensado para asistir a los estudiantes que se inician en la construcción de programas o
algoritmos computacionales. El pseudocódigo se suele utilizar como primer contacto para
introducir conceptos básicos como el uso de estructuras de control, expresiones, variables, etc., sin
tener que lidiar con las particularidades de la sintaxis de un lenguaje real.
Desarrollo DFD
¿Qué es el DFD?
DFD es un software diseñado para construir y desarrollar algoritmos, normalmente es usado por
usuarios no programadores, debido a que su operatividad es fácil y no requiere un conocimiento
avanzado.
Este software tiene como base los diagramas de flujo para la representación de algoritmos de
programación, de forma que un usuario convencional, por medio de figuras y gráficos, pueda
construir y probar la funcionalidad de su algoritmo desarrollado.
Este programa posee una serie de herramientas básicas que permite agregar los elementos a la mesa
de trabajo que se habilita.
Introducción a la informática
4. Solución de problemas
A diario, nos encontramos con problemas, algunos de gran dificultad y otros de menor importancia,
sin embargo, siempre debemos buscar una solución válida que nos ayude a salir rápido del
problema de una manera eficiente y certera.
Sin importar qué tipo de problema es el que poseemos, siempre vamos a encontrar muchos caminos
para hallar una solución adecuada, la elección o no de algunos de los caminos, dependerá de ti y
de la efectividad de la solución.
Existen diferentes metodologías que han planteado varios autores para la solución de problemas,
pero de la particularidad del problema depende si la solución será adecuada o no. En este caso, para
los sistemas de información, vamos a enfocar la solución a una serie de fases que nos ayudarán a
dar una mejor respuesta a estos problemas.
Este análisis del problema nos ayuda a identificar las diferentes alternativas que tenemos para
encontrar una solución adecuada al problema y explorar los caminos y posibilidades que existen
para elegir una solución concisa y adecuada a lo que nos están pidiendo.
Explorar varias alternativas permite que nuestras opciones de solución sean óptimas y eviten la
mayor cantidad de reprocesos en el camino.
5. Actividad
1. Realiza los siguientes algoritmos en lenguaje natural:
a. Realiza un algoritmo que permita enseñar a una mujer a conducir un carro mecánico
pequeño.
b. Realiza un algoritmo que permita sistematizar los procesos que realiza un vigilante en
la noche en un almacén de cadena.
c. Realiza un algoritmo que permita distribuir el sueldo para pagar: servicios públicos,
mercado y pasajes para ir a trabajar y a la universidad.
d. Realiza un algoritmo que permita cambiar el vidrio roto de una ventana de una casa.
6. Referencias bibliográficas
Ejercicioresuelto.blogspot.com.co. (2016). Ejercicio Resuelto Nº 11 de Razonamiento Lógico. [En
línea] Disponible en: http://ejercicioresuelto.blogspot.com.co/2013/04/ejercicio-resuelto-n-11-de-
razonamiento.html [Consulta 15 nov. 2016].
Magic Markers,. (2015). ¿Qué es un algoritmo? Obtenido de:
https://www.youtube.com/watch?v=U3CGMyjzlvM&feature=youtu.be [Consulta 15 Nov. 2016].
Pseint.sourceforge.net. (2016). PSeInt. [En línea] Disponible en: http://pseint.sourceforge.net/
[Consulta19 nov. 2016].
Trejos Buriticá, O. (1999). La Esencia de la Lógica de Programación - Básico. 1st ed. Pereira:
Editorial Papiro.
YouTube. (2016). Razonamiento lógico 201. [En línea] Disponible en:
https://www.youtube.com/watch?v=4423hK2D_kc&feature=youtu.be [Consulta 15 nov. 2016].
Introducción a la informática
Universidad de Huelva, (n.d.). DFD para indicar si un número es Par o Impar. [imagen]
Disponible en: http://www.uhu.es/04004/material/Transparencias2.pdf [Consultada 18 oct. 2016].
User, S. (2016). Cerillas #4. [En línea] Diazvaldecantos.com. Disponible en:
http://www.diazvaldecantos.com/portal17/index.php?option=com_content&view=article&id=114
:cerillas-4&catid=97&Itemid=527 [Consulta 15 nov. 2016].
16 de 2016].
Introducción a la informática