Introdução à programação e aos algoritmos
Sumário
1 Introdução aos Computadores
1.1 Sistemas de Numeração
1.2 Números Binários
1.3 Octal e Hexadecimal
1.4 Kilo e Kibi
1.5 Binário Sinalizado
1.5.1 Sinal/valor
1.5.2 Excesso–N
1.5.3 Complemento a 1
1.5.4 Complemento a 2
1.6 Números Reais
1.7 Representação de Letras e Símbolos
1.8 Sistemas de Computação
1.9 Hardware
1.9.1 Entrada e Saída
1.9.2 CPU
1.9.3 Memória
1.10 Software
1.11 Compilada ou Interpretada
1.12 Sistema Operacional
Observações Finais
2 Bases da Programação
2.1 Linguagem de Programação
2.2 Algoritmos
2.3 Um Algoritmo Computacional Simples
2.4 Fluxogramas
2.5 Pseudocódigo
2.6 Identificadores
2.6.1 Identificadores em Python
2.7 Dados
2.7.1 Dados Numéricos
2.7.2 Grandes Inteiros em Python
2.7.3 Números com Ponto Flutuante
2.7.4 Dados Não Numéricos
2.8 Tipos de Variáveis
2.8.1 Tipos Definidos pelo Usuário
2.9 Constantes
2.10 Um Algoritmo Computacional Melhorado
2.11 Observações Finais
3 Programação Estruturada
3.1 Blocos de Construção de um Programa
3.1.1 Sequência
3.1.2 Seleção
3.1.3 Iteração
3.2 Tomando uma Decisão
3.3 Testes em Sequência
3.4 Condições Compostas
3.5 Estruturas de Repetição
3.6 Laços Contados
3.7 Observações Finais
4 Subalgoritmos
4.1 Fluxo de Execução
4.2 Módulos de Python
4.3 Funções
4.3.1 Funções sem Retorno de Resultados
4.3.2 Funções com Retorno de Resultados
4.4 Funções que Retornam Mais de um Resultado
4.5 Passagem de Parâmetros
4.5.1 Passagem por Valor ou Referência? Nenhuma das
Duas
4.6 Global ou Local
4.7 Tente Outra Vez
4.8 Observações Finais
5 Organizando a Informação
5.1 Sequências de Dados
5.2 Listas em Python
5.3 Processando uma Lista
5.4 Listas por Compreensão
5.5 Somando e Multiplicando Listas
5.6 Extraindo Sublistas
5.7 Operações em Listas
5.8 Clonando Listas
5.9 Listas como Parâmetros
5.10 Matrizes
5.11 Listas de Listas
5.12 Dicionários
5.13 Tuplas
5.14 NumPy
5.15 Observações Finais
6 Cadeias de Caracteres e Arquivos
6.1 Strings
6.1.1 Strings São Imutáveis
6.2 Fatiando Strings
6.3 Operações sobre Strings
6.4 Arquivos
6.5 Escrevendo em Arquivos
6.6 Observações Finais
7 Recursão
7.1 Fila de Programadores Míopes
7.2 Cálculo Recursivo para Tamanho de Lista
7.3 Modelo de Execução
7.4 Coelhos de Fibonacci
7.5 Eficiência da Recursão
7.6 Observações Finais
8 Ordenando Coisas
8.1 Ordenando uma Lista
8.1.1 Sentinela
8.2 Ordenação por Inserção
8.3 Observações Finais
9 Um Pouco de Estilo
9.1 Pense Antes de Programar
9.2 Preocupe-se com Seu Leitor
9.3 Seja Simples
9.4 Seja Desapegado
9.5 Teste Seu Programa
9.6 Observações Finais
Apêndice – Instalação de Python
A.1 Instalação no Windows
A.2 Instalação no Linux/Ubuntu
Bibliografia
Livros
Artigos
OceanofPDF.com