Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Paulo Duarte

[Resolvido] (repita...até)

Recommended Posts

Boa tarde alguem me ensina como eu faço ???

 

 

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;

Compartilhar este post


Link para o post
Compartilhar em outros sites

O q me veio na cabeça foi algo assim.

 

repita
	leia num
	x<-resto(num,2)
	se (x=0) então
		cont <- cont + 1
		k <- k + num
	senão
		y <- y + num
	fim_se
	z<-resto(num,10)
	se (z=0) então
		cont_m10 <- cont_m10 + 1
	fim_se
	w<-resto(num,3)
	se (w=0) então
		cont_m3 <- cont_m3 + 1 
	fim_se
	cont_num <- cont_num +1
até cont_num <> 100

Escreva("A soma de todos os números impares é " + y);
Escreva("O produto de todos os números pares é " + k/cont);
Escreva("Quantidade de multiplos de 10 é " + cont_m10);
Escreva("Quantidade de multiplos de 3 é " + cont_m3);

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara realmente vai da erro no visualg c você colocar assim do jeito q eu postei neh..

 

você tem q inicializar o algoritmo, criar as variaveis, zerar o contador, e eu naum manjo o portugol implementado em visualg pq eu faço o portugol td no caderno ai alguns comandos são diferentes tipo 'fimalgoritmo' eu soh preciso colocar 'fim' q termina.

 

flw =D

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu falei com meu amigo ele me deu uma dica asim

 

Seguinte, use o MOD para descobrir o que se pede

O MOD retorna o resto da divisão inteira.... mas como assim?

Por exemplo: 10 MOD 2 = 0

ou seja, 10 dividido por 2 = 5 que resta 0

Então, pra descobrir se um número é ímpar, par, multiplo de 3, multiplo de 10, multiplo de 10000

Utiliza-se o MOD para fazer isso

para descobrir número par, usa-se:

X mod 2

para descobrir ímpar, usa-se a mesma regras, porém o resto será diferente de zero

multiplo de 3:

X mod 3

múltiplo de 10:

X mod 10

e assim por diante

após o repita, coloque o Escreva e o Leia

Depois disso, você inicia o Se

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu fis asim no visualg e agora e resto como eu faço??

 

 

algoritmo "semnome"

// Função :

// Autor :

// Data : 14/11/2007

// Seção de Declarações

var

num_impares, Produto, num_pares:inteiro

inicio

// Seção de Comandos

repita

Escreva("Digite números impares")

Leia(num_impares)

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que voce precisa basicamente é de contadores.

O exemplo do amigo acima está legal, é só traduzir para o visualg.

 

Veja um exemplo:

 

algoritmo "semnome"
// Função :
// Autor :
// Data : 14/11/2007
// Seção de Declarações
var
   contador, cont_pares, num:inteiro

inicio
   // Seção de Comandos
      cont_pares <- 0
      contador <- 0
      repita
	        Escreva("Digite um número")
	        Leia(num)
	        // veja como se calcula a quantidade de numeros pares digitados
	        se (num MOD 2 = 0) entao // se o numero e multiplo de 2
		          cont_pares <- cont_pares + 1 // isso conta quantas vezes o programa entrou nesse "se"
	        fimse
	        contador <- contador + 1
      ate contador = 20
fimalgoritmo

Usando isso como referencia faça o restante.

 

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;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fis asim os pares mais onde vou por os impares dentro desse algoritemo?? da um exemplo??

 

algoritmo "semnome"

// Função :

// Autor :

// Data : 14/11/2007

// Seção de Declarações

var

contador, cont_pares, num:inteiro

 

inicio

// Seção de Comandos

cont_pares <- 0

contador <- 0

repita

Escreva("Digite um número")

Leia(num)

// veja como se calcula a quantidade de numeros pares digitados

se (num MOD 10 = 0) entao // se o numero e multiplo de 10

cont_pares <- cont_pares + 1 // isso conta quantas vezes o programa entrou nesse "se"

fimse

contador <- contador + 1

ate contador = 100

fimalgoritmo

 

os impares tambem tipo aqui não ta contando os numeros impares porque??? onde eu errei??

 

 

var

contador, cont_impares, num:inteiro

 

inicio

// Seção de Comandos

cont_impares <- 0

contador <- 0

repita

Escreva("Digite um número")

Leia(num)

// veja como se calcula a quantidade de numeros pares digitados

se (num MOD 3 = 1) entao // se o numero e multiplo de 3

cont_impares <- cont_impares + 1 // isso conta quantas vezes o programa entrou nesse "se"

fimse

contador <- contador + 1

ate contador = 100

fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voce quer um exemplo ou o problema resolvido?

É só pensar. Veja:

 

algoritmo "semnome"
// Função :
// Autor :
// Data : 14/11/2007
// Seção de Declarações
var
   contador, cont_pares, num:inteiro

inicio
   // Seção de Comandos
	  cont_pares <- 0
	  contador <- 0
	  repita
			Escreva("Digite um número")
			Leia(num)
			// veja como se calcula a quantidade de numeros pares digitados
			se (num MOD 2 = 0) entao // se o numero e multiplo de 2
				  cont_pares <- cont_pares + 1 // isso conta quantas vezes o programa entrou nesse "se"
			senao
				  // aqui sera os impares
			fimse
			contador <- contador + 1
	  ate contador = 20
fimalgoritmo

Eu fis asim os pares mais onde vou por os impares dentro desse algoritemo?? da um exemplo??

 

Voce errou aqui:

se (num MOD 3 = 1) entao // se o numero e multiplo de 3

Veja a pergunta e obtenha a resposta.

Esse trecho significa:

se a variavel num dividido por 3 restar 1 entao

o número 4 por exemplo se encaixa nisso não?

4 / 3 = 1 resto 1.

 

os impares tambem tipo aqui não ta contando os numeros impares porque??? onde eu errei??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito Obrigado Kandrade funciono agora tópico resolvido http://forum.imasters.com.br/public/style_emoticons/default/natal_happy.gif

 

 

algoritmo "semnome"

// Função :

// Autor :

// Data : 14/11/2007

// Seção de Declarações

var

contador, cont_pares, cont_impares, num:inteiro

 

inicio

// Seção de Comandos

cont_pares <- 0

contador <- 0

cont_impares <- 0

repita

Escreva("Digite um número")

Leia(num)

// veja como se calcula a quantidade de numeros pares digitados

se (num MOD 10 = 2) entao // se o numero e multiplo de 2

cont_pares <- cont_pares + 1 // isso conta quantas vezes o programa entrou nesse "se"

senao (num MOD 3 = 2) entao

cont_impares <- cont_impares + 1

 

fimse

contador <- contador + 1

ate contador = 100

fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.