Buscar

Exercícios-Python

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

Outros materiais

Materiais relacionados

Perguntas relacionadas

Materiais recentes

Perguntas Recentes