El pensamiento computacional es una forma de pensar lógicamente y resolver problemas de manera organizada. Es el proceso de abordar un problema de forma estructurada y de crear y expresar una respuesta para dicho problema que un sistema o máquina pueda llevar a cabo fácilmente. Esto no es solo para programadores, sino que es aplicable en diferentes áreas de campos. Con el conocimiento del pensamiento computacional, se pueden resolver varios problemas cuantitativos y relacionados con los datos y también le brindará una base para resolver problemas del mundo real. El pensamiento computacional difiere de persona a persona y digamos que una persona piensa en usar un algoritmo, entonces diferentes personas pensarán en algoritmos de diferentes maneras, por ejemplo, un científico puede pensar en ello como un procedimiento experimental,
Descomposición
La descomposición se puede definir como el proceso de resolver un problema complejo y dividirlo en más subproblemas que se pueden resolver fácilmente. Resolver un problema complejo puede ser difícil a veces, pero encontrar la solución para cada subproblema será simple, después de lo cual los subproblemas se pueden juntar para encontrar la solución completa al problema original. Es una técnica de divide y vencerás, algo que se ve en varios lugares fuera de la informática. Es importante tener en cuenta que no le dará un plan de acción completo, sino que proporciona un punto de partida para formular uno como, por ejemplo, un problema puede descomponerse con sus subtareas pero no muestra el orden. en el que puedes abordarlos. Para facilitar la comprensión de la descomposición:
- Identificar los elementos o partes de un problema complejo.
- Divide una tarea en varias subtareas (secuencialmente)
Importancia de la descomposición
- Ayuda a resolver problemas complejos fácilmente.
- Las subtareas descompuestas pueden ser realizadas o resueltas por diferentes personas o un grupo de personas (si uno no tiene suficiente conocimiento sobre el problema completo).
- Cuando el problema se divide en subtareas, cada subtarea se puede examinar en detalle.
Ejemplo
El mejor ejemplo de descomposición en informática es Recursion. En recursividad, lo usamos para simplificar un problema y dividir el problema más grande en subpartes y luego resolver cada una de las subpartes. Algunos de los ejemplos comunes de la vida real que se utilizan en su vida diaria de descomposición se dan a continuación:
- Si desea crear un nuevo juego usando la programación de computadoras, entonces, para crear el juego, escribirá diferentes funciones para diferentes acciones en el juego y luego esas funciones actuarán como subprogramas o subtareas, después de lo cual estas subtareas serán juntarse para formar un juego completo.
- En los deportes, a veces los equipos dividen al equipo contrario en equipos más débiles; de lo contrario, se unirán en un todo más fuerte.
- Cuando quiere limpiar su casa, hace una lista de cosas por hacer para hacer sus tareas.
- Al hacer un proyecto de Ciencias, debemos hacer varias cosas como investigación de antecedentes, experimentación, escribir una disertación y enviarla, etc. Entonces, ese también será un gran ejemplo de descomposición.
- Una persona aprende un nuevo idioma y cómo formar una oración usando un nuevo idioma extranjero al dividirlo en subpartes como sujeto, verbo y objeto, etc.
- Otro ejemplo puede ser un problema de matemáticas, como el siguiente número 256,37 se puede escribir como 2*10 2 +5*10 1 +6*10 0 +3*10 -1 +7*10 -2
Un buen ejemplo de descomposición en informática puede ser el algoritmo de clasificación por fusión. En este algoritmo, dividimos la array en dos partes, nos llamamos a sí mismos para las dos partes y luego fusionamos las dos partes ordenadas en una sola. El siguiente algoritmo de ordenación por fusión muestra que la array se divide recursivamente en 2 partes hasta que su tamaño se convierte en 1. Una vez que se convierte en 1, se lleva a cabo el proceso de fusión y la array se fusiona por completo.
MergeSort(arr[], l, r)
Si r > l
1. Encontrar el punto medio y dividir arr en 2 mitades
medio m = l + (r – l) / 2
2. Llame a mergeSort para la primera mitad:
Llame a mergeSort(arr, l, m)
3. Llame a mergeSort para la segunda mitad:
Llame a mergeSort(arr, m + 1, r)
4. Combinar 2 y 3 mitades en una:
Combinar llamadas (arr, l, m, r)
Publicación traducida automáticamente
Artículo escrito por tarunsinghwap7 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA