Modelo de pla analitico Disciplina: Algoritmização e Programação Curso: Licenciatura em Ensi de Informática A/Semestre: 1º A/2º Semestre Carga horária: 4 h/semana; Docente: Célio Sengo Introdução A linguagem é uma das melhores linguagens de programação existentes por conseguir agrupar uma funcionalidade que envolve formulações altamente abstratas como classes, que permitem um trabalho de alto nível (trabalha-se a nível de conceitos) e formulações de baixo nível, como o uso de chamadas de interrupções que realizam tarefas altamente específicas. Com esta linguagem o estudante poderá aplicar conceitos basicos de programação bem como estudar conceitos avançados de programação orientada a objectos. Dai, esta cadeira destina-se a dar conhecimentos basicos na area de programação e desenho de algorítmos para programas de computador usando a ponderosa linguagem. Objectivos gerais e específicos da disciplina No final da disciplina, o estudante deverá: Dominar o uso de uma linguagem de programação adequada para o desenvolvimento de pesquisas e de aplicações científicas neste caso o
), Saber usar o ambiente de desenvolvimento de aplicações voltado para esta linguagem (Editor, compilador, depurador em ambientes Windows e Linux); Conhecer os comandos, operadores e tipos de dados básicos e compostos da linguagem adotada, bem como, saber usar corretamente subrotinas e passagem de parâmetros por valor e por referência; Saber criar estruturas de dados com alocação estática de memória (vetores) e com alocação dinâmica de memória (uso de ponteiros); Dominar os conhecimentos e conceitos relativos ao projeto, implementação e uso de algoritmos de pesquisa e ordenação de dados; Ser capaz de utilizar os recursos de entrada/saída oferecidos pela linguagem de programação adotada: entrada de dados pelo teclado, escrita de dados na tela, leitura de dados de arquivos, escrita de dados em arquivos; Semanas 1 Conteúdos Introducao: Algoritmização,Tipos de dados, Operadores E Declaracoes - Introdução aso paradigmas de programação. - Desenho e construção de Algorimos - Identificadores e palavras-chave c o nt a ct o 4 Actividades quadro e conversão dos algorítmos para E st u d o Actividades 4 Pesquisar e programar os trabalhos de pesquisa. Estratégias/Metodo logias A parte prática consistirá em aulas laboratoriais e oficinas onde os alus irão usar o Turbo ou o Dev- C+ para a compilação e execução dos Bibliografi a "The Program ming Language ", Bjarne Stroustrup, 3rd. Edition, Addison- Observa ções
- Constantes (constantes String, constantes numéricas, constantes Character) - Operadores de (operadores aritméticos, de atribuição, comparação e operadores lógicos, bit a bit operador lógico, operadores especiais) - Conversão de tipo. Escrever um programa em programas discutidos na aula teórica Wesley. 1-2 - Declaração de Variáveis - Declarações - Programa simples em - Recursos de iostream.h - Entrada e saida, teclado e tela - Funções de Manipulacao - Manipuladores pré-definidas - Entrada e saída Flags Stream. 5 Converter algorítmos em programas em 5 Desenvolver aplicações básicas em Aulas expositivas onde o quadro e marcador serão usados para programas simples Teste 1 o 1 TPC 1 Estruturas de controle 2-3 - Expressões condicionais (declaracoes if e if - else) - Declaração switch, - Estruturas de repeticao (for, while, do-while) - Estruturas de quebra (declaração break, continue e goto). -Uso de fluxogramas e pseudocodico nas estruturas de controle 2 Programar usando estruturas de controle 2 Resolver problemas complexos em programação usando estruturas de selecção, repetição e salto. Aulas teóricoprácticas onde os alus irão programar s PCs do laboratório e o docente fará o acompanhamento usando o projector. Teste 2 o 2 TPC 2
Funções e estruturas do programa 3-4 - Definição de uma função - Instrução de retor - Tipos de funções - Argumentos reais e formais - Variáveis locais e globais - Argumentos padrão - Programas Multifuncionais - Especificadores de classe de armazenamento (variável automática, variável de registro, variável estática, variável externa) - Função recursiva - Preprocessadores (definições simples de macro, Macro com parâmetros, outras técnicas de Processamento, Compilação condicional) - Arquivos de cabeçalho - Funções standard. 8 quadro usando funções e procedimentos Programar usando funções Aulas prática onde o quadro e marcador serão instrumentos fundamentais para a elaboração de funções e procedimentos em Teste 3 o 3 TPC 3 4- Matrizes - Notação de matriz - Declaração Matriz - Initializacao de Matrizes - Processamento com Matrizes - Matrizes e Funções - Matrizes multidimensionais - Matrizes de caracteres. 4 Criar estrutura de dados usando matrizes em programação 4 Desenhar programas aplicando arrays unidimencionais e bidimencionais Aulas prácticas sobre construção de matrizes em c++ Teste 4 o 4 TPC 4
Ponteiros - Declaração Ponteiros (Operador Ponteiro, operador de endereços, expressões ponteiro) - Ponteiro Aritmético - Ponteiros e funções (Chamada por valor, Chamada por referência, Ponteiros para funções, Passando -8 uma função para outra função) - Ponteiros e matrizes - Ponteiro e matriz unidimensional - Ponteiro e matriz multidimensional - Ponteiros e strings - Matriz de ponteiros Ponteiros para ponteiros. 8-10 Classes e objetos - Estruturas e Classes - Declaração de Classe - Funções Membro - Definição do objeto de uma classe - Acessando um membro da Classe - Matriz de objectos de Classe - Ponteiros de classes - Unions e Classes - Classes dentro de Classes (classes aninhadas) - Construtores (construtores de cópia, construtores padrão) Perceber e aplicar ponteiros na gestão da memória do computador Programar ponteiros em funções, caractéres, matrizes. 8 -Modelar o mundo real usando objectos -Desenhar programas usando conceitos básicos de classes e objectos - 4 Pesquisar e aplicar o uso de ponteiros na resolução de problemas de computação Resolução de exercícios 8 Pesquisar e desenvolver programas em recorendo a principios básicos de OOP laboratório onde conceitos de ponteiros serão usados em programação em Aulas prácticas sobre Programação Orientada a Objectos Teste 5 o 5 TPC 5 Teste o TPC
- Destruidores - Funções Membro lnline - Membros estáticos de classe (membro de dados estáticos, as funções de membro estático) - Funções Friend - Alocações dinâmica de memória - Ponteiro this. 10-11 Herança - Herança único - Tipos de Classes Base (classes de base Direta, classes de base Indireta) - Tipos de Derivação (herança Pública, herança privada, herança Protegida) - Ambigüidade em herança único - Matriz de classe de objetos e heranca único - Herança múltipla (Matriz de objetos de classe e herança múltipla, a ambigüidade na herança múltipla) - Classes Container - Controle de Acesso de membro (Acessando os dados públicos, acessar os dados privados, acessar os dados protegidos, Acessando membro privado por classe friend). 5 Aplicar o conceito de herança em OOP Programar em usando herança de classes 5 Elaborar programas em usando os vários tipos de herança. laboratório onde conceitos de herança será usado em programação em
Sobrecarga 11-12 - Sobrecarga de função (Função sobrecarga com vários tipos de dados, sobrecarga de funções com argumentos, regras de escopo para a sobrecarga de funções, características especiais da função de sobrecarga) - Sobrecarga de operadores - Sobrecarga operador de atribuição - Sobrecarga de operadores binaries - Sobrecarga de operadores aritméticos - Sobrecarga de operadores de comparação - Sobrecarga de operadores unários. 8 Programação e resolução de problemas usando sobrecarga(overloading) Resolução de trabalhos prácticos e trabalho para casa sobre sobrecarga em laboratório onde o conceito de sobrecarga será usado em Teste 7 o 7 TPC 7 12-14 Polimorfismo - Polimorfismo - Ligação antecipada - Polimorfismo com ponteiros - Funções virtuais - Ligacao tardia - Funções virtuais puras - Classes de base abstratas - Construtores em herança - Destrutores em herança - Destrutores Virtuais Pro gramação e aplicação práctica do polimorfismo em problemas complexos de programação usando o Resolução de trabalhos prácticos e trabalho para casa sobre sobrecarga em laboratório onde o conceito de polimorfismo será usado em
- Classe de base virtual. Operações de arquivo de dados 14-15 - Abertura e fechamento de arquivos (abrir um arquivo, Fechar um arquivo) - funções de Córrego dos Estados- Membros - Leitura / escrita de carater em um arquivo - Operações de arquivo binário - Classes e operações de arquivo - matrizes de objetos de classe e operações de arquivo - Classes aninhadas e operações de arquivo - Processamento de arquivos de acesso aleatório. Criar ficheiros, ler e escrever ficheiros em C+ + Processar arquivos de texto usando Pesquisar formas de criar um sistema de banco de dados recorrendo a ficheiros de texto laboratório onde o ficheiros serão criados e manipulados em Teste 8 o 8 TPC 8 Assinatura do docente