Ir para conteúdo
Fórum Script Brasil

Mônica Madison

Membros
  • Total de itens

    4
  • Registro em

  • Última visita

Tudo que Mônica Madison postou

  1. Enunciado 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: ter média igual ou superior a 5,0 e ter frequência igual ou superior a 75% da carga horária. Se sua frequência for menor que esse limiar, o aluno é reprovado por frequência, independentemente da sua nota. Por fim, o aluno é reprovado por nota se, tendo comparecido ao número mínimo de aulas, não atingiu a média exigida. As notas dos alunos de uma classe é guardada em um vetor de reais. A quantidade de presenças às aulas é armazenada em outro vetor de mesmo tamanho, mas contendo elementos inteiros. Escreva um programa que leia o vetor de notas, o vetor de presença e a carga horária da disciplina, nessa ordem. Como saída, deve ser informado um vetor de três posições, contendo os seguintes dados, em ordem: Número de alunos aprovados. Número de alunos reprovados por nota. Número de alunos reprovados por frequência. Considere que as entradas fornecidas são sempre válidas: notas entre 0 e 10, frequência entre 0 e a carga horária, tamanhos iguais dos vetores de notas e frequência. Dicas Utilize um vetor para contar o número de ocorrências de cada situação elencada. Não se esqueça de zerar todos os elementos do vetor antes de começar a contar. Exemplo (não exaustivo). Para a entrada [10, 10, 9] [44, 45, 46] 60, a saída deverá ser [2 0 1]. Isso significa que o primeiro aluno tirou dez, mas frequentou menos de 75% das 60h de aula previstas; logo foi reprovado por frequência. Os dois alunos seguintes atenderam aos dois critérios e por isso foram aprovados.
  2. Enunciado Aventuras com moedas e zumbis Considere um jogo, em que o personagem, chamado Joe, caminha por um cenário representado por uma matriz semelhante à da figura abaixo. O jogo começa com Joe na posição (0,0) da matriz, tendo zero moedas e força vital de 100 (variável life). À medida que ele caminha no cenário, ele pode passar por três tipos de células: vazia, zumbi e moeda. Se ele passa por uma célula vazia (indicada pelo número 0), não acontece nada. Se ele passa por uma célula que contém um zumbi (indicado pelo número 22), então perde 5 pontos de vida. Se ele passa por uma célula que contém uma moeda (indicada pelo número 11), então coleta essa moeda para dentro da bolsa. A figura abaixo exemplifica tal abstração de representar elementos do jogo por meio de números: Do ponto de vista do jogador, os únicos movimentos possíveis são: esquerda, direita, para cima e para baixo. Eles são representados respectivamente pelos caracteres A, D, W e S, armazenados em uma string. Por exemplo, a figura abaixo ilustra a movimentação do Joe após a sequência de movimento ‘DDDSSAW’: Com base nas características acima, escreva um programa que leia duas entradas: Uma matriz de dimensões quaisquer, contendo uma disposição qualquer de moedas e zumbis, não necessariamente igual às das figuras acima. Uma string contendo os movimentos do Joe. Considere que eles são sempre válidos, ou seja, nunca farão o personagem ultrapassar os limites da matriz que representa o cenário do jogo. Ao final da sequência de movimentos informados pela string, seu programa deverá apresentar as seguintes saídas: A posição x (coluna da matriz) do personagem. A posição y (linha da matriz) do personagem. O número de moedas coletadas. O nível de força vital resultante. Dicas Complete as linhas 15, 16, 19, 20, 26, 29, 32, 35, 40 e 45 no código fornecido. Se uma moeda for coletada pelo Joe, então ela deve ser apagada da célula correspondente no cenário. Se isso não for feito, ele acabará coletando moedas de uma mesma célula toda vez que passar por ela. Não é preciso verificar se o Joe fica com força vital (life) negativa.
  3. Enunciado Caminho percorrido entre várias cidades A tabela abaixo exibe o tempo (em horas) de viagem de avião entre duas cidades distintas. Escreva um programa que leia uma sequência de códigos de cidade, até que o número -1 seja lido. Em seguida, imprima o tempo necessário para percorrer o circuito de cidades informadas. Dicas Considere que o usuário sempre insere valores válidos. Use uma variável acumuladora para guardar o tempo de viagem. Uma vez que a quantidade de cidades no trajeto não é conhecida antes da execução do programa, use um laço while mais externo para acumular o tempo de viagem. Note que a cidade de destino em uma iteração será a cidade de origem na próxima iteração do laço. Exemplos não exaustivos de entradas e saídas: Entrada: 222 444 333 555 -1 | Saída: 31 Ou seja, o valor 31 corresponde à soma do tempo percorrido entre a cidade 222 e 444 (12 horas), mais o tempo percorrido entra a cidade 444 e 333 (11 horas), mais o tempo percorrido entra a cidade 333 e 555 (8 horas). Entrada: 777 111 777 -1 | Saída: 2 Ou seja, o valor 2 corresponde à soma do tempo de ida da cidade 777 à 111 (1 hora), mais o tempo de volta da cidade 111 à 777 (1 hora).
  4. Enunciado Tempo de viagem entre duas cidades A tabela abaixo exibe o tempo (em horas) de viagem de avião entre duas cidades distintas. Por exemplo, o tempo de viagem entre a cidade 222 e a cidade 444 é de 12 horas. Escreva um programa que leia o código de duas cidades informadas pelo usuário. Como saída, informe o tempo necessário para viajar da primeira cidade à segunda. Dicas Considere que o usuário sempre insere valores válidos. Converta o número da cidade em um índice válido da matriz antes de consultar o valor de seus elementos. Por exemplo, a cidade 111 corresponde ao índice 0 da matriz, a cidade 222 corresponde ao índice 1, e assim por diante. Exemplos não exaustivos de entradas e saídas: Entradas: 222 444 | Saída: 12 Entradas: 555 555 | Saída: 0 Nao sei oq ha de errado from numpy import * from numpy.linalg import * tabela = array([ [0,2,11,6,15,11,1], [2,0,7,12,4,2,15], [11,7,0,11,8,3,13], [6,12,11,0,10,2,1], [15,4,8,10,0,5,13], [11,2,3,2,5,0,14], [1,15,13,1,13,14,0]]) c1 = int(input("cidade 1: ")) c2 = int(input("cidade 2: ")) i = c1 / 111 - 1 j = c2 / 111 - 1 x = tabela[i,j] print(x)
×
×
  • Criar Novo...