Ajuda Portugol VisuAlg

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Ajuda Portugol VisuAlg

Mensagem por dayana_silva em Seg 4 Nov - 14:43

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???Sad Sad

#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

Voltar ao Topo Ir em baixo

Re: Ajuda Portugol VisuAlg

Mensagem por lucas_string em Sex 15 Nov - 14:15

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

lucas_string
Turma 20.911

Mensagens : 1
Reputação : 1
Data de inscrição : 15/11/2013

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum