Lista exercícios Este trabalho é uma breve lista de exercícios para ajudálos na preparação para a prova, e por isso é um pouco diferente dos trabalhos anteriores. Vocês devem tentar resolver os exercícios sem o computador, que deve ser usado apenas para verificar se as suas soluções estão corretas. Exercício. Um método para encontrar o máximo divisor comum de dois números inteiros positivos a e b é subtrair, sucessivamente, o menor do maior até que os dois sejam iguais. Neste ponto, o valor restante de qualquer um deles é o MDC procurado. Escreva uma função denominada MDC que calcula o máximo divisor de dois números, fornecidos como parâmetros. Exercício. Sem usar o comando for, escreva um programa que apresente os números de Armstrong entre 000 e 999. 153 é um número de Armstrong porque a soma dos seus dígitos componentes elevados ao cubo é igual ao próprio número: 1 3 + 53 + 33 = 1 + 125 + 27 = 153 Exercício. Escreva uma função que receba uma lista de palavras e retorne todos os palíndromos da lista. Exercício. Escreva uma função que receba uma lista de palavras e retorne todas as palavras da lista que contêm uma determinada string fornecida como parâmetro. Exercício. Escreva uma função que receba uma lista de palavras e retorne todas as palavras da lista que podem ser formadas com um conjunto de letras fornecido como parâmetro. Exercício. Escreva uma função que receba uma lista de palavras e retorne todas as palavras da lista que casem com um determinado padrão fornecido como parâmetro. A codificação dos parâmetros deve usar “_” como curinga. . Exercício. Escreva uma função que receba uma lista de palavras e retorne todas as palavras da lista que têm a menor relação entre o número de vogais e o número de consoantes nelas contidas. Exercício. Escreva uma função que receba uma lista contendo três números e retorne uma lista contendo os mesmos três números em ordem decrescente. Não use a função sort. Exercício. Exercício. Exercício. Escreva uma função Python que receba uma string como parâmetro e retorne uma lista com as letras que aparecem nessa string, sem repetição e na ordem alfabética. Observe o programa a seguir. Exercício. Escreva uma função que produza resultado equivalente ao que é produzido pela função a seguir. def XPTO(S): return S[::-1] Use uma solução diferente. Exercício. Escreva uma função que receba uma lista de palavras e retorne todas as palavras que tenham o tamanho da maior palavra da lista. Escreva uma função que recebe um número inteiro e retorne True se esse número é primo ou False, se não. import math import locale x=0.2 while x <= 2: print locale.format('%4.1f',x), \ locale.format('%6.4f',math.sqrt(x)) x = x + 0.2 Sabendo que sua execução produz 0.2 0.4 ... 2.0 0.4472 0.6325 ...... 1.4142 apresente uma nova versão do mesmo programa substituindo o comando de repetição while por um comando for. O resultado final deve ser idêntico. Dica: o range do Python só funciona com números inteiros. Exercício. Indique o que é “printado” pelos trechos de programa a seguir. Cada trecho deve ser analisado independentemente dos demais. ## trecho 11 x=range(1,11) for i in x: print i ## trecho 1 L=[8,9,2,23,45,32,21,12] print L[0] print L[0:3] print L[-2] print L[5:2] print L[-8] Considere que o arquivo enigma.txt contém: ## trecho 2 L = [0,1] while len(L) < 20: L.append (L[i-2] + L[i-1]) print L ## trecho 3 L=[5,3,6,7,8,9,2,23,45,32,21,12] print L.index(9,0,len(L)) ## trecho 4 P = [“A”,”bB”,”CdE”,”;”,”@”] for x in P: print x, x.lower(), x.upper(), print ## trecho 5 import fileinput s = 1 for L in fileinput.input("enigma.txt"): if s <> 3: Q = L.split() print Q[0], len(Q) s = s + 1 ## trecho 6 x=range(1,11) y=["ABC","CDE"] x.append(y) print x ## trecho 7 L=[1,2,3,4,5,6,7,8,9,10] L.append(20) print L L.insert(2,30) print L ## trecho 8 L =[1,2,3,4,5] L.remove (4) print L L.remove(4) ## trecho 9 for i in range(1,6): L.append(1.0/i) print L soma=0 for x in range(0,len(L)): soma = soma + L[x] print soma ## trecho 10 L=[0,1] while L[-1] + L[-2] <800: L.append(L[-1] + L[-2]) print L print L.index(89) print L[L.index(89)] Simule um computador chinês. Pense um pouco mais e #responda? Continue pensando e confira tudo. ???eia a questão e pense +? ++++++++. Exercício. Escreva um programa Python que mostre todos os triângulos retângulos cujos lados a, b, c tenham por comprimento números inteiros entre 1 e 50. O programa deve mostrar os valores para cada combinação encontrada e o número de triângulos. Não é preciso eliminar as soluções simétricas. Formato do resultado: a=3 b=4 c=5 é um triângulo retângulo ... a=5 b=4 c=3 é um triângulo retângulo ... a=10 b=6 c=8 é um triângulo retângulo ... Encontrados xx triângulos Exercício. É possível obter uma aproximação de pela fórmula 1 1 1 1 12.1 4 9 16 25 Quanto maior o número de termos utilizados no cálculo, melhor será a precisão da aproximação obtida. Escreva uma função que retorne uma aproximação de de tal forma que o algoritmo de aproximação use os termos de 1 até i, de tal forma que a diferença (módulo) entre o termo i e o termo i+1 não seja maior que um certo valor fornecido como parâmetro. Exercício. Suponha que você vai escrever um programa do tipo “Jogo da forca” e precisa sortear uma palavra com pelo menos oito letras para começar o jogo. Escreva uma função Python denominada sorteio SorteiaPalavra que recebe como parâmetro o nome de um arquivo de texto contendo uma coleção de palavras, uma em cada linha, e retorne uma palavra com pelo menos 8 letras, escolhida aleatoriamente. A função deve ser usada como mostrado no exemplo a seguir: pal = SorteiaPalavra (“palavras.txt”) onde o parâmetro é o nome do arquivo. Exercício. Escreva uma função que retorne uma lista de strings contendo todas as datas entre 01/01/1900 e 31/12/2015, sem as barras separadoras. Simplificadamente, observe que todos os anos múltiplos de 4 são bissextos e leve em conta os meses de 30 e 31 dias. Exercício. Escreva uma função que recebe como parâmetros uma palavra e o nome de um arquivo de texto contendo uma coleção de palavras, uma em cada linha, e retorne uma lista de todas as linhas onde essa palavra aparece. Exercício. Escreva uma função que recebe como parâmetros uma string de gabaritos e uma string de respostas de uma prova de múltipla escolha, e retorne o número de respostas certas de acordo com esse gabarito.