Ir ao conteúdo
  • Cadastre-se

VisualG Constante com dois valores


Ir à solução Resolvido por Simon Viegas,

Posts recomendados

  • Membro VIP
1 hora atrás, Niê disse:

Olá, boa tarde! 

Estou com uma pequena dúvida, é possível acrescentar 2 "valores" em uma constante só? Por exemplo: 


 op:= ("A") e ("B")

Eu não estou achando um jeito de fazer isso, e não sei se é possível.

Obrigado desde já.

 

Nops! De um modo simples, podemos dizer que "uma variável só pode ter um valor ao mesmo tempo".

 

É uma propriedade da física... (só não lembro qual.)

 

 

Para que você precisaria acrescentar 2 valores em uma constante?. Tente explicar melhor o contexto.

 

 

No aguardo

 

 

 

 

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

@Simon Viegas , é algo simples;

 

Estava apenas descobrindo coisas novas. Queria, por exemplo, dizer quais dos dois times são do RJ e dois de SP.

 

Ao digitar FLA, o programa diria que o time é do RJ e ao dizer COR, diria que é de SP.

 

Sei outros modos de fazer, usando se senao, e caso outrocaso.

 

LEIA (TIME)
   se (time = "fla") ou (time = "flu") então
    escreval ("RJ")
  fimse
  se (time = "cor") ou (time = "san") então
    escreval ("SP")
  fimse

////////////////////////////////////////////////

leia (time)
  escolha time
    caso ("fla")
    escreval ("RJ")
      caso "flu"
    escreval ("RJ")
      caso "cor"
    escreval ("SP")
      caso "san"
      escreval ("SP")
      outrocaso
  fimescolha

 

Porém queria utilizar constantes, só pra ter em mentes jeitos diferentes de fazer, gostaria de saber se podem me aconselhar com outros métodos de resolver isso. E também se há algum modo de DIMINUIR o código, alguma forma de juntar os valores. como caso "cor" ou "san". Entende?

 

 

11 minutos atrás, Math.Pi disse:

Só se fosse um vetor de 2 posições.

Poderia me dizer como?

 

Link para o comentário
Compartilhar em outros sites

agora, Math.Pi disse:

Desculpe, mas ainda não entendi o que você quer. Você quer que a mesma variável assuma RJ e SP?

Não, queria que a mesma variável assumisse 2 times do mesmo estado, para não precisar criar 1 variável para cada time (rj:= "san" e "cor"), mas não é possível, como o dito pelo @Simon Viegas. Então deixa pra lá.

 

Quero no momento apenas jeitos diferentes de fazer o que eu já fiz de 2 modos, usando caso e se.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Entendi. Então é vetor mesmo.

https://www.cprogressivo.net/2013/03/O-que-sao-vetores-como-declarar-e-quando-usar.html

Você pode armazenar vários dados dentro de um único vetor, de acordo com o tamanho dele.

 

Ex:

SP[0] = "COR"

SP[1] = "SAN"

etc...

 

Assim você não precisa criar uma variável para cada time. E quanto precisar lê-los/escrevê-los, basta usar uma estrutura de repetição.

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

  • Membro VIP
  • Solução

Olá.

 

Segue alguns exemplos:

 

 

1#

Utilizando matrizes.

algoritmo "FCdH"
var
   estados:vetor [1..9]      de caracter //nome dos estados
   times  :vetor [1..9,1..4] de caracter //cod do Estado, Time
                               //BA<-1, CE<-2, MG<-3, PE<-4, PR<-5, RJ<-6, SC<-8, SP<-9
   i, j:inteiro


INICIO
estados[1]<-"BA"
estados[2]<-"CE"
estados[3]<-"MG"
estados[4]<-"PE"
estados[5]<-"PR"
estados[6]<-"RJ"
estados[7]<-"RS"
estados[8]<-"SC"
estados[9]<-"SP"

times[1,1]<-"Bahia"
times[1,2]<-"Vicetória"
times[2,1]<-"Ceará"
times[3,1]<-"América Mineiro"
times[3,2]<-"Atlético Mineiro"
times[3,3]<-"Cruzeiro"
times[4,1]<-"Sport"
times[5,1]<-"Atlético Paranaense"
times[5,2]<-"Paraná"
times[6,1]<-"Botafogo"
times[6,2]<-"Flamengo"
times[6,3]<-"Fluminense"
times[6,4]<-"Vasco da Gama"
times[7,1]<-"Grêmio"
times[7,2]<-"Internacional"
times[8,1]<-"Chapecoense"
times[9,1]<-"Corinthians"
times[9,2]<-"Palmeiras"
times[9,3]<-"Santos"
times[9,4]<-"São Paulo"

escreval("RELAÇÃO DE TIMES DO BRASILEIRÃO 2018")
escreval()
para i de 1 ate 9 faca
   para j de 1 ate 4 faca
      se (times[i,j] <> "") ENTÃO
         escreval(times[i,j],"-",estados[i])
      fimSe
   fimPara
fimPara

fimAlgoritmo

No caso, utilizei outro vetor para ter a lista dos estados.

 

 

 

2#

Utilizando registros e vetor:

algoritmo "FCdH"
tipo
   t_time = registro
      nome  :caracter
      estado:caracter
   fimRegistro

var
   times  :vetor [1..20] de t_time
   i, j   :inteiro
   
INICIO

times[01].nome<-"Bahia"
times[01].estado<-"BA"

times[02].nome<-"Vicetória"
times[02].estado<-"BA"

times[03].nome<-"Ceará"
times[03].estado<-"CE"

times[04].nome<-"América Mineiro"
times[04].estado<-"MG"

times[05].nome<-"Atlético Mineiro"
times[05].estado<-"MG"

times[06].nome<-"Cruzeiro"
times[06].estado<-"MG"

times[07].nome<-"Sport"
times[07].estado<-"PE"

times[08].nome<-"Atlético Paranaense"
times[08].estado<-"PR"

times[09].nome<-"Paraná"
times[09].estado<-"PR"

times[10].nome<-"Botafogo"
times[10].estado<-"RJ"

times[11].nome<-"Flamengo"
times[11].estado<-"RJ"

times[12].nome<-"Fluminense"
times[12].estado<-"RJ"

times[13].nome<-"Vasco da Gama"
times[13].estado<-"RJ"

times[14].nome<-"Grêmio"
times[14].estado<-"RS"

times[15].nome<-"Internacional"
times[15].estado<-"RS"

times[16].nome<-"Chapecoense"
times[16].estado<-"SC"

times[17].nome<-"Corinthians"
times[17].estado<-"SP"

times[18].nome<-"Palmeiras"
times[18].estado<-"SP"

times[19].nome<-"Santos"
times[19].estado<-"SP"

times[20].nome<-"São Paulo"
times[20].estado<-"SP"

escreval("RELAÇÃO DE TIMES DO BRASILEIRÃO 2018")
escreval()
para i de 1 ate 20 faca
   escreval(times[i].nome,"-",times[i].estado)
fimPara

fimAlgoritmo

 

 

 

3#

Utilizando registros e 2 vetores.

algoritmo "FCdH"
tipo
   t_time = registro
      nome  :caracter
      estado:inteiro //código do estado
   fimRegistro

var
   times  :vetor [1..20] de t_time
   estados:vetor [1.. 9] de caracter //nome dos estados

   i, j   :inteiro

INICIO
estados[1]<-"BA"
estados[2]<-"CE"
estados[3]<-"MG"
estados[4]<-"PE"
estados[5]<-"PR"
estados[6]<-"RJ"
estados[7]<-"RS"
estados[8]<-"SC"
estados[9]<-"SP"


times[01].nome<-"Bahia"
times[01].estado<-1

times[02].nome<-"Vicetória"
times[02].estado<-1

times[03].nome<-"Ceará"
times[03].estado<-2

times[04].nome<-"América Mineiro"
times[04].estado<-3

times[05].nome<-"Atlético Mineiro"
times[05].estado<-3

times[06].nome<-"Cruzeiro"
times[06].estado<-3

times[07].nome<-"Sport"
times[07].estado<-4

times[08].nome<-"Atlético Paranaense"
times[08].estado<-5

times[09].nome<-"Paraná"
times[09].estado<-5

times[10].nome<-"Botafogo"
times[10].estado<-6

times[11].nome<-"Flamengo"
times[11].estado<-6

times[12].nome<-"Fluminense"
times[12].estado<-6

times[13].nome<-"Vasco da Gama"
times[13].estado<-6

times[14].nome<-"Grêmio"
times[14].estado<-7

times[15].nome<-"Internacional"
times[15].estado<-7

times[16].nome<-"Chapecoense"
times[16].estado<-8

times[17].nome<-"Corinthians"
times[17].estado<-9

times[18].nome<-"Palmeiras"
times[18].estado<-9

times[19].nome<-"Santos"
times[19].estado<-9

times[20].nome<-"São Paulo"
times[20].estado<-9

escreval("RELAÇÃO DE TIMES DO BRASILEIRÃO 2018")
escreval()
para i de 1 ate 20 faca
   escreval(times[i].nome,"-",estados[times[i].estado])
fimPara

fimAlgoritmo

 

 

***

 

Por ai vai.

  • Curtir 1
  • Obrigado 1
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...