Algoritmos Breve Introduo Prtica Representao de algoritmos Algoritmos

  • Slides: 14
Download presentation
Algoritmos Breve Introdução Prática

Algoritmos Breve Introdução Prática

Representação de algoritmos Algoritmos podem ser representados de várias maneiras, seguem algumas das mais

Representação de algoritmos Algoritmos podem ser representados de várias maneiras, seguem algumas das mais utilizadas: • Língua Nativa (Português, por exemplo); • Linguagem de programação; • Linguagem algorítmica ou pseudo-código; • Diagrama de Nassi-Shneiderman ou Chapin; • Fluxograma;

Algoritmo em Língua Nativa Um algoritmo pode ser expresso na própria língua nativa (português).

Algoritmo em Língua Nativa Um algoritmo pode ser expresso na própria língua nativa (português). Esse tipo de expressão lembra uma receita culinária. Vantagens: • Facilidade de compreensão, portanto é uma forma didáctica de ensinar; Desvantagens: • • Pode levar a ambiguidade; Não há rigor, portanto um algoritmo pode ser resumido ou detalhado demais;

Algoritmo em Língua Portuguesa INÍCIO 1. Tirar o telefone do gancho; 2. Esperar até

Algoritmo em Língua Portuguesa INÍCIO 1. Tirar o telefone do gancho; 2. Esperar até ouvir o sinal de linha; 3. Teclar o número desejado; 4. Se der o sinal de chamar: 4. 1. Conversar; 4. 2. Desligar; 5. Se não der o sinal de chamar: 5. 1. Desligar; 5. 2. Repetir desde o passo 1 FIM

Linguagem de programação A linguagem de programação é uma representação prática de um algoritmo,

Linguagem de programação A linguagem de programação é uma representação prática de um algoritmo, é o objectivo final do algoritmo. Vantagem: • permite testar efectivamente se o algoritmo está realmente correcto ou não, por meio da execução do programa. Desvantagem: • • pode ser detalhada demais para alguns casos, dificultando seu entendimento; o entendimento do algoritmo só é compreendido por aqueles que conhecem a sintaxe da linguagem;

Linguagem de programação Este é um código-fonte escrito em linguagem de programação java que

Linguagem de programação Este é um código-fonte escrito em linguagem de programação java que implementa um algoritmo de divisão de dois números inteiros. // algoritmo para dividir dois inteiros // execute-a assim: java Divide <num 1> <num 2> public class Divide { public static void main(String[] args) { // converte o primeiro número int n 1 = Integer. parse. Int(args[0]); // converte o segundo número int n 2 = Integer. parse. Int(args[1]); // testa se o segundo é zero if (n 2 == 0) System. out. println("a divisão por zero não é permitida"); Else System. out. println("a divisão é: "+(n 1/n 2)); } }

Linguagem algorítmica É uma linguagem que se assemelha a uma linguagem de programação real,

Linguagem algorítmica É uma linguagem que se assemelha a uma linguagem de programação real, por isso é chamada também de pseudo-código. Geralmente é adaptada à língua nativa, português por exemplo é uma delas e por isso alguns a chamam de "Portugol" - ou seja, uma linguagem em língua portuguesa. Esta é a representação algorítmica mais utilizada no estudo de algoritmos. Vantagens: • • • Facilidade de compreensão, comparando-a com as linguagens de programação; Não é ambígua como uma língua; Não é rigorosa como uma linguagem de programação, facilitando a aprendizagem – focando a lógica e não sintaxe; Desvantagem: • Não existe um padrão de pseudo-código ;

Linguagem algorítmica (pseudo-código) Exemplo: {algoritmo para dividir dois inteiros} inicio real: N 1, N

Linguagem algorítmica (pseudo-código) Exemplo: {algoritmo para dividir dois inteiros} inicio real: N 1, N 2; leia(N 1); leia(N 2); se (N 2 = 0) entao escreva("A divisão por zero não é permitida"); senao inicio DIVISAO <- N 1/N 2; escreva("A divisão é: ", DIVISAO);

Diagrama de Nassi-Shneiderman ou Chapin É um diagrama gráfico onde cada sequência é representada

Diagrama de Nassi-Shneiderman ou Chapin É um diagrama gráfico onde cada sequência é representada por um bloco, que se pode subdividir em dois (no caso de uma condição). Vantagem: • Facilidade de compreensão; Desvantagem: • A sua criação e modificação é mais complexa que as anteriores;

Diagrama de Nassi-Shneiderman ou Chapin

Diagrama de Nassi-Shneiderman ou Chapin

Fluxograma é uma forma de representação algorítmica onde se utilizam blocos de processamento e

Fluxograma é uma forma de representação algorítmica onde se utilizam blocos de processamento e de decisão, com setas apontando a associação entre eles. Vantagens: • É razoavelmente padronizado; • Facilita a compreensão gráfica do problema; Desvantagem: • A sua edição e manutenção é mais complexa que as representações textuais;

Fluxograma

Fluxograma

Símbolos Gerais Terminal: Início e Fim Processo: Execução de Operações Entrada e Saída de

Símbolos Gerais Terminal: Início e Fim Processo: Execução de Operações Entrada e Saída de Dados Decisão Preparação Conexão de Página Subrotina

Mais Símbolos Ecrã Documento Multi-documento Processo Alternativo Operação Manual Introdução Manual Disco (Armazenamento) Armazenamento

Mais Símbolos Ecrã Documento Multi-documento Processo Alternativo Operação Manual Introdução Manual Disco (Armazenamento) Armazenamento Interno