Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
PeroVaz

VisualG Erro programa no Visualg

Recommended Posts

Postado (editado)

Galera, alguém pode rodar esse programa no Visualg 3.0 e me ajudar a resolver esse erro do qual não estou entendendo?

É um trabalho de faculdade, disciplina Algoritmos II.

PS: ainda não terminei o programa.

 

Algoritmo "APS"
//resgistro do campo aluno
tipo
   aluno = registro
      identificador:inteiro
      nome:caractere
      idade:caractere
      sexo:caractere
   fimregistro
   //variaveis globais
var
   pessoa: vetor[1..5] de aluno
   i:inteiro
   valordigitado:inteiro
   opcao:inteiro
   aux_pes:inteiro
   resp:inteiro
//FUNÇÃO PESQUISA SEQUENCIAL SIMPLES
funcao func_pes(x:inteiro):inteiro
var
   resposta,j:inteiro
inicio
   para j de 1 ate 5 faca
      se(pessoa[j].identificador = x) então
         resposta <- 1
      senao
         resposta <- 0
      fimse
      retorne resposta
fimfuncao
//INICIO DO PROGRAMA
inicio
   repita
      escreval("UNICARIOCA - BANCO DE DADOS")
      escreval
      escreval("[1] - ADICIONAR")
      escreval("[2] - PESQUISAR")
      escreval("[3] - ORDENAR")
      escreval("[4] - EXIBIR")
      escreval("[0] - SAIR")
      escreval
      escreva("Opção: ")
      leia(valordigitado)
      escolha valordigitado
      //ADICIONAR USUARIO
      caso 1
         repita
            i<-i+1
            Escreval("UNICARIOCA - BANCO DE DADOS")
            escreval("ADICIONAR USUARIO")
            escreval
            escreva("Digite seu identificador: ")
            leia(pessoa.identificador)
            escreva("Digite aqui seu nome: ")
            leia(pessoa.nome)
            escreva("Digite aqui sua idade: ")
            leia(pessoa.idade)
            escreva("Digite aqui seu sexo: ")
            leia(pessoa.sexo)
            escreval
            escreval("PARABÉNS,USUARIO CADASTRADO!")
            escreval
            escreval("[1] - Para continuar adicionando")
            escreval("[2] - Para voltar ao menu usuario")
            leia(opcao)
            limpatela
         ate opcao = 2
         limpatela
      caso 2
         repita
            escreval("Digite aqui o identificador que deseja pesquisar: ")
            leia(resp)
            aux_pes <- func_pes(resp)
            se aux_pes = 1 então
               escreva("Usuario já existe")
            senao
               escreva("Usario não existe")
            fimse
            escreval
            escreval("[1] - Para continuar pesquisando")
            escreval("[2] - Para voltar ao menu usuario")
            leia(opcao)
            limpatela
         ate opcao = 2
      fimescolha
   ate valordigitado = 0
fimalgoritmo

 

Editado por Simon Viegas
Botão CODE <>
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá @PeroVaz.

 

1 hora atrás, PeroVaz disse:

[...] me ajudar a resolver esse erro do qual não estou entendendo?


Por favor, especifique qual erro está dando...

No aguardo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Simon Viegas Agradeço, mas após de longas 3 horas tentando resolver eu consegui. 

Compartilhar este post


Link para o post
Compartilhar em outros sites
9 horas atrás, PeroVaz disse:

@Simon Viegas Agradeço, mas após de longas 3 horas tentando resolver eu consegui. 

@PeroVaz Poste o código por favor? Ainda não aprendi a usar "tipo", mas o seu código me alertou sobre. Caso consiga explicar agradeceria, valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites
10 horas atrás, PeroVaz disse:

@Simon Viegas Agradeço, mas após de longas 3 horas tentando resolver eu consegui. 

Por favor, poste seu código para analisarmos e também servi de base para outro usuários.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

 

Sobre:

39 minutos atrás, Niê disse:

Ainda não aprendi a usar "tipo", mas o seu código me alertou sobre.


Antes, dê uma pesquisa sobre tipos de dados.

Então, a declaração de tipos (types) nada mais é que a definição de tipos personalizados, ou seja, a linguagem de programação já define por padrão alguns tipos básicos... especialmente os mais utilizados, como números inteiros (inteiro), números reais (real), cadeia de caracteres (caracter), dados booleanos, ou seja, com apenas duas possibilidades (logico) etc. Daí, basta usá-los.

A depender do contexto, se faz necessário uso de tipos personalizados.. no exemplo do tópico teríamos algo como

   pessoa: vetor[1..5] de registro
                            identificador:inteiro
                            nome:caractere
                            idade:caractere
                            sexo:caractere
                          fimRegistro

Perceba que registro (record) seria um tipo de dado especial que possibilita "agrupar mais de uma variável"...  é como um vetor... que possibilidade definir algumas características personalizadas também... Veja nesse link um exemplo de comparação entre vetores e registro (lá é chamado de struct, mas são análogos).


No caso do Visualg, esse código acima não funciona (a ideia está certa, o Visualg é que não aceita dessa forma). Aí se faz necessário criar um novo tipo... quer seria justamente o que está precisando:

 

tipo
   aluno = registro
      identificador:inteiro
      nome:caractere
      idade:caractere
      sexo:caractere
   fimregistro

Ou seja, onde eu usar aluno o compilador vai entender que é um "registro" (e este registro com essas característica).


Perceba que além de organizar, já que a definição do tipo fica separada... daria para reutilizar... por exemplo, vamos supor que eu não queira usar vetor, mas apenas declarar variáveis simples. Ficaria algo assim:

var
  pessoa1 :registro
      identificador:inteiro
      nome:caractere
      idade:caractere
      sexo:caractere
   fimRegistro

   pessoa2 :registro
      identificador:inteiro
      nome:caractere
      idade:caractere
      sexo:caractere
   fimRegistro

   pessoa3 :registro
      identificador:inteiro
      nome:caractere
      idade:caractere
      sexo:caractere
   fimRegistro

Obs.: lembrado que o Visualg não aceita fazendo assim... (por questão de limitação da linguagem ou característica da ferramenta), mas a lógica seria essa.

 

Daí, usando tipos, poderia ficar assim:

tipo
   aluno = registro
      identificador:inteiro
      nome:caractere
      idade:caractere
      sexo:caractere
   fimRegistro

var
   pessoa1 :aluno
   pessoa2 :aluno
   pessoa3 :aluno
inicio

fimalgoritmo

Ou assim:

tipo
   aluno = registro
      identificador:inteiro
      nome:caractere
      idade:caractere
      sexo:caractere
   fimRegistro

var
   pessoa1, pessoa2, pessoa3 :aluno


Resumidamente o tipo serve para definir tipos personalizados... mas acho que não precisa se preocupar muito, pois a medida que vai tendo contato, vai se familiarizando.

 

Veja, se estiver estudando num curso, provavelmente lá existe uma cronologia de estudo... se ainda não deu tipo ou registro, é porque ainda não chegou a hora, ou seja, os exercícios propostos não devem ser feito com recursos que ainda não foram estudados, pelo contrário, os exercício são voltados para aquilo que está estudando ou já estudou... ou que quer que você estude. Entende?
 

 

  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×