|
DESCRIÇÃO
Apesar do facto de, nos últimos tempos, terem surgido novas linguagens que se impõem cada vez mais nos meios profissional e académico, muitos são os professores e os profissionais que pensam que o Pascal ainda é a melhor linguagem para aprender os fundamentos da programação, para criar bons hábitos nos principiantes e para abrir caminho para a continuação dos estudos em informática.
Pascal - Técnicas de Programação, agora reeditado pela FCA, apresenta o Pascal na sua forma "clássica", podendo ser usado tanto em ambientes de programação convencionais como em ambientes integrados. Sendo um livro introdutório, não presume que o leitor tenha quaisquer conhecimentos preliminares de programação.
Na parte final do livro são apresentados exemplos de desenvolvimento de programas completos, que fazem desta obra uma ferramenta de trabalho, teórica e prática, muito útil para professores e alunos do ensino secundário e para os estudantes do ensino superior.
Trata, entre outros, os seguintes temas:
- Conceitos básicos (variáveis, expressões, instruções, tipos, funções, etc)
- Tipos estruturados (vectores e registos)
- Ficheiros
- Algoritmos (gerais, com vectores e com ficheiros)
- Programação com apontadores
- Algoritmos de cálculo numérico
Consulte on-line 2 capítulos do livro em http://pwp.netcabo.pt/pg/ptp.html
PÚBLICO ALVO
Estudantes e professores dos cursos de informática do ensino secundário e profissional. Estudantes dos cursos superiores de informática para as cadeiras onde o Pascal é utilizado. Programadores e autodidactas. Cursos de formação.
O(S) AUTOR(ES)
Pedro João Valente Dias Guerreiro
Fez os seus estudos de informática na Universidade Nova de Lisboa, onde é agora professor, e na Universidade de Grenoble. Tem uma vasta experiência no ensino da programação, tanto na universidade como na indústria. É responsável pelas cadeiras iniciais de Programação, na licenciatura em Eng. Informática da FCT da UNL. É autor dos livros Programação com Classes em C++ e Elementos de Programação com C (2ª Edição Revista), editados pela FCA.
ÍNDICE
1 Introdução aos Computadores e à Programação
1.1 Computadores
1.2 Programas
1.3 Estrutura dos computadores
1.4 A linguagem de programação Pascal
1.5 Estrutura dos programas Pascal
1.6 Execução dos programas
1.7 Funções
1.8 Algoritmos
1.9 Sintaxe e semântica
1.10 Resumo
2 Rudimentos de Programação Funcional
2.1 Expressões simbólicas e funções primitivas
2.1.1 Expressões simbólicas
2.1.2 Funções primitivas
2.1.2.1 A constante nil
2.1.2.2 A função car
2.1.2.3 A função cdr
2.1.2.4 A função eq
2.1.2.5 O predicado atom
2.1.2.6 A função Cons
2.1.3 Funções append, inversa, membro
2.1.4 Função append
2.1.5 Função inversa
2.1.6 Função membro
2.2 Parâmetros de acumulação
2.3 Funções de ordem superior
2.3.1 Introdução
2.3.2 Lambda-notação
2.3.3 As funções map, reduce, acum e filtro
2.3.3.1 A função map
2.3.3.2 A função reduce
2.3.3.3 A função acum
2.3.3.4 A função filtro
2.4 Problemas
3 Problemas de Programação
3.1 Introdução
3.2 O problema do pequeno cambista
3.2.1 Resolução
3.2.2 Pequenos melhoramentos
3.3 Um problema, dois programas
3.3.1 Primeira solução
3.3.2 Outra solução
3.4 Problemas
4 Tipos Estruturados: Registos
4.1 Introdução
4.2 Datas e calendários
4.2.1 Quantos dias faltam para o fim do ano?
4.2.2 Data do n-ésimo dia do ano
4.2.3 A data de amanhã
4.2.4 Melhoramentos
4.2.5 O dia da semana
4.3 O problema do parque de estacionamento
4.3.1 Resolução
4.3.2 Variantes
4.4 Problemas
5 Vectores e Matrizes
5.1 Introdução
5.2 Polinómios
5.3 Sistema escolar de controlo de presenças
5.4 Preço de uma sessão de computador
5.5 Problemas
6 Funções e Procedimentos
6.1 Declaração de funções
6.2 Parâmetros de entrada
6.3 Esquema dos quadros conformes
6.4 Parâmetros de saída
6.5 Parâmetros de entrada e saída
6.6 Funções com parâmetros de saída
6.7 Procedimentos de leitura e procedimentos de escrita
6.8 Procedimentos sem parâmetros
6.9 Passagem de parâmetros por valor e por endereço
6.10 Procedimentos e funções de ordem superior
6.11 Problemas
7 Ficheiros de Dados e Ficheiros de Resultados
7.1 Introdução
7.2 Reapresentação do problema do cambista
7.3 Primeiro subproblema: câmbios automáticos
7.4 Segundo subproblema: criação do ficheiro de movimentos
7.5 Terceiro subproblema: ficheiros de compras e de vendas
7.6 Quarto subproblema: mapa-resumo e cálculo do imposto
7.7 Problemas
8 Processamento de Ficheiros
8.1 Introdução
8.2 Modelos para os ficheiros Pascal
8.2.1 O modelo da fita
8.2.1.1 Operações de leitura
8.2.1.2 Operações de escrita
8.2.1.3 Operações de identificação
8.2.1.4 Ilustração
8.2.1.5 Mais dois exemplos
8.2.1.6 Outras operações
8.2.2 Um modelo funcional para os ficheiros Pascal
8.2.2.1 Introdução
8.2.2.2 Modelar o quê?
8.2.2.3 O modelo
8.2.2.4 Programas
8.2.2.5 Observações acerca dos procedimentos put e read
8.2.2.6 Um modelo funcional para os ficheiros de texto
8.2.2.7 Programas com ficheiros de texto
8.3 Técnicas de processamento de ficheiros
8.3.1 Duplicação
8.3.2 Transformação
8.3.3 Acumulação
8.3.4 Explosão
8.3.5 Fusão
8.3.6 Partição
8.3.7 Adição
8.3.8 Actualização
8.3.9 Ordenação
8.4 Problemas
9 Tratamento de Quadros
9.1 Introdução
9.2 Classes de quadros
9.3 Operações sobre quadros
9.4 Acesso directo
9.4.1 Acesso directo para consulta
9.4.2 Acesso directo para modificação
9.5 Afectação (modificação global)
9.6 Inicialização
9.6.1 Inicialização por cópia
9.6.2 Inicialização regular
9.6.3 Inicialização irregular
9.6.4 Inicialização semi-regular
9.6.5 Inicialização por carregamento
9.6.5.1 Carregamento simples
9.6.5.2 Carregamento com índice
9.6.5.3 Carregamento incremental
9.7 Enumeração
9.7.1 Enumeração sem modificação
9.7.2 Enumeração com modificação
9.8 Acumulação
9.9 Inserção
9.10 Supressão
9.11 Busca
9.11.1 Caso geral
9.11.2 Busca com saída de índice
9.11.3 Busca garantida
9.11.4 Busca para cima e busca para baixo
9.11.5 Busca com sentinela
9.11.6 Busca em vectores ordenados
9.11.6.1 Busca dicotómica (primeira variante)
9.11.6.2 Busca dicotómica (segunda variante)
9.11.6.3 Cálculo da posição de inserção
9.11.6.4 Busca linear em vectores ordenados
9.12 Ordenação
9.12.1 Apresentação
9.12.2 Selecção directa
9.12.3 Troca directa (Bubblesort)
9.12.4 Quicksort
9.12.5 Ordenação indirecta
9.13 Acesso disperso
9.14 Problemas
10 Processamento de Texto
10.1 Introdução
10.2 Ficheiros de texto
10.3 Filtros
10.3.1 Problemas voltados para os caracteres
10.3.2 Problemas voltados para as palavras
10.3.3 Problemas voltados para as linhas
10.3.4 Problemas voltados para os parágrafos
10.4 Processamento de texto em português
10.4.1 Apresentação
10.4.2 Formatação
10.4.3 Partição automática na translineação
10.4.4 Justificação
10.5 Problemas
11 Programação com Apontadores
11.1 Estruturas de dados recursivas
11.2 Apontadores
11.3 Variáveis e caixinhas
11.4 Listas e estruturas de dados partilhadas
11.5 Manipulação de apontadores
11.6 Aplicação às tabelas de dispersão
12 Elementos de Cálculo Numérico
12.1 Introdução
12.2 Resolução de equações por computador
12.2.1 Método dicotómico
12.2.2 Método das aproximações sucessivas
12.2.3 Método de Newton-Raphson
12.2.4 Método de Birge-Vieta
12.3 Resolução de sistemas de equações lineares
12.3.1 Método de Gauss
12.3.2 Método de Gauss-Seidel
12.4 Derivação numérica e integração numérica
12.4.1 Interpolação polinomial
12.4.2 Derivação numérica
12.4.3 Integração numérica
13 Um Programa para Jogar no Totoloto
13.1 Introdução
13.2 Teoria do totoloto
13.3 Os computadores no totoloto
13.4 Combinações de n, k a k
13.5 Um programa para o totoloto
13.5.1 Tipos
13.5.2 Variáveis
13.5.3 Interface
13.6 Desdobramentos
13.7 Programa principal
13.8 Reflexões a posteriori
14 Normalização de Identificadores em Pascal
14.1 O problema
14.2 Resolução
15 Pfe, um Programa Formatador Especial
15.1 Introdução
15.2 Caderno de encargos para o Pfe
15.2.1 Apresentação
15.2.2 Parágrafos
15.2.3 Comandos de formatação
15.2.4 Comandos de paginação
15.2.5 Enumeração dos comandos
15.2.6 Valores iniciais
15.3 Análise do caderno de encargos
15.4 Variáveis do Pfe
15.5 Operações novas
15.6 Estrutura do programa principal
15.7 Problemas
16 Met, um Minieditor de Texto
16.1 Introdução
16.2 Considerações gerais
16.3 Interface
16.4 Comandos
16.4.1 Comandos em cima
16.4.1.1 Comandos de controlo global
16.4.1.2 Comandos de movimentação
16.4.1.3 Comandos de bloco
16.4.1.4 Comandos de procura
16.4.2 Comandos no texto
16.4.2.1 Comandos de movimentação do cursor
16.4.2.2 Comandos de linha
16.5 Estruturas de dados
16.5.1 Operações sobre caracteres
16.5.2 Operações sobre palavras
16.5.3 Operações sobre linhas
16.5.4 Operações sobre palavras e sobre o vector das linhas
16.6 Operações de afixação
16.7 Procura de cadeias de caracteres
16.7.1 Estrutura do programa
16.7.2 O programa principal
16.7.3 O procedimento de comando
16.7.4 Edição de texto
16.7.5 Edição dos argumentos dos comandos
16.8 Problemas
A Funções e Procedimentos Pré-declarados
B Lista dos Operadores
B.1 Operadores aritméticos
B.2 Operadores relacionais
B.3 Operadores booleanos
B.4 Operadores de conjuntos
B.5 Tabela de precedências
C Tabelas
C.1 Tabela de identificadores normalizados
C.2 Lista alfabética de identificadores normalizados
C.3 Tabela de símbolos especiais
C.4 Tabela de palavras reservadas
C.5 Representações alternativas
C.6 Directivas
D Taxinomia dos Tipos
E Diagramas Sintácticos
F Tabela de Caracteres ASCII
Índice Remissivo
|