SlideShare uma empresa Scribd logo
1 de 7
Baixar para ler offline
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 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
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
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

Mais conteúdo relacionado

Destaque

LabMM3 - Aula teórica 03
LabMM3 - Aula teórica 03LabMM3 - Aula teórica 03
LabMM3 - Aula teórica 03Carlos Santos
 
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO CampusRepensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO CampusCarlos Santos
 
SAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning EnvironmentSAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning EnvironmentCarlos Santos
 
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)Carlos Santos
 
Introdução ao conhecimento de algoritmos e prática de programação - Giovani Cogo
Introdução ao conhecimento de algoritmos e prática de programação - Giovani CogoIntrodução ao conhecimento de algoritmos e prática de programação - Giovani Cogo
Introdução ao conhecimento de algoritmos e prática de programação - Giovani CogoTchelinux
 
Algoritmia para o site do 10gi marcelo e ricardo
Algoritmia para o site do 10gi marcelo e ricardoAlgoritmia para o site do 10gi marcelo e ricardo
Algoritmia para o site do 10gi marcelo e ricardozedaesquina98
 

Destaque (7)

LabMM3 - Aula teórica 03
LabMM3 - Aula teórica 03LabMM3 - Aula teórica 03
LabMM3 - Aula teórica 03
 
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO CampusRepensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
 
chmod 777 education
chmod 777 educationchmod 777 education
chmod 777 education
 
SAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning EnvironmentSAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning Environment
 
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
 
Introdução ao conhecimento de algoritmos e prática de programação - Giovani Cogo
Introdução ao conhecimento de algoritmos e prática de programação - Giovani CogoIntrodução ao conhecimento de algoritmos e prática de programação - Giovani Cogo
Introdução ao conhecimento de algoritmos e prática de programação - Giovani Cogo
 
Algoritmia para o site do 10gi marcelo e ricardo
Algoritmia para o site do 10gi marcelo e ricardoAlgoritmia para o site do 10gi marcelo e ricardo
Algoritmia para o site do 10gi marcelo e ricardo
 

Semelhante a Algoritmia (Conceitos)

Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascalangelicamenegassi
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascalangelicamenegassi
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmosjormad
 
Introdução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxIntrodução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxPaulo Cardoso
 
Algoritmos e Lógica de Programação
Algoritmos e Lógica de ProgramaçãoAlgoritmos e Lógica de Programação
Algoritmos e Lógica de ProgramaçãoJose Augusto Cintra
 
Aulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosAulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosJocelma Rios
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosRodrigo Kiyoshi Saito
 
Prova algoritmos
Prova algoritmosProva algoritmos
Prova algoritmospronatecvja
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação12anogolega
 
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...Alex Camargo
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturadodasko
 
53392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-200953392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-2009starley lobo
 
Apostila de algoritimos
Apostila de algoritimosApostila de algoritimos
Apostila de algoritimosCleide Soares
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Gercélia Ramos
 
Lógica de programação 2
Lógica de programação 2Lógica de programação 2
Lógica de programação 2José Lopes
 

Semelhante a Algoritmia (Conceitos) (20)

Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Introdução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxIntrodução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptx
 
Algoritmos e Lógica de Programação
Algoritmos e Lógica de ProgramaçãoAlgoritmos e Lógica de Programação
Algoritmos e Lógica de Programação
 
Aulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosAulas 13 e 14 - Algoritmos
Aulas 13 e 14 - Algoritmos
 
Módulo 1 de PSI
Módulo 1 de PSIMódulo 1 de PSI
Módulo 1 de PSI
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmos
 
Prova algoritmos
Prova algoritmosProva algoritmos
Prova algoritmos
 
Aula02
Aula02Aula02
Aula02
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação
 
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturado
 
Cap03
Cap03Cap03
Cap03
 
Cap03
Cap03Cap03
Cap03
 
Cap03
Cap03Cap03
Cap03
 
53392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-200953392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-2009
 
Apostila de algoritimos
Apostila de algoritimosApostila de algoritimos
Apostila de algoritimos
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
 
Lógica de programação 2
Lógica de programação 2Lógica de programação 2
Lógica de programação 2
 

Mais de Sandro Lopes

História da internet
História da internetHistória da internet
História da internetSandro Lopes
 
Ficha exercícios de Agoritimia
Ficha exercícios de AgoritimiaFicha exercícios de Agoritimia
Ficha exercícios de AgoritimiaSandro Lopes
 
Aula teorica (Project 2013)
Aula teorica (Project 2013)Aula teorica (Project 2013)
Aula teorica (Project 2013)Sandro Lopes
 
Linguagem de programação
Linguagem de programaçãoLinguagem de programação
Linguagem de programaçãoSandro Lopes
 
Arquitectura de memória
Arquitectura de memóriaArquitectura de memória
Arquitectura de memóriaSandro Lopes
 
En evaluation license
En   evaluation licenseEn   evaluation license
En evaluation licenseSandro Lopes
 
arquivo (trabalho de grupo)
 arquivo (trabalho de grupo)    arquivo (trabalho de grupo)
arquivo (trabalho de grupo) Sandro Lopes
 
Importância da qualidade no atendimento ao público
Importância da qualidade no atendimento ao públicoImportância da qualidade no atendimento ao público
Importância da qualidade no atendimento ao públicoSandro Lopes
 
Web site design & multimedia
Web site design & multimediaWeb site design & multimedia
Web site design & multimediaSandro Lopes
 
Design e multimedia
Design  e multimediaDesign  e multimedia
Design e multimediaSandro Lopes
 

Mais de Sandro Lopes (14)

História da internet
História da internetHistória da internet
História da internet
 
HTML introdução
HTML  introduçãoHTML  introdução
HTML introdução
 
Apostila Autocad
Apostila AutocadApostila Autocad
Apostila Autocad
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Software
SoftwareSoftware
Software
 
Ficha exercícios de Agoritimia
Ficha exercícios de AgoritimiaFicha exercícios de Agoritimia
Ficha exercícios de Agoritimia
 
Aula teorica (Project 2013)
Aula teorica (Project 2013)Aula teorica (Project 2013)
Aula teorica (Project 2013)
 
Linguagem de programação
Linguagem de programaçãoLinguagem de programação
Linguagem de programação
 
Arquitectura de memória
Arquitectura de memóriaArquitectura de memória
Arquitectura de memória
 
En evaluation license
En   evaluation licenseEn   evaluation license
En evaluation license
 
arquivo (trabalho de grupo)
 arquivo (trabalho de grupo)    arquivo (trabalho de grupo)
arquivo (trabalho de grupo)
 
Importância da qualidade no atendimento ao público
Importância da qualidade no atendimento ao públicoImportância da qualidade no atendimento ao público
Importância da qualidade no atendimento ao público
 
Web site design & multimedia
Web site design & multimediaWeb site design & multimedia
Web site design & multimedia
 
Design e multimedia
Design  e multimediaDesign  e multimedia
Design e multimedia
 

Algoritmia (Conceitos)

  • 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