SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Aula 03Aula 03
AlgoritmosAlgoritmos
Programação de Computadores IProgramação de Computadores I
BCC 701BCC 701
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
LÓGICA DE PROGRAMAÇÃO: é a técnica de
encadear pensamentos para atingir determinado
objetivo; técnica necessária para o
desenvolvimento de sistemas e programas.
ALGORITMO: é uma sequencia de passos finitos
com o objetivo de solucionar o problema.
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
“Um conjunto finito de regras que provê uma
seqüência de operações para resolver um tipo de
problema específico” - [Knuth]
“Seqüência ordenada, e não ambÍgua, de passos
que levam à solução de um dado problema” -
[Tremblay]
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
DEFINIÇÃO DE ALGORITMO
♦ Diante de um problema, busca-se a solução!
♦ O algoritmo não é a solução de um problema,
pois, se assim fosse, cada problema teria um único
algoritmo;
♦ O algoritmo é um conjunto de passos (ações)
que levam à solução de um determinado problema,
ou então, é um caminho para a solução de um
problema.
♦ Os caminhos podem ser muitos!
♦ Objetivo deste estudo: possibilitar ao aluno, a
partir das soluções apresentadas, construir sua
própria lógica de programação.
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
POR QUE ESTUDAR ALGORITMOS?
♦ Ligação de um telefone público
Problema: falar com alguém pelo telefone.
1) retirar o telefone do gancho
2) esperar o sinal
3) colocar o cartão
4) discar o número
5) falar no telefone
6) colocar o telefone no gancho
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
EXEMPLOS DE ALGORITMOS COTIDIANOS
♦ Algoritmo para levar um leão, uma cabra e um pé
de alface, de um lado para outro de um rio,
atravessando com um bote. Sabe-se que nunca o
leão pode ficar sozinho com a cabra e nem a cabra
sozinha com o alface.
1) levar a alface e o leão
2) voltar com o leão
3) deixar o leão
4) levar a cabra
5) deixar a cabra
6) voltar com o alface
7) levar o leão e o alface
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
EXEMPLOS DE ALGORITMOS COTIDIANOS
♦ Algoritmo para fazer uma prova
1) ler a prova;
2) pegar a caneta;
3) enquanto ( (houver questão em branco) e
(tempo não terminou) ) faça
se (souber a questão)
resolvê-la;
senão
pular para a outra;
fim-enquanto;
4) entregar a prova.
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
EXEMPLOS DE ALGORITMOS COTIDIANOS
Fazer um algoritmo para levar 3 missionários e 3
canibais de um lado para outro de um rio,
atravessando com um bote. Sabe-se que nunca
pode ter mais missionários do que canibais,
porque senão os missionários catequizam os
canibais. O que fazer para levar os 6 de uma
margem para a outra?
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
D E S A F I O
♦ Cada linha do algoritmo (passo) é uma instrução
finita e compreensível para que a executa;
♦ INSTRUÇÃO: indica a um computador uma ação
elementar a ser executada;
♦ Ao formularmos um algoritmo, temos de ter
clareza a respeito do aspecto estático dessa
seqüência de ações escritas num pedaço de papel.
O aspecto dinâmico só se evidencia ao
executamos essa seqüência no computador e daí,
poderemos ter certeza se conseguimos ou não
resolver o problema.
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
ALGORITMOS ...
♦PROGRAMA DE COMPUTADOR: é um algoritmo
escrito em uma linguagem de programação
qualquer (C, Pascal, Eiffel, Java, etc.). É a tradução
da linguagem do algoritmo para a linguagem de
programação.
♦ O mais importante de um programa é a sua
lógica, raciocínio utilizado para resolver o
problema que é exatamente o algoritmo.
PROGRAMA =
ALGORITMO + LINGUAGEM DE PROGRAMAÇÃO
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
ALGORITMO – PROGRAMA DE COMPUTADOR
Algoritmo
1) retire uma moeda do bolso;
2) coloque a moeda sobre a mesa;
3) volte ao passo 1;
Problema: e quando não houver mais moedas no
bolso?
O algoritmo não sabe o que fazer...
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
O PROBLEMA DA AMBIGUIDADE
♦ Ter um início e fim claros;
♦ Não dar margem a interpretações duplas
(ambiguidade);
♦ ter zero ou mais informações de entrada;
♦ ter uma ou mais informações de saída;
♦ ter passos claros e bem definidos.
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
CARACTERÍSTICAS DE UM ALGORITMO
♦ Para representar-se os algoritmos requer-se
alguma forma de linguagem;
♦ Algumas formas de representação:
♦ descrição narrativa;
♦ fluxograma;
♦ Pseudocódigo: português estruturado ou
portugol.
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
REPRESENTAÇÃO DE ALGORITMOS
♦ Os algoritmos são expressos diretamente em
linguagem natural (Português).
♦ Exemplo: Cálculo da média de um aluno
1) Obter as notas da primeira e da segunda prova;
2) Calcular a média aritmética entre as duas notas;
3) Se a média for maior ou igual a 6.0, o aluno foi
aprovado, senão ele foi reprovado.
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
Descrição Narrativa
VANTAGEM
♦ O português é bastante conhecido por nós.
DESVANTAGEM
♦ Imprecisão e Extensão, isto é, escreve-se muito
para dizer pouca coisa.
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
Descrição Narrativa
Utilização de símbolos gráficos padronizados para
representar os algoritmos.
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
FLUXOGRAMA
Cálculo da média
de um aluno.
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
FLUXOGRAMA
VANTAGENS
♦ Uma das ferramentas mais conhecidas;
♦ Figuras dizem mais que palavras;
♦ Padrão mundial.
DESVANTAGENS
♦ Pouca atenção aos dados, não oferecendo
recursos para descrevê-los e representá-los;
♦ Torna-se complicado a medida que o algoritmo
cresce.
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
FLUXOGRAMA
♦Combina a facilidade da linguagem natural com a
precisão da linguagem de programação.
JOGO DA FORCA
1) escolher a palavra;
2) montar o diagrama do jogo;
3) enquanto ( (houver lacunas vazias) e
(corpo incompleto) ) faça
se (acertar uma letra)
escrever na lacuna correspondente;
senão
desenhar uma parte do corpo na forca;
4) fim
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
PSEUDOCÓDIGO
VANTAGENS
♦ Usa o português como base;
♦ Pode-se definir quais e como os dados vão
estar estruturados;
♦ Passagem quase que imediata do algoritmo
para uma linguagem de programação qualquer.
DESVANTAGENS
♦ Não padronizado
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
PSEUDOCÓDIGO
1) Escreva o algoritmo na forma de descrição
narrativa para fritar um ovo.
2) Escreva os algoritmos utilizando fluxogramas:
a) Obter a soma (S) e o produto (P) de dois valores
(A; B) inseridos por teclado. Imprimir o resultado.
b) Calcular a área (A) de um retângulo. A base (B) e
a altura (H) do retângulo são inseridos por teclado.
Imprimir o resultado.
3) Escrever os pseudocódigos para:
a) Dados 2 valores por teclado mostrá-los em
ordem crecente.
b) Dado um número, responder se ele é positivo ou
negativo
UFOP - ICEB - DECOM
Prof. Marcelo Luiz Silva (Red)
EXERCÍCIOS

Weitere ähnliche Inhalte

Was ist angesagt?

(A03) LabMM3 - Introdução à programação
(A03) LabMM3 - Introdução à programação(A03) LabMM3 - Introdução à programação
(A03) LabMM3 - Introdução à programaçãoCarlos Santos
 
Programando em Elixir
Programando em ElixirProgramando em Elixir
Programando em ElixirAdolfo Neto
 
Programando em Elixir
Programando em ElixirProgramando em Elixir
Programando em ElixirAdolfo Neto
 
LabMM3 - Aula teórica 03
LabMM3 - Aula teórica 03LabMM3 - Aula teórica 03
LabMM3 - Aula teórica 03Carlos Santos
 
Aula2 ambientação a linguagem deprogramação python
Aula2   ambientação a linguagem deprogramação pythonAula2   ambientação a linguagem deprogramação python
Aula2 ambientação a linguagem deprogramação pythonCleyton Fábio
 
Paradigmas de Linguagens de programacao - Aula #2
Paradigmas de Linguagens de programacao - Aula #2Paradigmas de Linguagens de programacao - Aula #2
Paradigmas de Linguagens de programacao - Aula #2Ismar Silveira
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAislan Rafael
 
Paradigmas de Linguagens de Programação - Tipos primitivos e compostos
Paradigmas de Linguagens de Programação - Tipos primitivos e compostosParadigmas de Linguagens de Programação - Tipos primitivos e compostos
Paradigmas de Linguagens de Programação - Tipos primitivos e compostosAdriano Teixeira de Souza
 
Criptografia com bloco de correção de erros aplicados à evolução autômatos
Criptografia com bloco de correção de erros aplicados à evolução autômatosCriptografia com bloco de correção de erros aplicados à evolução autômatos
Criptografia com bloco de correção de erros aplicados à evolução autômatosAnderson Chaves
 
Sábado Hackadêmico - JavaScript
Sábado Hackadêmico - JavaScriptSábado Hackadêmico - JavaScript
Sábado Hackadêmico - JavaScriptJulio Greff
 
Introdução a Linguagem de Programação Python
Introdução a Linguagem de Programação PythonIntrodução a Linguagem de Programação Python
Introdução a Linguagem de Programação PythonFlávio Ribeiro
 
E:\Plp 2009 2\Plp Aula11
E:\Plp 2009 2\Plp Aula11E:\Plp 2009 2\Plp Aula11
E:\Plp 2009 2\Plp Aula11Ismar Silveira
 
Exemplo do software educativo - PGTIAE
Exemplo do software educativo - PGTIAEExemplo do software educativo - PGTIAE
Exemplo do software educativo - PGTIAEDiego Leal
 

Was ist angesagt? (17)

(A03) LabMM3 - Introdução à programação
(A03) LabMM3 - Introdução à programação(A03) LabMM3 - Introdução à programação
(A03) LabMM3 - Introdução à programação
 
Programando em Elixir
Programando em ElixirProgramando em Elixir
Programando em Elixir
 
Programando em Elixir
Programando em ElixirProgramando em Elixir
Programando em Elixir
 
Slide
SlideSlide
Slide
 
Aula 11 - Começando a programar: Condicionais
Aula 11 - Começando a programar: CondicionaisAula 11 - Começando a programar: Condicionais
Aula 11 - Começando a programar: Condicionais
 
LabMM3 - Aula teórica 03
LabMM3 - Aula teórica 03LabMM3 - Aula teórica 03
LabMM3 - Aula teórica 03
 
Aula2 ambientação a linguagem deprogramação python
Aula2   ambientação a linguagem deprogramação pythonAula2   ambientação a linguagem deprogramação python
Aula2 ambientação a linguagem deprogramação python
 
Paradigmas de Linguagens de programacao - Aula #2
Paradigmas de Linguagens de programacao - Aula #2Paradigmas de Linguagens de programacao - Aula #2
Paradigmas de Linguagens de programacao - Aula #2
 
Aula 4 - Introducão a algoritmos
Aula 4 - Introducão a algoritmosAula 4 - Introducão a algoritmos
Aula 4 - Introducão a algoritmos
 
Descrição do Projeto 8 puzzle
Descrição do Projeto 8 puzzleDescrição do Projeto 8 puzzle
Descrição do Projeto 8 puzzle
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e Programação
 
Paradigmas de Linguagens de Programação - Tipos primitivos e compostos
Paradigmas de Linguagens de Programação - Tipos primitivos e compostosParadigmas de Linguagens de Programação - Tipos primitivos e compostos
Paradigmas de Linguagens de Programação - Tipos primitivos e compostos
 
Criptografia com bloco de correção de erros aplicados à evolução autômatos
Criptografia com bloco de correção de erros aplicados à evolução autômatosCriptografia com bloco de correção de erros aplicados à evolução autômatos
Criptografia com bloco de correção de erros aplicados à evolução autômatos
 
Sábado Hackadêmico - JavaScript
Sábado Hackadêmico - JavaScriptSábado Hackadêmico - JavaScript
Sábado Hackadêmico - JavaScript
 
Introdução a Linguagem de Programação Python
Introdução a Linguagem de Programação PythonIntrodução a Linguagem de Programação Python
Introdução a Linguagem de Programação Python
 
E:\Plp 2009 2\Plp Aula11
E:\Plp 2009 2\Plp Aula11E:\Plp 2009 2\Plp Aula11
E:\Plp 2009 2\Plp Aula11
 
Exemplo do software educativo - PGTIAE
Exemplo do software educativo - PGTIAEExemplo do software educativo - PGTIAE
Exemplo do software educativo - PGTIAE
 

Ähnlich wie Algoritmos e Lógica de Programação

2 - Algoritmos e Estruturas de Dados - Algoritmo.pptx
2 - Algoritmos e Estruturas de Dados - Algoritmo.pptx2 - Algoritmos e Estruturas de Dados - Algoritmo.pptx
2 - Algoritmos e Estruturas de Dados - Algoritmo.pptxrapc987
 
Introducao a Lógica de Programação
Introducao a Lógica de ProgramaçãoIntroducao a Lógica de Programação
Introducao a Lógica de ProgramaçãoMarcelo Rodrigues
 
C curso - notas de aula
C   curso - notas de aulaC   curso - notas de aula
C curso - notas de aulaLoAlves21
 
23º GURU-SP - Entenda LISP em 15 minutos
23º GURU-SP - Entenda LISP em 15 minutos23º GURU-SP - Entenda LISP em 15 minutos
23º GURU-SP - Entenda LISP em 15 minutospbalduino
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à ProgramaçãoMario Sergio
 
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOCURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOMicrosoft
 
Aula 04 - Introducao a Algoritmos.pdf
Aula 04 - Introducao a Algoritmos.pdfAula 04 - Introducao a Algoritmos.pdf
Aula 04 - Introducao a Algoritmos.pdfEMERSONMUNIZDECARVAL
 
Além da programação funcional com Elixir e Erlang
Além da programação funcional com Elixir e ErlangAlém da programação funcional com Elixir e Erlang
Além da programação funcional com Elixir e ErlangElaine Naomi
 

Ähnlich wie Algoritmos e Lógica de Programação (20)

2 - Algoritmos e Estruturas de Dados - Algoritmo.pptx
2 - Algoritmos e Estruturas de Dados - Algoritmo.pptx2 - Algoritmos e Estruturas de Dados - Algoritmo.pptx
2 - Algoritmos e Estruturas de Dados - Algoritmo.pptx
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Lógica de programação e algoritmos
Lógica de programação e algoritmosLógica de programação e algoritmos
Lógica de programação e algoritmos
 
122172 1444
122172 1444122172 1444
122172 1444
 
Introducao a Lógica de Programação
Introducao a Lógica de ProgramaçãoIntroducao a Lógica de Programação
Introducao a Lógica de Programação
 
C curso - notas de aula
C   curso - notas de aulaC   curso - notas de aula
C curso - notas de aula
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
 
Algoritimo - Raul
Algoritimo - RaulAlgoritimo - Raul
Algoritimo - Raul
 
23º GURU-SP - Entenda LISP em 15 minutos
23º GURU-SP - Entenda LISP em 15 minutos23º GURU-SP - Entenda LISP em 15 minutos
23º GURU-SP - Entenda LISP em 15 minutos
 
Python for zombies (very basic level)
Python for zombies (very basic level)Python for zombies (very basic level)
Python for zombies (very basic level)
 
Minicurso Ruby
Minicurso RubyMinicurso Ruby
Minicurso Ruby
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 
Forb.cap1
Forb.cap1Forb.cap1
Forb.cap1
 
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOCURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
 
portugol
portugolportugol
portugol
 
122172 1445
122172 1445122172 1445
122172 1445
 
Backtracking
BacktrackingBacktracking
Backtracking
 
Aula 04 - Introducao a Algoritmos.pdf
Aula 04 - Introducao a Algoritmos.pdfAula 04 - Introducao a Algoritmos.pdf
Aula 04 - Introducao a Algoritmos.pdf
 
Aula 1 lpa
Aula 1   lpaAula 1   lpa
Aula 1 lpa
 
Além da programação funcional com Elixir e Erlang
Além da programação funcional com Elixir e ErlangAlém da programação funcional com Elixir e Erlang
Além da programação funcional com Elixir e Erlang
 

Algoritmos e Lógica de Programação

  • 1. Aula 03Aula 03 AlgoritmosAlgoritmos Programação de Computadores IProgramação de Computadores I BCC 701BCC 701 UFOP - ICEB - DECOM Prof. Marcelo Luiz Silva (Red)
  • 2. LÓGICA DE PROGRAMAÇÃO: é a técnica de encadear pensamentos para atingir determinado objetivo; técnica necessária para o desenvolvimento de sistemas e programas. ALGORITMO: é uma sequencia de passos finitos com o objetivo de solucionar o problema. UFOP - ICEB - DECOM Prof. Marcelo Luiz Silva (Red)
  • 3. “Um conjunto finito de regras que provê uma seqüência de operações para resolver um tipo de problema específico” - [Knuth] “Seqüência ordenada, e não ambÍgua, de passos que levam à solução de um dado problema” - [Tremblay] UFOP - ICEB - DECOM Prof. Marcelo Luiz Silva (Red) DEFINIÇÃO DE ALGORITMO
  • 4. ♦ Diante de um problema, busca-se a solução! ♦ O algoritmo não é a solução de um problema, pois, se assim fosse, cada problema teria um único algoritmo; ♦ O algoritmo é um conjunto de passos (ações) que levam à solução de um determinado problema, ou então, é um caminho para a solução de um problema. ♦ Os caminhos podem ser muitos! ♦ Objetivo deste estudo: possibilitar ao aluno, a partir das soluções apresentadas, construir sua própria lógica de programação. UFOP - ICEB - DECOM Prof. Marcelo Luiz Silva (Red) POR QUE ESTUDAR ALGORITMOS?
  • 5. ♦ Ligação de um telefone público Problema: falar com alguém pelo telefone. 1) retirar o telefone do gancho 2) esperar o sinal 3) colocar o cartão 4) discar o número 5) falar no telefone 6) colocar o telefone no gancho UFOP - ICEB - DECOM Prof. Marcelo Luiz Silva (Red) EXEMPLOS DE ALGORITMOS COTIDIANOS
  • 6. ♦ Algoritmo para levar um leão, uma cabra e um pé de alface, de um lado para outro de um rio, atravessando com um bote. Sabe-se que nunca o leão pode ficar sozinho com a cabra e nem a cabra sozinha com o alface. 1) levar a alface e o leão 2) voltar com o leão 3) deixar o leão 4) levar a cabra 5) deixar a cabra 6) voltar com o alface 7) levar o leão e o alface UFOP - ICEB - DECOM Prof. Marcelo Luiz Silva (Red) EXEMPLOS DE ALGORITMOS COTIDIANOS
  • 7. ♦ Algoritmo para fazer uma prova 1) ler a prova; 2) pegar a caneta; 3) enquanto ( (houver questão em branco) e (tempo não terminou) ) faça se (souber a questão) resolvê-la; senão pular para a outra; fim-enquanto; 4) entregar a prova. UFOP - ICEB - DECOM Prof. Marcelo Luiz Silva (Red) EXEMPLOS DE ALGORITMOS COTIDIANOS
  • 8. Fazer um algoritmo para levar 3 missionários e 3 canibais de um lado para outro de um rio, atravessando com um bote. Sabe-se que nunca pode ter mais missionários do que canibais, porque senão os missionários catequizam os canibais. O que fazer para levar os 6 de uma margem para a outra? UFOP - ICEB - DECOM Prof. Marcelo Luiz Silva (Red) D E S A F I O
  • 9. ♦ Cada linha do algoritmo (passo) é uma instrução finita e compreensível para que a executa; ♦ INSTRUÇÃO: indica a um computador uma ação elementar a ser executada; ♦ Ao formularmos um algoritmo, temos de ter clareza a respeito do aspecto estático dessa seqüência de ações escritas num pedaço de papel. O aspecto dinâmico só se evidencia ao executamos essa seqüência no computador e daí, poderemos ter certeza se conseguimos ou não resolver o problema. UFOP - ICEB - DECOM Prof. Marcelo Luiz Silva (Red) ALGORITMOS ...
  • 10. ♦PROGRAMA DE COMPUTADOR: é um algoritmo escrito em uma linguagem de programação qualquer (C, Pascal, Eiffel, Java, etc.). É a tradução da linguagem do algoritmo para a linguagem de programação. ♦ O mais importante de um programa é a sua lógica, raciocínio utilizado para resolver o problema que é exatamente o algoritmo. PROGRAMA = ALGORITMO + LINGUAGEM DE PROGRAMAÇÃO UFOP - ICEB - DECOM Prof. Marcelo Luiz Silva (Red) ALGORITMO – PROGRAMA DE COMPUTADOR
  • 11. Algoritmo 1) retire uma moeda do bolso; 2) coloque a moeda sobre a mesa; 3) volte ao passo 1; Problema: e quando não houver mais moedas no bolso? O algoritmo não sabe o que fazer... UFOP - ICEB - DECOM Prof. Marcelo Luiz Silva (Red) O PROBLEMA DA AMBIGUIDADE
  • 12. ♦ Ter um início e fim claros; ♦ Não dar margem a interpretações duplas (ambiguidade); ♦ ter zero ou mais informações de entrada; ♦ ter uma ou mais informações de saída; ♦ ter passos claros e bem definidos. UFOP - ICEB - DECOM Prof. Marcelo Luiz Silva (Red) CARACTERÍSTICAS DE UM ALGORITMO
  • 13. ♦ Para representar-se os algoritmos requer-se alguma forma de linguagem; ♦ Algumas formas de representação: ♦ descrição narrativa; ♦ fluxograma; ♦ Pseudocódigo: português estruturado ou portugol. UFOP - ICEB - DECOM Prof. Marcelo Luiz Silva (Red) REPRESENTAÇÃO DE ALGORITMOS
  • 14. ♦ Os algoritmos são expressos diretamente em linguagem natural (Português). ♦ Exemplo: Cálculo da média de um aluno 1) Obter as notas da primeira e da segunda prova; 2) Calcular a média aritmética entre as duas notas; 3) Se a média for maior ou igual a 6.0, o aluno foi aprovado, senão ele foi reprovado. UFOP - ICEB - DECOM Prof. Marcelo Luiz Silva (Red) Descrição Narrativa
  • 15. VANTAGEM ♦ O português é bastante conhecido por nós. DESVANTAGEM ♦ Imprecisão e Extensão, isto é, escreve-se muito para dizer pouca coisa. UFOP - ICEB - DECOM Prof. Marcelo Luiz Silva (Red) Descrição Narrativa
  • 16. Utilização de símbolos gráficos padronizados para representar os algoritmos. UFOP - ICEB - DECOM Prof. Marcelo Luiz Silva (Red) FLUXOGRAMA
  • 17. Cálculo da média de um aluno. UFOP - ICEB - DECOM Prof. Marcelo Luiz Silva (Red) FLUXOGRAMA
  • 18. VANTAGENS ♦ Uma das ferramentas mais conhecidas; ♦ Figuras dizem mais que palavras; ♦ Padrão mundial. DESVANTAGENS ♦ Pouca atenção aos dados, não oferecendo recursos para descrevê-los e representá-los; ♦ Torna-se complicado a medida que o algoritmo cresce. UFOP - ICEB - DECOM Prof. Marcelo Luiz Silva (Red) FLUXOGRAMA
  • 19. ♦Combina a facilidade da linguagem natural com a precisão da linguagem de programação. JOGO DA FORCA 1) escolher a palavra; 2) montar o diagrama do jogo; 3) enquanto ( (houver lacunas vazias) e (corpo incompleto) ) faça se (acertar uma letra) escrever na lacuna correspondente; senão desenhar uma parte do corpo na forca; 4) fim UFOP - ICEB - DECOM Prof. Marcelo Luiz Silva (Red) PSEUDOCÓDIGO
  • 20. VANTAGENS ♦ Usa o português como base; ♦ Pode-se definir quais e como os dados vão estar estruturados; ♦ Passagem quase que imediata do algoritmo para uma linguagem de programação qualquer. DESVANTAGENS ♦ Não padronizado UFOP - ICEB - DECOM Prof. Marcelo Luiz Silva (Red) PSEUDOCÓDIGO
  • 21. 1) Escreva o algoritmo na forma de descrição narrativa para fritar um ovo. 2) Escreva os algoritmos utilizando fluxogramas: a) Obter a soma (S) e o produto (P) de dois valores (A; B) inseridos por teclado. Imprimir o resultado. b) Calcular a área (A) de um retângulo. A base (B) e a altura (H) do retângulo são inseridos por teclado. Imprimir o resultado. 3) Escrever os pseudocódigos para: a) Dados 2 valores por teclado mostrá-los em ordem crecente. b) Dado um número, responder se ele é positivo ou negativo UFOP - ICEB - DECOM Prof. Marcelo Luiz Silva (Red) EXERCÍCIOS