Buscar

Exercícios Python

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Disciplina: Computação – Programação em Python 
Professor Marcio Antelio (marcioantelio.cefet@gmail.com) 
 
 
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). As coordenadas (x,y) dos pontos A e B são as entradas do seu programa. 
 
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. Álgebra Booleana 
 
1) Escreva um script que imprima a tabela verdade das funções : 
AND 
OR 
XOR 
 
 
 
 
 
 
 
 
III. Conjuntos 
1. Desenvolva um script que assuma como entrada um conjunto de nomes de gerentes e um 
conjunto de nomes de engenheiros e responda como saída as seguintes perguntas: 
 
a) Quem exerce a função de gerente e engenheiro ? 
b) Quem exerce a função de gerente ou engenheiro ? 
c) Quais engenheiros não são gerentes ? 
d) Quais gerentes não são engenheiros ? 
e) Todos os gerentes são engenheiros, verdadeiro ou falso ? 
f) Todos os engenheiros são gerentes,verdadeiro ou falso ? 
g) Quais engenheiros não são gerentes e quais gerentes não são engenheiros ? 
 
 
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 se o ponto está em um determinado quadrante, na origem ou em uma das 
retas . Para a entrada do usuário assuma a condição de x!= 0 e y!=0. 
 
 
 
 
 
 
 
 
 
 11) Implemente um script responsável por simular o saque em um caixa eletrônico. Considere 
 que o caixa tenha infinitas notas nos modelos de R$ 100, 50, 20, 10, 5, 2 e 1). O caixa não 
 aceita centavos e sempre dará preferência as notas de maior valor. 
 Entrada: 149 
 Saída: 
 1 nota(s) de R$ 100 
 2 nota(s) de R$ 20 
 1 nota(s) de R$ 5 
 2 nota(s) de R$ 2 
 
 
 
 
 
 
 
 
 
 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 00 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.

Outros materiais