Ir ao conteúdo
  • Cadastre-se

VisualG Problema com verificação da estrutura de repeticão


Posts recomendados

Estou com uma dúvida em um exercício de uma lista fornecida pela faculdade, o exercicio é o seguinte

Citação

Escreva um algoritmo que leia uma lista de n nomes e imprima os nomes concatenados em uma frase separados com espaço. O valor de n deve ser fornecido pelo usuário. Caso o nome Francisco seja digitado, a leitura dos nomes deve ser interrompida. Veja os exemplos abaixo:

• n=5, nomes digitados = Maria, Joao, Paulo, Felipe e Jose.

Saída: Maria Joao Paulo Felipe Jose.

• n = 5, nomes digitados = Maria, Joao, Francisco

Saída: Maria Joao

O  problema é que quando o usuário fornece por exemplo o valor 3 para a variável N, o usuário precisa digitar 4 vezes os nomes em vez de apenas 3 vezes

Algoritmo "semnome"
// Disciplina  :  [Fundamentos de Programação]
// Professor   : Melise Maira Veiga de Paula
// Descrição   : Aqui você descreve o que o programa faz! (função)
// Autor(a)    : Nome do(a) aluno(a)
// Data atual  : 30/03/2018
Var
   // Seção de Declarações das variáveis
   n,cont:inteiro
   nome,nomes:caracter

Inicio
   // Seção de Comandos, procedimento, funções, operadores, etc...
   escreval("Digite um valor N p listar") // o usuario é informado p digitar
   // um valor
   leia(n) // o valor N é lido
   escreva("Digite um nome") //o usuario é informado p digitar um nome
   leia(nome)// o nome é lido, caso o nome seja FRANCISCO o programa é encerrado
   cont<-0 // a variavel cont é inicializada
   enquanto (nome <> "FRANCISCO") e (n <> cont) faca // enquanto a var nome
      // for diferente de de FRANCISCO e var n for de diferente de cont
      //a estrutura é repetida
      cont<-cont+1 //é definida a var cont
      nomes<-nomes+" "+nome//é definida a var nomes
      escreval("Digite um nome")//o usuario é informado p digitar
      //um nome p a verificação da estrutura
      leia(nome)// o nome é lido
   fimenquanto
   escreval(nomes) //após o final das condições a variavel nomes é impressa

Fimalgoritmo

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@ThiagoSiqueira    você colocou para pegar um  nome antes do enquanto,  e precisaria pegar os nomes dentro do enquanto, e a concatenação dos nomes precisa ser feita depois de pegar o nome com o comando leia, então seu código com algumas modificações seria assim :

Algoritmo "escola_2"
// Professor   : Melise Maira Veiga de Paula
// Data atual  : 30/03/2018
  Var
    n,cont:inteiro
    nome,nomes:caracter
  Inicio
    escreval("Digite um valor N p listar") // o usuario é informado p digitar
    leia(n)                                // o valor N é lido
    cont<-0                                // a variavel cont é inicializada
    enquanto (nome <> "FRANCISCO") e (n <> cont) faca // enquanto a var nome
      escreval("Digite um nome")           //o usuario é informado p digitar
      leia(nome)                           // o nome é lido
      cont<-cont+1                         //é definida a var cont
      nomes<-nomes+" "+nome                //é definida a var nomes
    fimenquanto
    escreval(nomes)                         //após o final das condições a variavel nomes é impressa
Fimalgoritmo

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...