...collaborate on

Ficha Nº4

Objectivos:

O objectivo principal desta ficha é familiarizar o aluno com a utilização e manipulação de vectores e matrizes em C. As strings são casos particulares de arrays: uma string é um array em que os elementos são todos do tipo char. Assim, nesta ficha surgem também alguns exercícios envolvendo manipulação de strings.

Exercícios:

Média de 10 números; Capicua; Romano-Árabe; Cifra; Estatísticas;

Exercício Nº1: Média de 10 números inteiros

Especifique um programa e codifique-o em C que lê 10 números inteiros positivos de um ficheiro externo (considere que cada linha do ficheiro contem apenas um número) e escreve:

  • a sua média e o valor máximo;
  • os numeros maiores que a média;
  • a quantidade de números menores que a média;

Depois de ter realizado as tarefas anteriores faça o programa produzir os resultados num ficheiro de nome relatorio.txt.

Exercício Nº2: Capicua

Especifique uma função que recebe uma string e verifica se a mesma é capicua (lida da esquerda para a direita, ou da direita para a esquerda, é a mesma palavra/frase).
Exemplos típicos: ala ou rapar.
Um caso curioso (e, claro, mais complexo) é a seguinte Capicua brasileira: Socorram-me subi no onibus em Marrocos.

Exercício Nº3: Conversão Romano-Árabe

Especifique uma função que recebe uma string contendo um número escrito em notação romana e que dá como resultado o respectivo valor inteiro (correspondente à notação arábica).

Exercício Nº4: Cifra por substituição arbitrária

Considere a cifra (palavra-chave) constituída pelas letras "SAPO" seguidas de um dígito n (entre 0 e 9). Para a cifragem (codificação) da mensagem efectuam-se os seguintes passos:

  1. reduzem-se espaços seguidos a um único espaço e mantém-se os caracteres de pontuação;
  2. os digitos rodam-se (circularmente) para a direita da quantidade n;
  3. convertem-se todas as letras em maiúsculas ou minúsculas;
  4. considera-se a seguinte tabela de codificação:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
S A P O B C D E F G H I J K L M N Q R T U V W X Y Z

A construção desta tabela limita-se a colocar a palavra chave no início e completar com as restantes letras do alfabeto, não colocando as letras que se repetem.

  1. para a codificação, substitui-se cada um dos carácteres da primeira linha pelo carácter correspondente da segunda linha.

Construa um programa que dada uma cifra, codifique a mensagem, e um outro que, dada a mensagem cifrada e a cifra, descodifique a mensagem.

Exercício Nº5: Estatísticas de texto

Crie um programa que leia todos os caracteres de um texto (até encontrar um o fimde ficheiro, eof) e que no fim indique quantas vezes apareceu cada uma das 26 letras do alfabeto (considere maiúsculas iguais às minúsculas).

-- JoseCarlosRamalho - 13 Mar 2005

r2 - 20 Mar 2005 - 21:12:02 - JoseCarlosRamalho
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
Syndicate this site RSSATOM