4.13. Laboratório: perdendo o medo do Spyder

O último laboratório introduziu o Spyder, o ambiente de desenvolvimento integrado (IDE) que adotamos nesse curso por ser aberto (Open Source), grátis e fácil de instalar. Ele na verdade vem junto com o Anaconda, um pacote que reúne, além do Sypder, vários módulos que facilitam o desenvolvimento de programas científicos em Python. Nesse laboratório vamos reforçar o uso do Spyder e aproveitar para ganhar ilustrar como linhas distintas de pensamento podem ser exploradas para criar várias soluções para um mesmo problema.

Se pudermos comparar “aprender a resolver problemas” com “aprender a andar de bicicleta”, muitas vezes o foco é na bicleta que vamos usar. Nessa metáfora, vamos considerar o ambiente de programação como a roupa que a gente precisa “vestir” para poder andar melhor de bicicleta, que ajudam nos ajudam a nos sentir confortáveis e seguros.

Assim como um roupa nova pode parecer justa ou apertada, como pode ser difícil de ajustar o cinto, ou como o capacete pode parecer um pouco pesado e desconfortável, toda ferramenta nova também cria um certo desconforto mas, depois que a gente consegue se acostumar e a roupa se ajusta na gente, o desconforto some, a confiança aumenta e permite que a gente se esqueça do traje e consiga focar em pedalar e, quem sabe, pensar e apreciar a paisagem.

Por isso, sugerimos que você use o Spyder para criar, digitar e executar vários programas nesse laboratório. Todos esses programas usam algoritmos distintos mas que produzem o mesmo resultado. Gostaríamos que vocês consigam ficar confortáveis o suficiente com o uso do Spyder para conseguirem pensar e apreciar todos os cheiros, cores e texturas de cada alternativa.

Mas para atingir esse estágio a gente vai precisar pedalar bastante. Nesse laboratório, procure digitar caractere a caractere os programas abaixo, ou seja, não use CTRL-C para copiar e CTRL-V para colar o programa no editor.

O Spyder é uma ferramenta bastante sofisticada que pode ajudar você de várias maneiras. Mesmo que você saiba digitar bem rápido, ao digitar várias programas você vai começar a entender e descobrir os recursos que o editor do Spyder lhe oferece. Aprenda a usar as teclas de aceleração como F5 para executar e CTRL-S para salvar o arquivo (embora algumas combinações dependam do seu sistema operacional), observe que o Python muda a cor de algumas palavras, procure entender o que cada cor significa, procure entender o que o Spyder tenta comunicar sobre o seu programa enquanto você está digitando. Aprenda a configurar o Spyder, modificando a cor de fundo, ou o tamanho da fonte, ou usando um tema diferente para todo o ambiente.

É natural ter um pouco de medo de usar algo complexo e sofisticado, mas quanto mais você usar, mais você vai se sentir confortável e leve usando o Spyder e, quem sabe, até se divertir um pouco!).

4.13.1. Exercício: classifique um ponto como dentro ou fora

Esse exercício foi baseado na questão 1 da Prova 1 de 2014 da disciplina MAC2166, criada pelo [Prof. Arnaldo Mandel](https://www.ime.usp.br/~am).

Use o Spyder para escrever um programa que lê as coordenadas cartesianas (x, y) de um ponto, ambas do tipo float e imprime dentro se esse ponto está na região, e fora caso contrário. A região sombreada não inclui as bordas, ou seja, pontos nas bordas de uma região estão fora.

Note que o eixo y cai bem no meio da figura, e usamos o lado do quadrado para indicar as ordenadas correspondentes.

Figura 4.5: exercício pra classificar os pontos da região sombreada.

Figura 4.5: exercício pra classificar os pontos da região sombreada. Pontos sobre as bordas deem ser considerados fora.

Para a sua conveniência, você pode executar cada solução abaixo usando o CodeLens. Mesmo assim, digite cada solução no seu computador para “perder o medo” do Spyder.

4.13.2. Solução 0

Essa solução começa supondo que está dentro e realiza testes para verificar se o ponto está fora. A variável dentro é uma variável de estado também chamada de indicador de passagem do tipo bool.

4.13.3. Solução 1

Essa solução começa supondo que está fora e depois… A variável dentro é uma variável de estado também chamada de indicador de passagem do tipo bool.

4.13.4. Solução 2

explora a simetria da figura em relação ao eixo y. A variável x_pos pode ser trocada por x. A variável dentro é uma variável de estado também chamada de indicador de passagem do tipo bool.

4.13.5. Solução 3

Essa solução é idêntica a anterior, explora a simetria da figura em relação ao eixo y e utiliza um string para a armazenar resposta. A variável x_pos pode ser trocada por x. A variável dentro é um indicador de passagem do tipo str .

4.13.6. Solução 4

Essa solução utiliza uma variável bool para indicar em qual parte da face está o ponto: face, boca olho direito, olho esquerdo, íris do olho direito, íris do olho esquerdo. A condição para decidir se o ponto está ou não na região sombreada pode parecer complicada, mas é bem elegante e é um excelente exercício para treinar expressões lógicas.

4.13.7. Solução 5

Essa solução é idêntica a anterior, mas explora a simetria como na solução 3.

Você já fez das atividades dessa página