Ir para conteúdo

POWERED BY:

Arquivado

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

clone_pt

[Resolvido] Algoritmos (Visualg)

Recommended Posts

Boa noite :)

Estou precisando de uma ajuda com estes 6 exercícios de algorítmia (é um trabalho para a escola)...

 

Será que alguem pode dar uma ajudinha?

 

1. Dado o ano de nascimento de 5 pessoas, calcular a idade de cada pessoa, indicar se a pessoa
é maior de idade ou menor de idade. No final apresentar a média de idades.

2. Algoritmo que receba um número inteiro e calcule os primeiros n múltiplos do número. O
número de múltiplos (n) é indicado pelo utilizador no início do algoritmo.

3. Algoritmo que apresente números impares entre 4 e 65 e calcule e apresente a respectiva
média.

4. Algoritmo para calcular a soma de vários números inferiores a 100 introduzidos pelo
utilizador. O número só é adicionado se for inferior a 100. Termina quando a soma for igual ou
superior a 600. No final é apresentada a soma e quantos números foram somados.

5. Ler 10 números e calcular e apresentar a percentagem de múltiplos de 3.

6. Dado o preço de um artigo e 6 quantidades distintas desse artigo, calcular e apresentar o
valor de cada quantidade. Apresentar também o valor total.

Obrigado desde já.

Cumps,

clone_pt

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo você quer ajuda ou que alguém faça os exercícios de escola para você? Se quiser ajuda só começar um dos exercícios que agente vai ajudando na medidad do possível, agora fazer tudo para você acho meio difícil.

 

Abraços e bons estudos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu já consegui resolver alguns, e aqui fica o código que eu consegui:

 

Problema 1: Dado o ano de nascimento de 5 pessoas, calcular a idade de cada pessoa, indicar se a pessoa

é maior de idade ou menor de idade. No final apresentar a média de idades.

algoritmo "Idades"
var
p1, p2, p3, p4, p5, idadep1, idadep2, idadep3, idadep4, idadep5, maior: inteiro
media: real
inicio
escreva("Qual é o ano de nascimento da primeira pessoa? ")
leia(p1)
idadep1 <- 2010-p1
escreva("A primeira pessoa tem",idadep1," anos ")
se idadep1>=18 entao
escreval("e é maior de idade.")
senao
escreval("e é menor de idade.")
fimse
escreva("Qual é o ano de nascimento da segunda pessoa? ")
leia(p2)
idadep2 <- 2010-p2
escreva("A segunda pessoa tem",idadep2," anos ")
se idadep2>=18 entao
escreval("e é maior de idade.")
senao
escreval("e é menor de idade.")
fimse
escreva("Qual é o ano de nascimento da terceira pessoa? ")
leia(p3)
idadep3 <- 2010-p3
escreva("A terceira pessoa tem",idadep3," anos ")
se idadep3>=18 entao
escreval("e é maior de idade.")
senao
escreval("e é menor de idade.")
fimse
escreva("Qual é o ano de nascimento da quarta pessoa? ")
leia(p4)
idadep4 <- 2010-p4
escreva("A quarta pessoa tem",idadep4," anos ")
se idadep4>=18 entao
escreval("e é maior de idade.")
senao
escreval("e é menor de idade.")
fimse
escreva("Qual é o ano de nascimento da quinta pessoa? ")
leia(p5)
idadep5 <- 2010-p5
escreva("A quinta pessoa tem",idadep5," anos ")
se idadep5>=18 entao
escreval("e é maior de idade.")
senao
escreval("e é menor de idade.")
fimse
media <- (idadep1+idadep2+idadep3+idadep4+idadep5)/5
escreva("A média das idades é: ",media)
fimalgoritmo

Problema 2: Algoritmo que receba um número inteiro e calcule os primeiros n múltiplos do número. O

número de múltiplos (n) é indicado pelo utilizador no início do algoritmo. Este aqui não funciona e o código que tenho actualmente é:

algoritmo "Múltiplos"
var
i, n, numero, resto: inteiro
inicio
escreva("Qual é o número? ")
leia(numero)
escreva("Quantos múltiplos deseja calcular? ")
leia(n)
para i de 1 ate n faca
resto <- numero mod n
se resto = 0 entao
escreva(n)
fimse
fimpara
fimalgoritmo

Problema 3: Algoritmo que apresente números impares entre 4 e 65 e calcule e apresente a respectiva

média. Nâo consegui resolver este porque não sei como é que faço o Visualg escolher os números impares :S

 

Problema 4: Algoritmo para calcular a soma de vários números inferiores a 100 introduzidos pelo

utilizador. O número só é adicionado se for inferior a 100. Termina quando a soma for igual ou

superior a 600. No final é apresentada a soma e quantos números foram somados.

 

algoritmo "somatorio"
var
numero, soma, cont:inteiro
inicio
cont<-0
enquanto soma < 600 faca
 cont<-cont+1
escreva("Introduza um número: ")
leia (numero)
se numero < 100 entao
soma <- soma + numero
senao
escreval("Insira um número inferior a 100")
fimse
fimenquanto
escreval("Somou", cont," números e a soma dos números introduzidos é ", soma,".")
fimalgoritmo

Problema 5: Ler 10 números e calcular e apresentar a percentagem de múltiplos de 3. Este não sei como calcular a percentagem de múltiplos de 3 :S

 

Problema 6: Dado o preço de um artigo e 6 quantidades distintas desse artigo, calcular e apresentar o

valor de cada quantidade. Apresentar também o valor total.

 

algoritmo "artigos"
var
preco, precoq1, precoq2, precoq3, precoq4, precoq5, precoq6, precototal: real
quant1, quant2, quant3, quant4, quant5, quant6: inteiro
inicio
// Seção de Comandos
escreva("Qual é o preço do artigo (em euros)? ")
leia(preco)
escreva("Insira uma quantidade (1/6): ")
leia(quant1)
precoq1 <- preco*quant1
escreval("O preço da quantidade 1 é: ", precoq1,"€.")
escreva("Insira uma quantidade (2/6): ")
leia(quant2)
precoq2 <- preco*quant2
escreval("O preço da quantidade 2 é: ", precoq2,"€.")
escreva("Insira uma quantidade (3/6): ")
leia(quant3)
precoq3 <- preco*quant3
escreval("O preço da quantidade 3 é: ", precoq3,"€.")
escreva("Insira uma quantidade (4/6): ")
leia(quant4)
precoq4 <- preco*quant4
escreval("O preço da quantidade 4 é: ", precoq4,"€.")
escreva("Insira uma quantidade (5/6): ")
leia(quant5)
precoq5 <- preco*quant5
escreval("O preço da quantidade 5 é: ", precoq5,"€.")
escreva("Insira uma quantidade (6/6): ")
leia(quant6)
precoq6 <- preco*quant6
escreval("O preço da quantidade 6 é: ", precoq6,"€.")
precototal <- precoq1+precoq2+precoq3+precoq4+precoq5+precoq6
escreval(" ")
escreval("O preço total é: ", precototal,"€.")
fimalgoritmo

Quanto aos algoritmos 1 e 6 eu acho que o código está muito grande, porque eu não achei outra maneira para usar menos variáveis... Será que alguém pode me ajudar a simplificar eles?

 

Obrigado pelo seu tempo,

Cumps, clone_pt

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já progredi no ex. 2...

 

algoritmo "Múltiplos"
var
i, n, numero, resto: inteiro
inicio
escreva("Qual é o número? ")
leia(numero)
escreva("Quantos múltiplos deseja calcular? ")
leia(n)
para i de 1 ate n faca
resto <- numero mod i
se resto = 0 entao
escreva(i)
fimse
fimpara
fimalgoritmo

No entanto este não é o resultado desejado, porque ele só calcula os múltiplos de 1 até (n), e (n) deveria ser o número de múltiplos a apresentar no final, por exemplo:

 

Qual é o número? 30
Quantos múltiplos deseja calcular? 20
 1 2 3 5 6 10 15
*** Fim da execução.
*** Feche esta janela para retornar ao Visualg.

Só está aparecendo múltiplos de 1 a 20, e deveria aparecer 20 múltiplos :S

 

Alguma solução?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que bom amigo, + só uma coisa, nesse seu exercicio 1 ai, usa um loop q o código fica bem + limpo ;D

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que bom amigo, + só uma coisa, nesse seu exercicio 1 ai, usa um loop q o código fica bem + limpo ;D

 

[]s

 

O código final ficou assim:

 

algoritmo "Idades"

var
i ,anoactual, anonasc: inteiro
media, idade, total: real

inicio
escreva("Ano actual: ")
leia(anoactual)
total <- 0
para i de 1 ate 5 faca
escreva("Ano de nascimento: ")
leia(anonasc)
idade <- anoactual-anonasc
escreval("Idade: ", idade," anos")
total <- total+idade
se idade>=18 entao
escreval("Maior de idade: Sim")
senao
escreval("Maior de idade: Não")
fimse
fimpara
media <- total/5
escreval("Média de idades: ", media," anos.")
fimalgoritmo

O que você acha? (:

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.