Você está na página 1de 27

ESTADO DE MATO GROSSO

SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA


UNIVERSIDADE DO ESTADO DE MATO GROSSO
CAMPUS UNIVERSITÁRIO DE SINOP
FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS

Algoritmos e Programação

Prof. Dr. Érico Fernando O. Martins


profericomartins@unemat.br
Algoritmos e Programação
Prof. Dr. Érico Fernando O. Martins

Algoritmos
Algoritmos e Programação
Prof. Dr. Érico Fernando O. Martins

• DEFINIÇÃO DE ALGORÍTIMO

Algoritmo será tratado como uma sequência finita, ordenada e não ambígua
de passos para solucionar determinado problema ou realizar uma tarefa.
Algoritmos e Programação
Prof. Dr. Érico Fernando O. Martins

ALGORITMO PARA FRITAR UM OVO


1. Retire o ovo da geladeira.
2. Coloque a frigideira no fogo.
3. Coloque óleo na frigideira.
4. Quebre ovo, separando a casca.
5. Ponha a clara e a gema na frigideira.
6. Espere um minuto.
7. Apague o fogo.
8. Retire o ovo da frigideira.
Algoritmos e Programação
Prof. Dr. Érico Fernando O. Martins
• Todo algoritmo, seja ele computacional ou não, recebe uma entrada,
processa-a e gera uma saída segundo seu conjunto de passos.
• Estrutura básica:
• Entradas: Deve possuir zero ou mais entradas. Estas são insumos ou
quantidades que são processados pelos algoritmos durante a execução de
seus passos.
• Processamento: ações sobre os dados (variáveis e/ou constantes).
• Saídas: Deve possuir uma ou mais saídas. Elas representam o resultado do
trabalhado realizado pelos algoritmos
Algoritmos e Programação
Prof. Dr. Érico Fernando O. Martins

Formas de Representação dos Algoritmos


Algoritmos e Programação
Prof. Dr. Érico Fernando O. Martins

As formas mais comumente utilizadas para representar algoritmos :

• Descrição narrativa / Linguagem Natural

• Diagrama de Bloco / Fluxograma

• Linguagem Algorítmica / Pseudocódigo / Pseudolinguagem


Algoritmos e Programação
Prof. Dr. Érico Fernando O. Martins
Descrição Narrativa
Os algoritmos são expressos em linguagem natural (português, inglês,
francês, espanhol, etc).

• Características:
• A linguagem natural está bem distante da linguagem utilizada pelos computadores.
Logo, a tradução de uma para a outra se torna uma atividade bastante dispendiosa.
• Mais propensas a ambiguidades. Muitas vezes uma palavra pode ter vários
significados, dependendo do contexto no qual é utilizada.
• É bem mais fácil elaborar um algoritmo por meio de uma linguagem com a qual já
temos familiaridade.
Algoritmos e Programação
Prof. Dr. Érico Fernando O. Martins
Descrição Narrativa
Suponha que você dispõe de duas
vasilhas de nove e quatro litros
respectivamente. Como elas não
possuem marcação, não é possível ter
medidas intermediárias sobre o volume
ocupado. O problema consiste, então,
em elaborar uma sequência de passos,
por meio da utilização das vasilhas de
nove e quatro litros, a fim de encher
uma terceira vasilha com seis litros de
água sem transbordá-la.
Algoritmos e Programação
Prof. Dr. Érico Fernando O. Martins
ALGORITMO REPRESENTANDO EM DESCRIÇÃO NARRATIVA:
1. Encha a vasilha de nove litros.
2. Usando a vasilha de nove litros, encha a de quatro litros.
3. Coloque a quantidade que sobrou (cinco litros) na terceira vasilha (v3 = 5).
4. Esvazie a vasilha de quatro litros.
5. Encha novamente a vasilha de nove litros.
6. Usando a vasilha de nove litros, encha a de quatro litros.
7. Esvazie a de quatro litros.
8. Usando a sobra da vasilha de nove litros (cinco litros), encha novamente a de
quatro litros.
9. Coloque a sobra da de nove litros (agora um litro) na terceira vasilha
(v3=5+1=6).
Algoritmos e Programação
Prof. Dr. Érico Fernando O. Martins
Diagrama de Bloco / Fluxograma
Utiliza formas geométricas padronizadas para descrever os passos a serem executados pelos algoritmos.
Norma ISO 5807 - 1985 (E) Proposta para Padronização Formal da Representação Gráfica da Linha de Raciocínio
Lógico utilizada no Desenvolvimento da Programação de Computadores

R$ 382,38

http://www.iso.org/iso/catalogue_detail.htm?csnumber=11955
Algoritmos e Programação
Prof. Dr. Érico Fernando O. Martins
Diagrama de Bloco / Fluxograma
• Características:
• Facilidade de compreensão. Descrições de algoritmos mediante formas
gráficas são mais facilmente compreendidas do que descrições que envolvem
apenas textos.
• Possuem um padrão mundial no que se refere à sua simbologia, tornando sua
utilização independente das peculiaridades das linguagens naturais.
• é possível perceber que os fluxogramas tendem a crescer bastante quando
descrevem algoritmos constituídos de muitos passos, o que dificulta tanto sua
construção como sua visualização.
• Há uma limitação no seu poder de expressão, se comparado com a descrição
narrativa (exige abstração).
Algoritmos e Programação
Prof. Dr. Érico Fernando O. Martins
Diagrama de Bloco / Fluxograma
Norma ISO 5807 - 1985 (E)

http://www.cantareira.br/thesis2/ed_1/1_navarro.pdf
Algoritmos e Programação
Prof. Dr. Érico Fernando O. Martins
Diagrama de Bloco / Fluxograma
Norma ISO 5807 - 1985 (E)

http://www.cantareira.br/thesis2/ed_1/1_navarro.pdf
Algoritmos e Programação
Prof. Dr. Érico Fernando O. Martins
Diagrama de Bloco / Fluxograma
Norma ISO 5807 - 1985 (E)

http://www.cantareira.br/thesis2/ed_1/1_navarro.pdf
Algoritmos e Programação
Prof. Dr. Érico Fernando O. Martins
Diagrama de Bloco / Fluxograma
Norma ISO 5807 - 1985 (E)

http://www.cantareira.br/thesis2/ed_1/1_navarro.pdf
Algoritmos e Programação
Prof. Dr. Érico Fernando O. Martins
Diagrama de Bloco / Fluxograma
Norma ISO 5807 - 1985 (E)

http://www.cantareira.br/thesis2/ed_1/1_navarro.pdf
Algoritmos e Programação
Prof. Dr. Érico Fernando O. Martins
Diagrama de Bloco / Fluxograma
Norma ISO 5807 - 1985 (E)

http://www.cantareira.br/thesis2/ed_1/1_navarro.pdf
Algoritmos e Programação
Prof. Dr. Érico Fernando O. Martins
Diagrama de Bloco / Fluxograma
Déjà vu?

Gabaritos para o desenvolvimento de diagramas de blocos. Ferramenta Formas do PowerPoint


Algoritmos e Programação
Prof. Dr. Érico Fernando O. Martins
Diagrama de Bloco / Fluxograma
Saída de Dados
Para as aulas: ou
Saída em documento Saída em Cartões

Processamento
Exibição em tela

Ponto de decisão Início/Fim

Sentido do Fluxo

ou
Entrada de Dados
Entrada manual Entrada genérica
Conector
Algoritmos e Programação
Prof. Dr. Érico Fernando O. Martins
Linguagem Algorítmica / Pseudocódigo / Pseudolinguagem
Consiste no emprego de uma linguagem intermediária entre a
linguagem natural e uma linguagem de programação.
• Características:
• Esse meio termo resulta uma linguagem que se aproxima das construções de
uma linguagem de programação, sem exigir, no entanto, rigidez na definição
das regras para utilização de suas instruções.
• Geralmente, essa forma de representação é derivada de alguma linguagem de
programação;
• Grande facilidade de transcrição para uma linguagem de programação.
Algoritmos e Programação
Prof. Dr. Érico Fernando O. Martins
Linguagem Algorítmica / Pseudocódigo / Pseudolinguagem

Exemplo pseudocódigo em portugol.


Algoritmos e Programação
Prof. Dr. Érico Fernando O. Martins

Obter as três notas das provas do aluno Início

Calcular a média aritmética das três notas


Se a média for maior ou igual a 5, escrever “aprovado” real: nota1,
Caso contrário, escrever “reprovado” nota2, nota3

media  (nota1 + nota2 + nota3)/3.)

inicio
variável real nota1 , nota2 , nota3 , media n
media >= 5
ler nota1 , nota2 , nota3
media <- ( nota1 + nota2 + nota3 ) / 3. s
se ( media >= 5 ) então "Aprovado" "Reprovado"
escrever "aluno aprovado"
senão
escrever "aluno reprovado"
fimse Fim
fim
Algoritmos e Programação
Prof. Dr. Érico Fernando O. Martins
• Faça a interpretação do pseudocódigo:

Fonte: Internet.
Algoritmos e Programação
Prof. Dr. Érico Fernando O. Martins
• Faça a interpretação do pseudocódigo:

Fonte: Internet.
Algoritmos e Programação
Prof. Dr. Érico Fernando O. Martins
• Faça a interpretação do Diagrama de Bloco:

Fonte: Internet.
Algoritmos e Programação
Prof. Dr. Érico Fernando O. Martins
• Faça a interpretação do Diagrama de Bloco(?):

Diagrama de Chapin.

Fonte: Internet.

Você também pode gostar