Baixe o app para aproveitar ainda mais
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).
Compartilhar