Você está na página 1de 8

Como Pensar Como um Cientista da

Computação

(_images/python-logo.png)

Aprendendo com Python: Edição interativa


(usando Python 3.x)
Tradução do livro How to Think Like a Computer Scientist: Interactive Version
(https://runestone.academy/runestone/books/published/thinkcspy/index.html)

de Brad Miller e David Ranum [Luther College]

Traduzido por: C. H. Morimoto, J. C. de Pina Jr. e J. A. Soares

Arquivos fonte dessa tradução. (https://github.com/cmorimoto/thinkcspy_ptbr)

Preâmbulos
Aviso de direitos autorais (00-FrontBackMatter/copyright-ptbr.html)
Copyright Notice (00-FrontBackMatter/copyright-ptbr.html#copyright-notice)
Prefácio (00-FrontBackMatter/foreword-ptbr.html)
Prefácio da primeira e segunda edições (00-FrontBackMatter/preface2e-ptbr.html)
Prefácio à terceira edição (00-FrontBackMatter/preface-ptbr.html)
A edição local de Rhodes (RLE) (00-FrontBackMatter/preface-ptbr.html#a-edicao-local-
de-rhodes-rle)
Prefácio à Edição Interativa (00-FrontBackMatter/prefaceinteractive-ptbr.html)
Para que fazer o log in? (00-FrontBackMatter/prefaceinteractive-ptbr.html#para-que-
fazer-o-log-in)
Como Contribuir (00-FrontBackMatter/prefaceinteractive-ptbr.html#como-contribuir)
Agradecimentos (00-FrontBackMatter/prefaceinteractive-ptbr.html#agradecimentos)
Lista de Contribuidores (00-FrontBackMatter/contrib-ptbr.html)
GNU Free Documentation License (00-FrontBackMatter/fdl-1.3.html)
ADDENDUM: How to use this License for your documents (00-FrontBackMatter/fdl-
1.3.html#addendum-how-to-use-this-license-for-your-documents)

Introdução
O Caminho do Programa (01-Introducao/introducao.html)

Conceitos de Python
Variáveis, Expressões e Comandos (02-Conceitos/conceitos.html)

Programando uma Tartaruga em Python


Olá, tartaruguinhas! (03-PythonTurtle/olatartaruga.html)

Modulos do Python
Módulos e Obtendo Ajuda (04-Modulos/modulos.html)
Módulos (04-Modulos/modulos.html#modulos)
Mais sobre o uso de módulos (04-Modulos/modulos.html#mais-sobre-o-uso-de-
modulos)
O módulo math (04-Modulos/modulos.html#o-modulo-math)
O módulo random (04-Modulos/modulos.html#o-modulo-random)
Glossário (04-Modulos/modulos.html#glossario)
Exercícios (04-Modulos/modulos.html#exercicios)

Funções
Funções (05-Funcoes/funcoes.html)
Funções (05-Funcoes/funcoes.html#index-0)
Funções que retornam valores (05-Funcoes/funcoes.html#funcoes-que-retornam-
valores)
Variáveis e parâmetros são locais (05-Funcoes/funcoes.html#variaveis-e-
parametros-sao-locais)
O Padrão de Acumulação (05-Funcoes/funcoes.html#o-padrao-de-acumulacao)
Funções podem chamar outras funções (05-Funcoes/funcoes.html#funcoes-
podem-chamar-outras-funcoes)
Sumário do fluxo de execução (05-Funcoes/funcoes.html#sumario-do-fluxo-de-
execucao)
Um Diagrama de Barras de uma Tartaruga (05-Funcoes/funcoes.html#um-
diagrama-de-barras-de-uma-tartaruga)
Glossário (05-Funcoes/funcoes.html#glossario)
Exercícios (05-Funcoes/funcoes.html#exercicios)
Functions Revisited (05-Funcoes/maisfuncoes.html)
Desenvolvimento de programas (05-Funcoes/maisfuncoes.html#desenvolvimento-
de-programas)
Composição (05-Funcoes/maisfuncoes.html#composicao)
Função Booleana (05-Funcoes/maisfuncoes.html#funcao-booleana)
Programando Com Estilo (05-Funcoes/maisfuncoes.html#programando-com-
estilo)
Glossário (05-Funcoes/maisfuncoes.html#glossario)
Exercícios (05-Funcoes/maisfuncoes.html#exercicios)

Seleção
Decisões e Seleção (06-Selecao/selecao.html)
Valores booleanos e expressões booleanas (06-Selecao/selecao.html#valores-
booleanos-e-expressoes-booleanas)
Operadores lógicos (06-Selecao/selecao.html#operadores-logicos)
Precedência de operadores (06-Selecao/selecao.html#precedencia-de-
operadores)
Execução condicional: seleção binária (06-Selecao/selecao.html#execucao-
condicional-selecao-binaria)
Seleção unária: omissão do else (06-Selecao/selecao.html#selecao-unaria-
omissao-do-else)
Condicionais aninhados (06-Selecao/selecao.html#condicionais-aninhados)
Condicionais encadeados (06-Selecao/selecao.html#condicionais-encadeados)
Funções booleanas (06-Selecao/selecao.html#funcoes-booleanas)
Glossário (06-Selecao/selecao.html#glossario)
Exercicíos (06-Selecao/selecao.html#exercicios)

Mais Sobre Iteração


Mais sobre Iteração (07-Iteracao/maisiteracao.html)
Mais sobre o comando for (07-Iteracao/maisiteracao.html#mais-sobre-o-
comando-for)
O comando while (07-Iteracao/maisiteracao.html#o-comando-while)
Caminhadas Aleatórias de Tartarugas (07-
Iteracao/maisiteracao.html#caminhadas-aleatorias-de-tartarugas)
A sequência 3n + 1 (07-Iteracao/maisiteracao.html#a-sequencia-3n-1)
Método de Newton (07-Iteracao/maisiteracao.html#metodo-de-newton)
Revisão de Algoritmos (07-Iteracao/maisiteracao.html#revisao-de-algoritmos)
Tabelas Simples (07-Iteracao/maisiteracao.html#tabelas-simples)
Iteração Bidimensional: Processamento de Imagens (07-
Iteracao/maisiteracao.html#iteracao-bidimensional-processamento-de-imagens)
Glossário (07-Iteracao/maisiteracao.html#glossario)
Exercícios (07-Iteracao/maisiteracao.html#exercicios)

Strings
Strings (08-Strings/strings.html)
Revisão de strings (08-Strings/strings.html#revisao-de-strings)
Um tipo de dado composto (08-Strings/strings.html#um-tipo-de-dado-composto)
Operações com strings (08-Strings/strings.html#operacoes-com-strings)
Operador de indexação (08-Strings/strings.html#operador-de-indexacao)
Métodos de string (08-Strings/strings.html#metodos-de-string)
Comprimento (08-Strings/strings.html#comprimento)
Fatiamento (08-Strings/strings.html#fatiamento)
Comparação de strings (08-Strings/strings.html#comparacao-de-strings)
Strings são imutáveis (08-Strings/strings.html#strings-sao-imutaveis)
Varredura com for por item (08-Strings/strings.html#varredura-com-for-por-item)
Varredura com for por índice (08-Strings/strings.html#varredura-com-for-por-
indice)
Varredura com while (08-Strings/strings.html#varredura-com-while)
Operadores in e not in (08-Strings/strings.html#operadores-in-e-not-in)
Padrão de acumulação com strings (08-Strings/strings.html#padrao-de-
acumulacao-com-strings)
Tartarugas, strings e Sistemas-L (08-Strings/strings.html#tartarugas-strings-e-
sistemas-l)
Repetições e contagens (08-Strings/strings.html#repeticoes-e-contagens)
Função find (08-Strings/strings.html#funcao-find)
Parâmetros opcionais (08-Strings/strings.html#id1)
Classificação de caracteres (08-Strings/strings.html#classificacao-de-caracteres)
Resumo (08-Strings/strings.html#resumo)
Glossário (08-Strings/strings.html#glossario)
Exercícios (08-Strings/strings.html#exercicios)

Listas
Listas (09-Listas/listas.html)
Valores em uma lista (09-Listas/listas.html#valores-em-uma-lista)
Comprimento de uma lista (09-Listas/listas.html#comprimento-de-uma-lista)
Acessando os elementos (09-Listas/listas.html#acessando-os-elementos)
Pertinência em uma Lista (09-Listas/listas.html#pertinencia-em-uma-lista)
Concatenação e repetição (09-Listas/listas.html#concatenacao-e-repeticao)
Fatias de listas (09-Listas/listas.html#fatias-de-listas)
Listas são mutáveis (09-Listas/listas.html#listas-sao-mutaveis)
Remoção em listas (09-Listas/listas.html#remocao-em-listas)
Objetos e referências (09-Listas/listas.html#objetos-e-referencias)
Apelidos (Aliasing) (09-Listas/listas.html#apelidos-aliasing)
Clonando listas (09-Listas/listas.html#clonando-listas)
Repetições e referências (09-Listas/listas.html#repeticoes-e-referencias)
Métodos de listas (09-Listas/listas.html#metodos-de-listas)
Retorno a sistemas-L (09-Listas/listas.html#retorno-a-sistemas-l)
Append versus concatenação (09-Listas/listas.html#append-versus-concatenacao)
Listas e o laço for (09-Listas/listas.html#listas-e-o-laco-for)
Listas como parâmetros (09-Listas/listas.html#listas-como-parametros)
Função pura (09-Listas/listas.html#funcao-pura)
Qual é melhor? (09-Listas/listas.html#qual-e-melhor)
Funções que produzem listas (09-Listas/listas.html#funcoes-que-produzem-listas)
List comprehensions (09-Listas/listas.html#list-comprehensions)
Listas aninhadas (09-Listas/listas.html#listas-aninhadas)
Strings e listas (09-Listas/listas.html#strings-e-listas)
Função de conversão list (09-Listas/listas.html#funcao-de-conversao-list)
Tuplas e mutabilidade (09-Listas/listas.html#tuplas-e-mutabilidade)
Atribuição de tuplas (09-Listas/listas.html#atribuicao-de-tuplas)
Tuplas como valor de retorno (09-Listas/listas.html#tuplas-como-valor-de-retorno)
Glossário (09-Listas/listas.html#glossario)
Exercícios (09-Listas/listas.html#exercicios)

Arquivos
Trabalhando com Arquivos (10-Arquivos/files.html)
Encontrando um arquivo disco (10-Arquivos/files.html#encontrando-um-arquivo-
disco)
Abrindo e fechando arquivos (10-Arquivos/files.html#abrindo-e-fechando-arquivos)
Iterando sobre as linha de um Arquivo (10-Arquivos/files.html#iterando-sobre-as-
linha-de-um-arquivo)
Métodos alternativos para ler arquivos (10-Arquivos/files.html#metodos-
alternativos-para-ler-arquivos)
Glossário (10-Arquivos/files.html#glossario)
Exercícios (10-Arquivos/files.html#exercicios)

Dicionarios
Dicionários (11-Dicionarios/dicionarios.html)
Operações com dicionários (11-Dicionarios/dicionarios.html#operacoes-com-
dicionarios)
Métodos de dicionários (11-Dicionarios/dicionarios.html#metodos-de-dicionarios)
Apelidos and cópias (11-Dicionarios/dicionarios.html#apelidos-and-copias)
Matrizes esparsas (11-Dicionarios/dicionarios.html#matrizes-esparsas)
Glossário (11-Dicionarios/dicionarios.html#glossario)
Exercícios (11-Dicionarios/dicionarios.html#exercicios)

Recursão
Recursão (12-Recursao/recursionsimple-ptbr.html)
Objetivos (12-Recursao/recursionsimple-ptbr.html#objetivos)
O que é recursão? (12-Recursao/recursionsimple-ptbr.html#o-que-e-recursao)
Pilha de execução: implementando recursão (12-Recursao/recursionsimple-
ptbr.html#pilha-de-execucao-implementando-recursao)
Visualizando recursão (12-Recursao/graphical-ptbr.html)
Triângulo de Sierpinski (12-Recursao/graphical-ptbr.html#triangulo-de-sierpinski)
Glossário (12-Recursao/introexercises-ptbr.html)
Exercícios de programação (12-Recursao/introexercises-ptbr.html#exercicios-de-
programacao)

Definindo Classes
Classes e Objetos - Fundamentos (13-Classes/classesintro.html)
Programação orientada à objetos (13-Classes/classesintro.html#programacao-
orientada-a-objetos)
Uma mudança de perspectiva (13-Classes/classesintro.html#uma-mudanca-de-
perspectiva)
Revisão de Objetos (13-Classes/classesintro.html#revisao-de-objetos)
Classes definidas pelo usuário (13-Classes/classesintro.html#classes-definidas-
pelo-usuario)
Melhorando o Nosso Construtor (13-Classes/classesintro.html#melhorando-o-
nosso-construtor)
Adicionando Outros Métodos à Nossa Classe (13-
Classes/classesintro.html#adicionando-outros-metodos-a-nossa-classe)
Objetos Como Argumentos e Parâmetros (13-Classes/classesintro.html#objetos-
como-argumentos-e-parametros)
Conversão de um Objeto para um String (13-
Classes/classesintro.html#conversao-de-um-objeto-para-um-string)
Instâncias e Valores de Retorno (13-Classes/classesintro.html#instancias-e-
valores-de-retorno)
Glossário (13-Classes/classesintro.html#glossario)
Exercícios (13-Classes/classesintro.html#exercicios)
Classes e Objetos - Indo um pouco mais fundo (13-Classes/fracoes.html)
Frações (13-Classes/fracoes.html#fracoes)
Objetos são Mutáveis (13-Classes/fracoes.html#objetos-sao-mutaveis)
Igualdade (13-Classes/fracoes.html#igualdade)
Métodos aritméticos (13-Classes/fracoes.html#metodos-aritmeticos)
Glossário (13-Classes/fracoes.html#glossario)
Exercícios (13-Classes/fracoes.html#exercicios)

Labs
Astronomy Animation (Labs/astronomylab.html)
Object-oriented programming (Labs/astronomylab.html#object-oriented-
programming)
Turtle Racing Lab (Labs/lab03_01.html)
Random Numbers (Labs/lab03_01.html#random-numbers)
Turtle Races (Labs/lab03_01.html#turtle-races)
Lessons from a Triangle (Labs/lab04_01a.html)
Finally a Circle (Labs/lab04_01a.html#finally-a-circle)
Drawing a Circle (Labs/lab04_01.html)
Counting Letters (Labs/lab12_01.html)
Simple Solution: Counting a Single Letter (Labs/lab12_01.html#simple-solution-
counting-a-single-letter)
General Solution: Counting All Letters (Labs/lab12_01.html#general-solution-
counting-all-letters)
Letter Count Histogram (Labs/lab12_02.html)
Approximating the Value of Pi (Labs/montepi.html)
Setup (Labs/montepi.html#setup)
Throwing Darts (Labs/montepi.html#throwing-darts)
Counting Darts (Labs/montepi.html#counting-darts)
The Value of Pi (Labs/montepi.html#the-value-of-pi)
Python Além do Navegador (Labs/pythonshell.html)
O Python Shell (Labs/pythonshell.html#o-python-shell)
Executando um programa em Python (Labs/pythonshell.html#executando-um-
programa-em-python)
Instalando Python no Windows (Labs/pythonshell.html#instalando-python-no-
windows)
Glossário (Labs/pythonshell.html#glossario)
Experimenting With the 3n+1 Sequence (Labs/sequencelab.html)
Plotting a sine Wave (Labs/sinlab.html)
What is the sine function? (Labs/sinlab.html#what-is-the-sine-function)
Making the Plot (Labs/sinlab.html#making-the-plot)
Making the Plot Better (Labs/sinlab.html#making-the-plot-better)

Appendices
Depuração (Debugging) (Appendices/app_a.html)
Erros de sintaxe (Syntax errors) (Appendices/app_a.html#erros-de-sintaxe-syntax-
errors)
Não consigo fazer o meu programa rodar (Appendices/app_a.html#nao-consigo-
fazer-o-meu-programa-rodar)
Erros de execução (Runtime errors) (Appendices/app_a.html#erros-de-execucao-
runtime-errors)
Meu programa não faz nada (Appendices/app_a.html#meu-programa-nao-faz-
nada)
Meu programa trava (Appendices/app_a.html#meu-programa-trava)
Laço infinito (Appendices/app_a.html#laco-infinito)
Recursão infinita (Appendices/app_a.html#recursao-infinita)
Fluxo de execução (Appendices/app_a.html#fluxo-de-execucao)
Quando executo o programa ocorre uma excessão
(Appendices/app_a.html#quando-executo-o-programa-ocorre-uma-excessao)
Coloquei tanto print no meu programa que não consigo ver nada
(Appendices/app_a.html#coloquei-tanto-print-no-meu-programa-que-nao-consigo-
ver-nada)
Erros semânticos (Appendices/app_a.html#erros-semanticos)
Meu programa não funciona (Appendices/app_a.html#meu-programa-nao-
funciona)
Minha expressão cabeluda não faz o que eu esperava
(Appendices/app_a.html#minha-expressao-cabeluda-nao-faz-o-que-eu-esperava)
Minha função ou método não retorna o que eu espero
(Appendices/app_a.html#minha-funcao-ou-metodo-nao-retorna-o-que-eu-espero)
Eu estou realmente travado e necessito ajuda (Appendices/app_a.html#eu-estou-
realmente-travado-e-necessito-ajuda)
Não, eu realmente preciso de ajuda (Appendices/app_a.html#nao-eu-realmente-
preciso-de-ajuda)
Etceteras (Appendices/app_b.html)
Cinco habilidadee para proficiência (Appendices/app_b.html#cinco-habilidadee-
para-proficiencia)
Enviando email (Appendices/app_b.html#enviando-email)
Configurando Ubuntu para Desenvolvimento em Python (Appendices/app_c.html)
Vim (Appendices/app_c.html#vim)
GASP (Appendices/app_c.html#gasp)
Ambiente $HOME (Appendices/app_c.html#ambiente-home)
Making a python script executable and runnable from anywhere
(Appendices/app_c.html#making-a-python-script-executable-and-runnable-from-
anywhere)
Customizing and Contributing to the Book (Appendices/app_d.html)
Getting the Source (Appendices/app_d.html#getting-the-source)
Making the HTML Version (Appendices/app_d.html#making-the-html-version)

Índices e tabelas
Index (genindex.html)
Search Page (search.html)

(00-FrontBackMatter/copyright-ptbr.html)

user not logged in

Você também pode gostar