ILA - Unisinos
ILA - Unisinos
ILA - Unisinos
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Aprendendo a Programar Programando numa Linguagem Algorítmica Executável (<strong>ILA</strong>) - Página 85<br />
uma escola, números de contas bancarias, inscrições no Cadastro Geral de Contribuintes, etc..<br />
Quase sempre estes identificadores são dados por cadeias de caracteres que envolvem, além de<br />
dígitos, traços, barras e, até, letras. Por exemplo, houve um tempo que as matrículas dos alunos da<br />
Universidade Federal de Alagoas tinham o formato 1999G24D008V9, onde 1999 indicava o ano de<br />
ingresso, G indicava o nível do curso (no exemplo, graduação), 24 indicava o código do curso, D<br />
referia o turno (no exemplo, diurno), 008 indicava um número de série dentre todos os alunos do<br />
curso diurno de graduação 24 ingressantes em 1999, V referia a forma de ingresso (no exemplo,<br />
ingresso por vestibular) e 9 era um dígito verificador que serve para detectar possíveis erros de<br />
digitação. Como veremos no exemplo 8 da seção 8.4, a determinação do digito verificador envolve<br />
operações aritméticas com os números correspondentes aos dígitos que compõem a matrícula, a<br />
conta ou a inscrição. Assim, necessitaremos transformar estes caracteres em números para que<br />
possamos realizar as operações exigidas.<br />
Outra aplicação importante da transformação de cadeia de caracteres em números ocorre nos<br />
sistemas visuais de programação. Normalmente, estes sistemas não possuem um comando do tipo<br />
Ler, sendo a entrada dos dados feita através de boxes de edição, oferecidos pelo sistema para a<br />
criação de interfaces. Nestes boxes de edição o usuário digita os dados de entrada, mesmo os<br />
numéricos, como uma cadeia de caracteres havendo então a necessidade da transformação.<br />
A outra função do <strong>ILA</strong> para manipulação de cadeias de caracteres é a função Parte que<br />
retorna uma subcadeia da cadeia que lhe é passada como argumento. Esta função possui três<br />
parâmetros: a cadeia da qual se quer retornar uma subcadeia, um inteiro que indica a posição a<br />
partir da qual a subcadeia pretendida ocorre na cadeia e um outro inteiro que indica quantos<br />
caracteres tem a subcadeia pretendida. A função Parte possui a seguinte sintaxe<br />
Parte(s, p, n)<br />
onde, como foi dito acima, s é uma cadeia de caracteres, p e n são inteiros, p indicando a posição a<br />
partir da qual está a subcadeia pretendida e n o número de caracteres da tal subcadeia.<br />
Por exemplo, a execução da sequência de comandos<br />
s1 = "abacate"<br />
s2 = Parte(s1, 4, 2)<br />
Escrever s2<br />
escreve na tela a palavra ca. Vale observar que se o número de caracteres pretendido for maior que<br />
o número de caracteres que existem a partir da posição p, a função retornará toda a subcadeia a<br />
partir da posição p. Por exemplo, se o segundo comando da sequência acima fosse<br />
s2 = Parte(s1, 4, 10) seria exibido na tela a palavra cate.<br />
8.3 Exemplos Parte VII<br />
Nesta seção, apresentaremos as implementações em <strong>ILA</strong> de várias funções disponibilizadas<br />
pelos diversos sistemas de computação para manipulação de cadeias de caracteres.<br />
1. Vejamos, como primeiro exemplo, uma função que delete um dado número de caracteres de<br />
uma cadeia dada, a partir de uma posição dada. Para isto, a função terá parâmetros idênticos aos<br />
parâmetros da função Parte: a cadeia de caracteres (s), a posição a partir da qual ocorrerá a exclusão<br />
(p) e o número de caracteres a serem excluídos (n). A idéia da função é bem simples (c é o<br />
comprimento de s): se p + n ≤ c, a exclusão se dará com a concatenação dos p - 1 primeiros<br />
caracteres com os c - (p + n) + 1 últimos caracteres; se p + n > s, basta se tomar os p - 1 primeiros<br />
caracteres.<br />
Variaveis<br />
Caracter s<br />
Numerico c, p, n<br />
Funcao Delete(s, p, n)