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

Raciocínio Computacional com Python - PyLadies ...

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.

Avatar for Ana Paula Mendes

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)