Comando - Mientras
El comando "mientras" se utiliza en PSeInt (y en otros lenguajes de programación) para crear una estructura de bucle
que permite repetir un bloque de instrucciones mientras se cumpla una condición determinada.
La sintaxis del comando "mientras" en PSeInt es la siguiente:
La condición es una expresión lógica que se evalúa en cada iteración del bucle. Si la condición es verdadera, se ejecuta el
bloque de instrucciones contenido dentro del "mientras". Después de ejecutar el bloque, el programa vuelve a evaluar la
condición. Si la condición sigue siendo verdadera, se repite el ciclo. El bucle continúa hasta que la condición se vuelva
falsa, momento en el que se sale del bucle y se continúa con la ejecución del programa.
Es importante asegurarse de que dentro del bloque de instrucciones haya una forma de modificar las variables o
condiciones que forman parte de la condición del "mientras". De lo contrario, si la condición nunca se cumple, el bucle
se ejecutará infinitamente y el programa quedará atrapado en un ciclo interminable.
Veamos el siguiente ejemplo:
Problemática Explicativa: Enunciado: Suma hasta llegar a 50. Descripción: Eres un estudiante encargado de desarrollar
un programa que permita al usuario ingresar una serie de números y acumular su suma hasta alcanzar o superar el valor
de 50. El programa debe repetir la solicitud de números hasta que se cumpla esta condición y, finalmente, mostrar la
suma total obtenida.
Requerimientos:
● El programa debe solicitar al usuario que ingrese un número en cada repetición.
● Debe realizar la suma acumulativa de los números ingresados.
● El programa debe repetir la solicitud de números hasta que la suma acumulada alcance o supere el valor de 50.
● Una vez que se cumpla la condición, el programa debe mostrar en pantalla la suma total obtenida.
Nota: El programa no debe permitir que se ingrese un número negativo.
Este enunciado plantea una problemática en la cual se debe utilizar el comando "mientras" para repetir una serie de
instrucciones hasta que se alcance o supere un determinado valor. En este caso, se busca acumular la suma de números
ingresados hasta que la suma sea igual o mayor a 50. El programa debe garantizar la interacción con el usuario para
ingresar los números y mostrar el resultado final.
Ahora analicemos el diagrama de flujo correspondiente a este ejemplo:
Recuerda que el diagrama de flujo es una representación visual del flujo de ejecución del programa y puede variar en su
diseño y estilo dependiendo de las convenciones utilizadas. Este diagrama muestra los pasos principales del ejemplo de
suma hasta llegar a 50, brindando una visión clara de la lógica del programa.
Situaciones Problemas
A continuación se plantearan una serie de situaciones problemas para poder trabajar con los estudiantes. A cada una de
ellas corresponderá una solución alternativa, para la cual las y los estudiantes utilizaran las herramientas del
pensamiento computacional y el método de Pólya para resolver problemas.
1) Comprender el problema. Reconocer que se pregunta, identificar lo que hay que resolver y las condiciones asociadas.
2) Elaborar un plan. Se trata de establecer la vinculación entre los datos presentes y el problema a resolver, determinar
los recursos que se utilizaran, verificar la similitud con otros problemas previamente resueltos y también la posibilidad
de utilizar teorías o modelos útiles, todo esto en función de buscar una manera de resolver el problema.
3) Ejecutar el plan. Desarrollar el resultado de la respuesta, a partir de ejecutar el plan, avanzando y verificando cada
paso.
4) Revisar y verificar. Controlar que hace y que dice el resultado, con vistas a considerar la posibilidad de trasferir la
solución a otros problemas.
Problemáticas
A) Situación Problema: Cálculo del factorial
A tener en cuenta:
Un número factorial se denota con el símbolo "!" y se refiere al producto de todos los números enteros positivos desde
1 hasta ese número. En otras palabras, el factorial de un número se obtiene multiplicando ese número por todos los
números enteros positivos que le preceden.
Por ejemplo, el factorial de 5 se denota como 5! y se calcula de la siguiente manera:
5! = 5 x 4 x 3 x 2 x 1 = 120
Descripción: Eres un estudiante de una escuela técnica y te han asignado la tarea de desarrollar un programa que calcule
el factorial de un número entero no negativo ingresado por el usuario. El número factorial de un número se calcula
multiplicando todos los números enteros desde 1 hasta ese número.
Requerimientos:
● El programa debe solicitar al usuario que ingrese un número entero no negativo.
● Utiliza el comando "mientras" para calcular el factorial del número ingresado.
● El programa debe mostrar el resultado del factorial calculado al final.
Nota: Asegúrate de validar que el número ingresado sea un entero no negativo.
Pensamiento computacional y la resolución de este problema:
Podemos aplicar el pensamiento computacional y sus herramientas en conjunto con el método de Pólya para resolver el
problema:
Descomposición:
● Identificar los pasos principales del problema: solicitud del número, cálculo del factorial y mostrar el resultado.
● Dividir el problema en tareas más pequeñas y manejables: capturar el número, realizar el cálculo del factorial y
mostrar el resultado.
Abstracción:
● Identificar los elementos clave del problema: número ingresado, cálculo del factorial y resultado.
● Ignorar los detalles irrelevantes y enfocarse en la lógica principal del problema.
● Representar el problema de manera abstracta, utilizando variables y operaciones.
Patrones:
● Identificar patrones o estructuras repetitivas en el problema.
● Observar que el cálculo del factorial implica una multiplicación repetida por un número decreciente.
● Identificar el uso del bucle mientras para repetir la multiplicación hasta que se alcance una condición de
finalización.
Algoritmo:
● Diseñar un algoritmo paso a paso para resolver el problema.
● Utilizar el bucle “mientras” para repetir el cálculo del factorial mientras el número sea mayor que 0.
● Dentro del bucle, multiplicar el factorial actual por el número y decrementar el número en cada iteración.
● Al finalizar el bucle, mostrar el resultado del factorial calculado.
Método de Póyla
El método de resolución de problemas de George Pólya se puede aplicar al problema del cálculo del factorial utilizando
las herramientas del pensamiento computacional de la siguiente manera:
1. Comprender el problema:
● Comprender completamente el problema y lo que se está buscando resolver.
● Identificar las restricciones y requisitos específicos del problema.
2. Elaborar un plan:
● Descomponer el problema en pasos más manejables, utilizando la descomposición del pensamiento
computacional.
● Utilizar la abstracción para identificar los elementos clave y las operaciones necesarias.
● Considerar el patrón de repetición y la necesidad de un bucle para calcular el factorial.
● Diseñar un algoritmo claro y estructurado para resolver el problema.
3. Ejecutar el plan:
● Implementar el algoritmo utilizando el lenguaje de programación adecuado (en este caso, PSeInt).
● Utilizar el bucle mientras y las operaciones de multiplicación para calcular el factorial.
● Asegurarse de que el programa maneje adecuadamente las entradas del usuario y los casos límite.
4. Revisar y verificar la solución
● Revisar y verificar el resultado obtenido.
● Comprobar si el programa cumple con todos los requisitos y restricciones del problema.
● Identificar posibles mejoras o ajustes para optimizar la solución.
B) Situación Problema: Cálculo de resistencias en un circuito
Descripción: Un grupo de estudiantes de primer ciclo una escuela técnica de la provincia de Buenos Aires está asistiendo
al taller de sistemas tecnológicos trabajando contenidos relacionados a electrónica. Su tarea es desarrollar un programa
que calcule el valor de la resistencia total o equivalente en un circuito en serie, dado el valor de resistencias individuales
ingresadas por el usuario. El valor de la resistencia total se calcula sumando todas las resistencias en serie.
Requerimientos:
● El programa debe solicitar al usuario que ingrese el valor de cada resistencia.
● Utiliza el comando "mientras" para sumar los valores de resistencias ingresados hasta que se ingrese un valor
igual a cero.
● Al finalizar, el programa debe mostrar el valor total de resistencia.
Nota: Asegúrate de validar que los valores ingresados sean números válidos para resistencias (mayores o iguales a cero).
Pensamiento computacional y la resolución de este problema:
A continuación veremos cómo aplicar las herramientas del pensamiento computacional a este problema de calcular la
resistencia total en un circuito utilizando PSeInt:
Descomposición:
● Identifica los pasos principales del problema: solicitud de valores de resistencia, cálculo de la resistencia total y
mostrar el resultado.
● Divide el problema en tareas más pequeñas y manejables: solicitar valores de resistencia, sumar los valores
ingresados y mostrar el resultado.
Abstracción:
● Identifica los elementos clave del problema: valores de resistencia ingresados y la resistencia total.
● Ignora los detalles irrelevantes y enfócate en la lógica principal del problema.
● Representa el problema de manera abstracta utilizando variables y operaciones.
Patrones:
● Observa el patrón de repetición en la solicitud de valores de resistencia hasta que se ingrese un valor igual a
cero.
● Identifica el uso del bucle mientras para repetir la solicitud y suma de resistencias hasta que se ingrese un valor
de terminación.
Algoritmo:
● Diseña un algoritmo paso a paso para resolver el problema.
● Utiliza el bucle mientras para repetir la solicitud de valores de resistencia hasta que se ingrese un valor igual a
cero.
● Dentro del bucle, suma los valores de resistencia ingresados a la variable de resistencia total.
● Al finalizar el bucle, muestra en pantalla el valor de resistencia total.
Al aplicar estas herramientas, estás desglosando el problema en pasos más manejables, abstrayendo los elementos
clave, identificando patrones y diseñando un algoritmo claro para resolver el problema de manera eficiente.
Método de Póyla
El método de resolución de problemas de George Pólya se puede aplicar al problema de calcular la resistencia total en
un circuito, teniendo en cuenta las herramientas del pensamiento computacional que hemos utilizado previamente:
1. Comprensión del problema:
● Comprender completamente el problema y lo que se busca resolver: calcular la resistencia total en un circuito en
serie a partir de los valores de resistencias individuales.
● Identificar las restricciones y requisitos específicos del problema: solicitar valores de resistencias, sumarlos y
mostrar el resultado.
2. Elaborar un plan:
● Descomponer el problema en pasos más manejables: solicitud de valores de resistencia, suma de resistencias y
mostrar el resultado.
● Utilizar la abstracción para identificar los elementos clave y las operaciones necesarias: variables para almacenar
los valores de resistencia y la resistencia total, operaciones de suma y presentación del resultado.
● Considerar el patrón de repetición: utilizar un bucle mientras para repetir la solicitud y suma de resistencias
hasta que se ingrese un valor de terminación (cero).
3. Ejecutar el plan:
● Implementar el algoritmo utilizando PSeInt, como se muestra en el código proporcionado anteriormente.
● Asegurarse de que el programa maneje adecuadamente las entradas del usuario y los casos límite, como valores
negativos o no numéricos.
4. Revisar y verificar la solución:
● Revisar y verificar el resultado obtenido: comprobar que el valor de resistencia total sea correcto.
● Comprobar si el programa cumple con todos los requisitos y restricciones del problema: asegurarse de que el
programa solicite los valores de resistencia correctamente, sume correctamente y muestre el resultado
esperado.
● Identificar posibles mejoras o ajustes para optimizar la solución: por ejemplo, agregar validación de entrada para
garantizar que solo se ingresen valores numéricos válidos.
C) Situación Problema: Control de temperatura en la soldadura de estructuras metálicas
Descripción: En una clase de taller de procedimientos técnicos, el profesor ha asignado a un grupo de estudiantes la
tarea de desarrollar un programa que controle la temperatura en el proceso de soldadura de estructuras metálicas. El
objetivo es garantizar la calidad de las uniones soldadas y cumplir con los estándares de seguridad y especificaciones
requeridos. El programa debe permitir el ingreso de la temperatura actual en grados Celsius y compararla con el rango
de temperatura aceptable para la soldadura. Si la temperatura está fuera del rango aceptable, deberá mostrar una
advertencia, detener el proceso de soldadura y permitir regular la temperatura.
Requerimientos:
● Solicitar al usuario la temperatura actual del proceso de soldadura en grados Celsius.
● Comparar la temperatura ingresada con los límites de temperatura aceptable para soldadura (por ejemplo, entre
180°C y 220°C).
● Si la temperatura está dentro del rango aceptable, mostrar un mensaje indicando que la soldadura puede
continuar.
● Si la temperatura está fuera del rango aceptable, mostrar una advertencia indicando que la temperatura es
incorrecta, detener el proceso de soldadura y permitir regular la temperatura.
Pensamiento computacional y la resolución de este problema:
Para resolver el problema de control de temperatura en el proceso de soldadura utilizando las herramientas del
pensamiento computacional, podemos aplicarlas de la siguiente manera:
Descomposición: Dividir el problema en pasos más pequeños y manejables. Por ejemplo, dividirlo en los siguientes
pasos:
● Entrada de la temperatura actual.
● Comparación de la temperatura con los límites aceptables.
● Mostrar mensajes de advertencia y detener el proceso si es necesario.
● Permitir regular la temperatura si está fuera del rango aceptable.
● Mostrar mensaje de continuación del proceso si la temperatura es adecuada.
Abstracción: Identificar las partes esenciales y relevantes del problema, ignorando los detalles menos importantes. En
este caso, se trata de controlar la temperatura en el proceso de soldadura, compararla con los límites aceptables y tomar
acciones adecuadas en base a esa comparación.
Patrones: Identificar patrones o soluciones recurrentes en el problema y utilizarlos para resolverlo de manera eficiente.
En este caso, podemos identificar el patrón de comparación de la temperatura con los límites aceptables y la lógica de
mostrar mensajes y detener el proceso si es necesario.
Algoritmo: Utilizar un conjunto de instrucciones secuenciales y estructuradas para resolver el problema. Divide el
problema en pasos, utiliza condicionales (Si-Entonces-Sino) para tomar decisiones basadas en la comparación de la
temperatura, y muestra mensajes correspondientes según el resultado.
En resumen, la descomposición nos ayuda a dividir el problema en pasos manejables, la abstracción nos permite
identificar los aspectos clave del problema, los patrones nos ayudan a reconocer soluciones recurrentes y el algoritmo
nos proporciona una secuencia lógica de instrucciones para resolver el problema de manera estructurada.
Método de Póyla
El método de resolución de problemas de Pólya se puede aplicar al problema del control de temperatura en el proceso
de soldadura siguiendo los pasos de comprensión del problema, planificación del problema, ejecución del plan y revisión
del proceso. A continuación, se presenta cómo se aplicaría el método de Pólya en este caso, teniendo en cuenta las
herramientas del pensamiento computacional previamente aplicadas:
1. Comprender el problema: Comprender completamente el enunciado del problema, identificando los requisitos y
restricciones del mismo. Descomponer el problema en partes más pequeñas para entenderlo mejor, como la entrada
de la temperatura, la comparación con los límites aceptables y las acciones a tomar en función del resultado.
2. Elaborar un Plan: Identificar las herramientas del pensamiento computacional utilizadas hasta ahora:
descomposición, abstracción, patrones y algoritmo.
● Utilizar la descomposición para dividir el problema en pasos manejables y definir qué se debe hacer en cada
paso.
● Aplicar la abstracción para identificar las partes esenciales del problema y los conceptos clave, como los límites
de temperatura y las acciones a tomar.
● Reconocer los patrones en el problema, como la comparación de la temperatura y las acciones condicionales
basadas en el resultado.
● Diseñar el algoritmo basado en los pasos y las decisiones necesarias para controlar la temperatura en el proceso
de soldadura.
3. Ejecutar el plan: Implementar el algoritmo en un lenguaje de programación, como PSeInt, siguiendo los pasos y la
lógica definidos en el plan. Realizar pruebas del programa utilizando diferentes valores de temperatura para verificar
su correcto funcionamiento. Asegurarse de que el programa cumpla con los requisitos establecidos en el enunciado
del problema.
4. Revisar y verificar la solución: Evaluar el programa y su solución en función de la efectividad para controlar la
temperatura en el proceso de soldadura. Identificar posibles mejoras o ajustes que se puedan realizar en el
algoritmo o en la implementación para optimizar el proceso de control de temperatura. Analizar la eficiencia y la
legibilidad del programa, asegurándose de que esté correctamente estructurado y fácil de entender.
D) Situación Problema: Áreas y Perímetros
Descripción: En una escuela técnica, los estudiantes de 14 años están aprendiendo sobre el cálculo de áreas y
perímetros de diferentes figuras geométricas. Como parte de su proyecto final, se les asigna la tarea de desarrollar un
programa en PSeInt que permita calcular el área y perímetro de diversas figuras, como rectángulos y círculos.
Requerimientos:
El programa debe cumplir con los siguientes requisitos:
● Mostrar un mensaje de bienvenida y presentar las opciones disponibles para el cálculo.
● Solicitar al usuario que seleccione la figura deseada: 1 para rectángulo y 2 para círculo.
● Validar la entrada del usuario y repetir la solicitud hasta que se ingrese una opción válida.
● Si se selecciona la opción 1, solicitar la base y la altura del rectángulo.
● Calcular el área y el perímetro del rectángulo utilizando las fórmulas correspondientes.
● Mostrar los resultados del área y el perímetro del rectángulo.
● Si se selecciona la opción 2, solicitar el radio del círculo.
● Calcular el área y el perímetro del círculo utilizando las fórmulas correspondientes.
● Mostrar los resultados del área y el perímetro del círculo.
Pensamiento computacional y la resolución de este problema:
Para resolver el problema utilizando las herramientas de pensamiento computacional, puedes seguir los siguientes
pasos:
Descomposición: Dividir el problema en partes más pequeñas y manejables. En este caso, podemos descomponer el
problema en las siguientes partes:
● Mostrar el menú de opciones al usuario.
● Solicitar y validar la figura deseada.
● Solicitar y obtener los datos necesarios según la figura seleccionada.
● Calcular el área y el perímetro de la figura.
● Mostrar los resultados al usuario.
Abstracción: Identificar los elementos y procesos clave sin entrar en detalles innecesarios. En este caso, los elementos
clave son la figura seleccionada (rectángulo o círculo), los datos necesarios para el cálculo (base, altura o radio), y los
resultados (área y perímetro).
Patrones: Identificar patrones o repeticiones en el problema que puedan ser abordados de manera similar. En este caso,
el patrón es solicitar datos, realizar cálculos y mostrar resultados, que se repite tanto para el rectángulo como para el
círculo.
Algoritmo: Traducir la solución en pasos claros y secuenciales que puedan ser seguidos por una computadora. El
algoritmo debe incluir las instrucciones necesarias para presentar el menú, leer la opción seleccionada, realizar los
cálculos correspondientes y mostrar los resultados.
Al utilizar estas herramientas del pensamiento computacional, nos ayuda a analizar y resolver problemas de manera más
estructurada y efectiva, facilitando la implementación de soluciones en forma de algoritmos y programas.
Método de Póyla
A continuación, te muestro cómo se puede aplicar el método de resolución de problemas Pólya en el contexto de la
problemática planteada:
1) Comprender el problema:
● Aplicar la herramienta de descomposición para dividir el problema en partes más pequeñas y comprender cada
componente individualmente.
● Identificar los elementos clave, como la figura seleccionada, los datos necesarios y los resultados esperados.
● Comprender los requisitos y restricciones del problema, como la validación de la entrada del usuario y la
repetición del proceso hasta que el usuario decida salir.
2) Elaborar un plan:
● Utilizar la herramienta de abstracción para simplificar el problema y centrarse en los aspectos esenciales.
● Identificar los algoritmos y fórmulas necesarios para calcular el área y el perímetro de cada figura.
● Establecer un plan general que incluya la presentación del menú, la solicitud de datos, los cálculos y la
visualización de los resultados.
3) Ejecutar el Plan:
● Utilizar la herramienta de algoritmo para traducir el plan en pasos secuenciales y claros.
● Implementar el código en PSeInt siguiendo los pasos del algoritmo diseñado.
● Asegurarse de que el código maneje correctamente las entradas del usuario, realice los cálculos correctos y
muestre los resultados esperados.
4) Revisar y verificar la solución:
● Probar el programa con diferentes valores de entrada y verificar si produce los resultados correctos.
● Realizar pruebas de límites para asegurarse de que el programa maneje adecuadamente situaciones extremas o
inesperadas.
● Identificar posibles mejoras o áreas de optimización en el código.