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