O livro está dividido em quatro partes organizadas para sua leitura e seu estudo gradual. Dado que o conhecimento é acumulativo, nos primeiros capítulos os temas são conceituais e práticos, progredindo até as técnicas avançadas e a uma introdução da engenharia de software que tenta preparar o leitor/estudante para seus estudos posteriores.
Como complemento e ajuda ao leitor durante seus estudos e para sua posterior formação profissional há uma grande quantidade de apêndices, (disponíveis no site da editora), com manuais de sintaxes de linguagens de programação mais populares, com o objetivo de facilitar a implementação dos algoritmos na linguagem de programação escolhida para “dialogar” com o computador.
Para ajudar na aprendizagem e em leituras e estudos futuros,esses apêndices incluem ainda uma ampla seleção de recursos de programação (livros, revistas e sites Web) consultados na elaboração de nossa obra, como também em nossa vida profissional. Leia o conteúdo antes de baixar.
Tamanho: 10Mb
Formato: PDF
Autor: Luís JOYANES AGUILAR
Conteúdos do Livro
PARTE I
Algoritmos e Ferramentas de Programação
Computadores e linguagens de programação
Organização de um computador
Hardware
Dispositivos de armazenamento de informação
O computador pessoal ideal para programação
O Software (os programas)
As linguagens de programação
Tradutores de linguagens
História das linguagens de programação
Resolução de problemas com o computador e ferramentas de programação
Fases na resolução de problema
Programação modular
Programação estruturada
Conceito e características de algoritmos
Escrevendo algoritmos
Estrutura geral de um programa
Conceito de programa
Partes de um programa
Instruções e tipos de instruções
Elementos básicos de um programa
Dados, tipos de dados e operações primitivas
Constantes e variáveis
Expressões
Funções internas
A operação de atribuição
Entrada e saída de informação
Escrevendo algoritmos/programas
PARTE II
Programação estruturada: Algoritmos e estruturas de dados
Fluxo de controle I: Estruturas seletivas
O fluxo de controle de um programa
Estrutura seqüencial
Estruturas seletivas
Alternativa simples (se-então/if-then)
Alternativa múltipla (conforme_seja, caso de/case)
Estruturas de decisão aninhadas (em escada)
A sentença ir-a (goto)
Fluxo de controle II: Estruturas repetitivas
Estruturas repetitivas
Estruturas enquanto (while)
Estrutura fazer-enquanto (do-while)
Estrutura repetir (repeat)
Estrutura desde/para (for
Saídas internas dos laços
Sentenças de salto interromper (break) e continuar (continue)
Estruturas repetitiv
Subprogramas(subalgoritmos): Procedimentos e funções
Introdução aos subalgoritmos ou subprogramas
Funções
Procedimentos (sub-rotinas)
Escopo: variáveis locais e globais
Comunicação com subprogramas: passagem de parâmetros
Funções e procedimentos como parâmetros
Os efeitos colaterais
Recursão (recursividade)
Estruturas de dados I: Arrays e estruturas
Introdução às estruturas de dados
Arrays unidimensionais: os vetores
Operações com vetores
Arrays de várias dimensões
Arrays multidimensionais
Armazenamento de arrays na memória
Estrutura versus registros
Arrays de estruturas
As cadeias de caracteres
O conjunto de caracteres
Cadeia de caracteres
Dados tipo caractere
Operações com cadeias
Outras funções de cadeias
Arquivos
Noção de arquivo: estrutura hierárquica
Conceitos e definições = terminologia
Meios seqüenciais e endereçáveis
Organização de arquivos
Operações sobre arquivos
Administração de arquivos
Apagar arquivos
Fluxos
Manutenção de arquivos
Processamento de arquivos seqüenciais (algoritmos)
Arquivos de texto
Processamento de arquivos diretos (algoritmos)
Processamento de arquivos seqüenciais indexados
Ordenação, busca e intercalação
Introdução
Ordenação
Busca
Intercalação
Ordenação, busca e fusão externa (arquivos)
Introdução
Arquivos ordenados
Fusão de arquivos
Partição de arquivos
Classificação de arquivos
Estruturas dinâmicas lineares de dados (pilhas, filas e listas ligadas)
Introdução às estruturas de dados
Listas
Listas ligadas
Processamento de listas ligadas
Listas circulares
Listas duplamente ligadas
Pilhas
Filas
Fila dupla
Estrutura de dados não-lineares (árvores e grafos)
Introdução
Árvores
Árvore binária
Árvore binária de busca Grafos
Recursividade
A natureza da recursividade
Recursividade direta e indireta
Recursão versus iteração
Recursão infinita
Resolução de problemas complexos com recursividade
Parte III
Programação Orientada a Objetos
Conceitos fundamentais de orientação a objetos
O que é programação orientada a objetos?
Um mundo de objetos
Comunicação entre objetos: as mensagens
Estrutura interna de um objeto
Classes
Herança
Sobrecarga
Ligação dinâmica
Objetos compostos
Reutilização com orientação a objetos
Polimorfismo
Terminologia de orientação a objetos
Projeto de classes e objetos: Representações gráficas em UML
Projeto e representação gráfica de objetos em UML
Projeto e representação gráfica de classes em UML
Declaração de objetos de classes
Construtores
Destrutores
Implementação de classes em C++
Coleta de lixo
Relações: Associação, generalização e herança
Relações entre classes
Associações
Agregações
Hierarquia de classes: generalização e especialização (relação é-um)
Herança: classes derivadas
Tipos de herança
Herança múltipla
Ligação
Polimorfismo
Ligação dinâmica e ligação estática
PARTE IV
Metodologia da programação e desenvolvimento de software
Metodologia da programação
Abstração e resolução de problemas
O ciclo de vida do software
Fase de análise: requisitos e especificações
Projeto
Implementação (codificação)
Testes e integração
Manutenção
Princípios de projeto de sistemas de software
Estilo de programação
A documentação
Depuração
Projeto de algoritmos
Testes
Eficiência
Portabilidade
OBJETIVOS DO LIVRO
O livro pretende ensinar a programar utilizando conceitos fundamentais, como:
1. Algoritmos (conjunto de instruções programadas para resolver uma tarefa específica).
2. Dados (uma coleção de dados que são proporcionados aos algoritmos executados para encontrar uma solução: os dados se organizarão em estruturas de dados).
3. Objetos (conjunto de dados e algoritmos que os manipulam, encapsulados em um tipo de dado conhecido como objeto).
4 Classes (tipos de objetos com igual estado e comportamento, ou seja, os mesmos atributos e operações).
5. Estruturas de dados (conjunto de organização de dados para tratar e manipular eficazmente dados homogêneos e heterogêneos).
6. Temas avançados (recursividade, métodos avançados de ordenação e busca, relações entre classes etc.).
Os dois primeiros aspectos, algoritmos e dados, têm permanecido invariáveis ao longo da curta história da informática/computação, mas a inter-relação entre eles tem variado e assim continuará. Essa inter-relação é connhecida como paradigma de programação.
No paradigma de programação procedimental (por procedimentos), um problema é modelado diretamente mediante um conjunto de algoritmos. Por exemplo, a folha de pagamentos de uma empresa ou a administração de vendas do almoxarifado são representadas como uma série de procedimentos que manipulam dados. Os dados se
armazenam separadamente e são acessados mediante uma posição global ou parâmetros dos procedimentos. Três linguagens da programação clássica, FORTRAN, Pascal e C, representaram o arquétipo da programação procedimental, também relacionada estreitamente com a e normalmente conhecida como — programação estruturada. A programação com suporte em C e Pascal proporciona o paradigma procedimental tradicional com ênfase em funções, declaração de funções e algoritmos genéricos.L


Postar um comentário