En este ejemplo de aplicación de sentencias selectivas múltiples tomaremos un ejercicio del libro: "Fundamentos de programacíon Piensa en C" (Cairó) el cual dice:
Se dice que un número N es primo si los únicos enteros positivos que lo dividen son exactamente 1 y N. Construye un diagrama de flujo y el correspondiente programa en C que lea un número entero positivo NUM y escriba todos los números primos menores a dicho número.
Dato: NUM (variable de tipo entero que representa al número entero positivo que se ingresa).
Aplicando los pasos para realizar un diagrama de flujo:
Paso
1: Definición del problema.
Se quiere realizar un programa
que al ingresar un numero entero positivo el programa imprima los números
primos que sean menores a dicho numero ingresado.
Paso
2: Planeación de la solución.
Datos de
entrada: Un número entero positivo
Datos de
salida: Números primos inferiores al número ingresado.
Datos
adicionales: Ninguno.
Proceso:
Lo primero que se debe hacer es
conocer el número que va a servir de límite para calcular los números primos,
después el programa procede a evaluar si el número es mayor que 0, si esta
condición no se cumple imprime “Numero invalido”. Si la condición es verdadera
se procede a declarar contador 2 igual a 1 y contador de la división igual a 0.
El programa después evalúa si el contador dos es menor o igual que el contador,
si esta condición es verdadera procede a evaluar el residuo que hay entre el
contador y el contador 2 y este mismo debe ser igual a cero. Si esto se cumple
el contador de la división aumenta uno, también el contador dos aumenta uno.
Este proceso se repite hasta que el contador 2 sea mayor al contador, cuando
esto ocurre se evalúa si el contador de la división es menor que dos e imprime
el contador y después aumenta el mismo en uno. Este proceso se repite hasta que
el contador sea mayor que el número ingresado. Se utiliza sentencias do if, do
while y while para realizar este programa de repeticiones. El programa imprime
los números que pasaron todas estas evaluaciones, es decir los números primos.
Diagrama de flujo:
Programa en lenguaje C:
/* CABECERA
Nombres: Juan Diego Mantilla
Fecha: 22-Noviembre-2014
Descripción: Lo primero que se debe hacer es conocer el número que va a servir de límite para calcular los números primos, después el programa procede a evaluar si el número es mayor que 0, si esta condición no se cumple imprime "Numero invalido". Si la condición es verdadera se procede a declarar contador 2 igual a 1 y contador de la división igual a 0. El programa después evalúa si el contador dos es menor o igual que el contador, si esta condición es verdadera procede a evaluar el residuo que hay entre el contador y el contador 2 y este mismo debe ser igual a cero. Si esto se cumple el contador de la división aumenta uno, también el contador dos aumenta uno. Este proceso se repite hasta que el contador 2 sea mayor al contador, cuando esto ocurre se evalúa si el contador de la división es menor que dos e imprime el contador y después aumenta el mismo en uno. Este proceso se repite hasta que el contador sea mayor que el número ingresado. Se utiliza sentencias do if, do while y while para realizar este programa de repeticiones. El programa imprime los números que pasaron todas estas evaluaciones, es decir los números primos.
*/
#include <stdio.h>
main()
{
int cont=1, cont2=1, contd=0, num;
printf("Ingrese el numero:\n");
scanf("%d", &num);
if(num>0){
do{
cont2=1;
contd=0;
while(cont2<=cont)
{
if(cont%cont2==0)
contd++;
cont2++;
}
if(contd<=2)
printf("\nEl numero primo es: %d\n", cont);
cont++;
}while(cont<=num);
}
else{
printf("Ingrese un numero valido");
}
getch();
}
CAPTURAS DE PANTALLA:
tendrá el diagrama de flujo y que me lo pueda proporcionar porfavor?
ResponderEliminar