Ir ao conteúdo
  • Cadastre-se

VisualG Código ANSI para espaço vazio?


Posts recomendados

  • Membro VIP

Olá.

 

1 hora atrás, Vinícius Werneck disse:

Oi pessoal. Estou com curiosidade em saber se o Espaço vazio ("") possui código ANSI, pois quero comparar palavras para ver quem vem primeiro.


Pelo que consta seria 0 (zero), ou seja, seria a representação do null character. Vide Caractere Nulo no Wikipedia.

 

Mas não sei como funcionaria no Visualg... teria que entender melhor o contexto.

 

ADENDOS:

- acho "" estaria mais para "caractere nulo" mesmo. O termo "espaço vazio" seria " ", ou seja, existe um espaço, mas ele está vazio;

- a tabela utilizada no Visualg é ASCII (ANSI é outra);

 

 

No aguardo.

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

Oi.

No caso eu fiz uma função para comparar qual conjunto de strings vem na frente.

A função ia percorrendo o texto pela variável i, que vai de 1 ate o comprimento do maior nome.

Ex.: Se tivesse

nome1 = "palavra" (7 caractere) e nome2 = "palavraA" (8 caracteres). Então i vai de 1 ate 8. Na hora que chega para comparar  A de nome1 com "" de nome2,  a função retornou para mim nome1 vemantes que nome2. Então "" só pode ser o caractere 0, mesmo... Eu fiquei curioso em saber qual  era o código para "" porque no meu livro a tabela começa com código 32 e não 0 :)

Abraços

 

 

 

 

 

 

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
3 horas atrás, Vinícius Werneck disse:

A função ia percorrendo o texto pela variável i, que vai de 1 ate o comprimento do maior nome.

Por quê do maior? não daria para verificar o tamanho individualmente?

 

 

 

3 horas atrás, Vinícius Werneck disse:

Então "" só pode ser o caractere 0, mesmo.

Nops! Tem que tomar cuidado para não se atrapalhar... zero seria o código, ou seja, código zero representa o caractere "null carater" ("não é caractere" ou "nulo"). Já o caractere 0 tem como o código 48 tanto no ASCII, tanto no ANSI. Etc.

 

Obs.: pelo que consta, ANSI não é uma codificação em si, ou seja, é o nome do instituto, não da codificação... assim como temos o ABNT. Qualquer coisa dá uma pesquisa mais a fundo sobre.

 

 

 

3 horas atrás, Vinícius Werneck disse:

Eu fiquei curioso em saber qual  era o código para "" porque no meu livro a tabela começa com código 32 e não 0

Essa tabela provavelmente deve ser apenas dos "caracteres imprimíveis"... eu não consegui encontrar uma tabela completa do ANSI (suposta tabela), só uma que começa justamente do 32 também.


 

É com Visualg mesmo ou outra linguagem?

 

Se puder posta o código aqui que analisamos melhor..

 

 

No aguardo.

Link para o comentário
Compartilhar em outros sites

2 horas atrás, Simon Viegas disse:

Por quê do maior? não daria para verificar o tamanho individualmente?

 

 

Olá..

Não entendi sobre verificar individualmente.

Da forma que fiz, tive que colocar para i percorrer o comprimento do maior nome. Defini uma variável R de retorno, N1 e N2 que são os parâmetros para os nomes. A variável R vai retornar 3 situações: maior se N1 vier depois que N2, menor se N1 vier antes que N2, ou igual se N1 for igual a N2.

 

O i vai variar de 1 até o comprimento do maior nome. Em cada repetição do Repita, a função vai comparar os caracteres na posição i em cada um dos nomes.

Ex.: N1 = "NOME" e N2="NOMEB". A variável R vai começar vazia e continuar vazia até i chegar no valor 4. Quando i chega na valor 5, a função vai ver que "" (caractere da posição 5 em N1) vai vir antes de "B" (caractere na posição 5 de N2) Se eu fizesse para verificar pelo comprimento do menor nome, i só iria até 4, então R continuaria vazio. Por isso, fiz a variável i mudar de valor até chegar ao comprimento do maior nome..

 

No VisualG:

algoritmo "comparanomes"

funcao comparanome(N1,N2: caractere):caractere
var
   R : caractere
   compri_maior_nome: inteiro
   i: inteiro
inicio
   R <- ""
   Se (N1 = N2) então
      R <- "igual"
   Senao
      Se (compr(N1) > compr(N2)) então
         compri_maior_nome <- compr(N1)
      Senao
         compri_maior_nome <- compr(N2)
      Fimse
      i <- 1
      Repita
         Se (copia(N1,i,1) > copia(N2,i,1)) então
            R <- "maior"
         Fimse
         Se (copia(N1,i,1) < copia(N2,i,1)) então
            R <- "menor"
         Fimse
         i <- i + 1
      Ate (i > compri_maior_nome) ou (R <> "")
   Fimse
   Retorne R
fimfuncao

var
   nome1, nome2, a: caractere
inicio
   a <- compara(nome1,nome2)        
fimalgoritmo                           

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá.

 

10 horas atrás, Vinícius Werneck disse:

Não entendi sobre verificar individualmente.

Eu não tinha entendido o contexto, mas já consegui entender. Ficou muito bom!

 

Obs.: apenas um detalhe: os se dentro do repita precisam do senao também, já que são mutuamente excludentes.

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!