Ir ao conteúdo
  • Cadastre-se
Niê

VisualG RESOLVIDO Constante com dois valores

Recommended Posts

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á.

Compartilhar este post


Link para o post
Compartilhar em outros sites
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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

  • Curtir 1

Compartilhar este post


Link para o post
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?

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado @Simon Viegas  e @Math.Pi

 

Estes códigos servirão de estudos, tanto para mim quanto para as próximas pessoas que abrirem esse post. Pode fechar!

  • Curtir 2

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

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

×