|
Resenha
O livro “Aplicações Científicas em C++” aborda as Linguagens C++ e C com
enfoque científico e destina-se aos estudantes dos cursos da área de ciências
exatas. Oferece ao estudante a oportunidade de se desenvolver nas dimensões do
conhecimento, da habilidade e da atitude, dimensões estas que foram revigoradas
pelas novas diretrizes dadas ao ENADE. Pode ser utilizado como livro-texto para
o acompanhamento de disciplinas de Programação ou como material de estudo para
autodidatas. Solidifica conceitos de Programação Estruturada e de Programação
Orientada a Objetos. Contém mais de 600 exercícios entre resolvidos e propostos,
onde se explora a implementação e a utilização de algoritmos através da prática
na linguagem C++, do uso didático dos fluxogramas ISO, dos diagramas NS e também
dos diagramas de classes da UML. Os capítulos foram elaborados de forma didática
e são ricos em exemplos e ilustrações explicativas, proporcionando ao leitor uma
evolução progressiva no estudo das técnicas de programação.
Instituições de Ensino
Este livro segue o mesmo caminho dos livros "Delphi para Universitários",
"Cálculo Numérico para Universitários" e "C++ Builder para Universitários" que estão sendo adotado por várias Instituições de Ensino, entre elas,
Universidade Presbiteriana Mackenzie, Fundação Armando Álvares Penteado (FAAP),
Instituto de Engenharia Mauá, Faculdade de Engenharia Industrial (FEI),
Universidade Federal de Minas Gerais (UFMG) e outras.
Índice 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áveis
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
cabeçalhos e espaços de nomes
2.4.4. Exemplo completo
2.5 Exercícios
2.6 Type Casting (Conversão Explícita de Tipo)
2.7 Formatação de entrada e saída
2.8 O Processo de Compilação
3 FUNÇÕES MATEMÁTICAS PREDEFINIDAS
3.1 Funções do arquivo de cabeçalhos cmath
3.2 Funções não disponíveis na linguagem 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 Prioridades dos operadores
4.5 O tipo bool
4.6 Propriedades lógicas
4.7 Operador condicional
4.8 Operador XOR
4.9 Exercícios
5 ESTRUTURAS CONDICIONAIS
5.1 Estrutura condicional if...else
5.2 Exercícios
6 ESTRUTURAS CONDICIONAIS ANINHADAS
6.1 Legibilidade de algoritmos e indentação
6.2 Blocos de comandos
6.3 Estruturas condicionais aninhadas
6.4 Exercícios
7 MAIS ESTRUTURAS CONDICIONAIS
7.1 Estrutura condicional switch... case
7.2 Exercícios
7.3 Swap (Troca)
7.4 Utilizando variáveis bool no comando if
7.5 Exercícios
8 DEFININDO FUNÇÕES
8.1 Euler e a Notação de Função
8.2 Revendo a Estrutura de um programa em C++
8.3 Funções como Blocos de Construção
8.4 Declaração de uma Função
8.5 Definição de uma Função
8.6 Chamada de uma Função
8.7 Estrutura de um Programa C++ com várias Funções
8.8 Variáveis Globais e Locais
8.9 Funções que não retornam valor (void)
8.10 Funções que Chamam Outras Funções
8.11 Parâmetros da Função main
8.12 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 SEQUÊNCIAS E SOMATÓRIOS
10.1 Sequências
10.2 Exercícios
10.3 Somatórios
10.4 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 ESTRUTURAS REPETITIVAS WHILE E DO...WHILE
12.1 Repetição com condição no início ou no final
12.2 Sintaxe e Funcionamento do Comando while
12.3 Sintaxe e Funcionamento do Comando do...while
12.4 Exercícios
12.5 Validação de Dados de Entrada
12.6 Repetição com Quantidade de Iterações Indefinida
12.7 Exercícios
12.8 NAN e INFINITY
12.9 Exercícios
13 DETALHANDO FUNÇÕES
13.1 Recursividade
13.2 Exercícios
13.3 Referências
13.4 Passagem de Parâmetros para uma Função
13.5 Ciclo de Vida das Variáveis nas Chamadas das
Funções
13.6 Parâmetros com valores “Defaults”
13.7 Sobrecarga ou Acúmulo de Funções
13.8 Exercícios
13.9 Função como Parâmetro de outra Função
14 UNIDADES INDEPENDENTES
14.1 Funções Ordinárias em Outras Unidades
14.2 Exercícios
14.3 A Visão da Função na Metodologia de Programação
15 VETORES
15.1 Arranjos
15.2 Vetores
15.3 Criando Nomes Alternativos com typedef
15.4 Exemplo completo
15.5 Números Randômicos
15.6 Exercícios
16 MATRIZES
16.1 Matrizes
16.2 Exemplo completo
16.3 Exercícios
17 PONTEIROS E ALOCAÇÃO DINÂMICA
17.1 Ponteiros
17.2 Manipulação de Ponteiros
17.3 Aritmética de Ponteiros
17.4 Passagem de parâmetro por referência e por
ponteiro
17.5 Ponteiros e Arranjos
17.6 Ponteiros e o Gerenciamento da Memória Dinâmica
17.7 Alocação Dinâmica de Variáveis
17.8 Alocação Dinâmica de um Vetor
17.9 Alocação Dinâmica de uma Matriz
17.10 Operadores – Ponteiros e Alocação Dinâmica
17.11 Exercícios
18 ESTRUTURAS E CLASSES
18.1 Programação Orientada a Objetos
18.2 Arranjos e Estruturas (struct)
18.3 Exercícios – Seção em L
18.4 Exercícios – Estruturas
18.5 Classes, Objetos e UML
18.6 Princípios Fundamentais da POO
18.7 Estruturas versus Classes
18.8 Exercícios – Classes
18.9 Cadeia de Caracteres (string)
18.10 Exercícios – Cadeias de Caracteres
18.11 Enumerações
19 ENCAPSULAMENTO
19.1 Operações set e get
19.2 Exercícios
20 CONSTRUTORES, DESTRUIDOR E OPERADORES
20.1 Construtores, Destruidores, Operadores e
Atribuidores
20.2 Exercícios
20.3 Entrada e Saída com Cadeias de Fluxo (stringstream)
20.4 Exercícios
21 HEREDITARIEDADE E POLIMORFISMO
21.1 Hereditariedade
21.2 Polimorfismo
21.3 Exercícios
22 ESTRUTURAS DE DADOS
22.1 Introdução
22.2 Vetor Dinâmico
22.3 Exercícios
22.4 Tabela Dinâmica
22.5 Exercícios
22.6 Lista Dinâmica
22.7 Exercícios
22.8 Grafos e Árvores
22.9 Exercícios
23 ARQUIVOS
23.1 Introdução
23.2 Hierarquia de Classes para Arquivos
23.3 Armazenamento Intermediário
23.4 Exercícios
24 GABARITOS DE FUNÇÕES E CLASSES
24.1 Gabaritos
24.2 Gabaritos de Funções
24.3 Exercícios
24.4 Gabaritos de Classes
24.5 Exercícios
25 STANDARD TEMPLATE LIBRARY (STL)
25.1 Introdução
25.2 Gabarito vector
25.3 Exercícios
25.4 Gabarito list
25.5 Exercícios
25.6 Gabarito stack
25.7 Gabarito queue
25.8 Gabarito deque
25.9 Gabarito set
25.10 Gabarito multiset
25.11 Gabarito map
25.12 Gabarito multimap
25.13 Exercícios
25.14 Tabelas Comparativas de Alguns Containeres
26 ORDENAÇÃO E BUSCA
26.1 Algoritmos
26.2 Ordem de um Algoritmo
26.3 Classes de Algoritmos e Efeitos da Ordem
26.4 Análise de Algoritmos
26.5 Fundamentando a Ordenação
26.6 Algoritmo Bubblesort
26.7 Quantidade de Operações
26.8 Estimativa do Tempo de Execução
26.9 Algoritmo Selectionsort
26.10 Algoritmo Insertionsort
26.11 Algoritmo Shakersort
26.12 Algoritmo Shellsort
26.13 Algoritmo Quicksort
26.14 Análise dos Algoritmos de Ordenação
26.15 Buscas Sequencial e Binária
26.16 Indexação de Tabelas
26.17 Espalhamento
26.18 Exercícios
27 DIJKSTRA E PRIM
27.1 Algoritmo de Dijkstra
27.2 Classe para Matriz Esparsa com Algoritmo de
Dijkstra
27.3 Algoritmo de Prim
27.4 Exercícios
28 ESPAÇOS DE NOMES E TRATAMENTO DE EXCEÇÕES
28.1 Espaços de nomes
28.2 Tratamento de exceções
29 MÉTODOS QUANTITATIVOS E COMPUTACIONAIS
29.1 Recursos Computacionais Disponíveis para a
Matemática
29.2 Zeros de Função
29.2.1. Método de
Newton-Raphson ou das Tangentes
29.2.2. Método da
Iteração
29.3 Exercícios
29.4 Usando o Numerical Recipes em C++
29.5 Exercícios
30 LINGUAGEM C
30.1 Introdução
30.2 Estrutura de um Programa
30.2.1. Formatação de
dados na Linguagem C
30.2.2. Comando de Saída
da Linguagem C
30.2.3. Comando de
Entrada da Linguagem C
30.3 Funções Matemáticas Predefinidas
30.4 Operadores
30.5 Estruturas Condicionais
30.6 Estruturas Condicionais Aninhadas
30.7 Mais Estruturas Condicionais
30.8 Definindo Funções
30.9 Repetição com Variável de Controle
30.10 Sequencias e Somatórios
30.11 Séries Polinomiais
30.12 Estruturas Repetitivas while e do/while
30.13 Detalhando Funções
30.14 Unidades Independentes
30.15 Vetores
30.15.1. Números Randômicos
30.15.2. Diretiva #define
30.15.3. Vetores
30.16 Matrizes
30.17 Ponteiros e Alocação Dinâmica
30.18 Estruturas e Cadeias de Caracteres
BIBLIOGRAFIA
|