Data">
Nothing Special   »   [go: up one dir, main page]

Algoritmos

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 12

Algoritmia e Conceitos Fundamentais de Programação

4 - ALGORITMOS
Um algoritmo é um conjunto finito de passos ou instruções ordenadas e sem ambiguidade, cujo objetivo é completar
uma tarefa ou solucionar um problema. No que diz respeito à programação, um algoritmo contém frequentemente
repetições de instruções, estruturas de decisão, sub-tarefas e até mesmo chamadas a outos algoritmos.

Propriedades:

• Passos simples e sem ambiguidades


• Ordem dos passos cuidadosamente definida
• Passos efetivos, ou seja, resolver um problema num número finito de passos
Algoritmia e Conceitos Fundamentais de Programação

4 – ALGORITMOS (cont…)

Exemplos:

• Indicações para chegar a um determinado endereço


• Instruções para construção de um brinquedo
• Receita de culinária
Algoritmia e Conceitos Fundamentais de Programação

4.1 – FASES PARA A RESOLUÇÃO DE UM PROBLEMA


No que diz respeito à resolução de problemas de computação utilizando algoritmos, podemos dizer que existem duas
fases:

• Fase de resolução do problema


Nesta fase escreve-se a possível solução em forma de algoritmo
• Fase da implementação
Nesta fase, caso o algoritmo seja satisfatório, procede-se à implementação do mesmo utilizando uma linguagem de
programação.

Nota: caso o algoritmo seja suficientemente preciso, a codificação do mesmo num programa é quase direta.
Algoritmia e Conceitos Fundamentais de Programação

4.1 – FASES PARA A RESOLUÇÃO DE UM PROBLEMA (cont…)


De uma forma mais detalhada, poderemos desdobrar estas duas fases em seis fases para a resolução do Problema:

• Definição do Problema
• Analise do Problema (elaboração do Algoritmo)
• Codificação do algoritmo em linguagem de Programação
• Teste do Programa
• Implementação
• Documentação
Algoritmia e Conceitos Fundamentais de Programação

4.2 - PENSAR COMO UM COMPUTADOR


A melhor forma para pensarmos como um computador, é pegar numa tarefa e dividir essa tarefa em ações atómicas
(ações individuais).

Desafio: imaginem que colocaram à vossa disposição um robot como aqueles que vemos nas fábricas e que executam
uma série de tarefas pré-determinadas. Este robot é vos fornecido sem qualquer tipo de instrução (ou software) e é
vossa a responsabilidade de programarem esse robô para fazer duas torradas com duas fatias de pão cada. É vos
fornecido também um saco comum com pão fatiado, uma torradeira (esta torradeira só permite duas fatias de pão de
cada vez).

Nota: para simplificar as torradas não levam manteiga

De que forma poderiam programar o robot para executar esta tarefa?


Algoritmia e Conceitos Fundamentais de Programação

4.2 - PENSAR COMO UM COMPUTADOR (cont…) 8. Retirar a primeira fatia de pão torrado
Uma possível solução seria: 9. Retirar a segunda fatia de pão torrado
10. Pegar em outra fatia de pão
1. Pegar no saco de pão fatiado 11. Colocar a fatia de pão na torradeira
2. Abrir o saco 12. Tirar outra fatia de pão
3. Retirar uma fatia de pão 13. Colocar a fatia de pão na torradeira
4. Colocar a fatia na torradeira 14. Carregar no botão da torradeira para iniciar o
5. Retira outra fatia de pão processo de torrar o pão
6. Colocar a fatia na torradeira
7. Carregar no botão da torradeira para iniciar o processo [o processo de torrar termina o seu ciclo]
de torrar o pão
15. Retirar a primeira fatia de pão torrado
[o processo de torrar termina o seu ciclo] 16. Retirar a segunda fatia de pão torrado
17. Fim
Nota: este conjunto de instruções pode ser ainda mais simplificado, se pensarmos que algumas ações são repetições
(ciclo) de uma outra ação inicial. Na lista de ações acima vêm algumas ações desse tipo?
Algoritmia e Conceitos Fundamentais de Programação

4.3 - 3 PRINCIPAIS COMPONENTES DE UM ALGORITMO


Geralmente, existem 3 componente na criação de um algoritmo:

1. Entrada de dados (input)


2. Processamento dos dados
3. Saída dos dados (output)

Considere um algoritmo que calcula a média de 3 números. Tendo em conta as fases acima, o nosso algoritmo, grosso
modo, ficaria de que forma?
Algoritmia e Conceitos Fundamentais de Programação

4.3 - 3 PRINCIPAIS COMPONENTES DE UM ALGORITMO (cont…)


Uma forma possível seria:

1. Pedir ao utilizador para introduzir os 3 números (entrada)


2. O programa calcula a média (processamento)
3. O valor é escrito para o ecrã (saída dos dados)

Agora com mais detalhe:

1. Pedir ao utilizador o 1º número


2. Pedir ao utilizador o 2º número
3. Pedir ao utilizador o 3º número
4. Calcular a soma dos 3 números introduzidos
5. Dividir a soma obtida por 3
6. Mostrar o resultado no ecrã
Algoritmia e Conceitos Fundamentais de Programação

4.3 - 3 PRINCIPAIS COMPONENTES DE UM ALGORITMO (cont…)


Em algumas situações, podem existir algoritmos que não necessitem de inputs e o algoritmo ser só composto por
duas fases. Vejamos o caso de um algoritmo que somar um conjunto predeterminado de valores:

1 + 2 +3 + 4 + 5 + 6 + 7 + 8 + 9 + 10

Aqui não precisamos dos inputs porque o computador vai saber exatamente o que fazer, ou seja, calcular a soma dos
números de 1 até 10.

Agora vejamos o exemplo a seguir. Considere escrever um programa que faça a seguinte soma:

1+2+3+4+…+N

Como podemos verificar, esta soma não é igual à do ponto anterior. Neste exemplo o utilizador necessita de introduzir
alguma informação. O computador não consegue por si só saber qual o valor para N. Este valor tem de ser introduzido
pelo utilizador.
Algoritmia e Conceitos Fundamentais de Programação

4.4 - TRAÇAGEM
A traçagem de um algoritmo consiste na teste do mesmo para determinados valores de entrada, observando o seu
comportamento. Todos os passos do algoritmo devem ser numerados: P1, P2, …

A forma mais comum de efetuarmos uma traçagem será criar uma tabela, em que os títulos das colunas são
constituídos por todas as operações efetuadas pelo algoritmo, desde atribuições, condições, repetições, etc.

Os títulos das linhas correspondem aos passos P1, P2, etc. O algoritmo pode então ser executado manualmente e a sua
lógica validada, testando assim a sua conformidade com o resultado esperado.
Algoritmia e Conceitos Fundamentais de Programação

4.5 - EXEMPLOS:

1. Calcular a décima parte de um valor lido

1. Ler um número
2. Dividir o número por 10
3. Escrever o número lido e o resultado obtido

2. Ler o apelido e o nome de uma pessoa a apresentar a sua junção

1. Ler o apelido
2. Ler o nome
3. Concatenar nome + apelido
4. Escrever o resultado
Algoritmia e Conceitos Fundamentais de Programação

4.5 – EXEMPLOS (cont…):


4. Calcular o preço de venda (PV) de um artigo, sabendo que o mesmo é o resultado da soma dos custos de produção
(CP), custos de armazenagem (CA) e custo das matérias-primas (CMP), acrescido de 20% de margem de lucro.

4. Ler CP, CA e CMP


5. Somar os 3 valores
6. Calcular 20% sobre o valor obtido
7. Somar os valores obtidos em 2 e 3
8. Escrever o resultado

Você também pode gostar