Você está na página 1de 16

1

Algoritmia
1. Introdução à lógica de Programação

2018/2019
2

Lógica de Programação
Algoritmia

• Uma “visão comum do mundo”

• Uma “linguagem” comum


Linguagens
Programação

• C, C++, C#
• Pascal
• Java
• etc.
3

Algoritmo

sequência lógica de instruções (acções


acções) que
descrevem a solução de um problema.
4

Etapas…
Exemplo: Calcular a média das notas dos alunos numa prova de avaliação.

1.Analisar o problema

a) Conhecer o problema: ouvir o problema, entendê-lo, perceber qual o objectivo.


b) Descrever o problema: subdividir o problema (esquematizar), detalhar.

2.Resolver o problema: escrever passo a passo o raciocínio da solução do


problema; verificar se não existe ambiguidade.
3.Implementar: esta fase acontece apenas após o problema estar resolvido e
consiste em implementar o algoritmo numa linguagem de programação.
5

Passos na construção…
Algoritmo
Compreender o problema
Identificar os dados de entrada
Identificar os dados de saída
Determinar o que é preciso para transformar dados de entrada em dados de
saída:
usar a estratégia do dividir-para-conquistar
observar regras e limitações
identificar todas as acções a realizar
eliminar ambiguidades
Construir o algoritmo
Testar o algoritmo
Executar o algoritmo
6

Passos na construção…
Dividir-para-conquistar
–Também é o conhecido por método descendente (top-down method) ou método de
refinamento passo-a-passo
–Este método consiste em dividir um problema em partes menores (ou subproblemas) de
modo a que seja mais fácil a sua resolução.
•Exemplo: Fazer sumo de laranja?
Lavar laranja;
–Lavar
–Partir laranja ao meio;
–Espremer laranja;
–Filtrar o sumo;
–Servir o sumo.
–Passo-a-passo, significa que cada passo é completado antes que o próximo comece.
•Exemplo: é impossível “ver um noticiário” antes de executar por inteiro o passo anterior de
“ligar a TV”
7

Características fundamentais…
Finitude: um algoritmo deve sempre terminar após um número finito de
passos.
Definição: cada passo de um algoritmo deve ser precisamente definido.
As acções devem ser definidas rigorosamente e sem ambiguidades.
Entradas: um algoritmo deve ter zero ou mais entradas, isto é,
quantidades que lhe são fornecidas antes do algoritmo iniciar.
Saídas: um algoritmo deve ter uma ou mais saídas, isto é, quantidades
que têm uma relação específica com as entradas.
Eficiência: Um algoritmo deve ser eficiente. Isto significa que todas as
operações devem ser suficientemente básicas de modo que possam ser
em princípio executadas com precisão em um tempo finito por um ser
humano usando papel e lápis.
8

Exemplos de Algoritmos
• Comer um gelado;
• Substituição de uma lâmpada fundida;
• Substituição de um pneu de um automóvel;
• Resolução de um problema de matemática;
• Receita culinária;
• Etc.
9

Comer um gelado
• Solução do Algoritmo:
1. Pegar no gelado
2. Retirar o papel
3. Comer o gelado
4. Deitar o papel no lixo

Temos uma sequência linear de


acções, organizada em 4 passos.
10

Exercícios a resolver…
• Substituição de uma lâmpada fundida;
• Substituição de um pneu de um automóvel;
• Somar dois números quaisquer;
• Somar dois números e multiplicar o resultado
pelo primeiro;
• Calcular o maior de dois números.
11

Substituição de uma lâmpada fundida

• Solução do Algoritmo:

1 – Preparar uma lâmpada nova


2 – Retirar a lâmpada fundida
3 – Colocar a lâmpada nova

Temos uma sequência linear de


acções, organizada em 3 passos.
12

Substituição de uma lâmpada fundida

Mas, entretanto podemos acrescentar outras acções:

4 – Ligar o interruptor para verificar se a nova lâmpada


acende ou não.
5 – Se a lâmpada acender, damos o processo por concluído,
mas se não acender teremos de repetir os passos de 1 a 4.

Com o passo 5 a sequência deixa de ser linear,


pois surge uma condição “SE”.
13

Substituição de uma lâmpada fundida

Essa condição “SE” tem 2 ramificações distintas:

• Se a condição se verificar (se a lâmpada acende), processo


concluído.
• Se a condição não se verificar (se a lâmpada não acender),
teremos de repetir os passos anteriores.

Estas situações condicionais (“SE”)


são comuns em Algoritmos e Programas.
14

Substituição de um pneu de um automóvel

Solução do Algoritmo:

1 – Abrir a mala
2 – Retirar o pneu suplente
3 – Colocar o macaco na posição adequada
4 – Levantar o carro
5 – Retirar os parafusos do pneu
6 – Retirar o pneu furado
7 – Colocar o novo pneu
8 – Retirar o macaco do carro
9 – Arrumar o macaco
15

Somar dois números

Solução do Algoritmo:

1 – Escrever o 1º número
2 – Escrever o 2º número
3 – Somar o 1º com o 2º número
4 – Apresentar o resultado
16

Objectivos
• Apreender conceitos sobre a lógica de
programação;
• Aplicar instruções e sequências lógicas na
resolução de problemas.