EXERCÍCIOS DE COMPUTAÇÃO - ENGENHARIA Prof. Jorge Habib Hanna El Khouri UNIOESTE/PTI 16/05/2012 1) Implemente uma função que recebe um texto como parâmetro e retornar o primeiro caracter de cada palavra em maiúsculo, os demais em minúsculo. Ex. ‘exercícios de computação’ = ‘Exercícios De Computação’. 2) Implemente uma função que recebe um texto como parâmetro. A função deverá retornar o texto sem espaços em branco à esquerda (TrimLeft). Ex. ‘ abc ’ = ‘abc ’. 3) Implemente uma função que recebe um texto como parâmetro e retorne o texto sem espaços em branco à direita (TrimRight). Ex. ‘ abc ’ = ‘ abc’. 4) Implemente uma função que recebe um texto como parâmetro e retorne o texto sem espaços em branco na esquerda e direita (Trim). Ex. ‘ abc ’ = ‘abc’. 5) Implemente uma função que recebe um texto como parâmetro. A função deverá retornar o texto sem espaços em branco excedentes no texto. Ex. ‘ a b c ’ = ‘ a b c ’. 6) Implemente uma função que recebe um texto como parâmetro. A função deverá retornar o número de palavras desse texto. Ex. ‘ a b c ’ = 3, ‘x y’ = 2. 7) Implemente uma função que recebe um texto como parâmetro. A função deverá retornar o texto sem caracteres repetidos seqüencialmente. Ex. ‘ Carro ’ = ‘Caro’, ‘acesso’ = ‘aceso’. 8) Implemente uma função que recebe um texto e um caracter como parâmetros. A função deverá retornar o número de ocorrências do caracter no texto. Ex. (‘Carro ’, ‘r’) = 2. 9) Implemente a função MyCopy, que recebe como parâmetros um texto, a posição inicial e a quantidade de caracteres a serem copiados a partir da posição inicial. Ex. (‘Foz do Iguaçu’,1,3) = ‘Foz’. 10) Implemente o procedimento MyDelete, que recebe como parâmetro por referência um texto, e por cópia recebe a posição inicial da exclusão e o número de caracteres a serem excluídos. Ex. (‘Foz do Iguaçu’,1,3) = ‘ do Iguaçu’. 11) Implemente uma função chamada MyConcat, que recebe como parâmetros dois textos. A função deverá retornar os textos concatenados. Ex. (‘Foz’, ‘ do Iguaçu’) = ‘Foz do Iguaçu’. 12) Implemente a função CAR, que recebe como parâmetro um texto e devolve a primeira palavra do texto. Ex. ‘Foz do Iguaçu’ = ‘Foz’. 13) Implemente a função CDR, que recebe como parâmetro um texto e devolve o texto sem a primeira palavra. Ex. ‘Foz do Iguaçu’ = ‘do Iguaçu’. 14) Implemente uma função que recebe um número N e um caracter como parâmetros. A função deverá retornar o caracter repetido N vezes. Ex. (‘a’,4) = ‘aaaa’. 15) Implemente uma função que recebe como parâmetro um número. A função deverá retornar se o número é primo ou não. Ex. (11) = true, pois é divisível somente por 1 e por ele mesmo. 16) Implemente uma função que recebe como parâmetro um número. A função deverá retornar se o número é perfeito ou não. OBS. Um número é perfeito se a soma de seus divisores resultar no próprio número. Ex. (6) = true, pois 1+2+3=6. 17) Implemente uma função (MMC) que recebe como parâmetros três números. A função deverá retornar o Mínimo Múltiplo Comum dos números. Ex. (6,4,2) = 12. 18) Implemente uma função (MDC) que recebe como parâmetros três números. A função deverá retornar o Máximo Divisor Comum dos números. Ex. (6,4,2) = 2. 19) Faça uma função que calcule o N-ésimo elemento da série de Fibonacci, onde n é um número fornecido pelo usuário. Sendo que Fibonacci(1) = 1, Fibonacci(2) = 1, Fibonacci (n) = Fibonacci(n-1) + Fibonacci(n-2). Ex. Fibonacci(6) = 8 EXERCÍCIOS DE COMPUTAÇÃO - ENGENHARIA Prof. Jorge Habib Hanna El Khouri UNIOESTE/PTI 16/05/2012 20) Implemente uma função que calcule a soma dos 50 primeiros elementos de cada expressão abaixo: a) 1000 1 + 997 2 + 994 3 + 991 4 + ... 50 b) N2 N-1 50 c) 1/N N-1 21) Faça uma função para ler N temperaturas e retorne quantas temperaturas estão acima de 20º. 22) Faça uma função que leia 10 números. Calcule a média aritmética dos números e retorne a quantidade de números que estão iguais ou acima da média. 23) Faça uma função que calcule e retorne a soma dos números fornecidos pelo usuário. O critério de parada é o usuário digitar o número zero. 24) Function: Converter um número inteiro para string (sem usar str); 25) Function: Converter um número real para string, informando a quantidade de dígitos e casas decimais (sem usar str); 26) Function: Converter um string para número inteiro (sem usar val); 27) Function: Converter um string para número real (sem usar val); 28) Implementar: function Replace (S, sOld, sNew : String) : String; Dada um string S, esta função altera, caso exista, o texto em sOld por sNew. Por exemplo: Replace (‘aula do computacao’, ‘do’, ‘de’) retornaria ‘aula de computacao’; 29) Implementar: function Extract (S, SubString : String) : String; Dada um string S, esta função elimina, caso exista, o texto dado por SubString. Por exemplo: Extract (‘aula do computacao’, ‘do’) retornaria ‘aula computacao’; 30) Construa uma função encaixa que dados dois inteiros positivos a e b verifica se b corresponde aos últimos dígitos de a. Não é permitido passar para string. A solução deve trabalhar com a representação numérica. Exemplo: A 567890 1243 2457 457 b 890 1243 245 2457 Encaixa Encaixa Não encaixa Não encaixa 31) Implementar uma função para retornar a última palavra de uma string; 32) Implementar um procedimento que recebe como parâmetro um determinado número n. O procedimento deverá gerar todas as possibilidades de palavras contendo as letras ‘a’ e ‘b’, com tamanho máximo de n caracteres. Considere que uma palavra somente é válida se contiver a mesma quantidade de ‘a’ e ‘b’. Ex. de palavras válidas para n=2: ‘’, ‘ab’, ‘ba’. n=4: ‘’, ‘ab’, ‘ba’, ‘aabb’, ‘abab’, ‘abba’, ‘baba’, ‘bbaa’ EXERCÍCIOS DE COMPUTAÇÃO - ENGENHARIA Prof. Jorge Habib Hanna El Khouri UNIOESTE/PTI 16/05/2012 33) Implementar uma função que recebe um número inteiro positivo como parâmetro. A função deverá retornar a quantidade de dígitos do respectivo número. Ex. (523) = 3, (28)=2, (4) = 1. 34) Implemente a função IntToDec2, que recebe como parâmetro um número inteiro em binário e converte o número para decimal. 35) Implemente a função DecToInt2, que recebe como parâmetro um número inteiro em decimal e converte o número para binário. 36) Implemente a função RealToDec2, que recebe como parâmetro um número real em binário e converte o número para decimal. 37) Implemente a função DecToReal2, que recebe como parâmetro um número real em decimal e converte o número para binário. 38) Implemente a função IntToDec16, que recebe como parâmetro um número inteiro em hexadecimal e converte o número para decimal. 39) Implemente a função DecToInt16, que recebe como parâmetro um número inteiro em decimal e converte o número para hexadecimal. 40) Implemente a função IntToDec16, que recebe como parâmetro um número real em hexadecimal e converte o número para decimal. 41) Implemente a função DecToInt16, que recebe como parâmetro um número real em decimal e converte o número para hexadecimal. 42) Implemente a função IntToDecB, que recebe como parâmetro um número inteiro na base B e converte o número para decimal. 43) Implemente a função DecToIntB, que recebe como parâmetro um número inteiro na base B e converte o número para hexadecimal. 44) Implemente a função IntToDecB, que recebe como parâmetro um número real na base B e converte o número para decimal. 45) Implemente a função DecToIntB, que recebe como parâmetro um número real na base B e converte o número para hexadecimal. 46) Implemente uma função que recebe como parâmetros uma string contendo um número em uma base qualquer e os números que pertencem àquela base. A função deverá retornar o sucessor do número fornecido. Ex. (‘AB’, ‘0123456789ABCDEF’) = ‘AC’. 47) Implemente uma função que recebe duas strings representando números e uma base. A função deverá retornar a soma dos números, conforme base informada. 48) Implemente uma função que recebe duas strings representando números e uma base. A função deverá retornar a subtração dos números, conforme base informada. 49) Implemente uma função que recebe duas strings representando números e uma base. A função deverá retornar a multiplicação dos números, conforme base informada. 50) Implemente uma função que recebe um número romano do intervalo de 1 a 3999. A função deverá converter e retornar o número em arábico. Ex. (‘MMMCMXCVIII’) = 3998. 51) Implemente uma função que recebe um número arábico do intervalo de 1 a 3999. A função deverá converter e retornar o número em romano. Ex. (3008) = ‘MMMVIII’. 52) Implemente uma função que recebe um número romano do intervalo de 1 a 3999. A função deverá converter e retornar o número por extenso. Ex. (‘MMMCMXCVIII’) = ‘TRÊS MIL, NOVECENTOS E NOVENTA E OITO’. EXERCÍCIOS DE COMPUTAÇÃO - ENGENHARIA Prof. Jorge Habib Hanna El Khouri UNIOESTE/PTI 16/05/2012 53) Implemente uma função que recebe um número arábico do intervalo de 1 a 3999. A função deverá converter e retornar o número por extenso. Ex. (3998) = ‘TRÊS MIL, NOVECENTOS E NOVENTA E OITO’. 54) Implemente uma função que recebe como parâmetro uma determinada data e a função retorna o dia da semana que corresponde a data. Ex. (‘11/06/2008’) = ‘Quarta-Feira’. 55) Faça um programa que calcula a soma pelas seguintes maneiras: adição dos termos da direita para a esquerda; adição dos termos da esquerda para a direita; adição separada dos termos positivos e dos termos negativos da esquerda para a direita; adição separada dos termos positivos e dos termos negativos da direita para a esquerda. Compare e discuta os resultados obtidos no computador.