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

(Resolvido) Estrutura de repetição 2


shadow007

Pergunta

eo seguinte

Usando a estrutura de repetição (repita...até) elabore um algoritmo que leia 100 números inteiros, maiores que zero e imprima os seguintes resultados:

A soma de todos os números impares;

O produto de todos os números pares;

Quantos números múltiplos de 10 (inclusive), foram digitados;

Quantos números múltiplos de 3 (inclusive), foram digitados;

eu fiz desse jeito

algoritmo "semnome"
// Função :
// Autor :
// Data : 5/3/2008
// Seção de Declarações 
var
   Cont, Multiplo_10, Multiplo_3: inteiro
soma_impares, produto_pares,num: real


inicio
// Seção de Comandos 
// Seção de Comandos
produto_pares <- 1
Repita

Escreva("Digite um numero: ")
Leia(num)
Se (num div 2) <> 0 então
soma_Impares<- soma_impares + num
fimse
Escreva ("soma dos numeros impares:"soma_impares)
Senao
produto_pares<- (produto_pares *num)
Escreva("produto dos numeros pares:" produto_pares)
FimSe
Se (num / 10) então
Multiplo_10 <- Multiplo_10 + 1
Escreva("Quantidade de numeros multiplos de 10:"Multiplo_10)
Senao
FimSe
Se (num / 3) então
Multiplo_3 <- Multiplo_3 + 1
Escreva("Quantidade de numeros multiplos de 3:"Multiplo_3)
FimSe
Cont <- Cont + 1
Ate (Cont = 100)
fimrepita

meu raciocinio esta correto???

da uma força caso não esteja

vlw

abraço

oO

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

vamos lá, tel agumas coisas ai q precisa ser corrigdo, mas ta ficando bom

observq

1. q no exercicio ele pede 100 numeros inteiro e você declarou o numero ou seja (num) como real

2 pra saber se o numero é impar você muda o div pra mod

se  (num mod 2 <>0) então [code]

3. a mesma coisa você faz pra achar um numero multiplo
[code] se (num mod 10 = 0) então

tire o senao (não vai ser necessario

e coloque as frases

Escreva ("soma dos numeros impares:"soma_impares)

Escreva("produto dos numeros pares:" produto_pares)

Escreva("Quantidade de numeros multiplos de 10:"Multiplo_10)

Escreva("Quantidade de numeros multiplos de 3:"Multiplo_3)

depois de fim repita

tente ai se tiver dulvida volte a postar

outra coisa

Escreva ("soma dos numeros impares:    ",{não esqueça de colcar virgula}soma_impares)
Link para o comentário
Compartilhar em outros sites

  • 0

kara eu fiz algumas mudanças aew...

vê si ficou melhor :!:

algoritmo "semnome"
// Função :
// Autor :
// Data : 6/3/2008
// Seção de Declarações 
var
    num,multiplo_10,multiplo_3,cont: inteiro
    soma_impar,produto_par:real
inicio
// Seção de Comandos


repita
escreva ("entre com o numero: ")
leia (num)
se (num mod 2 <> 0) então
soma_impar<- soma_impar + num
escreva ("soma dos numeros impares:",soma_impar)
fimse
se (num mod 2 = 0) então
produto_par<- produto_par * num
escreva ("quantidade de produtos pares:",produto_par)
fimse
se (num mod 10 = 0) então
multiplo_10<- multiplo_10 + 1
escreva ("numeros multiplos de dez:",multiplo_10)
fimse
se (num mod 3 = 0) então
multiplo_3<- multiplo_3 + 1
escreva ("numeros multiplos de trêz:",multiplo_3)
fimse
cont <-cont + 1
 ate (cont <= 5)<--aki da erro não sei porque!!
fimse
fimalgoritmo
] kara sera q fica melhor desse jeito???
algoritmo "semnome"
// Função :
// Autor :
// Data : 6/3/2008
// Seção de Declarações 
var
num,multiplo_10,multiplo_3,cont: inteiro
soma_impar,produto_par:real
inicio
// Seção de Comandos 
repita
escreva ("entre com o numero: ")
leia (num)
se (num mod 2 <> 0) então
soma_impar<- soma_impar + num
fimse
se (num mod 2 = 0) então
produto_par<- produto_par * num
fimse
se (num mod 10 = 0) então
multiplo_10<- multiplo_10 + 1
fimse
se (num mod 3 = 0) então
multiplo_3<- multiplo_3 + 1
fimse
cont <-cont + 1
 ate (cont <= 5)
fimse
escreva ("soma dos numeros impares:",soma_impar)
escreva ("quantidade de produtos pares:",produto_par)
escreva ("numeros multiplos de dez:",multiplo_10)
escreva ("numeros multiplos de trêz:",multiplo_3)
fimrepita
fimalgoritmo

si tiver alguma mudança q você possa sugerir

eu agradeço muito

vlw

Te +

Link para o comentário
Compartilhar em outros sites

  • 0

ta legal!! so o que eu sujiro ai mudar

desse geito

fimse
escreva ("soma dos numeros impares:",soma_impar)
escreva ("quantidade de produtos pares:",produto_par)
escreva ("numeros multiplos de dez:",multiplo_10)
escreva ("numeros multiplos de trêz:",multiplo_3)
fimpara
para esse geito
fimse
fimpara {obsever q o fim para fica acima das frases, ou seja, ele já vai te mostrar as informaçes no final da execulção e não nomeiro enchendo a tela, mas fique a vontade}
escreva ("soma dos numeros impares:",soma_impar)
escreva ("quantidade de produtos pares:",produto_par)
escreva ("numeros multiplos de dez:",multiplo_10)
escreva ("numeros multiplos de trêz:",multiplo_3)
fimalgoritmo

um abraço

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

  • 0

kara porque fica desse geito quando copilado

entre com o numero: 25

soma dos numeros impares: 25quantidade de produtos pares: 0numeros multiplos de dez: 0numeros multiplos de trêz: 0

*** Fim da execução.

*** Feche esta janela para retornar ao Visualg.

porque fica tudo junto??

sei lá tem alguma coisa coisa nesse algoritmo porque eu não consigo terminar!

ele não da mais dando erro, mais não obedece so comandos

algoritmo "semnome"
// Função :
// Autor :
// Data : 7/3/2008
// Seção de Declarações 
var
num,multiplo_10,multiplo_3,cont: inteiro
soma_impar,produto_par:real

inicio
// Seção de Comandos 
repita
escreva ("entre com o numero: ")
leia (num)
se (num mod 2 <> 0) então
soma_impar<- soma_impar + num
fimse
se (num mod 2 = 0) então
produto_par<- produto_par * num
fimse
se (num mod 10 = 0) então
multiplo_10<- multiplo_10 + 1
fimse
se (num mod 3 = 0) então
multiplo_3<- multiplo_3 + 1
fimse
cont <-cont + 1
ate (cont <= 5)
fimrepita
escreva ("soma dos numeros impares:",soma_impar)
escreva ("quantidade de produtos pares:",produto_par)
escreva ("numeros multiplos de dez:",multiplo_10)
escreva ("numeros multiplos de trêz:",multiplo_3)
fimalgoritmo

kara meu racocionio esta certo?/

si tiver porque ele não sege ps comandos como determinado?

ow já tentei di tudo pra terminar esse programa

i não sei mais o q fazer...

Link para o comentário
Compartilhar em outros sites

  • 0
Guest nego drama

se sua dulvida e porque fica tudo junto so basta você fazer isso

escreva ("soma dos numeros impares: {dar mais espaço    ",soma_impar,"   sempre entre aspa e não esquece a virgula         ")
escreva ("quantidade de produtos pares:      ",produto_par,"                                                ")
escreva ("numeros multiplos de dez:         ",multiplo_10,"                                               ")
escreva ("numeros multiplos de trêz:  ",multiplo_3,"                                               ")

Link para o comentário
Compartilhar em outros sites

  • 0

outra coisa

numero impares: qualquer numero divido por 2 e o conciente for diferente de 0 sera impa

exp: 13/5 =2 conciente 1

multipo de x: qualquer numerero dividido por x e o concinte igual a 0 é par

vamos dizer q x vale de 10

exp: 30 /10 = 3 conciente 0

espero q tenha ajudado qualquer coisa volte a postar

Link para o comentário
Compartilhar em outros sites

  • 0

kara eu não sei mais o q fazer!!:angry:

e não sei ondi q ta errado ele não dar as respostas, não faz calculos

var
 num,multiplo_10,multiplo_3,cont: inteiro
soma_impar,produto_par:real
inicio
// Seção de Comandos 
repita
escreva ("entre com o numero: ")
leia (num)
se (num mod 2 <> 0) então
soma_impar<- soma_impar + num
se (num mod 2 = 0) então
produto_par<- produto_par * num
se (num mod 10 = 0) então
multiplo_10<- multiplo_10 + 1
se (num mod 3 = 0) então
multiplo_3<- multiplo_3 + 1
cont <-cont + 1
ate (cont <= 5)
fimrepita
escreva ("soma dos numeros impares:",soma_impar,"                       ")
escreva ("quantidade de produtos pares:",produto_par,"                   ")
escreva ("numeros multiplos de dez:",multiplo_10,"                     ")
escreva ("numeros multiplos de trêz:",multiplo_3,"                    ")
fimse
fimse
fimse
fimse
fimrepita
fimalgoritmo

:angry:

Link para o comentário
Compartilhar em outros sites

  • 0
kara eu não sei mais o q fazer!!:angry:

e não sei ondi q ta errado ele não dar as respostas, não faz calculos

var
 num,multiplo_10,multiplo_3,cont: inteiro
soma_impar,produto_par:real
inicio
// Seção de Comandos 
repita
  escreva ("entre com o numero: ")
  leia (num)
      se (num mod 2 <> 0) então
         soma_impar<- soma_impar + num
      se (num mod 2 = 0) então
          produto_par<- produto_par * num
      se (num mod 10 = 0) então
          multiplo_10<- multiplo_10 + 1
      se (num mod 3 = 0) então
          multiplo_3<- multiplo_3 + 1
      cont <-cont + 1
  ate (cont <= 5)
fimrepita
escreva ("soma dos numeros impares:",soma_impar,"                       ")
escreva ("quantidade de produtos pares:",produto_par,"                   ")
escreva ("numeros multiplos de dez:",multiplo_10,"                     ")
escreva ("numeros multiplos de trêz:",multiplo_3,"                    ")
fimalgoritmo

:angry:

tente assim você ta colocando um fim no repita e no se fora do loop e não pode, e como o se tem apenas uma instrução dentro dele não precisa de "fimse" a não ser que seja especifico da linguagem estudada

Link para o comentário
Compartilhar em outros sites

  • 0
fimrepita {não à necessidade desse comando aqui uma vez q você so criou um laço repita e outra porque esta no lugar errado(so basta você apagar esse)}
escreva ("soma dos numeros impares:",soma_impar,"                       ")
escreva ("quantidade de produtos pares:",produto_par,"                   ")
escreva ("numeros multiplos de dez:",multiplo_10,"                     ")
escreva ("numeros multiplos de trêz:",multiplo_3,"                    ")
fimse
fimse
fimse
fimse
fimrepita {este esta no lugar certo}
fimalgoritmo

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

  • 0

eu queria saber porque esse programa não calcula

não faz nada

eu o modifiquei de novo mais deu na mesma...

algoritmo "semnome"
// Função :
// Autor :
// Data : 11/3/2008
// Seção de Declarações 
var
num,multiplo_10,multiplo_3,cont: inteiro
soma_impar,produto_par:real

inicio
// Seção de Comandos 
escreva ("entre com o numero: ")
  leia (num)
      se (num div 2 <> 0) então
         soma_impar<- soma_impar + num
      se (num div 2 = 0) então
          produto_par<- produto_par * num
      se (num div 10 = 0) então
          multiplo_10<- multiplo_10 + 1
      se (num div 3 = 0) então
          multiplo_3<- multiplo_3 + 1
      cont <-cont + 1
  ate (cont <= 5)
escreva ("soma dos numeros impares:",soma_impar,"                       ")
escreva ("quantidade de produtos pares:",produto_par,"                   ")
escreva ("numeros multiplos de dez:",multiplo_10,"                     ")
escreva ("numeros multiplos de trêz:",multiplo_3,"                    ")
fimse
fimse
fimse
fimse
fimrepita

veih já to bolado com esse programa

ow já ta ficando xato isso

Link para o comentário
Compartilhar em outros sites

  • 0

1º coisa atribua os valores 0 as variaveis

multiplo_10 := 0
multiplo_3:= 0
soma_impar := 0
produto_par := 0
2º antes do camando escreva e leia falta o laço repita
repita
   escreva ("entre com o numero: ")
   leia (num)
3º troque os comando div por mod. (estude mas sobre esses dois comando: mod e div) e feiche os se depos dos comandos
se (num mod 2 <> 0) então
      soma_impar := soma_impar + num
   fimse
4º não coloque
ate (cont <= x)
coloque dessa forma
ate cont = x {x no caso vai ser o limite q deseja "5"}
e retire o comando fim repita
escreva ("soma dos numeros impares:",soma_impar,"                       ")
escreva ("quantidade de produtos pares:",produto_par,"                   ")
escreva ("numeros multiplos de dez:",multiplo_10,"                     ")
escreva ("numeros multiplos de trêz:",multiplo_3,"                    ")

eu so não intendi uma coisa ai multiplicar os numero par

se

0 * x serpre sera 0

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

  • 0

manim eu modifiquei mais não sei se ta bom

porque o aplicativo do Visualgv2 deu "pau"!

modifiquei

algoritmo "semnome"
// Função :
// Autor :
// Data : 12/3/2008
// Seção de Declarações 
var
num,multiplo_10,multiplo_3,cont: inteiro
soma_impar,produto_par: real
inicio
// Seção de Comandos 
multiplo_10 <- 0
multiplo_3 <-0
soma_impar <- 0 
produto_par <- 0
repita 
escreva ("entre com o numero: ")
leia (num)
se (num mod <> 0) então
soma_impar <-soma_impar + num
fimse
se (num mod = 2) então
produto_par <- produto_par * num
fimse
se ( num mod 10 = 0) então
multiplo_10 <- multiplo_10 + 1 
fimse
se (num mod 3 = 0) então
multiplo_3 <- multiplo_3 + 1
ate cont = 5
escreva ("soma dos numeros impares:",soma_impar,"                       ")
escreva ("quantidade de produtos pares:",produto_par,"                   ")
escreva ("numeros multiplos de dez:",multiplo_10,"                     ")
escreva ("numeros multiplos de trêz:",multiplo_3,"                    ")
fimalgoritmo
kara fiz assim aki
se (num mod = 2) então
produto_par <- produto_par * num

aki eu acho q eu fiz certo porque qualquer numero

multiplicado por 2 o resultado sempre e um numero par

mais se eu tiver pensado errado me

corrige firmeza

falou

abraço...

Link para o comentário
Compartilhar em outros sites

  • 0

velho, você esta complicando o seu algoritmo

agora mesmo estou vendo um erro q você cometeu

observe como você colocou esta linha

se (num mod <> 0) então

esta diferente das primeiras linhas, ou seja, esta errado

corriga os erros e depois volte a postar aquela dulvida sobre multiplicar numeros pares pos já tenho uma ideia

Link para o comentário
Compartilhar em outros sites

  • 0

O nego drama está certo...

mais...

Vou jogar esse código em pascal e testar essa sua Lógica...

Está no caminho certo, mais acho que existem alguns errinhos fatais, que precisam ser corrigidos...

Vou ver aqui o que dá!!!

Abraços...

Paulo!!!

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

  • 0

sobre multiplicar os numeros eu tive uma ideia

no incio eu pedi pra você atribuir 0 a todas as variaveis você vai fazer diferente na varivel (produto_par) você vai atribuir o valor 1 nela agora olha o legal da sintaxe

produto_par <- 1







se (num mod 2 = 0) então
produto_par <- produto_par  *  num { observe : x * 1 = x se multiplicarmos qualquer numero por 1 o numero em questao não sera alterado}  
fimse






ate con = 5
{e aqui em baixo você fara o seguinte}
se (produto_par = 1) então
produot_par <- 0 
fimse
//
//
//
//

espero q entenda

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

  • 0
Guest --robson --

vamos la

no inicio eu atribuir o valor 1 a variavel produto_par

quando um numero par for digitado

a variavel multiplicara 1 * o numero par; assim

produto_par vai passar de 1 a esse numero par

exemplo

1 * 6 = 6

produto_par := produto_par * 6 {produto par vai valer agora de 6 correto}

se digitarmos outro numero par então ficara

produto_par{que agora vale de 6} := produto_par * 8

produto_par {agora valendo 48}:= produto_par * num

Boa nego drama...

Mais qual seria a lógica de multiplicar um número qualquer por 1?

Ele apenas não mudaria...

No index do algorítmo, acho que isso não resolveria muito!!!

Poderia me explicar melhor o que pensou?

Abraços...

Paulo!!!

Link para o comentário
Compartilhar em outros sites

  • 0

porque ela tem q calcular por outro numero no caso

num esta calculando por quem ai pra ser diferente ou igual a 0 por isso esta errado

teria q ser num mod x <> ou = a y

na questao ele necessuta do duvisor q no seu caso sera 10, 2, e o 3

num mod 2 <> 0 {pra  achar numeros impares}
num mod 10 = 0 { pra achar os numero multiplos de 10}
num mod 3 = 0 {pra achar os numero multiplos de 3}
se ainda tiver dulvida volte a postar
ow e porque esta errado nesta linha?
se (num mod <> 0) então

na diferença q esta e o erro ?

como posso modificar isso?

Link para o comentário
Compartilhar em outros sites

  • 0

kara surgiu uma nova duvida sobra as variaveis

var
num,cont,multiplo_10,multiplo_3,soma_impar,produto_par:inteiro

minha duvida e a seguinte...

todas a variaveis desse algoritmo são do tipo inteiro??

o Paulo_elite faluo o seguinte

Tem um erro fatal nessa declaração..

a soma dos numeros impares, sempre será um número inteiro... por que declarar como tipo real???

O mesmo serve para o produto!!!

ele esta certo?

Editado por shadow007
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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...