View
226
Download
3
Embed Size (px)
Citation preview
1
Linguagens de Programação
Pedro Lopes
2010/2011
2
Apresentação da disciplina
Módulos do 1º ano
Algoritmia > 24 horas
Introdução à Linguagem da Programação > 20 horas
Estruturas de controlo > 36 horas
Subprogramas (procedimentos e funções) > 36 horas
Tipo Estruturado – Tabelas > 21 horas
Tipo Estruturado – Registos > 18 horas
3
Apresentação da disciplina
Módulos do 2º ano
Estruturas Dinâmicas (Apontadores) > 27 horas
Ficheiros > 18 horas
Projecto > 27 horas
Introdução à Programação Orientada por Objectos > 18 horas
Introdução à Linguagem de Programação Orientada por Objectos > 24 horas
Fundamentos avançados de Programação Orientada por Objectos > 36 horas
4
Apresentação da disciplina
Módulos do 3º ano
Gestão de componentes > 36 horas
Acesso a Bases de Dados > 36 horas
Especificação e Documentação > 27 horas
Instalação e Apoio ao Utilizador > 18 horas
Desenvolvimento de uma Aplicação de Gestão > 36 horas
Linguagens de Programação
Pedro Lopes
MÓDULO 1- Introdução à Programação e Algoritmia
6
Sumário
AULA Nº 3 e 4
Introdução à Lógica da Programação
Conceitos básicos da Lógica da Programação
Conceito e definição de Algoritmia e Programa
Resolução e Correcção de uma Ficha de Trabalho
7
Resumo
Objectivos
Realização e Correcção de uma ficha de Trabalho
Resumo da aula
Aula Seguinte
8
Objectivos
Conhecer termos e conceitos básicos relacionados com a Programação
Identificar competências básicas relacionadas com a disciplina e com o curso nomeadamente no domínio do raciocínio lógico e da algoritmia
Induzir o espírito de iniciativa e de cooperação
9
Objectivos da programação
Analisar e Resolver Problemas Conceber e implementar projectos de natureza
interdisciplinar
Conhecer os elementos da linguagem algorítmica Construir algoritmos com base em situações reais
Utilizar ferramentas de desenvolvimento Adaptar-se a novas situações
Trabalhar em equipa
10
Termos e Conceitos
Algoritmo Conjunto finito de regras bem determinadas para a resolução
de um problema, através de um número finito de operações (Dicionário de termos informáticos, Instituto de Linguística Teórica Computacional, Edição Cosmos)
Programa Conjunto de instruções destinadas a serem processadas num
sistema informático para realizar uma determinada tarefa
11
Fases na resolução de um programa
1. Definição do problema:
Definir o problema que se pretende resolver da forma mais clara possível;
Ter um enunciado preciso e rigoroso de todos os aspectos da situação a resolver;
Há que desfazer todas as dúvidas
12
Fases na resolução de um programa
2. Planificação da resolução:
Devemos recorrer a uma estratégia de abordagem do problema que seja o mais adequada possível à obtenção de uma solução;
Diversas estratégias de abordagem aos problemas e diversos métodos de representação de um ESQUEMA;
Algoritmo que conduza à solução;
13
Fases na resolução de um programa
3. Codificação:
Trata apenas de transpor as indicações do algoritmo para instruções na linguagem de programação;
Um programa pode consistir num ou vários algoritmos;
Muitos softwares que são criados para fins profissionais são constituídos por vários algoritmos interligados e complexos
14
Fases na resolução de um programa
4. Testes e depuração:
Testar o programa em diferentes situações;
Detectar erros, falhas ou omissões;
Possibilidade de reformular o programa ou a análise
15
Fases na resolução de um programa
5. Documentação:
Pode ser de dois tipos conforme o destinatário:
ProgramadoresPode ser incluída no código com o objectivo de facilitar
a leitura e compreensão do programa;
UtilizadoresTem o objectivo de facilitar a aprendizagem da forma
como funciona o programa;
16
Fases na resolução de um programa
6. Manutenção:
Diz respeito a possíveis alterações ou aperfeiçoamentos;
Tende a ocupar uma percentagem cada vez maior no trabalho dos programadores;
Vários tipos de manutenção.
17
18
Analista
Concebe e Projecta no âmbito do tratamento automático da informação;
Descobre qual é o melhor sistema para resolver determinado problema;
Recolhe TODOS os elementos elucidativos para atingir os objectivos;
Examina os dados obtidos;
19
Analista
Determina qual a informação a ser recolhida, com que periocidade;
Determina a frequência que devem ser apresentados os resultados;
Determina as modificações à normalização dos dados e as transformações a fazer na sequência das operações;
Efectua testes a fim de se certificar se o tratamento automático da informação se adapta aos fins em vista.
20
Programador
Estabelece programas que se destinam a comandar operações de tratamento automático da informação por computador;
Recebe as especificações e instruções;
Recolhe todos os dados elucidativos dos objectivos a atingir que são obtidos sob a forma de documentos escritos normalizados e com o aspecto de gráficos;
Escreve instruções para o computador em linguagem que pode ser aceite por este;
21
Programador
Procede a testes para verificar a validade do programa e introduzir-lhe alterações sempre que necessário;
Apresenta os resultados obtidos sob a forma de mapas ou por outros processos que seja legíveis pelo cliente.
22
Competências a desenvolver
Identificar os diversos factores intervenientes num problema;
Utilizar diferentes estratégias de tratamento de dados;
Fasear a resolução de um problema;
Resolver problemas, encontrando soluções criativas e adequadas;
Usar vários suportes de informação para resolver dificuldades concretas na utilização das ferramentas de programação;
23
Competências a desenvolver
Utiliza a “ajuda” para resolver dificuldades concretas na utilização das ferramentas de programação;
Programar a realização de trabalho de equipa; nomeadamente, dividir as tarefas para a realização do trabalho conjunto e definir a estrutura de coordenação;
Cumprir prazos na realização das tarefas;
Optar pela melhor decisão na resolução de um problema concreto;
24
Competências a desenvolver
Aceitar opiniões diferentes e integrar as propostas dos outros na melhoria do trabalho;
Usar metodologias de análise algorítmica;
Utilizar diferentes métodos algorítmicos;
Utilizar estruturas de decisão;
Criar algoritmos estruturados;
25
Competências a desenvolver
Traduzir algoritmos em linguagens de Programação;
Adaptar-se à evolução das linguagens de Programação;
Utiliza uma linguagem adequada para a criação de relatórios;
Documentar todo o trabalho desenvolvido.
26
Espírito de iniciativa e de cooperação
Ter capacidade de iniciativa;
Ter capacidade de inter ajuda;
Cooperar de uma forma activa e dinâmica com os colegas principalmente nos trabalhos de grupo;
O trabalho de grupo é a realização e uma actividade por todos e não a soma dos trabalhos individuais.
27
Ficha de Trabalho
Realização de uma Ficha de Trabalho
Objectivos: Compreensão dos conceitos básicos da Programação; O papel do analista e do programador; Fases da resolução de um problema; Competências.
28
Resumo da Aula
29
Aula Seguinte
Abordagem Top Down
Operações Elementares
Tipos de Dados e Variáveis
30
Professor: Pedro Lopes E-Mail: pedrolopes.ebsf @gmail.com