Ir para conteúdo

POWERED BY:

Arquivado

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

flotus

Algoritimo Estrutura de repetição

Recommended Posts

Olá, estou com dificuldades para descrever os seguintes algoritmos de estrutura de repetição, pois estou começando agora na area e tenho várias duvidas, preciso de uma luz para clarear minha idéias.. ficarei grato com a ajuda..

 

 

1. Faça um algoritmo que leia 10 números e obtenha :

* A soma dos números;

* A média dos números;

* O maior número; e

* O menor número.

 

2. Faça um algoritmo que solicite números inteiros até que um número ímpar seja digitado. O Algoritmo deverá informar ao final, quantos números pares foram informados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quais as suas dificuldades?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz um tempo que não mexo nessa linguagem do visualg, mas tentei aqui.

Pode estar errado, mas a lógica é mais ou menos essa:

 

algoritmo "flotus"

VAR
 num : VETOR[1..10] de INTEIRO
 i, maior, menor, soma : INTEIRO
 media : REAL

INICIO
 PARA i:=1 ATE 10 FACA
   ESCREVAL("Digite o", i," numero:")
   LEIA(num[i])
   soma:= soma + num[i]
 FIMPARA

 maior:= num[1];
 menor:= num[1];

 PARA i:=1 ATE 10 FACA
   SE num[i] > maior ENTAO
     maior:= num[i];
   SENAO
     SE num[i] < menor ENTAO
       menor:= num[i];
   FIMSE
 FIMPARA

media:= soma / 10;

ESCREVAL("O maior numero e: ", maior,". O menor numero e: ", menor,".")
ESCREVAL("A Soma dos numeros e: ", soma)
ESCREVAL("A media dos numeros e: ", media)
FIMALGORITMO

 

Leia o código, entenda-o e faça o segundo exercício. abç

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu renan pela força, agora consegui entender um pouco melhor

 

abraço

 

Quais as suas dificuldades?

 

 

então gostaria de saber se o correto para o exercicio 2 seria usar usar um cont. e como usa-lo dentro da estrutura?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para saber se o número é par ou impar, pode fazer o seguinte:

 

<variavel> MOD 2 = 0

(se o resto da divisão por dois for 0, significa que o numero é par)

 

SE num MOD 2 = 0 ENTAO
par = par + 1;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite Flotus.

 

Como você disse que esta começando a estudar programação agora (eu tambem :thumbsup: ), resolvi tentar fazer o seu exercicio.

 

Não cheguei na parte dos Vetores ainda, estou nos Laços de Repetição, mais precisamente, no PARA..FAÇA.

 

Veja como eu fiz:

 

var
i, num, maior, menor: inteiro
media, soma: real
inicio
// Seção de Comandos
Escreval ("Digite um numero")
leia (num)
maior <- num
menor <- num
soma <- soma + num
para i de 1 ate 9 faca
  Escreval ("Próximo numero")
  Leia (num)
  soma <- soma + num
  media <- soma / 10
  se num > maior entao
     maior <- num
  senao
     se num < menor entao
        menor <- num
     fimse
  fimse
fimpara
Escreval ("A soma dos números é: ",soma)
Escreval ("A media dos números é: ",media)
Escreval ("O número maior é: ", maior)
Escreval ("O número menor é: ", menor)
fimalgoritmo

 

Confesso que quebrei muito a cabeça para fazer desta forma, pois nunca tinha feito um exercício assim.

Espero ter ajudado você.

 

Esse exercicio me ajudou a entender melhor o Laço de Repetição PARA...FAÇA. :clap:

Compartilhar este post


Link para o post
Compartilhar em outros sites

para i de 1 ate 9 faca
  Escreval ("Próximo numero")
  Leia (num)
  soma <- soma + num
  media <- soma / 10
  se num > maior entao
     maior <- num
  senao
     se num < menor entao
        menor <- num
     fimse
  fimse
fimpara

 

Isso está errado, não!?

Cada vez que o comando dentro do loop é executado é tirado a média (dividido por 10).

 

A média só é tirada no final no programa, após ter feito a soma de TODOS os números.

Basta tirar a linha:

media <- soma / 10

de dentro da estrutura de repetição :lol:

Compartilhar este post


Link para o post
Compartilhar em outros sites

para i de 1 ate 9 faca
  Escreval ("Próximo numero")
  Leia (num)
  soma <- soma + num
  media <- soma / 10
  se num > maior entao
     maior <- num
  senao
     se num < menor entao
        menor <- num
     fimse
  fimse
fimpara

 

Isso está errado, não!?

Cada vez que o comando dentro do loop é executado é tirado a média (dividido por 10).

 

A média só é tirada no final no programa, após ter feito a soma de TODOS os números.

Basta tirar a linha:

media <- soma / 10

de dentro da estrutura de repetição :lol:/>

 

Valeu Renan, eu não tinha prestado a atenção nesse detalhe :blush:

 

Agora sim o meu algoritmo esta certo rsrsrs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite Flotus.

 

Como você disse que esta começando a estudar programação agora (eu tambem :thumbsup:/> ), resolvi tentar fazer o seu exercicio.

 

Não cheguei na parte dos Vetores ainda, estou nos Laços de Repetição, mais precisamente, no PARA..FAÇA.

 

Veja como eu fiz:

 

var
i, num, maior, menor: inteiro
media, soma: real
inicio
// Seção de Comandos
Escreval ("Digite um numero")
leia (num)
maior <- num
menor <- num
soma <- soma + num
para i de 1 ate 9 faca
  Escreval ("Próximo numero")
  Leia (num)
  soma <- soma + num
  media <- soma / 10
  se num > maior entao
     maior <- num
  senao
     se num < menor entao
        menor <- num
     fimse
  fimse
fimpara
Escreval ("A soma dos números é: ",soma)
Escreval ("A media dos números é: ",media)
Escreval ("O número maior é: ", maior)
Escreval ("O número menor é: ", menor)
fimalgoritmo

 

Confesso que quebrei muito a cabeça para fazer desta forma, pois nunca tinha feito um exercício assim.

Espero ter ajudado você.

 

Esse exercicio me ajudou a entender melhor o Laço de Repetição PARA...FAÇA. :clap:/>

 

 

 

Cara muito bom, eu tenho dificuldades para identificar as variaveis, e como estruturar elas dentro do codigo, mas com ajuda de vcs vou suprindo minha dificuldades, obrigado mesmo

 

abraço

 

Boa noite Flotus.

 

Como você disse que esta começando a estudar programação agora (eu tambem :thumbsup:/> ), resolvi tentar fazer o seu exercicio.

 

Não cheguei na parte dos Vetores ainda, estou nos Laços de Repetição, mais precisamente, no PARA..FAÇA.

 

Veja como eu fiz:

 

var
i, num, maior, menor: inteiro
media, soma: real
inicio
// Seção de Comandos
Escreval ("Digite um numero")
leia (num)
maior <- num
menor <- num
soma <- soma + num
para i de 1 ate 9 faca
  Escreval ("Próximo numero")
  Leia (num)
  soma <- soma + num
  media <- soma / 10
  se num > maior entao
     maior <- num
  senao
     se num < menor entao
        menor <- num
     fimse
  fimse
fimpara
Escreval ("A soma dos números é: ",soma)
Escreval ("A media dos números é: ",media)
Escreval ("O número maior é: ", maior)
Escreval ("O número menor é: ", menor)
fimalgoritmo

 

Confesso que quebrei muito a cabeça para fazer desta forma, pois nunca tinha feito um exercício assim.

Espero ter ajudado você.

 

Esse exercicio me ajudou a entender melhor o Laço de Repetição PARA...FAÇA. :clap:/>

 

 

 

 

Cara muito bom, eu tenho dificuldades para identificar as variaveis, e como estruturar elas dentro do codigo, mas com ajuda de vcs vou suprindo minha dificuldades, obrigado mesmo

 

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

lgoritimo "numeros pares"

entao cara para o segundo exercicio eu fiz assim, mas nao sei como ele vai me retornar quantos numeros pares foram digitados, aguardo retorno abraço

 

 

 

var

numero: inteiro

 

inicio

 

escreva ("Digite um numero: ")

leia (numero)

se (numero mod 2 = 0) entao

escreva (numero," É par")

senao

escreva (numero," É impar")

 

fimse

 

fimalgoritomo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde Flotus.

 

Para você contar quantos números pares foram digitados, tem que criar uma variável que seja contadora.

 

algoritmo "semnome"
// Função :
// Autor :
// Data : 01/12/2012
// Seção de Declarações 
var
numero, cont: inteiro
inicio
// Seção de Comandos
escreva ("Digite um numero: ")
leia (numero)
se (numero mod 2 = 0) entao
cont <- cont + 1 // Essa é a variavel contadora, toda a vez que o usuario digitar um numero par ele vai contar acrescentado + 1.
escreval (numero," É par")
senao
escreval (numero," É impar")
fimse
Escreval ("A quantidade de numeros pares é: ",cont) // E aqui ele vai mostrar a quantidade de numeros pares.
fimalgoritmo

 

Pelo menos eu entendi desta forma.

 

Deus abençoe você.

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.