Baixe o app para aproveitar ainda mais
Prévia do material em texto
Universidade Federal do Rio de Janeiro - Polo Xerém Programação de Computadores I - Período 2018/1 Professora: Camila Magalhães Aula de Exercícios Listas 1. Faça um programa que preencha por leitura uma lista S com 20 números inteiros e: (i) imprima S; (ii) inverta o conteúdo de S, dentro da própria lista, sem usar listas auxiliares (exemplo abaixo); (iii) leia um número inteiro N1; (iv) Procure e imprima a posição da primeira ocorrência de N1 na lista S (ainda invertida). Exemplo: Inversão de S com 6 números S inicial: [2, 4, 5, 6, 9, 0] S invertido: [0, 9, 6, 5, 4, 2] 2. Faça um programa para realizar reservas de passagens aéreas de uma empresa de aviação que possui apenas um único avião de 200 lugares. Para cada reserva, você precisará ler o número do CPF do passageiro e verificar o número de assentos disponíveis no avião. Se houver lugar, acomode o passageiro na primeira poltrona livre, armazenando nessa posição seu número de CPF. Se o voo estiver lotado, imprima uma mensagem informando o fato. O programa encerra com a leitura de um número de CPF negativo. Ao final do programa, informar a quantidade de lugares livres no avião e exibir os CPFs dos ocupantes do avião. 3. Faça um programa que leia uma lista de n números reais (n fornecido pelo usuário) e determine os números que compõem a sequência e o número de vezes que cada um deles ocorre na mesma. Exemplo: n = 8 Lista: -1.7, 3.0, 0.0, 1.5, 0.0, -1.7, 2.3, -1.7 Saída: -1.7 ocorre 3 vezes 3.0 ocorre 1 vez 0.0 ocorre 2 vezes 1.5 ocorre 1 vez 2.3 ocorre 1 vez 4. Faça um programa em Python que leia um número inteiro positivo fornecido pelo usuário e mostre o seu correspondente em binário. OBS.: A conversão de decimal para binário pode ser feita através de divisões sucessivas por 2, até que o resultado da divisão seja zero. O número binário correspondente será formado pelo resto de todas as divisões efetuadas, do último para o primeiro. Exemplo: Número lido: 156 Número em binário: 10011100 Matrizes 5. Escreva um programa que leia os elementos inteiros de uma matriz M x N (M, N e os elementos devem ser informados pelo usuário), após a leitura, para cada linha da matriz, verificar e informar quantos elementos da linha são maiores do que o valor do elemento daquela linha que pertence à diagonal principal; Exemplo: M=3 e N=3 Matriz lida: 2 3 4 1 3 4 6 7 4 Saída do programa (usar o formato abaixo): Linha 0: 2 elemento(s) maior(es) Linha 1: 1 elemento(s) maior(es) Linha 2: 2 elemento(s) maior(es) 6. Uma pista de Kart permite 10 voltas para cada um de 6 corredores. Faça um programa que leia os nomes e os tempos (em segundos) de cada volta de cada corredor e guarde as informações em uma matriz. Ao final, o programa deve informar: a. De quem foi a melhor volta da prova, e em que volta b. Classificação final em ordem (1º. o campeão) c. Qual foi a volta com a média mais rápida 7. Faça um programa que peça ao usuário para informar a quantidade de funcionários que uma empresa possui (N, fornecido pelo usuário). Em seguida, o programa deve armazenar em uma matriz os dados dos funcionários da empresa, como no exemplo abaixo (apenas um exemplo para N=3): [ ['Jose Costa', '112345', 'Contabilidade', '7', '217865-0987'] ['Carla Saldanha Peixoto', '378091', 'Recursos Humanos', '21', '229876-1235'] ['Josiane Oliveira', '678921', 'Contabilidade', '2', '219723-4561'] ] Cada linha da matriz possui 5 dados, referentes ao nome, número de registro, setor, tempo de admissão na empresa (em anos) e telefone de um funcionário, nesta ordem. Todos os dados da matriz devem ser armazenados em formato string. Após a leitura da matriz, o programa deve realizar sequencialmente as operações pedidas abaixo, na ordem em que são pedidas: (i) Exibir na tela o nome do funcionário que trabalha há menos tempo na empresa. Na matriz do exemplo acima, a saída do programa seria: 'Josiane Oliveira'. (ii) Fazer uma busca por setor, ou seja, deve pedir ao usuário para informar o nome do setor que deseja buscar e em seguida apresentar todos os dados de todos os funcionários daquele setor. Se nenhum registro for encontrado o programa deverá exibir na tela a mensagem 'Nenhum registro encontrado'. 8. Um tabuleiro de xadrez pode ser visto como uma matriz 8x8 onde cada elemento da matriz (número inteiro de 0 a 6) corresponde à uma determinada peça de xadrez posicionada no tabuleiro. Para a indicação das peças, vamos convencionar: 1= PEÕES, 2=CAVALOS, 3=TORRES, 4=BISPOS, 5=REIS, 6=RAINHAS e 0=AUSÊNCIA DE PEÇAS. Faça um programa que faça a leitura de um tabuleiro (matriz 8x8) e determine quantas peças de cada um dos tipos acima existem no tabuleiro. Exemplo de saída: PEÕES com 17 peças CAVALOS com 6 peças ... ... Strings 9. Faça um programa que leia um conjunto de 30 nomes completos de pessoas. Após a leitura o programa deve exibir cada nome no formato: "Sobrenome, iniciais do primeiro nome" (como nos exemplos abaixo). Exemplo: Nome: Joaquim José de Oliveira Saída do programa: Oliveira, JJd Nome: Marcela Oliveira Dutra Carvalho Saída do programa: Carvalho, MOD 10. Faça um programa que leia uma sequência de resíduos de aminoácidos de uma determinada proteína e armazene o número de repetições de cada aminoácido diferente. Imprima um histograma para a frequência de cada aminoácido. A sequência pode ser digitada em maiúsculas ou minúsculas. Por exemplo, a string “MAAGGASGAEASAPPTPSMASSLPLAALNV” deve retornar: M - ** A - ********* G - *** S - ***** E - * P - **** T - * L - *** N - * V - * 11. Um pangrama é uma sentença com sentido e que contém todas as letras do alfabeto, por exemplo: Jane quer LP, fax, CD, giz, TV e bom whisky. (30 letras) Zebras caolhas de Java querem passar fax para moças gigantes de New York. (60 letras) Faça um programa que leia uma sentença e imprima se ela é um pangrama ou não. Assuma que a frase digitada pelo usuário possui sentido. 12. Faça um programa que leia uma lista de valores de qualquer tipo e exiba ao final uma string com o conteúdo da lista lida separado por vírgula e espaço. Exemplo: Se a lista lida for ["A", "B", 1, 3, "%", 1.4], a string a ser exibida será "A, B, 1, 3, %, 1.4". Observe que após o último elemento não há vírgula e nem espaço. 13. (Fazer no caderno primeiro e depois conferir no Python) Dado o programa abaixo: frase = input ("Digite uma frase: ") a = eval(input("Digite um número inteiro: ")) while a < len(frase) and frase[a] != ' ': a += 1 print(a) Qual será o valor a ser impresso na tela, caso sejam digitados os valores abaixo para as variáveis frase e a, respectivamente (apenas para o item 1, escreva um passo a passo da execução do programa, justificando a sua resposta): 1. "But are we all lost stars trying to light up the dark?", 0 2. "O que a vida quer da gente é coragem", 13 3. "Eu quase que nada não sei. Mas desconfio de muita coisa...", 5
Compartilhar