Este documento apresenta conceitos fundamentais de lógica e algoritmia, incluindo: (1) a definição de algoritmo como uma sequência finita de passos para realizar uma tarefa; (2) as características essenciais de um algoritmo como entrada, saída e eficiência; e (3) dicas para escrever algoritmos de forma clara e concisa.
1. 04/08/2015
1
Algoritmia
Curso: Design e Multimedia
Introdução a Algoritmia
Conceitos de lógica e
algoritmia
Lógica de programação é a técnica de encadear pensamentos para
atingir determinado objetivo.
Seqüência Lógica são passos executados até atingir um objetivo ou
solução de um problema.
Instruções são um conjunto de regras ou normas definidas para a
realização ou emprego de algo. Em informática, é o que indica a um
computador uma ação elementar a executar.
Algoritmo é formalmente uma seqüência finita de passos que levam a
execução de uma tarefa. Podemos pensar em algoritmo como uma
receita, uma seqüência de instruções que dão cabo de uma meta
específica.
Os programas de computadores nada mais são do que algoritmos
escritos numa linguagem de computador (Pascal, C, Cobol, Fortran,
Visual Basic entre outras) e que são interpretados e executados por
uma máquina, no caso um computador.
2
Introdução
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.
É também preciso que encontremos uma sequência de
passos que conduzam à sua resolução. Esta sequência de
passos é designada por algoritmo.
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 atractivos, dos iniciados em programação em
computadores.
3 Introdução
O que são algoritmos?
Algoritmo é qualquer procedimento
computacional bem definido que recebe um
valor, ou conjunto de valores, como entrada e
produz algum valor ou conjunto de valores como
saída.
Um algoritmo é portanto uma sequência de
passos computacionais que transformam a
entrada na saída.
4
2. 04/08/2015
2
Problema : Fazer um bolo5
Uma receita é uma descrição dum conjunto de
passos ou acções que fazem a combinação dum
conjunto de ingredientes com vista a obter um
produto gastronómico particular.
Algoritmo:
Como fazer um bolo?
Algoritmo (receita de bolo):
1. Bater duas claras em castelo
2. Adicionar duas gemas;
3. Adicionar um xícara de açúcar;
4. Adicionar duas colheres de manteiga;
5. Adicionar uma xícara de leite de coco;
6. Adicionar farinha e fermento;
7. Colocar numa forma e levar ao forno em lume brando.
6
Desenho de
algoritmos/programas
De um modo geral, considera-se que um algoritmo é uma
descrição, passo-apasso, de uma metodologia que conduz à
resolução de um problema ou à execução de uma tarefa.
A programação consiste na codificação precisa desse algoritmo,
segundo uma linguagem de programação específica.
Há, pois, que ter em consideração que existem três fases distintas na
elaboração de programas:
a análise do problema (especificação do problema, análise de
requisitos, pressupostos, etc.)
a concepção do algoritmo
a tradução desse algoritmo na linguagem de programação
7 Características de um
algoritmo
Ter fim, Um algoritmo deve sempre terminar após um número finito de
passos.
Definição, Cada passo de um algoritmo deve ser precisamente definido
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 tem 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.
NOTA: Pode haver mais do que um algoritmo para resolver um problema.
8
3. 04/08/2015
3
Fases de construção de um algoritmo
Ao construir um algoritmo, precisamos primeiro dividir o problema
em três fases fundamentais:
Entrada: São os dados de entrada do algoritmo. As informações que ele
vai precisar para poder solucionar o problema.
Processamento: São os procedimentos utilizados para chegara o
resultado final, tais como cálculos, conversões, operações, etc.
Saída: São os dados já processados que, geralmente, serão
apresentados aos utilizadores. É parecido com a forma como o nosso
cérebro funciona.
9 Passos na construção de
algoritmos
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
Construir o algoritmo
Testar o algoritmo
Executar o algoritmo
10
Dicas para escrever bons
algoritmos
1. Pense de forma incremental
Quais são os dados de entrada?
Como estes dados devem ser processados?
Quais são os dados de saída?
2. Faça o algoritmo o mais simples possível, facilitando:
A leitura do algoritmo por outras pessoas
A correção de erros quando estes existem
11 Dicas para escrever bons
algoritmos
3. Escreva comentários claros e objetivos no momento em
que estiver escrevendo o algoritmo
Comentários podem ocorrer em qualquer parte do
algoritmo, eles devem estar entre chaves
4. Escolha nomes de variáveis que sejam significativos
5. Utilize espaços e/ou linhas em branco para melhorar a
legibilidade do algoritmo.
6. Escreva apenas um comando por linha. isto também
facilita a legibilidade do algoritmo
12
4. 04/08/2015
4
Dicas para escrever bons
algoritmos
7. Alinhe os comandos de acordo com o nível a que
pertençam, isto é, destaque a estrutura na qual estão
contidos. Este alinhamento é chamado de identação.
Início
comando do algoritmo no nivel 1;
subcomando dentro do nível 2;
subcomando dentro do nível 3;
comando do algoritmo no nível 1
Início
subcomando dentro do nível 2;
subcomando dentro do nível 2;
Fim
Fim
13 Dicas para escrever bons
algoritmos
8. Toda vez que for feita uma modificação no
algoritmo, os comentários associados devem ser
alterados. É preferível não comentar do que deixar
um comentário errado.
14
Formas de representar
algoritmos
Descrição narrativa
Nesta representação os algoritmos são expressos
diretamente como linguagem natural:
Exemplo: calcular média de um aluno
Obter as suas duas notas de prova
Calcular a média aritmética
Se a média for maior que 9.5
O aluno aprovou
Senão, o aluno reprovou
15 Exercícios
1. Identifique os dados de entrada, processamento e saída
no algoritmo abaixo
Receba código da peça
Receba valor da peça
Receba Quantidade de peças
Calcule o valor total da peça (Quantidade * Valor da
peça)
Mostre o código da peça e seu valor total
2. Faça um algoritmo para “Calcular o estoque médio de
uma peça”, sendo que
Estoquemédio = (quantidade mínima + quantidade máxima) /2
16
5. 04/08/2015
5
Formas de representar
algoritmos
Fluxogramas
É uma representação
gráfica de algoritmos.
As formas geométricas
representam
instruções, comandos,
etc.
Representação
intermédia entre a
forma narrativa e o
pseudo-código.
Exemplo
17
Formas de representar
algoritmos
Fluxogramas – Principais Símbolos
Dentro do símbolo sempre terá algo escrito, pois somente
os símbolos não nos dizemnada.
Simbolo Função
Representa o inicio e o fim do fluxograma
Processamento
Instruções condicionais ou de decisão
Fluxo
Entrada de dados
Saída de informações
18
Regras de fluxogramas
Um fluxograma deve ser claro, simples e de fácil
leitura
Não deve haver ambiguidade na interpretação
O texto dentro de cada símbolo deve se limitar à
instrução a ser executada
Deve-se evitar o cruzamento de linhas para não
comprometer o entendimento
Apenas uma linha de fluxo deve partir ou chegar a
um símbolo de inicio e fim
Inicio
Fim
19 Regras de fluxogramas
Os símbolos de entrada e saída de dados devem
possuir uma linha de fluxo de chegada e uma de
saída
O símbolo de processamento admite mais de uma
linha de entrada de fluxo e apenas uma linha de
saída
20
6. 04/08/2015
6
Regras de fluxogramas
O símbolo de decisão admite apenas uma linha de
entrada de fluxo, permitindo duas ou três linhas de
saída
V F
21 Processamento de fluxo
O fluxograma permite três ordens de execução
Sequencial
As atividades são executadas uma após a outra
Por seleção
Ocorre quando uma via de processamento é escolhida de
acordo com uma determinada condição, de forma que
cada via conduz a um processamento distinto.
Por repetição
Faz com que a execução ocorra em ciclos de
processamento até atingir uma condição de finalização
22
Processamento de fluxo
(sequencial)
Sequencial
É processado um conjunto de
ações(passos) em série
Não há qualquer possibilidade
de alterar a ordem de
processamento das ações
Após processar o1ª passo,
processa-se o 2ª, e assim
sucessivamente
Inicio
Passo N
Passo 2
Passo 1
Inicio
23 Processamento de fluxo
(seleção)
Seleção Simples
Utiliza o símbolo de decisão para
escolher um caminho de
processamento a ser seguido
Na seleção simples ,o
passo(ação) somente será
processado caso a expressão
lógica avaliada for verdadeira
Logo, se a expressão lógica for
falsa, nenhuma ação é
processada
V
F
Instrução quando a
condição verdadeira
Condição
24
7. 04/08/2015
7
Processamento de fluxo
(Seleção)
Seleção composta
Utiliza o símbolo de seleção
para escolher uma
sequência de ações a ser
executada
O fluxo de processamento
segue por uma das duas vias,
dependendo do valor lógico
(verdadeiro ou falso) da
expressão avaliada no início
da estrutura
Somente serão executados
os passos encontrados na via
selecionada
VF
Instrução quando a
condição verdadeira
Condição
Instrução quando a
condição for falsa
25 Processamento de fluxo
(Repetição)
Repetição com teste com inicio
Neste caso, também há a
necessidade de tomar uma decisão
com base no valor lógico de uma
expressão
No entanto, a mesma sequência de
ações será executada
repetidamente enquanto o resultado
da expressão lógica se mantiver
verdadeiro
Um teste comum a expressão lógica
precede a ação
Instrução executada
enquanto a condição é
verdadeira
Condição
V
F
26
Processamento de fluxo
(Repetição)
Repetição com Teste no final
Essa estrutura de repetição tem
um papel similar a anterior, sendo
que a diferença está no fato do
teste ser feito após o
processamento da sequência de
ações
A sequência de ações é
executada pelo menos uma vez
Instrução executada
enquanto a condição for
falsa
Condição
F
V
27 Exercícios
Desenha um fluxograma que dado um número, ele
calcula cubo desse número. Ex: 23 =8
Desenha um fluxograma que lê dois valores numéricos
troca os valores entre si e mostra os dois valores.
Desenha um fluxograma que calcule o perímetro de
uma circunferência (P=2*PI*R), sendo pedido o ao
utilizador o tamanho do raio(inteiro e positivo).
Desenha um fluxograma que leia um número inteiro e
o classifique como positivo, negativo e zero.
28