Programação e Sistemas
de Informação
Módulo I - Introdução à Programação
e Algoritmia
Formador : António Martins
1
Intro. – Programação/Problemas

Programação: consiste no desenvolvimento de
técnicas (métodos) ou na optimização de
processos, que permitem a resolução de
problemas.

Problema: “é aquilo que nos é proposto fazer”

Exemplos:


Mudar um pneu;
Fazer uma chamada de tlm.
2
1 - Técnicas de resolução de
problemas

Decomposição: consiste na divisão do problema
complexo (aquilo que nos é proposto fazer) em
problemas “mais pequenos” (de complexidade
menor), chamados componentes.

A junção das soluções dos vários componentes
dará origem à solução do problema inicial.
3
1.1 - Decomposição (esquema)
Problema
inicial
Componente 1
Solução 1
Componente 2
Solução 2
Solução do
problema inicial
…
…
Componente n
Solução n
4
1.1 - Decomposição

Os 3 passos da decomposição são:
Decomposição;
 Resolução dos problemas componentes;
 Combinação destas soluções na solução do
problema inicial


Atenção: Se uma determinada componente for
complexa pode esta ainda ser decomposta em
componentes.
5
1.2 - Abstracção

Abstracção consiste em adaptar soluções
conhecidas de problemas semelhantes ao
problema em causa.

Exemplo : o método de somar 2+3 é igual ao
método de somar 10+5.
De um modo genérico pode ficar x+y
6
2 – Introdução à lógica de
programação

Lógica de programação: é a técnica que consiste em
encadear pensamentos para atingir determinado
objectivo.

Sequência lógica: são os passos executados até atingir
um objectivo ou solução de um problema

Instruções: são um conjunto de regras ou normas
definidas para a realização ou uso de algo. Em
informática é o que indica a um computador uma acção
elementar a executar.
7
3 - ALGORITMO
A construção de um programa comporta 4 fases:

Analisar o problema





Conhecer o problema: ouvir o problema, entendê-lo, perceber qual o
objectivo.
Descrever o problema: subdividir o problema (esquematizar), detalhar. 
DECOMPOSIÇÃO
Fase de resolução do problema: criação do algoritmo; escrever
passo a passo o raciocínio da solução do problema; verificar se
não existe ambiguidade.
Fase de implementação (numa linguagem de programação).
Fase de testes e manutenção
ALGORITMO: é a descrição completa da solução de um problema.
8
3.1 - Exemplos

Exemplos de algoritmos usados no dia-a-dia:
Receita de culinária
 Indicações para chegar a um determinado local
 GPS
 Manuais de instruções para montagem de
equipamentos

9
3.2 – Características de um algoritmo

Características:
Finito: tem de terminar;
 Definitude: cada passo (instrução) bem definido;
 Entradas: zero ou mais entradas;
 Saídas: uma ou mais saídas;
 Eficácia: operações todas executáveis;
 Sequencial: cada instrução corresponde a uma acção
elementar a executar, não devendo ocasionar dúvidas
na sua interpretação (ordem bem definida).

10
3.3 – Linguagem do algoritmo

A linguagem algorítmica deve ser:




Formal
Objectiva
Obedecer às regras lógicas
Exemplos:








Mudar um pneu
Mudar uma lâmpada
Carregar o telemóvel
Ler um e-mail
Ir ver um filme ao cinema
Fazer uma média de 3 valores
Calcular a área de um rectângulo
Conversão de € para escudos.
11
Exemplo “Mudar pneu”
12
Exemplo “Mudar pneu” (cont…..)

2º Definir as operações elementares:
dar passos
 abrir ou fechar
 pegar ou largar
 rodar
 deslocar no sentido ...
 capacidade de decisão

13
Exemplo “Mudar pneu” (cont…..)

[Substituição pneu furado]
1. [Buscar macaco, chave e pneu sobresselente]
Repetir até chegar ao carro
Dar passos
Abrir a mala
Pegar macaco, chave e pneu bom
Repetir até chegar ao pneu furado
Dar passos
2. [Colocar o macaco em posição correcta e elevar o carro]
Largar o pneu e a chave
Encaixar macaco
Deslocar o macaco no sentido do carro até encaixar
Elevar o carro
Repetir até carro elevado
Rodar manivela no sentido horário
14
Exemplo “Mudar pneu” (cont…..)
3.[Retirar o pneu furado e substituí-lo]
Pegar na chave
Repetir quatro vezes
Deslocar a chave até encaixar na porca
Repetir até porca cair
Rodar sentido anti-horário
Largar chave
Pegar no pneu furado
Deslocá-lo sentido contrário ao carro
Largar pneu furado
Pegar no pneu bom
Deslocar pneu no sentido do carro
Encaixar pneu
Pegar na chave
Repetir quatro vezes
Pegar na porca
Encaixar porca
Pegar chave
Repetir até ficar apertado
Rodar no sentido horário
Largar chave
15
Exemplo “Mudar pneu” (cont…..)
4. [Guardar o macaco, chave e o pneu furado]
Baixar o carro
Rodar manivela no sentido contrário ao horário
Desencaixar macaco
Pegar pneu furado+macaco+chave
Repetir até à mala
Dar passos
Largar chave+macaco+pneu furado
Fechar mala
[FIM]
16
Exemplo “Mudar lâmpada………”

TopDown (decomposição)
Garantir a segurança da operação
Arranjar e posicionar um meio de aceder à
lâmpada
Remover a lâmpada
Colocar a nova lâmpada
Testar se a nova lâmpada funciona
Arrumar os meios despendidos na operação
17
Exemplo “Mudar lâmpada………”
[Mudar a lâmpada fundida]
[Garantir a segurança da operação]
Desligar a electricidade (no quadro geral – iluminação)
[Arranjar e posicionar um meio de aceder à lâmpada]
Pegar num banco
Colocar o banco por baixo da lâmpada
Subir para cima do banco
[Remover a lâmpada]
Pegar com uma mão no caixilho
Pegar com a outra mão na lâmpada
Rodar a lâmpada até desapertar
18
Exemplo “Mudar lâmpada………”
[Colocar a nova lâmpada]
Descer do banco
Poisar a lâmpada velha
Pegar na nova lâmpada
Subir ao banco
Pegar com uma mão no caixilho
Inserir a lâmpada no caixilho
Rodar a lâmpada até esta ficar encaixada
[Testar se a nova lâmpada funciona]
Descer do banco
Ligar o quadro geral de electricidade
Acender o interruptor se este estiver desligado
Verificar se a lâmpada funciona
[Arrumar os meios despendidos na operação]
Deitar a lâmpada velha ao lixo
Pegar no banco e arrumá-lo
[FIM]
19
Download

ppt01