Escreva um programa em C a partir do fluxograma mostrado a seguir, que recebe
um número inteiro e informa:
a. Os números “primos” entre 1 e o número informado;
b. Os números múltiplos de 2 e 3 (simultaneamente) entre 1 e o número informado;
c. O programa só deve terminar sua execução quando o usuário quiser, ou seja, deve ser
solicitado ao usuário se ele deseja avaliar um novo número se a resposta for positiva
um novo número deve ser fornecido para o processamento, caso contrário o programa
é encerrado (essa etapa não está prevista no fluxograma).
Programação
Escreva um programa em C a partir do fluxograma mostrado a seguir, que recebe
um número inteiro e informa:
a. Os números “primos” entre 1 e o número informado;
b. Os números múltiplos de 2 e 3 (simultaneamente) entre 1 e o número informado;
c. O programa só deve terminar sua execução quando o usuário quiser, ou seja, deve ser
solicitado ao usuário se ele deseja avaliar um novo número se a resposta for positiva
um novo número deve ser fornecido para o processamento, caso contrário o programa
é encerrado (essa etapa não está prevista no fluxograma).
a)
Inicialmente devemos definir as variáveis que serão utilizadas
#include <iostream>
using namespace std;
int main()
{ int numero,divisoes,i;
Com isso, devemos receber um número e já podemos imprimir na tela o número 1 que já é certeza ser o primeiro primo.
cout<<"Escreva um número";
cin>>numero;//recebe numero
cout<<1<<endl;//escreve 1
Agora inserimos uma pequena condição para garantir que o número informado seja acima de 1 e iniciamos nosso laço para verificar o intervalo entre o número informado e 1.
if(numero>1){//condição
for( i=0;i<numero+1;i++){//pecorre o intervalo
Com isso, devemos verificar se o mesmo é primo, realizando divisões. O que sabemos sobre números primos é que somente duas divisões com resto zero podem ocorrer, assim teremos:
for(int j=1;j<i+1;j++){//percorre os possíveis divisores do numero
if(i%j==0){// verifica se o resto é zero
divisoes = divisoes+1;//acréscimo ao número de divisões com resto=0
}
}
Assim, caso ao final do segundo laço o número possua exatamente 2 divisões de resto=0,
Podemos imprimi-lo na tela, zerar a variável divisões para o próximo número e encerrar o algoritmo.
if(divisoes==2){//verifica se é primo
cout<<i<<endl; //imprime o número
}
divisoes=0;//reinicia a variavel
}}
return 0;
}//encerra algoritmo
b)
Inicialmente devemos definir as variáveis a serem utilizadas.
#include <iostream>
using namespace std;
int main()
{ int numero,i;//variáveis
Agora devemos receber o número a ser informado pelo usuário, assim:
cout<<"Escreva um número";//recebe numero
cin>>numero;
Dessa forma percorremos o intervalo de 1 até o número informado para que se verifique quais números são múltiplos de 2 e 3. Dessa forma teremos que:
if(numero>1){
for(i=1;i<numero+1;i++){
if(i%2==0){//verifica se é múltiplo de 2
cout<<i<<endl;
}
if(i%3==0){//verifica se é múltiplo de 3
cout<<i<<endl;
}
}}
return 0;
}
c)
Com base no item B, podemos criar o seguinte sistema utilizando a variável continuar, assim teremos que:
#include <iostream>
using namespace std;
int main()
{ int numero,i;//variáveis a serem utilizadas
int continuar=1;//determina que o programa irá continuar
Com isso, verificamos a variável continuar, se a mesma for igual a 1, o programa irá continuar a exceção, caso a mesma seja diferente disso, o programa será encerrado.
while(continuar==1){//verifica se deve continuar ou não
cout<<"Escreva um número";// corpo do programa
cin>>numero;
if(numero>1){
for(i=1;i<numero+1;i++){
if(i%2==0){
cout<<i<<endl;
}
if(i%3==0){
cout<<i<<endl;
}
}}
Ao fim do corpo do programa, devemos perguntar ao usuário de ele deseja ou não continuar e armazenar o valor de sua resposta na variável prevista, assim o laço dará continuidade ou não.
cout<<"Deseja continuar o programa? 1-Sim 2- Não";
cin>>continuar;//recebe decisão
}
return 0;
}//Fim do algoritmo
a)
Inicialmente devemos definir as variáveis que serão utilizadas
#include <iostream>
using namespace std;
int main()
{ int numero,divisoes,i;
Com isso, devemos receber um número e já podemos imprimir na tela o número 1 que já é certeza ser o primeiro primo.
cout<<"Escreva um número";
cin>>numero;//recebe numero
cout<<1<<endl;//escreve 1
Agora inserimos uma pequena condição para garantir que o número informado seja acima de 1 e iniciamos nosso laço para verificar o intervalo entre o número informado e 1.
if(numero>1){//condição
for( i=0;i<numero+1;i++){//pecorre o intervalo
Com isso, devemos verificar se o mesmo é primo, realizando divisões. O que sabemos sobre números primos é que somente duas divisões com resto zero podem ocorrer, assim teremos:
for(int j=1;j<i+1;j++){//percorre os possíveis divisores do numero
if(i%j==0){// verifica se o resto é zero
divisoes = divisoes+1;//acréscimo ao número de divisões com resto=0
}
}
Assim, caso ao final do segundo laço o número possua exatamente 2 divisões de resto=0,
Podemos imprimi-lo na tela, zerar a variável divisões para o próximo número e encerrar o algoritmo.
if(divisoes==2){//verifica se é primo
cout<<i<<endl; //imprime o número
}
divisoes=0;//reinicia a variavel
}}
return 0;
}//encerra algoritmo
b)
Inicialmente devemos definir as variáveis a serem utilizadas.
#include <iostream>
using namespace std;
int main()
{ int numero,i;//variáveis
Agora devemos receber o número a ser informado pelo usuário, assim:
cout<<"Escreva um número";//recebe numero
cin>>numero;
Dessa forma percorremos o intervalo de 1 até o número informado para que se verifique quais números são múltiplos de 2 e 3. Dessa forma teremos que:
if(numero>1){
for(i=1;i<numero+1;i++){
if(i%2==0){//verifica se é múltiplo de 2
cout<<i<<endl;
}
if(i%3==0){//verifica se é múltiplo de 3
cout<<i<<endl;
}
}}
return 0;
}
c)
Com base no item B, podemos criar o seguinte sistema utilizando a variável continuar, assim teremos que:
#include <iostream>
using namespace std;
int main()
{ int numero,i;//variáveis a serem utilizadas
int continuar=1;//determina que o programa irá continuar
Com isso, verificamos a variável continuar, se a mesma for igual a 1, o programa irá continuar a exceção, caso a mesma seja diferente disso, o programa será encerrado.
while(continuar==1){//verifica se deve continuar ou não
cout<<"Escreva um número";// corpo do programa
cin>>numero;
if(numero>1){
for(i=1;i<numero+1;i++){
if(i%2==0){
cout<<i<<endl;
}
if(i%3==0){
cout<<i<<endl;
}
}}
Ao fim do corpo do programa, devemos perguntar ao usuário de ele deseja ou não continuar e armazenar o valor de sua resposta na variável prevista, assim o laço dará continuidade ou não.
cout<<"Deseja continuar o programa? 1-Sim 2- Não";
cin>>continuar;//recebe decisão
}
return 0;
}//Fim do algoritmo
a)
Inicialmente devemos definir as variáveis que serão utilizadas
#include <iostream>
using namespace std;
int main()
{ int numero,divisoes,i;
Com isso, devemos receber um número e já podemos imprimir na tela o número 1 que já é certeza ser o primeiro primo.
cout<<"Escreva um número";
cin>>numero;//recebe numero
cout<<1<<endl;//escreve 1
Agora inserimos uma pequena condição para garantir que o número informado seja acima de 1 e iniciamos nosso laço para verificar o intervalo entre o número informado e 1.
if(numero>1){//condição
for( i=0;i<numero+1;i++){//pecorre o intervalo
Com isso, devemos verificar se o mesmo é primo, realizando divisões. O que sabemos sobre números primos é que somente duas divisões com resto zero podem ocorrer, assim teremos:
for(int j=1;j<i+1;j++){//percorre os possíveis divisores do numero
if(i%j==0){// verifica se o resto é zero
divisoes = divisoes+1;//acréscimo ao número de divisões com resto=0
}
}
Assim, caso ao final do segundo laço o número possua exatamente 2 divisões de resto=0,
Podemos imprimi-lo na tela, zerar a variável divisões para o próximo número e encerrar o algoritmo.
if(divisoes==2){//verifica se é primo
cout<<i<<endl; //imprime o número
}
divisoes=0;//reinicia a variavel
}}
return 0;
}//encerra algoritmo
b)
Inicalmente devemos definir as variáveis a serem utilizadas.
#include <iostream>
using namespace std;
int main()
{ int numero,i;//variáveis
Agora devemos receber o número a ser informado pelo usuário, assim:
cout<<"Escreva um número";//recebe numero
cin>>numero;
Dessa forma percorremos o intervalo de 1 até o número informado para que se verifique quais números são múltiplos de 2 e 3. Dessa forma teremos que:
if(numero>1){
for(i=1;i<numero+1;i++){
if(i%2==0){//verifica se é múltiplo de 2
cout<<i<<endl;
}
if(i%3==0){//verifica se é múltiplo de 3
cout<<i<<endl;
}
}}
return 0;
}
c)
Com base no item B, podemos criar o seguinte sistema utilizando a variável continuar, assim teremos que:
#include <iostream>
using namespace std;
int main()
{ int numero,i;//variáveis a serem utilizadas
int continuar=1;//determina que o programa irá continuar
Com isso, verificamos a variável continuar, se a mesma for igual a 1, o programa irá continuar a exceção, caso a mesma seja diferente disso, o programa será encerrado.
while(continuar==1){//verifica se deve continuar ou não
cout<<"Escreva um número";// corpo do programa
cin>>numero;
if(numero>1){
for(i=1;i<numero+1;i++){
if(i%2==0){
cout<<i<<endl;
}
if(i%3==0){
cout<<i<<endl;
}
}}
Ao fim do corpo do programa, devemos perguntar ao usuário de ele deseja ou não continuar e armazenar o valor de sua resposta na variável prevista, assim o laço dará continuidade ou não.
cout<<"Deseja continuar o programa? 1-Sim 2- Não";
cin>>continuar;//recebe decisão
}
return 0;
}//Fim do algoritmo
Para escrever sua resposta aqui, entre ou crie uma conta.
Compartilhar