Leer un número de 2 dígitos y determinar si los dos dígitos son primos

En esta ocasión les comparto un algoritmo que permite leer un número de 2 dígitos y determinar si los dos dígitos son primos.

Como ya es costumbre vamos a explicar el funcionamiento de este algoritmo, entonces lo primero que hacemos es ponerle un nombre:

Algoritmo deTarea

Con la palabra reservada Definir declaramos las variables.

               Definir x, n, contador, digito, primo, a, b, c Como Entero

Con la función escribir pedimos un número.

               Escribir «Ingresa un número»

Este número lo ingresamos en la variable n.

               leer n   

Evaluamos si el número es mayor a 9 pero menor a 100, con esto nos aseguramos que sea de 2 dígitos.

               si n > 9 y n < 100 Entonces

Dividimos el numero entre 10, con la función trunc para sacar el primer digito, y lo guardamos en la variable a.

                              a = trunc(n/10)

Dividimos el numero entre 10 con la función mod, con esto logramos sacar el segundo digito y lo guardamos en la variable b.

                              b = n mod 10

Utilizamos un ciclo “PARA”, este ciclo empezara con la variable «c» valiendo 1 y se incrementará de 1 en 1 hasta llegar a 2.

                              para c = 1 Hasta 2 Con Paso 1 Hacer

En cada bucle evaluamos si la variable c es igual a 1.

                                             si c == 1 Entonces

Si la condición se cumple, entonces en la variable digito almacenamos lo que se encuentra almacenado en la variable «a», es decir almacenamos el primer digito.

                                                           digito = a

                                            SiNo

Si la condición no se cumple quiere decir que la variable «c» es igual a 2.

Entonces almacenamos en la variable digito lo que se encuentra almacenado en la variable «b», es decir almacenamos el segundo digito.

                                                           digito = b

                                             FinSi

Inicializamos la variable x con el número 1, con esta variable controlare un ciclo mientras.

                                             x = 1

Inicializo la variable contador con el número 0, con esta variable vamos a determinar si el número es primo.

                                            contador = 0

Utilizamos un ciclo que se repetirá mientras que la variable “x” que empieza valiendo 1, sea menor o igual al número almacenado en la variable digito.

                                             Mientras  x <= digito Hacer

En cada bucle evaluamos si el número almacenado en la variable digito al dividirlo entre lo que vaya valiendo x, si el residuo de la división es igual a 0,

                                                            si digito mod x == 0 Entonces

Si la condición se cumple quiere decir que es una división exacta, por lo tanto con la variable contador vamos contando estas divisiones exactas.

                                                                          contador = contador + 1

                                                           FinSi

En cada bucle incrementamos la variable x en 1, esto lo hacemos para que el ciclo mientras tenga movimiento y no se vaya a quedar en un ciclo infinito.

                                                            x = x + 1

                                            FinMientras

Al finalizar el bucle, evaluamos si la variable contador es igual a 2.

En pocas palabras estamos evaluando si el número almacenado en la variable digito, únicamente tiene dos divisores, sabemos que los números primos son aquellos que únicamente tienen dos divisores el mismo número y el número 1.

                                             si contador == 2 Entonces

Si la condición se cumple entonces mostramos un mensaje donde indicamos que el número es primo.

                                                           Escribir «El digito «,digito,» es primo»

La variable primo la incrementamos en 1, es decir cuando alguno de los dígitos del número ingresado por teclado sea primo entonces lo contamos.

                                                           primo = primo + 1

                                            SiNo

Cuando la condición no se cumpla, quiere decir que el número almacenado en la variable digito no es primo.

                                                           Escribir «EL digito «,digito,» no es primo»

                                            FinSi

                              FinPara

Después evaluamos si la variable primo es igual a 1.

                              si primo == 1 Entonces

Si la condición se cumple quiere decir que el número ingresado por teclado únicamente tiene un digito primo.

                                            Escribir «Solo un 1 digito es primo»

                              SiNo

Si la condición no se cumple, entonces evaluamos si la variable primo es igual a 2.

                                             si primo == 2 Entonces

Cuando esta condición se cumpla, quiere decir que los dos dígitos del número ingresado por teclado son primos.

                                                            Escribir «Los 2 digitos son primos»

                                            SiNo

Si esta condición no se cumple, entonces ninguno de los dígitos del número ingresado por teclado es primo.

                                                           Escribir «Ningun digito es primo»

                                            FinSi

                              FinSi     

               SiNo

Cuando se ingrese un número que no sea de dos dígitos mandamos el siguiente mensaje.

                              Escribir «El número no es de 2 dígitos»

               FinSi     

FinAlgoritmo

Leer un número de 2 dígitos y determinar si los dos dígitos son primos
Leer un número de 2 dígitos y determinar si los dos dígitos son primos

Esta es la solución de este algoritmo, espero les guste y más que nada que les pueda ser de utilidad, les dejo el código fuente.

Si mi contenido te ha sido de utilidad y te gustaría hacerme alguna donación te dejo un enlace.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *