Lógica de Programação – Funções de Manipulação de Strings (Literais)
Funções de Manipulação de Strings
A maioria das linguagens de programação possui funções que permitem a Manipulação de Strings (caracteres / literais). Podemos estudar algumas delas em Lógica de Programação usando o VisualG.
Vamos aprender a utilizar algumas dessas funções para efetuar tratamento de strings.
Funções de manipulação de strings (caracteres) no VisualG
A tabela a seguir mostra as funções de manipulação de caracteres disponíveis no VisualG:
Função | Significado |
Asc(x : caractere) | Retorna um número inteiro com o código ASCII do primeiro caractere da expressão. |
Carac(x : inteiro) | Retorna o caractere cujo código ASCII corresponda à expressão |
Caracpnum(x : caractere) | Retorna o inteiro ou real representado pela expressão matemática (ou valor numérico no formato literal) – converte caractere em numérico |
Compr(x : caractere) | Retorna um inteiro contendo o comprimento (quantidade de caracteres) da string |
Copia(x : caractere; p, n : inteiro) | Retorna uma string contendo uma cópia parcial da expressão, a partir do caractere p, contendo n caracteres. Os caracteres são numerados da esquerda para a direita, começando em 1 |
Maiusc(x : caractere) | Retorna uma string contendo a expressão em maiúsculas |
Minusc(x : caractere) | Retorna uma string contendo a expressão em minúsculas |
Numpcarac(x : inteiro ou real) | Retorna a representação de x como uma cadeia de caracteres (converte um tipo numérico para caractere) |
Pos(seq, x : caractere) | Retorna um inteiro que indica a posição em que a cadeia de caracteres (seq) se encontra dentro da cadeia x, ou zero se seq não estiver contida em x |
Vamos ao exemplos de uso de algumas dessas funções no VisualG:
Convertendo para caixa-alta
var valor : caractere convertida : caractere inicio leia(valor) convertida <- maiusc(valor) escreva (convertida) fimalgoritmo
Obtendo o código ASCII do caractere inicial
var palavra : caractere valor : inteiro inicio escreval("Digite uma palavra:") leia(palavra) valor <- Asc(palavra) escreval ("O código ASCII da primeira letra de ", palavra, " é ", valor) fimalgoritmo
Contando os caracteres da string
var palavra : caractere comprimento : inteiro inicio escreval("Digite uma palavra:") leia(palavra) comprimento <- Compr(palavra) escreval ("A palavra ", palavra, " possui ", comprimento, " caracteres") fimalgoritmo
Separando partes de uma string
var x, y, z : real data, dia, mes, ano: caractere inicio escreval("Digite uma data:") leia (data) dia <- copia(data;1;2) mes <- copia(data;4;2) ano <- copia(data;7;4) escreval("Dia: " + dia) escreval("Mês: " + mes) escreval("Ano: " + ano) fimalgoritmo
Localizando sequências de caracteres
var palavra : caractere sequencia : caractere posicao : inteiro inicio escreval("Digite uma palavra:") leia(palavra) escreval("Digite uma letra ou sequência de caracteres:") leia(sequencia) posicao <- Pos(sequencia, palavra) escreval("O caractere foi encontado na posição ", posicao) fimalgoritmo
Convertendo número em caractere
var numero : inteiro convertido : caractere inicio escreval("Digite um número:") leia(numero) convertido <- NumpCarac(numero) escreval("O número convertido para caractere é ", convertido) fimalgoritmo
Veja também: Variáveis e Tipos de Dados em Lógica de Programação
Você pode também assistir ao vídeo abaixo, do canal da Bóson Treinamentos no YouTube, onde explico os procedimentos descritos no artigo:
proxima aula???
Ola, Fabio pode me dizer se as aula de logica encerra em 28 ja posso buscar uma linguagem para aprender ou voce parou por aqui mesmo.
Ainda teremos mais algumas aulas Thiago, principalmente sobre Algoritmos e Estruturas de Dados. mas já dá tranquilamente para você começar a estudar linguagens de programação com o que foi apresentado até aqui. Abraço!
Parabéns pela iniciativa e pela didática, senhor Fábio. Suas aulas são bem edificantes.
Muito obrigado Jerônimo!!!
boa noite fabio poderia me mandar o link para eu baixar o visualg
Olá Felipe!
Baixe aqui o VisualG:
http://www.apoioinformatica.inf.br/produtos/visualg
Abraço!
Olá Fábio! Gostaria de saber se vc tem o conteúdo (em PDF), das aulas de lógica de programação?
Olá Rony! Estou formatando esse conteúdo, e devo disponibilizá-lo em breve. Abraço!
Ola Fabio seu videos me ajudaram bastante, estou começando a entender melhor essa área de programão muito obrigado por disponibilizar essa material vocês esta ajudando muita pessoa assim .
Obrigado Laécio pelo feedback! Qualquer dúvida é só entrar em contato!
muito bom seus videos, vc tem todos em um só video ou talvez em pdf, meu email= kiryla1@gmail.com, agradeço
programa : PigLatin
tipo
PigLatinlenge = registro
digitada : cadeia
sc : cadeia
st : caractere
ppl : cadeia
comp : inteiro
letra : inteiro
fim_registro
var
pl : cadeia
palavras : PigLatinlenge
resp : cadeia
inicio
resp <- sim
pl <- ay
enquanto (resp = "sim") faça
escreval ("Digite uma palavra para converter em Pig Latin :")
leia (palavra.ppl)
palavra.comp <- compr(palavra.ppl)
palavra.letra <- (palavra.ppl / palavra.ppl) + 1
palavra.final <- palavra.comp – 1
palavra.sc <- copia(palavra.ppl;palavra.letra;palavra.final)
palavra.st <- copia(palavra.ppl;1;1)
palavra.pl <- palavra.sc + palavra.st + pl
escreval ("A palavra escrita foi :"palavra.ppl)
escreval ("Sua forma em Pig Latin é:"palavra.pl)
escreval("deseja continuar a traduzir palavras ? sim/não")
leia (resp)
fim_enquanto
fim
Esta correto?
Boa noite, tudo bem?
Não encontrei o link para download do VisualG, segundo o video, aqui tinha informações.
Baixe aqui: https://visualg3.com.br/baixe-o-visualg-3-0-7/
Não encontrei o link para baixar o visualG, que segundo o vídeo tinha disponível por aqui
Baixe aqui Bruna, no site oficial: https://visualg3.com.br/baixe-o-visualg-3-0-7/
Olá Fábio! Bom dia,
Tenho que escrever um código que capture uma amostra de origem e mais três amostras e apresente o percentual de similaridade de cada uma das amostras em relação a amostra de origem, mas não faço ideia de como começar, se possível, o senhor pode fazer uma aula que ensine como fazer esse código?
Programa: VisuALG
* Utilizar o código de BLAST