Você está na página 1de 26

MODELO DE APRESENTAÇÃO

Autor: Sediangani Sofrimento 1


Área: DET
Sumário 2

 Bibliografia
 Algoritmo
 Definição
 Metodologia para construir algoritmos
 Formas de representação de algoritmos
 Descrição Narrativa
 Fluxograma convencional ou Diagrama de blocos
 Pseudocodigo ou Portugol estruturado

Autor: Sediangani Sofrimento


Ano Académico: 2022/2023
Bibliografia 3

Principal

• SOUSA, MARCOS ANTÓNIO FURLAN de. Algoritmo e logica de programação. São Paulo: Thomson 2005.

• LOUDON, KYLE. Dominando algoritmos com C. Rio de Janeiro: Ciência Moderna, 2000.

• STROUSTRUP, BJARNE. A linguagem de programação C++. 3.ed Porto Alegre: Bookman, 2000.

• LOPES, ANITA E GARCIA, GUTO. Introdução à Programação. Rio de Janeiro, Editora: Campus, 2002.

• BARBOSA, LISBETE MADSEN. Ensino de Algoritmos em Cursos de Computação. Educ, 2001.

• CORMEN, THOMAS H (...[et al.]). Algoritmos: teoria e prática. Rio de Janeiro: Ed. Campus, 2002.

Autor: Sediangani Sofrimento


Ano Académico: 202/2023
Sumário 4

 Introdução
 Algoritmo
 Conceitos
 Metodologia para construir algoritmos
 Formas de representação de algoritmos
 Descrição Narrativa
 Fluxograma convencional ou Diagrama de blocos
 Pseudocodigo ou Portugol estruturado
 VisuAlg como ferramenta de apoio
 Introdução ao VisuAlg
 Compiladores e Interpretadores
 Estrutura de um algoritmo em VisuAlg

Autor: Sediangani Sofrimento


Ano Académico: 2022/2023
Introdução 5

o Na computação, quando temos um problema a ser resolvido devemos

1. Ler atentamente o enunciado do problema até entendê-lo bem

2. Identificar os dados de entrada

3. Identificar as saídas (resultados esperados)

4. Entender o que algoritmo/programa deve fazer, isto é, como transformar as entradas em saídas

5. Identificar se existem valores ou dados intermediários, necessários para transformar entradas em


saídas.

2022/2022

Autor: Sediangani Sofrimento


Ano Académico:
Lógica 6

 Lógica de Programação:

 Técnica de encadear pensamentos para atingir determinado objectivo.

 Sequência Lógica: 1.  2. 3


 Passos executados até se atingir o objectivo ou solução de um problema

 Podem ser descritos como uma sequência de instruções, que devem ser seguidas para se
cumprir uma determinada tarefa

Autor: Sediangani Sofrimento


Ano Académico: 2022/2023
Instrução 7

 Cada um dos passos, cada uma das acções a tomar(obedecendo a sequência


lógica) para ir resolvendo o problema, ou para ir executando a tarefa

 Em informática, é a informação que indica a um computador uma operação


elementar a executar
o Ex.: “soma”. “subtrair”, “comparar se é maior”, etc.

 Uma só instrução não resolve problemas reais

 Executar um conjunto de instruções


 Executar em uma sequência lógica

Autor: Sediangani Sofrimento


Ano Académico: 2022/2023
Exemplo 8

 Instruções para fazer uma omelete:


o “partir ovos”, “bater ovos”, “pôr sal”, “ligar fogão”, “pôr óleo na frigideira”, “pôr
frigideira no fogo”, “fritar ovos batidos”, etc...

 Quanto às instruções isoladas


o Só “quebrar ovos”, ou só “pôr óleo na frigideira”, não são suficientes para cumprir a
tarefa “fazer omelete”

 Quanto à sequência lógica


o Se executarmos “fritar ovos batidos” antes de “bater ovos”, ou pior, antes de “quebrar
ovos”, não iremos cumprir a tarefa “fazer omelete”.

Autor: Sediangani Sofrimento


Ano Académico: 2022/2023
Sumário 9

 Apresentação
 Bibliografia
 Introdução
 Algoritmo
 Conceitos
 Metodologia para construir algoritmos
 Formas de representação de algoritmos
 Descrição Narrativa
 Fluxograma convencional ou Diagrama de blocos
 Pseudocodigo ou Portugol estruturado
 VisuAlg como ferramenta de apoio
 Introdução ao VisuAlg
 Compiladores e Interpretadores
 Estrutura de um algoritmo em VisuAlg

Autor: Sediangani Sofrimento


Ano Académico: 2022/2023
Algoritmo 10

Sequência finita de passos que levam à execução de uma tarefa.

Claro e preciso.

Exemplo: “somar dois números”:


 Escrever primeiro número no rectângulo A
 Escrever segundo número no rectângulo B
 Somar o número do rectângulo A com o número do retângulo B e escrever o
resultado no rectângulo C

Autor: Sediangani Sofrimento


Ano Académico: 2022/2023
Algoritmo 11

Conjunto finito de instruções bem definidas e não ambíguas, que se executadas por
uma determinada sequência resolvem um problema.

Um computador não possui raciocínio  as instruções devem ser rigorosas, detalhadas e
não ambíguas.

Autor: Sediangani Sofrimento


Ano Académico: 2022/2023
Sumário 12

Apresentação
Bibliografia
Introdução
Algoritmo
Conceitos
Metodologia para construir algoritmos
Formas de representação de algoritmos
Descrição Narrativa
Fluxograma convencional ou Diagrama de blocos
Pseudocodigo ou Portugol estruturado
VisuAlg como ferramenta de apoio
Introdução ao VisuAlg
Compiladores e Interpretadores
Estrutura de um algoritmo em VisuAlg

Autor: Sediangani Sofrimento


Ano Académico: 2022/2023
Representação de algoritmos 13

Existem diversas formas de representação

As mais conhecidas são

 Descrição Narrativa

 Fluxograma convencional ou Diagrama de blocos

 Pseudocódigo, também conhecido como Linguagem Estruturada ou Portugol.

Autor: Sediangani Sofrimento


Ano Académico: 2022/2023
Representação de algoritmos – Descrição Narrativa 14

Representação dos algoritmos directamente em linguagem natural

Exemplo: Troca de um pneu furado Exemplo: Receita de bolo

1. Afrouxar ligeiramente as porcas 1. Misturar os ingredientes


2. Suspender o carro 2. Untar a forma com manteiga
3. Retirar as porcas e o pneu 3. Despejar a mistura na forma
4. Colocar o pneu de reserva 4. Se houver coco ralado
5. Apertar as porcas 5. então despejar sobre a mistura
6. Abaixar o carro 6. Levar a forma ao forno
7. Dar o aperto final nas porcas 7. Enquanto não corar
8. Deixar a forma no forno
9. Retirar do forno
10.Deixar esfriar

 Pouco utilizada na prática porque o uso da linguagem natural muitas vezes dá oportunidade a
más interpretações, ambiguidades e imprecisões.

Autor: Sediangani Sofrimento


Ano Académico: 2022/2023
Fluxograma convencional ou diagrama de blocos 15

 Famosa frase:
PERCEBESTE?? OU QUERES QUE TE FAÇA UM DESENHO ??

 É uma representação gráfica de algoritmos onde formas geométricas diferentes implicam


acções (instruções, comandos) distintas.

 Facilita o entendimento das ideias de uma pessoa ou equipa. Por esse motivo é muito popular.

 Intermediária da descrição narrativa e pseudocódigo

 Preocupam-se com detalhes físicos da implementação do algoritmo

Autor: Sediangani Sofrimento


Ano Académico: 2023/2024
Fluxograma convencional ou diagrama de blocos 16

Início e final do fluxograma Início

Operação de entrada de dados N1, N2

Operação de saída de dados


Média  (N1 + N2) / 2

Média>=10 .V.
Exame
Decisão .F.
Fluxo da informação (dado)
Recurso Fim

Autor: Sediangani Sofrimento


Ano Académico: 2022/2023
Pseudocódigo 17

 O pseudocódigo é uma forma de representar um algoritmo, utilizando uma linguagem simples intermédia
entre a linguagem natural e uma linguagem de programação.

 Utiliza um conjunto restrito de palavras-chave, em geral na língua nativa do programador, equivalentes


as que existem nas linguagens de programação

 É rica em detalhes
Tipos das variáveis

 Assemellha-se à forma como os programas são escritos

 Exemplo de Pseudocódigo
 Portugol (que utiliza o interpretador VisualALG)

Autor: Sediangani Sofrimento


Ano Académico: 2022/2023
Pseudocódigo 18

 Fases para desenvolver o algoritmo:


o Determinar o problema, definí-lo(entendê-lo) bem.
o Dividi-lo nas três fases:

 Exemplo:
 Problema: calcular a média de quatro números
 Dados de entrada: os números N1, N2, N3, N4
 Processamento: somar os quatro números e dividir por 4
 Dado de saída: a média final

Autor: Sediangani Sofrimento


Ano Académico: 2022/2023
Pseudocódigo – Exemplo (Média de 2 Números) 19

Algoritmo “Aprovação”
var
n1, n2, media: real
Inicio
Escreva(“Introduza 2 números: ”)
Leia(n1, n2);
media (n1 + n2) / 2
Se (media >= 10) Entao
Escreva(“Aprovado”)
Senao
Escreva(“Reprovado”)
Fimse
Fimalgoritmo.

Autor: Sediangani Sofrimento


Ano Académico: 2022/2023
Sumário 20

Apresentação
Bibliografia
Introdução
Algoritmo
Conceitos
Metodologia para construir algoritmos
Formas de representação de algoritmos
Descrição Narrativa
Fluxograma convencional ou Diagrama de blocos
Pseudocodigo ou Portugol estruturado
VisuAlg como ferramenta de apoio
Introdução ao VisuAlg
Compiladores e Interpretadores
Estrutura de um algoritmo em VisuAlg

Autor: Sediangani Sofrimento


Ano Académico: 2022/2023
VisuAlg 21

Linguagem interpretada

Versão portuguesa dos pseudocódigos

Permite apenas um comando por linha


Por isso não há necessidade de tokens separadores de estruturas, como ponto e virgula

Todas as palavras-chave (palavras reservadas) do VisuAlg foram implementadas sem acentos,


cedilha.

Exemplo:
o comando se..então..senão é definido como se..entao..senao

Autor: Sediangani Sofrimento


Ano Académico: 2022/2023
Compilador 22

 Um programa que traduz o programa escrito por nós em código fonte (source code) para código
máquina, pronto para ser executado pelo computador;

 Lê todo o programa “source”, Analisa o programa (análise sintática e semântica) e traduz tudo para
linguagem má́quina, introduzindo algumas optimizações;

 Se existirem erros publica uma lista do que encontrou e não produz o executável (Linguagem máquina);

 Só detecta erros de sintaxe e algumas más práticas de programação. Não detecta os erros de lógica, que
são da nossa responsabilidade;

 O código compilado é mais rápido de ser acessado

Autor: Sediangani Sofrimento


Ano Académico: 2022/2023
Compilador 23
Compilação
swap (int v[], int k) {
int temp;
Programa em temp = v[k]; Compilador
linguagem C v[k] = v[k+1];
v[k+1] = temp;
}
...
Programa em add $2, $4,$2
linguagem Assembler
lw $15, 0($2)
Assembly lw $16, 4($2)
...

00000000101000010000000000011000
00000000100011100001100000100001
Programa em 10001100011000100000000000000000
linguagem 10001100111100100000000000000100
máquina 10101100111100100000000000000000
Algoritmo e programa 17

Autor: Sediangani Sofrimento


Ano Académico: 2022/2023
Interpretador 24

 Analise, traduz e executa linha a linha. Os erros de sintaxe referem-se apenas à linha que está a ser executada;

 A execução é mais lenta, pois inclui a análise e a geração de código;

 Correções e alterações são mais rápidas de serem realizadas

 Consomem menos memória

 Necessita sempre ser lido o código original para ser executado

Autor: Sediangani Sofrimento


Ano Académico: 2022/2023
Dúvidas 25

Autor: Sediangani Sofrimento


Ano Académico: 2022/2023
ATÉ A PRÓXIMA AULA!

26
Volenti Nihil Difficili -“A quem quer, nada é difícil”

Você também pode gostar