Buscar

Pratica 14b INF

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Prática 14 – INF100 – 2014/II – Valor: 4 pontos
Página 1 de 2
INF100 – Introdução à Programação I
Roteiro Prática 1 a 5 de Dezembro de 2014
Matrícula:______________ Nome:____________________________________________________
Preâmbulo
Faça o download do arquivo frase.cpp. Copie-o para dentro do CodeBlocks e salve-o com o
nome de frase.cpp. Compile e execute o código para testá-lo. O código-fonte corresponde a um
programa que lê um texto digitado pelo usuário e o armazena em um arranjo de caracteres. Em
seguida, exibe esse texto na tela. Alguns comentários se encontram no código, para esclarecimento
do que está implementado.
Exercício
Você deverá estender o programa de modo que ele apresente o comportamento mostrado no exemplo
abaixo:
Digite um texto de ate 255 caracteres:
A disciplina de INF100 terá 2 notas relativas à parte teórica da matéria.
----------------------------------------
Texto digitado:
A disciplina de INF100 terá 2 notas relativas à parte teórica da matéria.
(73 caracteres)
----------------------------------------
Texto invertido:
.airétam ad aciróet etrap à savitaler saton 2 áret 001FNI ed anilpicsid A
----------------------------------------
Informe uma sequência de dois caracteres a serem pesquisados: wa
----------------------------------------
'wa' não encontrado no texto.
----------------------------------------
Informe uma sequência de dois caracteres a serem pesquisados: ri
----------------------------------------
Existe(m) 2 ocorrência(s) de 'ri' no texto.
----------------------------------------
Informe uma sequência de dois caracteres a serem pesquisados: a.
----------------------------------------
Existe(m) 1 ocorrência(s) de 'a.' no texto.
----------------------------------------
Informe uma sequência de dois caracteres a serem pesquisados:
----------------------------------------
Existe(m) 1 ocorrência(s) de 'A ' no texto.
----------------------------------------
Informe uma sequência de dois caracteres a serem pesquisados:
----------------------------------------
Existe(m) 2 ocorrência(s) de ' t' no texto.
----------------------------------------
Informe uma sequência de dois caracteres a serem pesquisados:
----------------------------------------
Existe(m) 0 ocorrência(s) de '' no texto.
----------------------------------------
A
t
Prática 14 – INF100 – 2014/II – Valor: 4 pontos
Página 2 de 2
Para obter esse resultado, estenda o programa da seguinte maneira:
a) Crie uma função void inverte( char s[], int n ) para inverter a sequência de
caracteres dentro do próprio arranjo.
b) Use a função inverte() para inverter o texto lido e mostra-lo na tela, conforme mostrado no
exemplo acima. Depois, use novamente essa função para inverter o texto mais uma vez,
retornando-o à sequência original. Os processamentos a seguir serão feito em cima do texto
original, e não do invertido.
c) Após o código descrito no item acima, implemente o algoritmo a seguir:
1. Leia uma sequência de 2 caracteres quaisquer. Para isso, declare uma variável s como
sendo um arranjo do tipo char com no máximo 3 elementos. Isso é necessário para
acomodar não só os 2 caracteres, mas também o terminador ‘\0’ (nulo) no final do arranjo
indicando o fim da sequência de caracteres. Com isso, os 2 caracteres serão armazenados
nos elementos s[0] e s[1], respectivamente. Para fazer a leitura de s, use e mesma
função cin.getline() já vista no programa, assim: cin.getline( s, 3 );
2. Retorne a quantidade de ocorrências de s no texto.
3. Se o texto não contiver a sequência s, exiba a mensagem na tela, como mostrado no
exemplo acima com a sequência ‘wa’.
Caso contrário, exiba a quantidade retornada conforme os exemplos mostrados acima.
4. Se o comprimento de s for igual a 2, retorne ao passo 1, senão termine a repetição. Dica: o
comando do..while é bem prático para esse tipo de repetição, mas é possível também
usar while junto com break.
Para fazer o passo 2 do algoritmo acima, implemente uma função para retornar a quantidade de
ocorrências de uma sequência S0S1 dentro de um arranjo de caracteres a. Essa função deve receber
como parâmetros um arranjo s do tipo char, um arranjo a do tipo char, e um valor n indicando o
número de elementos no arranjo a. Essa função deve considerar que s sempre conterá 2 caracteres.
Dica: faça os testes com frases bem curtas primeiro. Só depois que achar que está todo pronto, repita
o teste mostrado no exemplo acima.
Após certificar-se que seu programa está correto, envie o arquivo do programa fonte (somente o
arquivo frase.cpp).

Outros materiais