INFORME SOBRE LA
RESOLUCIÓN DE
PROBLEMAS
COMPUTACIONALES
Clarines Núñez de los Santos
100729606
Introducción
La resolución de problemas computacionales es una
habilidad fundamental en la informática, la ingeniería y
muchas otras disciplinas científicas. Se refiere al proceso
mediante el cual se abordan y resuelven desafíos o
preguntas complejas utilizando herramientas y técnicas
computacionales. En términos simples, consiste en
diseñar algoritmos y programas que permitan
transformar una entrada en una salida deseada.
Este informe aborda los aspectos clave del proceso de
resolución de problemas computacionales, desde la
definición del problema hasta la implementación de una
solución, pasando por las fases de modelado, análisis y
evaluación.
1. ¿A qué se denomina problema en sentido general?
En sentido general, un problema es una situación o cuestión que
requiere una solución, es decir, es un obstáculo o desafío que
necesita ser resuelto. Los problemas pueden variar en
complejidad y naturaleza, desde cuestiones cotidianas hasta
retos técnicos complejos.
Ejemplos de problemas generales:
Un estudiante no sabe cómo organizar su tiempo para
estudiar de manera eficiente.
Una empresa enfrenta dificultades para procesar grandes
volúmenes de datos.
2. ¿Qué es un programa en informática?
Un programa en informática es un conjunto de instrucciones
codificadas que una computadora puede ejecutar para realizar
una tarea específica. Estas instrucciones pueden ser escritas en
un lenguaje de programación y pueden abarcar desde simples
cálculos hasta complejas aplicaciones de software.
3. ¿Cuáles son las etapas básicas para la resolución de
problemas? Defina cada una y ponga ejemplos.
Las etapas para resolver un problema se dividen generalmente
en los siguientes pasos: Identificación del problema: Comprender
qué se necesita resolver.
Ejemplo: Un sistema de inventario presenta errores al
registrar ventas.
Análisis del problema: Desglosar y entender las causas y
los efectos del problema.
Ejemplo: Analizar si el error proviene de la interfaz de
usuario o de la base de datos.
Diseño de la solución: Planificar una solución que
resuelva el problema.
Ejemplo: Crear un nuevo algoritmo para verificar
automáticamente los registros de ventas.
Implementación: Ejecutar el plan diseñado, lo cual
puede incluir escribir código, configurar hardware, etc.
Ejemplo: Programar el algoritmo en el sistema de
inventario.
Evaluación y prueba: Comprobar si la solución resuelve
el problema.
Ejemplo: Ejecutar pruebas para asegurarse de que los
registros ahora se gestionan correctamente.
Mantenimiento: Ajustar la solución según sea necesario.
Ejemplo: Realizar ajustes si se descubren nuevos errores
o se presentan casos no contemplados.
4. Liste las técnicas y herramientas informáticas
utilizadas en la resolución de problemas.
Las herramientas y técnicas comunes en la resolución de
problemas informáticos incluyen:
Análisis de requisitos
Diagramas de flujo
Pseudocódigo
Lenguajes de programación (Python, Java, etc.)
Herramientas de depuración (debugging)
Sistemas de gestión de bases de datos
Entornos de desarrollo integrados (IDE)
Control de versiones (Git)
Métodos ágiles de desarrollo de software (Scrum, Kanban)
5. ¿Qué es un algoritmo computacional?
Un algoritmo computacional es un conjunto finito de pasos bien
definidos que resuelven un problema o realizan una tarea
específica de manera eficiente. Los algoritmos son
fundamentales en la informática, ya que guían el
comportamiento de los programas y sistemas computacionales.
6. ¿Cuáles son los tipos de algoritmos? Defina y ponga
un ejemplo de cada uno de los tipos.
Los tipos de algoritmos pueden clasificarse de diversas maneras,
pero generalmente se dividen en:
o Algoritmos secuenciales: Realizan una serie de operaciones
una tras otra.
o Ejemplo: Un algoritmo que suma dos números.
o Algoritmos condicionales (o selectivos): Tomar decisiones
basadas en condiciones lógicas.
o Ejemplo: Un algoritmo que determina si un número es par
o impar.
o Algoritmos iterativos (o repetitivos): Realizan un conjunto
de pasos repetidamente.
o Ejemplo: Un algoritmo que suma todos los números de una
lista.
o Algoritmos recursivos: El algoritmo se llama a sí mismo para
resolver un problema más pequeño.
o Ejemplo: Un algoritmo para calcular el factorial de un
número.
7. ¿Cuáles son los componentes de un algoritmo?
Los componentes básicos de un algoritmo son:
1) Entrada: Los datos que el algoritmo recibe para procesar.
2) Proceso: Las operaciones que el algoritmo realiza sobre la
entrada.
3) Salida: El resultado producido por el algoritmo.
8. Describa los métodos conocidos para escribir
algoritmos
Los métodos más comunes para escribir algoritmos son:
a) Pseudocódigo: Descripción de un algoritmo en un lenguaje
cercano al lenguaje humano.
b) Diagramas de flujo: Representación gráfica del flujo de
control en el algoritmo.
9. Nombre las características principales de los algoritmos.
Las principales características de los algoritmos incluyen:
Finitud: Debe terminar después de un número finito de pasos.
Definición: Cada paso debe estar claramente definido.
Entrada y salida: Debe haber entradas y salidas claramente
especificadas.
Eficiencia: El algoritmo debe ser lo suficientemente eficiente en
términos de tiempo y espacio.
10. Defina los diferentes tipos de algoritmos: Cualitativo y
Cuantitativo.
Algoritmos cualitativos: Buscan resolver problemas que implican
cualidades o características, y no se pueden medir
numéricamente de manera precisa.
Ejemplo: Algoritmo para clasificar objetos según características
como color o forma.
Algoritmos cuantitativos: Están orientados a resolver problemas
que pueden ser medidos numéricamente o que involucran
cálculos exactos.
Ejemplo: Algoritmo para calcular el promedio de una serie de
números.
11. ¿A qué se denomina Pseudocódigo?
El pseudocódigo es una representación de un algoritmo usando
una mezcla de lenguaje natural y estructuras de programación,
que no sigue una sintaxis estricta, pero es lo suficientemente
clara como para expresar la lógica del algoritmo.
Ejemplo de pseudocódigo:
12. ¿Qué es un diagrama de flujo?
Un diagrama de flujo es una representación gráfica que muestra
el flujo de control de un algoritmo o proceso. Utiliza símbolos
estandarizados para representar operaciones y decisiones.
13. ¿Cuáles son los símbolos estandarizados que se utilizan
para crear diagramas de flujo?
Los símbolos comunes incluyen:
Óvalo: Inicio y fin.
Rectángulo: Acción o proceso.
Rombo: Decisión o condición.
Flechas: Indican el flujo de control.
14. ¿Qué es un diagrama de Nassi-Schneiderman? Elija un caso
a diagramar.
El diagrama de Nassi-Schneiderman es una representación
estructurada de un algoritmo, donde se utilizan bloques
anidados para reflejar las estructuras de control, como los bucles
o las decisiones.
Ejemplo de caso:
Un algoritmo que calcula el máximo de dos números puede
representarse en un diagrama de Nassi-Schneiderman mediante
un bloque que evalúa la condición y luego retorna el número
mayor.
15. Defina los siguientes elementos utilizados para escribir
algoritmos:
a) Identificadores, caracteres o conjunto de caracteres: Son
nombres utilizados para representar variables, funciones, y otros
elementos en un algoritmo.
b) Tipos de datos, constantes y variables: Los tipos de datos
especifican qué tipo de valores pueden almacenar las variables,
por ejemplo, entero, flotante, cadena. Las constantes son valores
fijos, mientras que las variables son valores cambiantes.
c) Concepto de operadores, tipos de operadores: Los operadores
son símbolos que indican operaciones. Los tipos incluyen:
Aritméticos: +, -, *, /.
Lógicos: AND, OR, NOT.
Relacionales: <, >, ==.
d) Expresiones y jerarquía de evaluación: Una expresión es una
combinación de valores, variables y operadores. La jerarquía de
evaluación indica el orden en que se deben resolver las
operaciones (por ejemplo, multiplicación antes de suma).
e) Reglas de los operadores aritméticos: Las reglas definen la
prioridad de ejecución de las operaciones:
- Primero se evalúan las operaciones dentro de paréntesis.
- Luego las multiplicaciones y divisiones.
- Finalmente, las sumas y restas.
AUTORES
George Pólya: Su libro "How to Solve It" es una obra clásica
sobre resolución de problemas matemáticos que se aplica
ampliamente en otras disciplinas.
Algoritmos y programación:
Donald Knuth: "The Art of Computer Programming", una
obra fundamental sobre algoritmos y estructuras de datos.
Thomas H. Cormen et al: "Introduction to Algorithms", un
libro ampliamente utilizado en educación sobre diseño y
análisis de algoritmos.
Diagramas de flujo y pseudocódigo:
Edward Yourdon y Larry Constantine: Contribuyeron al
desarrollo de métodos estructurados de diseño, que
incluyen el uso de diagramas como herramientas.
Documentación técnica de instituciones como la IEEE y
estándares ANSI para diagramas de flujo.
Diagramas de Nassi-Schneiderman:
Isaac Nassi y Ben Schneiderman: Creadores del método
para representar algoritmos de forma estructurada.
Programación y lenguajes de pseudocódigo:
Libros introductorios como "Programming Logic and
Design" de Joyce Farrell, que abordan el uso de
pseudocódigo y técnicas para escribir algoritmos.
Conclusión
Este informe y desarrollo proporciona una visión general de los
conceptos clave en la resolución de problemas y algoritmos en
informática. Las herramientas y métodos descritos son
fundamentales tanto para programadores como para cualquier
profesional en el ámbito tecnológico.