Buscar

APRENDA PYTHON VOL 6

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 21 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 21 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 21 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

APRENDA PYTHON VOL 6 – REPETIÇÃO POR CONTAGEM (FOR) 
INSTITUTO DE COMPUTAÇÃO – ICOMP – UFAM 
Exercícios resolvidos de Linguagem Python. 
Cardoso, A. K. S. 
 
 
1 - CONTAR OCORRÊNCIAS (2): APROVAÇÃO EM DISCIPLINA 
Na Universidade Federal do Amazonas (UFAM), um aluno é aprovado em uma 
disciplina se atender a dois critérios: 
1. Média final igual ou superior a 5,0. 
2. Frequência igual ou superior a 75% da carga horária. 
Se a frequência for menor que 75%, o aluno é reprovado por frequência, 
independentemente da sua nota. 
O aluno é reprovado por nota se, tendo comparecido ao número mínimo de 
aulas, não atingiu a média exigida. 
Escreva um programa que leia as seguintes informações de uma disciplina, 
nesta ordem: 
1. Um vetor contendo médias finais de cada aluno; 
2. Um vetor contendo a presença (número de horas) dos alunos em uma 
disciplina; 
3. A carga horária da disciplina. 
Como saída, imprima um vetor de três posições, nesta ordem: 
1. Número de alunos aprovados; 
2. Número de alunos reprovados por nota; 
3. Número de alunos reprovados por frequência. 
Considere que as entradas fornecidas são sempre válidas: 
• As notas variam entre 0,0 e 10,0; 
• A frequência entre 0 e a carga horária; 
• Os vetores de notas e de frequência têm tamanhos iguais. 
 
2 - CONTAR OCORRÊNCIAS (1): TIME DE FUTEBOL 
Os resultados das partidas de um time de futebol ao longo de um campeonato 
são armazenados em dois vetores de mesmo tamanho: 
• O primeiro vetor guarda o número de gols efetuados por esse time em 
cada partida. 
• O segundo vetor guarda o número de gols efetuados pelo time 
adversário. 
Uma posição i de cada vetor indica a i-ésima partida realizada. 
Escreva um programa que leia esses dois vetores, na ordem em que foram 
explicados. Como saída, imprima um vetor de três posições, contendo os 
seguintes dados, em ordem, em relação ao time: 
1. Número de vitórias; 
2. Número de empates; 
3. Número de derrotas; 
Considere que as entradas fornecidas são sempre válidas, ou seja: 
• Os dois vetores de entrada são de tamanho igual; 
• Cada elemento do vetor, que indica o número de gols, é um inteiro não-
negativo. 
Dicas 
• Complete as linhas 7, 9,11,13,15,17 e 20 substituindo as 
interrogações por comandos Python válidos que resolvam o problema. 
• Esse codigo: 
1. Utiliza um vetor para contar o número de ocorrências de cada situação 
elencada. 
2. Use a função zeros(x, dtype=int), do módulo numpy, para criar um 
vetor de x elementos iguais a zero, do tipo inteiro. 
3. Exemplo (não exaustivo): para a entrada [4, 0, 2, 3, 1, 3] [0, 0, 2, 5, 1, 2], 
a saída deverá ser [2 3 1]. Isso significa que o time: 
o ganhou duas vezes (4×0 e 3×2, primeiro e último jogo) 
o empatou três vezes (0×0, 2×2 e 1×1, no segundo, terceiro e 
quinto jogo) 
o foi derrotado uma vez (3×5, no quarto jogo). 
 
 
3 - FORÇA ACUMULADA PAR 
 
O professor de Introdução à Programação de Computadores deseja separar 
uma turma em dois grupos. Ele decidiu usar a pontuação de força acumulada 
dos alunos, do jogo utilizado no Codebench, como critério de separação da 
turma da seguinte forma: 
1. Se a força acumulada pelo aluno for par, o aluno faz parte do Grupo 1. 
2. Se a força acumulada pelo aluno for ímpar, o aluno faz parte do Grupo 
2. 
A entrada deve ser um vetor contendo a força acumulada de cada aluno. A 
saída deve ser um vetor com apenas as forças acumuladas do Grupo 1. 
Dicas 
1. Use dois laços for distintos: 
1. O primeiro laço deve percorrer o vetor de entrada para contar 
quantos alunos pertencem ao Grupo 1. 
2. O segundo laço deve percorrer novamente o vetor de entrada 
identificando quais elementos pertencem ao Grupo 1 e atribuindo-
os ao vetor de saída. 
2. Use a função zeros() para criar um vetor de saída com a quantidade de 
alunos do Grupo 1. 
 
 
4 - VEÍCULOS TRAFEGANDO EM ALTA VELOCIDADE 
Objetivo: Contar multas graves em uma determinada avenida. 
A Superintendência Municipal de Transportes Urbanos (SMTU) instalou um 
radar móvel em pontos da cidade para identificar e multar motoristas que 
ultrapassam o limite de velocidade da via monitorada. 
Escreva um programa que leia o vetor com o registro das velocidades medidas 
pelo radar móvel. O primeiro valor do vetor indica o limite de velocidade da via. 
Os demais valores são os registros de velocidade dos carros que trafegam na 
via. 
Como saída, determine quais e quantos motoristas infringiram o limite de 
velocidade em mais de 20% e menos que 50% acima da velocidade máxima 
permitida para a via. 
 
Dicas 
1. Utilize uma variável acumuladora para guardar a quantidade de 
infrações. 
2. Considere que os valores inseridos como entrada são sempre válidos, 
ou seja, são reais positivos. 
3. Exemplo (não exaustivo): para a entrada [60.0, 73.9, 22.9, 72.1, 72.0, 
100.6], a saída será: 
1 
3 
2 
Isso significa que a velocidade máxima nessa via é 60 km/h (posição 0 
do vetor de entrada) e por isso os seguintes motoristas trafegaram em 
alta velocidade: o de índice 1 e o de índice 3, totalizando 2 motoristas. 
 
 
5 - EXCLUINDO VOGAIS 
Faça um programa que leia uma string como entrada. Como saída, imprima 
essa string excluindo a letra a, maiúscula ou minúscula, se houver. 
Dicas 
1. Crie uma string vazia como saída. 
2. Utilize um laço de repetição for para percorrer cada caractere da string 
de entrada: 
o Se o caractere lido for diferente de A (maiúsculo ou minúsculo), 
então concatene-o à string de saída. 
o Caso contrário, leia o próximo caractere. 
 
 
6 - PRODUTÓRIO 
Escreva um programa que leia um vetor de números reais x = (x1, x2, ..., xn) de 
dimensão n. 
Como saída, determine o seguinte valor: 
, 
onde m é a média do vetor x. 
Imprima o resultado com até 03 casas decimais de precisão. 
Dicas 
1. Utilize um laço de repetição for para percorrer cada elemento do vetor 
de entrada. 
 
2. Use a função round(x, n) para arredondar o valor x com até n casas 
decimais. 
3. Use a função abs() para encontrar o valor absoluto de cada parcela do 
produto. 
 
 
7 - SÉRIE DE TERMOS COM ALTERAÇÃO DE SINAL 
Escreva um programa em Python que leia o número (N) de termos 
pertencentes a uma série de elementos e imprima o valor de H, sendo: 
1−1/2+1/3−1/4+...+1/N 
Imprima o resultado com até 06 casas decimais de precisão. 
 
 
8 - ARTE ASCII (1) 
Escreva um programa que imprima uma figura semelhante à representada 
abaixo, a partir da leitura do número de asteriscos presentes na base. Por 
exemplo, para uma entrada igual a 5, o resultado produzido será igual ao da 
figura abaixo. 
 
Dicas 
• Utilize laços de repetição. 
• Divida para conquistar: veja que a figura é composta por dois triângulos. 
Use um laço para desenhar o primeiro e outro laço para desenhar o 
segundo triângulo. 
• Utilize operações com strings. 
 
 
9 - ELEMENTOS PARES 
QUANTOS ELEMENTOS SÃO PARES? 
Escreva um script que leia do teclado um vetor de tamanho qualquer. Em 
seguida, determine: 
• Quantos elementos são pares? 
• Quantos são ímpares? 
• Qual a quantidade de elementos? 
Seu script deve repetir esse procedimento indefinidamente para diversos 
vetores, de tamanhos variados, até que um vetor de apenas um elemento seja 
inserido, terminando a execução do script. 
Dicas 
• Complete as linhas 7, 13, 17, 20 e 23, substituindo as interrogações por 
comandos Python válidos que resolvam o problema. 
• O programa fornecido adota os seguintes passos para resulver o 
problema: 
1. Ler um vetor, a partir do teclado. 
2. Se o vetor tiver apenas um elemento, então encerrar a execução do 
script (linha 7). 
3. Se o vetor tiver mais elementos, devemos determinar: 
a. Quantos deles são pares; 
b. Quantos deles são impares, o que equivale ao tamanho do vetor 
menos a quantidade de elementos pares; 
c. Total de elementos do vetor. 
4. Voltar ao passo 1. 
 
 
10 - ALUNO PODE SER MONITOR? 
APROVADO, MAS NÃO PODE SER MONITORNa UFAM, para que um aluno seja monitor de uma disciplina é necessário que 
ele tenha sido aprovado nessa disciplina com nota mínima de 7. 
 
Escreva um script que leia um vetor contendo as médias finais dos alunos 
matriculados em uma disciplina. Em seguida, determine a quantidade de 
alunos aprovados na disciplina (nota maior ou igual a 5), mas que não tem 
condições de ser monitor (nota menor que 7). 
Seu script deve repetir esse procedimento indefinidamente para diversos 
vetores, de tamanhos variados, correspondentes a outras disciplinas, até que 
um vetor de apenas um elemento seja inserido, terminando a execução do 
script. 
 
11 - TIPOS DE ENTRETENIMENTO 
Um aluno realizou uma pesquisa para levantar as preferências de 
entretenimento dos colegas de turma, entre as seguintes opções: TV, Netflix e 
Youtube. 
Escreva um programa que leia um vetor de strings, onde cada posição 
representa o tipo de entretenimento preferido do aluno entrevistado entre as 
opções disponíveis. 
Como saída, imprima um vetor de três elementos inteiros, correspondentes à 
quantidade de alunos que escolheram cada entretenimento, nesta 
ordem: TV, NETFLIX e YOUTUBE. 
Dicas 
1. Use a função zeros(3, dtype=int) para inicializar um vetor de contagem 
com 3 elementos iguais a zero (inteiro). 
2. Cada elemento do vetor deve ser usado para contar o número de 
ocorrências de cada opção de entretenimento. 
3. Use o método .upper() para padronizar a entrada. 
 
 
12 - LINGUAGEM INTERNETÊS 
Com o advento da Internet surgiu uma nova linguagem, chamada de 
Internetês. Nesta linguagem, os usuários costumam escrever muitas palavras 
de forma reduzida, normalmente removendo as vogais das palavras. 
Por exemplo, a frase “tudo bem com você?” pode ser representada por “td 
bm cm vc?”. 
Faça um script que leia uma palavra qualquer e a imprima em “internetês”. 
Para “traduzir” uma palavra para internetês, basta remover as vogais. 
Dicas 
1. Use um vetor de vogais e verifique se algum elemento do vetor está 
presente na string; 
2. Utilize o método .replace() para remover as vogais. 
 
 
13 - VALIDADOR DE SENHAS 
Na Universidade Federal do Amazonas (UFAM), um aluno deve se matricular 
no site do ecampus por meio do seu email e senha. Um dos pré-requisitos para 
finalizar o cadastro é que a senha deva possuir pelo menos 01 caractere 
maiúsculo, 01 caractere minúsculo e pelo menos 8 caracteres no total. 
Escreva um programa que valide a senha. Dado uma string de tamanho N >= 8 
como entrada, verifique se ela: 
 
• Contém pelo menos 01 caractere maiúsculo 
• Contém pelo menos 01 caractere minúsculo 
• Possui pelo menos 8 caracteres 
 
Como saída, imprima SENHA VALIDA caso a senha seja validada. Caso 
contrário, imprimir SENHA INVALIDA. 
Dicas 
1. Use os métodos .islower() e .isupper() para saber se um caractere é 
minúsculo ou maiúsculo. Por exemplo: senha[i].islower() 
2. Use a função len() para determinar a quantidade de caracteres de uma 
STRING. 
 
 
 
 
 
14 - SÉRIE HARMÔNICA 
A série harmônica é definida assim: 
 
ou seja: 
 
Faça um programa que leia um inteiro N e imprima a soma dos N primeiros 
termos da série harmônica. O resultado deve ser impresso com até 2 casas 
decimais. 
Dicas 
1. No comando for, use a função range(0,N) para gerar números de 0 a N-
1. 
2. Use a função round(x, n) para arredondar o valor x com até n casas 
decimais. 
 
 
15 - PADRÃO DE SOMATÓRIO 
Faça um programa que calcule e escreva o valor de S: 
H = 1/1+3/2+5/3+7/4+...+99/50 
 
A saída deve conter no máximo duas casas decimais. 
Como entrada informe "Calcule" só para fins de execução do programa. 
 
 
16 - SÉRIE DE MACLAURIN DO COSSENO 
Dado um ângulo x ∈ R| − 1 <x< + 1, seu cosseno é dado pela seguinte série de 
Maclaurin: 
Escreva um programa que leia as seguintes variáveis: 
 
1. Um ângulo x, medido em radianos. 
2. Um número inteiro k, a quantidade de termos da série. 
Como saída, imprima o valor da série acima para o ângulo x e com k termos, 
com até onze casas decimais de precisão.

Continue navegando