Aula 1
Apresentação
Organização geral da disciplina Métodos de Avaliação
Bibliografia
Aula 2
Descrição algorítmica da solução de um problema
Formulação do problema e sua especificação completa Decomposição básica da solução em três etapas
Noção de dependência de informação
Exemplos de aplicação (1º nível): Conversão Milhas->Kilómetros; raízes da eq. 2º grau.
Aula 3
Descrição algorítmica da solução de um problema (continuação) Gestão da complexidade na decomposição
Noção de níveis de refinamento sucessivo
Exemplos de aplicação: resolução completa da conv. Milhas ->Kilómetros e das raízes da eq. de 2º grau; decomposição simplificada dos problemas da mudança da roda e da programação de um robot
“micro-rato”.
Aula 4
Descrição algorítmica da solução de um problema (continuação) Primeiras noções de encapsulamento de informação
Procedimentos e funções
Exemplos de aplicação: decomposição simplificada do problema do robot Francisco; resolução completa do traçado de um triângulo isosceles (o encapsulamento do desenho de cada linha)
Aula 5
Revisão das noções básicas sobre a gramática de Pascal Elementos base da linguagem
Palavras reservadas, identificadores pré-definidos, identificadores definidos pelo utilizador Regras de formação de identificadores válidos em Pascal
Primeira abordagem à noção de tipo de dados Tipos pré-definidos
Sua caracterização e extensões válidas em Turbo Pascal A codificação dos inteiros, reais, caracteres e outros Organização geral de um programa
Cabeçalho e partes declarativa e de execução Regras associadas à definição de constantes e variáveis
Aula 6
Revisão das noções básicas sobre a gramática de Pascal (continuação) Tipos de instruções básicas
Instruções de entrada / saída Instruções de atribuição
Regras associadas à formação de expressões Tipos de expressões
Operadores associados e funções pré-definidas Instruções decisórias
Regras associadas à sua formação Instruções repetitivas
Regras associadas à sua formação Exemplos de aplicação
Aula 7
Estratégias de solução mais avançadas
Degenerescência da decomposição básica da solução em três etapas Associação de diferentes valores de entrada a uma única variável Exemplos de aplicação (cálculo da média)
Aula 8
Estratégias de solução mais avançadas (continuação) Cálculo da média (leitura de valores na mesma linha)
As instruções read e readln, o conceito de buffer de linha, função eoln Noção de array, definição, utilidade e utilização
Degenerescência da decomposição básica da solução em três etapas Associação de diferentes valores de saída a uma única variável Exemplos de aplicação (impressão de n elementos da série Un=1/n)
Escrita de tabelas com M colunas.
Aula 9
Noções complementares sobre a gramática de Pascal Noção e utilização de arrays (cont.)
Encapsulamento de informação. Sua importância Procedimentos
Como se definem. Onde se definem. Como se invocam Regras associadas
Exemplos de aplicação
Aula 10
Noções complementares sobre a gramática de Pascal (continuação) Procedimentos (continuação)
Mecanismos de comunicação
Parâmetros de entrada e parâmetros de saída Exemplos de aplicação
Aula 11
Noções complementares sobre a gramática de Pascal (continuação) Contexto de um procedimento (e do programa)
Objectos locais e objectos globais Definição de múltiplos procedimentos Definição encadeada de procedimentos
Construção hierarquizada de um programa Suas vantagens
Níveis de visibilidade
Aula 12
Noções complementares sobre a gramática de Pascal (continuação) Funções
Como se definem. Onde se definem. Como se invocam Regras associadas
Mecanismos de comunicação Parâmetros de entrada Exemplos de aplicação
Aula 13
Noções complementares sobre a gramática de Pascal (continuação) Níveis de vi sibilidade (continuação)
Exemplos de aplicação
Aula 14
Estruturas de dados Construtor ‘array’
Características e regras de formação
Passagem de arrays como parâmetros para procedimentos Tipos definidos pelo utilizador
Exemplos de aplicação (venda a retalho de uma peça de tecido)
Aula 15
Estruturas de dados (continuação)
Sua caracterização genérica em Pascal Tipos simples e tipos complexos Noção de construtor
Identidade e compatibilidade de tipos Construtor enumerado e construtor sub-intervalo
Exemplos de aplicação
Aula 16
Estruturas de dados (continuação) Construtor ‘array’ (continuação)
Algoritmos de ordenação
Ordenação sequencial e ‘bubble’
Exemplos de aplicação
Aula 17
Estruturas de dados (continuação) Construtor ‘array’ (continuação)
‘Arrays’ multidimensionais Exemplos de aplicação
Aula 18
Estruturas de dados (continuação) Construtor ‘string’
Os ‘strings’ versus ‘arrays’ de caracteres Semelhanças e diferenças
Procedimentos e funções pré-definidas Exemplos de aplicação
Aula 19
Estruturas de dados (continuação) Construtor ‘record’
Características e regras de formação Exemplos de aplicação
Aula 20
Estruturas de dados (continuação) Estruturas de dados complexas
Exemplos de aplicação
Aula 21
Ficheiros
Acesso à informação
Memória principal versus memória de massa Ficheiros de texto e ficheiros binários
Ficheiros de texto
Operações básicas de acesso
Exemplos de aplicação
Aula 22
Ficheiros (continuação)
Ficheiros de texto (continuação) Exemplos de aplicação
Aula 23
Ficheiros (continuação) Ficheiros binários
Operações básicas de acesso Exemplos de aplicação
Aula 24
Ficheiros (continuação)
Ficheiros binários (continuação) Exemplos de aplicação