Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Raciocínio Computacional com Python - PyLadies Teresina

Raciocínio Computacional com Python - PyLadies Teresina

Slide do workshop de Raciocínio Computacional com Python, usando a biblioteca Turtles para iniciantes em programação.

Ana Paula Mendes

October 19, 2016
Tweet

More Decks by Ana Paula Mendes

Other Decks in Programming

Transcript

  1. Lógico-Matemático: • Abstrações; • Ferramentas. Raciocínios: Computacional: • Processo de

    resolução de problemas; • Abstrações e ferramentas matemáticas.
  2. Conceitos para Raciocínio Computacional • Recursão, divisão e conquista, composição;

    • Redução, transformações de problemas; • Diferentes abstrações para representar a realidade; • Ver dados como programas e programas como dados; • Diferentes modelos de computação; • Possibilidades/limites do computador/da computação.
  3. Generalização de um programa • Entrada; • Saída; • Lógica

    e matemática; • Execução condicional; • Repetições.
  4. O que é depuração? É encontrar e corrigir erros no

    programa. Também conhecido como debugging.
  5. Erros de Sintaxe Se refere à estrutura de um programa

    e as regras sobre essa estrutura.
  6. Depuração experimental Embora possa ser frustrante, depurar é uma das

    partes intelectualmente mais ricas, desafiadoras e interessantes da programação.
  7. Variáveis e tipos de dados: • Int; • Float; •

    Str; • Bool. ➢ Função type( ); ➢ Função para conversão de valores;
  8. Palavras Reservadas and - as - assert - break -

    class - continue - def - del - elif - else - except - exec finally - for - from - global - if - import - in - is - lambda - nonlocal - not - or pass - raise - return - try - while - with - yield - True - False - None
  9. Comando e Expressão Comando é uma instrução que o interpretador

    Python pode executar; Ex.: while, if, for, import. Expressão é uma combinação de valores, variáveis, operadores e chamadas de funções e necessitam ser calculadas. Ex.: x = x + 1
  10. Operadores e Operandos + adição - subtração * multiplicação **

    exponenciação / divisão // divisão inteira % resto
  11. Operadores Relacionais > maior que >= maior igual que <

    menor que <= menor igual que == igual != diferente
  12. Input • nome = input(“Digite um nome: ”) • numero

    = int(input(“Digite um numero inteiro: ”)) • racional = float(input(“Digite um float: ”))
  13. Regras de Precedência: • Parênteses têm a mais alta precedência

    e podem ser usados para forçar que uma expressão seja calculada na ordem que você deseja; • Exponenciação tem a segunda precedência mais alta; • Multiplicação e ambas as divisões têm a mesma precedência, que são mais altas que adição e subtração, que também têm a mesma precedência.
  14. Listas • Valores em uma lista [item 0, item 1,

    item 2, …, item n] • Comprimento de uma lista; len(lista) • Acessando os elementos;
  15. Listas • Concatenação e repetição; print([item 0, item 1] +

    [‘string’, ‘string’] print([item] * quantidade) • Fatias de listas (slice) • Remoção em listas; del lista[indice]
  16. Listas • Objetos e referências; • Listas são objetos imutáveis

    lista 1 == lista 2 lista 1 is lista 2 print([item 0, item1, item 2 * 3] ) print([item 0, item1, item 2 ] *3 )
  17. Listas • Métodos de listas. minha_lista = [] dir(minha_lista) •

    Laço for nas listas • List Comprehensions [<expressão> for <item> in <sequência> if < condição>]
  18. Estrutura de Decisão • Valores booleanos; • Expressão booleana; •

    Operadores Lógicos e Relacionais; • Precedência.
  19. Exercícios Digite o link na sua barra de endereço do

    navegador: http://exercism.io/exercises/python/rna-transcription/r eadme http://exercism.io/exercises/python/allergies/readme
  20. Embora seja muito divertido brincar com as tartarugas, o propósito

    real é ensinar um pouco mais de Python e desenvolver o nosso tema sobre raciocínio computacional ou pensando como um cientista da computação.
  21. Nosso primeiro programa com tartarugas import turtle janela = turtle.Screen()

    pylady = turtle.Turtle() pylady.forward(150) pylady.left(90) pylady.forward(75)
  22. Atividade breve sobre a turtle • Importe a turtle; •

    Mude a cor da janela; • Abra uma tartaruga; • Mude a cor da tartaruga; • Mude o tamanho do rabo da tartaruga; • Faça um desenho; • Feche a janela.
  23. + Atividade breve sobre a turtle • Mude o programa

    para pedir ao usuário a cor da janela e a cor da tartaruga; • Peça ao usuário o tamanho do rabinho da turtle.
  24. Instância: Um bando de tartarugas! • Vamos inicializar várias tartaruguinhas

    ao mesmo tempo e atribuir características a elas e ações. Michelangelo, Raphael, Leonardo e Donatello.
  25. Iteração simplifica o programa de tartaruga import turtle for i

    in [0,1,2,3]: janela = turtle.Screen() pylady.forward(50) pylady = turtle.Turtle() pylady.left(90) janela.exitonclick()
  26. Observações • Há 360 graus em uma circunferência. Convenções geométricas

    estabelecem que 0 graus aponta para o leste; • Sempre que você precisar desenhar uma forma fechada, como um quadrado ou retângulo, é uma boa prática deixar a tartaruga de volta ao estado original, apontando para a mesma direção inicial; • Um dos principais usos para comentários é deixar gravado o seu agrupamento mental e as ideias grandes. Elas nem sempre ficam explícitas no código.
  27. Outras observações e métodos de Turtle • Sentido horário e

    anti-horário; • O rabo da tartaruga pode ser deixado para baixo ou para cima; • Mudar o corpo da tartaruga; • Controlar a velocidade de animação [1-10]; • A tartaruga pode ser carimbada na janela.
  28. Referências Bibliográficas 1.Como pensar como um cientista da computação (https://panda.ime.usp.br/pensepy/static/pensepy/index.html#

    listas) 2.Os básicos de Python (http://cacho.la/julia/os-basicos-de-python) 3. Tutorial de Introdução ao Python - PET-Tele UFF (http://www.telecom.uff.br/pet/petws/downloads/apostilas/PYT HON.pdf)
  29. "Um navio é seguro no porto. Mas não é para

    isso que os navios foram construídos." (Grace Hopper)