Skip directly to content

Notas de Aula: Python [Introdução à Informática para Automação] (2020, em construção)



Table of Contents

1 Aula 1

 

1.1 Apresentação

Disciplina, Programação e Ambiente de Trabalho

1.2 Comandos Linux

ls, cd, cd .., mkdir, rm

1.3 Python

Python é uma linguagem de alto nível, legível e interpretada, que pode ser usada para muitas tarefas comuns de computação. É encontrado na maioria dos sistemas operacionais modernos.

  • Documentação & Instalação http://www.python.org
  • IDE (Integrated Development Environment) simples idle
  • Pacote turtle (from turtle import *)
  • Operações aritméticas +, -, *, /, % (python como calculadora)

2 Aula 2 (introdução ao Turtle, variáveis, rotinas, repetição simples)

 

2.1 Sumário

Revisão, Variáveis, Rotinas (Modularização), Parâmetros, Desvio de fluxo na chamada de funções, Repetição simples (loops), Funções

2.2 Código de quadrado

Código que desenha quadrado usando variáveis, rotinas, funções e repetições

from turtle import *
from random import *

def gera_numero():
    return randint(-200,200)

def quadrado(x,y,lado,cor):
    up()     
    goto(x,y)

    down()hh

    fillcolor(cor)
    begin_fill()

    for _ in range(4):
        forward(lado)
        right(90)

    end_fill()

cor = "green"
lado = 50
quadrado(10, 100, lado, cor)

cor = "red"
x = gera_numero()
lado = 200
quadrado(x, gera_numero(), lado, cor)

def telhado():
    pass
def base():
    pass
def janela():
    pass
def casa(x,y):

3 Aula 3 (funções, repetição, condicional)

 

3.1 Sumário

Revisão, Listas, + Loops, + Funções, Condicional, Simulação simples de robô e rede neural aleatória

3.2 Código de simulação de um neurônio

# entradas
x1 = 0.9
x2 = 0
x3 = 0
x4 = 0
x5 = 0

# pesos do neuronio
w1 = 0.3
w2 = 0.5
w3 = 0.1
w4 = 0.9
w5 = 0.11

y = x1*w1 + x2*w2 + x3*w3 + x4*w4 + x5*w5

print("Entradas (Sensores do robô) : ", x1, x2, x3, x4, x5)
print("Pesos: ", w1, w2, w3, w4, w5)
print("Saida (Presença de obstáculo): ", y)

3.3 Exercícios

 

3.3.1 Lista 1

  1. Crie uma função calcula_saida_neuronio(x1,x2,x3,x4,x5,w1,w2,w3,w4,w5)
  2. Agrupe as entradas x_i em uma estrutura de dados chamada lista. Faça o mesmo para os pesos w_i.
  3. Modifique a função acima para usar a lista ao invés de variáveis (calcula_saida_neuronio(entradas, pesos)).
  4. Adicione ao neurônio uma função de ativação sinal, com limiar 0.5 (uso de condicional if)
  5. Defina uma função define_pesos_neuronio(n) que retorne uma lista de pesos aleatórios de tamanho n.

3.3.2 Lista 2

  1. simule em um loop (repetição) o robô caminhando por 5 iterações em um ambiente com presença de obstáculos (utilize uma lista de listas chamada simulacao para simular os sensores em diferentes instantes de tempo)
  2. troque a função de ativação para sigmoide: 1/(1+exp(-x)) (use: import math; math.exp() )
  3. crie um círculo na tela com a tartaruga para representar o neurônio; pinte o neurônio de modo que a intensidade de cinza seja proporcional à ativação do neurônio
  4. execute a simulação (loop) pintando o neurônio na tela (defina 1 segundo o tempo entre iterações subsequentes, usando a função time.sleep(1) - pacote: import time)

3.3.3 Lista 3

  1. crie uma camada de neurônios, como uma lista de pesos de neurônios
  2. desenhe a camada de neurônios na tela com os mesmos dispostos verticalmente, e realize uma simulação como feito no ex.4 da Lista 2
  3. crie uma rede neural, através de uma lista composta por uma camada de neurônios e um neurônio de saída (as entradas do neur. de saída são as saídas dos neurônios da camada)
  4. desenha a rede neural (camada + neur.saida) durante a simulação do robô
  5. o neurônio de saida fica mais escuro ou mais claro? Isso acontece sempre?

3.4 Comandos

  • Lista de números lista = [0.3, 4, 0.01]
  • Criar uma lista vazia

    lista = []
    
    
  • Adicionar um elemento (número 5) a uma lista

    lista.append(5)
    
    
  • Tamanho da lista:

    len(lista)
    
    
  • Condicional if:
x = 5
if x > 4:
   print("maior que 4")
else:
   print("menor ou igual a 4")
  • Loop sobre uma lista:
for t in range(len(simulacao)):
    print(simulacao[t])
  • Lista de listas
b = [3,4]
lista = [[1,2], b]
print(lista)
print("Lista 1: ", lista[0])
print("Lista 2: ", lista[1])
print("Segundo elemento da Lista 1: ", lista[0][1])

Date: 2020/1

Author: Eric Aislan Antonelo

Created: 2020-03-12 Thu 12:48

Validate