Click here to load reader
Upload
sandro-lopes
View
84
Download
1
Embed Size (px)
Citation preview
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
04/08/2015
2
Problema : Fazer um bolo 5
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
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
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
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
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
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
V F
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