Você está na página 1de 35
Programador em Ambiente Web ALGORITMOS Formadora: Deonilde Costa
Programador em Ambiente Web
ALGORITMOS
Formadora: Deonilde Costa
Introdução à Lógica de Programação Antes de se começar com uma Linguagem de Programação, temos de
Introdução à Lógica de
Programação
Antes de se começar com uma Linguagem de
Programação, temos de ser capazes de
estruturar o nosso raciocínio para que quando
nos colocam um problema, termos um controlo
sobre a lógica que atribuímos ao problema de
forma a conseguir concluir a solução sem erros.
Formadora: Deonilde Costa
O que é a lógica? Lógica de programação é a técnica de encadear pensamentos para atingir
O que é a lógica?
Lógica de programação é a técnica de
encadear pensamentos para atingir
determinado objetivo.
Formadora: Deonilde Costa
Instruções Na linguagem comum, entende-se por instruções “um conjunto de regras ou normas definidas para a
Instruções
Na linguagem comum, entende-se por
instruções “um conjunto de regras ou normas
definidas para a realização ou emprego de
algo”.
Em informática, instrução é a
informação que indica a um computador uma
ação elementar a executar.
Formadora: Deonilde Costa
Instruções Exemplo: se quisermos fazer uma omelete com batatas, precisamos colocar em prática uma série de
Instruções
Exemplo:
se quisermos fazer uma omelete com
batatas, precisamos colocar em prática uma
série de instruções:
descascar as batatas,
bater os ovos,
fritar as batatas, etc ...
Formadora: Deonilde Costa
Noções básicas Problemas, Algoritmos e Programas Operações elementares, tipos de dados e variáveis Construção de algoritmos
Noções básicas
Problemas, Algoritmos e Programas
Operações elementares, tipos de dados e
variáveis
Construção de algoritmos em linguagem
informal simbólica
Formadora: Deonilde Costa
Problemas, Algoritmos e Programas Definição do problema Planificação da resolução Estratégia de abordagem Análise do problema
Problemas, Algoritmos e
Programas
Definição do problema
Planificação da resolução
Estratégia de abordagem
Análise do problema (especificação
do problema, análise de requisitos,
pressupostos, etc.);
Conceção do algoritmo;
Implementação -
codificação
Tradução desse algoritmo na
linguagem de programação.
Teste e depuração
Documentação
Problema
Algoritmo
Programa
Manutenção
Formadora: Deonilde Costa
Problemas, Algoritmos e Programas Fase de Conceção Fase de implementação Algoritmo Programa Sequência finita e ordenada
Problemas, Algoritmos e
Programas
Fase de Conceção
Fase de implementação
Algoritmo
Programa
Sequência finita e
ordenada de ações
que conduzem à
solução de um
problema.
Conjunto de
instruções
destinadas a serem
processadas num
sistema informático
para realizar uma
determinada tarefa.
Formadora: Deonilde Costa
Problemas, Algoritmos e Programas Linguagem de programação A programação consiste na codificação precisa desse algoritmo, segundo
Problemas, Algoritmos e
Programas
Linguagem de programação
A programação consiste na codificação precisa
desse algoritmo, segundo uma linguagem de
programação específica.
Exemplos: Visual Basic, C, Java, Python, C#,
.NET, HTML, PHP…
Formadora: Deonilde Costa
Problemas, Algoritmos e Programas Algoritmia A formulação de algoritmos é separada em duas fases distintas na
Problemas, Algoritmos e
Programas
Algoritmia
A formulação de algoritmos é separada em
duas fases distintas na resolução do problema:
-A fase de formulação de algoritmos
-A fase da sua implementação numa
linguagem ou ferramenta de programação
(Visual Basic, C, Java, Python, …)
Formadora: Deonilde Costa
Algoritmo A palavra algoritmo, à primeira vista, parece-nos estranha. Embora apresente uma designação desconhecida, fazemos uso
Algoritmo
A palavra algoritmo, à primeira vista, parece-nos estranha.
Embora apresente uma designação desconhecida, fazemos
uso constante de algoritmos no nosso quotidiano: a
maneira como uma pessoa toma banho é um algoritmo.
Outros algoritmos frequentemente encontrados são:
Instruções para se utilizar um aparelho eletrodoméstico;
Uma receita para preparar um dado prato;
Guia de preenchimento da declaração do IRS;
Nas operações básicas (adição, multiplicação, divisão e
subtração).
Formadora: Deonilde Costa
Algoritmo Um algoritmo é formalmente uma sequência finita de passos que levam à execução de uma
Algoritmo
Um algoritmo é formalmente uma sequência
finita de passos que levam à execução de uma
tarefa, é uma sequência de instruções para
atingir uma meta específica.
Estas tarefas não podem ser redundantes
nem subjetivas na sua definição, devem ser
claras e precisas.
Formadora: Deonilde Costa
Algoritmo Para resolver um problema através dum computador é necessário encontrar em primeiro lugar uma maneira
Algoritmo
Para resolver um problema através dum
computador é necessário encontrar em primeiro
lugar uma maneira de descrevê-lo de uma forma
clara e precisa -A noção de algoritmo é central
para toda a informática.
A criação de algoritmos para resolver os
problemas é uma das maiores dificuldades, mas
também um dos desafios mais atrativos, dos
iniciados em programação de computadores.
Formadora: Deonilde Costa
Caraterísticas fundamentais de um algoritmo Entradas: um algoritmo deve ter uma ou mais entradas, isto é
Caraterísticas fundamentais
de um algoritmo
Entradas: um algoritmo deve ter uma 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 tem uma relação
específica com as entradas.
Precisão: Todos os passos do algoritmo devem
ter um significado preciso, não ambíguo,
especificando exatamente o que deve ser feito.
Formadora: Deonilde Costa
Caraterísticas fundamentais de um algoritmo Eficácia: Os passos devem conduzir à resolução do problema proposto. Devem
Caraterísticas fundamentais
de um algoritmo
Eficácia: Os passos devem conduzir à resolução
do problema proposto. Devem ainda ser
executáveis numa quantidade finita de tempo e
com uma quantidade finita de esforço.
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 num
tempo finito por um ser humano usando papel e
lápis.
Formadora: Deonilde Costa
Algoritmo O algoritmo deve ser fácil de se interpretar e fácil de codificar. Ou seja, ele
Algoritmo
O algoritmo deve ser fácil de se interpretar e
fácil de codificar. Ou seja, ele deve ser o
intermediário entre a linguagem falada e a
linguagem de programação.
Pode haver mais do que um algoritmo para resolver um problema
Formadora: Deonilde Costa
Exemplo 1 Uma receita é uma descrição dum conjunto de passos ou ações que fazem a
Exemplo 1
Uma receita é uma descrição dum conjunto
de passos ou ações que fazem a combinação
dum conjunto de ingredientes com vista a
obter um produto gastronómico particular.
Farinha de
trigo
Ovos
Açúcar
Receita
Leite
Manteiga
Fermento
Formadora: Deonilde Costa
Exemplo 1 Um algoritmo opera sobre um conjunto de entradas (farinha ovos, fermento, etc. no caso
Exemplo 1
Um algoritmo opera sobre um conjunto de
entradas (farinha ovos, fermento, etc. no
caso do bolo) de modo a gerar uma saída que
seja útil (ou agradável) para o utilizador (o
bolo pronto).
Formadora: Deonilde Costa
Exemplo 1 Algoritmo (receita de bolo): 1. Bater duas claras em castelo; 2. Adicionar duas gemas;
Exemplo 1
Algoritmo (receita de bolo):
1.
Bater duas claras em castelo;
2.
Adicionar duas gemas;
3.
Adicionar uma chávena de açúcar;
4.
Adicionar duas colheres de manteiga;
5.
Adicionar uma chávena de leite de coco;
6.
7.
Adicionar farinha e fermento;
Colocar numa forma e levar ao forno em lume brando.
8.
9.
Verificar tempo de cozedura
Retirar do forno
Formadora: Deonilde Costa
Exemplo 2 Somar dois números Escreva o primeiro número no retângulo A Escreva o segundo número
Exemplo 2
Somar dois números
Escreva o primeiro número no retângulo A
Escreva o segundo número no retângulo B
Some o número do retângulo A com número do
retângulo B
Coloque o resultado no retângulo C
Retângulo A
Retângulo B
Resultado
Formadora: Deonilde Costa
Exercícios 1. Descreva a sequência lógica: a. Para Comer; b. Para ferver água; c. Para trocar
Exercícios
1. Descreva a sequência lógica:
a.
Para Comer;
b.
Para ferver água;
c.
Para trocar uma lâmpada.
d.
Que permita efetuar a mudança do pneu
furado de uma viatura.
Formadora: Deonilde Costa
a. Para Comer Inicio Pegar no garfo Colocar comida no garfo Levar o garfo à boca
a. Para Comer
Inicio
Pegar no garfo
Colocar comida no garfo
Levar o garfo à boca
Abrir a boca
Meter a comida dentro da boca
Fechar a boca
Mastigar a comida
Engolir
Fim
Formadora: Deonilde Costa
b. Para ferver água Inicio Pegar no recipiente Colocar água no recipiente Levar recipiente à placa
b. Para ferver água
Inicio
Pegar no recipiente
Colocar água no recipiente
Levar recipiente à placa
Ligar a placa
Deixar ferver
Desligar a placa
Retirar o recipiente da placa
Fim
Formadora: Deonilde Costa
c. Para trocar uma lâmpada Algoritmo Simples Início Colocar escada Pegar na lâmpada nova Subir a
c. Para trocar uma lâmpada
Algoritmo Simples
Início
Colocar escada
Pegar na lâmpada nova
Subir a escada
Retirar lâmpada fundida
Colocação da lâmpada nova
Verificar se luz acende
Arrumar escada
Fim
Formadora: Deonilde Costa
Preparar uma lâmpada nova Não Luz acende? Retirar a lâmpada fundida Sim Processo concluído Colocar a
Preparar uma
lâmpada nova
Não
Luz acende?
Retirar a lâmpada
fundida
Sim
Processo
concluído
Colocar a
lâmpada nova
Formadora: Deonilde Costa
c. Para trocar uma lâmpada Definir as operações elementares – Algoritmo mais complexo dar passos subir/descer
c. Para trocar uma lâmpada
Definir as operações elementares – Algoritmo
mais complexo
dar passos
subir/descer degraus
pegar/largar objetos
rodar objetos sentido direto/indireto
capacidade de decisão
Formadora: Deonilde Costa
1. Preparar acessos à lâmpada fundida 1.1 Repetir enquanto não chegar à escada 1.1.1 Dar passos
1. Preparar acessos à lâmpada fundida
1.1
Repetir enquanto não chegar à escada
1.1.1
Dar passos
1.2
Pegar objeto (escada)
1.3
Repetir enquanto não chegar debaixo lâmpada fundida
1.3.1
Dar passos
2. Retirar lâmpada fundida
2.1
Repetir enquanto não chegar à lâmpada fundida
2.1.1
Subir degraus
2.2
Repetir enquanto não soltar a lâmpada fundida
2.2.1
Rodar objeto (lâmpada fundida) no sentido indireto
2.3
Repetir enquanto não chegar ao chão
2.3.1
descer degraus
Formadora: Deonilde Costa
3.Escolher lâmpada nova 3.1 Repetir enquanto não chegar junto gaveta das lâmpadas novas 1.3.1 Dar passos
3.Escolher lâmpada nova
3.1 Repetir enquanto não chegar junto gaveta das lâmpadas
novas
1.3.1 Dar passos
3.2 Repetir enquanto houver lâmpadas novas ou potência
lâmpada nova diferente de potência lâmpada fundida.
3.2.1 Pegar objeto (L.N.)
3.2.2 Se potência L.N. = Potência L.F.
3.2.2.1 Então largar a L.F.
3.2.2.2 Senão largar a L.N.
Formadora: Deonilde Costa
4. Colocação da lâmpada nova 4.1 Repetir enquanto não chegar à escada 4.1.1 Dar passos 4.2
4. Colocação da lâmpada nova
4.1
Repetir enquanto não chegar à escada
4.1.1
Dar passos
4.2
Repetir enquanto não chegar ao casquilho
4.2.1
Subir degraus
4.3
Repetir enquanto não firmar a lâmpada nova
4.3.1
Rodar objeto(L.N.) no sentido direto
4.4
Repetir enquanto não chegar ao chão
4.4.1
descer degraus
5. Arrumar escada
5.1
Pegar objeto (escada)
5.2
Repetir enquanto não chegar ao sítio da escada
5.2.1
Dar passos
5.3
Largar objeto (escada)
6. FIM
Formadora: Deonilde Costa
d. Que permita efetuar a mudança do pneu furado de uma viatura. Graficamente Substituição do pneu
d. Que permita efetuar a
mudança do pneu furado de
uma viatura.
Graficamente
Substituição do
pneu furado
Ir buscar pneu
bom +macaco +
chave
Colocar macaco
na posição
correta e elevar
o carro
Retirar pneu
furado e
substituí-lo
Guardar macaco
+ pneu furado +
chave
Formadora: Deonilde Costa
Definir as operações elementares: dar passos abrir ou fechar pegar ou largar rodar deslocar no sentido
Definir as operações elementares:
dar passos
abrir ou fechar
pegar ou largar
rodar
deslocar no sentido ...
capacidade de decisão
Formadora: Deonilde Costa
1. Buscar macaco, chave e pneu suplente 1.1 Repetir até chegar ao carro 1.1.1 Dar passos
1.
Buscar macaco, chave e pneu suplente
1.1
Repetir até chegar ao carro
1.1.1 Dar passos
1.2
Abrir a mala
1.3
Pegar macaco, chave e pneu bom
1.4
Repetir até chegar ao pneu furado
1.4.1 Dar passos
2.
Colocar o macaco em posição correta e elevar o carro
2.1
Largar o pneu e a chave
2.2
Encaixar macaco
2.2.1 Deslocar o macaco no sentido do carro até encaixar
2.3
Elevar o carro
2.3.1 Repetir até carro elevado
2.3.1.1 Rodar manivela no sentido horário
Formadora: Deonilde Costa
3.Retirar o pneu furado e substituí-lo 3.1 Pegar na chave 3.2 Repetir quatro vezes 3.2.1 Deslocar
3.Retirar o pneu furado e substituí-lo
3.1
Pegar na chave
3.2
Repetir quatro vezes
3.2.1 Deslocar a chave até encaixar na porca
3.2.2 Repetir até porca cair
3.2.2.1 Rodar sentido anti-horário
3.3
Largar chave
3.4
3.5
Pegar no pneu furado
Deslocá-lo sentido contrário ao carro
3.6
Largar pneu furado
3.7
Pegar no pneu bom
3.8
Deslocar pneu no sentido do carro
3.9
Encaixar pneu
Formadora: Deonilde Costa
3.10 Pegar na chave 3.11 Repetir quatro vezes 3.11.1 Pegar na porca 3.11.2 Encaixar porca 3.11.3
3.10 Pegar na chave
3.11 Repetir quatro vezes
3.11.1 Pegar na porca
3.11.2 Encaixar porca
3.11.3 Pegar chave
3.11.4 Repetir até ficar apertado
3.11.4.1 Rodar no sentido horário
3.12 Largar chave
Formadora: Deonilde Costa
4. Guardar o macaco, chave e o pneu furado 4.1 Baixar o carro 4.1.1 Rodar manivela
4. Guardar o macaco, chave e o pneu furado
4.1
Baixar o carro
4.1.1 Rodar manivela no sentido contrário ao horário
4.2
Desencaixar macaco
4.3
Pegar pneu furado + macaco + chave
4.4
Repetir até à mala
4.4.1 Dar passos
4.5
Largar chave + macaco + pneu furado
4.6
Fechar mala
FIM
Formadora: Deonilde Costa