Slide 1

Slide 1 text

Raciocínio Computacional com Python PyLadies Teresina

Slide 2

Slide 2 text

Raciocínio Computacional:

Slide 3

Slide 3 text

Habilidades

Slide 4

Slide 4 text

Computational Thinking

Slide 5

Slide 5 text

Evolução do Conhecimento

Slide 6

Slide 6 text

Lógico-Matemático: ● Abstrações; ● Ferramentas. Raciocínios: Computacional: ● Processo de resolução de problemas; ● Abstrações e ferramentas matemáticas.

Slide 7

Slide 7 text

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.

Slide 8

Slide 8 text

Vantagem: Somos estimulados a pensar em coisas que antes eram inimagináveis!

Slide 9

Slide 9 text

Vamos pensar como um cientista da computação?

Slide 10

Slide 10 text

Solucionar Problemas

Slide 11

Slide 11 text

Algoritmo Uma sequência de passos lógicos e finitos para a resolução de um problema.

Slide 12

Slide 12 text

A linguagem de programação Python ● Linguagem de alto nível; ● Interpretada;

Slide 13

Slide 13 text

Interpretadores x Compiladores

Slide 14

Slide 14 text

Generalização de um programa ● Entrada; ● Saída; ● Lógica e matemática; ● Execução condicional; ● Repetições.

Slide 15

Slide 15 text

O que é depuração? É encontrar e corrigir erros no programa. Também conhecido como debugging.

Slide 16

Slide 16 text

Erros ● Erros de sintaxe; ● Erros de semântica; ● Erros de execução;

Slide 17

Slide 17 text

Erros de Sintaxe Se refere à estrutura de um programa e as regras sobre essa estrutura.

Slide 18

Slide 18 text

Erros de Semântica Se refere a lógica do seu programa

Slide 19

Slide 19 text

Erros de Execução Também conhecido como runtime errors ou exceções e só aparecem quando executa o programa.

Slide 20

Slide 20 text

Depuração experimental Embora possa ser frustrante, depurar é uma das partes intelectualmente mais ricas, desafiadoras e interessantes da programação.

Slide 21

Slide 21 text

Ling. Formais x Ling.Naturais

Slide 22

Slide 22 text

Nosso primeiro Hello World em Python

Slide 23

Slide 23 text

Variáveis, Expressões e Comandos

Slide 24

Slide 24 text

Variáveis e tipos de dados: ● Int; ● Float; ● Str; ● Bool. ➢ Função type( ); ➢ Função para conversão de valores;

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

Operadores e Operandos + adição - subtração * multiplicação ** exponenciação / divisão // divisão inteira % resto

Slide 28

Slide 28 text

Operadores Relacionais > maior que >= maior igual que < menor que <= menor igual que == igual != diferente

Slide 29

Slide 29 text

Operadores Lógicos and e or ou not não

Slide 30

Slide 30 text

Input ● nome = input(“Digite um nome: ”) ● numero = int(input(“Digite um numero inteiro: ”)) ● racional = float(input(“Digite um float: ”))

Slide 31

Slide 31 text

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.

Slide 32

Slide 32 text

Reatribuição

Slide 33

Slide 33 text

Atualização de Variáveis ● Incremento; ● Decremento.

Slide 34

Slide 34 text

Listas ● Valores em uma lista [item 0, item 1, item 2, …, item n] ● Comprimento de uma lista; len(lista) ● Acessando os elementos;

Slide 35

Slide 35 text

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]

Slide 36

Slide 36 text

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 )

Slide 37

Slide 37 text

Listas ● Métodos de listas. minha_lista = [] dir(minha_lista) ● Laço for nas listas ● List Comprehensions [ for in if < condição>]

Slide 38

Slide 38 text

Estrutura de Decisão

Slide 39

Slide 39 text

Estrutura de Decisão ● Valores booleanos; ● Expressão booleana; ● Operadores Lógicos e Relacionais; ● Precedência.

Slide 40

Slide 40 text

Estrutura de Decisão Execução condicional: Seleção binária if EXPRESSÃO BOOLEANA: COMANDOS_1 else: COMANDOS_2

Slide 41

Slide 41 text

Estrutura de Decisão Seleção unária: omissão do else if EXPRESSÃO BOOLEANA: COMANDOS_1 COMANDOS_2

Slide 42

Slide 42 text

Estrutura de Decisão Condicionais Aninhados if EXPRESSÃO BOOLEANA: COMANDOS_1 else: if EXPRESSÃO BOOLEANA: COMANDOS_2 else: COMANDOS_3

Slide 43

Slide 43 text

Estrutura de Decisão Condicionais Encadeados if EXPRESSÃO BOOLEANA: COMANDOS_1 elif EXPRESSÃO BOOLEANA: COMANDOS_2 else: COMANDOS_3

Slide 44

Slide 44 text

Estrutura de Repetição Laço for for in :

Slide 45

Slide 45 text

Estrutura de Repetição Laço while while :

Slide 46

Slide 46 text

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

Slide 47

Slide 47 text

Módulos

Slide 48

Slide 48 text

Módulo Math

Slide 49

Slide 49 text

Módulo Random

Slide 50

Slide 50 text

Olá, tartaruguinhas!

Slide 51

Slide 51 text

Vamos nos divertir agora com a biblioteca turtles para exercitar o raciocínio computacional!

Slide 52

Slide 52 text

Que tal virarmos tartarugas ninjas? hehehe =)

Slide 53

Slide 53 text

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.

Slide 54

Slide 54 text

Nosso primeiro programa com tartarugas import turtle janela = turtle.Screen() pylady = turtle.Turtle() pylady.forward(150) pylady.left(90) pylady.forward(75)

Slide 55

Slide 55 text

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.

Slide 56

Slide 56 text

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

Slide 57

Slide 57 text

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.

Slide 58

Slide 58 text

O laço for

Slide 59

Slide 59 text

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()

Slide 60

Slide 60 text

A função range ● range(parada); ● range(começo, parada); ● range(começo, parada, variação);

Slide 61

Slide 61 text

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.

Slide 62

Slide 62 text

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.

Slide 63

Slide 63 text

Resumo de métodos de Turtle

Slide 64

Slide 64 text

Vamos pensar? ● Estrela; ● Sistema Solar.

Slide 65

Slide 65 text

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)

Slide 66

Slide 66 text

"Um navio é seguro no porto. Mas não é para isso que os navios foram construídos." (Grace Hopper)

Slide 67

Slide 67 text

Obrigada <3