Baixar Livro de Fundamentos de Programação - LUÍS JOYANES AGUILAR

Baixar Livro de Fundamentos de Programação - LUÍS JOYANES AGUILAR

 


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

Post a Comment