Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Algoritmos Computacionais

Strings
by

Onezimo Cardoso

on 17 May 2016

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Algoritmos Computacionais

Algoritmos Computacionais
Strings
Prof. Onézimo Cardoso
Introdução
Em Linguagem C, não é possível atribuir uma string a uma variável;

No entanto, C possui uma bilbioteca de funções que permitem realizar praticamente todas as operações necessárias sobre strings;
Definição
Uma string é um conjunto de caracteres num vetor;
Em C, as strings são representadas utilizando aspas, enquanto os caracteres são representados entre aspas simpes;
A escrita de strings á realizada pelas funções printf e puts;
Na função printf a string pode ser escrita diretamente:


No entando, uma string pode ser escrita tal como qualquer outra variável, utilizando um formato próprio % dentro da função printf:
Leitura e Escrita de Strings
A função puts permite unicamente a escrita de strings;
Elas podem ser constantes ou armazenadas em variáveis;
Um aspecto específico dessa função é que depois de escrita a string a função puts faz uma mudança automática de linha:
Leitura e Escrita de Strings
A função scanf permite realizar a leitura de strings utilizando o formato %s;

No entanto, a variável que recebe string NÃO É PRECEDIDA de um &, ao contrário do que acontece com todos os outros tipos de variáveis que são enviadas para o scanf;
Função scanf
A função scanf realiza apenas a leitura de uma única de uma única palavra;

A função scanf lê todos os caracteres até encontrar um <ESPAÇO>,<TAB> ou <ENTER>, quando isso acontece, termina a leitura e coloca todos os caracteres lidos até essa altura na variável que lhe foi passada;
Função scanf
A função gets permite colocar na variável que recebe por parâmetro todos os caracteres introduzidos pelo utilizador;

Ao contrário da scanf, essa função não está limitada à leitura de uma única palavra;
gets
A função gets permite colocar na variável que recebe por parâmetro todos os caracteres introduzidos pelo utilizador;

Ao contrário da scanf, essa função não está limitada à leitura de uma única palavra;
gets
Na verdade, em Linguagem C, um string nada mais é do que um vetor de caracteres que terminta com o caractere NUL ('\0');
Então na declaração:
char cor[]="azul";
É inicilizada uma variável com a string "azul", que é um vetor de caracteres com 5 elementos contendo 'a','z','u','l' e '\0';
Observações
A declaração do vetor anterior também poderia ter sido escrita como:

char cor[]={'a','z','u','l','\0'};

Ao declarar um vetor de caracteres para conter uma string, deve-se ter o cuidado dele ser suficientemente grande para armazenar a string e seu caractere NULL de terminação;

Note que a declaração anterior determina automaticamente o tamanho do array baseado no número de valores na lista de inicializadores;
Observações
Implemente uma função que devolve o número de caracteres existentes em uma string (sem contar o '\0');
Exemplo
Implemente uma função que indique se uma string é vazia (use contstring);
Exemplo
Implemente uma função que tenha duas strings como parâmetro e copie o conteúdo de uma na outra;
Exemplo
Implemente uma função que concatene duas strings, isto é, ponha uma imediatamente após o final da outra;
Exemplo
Com as funções vistas anteriormente, escreva um programa que leia nomes e sobrenomes de pessoas e os mostre na tela no formato Sobrenome, Nomez;

O Programa deve terminar quando um nome vazio for introduzido;
Exemplo
Elaboraremos uma função que informe o índice do vetor onde há a ocorrência de um caractere fornecido;

Se o caractere não existir, pediremos para devolver -1, uma vez que zero é um índice possível
Contagem de Caracteres
Elaboraremos um algoritmo que verifique se a string é um palíndromo;

Isto é, se a escrita da string é a mesma da direita para a esquerda e da direita para a esquerda;
String Palíndromo
Note que a estratégia foi a de comparar os caracteres, dois a dois, iniciando um índice no primeiro caractere da string e um outro no último;

Perceba que o último caractere se encontra na posição contstring(s)-1, pois os vetores em C começam no índice zero;

Em seguida, comparam-se os caracteres (primeiro e último), (segundo e penúltimo), etc, até que algum deles seja diferente um do outro (caso em que não é palíndromo) ou até os índices i e j se cruzarem;

Note que é suficiente percorrer apenas metade da string, pois em cada iteração do laço são comparados dois caracteres, um que fica na primeira metade e outro que fica na segunda metade;

Se a condição do laço fosse s[i]!='\0', iriramos comparar os mesmos caracteres duas vezes ao longo do processamento;
Elaboraremos um algoritmo que inverte a string e a devolve invertida;
Inversão de String
Full transcript