Aplicações Científicas em C++

 

Ficha Catalográfica

Pamboukian, Sergio Vicente Denser;
Zamboni, Lincoln César;
Barros, Edson de Almeida Rego.
Aplicações Científicas em C++. São Paulo: Páginas & Letras, 2010.

ISBN 978-85-86508-76-9

 

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