Baixe o app para aproveitar ainda mais
Prévia do material em texto
EXERCÍCIOS DE COMPUTAÇÃO 1º ANO de Engenharia Elétrica/Mecânica Professor: Jorge Habib Hanna El Khouri UNIOESTE/PTI 1) Implemente um procedimento que recebe três números inteiros como parâmetros por referência. O procedimento deverá efetuar a ordenação dos números. 2) Implemente uma função que recebe três números inteiros como parâmetros. A função deverá retornar o maior dos números. 3) Implemente uma função que recebe três números inteiros como parâmetros. A função deverá retornar o menor dos números. 4) Implemente uma função que recebe quatro números inteiros como parâmetros. A função deverá retornar o segundo menor dos números. 5) Implemente uma função que recebe um determinado ano como parâmetro. Essa função deverá retornar TRUE se o ano for bissexto, FALSE, caso contrário. (IsLeapYear) 6) Implemente uma função que recebe um determinado mês e um ano como parâmetros. A função deverá retornar o número de dias daquele mês. Considere que Fevereiro pode conter 28 ou 29 dias, dependendo do ano informado. 7) Implemente uma função que recebe um caracter como parâmetro. A função deverá retornar o maiúsculo do caracter (UpCase). 8) Implemente uma função que recebe um caracter como parâmetro. A função deverá retornar o minúsculo do caracter (DownCase). 9) Implemente uma função que recebe um número no intervalo de 0 a 99. A função deverá retornar o número por extenso. 10) Implemente uma função que recebe inteiro correspondendo a uma determinada data no formato aaaammdd. A função retornar uma string com a data no formato dd/mm/aaaa. Ex: 20080529 = 29/05/2008 11) Implemente uma função que recebe como parâmetros um número inteiro correspondendo uma determinada hora no dia em segundos. A função deterá retornar a hora no formato hh:mm:ss. Exemplo: 58500 = 16:15:00 12) Faça uma função que calcule o número anos, meses e dias de vida de uma determinada pessoa. A função deverá receber como parâmetros a data de nascimento da pessoa e a data atual. 13) Implemente uma função que recebe três argumentos dia, mês e ano, representando uma data. A função deverá retornar true se a data é válida, false caso contrário.(IsValidDate) 14) Implemente um procedimento que recebe três argumentos dia, mês e ano passados por referência. O procedimento deverá calcular o dia seguinte. (NextDay) 15) Implemente uma função que recebe três argumentos Dia, Mês e Ano como parâmetros. A função deverá retornar a data no formato no formato dd/mm/aaaa. (DateToStr) 16) Implemente uma função que recebe três argumentos Hora, Minuto e Segundo como parâmetros. A função deverá retornar o horário no formato no formato hh:mm:ss. (TimeToStr) 17) Implemente um procedimento que recebe uma data como argumentos no formato dd/mm/aaaa. A função deverá retornar a data no formato do windows. (StrToDate). // Pesquisar formato Windows 18) Implemente um procedimento que recebe um horário como argumentos no formato hh:mm:ss. A função deverá retornar o horário no formato do windows. (StrToTime). // Pesquisar formato Windows 19) Implemente a função function Soma2 ( ch1, ch2 : char; var vaium : char ) : char; . A função deverá fazer a soma do ch1 e ch2 e processar o vai um conforme regras da soma de números em binário. Ex. ‘1’ + ‘0’ = ‘1’, vaium=0. 20) Implemente a função function SomaBIN ( s1, s2 : string ) : string;, onde s1 e s2 representam números binários. A função deverá retornar a soma dos números. OBS. Usar o Soma2 do exercício anterior. Ex. ‘110’ + ‘001’ = ‘111’. 21) Implemente a função function Soma10 ( ch1, ch2 : char; var vaium : char ) : char; . A função deverá fazer a soma do ch1 e ch2 e processar o vai um conforme regras da soma de números em decimal. Ex. ‘5’ + ‘6’ = ‘1’, vaium=1. 22) Implemente a função function SomaDEC ( s1, s2 : string ) : string;, onde s1 e s2 representam números decimais. A função deverá retornar a soma dos números. OBS. Usar o Soma10 do exercício anterior. Ex. ‘20’ + ‘15’ = ‘35’. 23) Implemente a função function SomaB ( ch1, ch2 : char; base : integer; var vaium : char ) : char; . A função deverá fazer a soma do ch1 e ch2 e processar o vai um conforme regras da soma de números na base informada. 24) Implemente a função function SomaNumeros ( s1, s2 : string; base : integer ) : string;, onde s1 e s2 representam números na base indicada. A função deverá retornar a soma dos números. OBS. Usar o SomaB do exercício anterior. 25) Implemente a função Inverte, que recebe um texto como parâmetro e deverá retornar o texto invertido. Ex. ‘abc’ = ‘cba’. 26) Implemente uma função que recebe um texto como parâmetro. A função deverá retornar o maiúsculo do texto. Ex. ‘Abc’ = ‘ABC’. 27) Implemente uma função que recebe um texto como parâmetro. A função deverá retornar o minúsculo do texto. Ex. ‘Abc’ = ‘abc’. 28) 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’. 29) 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 ’. 30) 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’. 31) 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’. 32) 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 ’. 33) 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. 34) 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’. 35) 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. 36) 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’. 37) 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’. 38) 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’. 39) 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’. 40) 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’. 41) 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’. 42) 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. 43) 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. 44) 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. 45) 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. 46) 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 47) Implemente uma função que calcule a soma dos 50 primeiros elementos de cada expressão abaixo: 1000 + 997 + 994 + 991 + ...a) 1 2 3 4 50 b) Σ N2 N-1 50 c) Σ 1/N N-1 48) Faça uma função para ler N temperaturas e retorne quantas temperaturas estão acima de 20º. 49) 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. 50) 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. 51) Function: Converter um número inteiro para string (usar str); 52) Function: Converter um número inteiro para string (sem usar str); 53) Function: Converter um número real para string, informando a quantidade de dígitos e casas decimais (usar str); 54) Function: Converter um número real para string, informando a quantidade de dígitos e casas decimais (sem usar str); 55) Function: Converter um string para número inteiro (usar val); 56) Function: Converter um string para número inteiro (sem usar val); 57) Function: Converter um string para número real (usar val); 58) Function: Converter um string para número real (sem usar val); 59) 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’; 60) 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’; 61) 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 b 567890 890 Encaixa 1243 1243 Encaixa 2457 245 Não encaixa 457 2457 Não encaixa 62) Implementar uma função para retornar a última palavra de uma string; 63) 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’ 64) 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. 65) Implemente a função IntToDec2, que recebe como parâmetro um número inteiro em binário e converte o número para decimal. 66) Implemente a função DecToInt2, que recebe como parâmetro um número inteiro em decimal e converte o número para binário. 67) Implemente a função RealToDec2, que recebe como parâmetro um número real em binário e converte o número para decimal. 68) Implemente a função DecToReal2, que recebe como parâmetro um número real em decimal e converte o número para binário. 69) Implemente a função IntToDec16, que recebe como parâmetro um número inteiro em hexadecimal e converte o número para decimal. 70) Implemente a função DecToInt16, que recebe como parâmetro um número inteiro em decimal e converte o número para hexadecimal. 71) Implemente a função IntToDec16, que recebe como parâmetro um número real em hexadecimal e converte o número para decimal. 72) Implemente a função DecToInt16, que recebe como parâmetro um número real em decimal e converte o número para hexadecimal. 73) Implemente a função IntToDecB, que recebe como parâmetro um número inteiro na base B e converte o número para decimal. 74) Implemente a função DecToIntB, que recebe como parâmetro um número inteiro na base B e converte o número para hexadecimal. 75) Implemente a função IntToDecB, que recebe como parâmetro um número real na base B e converte o número para decimal. 76) Implemente a função DecToIntB, que recebe como parâmetro um número real na base B e converte o número para hexadecimal. 77) 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’. 78) 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. 79) 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. 80) 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. 81) Implemente uma função que recebe uma string representando uma expressão matemática como parâmetro e retorna o resultado do processamento da expressão. Não considerar parênteses e prioridade entre operadores. Function calcula ( expressao : string; var code : integer ) : integer; A expressão poderá conter os seguintes operadores matemáticos: + - x e ÷ Após o processamento da expressão code poderá conter um dos seguintes valores: 0 : processamento OK. 1 : falta operador. 2 : falta operando. 3 : divisão por zero. 4 : outros. Para efetuar o processamento inicie da direita para a esquerda conforme exemplo: ( ‘ 7 + 8 - 3 * 5’) = 7 + 8 - 3 * 5 = 7 + 8 – 15 = 7 – 7 = 0 82) 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. 83) 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’. 84) 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’. 85) 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’. 86) Implemente uma função que recebe um número inteiro (word) como parâmetro. A função deverá reverter os bits do número. Ex. 7 em binário = 0000000000000111, invertendo-se os bits = 1110000000000000 = 57344. 87) 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’. 88) 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. EXERCÍCIOS COM VETORES 1) Iniciar um vetor com um determinado valor; 2) Iniciar um vetor com um valor randomico; 3) Obter o maior elemento; 4) Obter o menor elemento; 5) Obter a quantidade de elementos que se encontram em um intervalo dado; 6) Obter a soma dos elementos; 7) Obter a média dos elementos; 8) Obter o produto dos elementos; 9) Obter a quantidade de vezes que um determinado elemento se repete; 10) Reverter; 11) Obter a soma de dois vetores; (elemento a elemento). 12) Obter a diferençade dois vetores; 13) Obter a produto de dois vetores; 14) Obter a divisão de dois vetores; 15) Somar um vetor com um valor escalar; 16) Subtrair um vetor de um valor escalar; 17) Multiplicar um vetor com um valor escalar; 18) Dividir um vetor por um valor escalar; 19) Fornecer a posição do maior valor; 20) Fornecer a posição do menor valor; 21) Fornecer a posição de um determinado elemento; 22) Dividir um vetor em dois outros ficando um destes vetores com p elementos; 23) Justapor dois vetores dando origem a um outro vetor; 24) Intercalar os elementos de dois vetores de tamanhos diferentes, dando origem a um outro vetor; 25) Trazer para a primeira posição o maior valor, e vice-versa. 26) Ordenar; 27) Dados n e uma seqüência de n números inteiros, determinar quantos segmentos de números iguais consecutivos compõem essa seqüência. Exemplo: A seguinte seqüência é formada por 5 segmentos de números iguais: 5, 2, 2, 3, 4, 4, 4, 4, 1, 1 28) Dados n e uma seqüência de n números inteiros, determinar o comprimento de um segmento crescente de comprimento máximo. Exemplos: Na seqüência 5, 10, 3, 2, 4, 7, 9, 8, 5 o comprimento do segmento crescente máximo é 4. Na seqüência 10, 8, 7, 5, 2 o comprimento de um segmento crescente máximo é 1. 29) Dizemos que um número natural n é palíndromo se ¨ 1º algarismo de n é igual ao seu último algarismo, ¨ 2º algarismo de n é igual ao penúltimo algarismo, e assim sucessivamente. Exemplos: · 567765 e 32423 são palíndromos. · 567675 não é palíndromo. Dado um número natural n > 10 , verificar se n é palíndrome. 30) Dizemos que uma seqüência de inteiros positivos é k-alternante se for composta alternadamente por segmentos de números pares de tamanho k e segmentos de números ímpares de tamanho k. Exemplos: A seqüência 1 3 6 8 9 11 2 4 1 7 6 8 é 2-alternante. A seqüência 2 1 4 7 8 9 12 é 1-alternante. A seqüência 4 2 3 1 6 4 2 9 3 não é alternante. A seqüência 1 3 5 é 3-alternante. Dado n > 1 e uma seqüência com n inteiros, verificar se existe um inteiro k > 1 tal que a seqüência é kalternante. Dê como saída também o valor de k caso a seqüência seja alternante. 31) Dada uma seqüência de n números reais, determinar os números que compõem a seqüência e o número de vezes que cada um deles ocorre na mesma. Exemplo: n = 8 Seqüência: -1.7, 3.0, 0.0, 1.5, 0.0, -1.7, 2.3, -1,7 Saída: -1.7 ocorre 3 vezes 3.0 ocorre 1 vez 0.0 ocorre 2 vezes 1.5 ocorre 1 vez 2.3 ocorre 1 vez 32) Verificar a existência de um determinado string no vetor; 33) Retornar a posição de um string no vetor; 34) Contar as ocorrências de um string no vetor; 35) Ordenar alfabeticamente; 36) Ordenar de acordo com a quantidade de letras; 37) Ordenar de acordo com a quantidade de palavras; 38) Considerando como se fosse um vetor de nomes próprios, gerar um segundo vetor com os nomes intermediários abreviados.
Compartilhar