Baixe o app para aproveitar ainda mais
Prévia do material em texto
Disciplina: Computação – Programação em Python Professor Marcio Antelio Monitor: Júlio Henrique Lista de Exercícios I. Expressões aritméticas 1) Implemente um script responsável por imprimir o resultado de cada expressão aritmética, assumindo na entrada valores reais positivos para as variáveis 'a','b' e 'c'.z b2 - 4 x a x c 1 + ________1_________ 1 + ______1_____ (1 + a)3 √e10+√ (b+a )3 xc 2) Implemente um script que calcule a distância entre dois pontos quaisquer A(x1,y1) e B(x2,y2). 3) Crie um programa que leia um tempo em segundos e imprima quantas horas, minutos e segundos há neste tempo. 4) Crie um programa que leia um comprimento em centímetros e imprima quantos metros, decímetros e centímetros há neste comprimento. II. Conjuntos Desenvolva um script que leia o nome de um conjunto de gerentes e um conjunto de engenheiros e responda as seguintes perguntas: Quem exerce a função de gerente e engenheiro ? Quem exerce a função de gerente ou engenheiro ? Quais engenheiros não são gerentes ? Quais gerentes não são engenheiros ? Todos os gerentes são engenheiros, verdadeiro ou falso ? Todos os engenheiros são gerentes,verdadeiro ou falso ? Quais engenheiros não são gerentes e quais gerentes não são engenheiros ? III. Álgebra Booleana 1) Escreva um script que imprima a tabela verdade das funções : AND OR XOR IV. Comandos Condicionais 1) Implemente um programa que leia dois valores inteiros distintos e imprima o maior deles. 2) Escreva o mesmo programa do exercício anterior utilizando comando ternário. 3) Faça um programa que leia um valor real não nulo e imprima se o mesmo é positivo ou negativo. 4) Escreva o mesmo programa do exercício anterior utilizando comando ternário. 5) Faça um Programa que leia três números reais distintos e mostre o maior e o menor deles. 6) Faça um Programa que leia o comprimento de 3 lados de um possível triângulo como entrada. Seu scpit deverá informar se os lados formam um triângulo ou não.Caso eles formem, deve indicar se o mesmo é: equilátero, isósceles ou escaleno. Dica:Três lados formam um triângulo quando a soma de quaisquer dois lados for maior que o terceiro. 7) Escreva um programa que receba como entrada um numero inteiro e imprima na saída se o mesmo é par ou ímpar. 8) Escreva um programa que apresente ao usuário um menu com as operações aritiméticas: ‘‘1- multiplicar’’ , ‘‘2 – somar”, “3-dividir” e “4-subtrair”. Primeiramente seu script deve ler a opção desejada, em seguida deve ler dois valores reais x e y , imprimindo na saída o resultado da operação escolhida. 9) Escreva um programa que simule a leitura da nota final de um aluno e imprima uma mensagem de acordo com os seguintes critérios: 10) Implemente um script que leia as coordenadas de um ponto qualquer A(x,y), imprimindo para o usuário em qual quadrante está este ponto. Para a entrada do usuário assuma a condição de x!= 0 e y!=0. V. Comandos de Repetição e de Desvio (Manipulação de números e strings) 1) Escreva um programa que imprima todos os ímpares entre 0 e 50. 2) Escreva um programa que imprima a soma de todos os pares entre 0 e 50. 3) Escreva um programa que simule a entrada de um número inteiro e calcule a soma de todos os inteiros de 0 até o número. 4) Escreva um programa que imprima a soma dos números pares e dos números ímpares presentes em um intervalo. Este intervalo será composto por dois números inteiros positivos x e y, tal que y > = x , lidos na entrada. 5) Escreva um programa que leia um numero e encontre todos os seus divisores. 6) Escreva um programa que imprima a seqüência: 987654321876543217654321654321543214321321211 7) Escreva um programa que imprima uma linha reta de tamanho N. Por exemplo, uma reta de tamanho 10 seria desenhada da seguinte maneira : ########## 8) É muito fácil desenhar algumas figuras geométricas usando caracteres ASCII. Olhe a figura abaixo. Ela mostra um retângulo de tamanho 6 (largura) por 4 (altura). ###### ###### ###### ###### A sua tarefa é escrever um programa que simule com entrada as dimensões inteiras de um retângulo qualquer e o imprima na saída. 9) Modifique o programa anterior para que ele desenhe um triângulo com o formato indicado abaixo. ###### ##### #### ### ## # 10) Modifique o programa anterior para que ele desenhe um triângulo com o formato indicado abaixo. A entrada do programa é somente a largura da última linha. # ## ### #### ##### ###### 11) Crie um programa para verificar se um número inteiro positivo recebido como entrada é primo. 12) Escreva um programa que calcule x elevado a n. Assuma que n e x são valores inteiros. 13) Implemente um programa que calcule o fatorial de um número n como entrada do usuário. 14) Leia uma lista de números inteiros quaisquer de tamanho 10 inserido pelo usuário conforme exemplo abaixo e implemente os seguintes programas: [-8,-29,100,2,-2,40,23,-8,-7,77] a) Imprima o menor número desta lista. b) Imprima o maior número desta lista. c) Imprima o maior número negativo desta lista. d) Imprima o menor número positivo desta lista. e) Imprima a soma dos números e a média desta lista. f) Imprima a soma dos números positivos desta lista. g) Imprima a soma dos números negativos desta lista. h) Imprima a lista inversa . O programa deverá conter apenas um comando while/for que incrementa a posição do array para realizar a inversão. 15) Escreva um programa que some os primeiros x números primos, no qual x é o um valor inteiro positivo recebido como entrada. 16) Implemente um script que leia uma frase como entrada e a imprima invertida. 17) Implemente um script que leia uma frase como entrada e imprima quantas vogais esta frase possui, independente de ser maiúscula ou minúscula. 18) Implemente um script responsável por ler duas frases quaisquer e informe se as duas strings possuem o mesmo comprimento ou não e se são iguais ou diferentes no conteúdo. 19) Implemente um script responsável por verificar se o cpf recebido como entrada segue o formato xxx.xxx.xxx-xx no qual x é um número inteiro positivo ou nulo. A saída deve conter a informação se o mesmo é válido ou inválido. 20) Implemente um script que converta um número decimal para binário. Segue o algoritmo: Dividir o número decimal por 2 até o quociente da divisão for menor que 1. A cada divisão deve-se guardar o resto e a resposta é a concatenação dos restos da última divisão para primeira. Exemplo para entrada 4 seria 100 Laço 1) 4/2 ==2 e resto 0 Laço 2) 2/2 ==1 e resto 0 Laço 3) 1/2==0 e resto 1 21) Escreva um programa que calcule e imprima o valor aproximado de PI obtido pela soma dos n primeiros termos da série abaixo. N é o valor de entrada do usuário. Pi = (4/1) - (4/3) + (4/5) - (4/7) + (4/9) – (4/11) … 22) Crie um programa que receba como entrada matrizes quadradas de mesma dimensão nxn como exemplificado abaixo e calcule as seguintes operac �o �es: A= 1 2 3 4 5 6 7 8 9 B= 10 20 30 40 50 60 70 80 90 a) Soma b) Subtrac �a �o c) Multiplicac �a �o 23) Crie um programa que receba como entrada uma matriz quadrada nxn qualquer , exemplificado pela matriz A abaixo e retorne a soma dos elementos que formam sua diagonal principal. A= 1 0 0 0 1 0 0 0 1 24) Crie um programa que determine se a matriz quadrada recebida como entrada e� identidade ou na �o. A matriz A é um exemplo de entrada do seu programa. Lembrando que uma matriz identidade é definida pela seguinte condição: A= 1 0 0 0 1 0 0 0 1 25) Calcule o determinante de uma matriz 2x2 qualquer . A matriz A e� um exemplo de entrada: A= 1 0 0 1 VI.Escopo 1) Qual é a saída do seguinte código e explique o porquê: x='SPAM' def func(): print(x) func() 2) Qual é a saída do seguinte código e explique o porquê: x='SPAM' def func(): x='NI' func() print(x) 3) Qual é a saída do seguinte código e explique o porquê: x='SPAM' def func(): x='NI' print(x) func() print(x)4) Qual é a saída do seguinte código e explique o porquê: x='SPAM' def func(): global x x='NI' func() print(x) 5) Qual é a saída do seguinte código e explique o porquê: x='SPAM' def func(): x='NI' def nested(): print(x) nested() func() print(x) 6) Qual é a saída do seguinte código e explique o porquê: def func(): x='NI' def nested(): nonlocal x x='SPAM' nested() print(x) func() 7) Qual é a saída do seguinte código e explique o porquê: x='NONE' def f1( ): x='NI' def f2( ): nonlocal x x='SPAM' def f3( ): global x x = 'BILL' print(x) f3( ) f2( ) print(x) f1( ) print(x) VII. Funções 1) Implemente a função quad que retorna o quadrado de um número n qualquer. Segue a assinatura da função: def quad ( n ) 2) Usando a função quad implementada no exercício anterior, implemente um programa responsável por calcular os n primeiros termos da série S abaixo. S=12 + 22 + 32 + 42 + 52 + 62 + ... + n2 3) Implemente a função fat que retorna o fatorial de um número n qualquer. Segue a assinatura da função: def fat ( n ) 4) Usando a função fat implementada no exercício anterior, implemente um programa responsável por ler os n primeiros termos da série S abaixo e imprimir o seu resultado. n S= ∑ y / y! I=0 5) Implemente uma função chamada regraMPB que recebe como argumento uma palavra qualquer e retorne a mensagem inválido caso verifique o uso da letra 'n' antes de 'p'ou 'b'. Caso contrário retorne a mensagem válido. Entrada: Grampo Saída: Válido Entrada: Granpo Saída: Inválido 6) Implemente a função chamada serie que recebe como argumento a quantidade n de termos e retorna o valor da série abaixo.Considere que x varia de 1 até n: 7) Construa uma função chamada dat que receba uma data e retorne a mensagem válida caso ela esteja no formato DD/MM/AAAA, considerando fevereiro com 28 dias . Caso contrário retorne a mensagem inválida 8) Faça uma função chamada inv que retorne o reverso de um número inteiro informado. Por exemplo, Entrada: 127 Saída: 721. 9) Escreva uma função para somar os primeiros "n" elementos de uma progressão aritmética, dados o primeiro elemento "a1" e a diferença "d" entre os elementos. def soma(n, a1,d) Exemplo: 1 + 4 + 7 + 10 + 13 + 16 + 19 = 70 10) Escreva uma função para somar os primeiros "n" elementos de uma progressão geométrica, dados o primeiro elemento "a" e a razão "r" entre os elementos. def soma(n, a,r) Exemplo: 1 + 3 + 9 + 27 + 81 + 243 + 729 = 1093 11) Implemente a função chamada tempo que recebe dois argumentos de entrada: o tempo de partida (hh:mm:ss) e o tempo de chegada (hh:mm:ss) e retorne o tempo total de prova de um corredor de maratona no formato hh:mm:ss. Segue a assinatura da função: def tempo ( partida, chegada) VIII. Funções recursivas 1) Dada a definição de fatorial: x! = x * (x-1)! 0! = 1 Faça uma função recursiva fat(n) que retorne o cálculo do fatorial de um inteiro positivo. Quantas chamadas são feitas a esta função para fat(5) ? 2) Implemente uma função recursiva pot(base,potencia) que calcula a potência de uma base inteira elevada a potência inteira positiva. Definição de potência para n>0 : Quantas chamadas são feitas esta função para pot(2,6)? 3) Implemente uma função recursiva pot(base,potencia) que calcula a potência de uma base inteira elevada a potência inteira positiva ou negativa. Quantas chamadas são feitas a esta função para pot(2,-6) ? 4) Implemente um função recursiva soma(n) que retorna o somatório dos números de 0 até n. Quantas chamadas são feitas a esta função para soma(7)? 5) Os números de Fibonacci são definidos da seguinte forma. O primeiro número é 1. O segundo também é 1. O n-ésimo número é definido como sendo a soma dos dois números anteriores. Números: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, … fib(0) = 1 fib(1) = 1 fib(n) = fib(n-1) + fib(n-2), para n >= 2 Implemente a função fib(n) que retorna o valor do enésimo termo da série de fibonnaci. Quantas chamadas são feitas a esta função para fib(5)? IX. Funções randômicas O módulo random implementa geradores de números pseudo-aleatórios para várias distribuições. 1) A função random( ) retorna um valor real no intrevalo [0.0, 1.0). Referenciando esta função, implemente a função gera( n ) responsável por retornar um número de 0 até n-1. 2) Usando a função random( ), implemente a função gera(n) que retorne um número simulando a jogada de um dado. 3) A função randint(a, b) retorna um número inteiro n tal que a <= n <=b. Usando apenas a função random(), implemente a função minhaRandInt(a,b) com o mesmo comportamento da função randint . 4) Implemente a função jogarDado( ) que retorne o valor da jogada de um dado. Considere que o dado possui 6 faces com o valores de 1 até 6. 5) Implemente um programa que receba como entrada do usuário a quantidade n jogadas do dados e retorne a frequência com que cada face saiu. Exemplo: Entrada : 6 Saída: Face 1 – 0% Face 2 – 0% Face 3 – 50% Face 4 – 0% Face 5 – 50% Face 6 – 0% 6) Implemente a função megasena() que imprime os 6 resultados da mega sena.Lembrando que são 6 resultados na faixa de 1 até 60. 7) Implemente a função bingo( ) responsável por retornar um inteiro n tal que 0 <=n<=99. 8) Implemente um programa que receba como entrada do usuário a quantidade n de números que sairam no bingo e usando a função bingo(), imprima estes valores. Lembre-se que uma um mesmo número sai uma única vez no bingo. I. Expressões aritméticas II. Conjuntos III. Álgebra Booleana IV. Comandos Condicionais V. Comandos de Repetição e de Desvio (Manipulação de números e strings) VI.Escopo VII. Funções VIII. Funções recursivas IX. Funções randômicas
Compartilhar