Ajuda Portugol VisuAlg
2 participantes
Página 1 de 1
Ajuda Portugol VisuAlg
Gente preciso de help!
João quer montar um painel contendo diferentes números de LEDs. Como não têm muitos, não tem certeza se vai ser capaz de montar o número desejado. Considerando-se a configuração dos LEDs conforme consta o exemplo na Figura 1, fazer um algoritmo que ajude João descobrir quantos LEDs são necessários para montar o número.
Entrada
A entrada contém um número inteiro N, (1 ≤ N ≤ 2000) correspondente ao número de casos de teste, seguido por N linhas, cada linha contendo um número (1 ≤ V ≤ 10100) que corresponde ao valor que João quer representar com LEDs.
Saída
Para cada caso de teste, imprimir uma linha contendo o número de LEDs que João precisa para representar o valor desejado, seguido da palavra "leds".
Exemplo de Entrada Exemplo de Saída
5 9 leds
45 13 leds
89 14 leds
100 16 leds
1010 28 leds
134290
Só consegui em linguagem C mas eu quero em portugol, alguem ajuda-me???
#include
int main() {
int N, V, leds_por_alg[10]={6, 2, 5, 5, 4, 5, 6, 3, 7, 6}, tot_leds, alg, aux, i;
scanf("%d", &N);
for (i=1; i<=N; i++) {
scanf("%d", &V);
aux = V;
tot_leds = 0;
while (aux > 0) {
alg = aux % 10;
tot_leds += leds_por_alg[alg];
aux /= 10;
}
printf("%d leds\n", tot_leds);
}
system("pause");
}
João quer montar um painel contendo diferentes números de LEDs. Como não têm muitos, não tem certeza se vai ser capaz de montar o número desejado. Considerando-se a configuração dos LEDs conforme consta o exemplo na Figura 1, fazer um algoritmo que ajude João descobrir quantos LEDs são necessários para montar o número.
Entrada
A entrada contém um número inteiro N, (1 ≤ N ≤ 2000) correspondente ao número de casos de teste, seguido por N linhas, cada linha contendo um número (1 ≤ V ≤ 10100) que corresponde ao valor que João quer representar com LEDs.
Saída
Para cada caso de teste, imprimir uma linha contendo o número de LEDs que João precisa para representar o valor desejado, seguido da palavra "leds".
Exemplo de Entrada Exemplo de Saída
5 9 leds
45 13 leds
89 14 leds
100 16 leds
1010 28 leds
134290
Só consegui em linguagem C mas eu quero em portugol, alguem ajuda-me???
#include
int main() {
int N, V, leds_por_alg[10]={6, 2, 5, 5, 4, 5, 6, 3, 7, 6}, tot_leds, alg, aux, i;
scanf("%d", &N);
for (i=1; i<=N; i++) {
scanf("%d", &V);
aux = V;
tot_leds = 0;
while (aux > 0) {
alg = aux % 10;
tot_leds += leds_por_alg[alg];
aux /= 10;
}
printf("%d leds\n", tot_leds);
}
system("pause");
}
dayana_silva- Turma 20.911
- Mensagens : 1
Reputação : 1
Data de inscrição : 04/11/2013
Re: Ajuda Portugol VisuAlg
Testa esse algoritmo:
algoritmo "leds"
var
qtd: vetor[0..9] de inteiro
N, V, aux, alg, i, qtd_leds: inteiro
inicio
qtd[0] <- 6
qtd[1] <- 2
qtd[2] <- 5
qtd[3] <- 5
qtd[4] <- 4
qtd[5] <- 5
qtd[6] <- 6
qtd[7] <- 4
qtd[8] <- 7
qtd[9] <- 6
leia(N)
enquanto ((N < 1) ou (N > 2000)) faca
escreva("Valor inválido. Informe o número de casos de teste entre 1 e 2000: ")
leia(N)
fimenquanto
para i de 1 ate N faca
leia (V)
enquanto ((V < 1) ou (V > 10100)) faca
escreva("Valor inválido. Informe um número entre 1 e 10100: ")
leia(V)
fimenquanto
qtd_leds <- 0
aux <- V
enquanto (aux > 0) faca
alg <- aux % 10
qtd_leds <- qtd_leds + qtd[alg]
aux <- aux \ 10
fimenquanto
escreval("Número: ", V, " -> ", qtd_leds, " leds")
fimpara
fimalgoritmo
algoritmo "leds"
var
qtd: vetor[0..9] de inteiro
N, V, aux, alg, i, qtd_leds: inteiro
inicio
qtd[0] <- 6
qtd[1] <- 2
qtd[2] <- 5
qtd[3] <- 5
qtd[4] <- 4
qtd[5] <- 5
qtd[6] <- 6
qtd[7] <- 4
qtd[8] <- 7
qtd[9] <- 6
leia(N)
enquanto ((N < 1) ou (N > 2000)) faca
escreva("Valor inválido. Informe o número de casos de teste entre 1 e 2000: ")
leia(N)
fimenquanto
para i de 1 ate N faca
leia (V)
enquanto ((V < 1) ou (V > 10100)) faca
escreva("Valor inválido. Informe um número entre 1 e 10100: ")
leia(V)
fimenquanto
qtd_leds <- 0
aux <- V
enquanto (aux > 0) faca
alg <- aux % 10
qtd_leds <- qtd_leds + qtd[alg]
aux <- aux \ 10
fimenquanto
escreval("Número: ", V, " -> ", qtd_leds, " leds")
fimpara
fimalgoritmo
lucas_string- Turma 20.911
- Mensagens : 1
Reputação : 1
Data de inscrição : 15/11/2013
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos