C++ para Universitários

 

1 INTRODUÇÃO

1.1 O computador como ferramenta auxiliar do cálculo

1.2 Algoritmos e programas

1.3 Breve histórico das linguagens de programação

1.4 Como este livro está organizado

1.4.1. Objetivos

1.4.2. Comentários

1.4.3. Material de aula

2 ESTRUTURA DE UM PROGRAMA

2.1 Armazenamento de dados em memória

2.1.1. Identificador

2.1.2. Tipos predefinidos de dados

2.1.3. Variável

2.1.4. Declaração de variáveis

2.1.5. Constantes de caracteres, numéricas e booleanas

2.1.6. Caracteres de controle

2.1.7. Atribuição

2.2 Operadores aritméticos

2.3 Comandos de entrada e saída

2.3.1. Comando de Saída da Linguagem C++

2.3.2. Comando de Entrada da Linguagem C++

2.4 Estrutura de um programa

2.4.1. Funções

2.4.2. A função main (principal)

2.4.3. Arquivos de inclusão e espaços de nomes

2.4.4. Exemplo completo

2.5 Exercícios

2.6 Linguagem C

2.6.1. Formatação de dados na Linguagem C

2.6.2. Comando de Saída da Linguagem C

2.6.3. Comando de Entrada da Linguagem C

2.6.4. Exemplo comparativo entre as linguagens C e C++

2.7 Exercícios

3 FUNÇÕES MATEMÁTICAS PREDEFINIDAS

3.1 Funções da biblioteca cmath

3.2 Funções não disponíveis nas bibliotecas do C++

3.3 Exercícios

4 OPERADORES

4.1 Operadores de atribuição

4.1.1. Operadores de Atribuição Compostos

4.1.2. Operadores de Incremento e Decremento

4.2 Operadores relacionais

4.3 Operadores lógicos

4.4 O tipo bool

4.5 Propriedades lógicas

4.6 Operador condicional

4.7 Operador XOR

4.8 Prioridades dos operadores

4.9 Exercícios

5 ESTRUTURAS CONDICIONAIS

5.1 Estrutura condicional if...else

5.2 Exercícios

6 ESTRUTURAS CONDICIONAIS ANINHADAS

6.1 Blocos de comandos

6.2 Estruturas condicionais aninhadas

6.3 Legibilidade de algoritmos e indentação

6.4 Exercícios

7 MAIS ESTRUTURAS CONDICIONAIS

7.1 Estrutura condicional switch... case

7.2 Utilizando variáveis bool no comando if

7.3 Swap (Troca)

7.4 Exercícios

8 DEFININDO FUNÇÕES

8.1 Funções de usuário

8.2 Estrutura de uma função

8.3 Exercícios

9 REPETIÇÃO COM VARIÁVEL DE CONTROLE

9.1 Estrutura repetitiva com variável de controle

9.1.1. A flexibilidade do comando for

9.1.2. O comando break

9.1.3. O comando continue

9.2 Exercícios

10 SEQÜÊNCIAS E SOMATÓRIOS

10.1 Seqüências

10.2 Somatórios

10.3 Exercícios

11 SÉRIES POLINOMIAIS

11.1 Fatorial

11.2 Troca de sinal

11.3 Séries de potência

11.4 Exercícios

12 DETALHANDO FUNÇÕES

12.1 Euler e a Notação Computacional para uma Função

12.2 Definição e Chamada de uma Função

12.3 Funções como Blocos de Construção

12.4 Declaração de uma Função

12.5 Funções que Chamam Outras Funções

12.6 Referências

12.7 Passagem de Parâmetros para uma Função

12.8 Ciclo de Vida das Variáveis nas Chamadas das Funções

12.9 Parâmetros com valores “Defaults

12.10 Sobrecarga de Funções

12.11 Exercícios

13 UNIDADES INDEPENDENTES

13.1 Recursividade

13.2 Exercícios

13.3 Funções Ordinárias em Outras Unidades

13.4 Exercícios

13.5 NAN e INFINITY

13.6 Exercícios

13.7 A Visão da Função na Metodologia de Programação

14 ESTRUTURAS REPETITIVAS WHILE E DO WHILE

14.1 Legibilidade das Funções em C++

14.2 Repetição com condição no início ou no final

14.3 Sintaxe e Funcionamento do Comando while

14.4 Sintaxe e Funcionamento do Comando do...while

14.5 Exercícios

14.6 Validação de Dados de Entrada

14.7 Exercícios

14.8 Exercícios de Utilização da Estrutura while

15 MÉTODOS NUMÉRICOS

15.1 Zeros de Função

15.1.1. Método de Newton-Raphson ou das Tangentes

15.1.2. Método da Iteração

15.2 Exercícios

15.3 Usando o Numerical Recipes em C++

15.4 Exercícios

16 VETORES

16.1 Arranjos

16.2 Vetores

16.3 Criando Nomes Alternativos com typedef

16.4 Exercícios

17 MATRIZES

17.1 Matrizes

17.2 Exercícios sobre Matrizes

18 PONTEIROS

18.1 Ponteiros

18.2 Manipulação de Ponteiros

18.3 Ponteiros e Arranjos

18.4 Ponteiros e o Gerenciamento da Memória Dinâmica

18.5 Alocação Dinâmica de uma Matriz

18.6 Alocação Estática e Dinâmica de Vetores e Matrizes

18.7 Exercícios sobre Alocação Estática e Dinâmica de Vetores e Matrizes

18.8 Exercícios sobre Vetores Dinâmicos

18.9 Exercícios sobre Matrizes Dinâmicas

18.10 Exercícios Gerais

19 ESTRUTURAS

19.1 Cadeia de Caracteres (string)

19.2 Enumerações

19.3 Arranjos e Estruturas (struct)

19.4 Combinando Arranjos e Estruturas

19.5 Exercícios sobre Arranjos e Estruturas

20 CLASSES

20.1 Introdução POE e POO

20.2 Objetos e Classes

20.3 UML e Classes (class)

20.4 Classes (class) e Estruturas (struct) em C++

20.5 Organização das Classes em Unidades Independentes

20.6 A Classe das Figuras Geométricas: Encapsulamento

20.7 A Classe das Figuras Geométricas: Hereditariedade

20.8 A Classe das Figuras Geométricas: Polimorfismo

21 IMPLEMENTANDO CLASSES

21.1 Construtores, Destruidores, Operadores e Atribuidores

21.2 Exercícios sobre a classe Complexo

21.3 Implementação de uma Classe Dinâmica

21.4 Exercícios de Implementação de Métodos

21.5 Exercícios de Instanciamento e Chamada de Métodos

22 ORDENAÇÃO

22.1 Introdução

22.2 Fundamentando a Ordenação

22.3 Algoritmo Bubblesort

22.4 Algoritmo Selectionsort

22.5 Exercícios

22.6 Algoritmo Insertionsort

22.7 Exercícios

22.8 Algoritmo Shakersort

22.9 Exercícios

23 TEMPO E ESPAÇO

23.1 Análise de Algoritmos

23.2 Visão do Algoritmo na Programação

23.3 Quantidade de Operações

23.4 Exercícios

23.5 Tempo

23.6 Exercícios

24 COMPLEXIDADE, ORDENAÇÃO E BUSCA

24.1 A notação O, de Bachmann

24.2 Exercícios

24.3 Escala de Complexidades e Complexidade Polinomial

24.4 Classes Comuns de Complexidade

24.5 Efeito da Complexidade

24.6 Algoritmo Shellsort

24.7 Exercícios

24.8 Algoritmo Quicksort

24.9 Exercícios

24.10 Complexidade dos Algoritmos de Ordenação

24.11 Buscas Seqüencial e Binária

24.12 Exercícios

24.13 Indexação de Tabelas

24.14 Espalhamento

24.15 Exercícios

25 LISTAS, GRAFOS E ÁRVORES

25.1 Listas Dinâmicas

25.2 Exercícios

25.3 Matrizes e Grafos

25.4 Representação de Grafos e Árvores

25.5 Exercícios

26 DIJKSTRA E PRIM

26.1 Algoritmo de Dijkstra

26.2 Exercícios

26.3 Algoritmo de Prim

26.4 Exercícios

27 GABARITOS E STL

27.1 Gabaritos

27.2 STL - vector e list

28 INTERFACE GRÁFICA E DOCUMENTAÇÃO

28.1 IDE C++ e outras Bibliotecas de Classes

28.2 SmartWin - Modelo Básico

28.3 SmartWin - Modelo Grade

28.4 SmartWin - Documentação