Introdução à Programação B (2017/2018)

Lista de exercícios

Artur Miguel Dias



Prática 15 (Semana de 13/nov/2017-1)

Sumário: Strings. A instrução switch. Exercícios 43 a 45.



Strings

Em C chama-se string a um vetor de carateres com a particularidade de conter um caráter terminador especial '\0' para indicar o final da parte preenchida.

Para exemplificar, eis uma função que testa se um dado caráter "c" ocorre numa string "str". Repare que a função não precisa de receber o tamanho da string, já que o terminador dá essa informação de forma indireta.



  • 43 - Escreva uma função inteira chamada conta com dois parâmetros: uma string e um caráter. A função conta o número de vezes que o caráter indicado ocorre na string. (A função deve distinguir entre maiúsculas e minúsculas, mas isso até torna a função mais fácil de escrever.)

    Depois escreva um programa completo para testar a função usando a string fixa "Education is what survives when what has been learned has been forgotten". O programa só pergunta ao utilizador qual caráter a pesquisar e depois escreve o resultado.

    Use a seguinte constante e o seguinte tipo:

    Complete o programa: Repare, os dois cabeçalhos seguintes são equivalentes:
  • Q : 44 - Escreva uma função void chamada trocar com três parâmetros: uma string e dois carateres. A função altera diretamente a string, trocando todas as ocorrências do primeiro caráter pelo segundo caráter. Todos os restantes carateres ficam na mesma e, obviamente, o comprimento da string não muda. (A função deve distinguir entre maiúsculas e minúsculas, mas isso até a torna mais fácil de escrever.)

    Depois escreva um programa completo para testar a função. O programa deve usar a string fixa "The quick brown fox jumps over the lazy dog". O programa só pede ao utilizador os dois carateres envolvidos na troca e depois escreve o resultado.


  • 45 - Copie o interpretador de comandos do final da aula teórica 8 e execute-o uma vez.

    Depois complete o programa escrevendo a função de descodificação. (Há uma maneira de escrever esta função fazendo simplesmente uma chamada habilidosa à função de codificação. Teste bem o programa porque a primeira ideia que se costuma ter está errada.)

    Depois adicione ainda um novo comando de Ajuda para listar e explicar os vários comandos à disposição do utilizador. É habitual os interpretadores de comandos disponibilizarem um comando deste género.