<jupyter_start><jupyter_text>Introdução à computação – 13/06/2016--Professor: <NAME>  -- Nome do Aluno(a):<jupyter_code>meu_nome = input('Entre com o seu nome completo: ')
print('Olá, {}!'.format(meu_nome))
print('Bom trabalho!')
# Somente estes módulos podem ser importados para a realização das questões
import numpy as np
import matplotlib.pyplot as plt
import requests
from bs4 import BeautifulSoup as bs
%matplotlib inline<jupyter_output><empty_output><jupyter_text>Questão 1 (1,5 pontos)  Mostre graficamente que $ \sin ^2 x + \cos^2 x = 1. $  Dica: para melhor visualização do gráfico, mude a escala dos eixos com $plt.axis([x_{min},x_{max},y_{min},y_{max}])$<jupyter_code>x = np.linspace(0,2*np.pi,2000)
plt.plot(np.sin(x)**2)
plt.plot(np.cos(x)**2)
plt.plot(np.sin(x)**2+(np.cos(x)**2))<jupyter_output><empty_output><jupyter_text>Questão 2 (2.5 pontos)  Partindo do código abaixo, escreva comandos para realizar as seguintes tarefas:- Identificar os candidatos a nomes próprios do texto e a frequência com que aparecem;- Identificar as 5 palavras mais comuns;- Identificar os tritongos;- Salvar os resultados em um arquivo chamado "respostas_q2.txt" no computador<jupyter_code>url = 'http://norvig.com/big.txt'
page = requests.get(url)
html = page.text
sopa = bs(html, "lxml")
texto = sopa.text
#seu código aqui<jupyter_output><empty_output><jupyter_text>Questão 3 (3 pontos)  Uma permutação é um arranjo ordenado de objetos. Por exemplo, $ 3124 \ $ é uma das possíveis permutações dos dígitos $1, 2, 3$ e $4$. Se todas as permutações são ordenadas numericamente, chamamos a este arranjo de ordem lexicográfica. As permutações lexicográficas de $0, 1$ e $2$ são:  $012\;021\;102\;120\;201\;210$    Qual o milionésimo elemento da ordenação lexicográfica dos dígitos $0, 1, 2, 3, 4, 5, 6, 7, 8$ e $9$?<jupyter_code>#seu código aqui<jupyter_output><empty_output><jupyter_text>Questão 4 (3 pontos) Implemente em Python uma classe chamada “Drone” com as seguintes propriedades:  - Quando instanciado, tem bateria carregada e está na posição $(x=0,y=0,z=0)$ metros;  - Possui bateria para duração 20 minutos;  - Consegue andar 1 m/s na vertical e 2 m/s na horizontal;  - Possui o metodo “voar”, que recebe uma coordenada de destino $(x_1,y_1)$. Esse método calcula a distância a navegar e avalia se o drone possui energia para chegar nestas coordenadas.  - Possui métodos para carregar a bateria, dizer a autonomia da bateria (em segundos), dizer a distância percorrida desde a última carga e a distância total percorrida desde que foi instanciado.  - Possui um método para dizer a coordenada atualOBS: Considere que o drone sempre ascende verticalmente até 20m antes de se deslocar horizontalmente, e percorre a mesma distância verticalmente. A distância percorrida na horizontal é o menor caminho entre as coordenadas de origem e destino. Use a fórmula: $$distância = \sqrt{(x_1-x_0)^2 + (y_1-y_0)^2}$$<jupyter_code>class Drone:
    def __init__(self):
        self.x = 0
        self.y = 0
        self.z = 0
        self.bateria = 20 * 60
        self.odometro_total = 0 
        self.odometro_parcial = 0
        
    def mostra_carga(self):
        print('A Carga da bateria atual é de {:.3f} segundos de vôo'.format(self.bateria))
        
    def carrega_bateria(self):
        self.mostra_carga()
        print('Bateria sendo carregada...')
        self.bateria = 20 * 60
        self.odometro_parcial = 0
    
    def mostra_coordenada(self):
        print('O Drone se encontra em: \nX:\t{}\nY:\t{}\nZ:\t{}'.format(self.x, self.y, self.z))
        print('O Drone andou {:.3f} metros no total'.format(self.odometro_total))
        print('O Drone andou {:.3f} mestros desde a última carga'.format(self.odometro_parcial))
    
    def voar_para(self,x,y):
        distancia = ((x-self.x)**2 + (y-self.y)**2)**0.5
        tempo_de_voo = 20 + distancia/2 + 20
        print('O tempo de vôo estimado é de {:.3f} segundos'.format(tempo_de_voo))
        if self.bateria >= tempo_de_voo:
            print('Voando...')
            self.x = x
            self.y = y
            self.bateria -= tempo_de_voo
            self.odometro_total += distancia
            self.odometro_parcial += distancia
            self.mostra_coordenada()
        else:
            print('A bateria só tem autonomia para {:.3f} segundos de vôo'.format(self.bateria))

my_drone = Drone()
my_drone.mostra_coordenada()
my_drone.voar_para(30,45)
my_drone.mostra_carga()
my_drone.voar_para(10,2000)
my_drone.carrega_bateria()<jupyter_output>A Carga da bateria atual é de 1105.917 segundos de vôo
Bateria sendo carregada...<jupyter_text>Questão Bônus (0,5 pontos)  O problema de Monty Hall, também conhecido por paradoxo de Monty Hall é um problema matemático e paradoxo que surgiu a partir de um concurso televisivo dos Estados Unidos chamado "Let’s Make a Deal", exibido na década de 1970. O jogo consiste no seguinte: Monty Hall (o apresentador) apresentava 3 portas aos concorrentes, sabendo que atrás de uma delas está um carro (prêmio bom) e que as outras têm prêmios de pouco valor.- Na 1ª etapa o concorrente escolhe uma porta (que ainda não é aberta);  - Em seguida, Monty abre uma das outras duas portas que o concorrente não escolheu, sabendo de antemão que o carro não se encontra na porta que abrirá;  - Agora com duas portas apenas para escolher — pois uma delas já se viu, na 2ª etapa, que não tinha o prêmio — e sabendo que o carro está atrás de uma delas, o concorrente tem que se decidir se permanece com a porta que escolheu no início do jogo e abre-a ou se muda para a outra porta que ainda está fechada para então a abrir.  Demonstre graficamente que é mais provável ganhar o prêmio se trocar de porta do que se não o fizer. Quais as probabilidade de acertar, em ambos os casos?<jupyter_code>#seu código aqui<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.09458533241946539, 'fraction_numerical': 0.02467443454420836, 'mean_word_length': 3.8682235195996664, 'pattern_counts': {'":': 0, '<': 25, '<?xml version=': 0, '>': 26, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 1}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '6', 'dir': 'jupyter-structured-clean-dedup', 'id': '375288', 'license': 'Apache-2.0', 'n_tokens_mistral': 2282, 'n_tokens_neox': 2175, 'n_words': 703, 'path': 'Exercises/draft/Simulado_A1_2016.ipynb', 'repo_name': 'viguardieiro/Python_Course', 'size': '5848'}