Ir para conteúdo
Fórum Script Brasil
  • 0

pessoal ajuda ai


Luiz Carlos 108

Pergunta

Pessoal, boa noite!

Estava fazendo uns exercicios de lógica de um livro que comprei aqui.

e chegou em um aqui que é o seguinte

"Ler quatro valores numéricos inteiros e apresentar os valores que são divisiveis por 2 e 3."

Pra vocês ai deve ser bem simples mas eu ainda sou iniciante e não estou conseguindo fazer

joguei meu algoritmo no VisualG e até deu certo, mas eu to achando que tem muita variavel

não sei se é o sono que não está me deixando pensar, mas vou colar abaixo o que fiz no visualG.

:blush:

se possível me informem o que é melhor fazer, fiz bastante exercicios de se...senão... fim_se, mas

esse ai me deu uma embaçada.

Tem até umas gambiarras que eu tentei fazer mas num deu muito certo

algoritmo "tentativa de fazer um algortimo"

 // as variaveis a,b,c,d serão lidas

// as r's são de verificar se os numero são diviseis(r é de resto ex:ra2 = resto de a/2)

// as div's é para atribuir o valor de a,b,c,d se elas forem divisiveis(adiv23 = a divisel por 2 e 3)

// a variavel nd é caso as variaveis a,b,c,d não forem diviseis, essa nd foi uma (nd = nada)
// mais precisamente dizendo uma gambiarra o programinha dar certo
// ela atribui ela mesma, para o senão não ficar vazio, mesmo assim num deu muito certo
// as que não são divisiveis aparecem como zero


var
a, b, c, d, ra2, ra, rb2, rb3, rc2, rc3, rd2, rd3, adiv23, bdiv23, cdiv23, ddiv23, nd:inteiro

inicio

nd <- (0)
leia (a,b,c,d)
ra2 <- a - 2 * (a div 2)
ra3 <- a - 3 * (a div 3)
rb2 <- b - 2 * (b div 2)
rb3 <- b - 3 * (b div 3)
rc2 <- c - 2 * (c div 2)
rc3 <- c - 3 * (c div 3)
rd2 <- d - 2 * (d div 2)
rd3 <- d - 3 * (d div 3)

se (ra2=0) e (ra3=0)então
   adiv23 <- (a)
senao
   nd <- nd
fimse

se (rb2 = 0) e (rb3 = 0)então
   bdiv23 <- (B)
senao
   nd <- nd
fimse

se(rc2 = 0) e (rc3 = 0)então
   cdiv23<- ©
senao
   nd  <- nd
fimse

se(rd2 = 0) e (rd3 = 0)então
   ddiv23 <- (d)
senao
   nd <- nd
fimse

escreva (adiv23, bdiv23, cdiv23, ddiv23)


fimalgoritmo

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Olá.

Fiz um outro algoritmo. Espero que seja o que você deseja. :)

a, b, c, d: inteiro

Ler a;
Ler b;
Ler c;
Ler d;

SE (a MOD 2 = 0) E (a MOD 3 = 0) ENTÃO Imprimir a;
SE (b MOD 2 = 0) E (b MOD 3 = 0) ENTÃO Imprimir b;
SE (c MOD 2 = 0) E (c MOD 3 = 0) ENTÃO Imprimir c;
SE (d MOD 2 = 0) E (d MOD 3 = 0) ENTÃO Imprimir d;

Abraços

Editado por OSJunior
Link para o comentário
Compartilhar em outros sites

  • 0

arrumei, acho que agora está certo

algoritmo "tentativa"

var
a, b ,c ,d ,ra2 ,ra3 ,rb2 ,rb3 ,rc2 ,rc3 ,rd2 ,rd3:inteiro

inicio


leia (a,b,c,d)
ra2 <- a - 2 * (a div 2)
ra3 <- a - 3 * (a div 3)
rb2 <- b - 2 * (b div 2)
rb3 <- b - 3 * (b div 3)
rc2 <- c - 2 * (c div 2)
rc3 <- c - 3 * (c div 3)
rd2 <- d - 2 * (d div 2)
rd3 <- d - 3 * (d div 3)

    se (ra2 = 0) e (ra3 = 0)então
       escreval (a)
    fimse

    se (rb2 = 0) e (rb3 = 0)então
       escreval (B)
    fimse

    se(rc2 = 0) e (rc3 = 0)então
       escreval ©
    fimse

    se(rd2 = 0) e (rd3 = 0)então
       escreval (d)
    fimse

fimalgoritmo

Link para o comentário
Compartilhar em outros sites

  • 0

Luiz,

o enunciado pede os valores que são divisíveis, o resto das divisões. Afinal, o módulo terá de ser sempre zero.

Perceba que ra2 <- a - 2 * (a div 2) é ilógico.

Imagine, por exemplo, a = 1:

ra2 <- 1 - 2 * (1 / 2)

ra2 <- 1 - 1

ra2 <- 0

Logo, as suas variáveis que armazenam o resto terão sempre o número zero como valor.

Obs.: editei o meu outro post pois havia me esquecido de estabelecer a condição nas estruturas de seleção.

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

:blink: Segundo Luiz Carlo 108 o enuciado diz: "Ler quatro valores numéricos inteiros e apresentar os valores que são divisiveis por 2 e 3."

A minha proposta é o seguinte:

algoritmo babel;

Numerico a, b, c, d 

leia(a, b, c, d);

se (a mod 2 = 0) or (a mod 3 = 0) então  //mod é  operador que retorna o resto do cálculo
escreva(a);
senao
escreva(a, " não é divisível nem por 2 e 3.");
fim_se

se (b mod 2 = 0) or (b mod 3 = 0) então
escreva(B);
senao
escreva(b," não é divisível nem por 2 ou 3.");
fim_se
...

fim_algoritmo.

Daí basta copiar e colar o código para o restante das variáveis.

Espero ter ajudado. :rolleyes:

Link para o comentário
Compartilhar em outros sites

  • 0

Marlon usei quase o mesmo raciocinio que você teve.

unica coisa que fiz de diferente foi criar uma variavel de resto

e fiz como na matematica RESTO = DIVIDENDO - DIVISOR * QUOCIENTE

e o jeito de achar o quociente ai é usado o DIV

então pensei, se o resto resto da divisão por 3 e por 2 for zero então era pra escrever

por isso criei a variavel

joguei no VisualG e deu certo vou testar agora em C# pra ver se dá também.

Abraço e obrigado pela ajuda

Link para o comentário
Compartilhar em outros sites

  • 0

Luiz,

segundo o enunciado, ele não pede o valor dos restos das divisões. O enunciado quer saber quais números são divisíveis.

Apresentando o resto, você utiliza variáveis de modo desnecessário, principalmente porque você pode utilizar apenas 1 variável para o resto e ir exibindo-a logo após a verificação das condições.

Até

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...