A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Desenvolvendo Algoritmos

Apresentações semelhantes


Apresentação em tema: "Desenvolvendo Algoritmos"— Transcrição da apresentação:

1 Desenvolvendo Algoritmos
Fundamentos de Lógica Marco Antonio Montebello Júnior

2 Agenda Regras para construção de uma algoritmo Tipos de algoritmos
Tipos de dados e variáveis Operadores Aritméticos Relacionais Lógicos Estrutura Seqüencial Estruturas de Decisão Fundamentos de Lógica

3 Algoritmo O algoritmo deve ser fácil de se interpretar e fácil de codificar. Ou seja, ele deve ser o intermediário entre a linguagem falada e a linguagem de programação. Fundamentos de Lógica

4 Regras para construção do algoritmo
Descrever a seqüência de instruções, de maneira simples e objetiva. Usar somente um verbo por frase Imaginar que você está desenvolvendo um algoritmo para pessoas que não trabalham com informática Usar frases curtas e simples Ser objetivo Procurar usar palavras que não tenham sentido dúbio Fundamentos de Lógica

5 Fases Para montar um algoritmo, precisamos primeiro dividir o problema apresentado em três fases fundamentais: ENTRADA: São os dados de entrada do algoritmo PROCESSAMENTO: São os procedimentos utilizados para chegar ao resultado final SAÍDA: São os dados já processados Entrada Processamento Saída Fundamentos de Lógica

6 Fases Analogia com um homem
Fundamentos de Lógica

7 Tipo: Pseudocódigo – Português Estruturado
Utiliza linguagem estruturada e se assemelha, na forma, a um programa escrito na linguagem de programação. É um tipo de algoritmo que utiliza uma linguagem flexível, intermediária entre a linguagem natural e a linguagem de programação. “Pseudocódigo” significa “falso código”; o nome se deve à proximidade que existe entre um algoritmo escrito em pseudocódigo e a maneira pela qual um programa é escrito em uma linguagem de programação Fundamentos de Lógica

8 Pseudocódigo Trocar uma lâmpada (V1) pegar uma escada;
posicionar a escada embaixo da lâmpada; buscar uma lâmpada nova; subir na escada; retirar lâmpada velha; colocar lâmpada nova. Fundamentos de Lógica

9 Pseudocódigo Trocar 10 lâmpadas SE estiverem queimadas
ir até o interruptor do primeiro soquete; enquanto a quantidade de soquetes testados for menor que 10, faça acionar o interruptor; se a lâmpada não acender, então pegar uma escada; posicionar a escada embaixo da lâmpada; buscar uma lâmpada nova; subir na escada; retirar lâmpada queimada; colocar lâmpada nova; enquanto a lâmpada não acender, faça ir até o interruptor do próximo soquete; Fundamentos de Lógica

10 Tipo: Descrição Narrativa
Utiliza linguagem natural para especificar os passos para a realização das tarefas. Não é muito utilizada Fundamentos de Lógica

11 Tipo: Fluxograma Utiliza-se de figuras geométricas para ilustrar os passos a serem seguidos na resolução dos problemas. Diagrama de Blocos. É bastante utilizado Fundamentos de Lógica

12 Fluxograma - Simbologia
Cada instrução ou ação a ser executada deve ser representada por meio de um símbolo gráfico. Terminal: representa o início e o final do fluxograma. Vídeo: representa a saída de informações por meio do monitor de vídeo. Decisão: representa uma ação lógica que resultará na escolha de uma das seqüências de instruções. Processamento: representa a execução de operações ou ações. Teclado: representa a entrada de dados para as variáveis por meio do teclado. Preparação: representa uma ação de preparação para o processamento. Fundamentos de Lógica

13 Fluxograma - Simbologia
Conector: utilizado para interligar partes do fluxograma ou para desviar o fluxo corrente para um determinado trecho do fluxograma. Conector de Páginas: utilizado para interligar partes do fluxograma em páginas distintas. Seta de orientação do fluxo. Fundamentos de Lógica

14 Fluxograma início ir para o primeiro soquete posicionar escada F
não acendeu? F soquetes restantes < 10 buscar lâmpada nova F V acionar o interruptor retirar a lâmpada queimada V acionar o interruptor subir na escada colocar lâmpada nova não acendeu? retirar a lâmpada queimada F ir ao próximo soquete colocar lâmpada nova V pegar uma escada acionar o interruptor fim Fundamentos de Lógica

15 Tipo: Diagrama de Chapin
Conhecido também como diagrama de Shneiderman ou diagrama N-S. Apresenta a solução do problema por meio de um diagrama de quadros com uma visão hierárquica e estruturada Fundamentos de Lógica

16 Diagrama de Chapin Fundamentos de Lógica

17 Formas de Representação
Gráficas (Fluxograma e Chapin) Vantagens Maior clareza no fluxo de execução Linguagem visual Desvantagens Requer conhecimento de convenções gráficas Mais trabalhoso em decorrência de seus desenhos Dificuldade para fazer correções Textuais (Português Estruturado) Apresenta mais vantagens, desde que se tomem alguns cuidados: Riqueza gramatical de nossa língua pode levar a ambigüidades A frase “O pregador foi grampeado durante o conserto” tem “8” sentidos diferentes quando pronunciada Para resolver, utilizaremos um conjunto restrito de regras, conhecido como Português Estruturado Fundamentos de Lógica

18 Tipos de dados e variáveis Tipos Primitivos
São os tipos básicos de informação dos algoritmos Inteiro: informação pertencente ao conjunto dos números inteiros relativos (positiva ou negativa). Real: informação pertencente ao conjunto dos números reais. Caractere: informação alfanumérica (caracteres alfabéticos, numéricos e especiais) Lógico: informação biestável (admite apenas 2 valores: verdadeiro ou falso) Fundamentos de Lógica

19 Tipos de dados e variáveis Constantes
São valores que não sofrem nenhuma variação no decorrer do tempo São exemplos de constantes: Valor de PI; Velocidade da luz; 5; “Não fume”. Fundamentos de Lógica

20 Tipos de dados e variáveis Variáveis
São valores que podem sofrer alteração no decorrer do tempo. Exemplo: Cotação do dólar; Peso de uma pessoa; Preço da gasolina. São como gavetas que podem receber diversos tipos de objetos Fundamentos de Lógica

21 Tipos de dados e variáveis Variáveis
Identificadores: São os nomes escolhidos para as informações variáveis. Deve iniciar por caractere alfabético; Pode ser seguido por mais caracteres alfabéticos ou numéricos; Não devem ser usados caracteres especiais. Declaração: Processo de reservar e etiquetar gavetas; Só podem armazenar valores de um mesmo tipo, de maneira que também são classificadas como sendo numéricos, lógicos e literais. Fundamentos de Lógica

22 Operadores Aritméticos
Utilizados para a realização de cálculos matemáticos Operador Função Exemplos + Adição 2 + 3, X + Y - Subtração 4 - 2, N – M * Multiplicação 3 * 4, A * B / Divisão 10 / 2, C / D pot(x,y) Potenciação (x elevado a y) pot(2, 3) rad(x) Raiz quadrada (de x) rad(9) Mod Resto da divisão 9 mod 4 resulta 1 Div Quociente da divisão inteira 9 div 4 resulta 2 Fundamentos de Lógica

23 Operadores Relacionais
Utilizados para a estabelecer relação de comparação entre valores Operador Função Exemplos = Igual a 3 = 3, X = Y > Maior que 5 > 4, X > Y < Menor que 3 < 6, X < Y >= Maior ou igual a 5 >= 3, X >= Y <= Menor ou igual a 3 <= 5, X <= Y <> ou != Diferente de 8 <> 9, X <> Y, 7 != 9 Fundamentos de Lógica

24 Operadores Relacionais
B = 3 Expressão Resultado A = B Falso (F) A <> B Verdadeiro (V) A > B A < B A >= B A <= B Fundamentos de Lógica

25 Operadores Lógicos não (not) ! e (and) && ou (or) ||
Utilizados para a efetuar avaliações lógicas entre valores Operador Função Exemplos não (not) ! Negação: inverte o valor da expressão ou condição, se verdadeira inverte para falsa e vice-versa. não V, não X e (and) && Conjugação: é verdadeira se todas as condições forem verdadeira V e V, X e Y ou (or) || Disjunção: é verdadeira se pelo menos uma condição for verdadeira V ou V, X ou Y Fundamentos de Lógica

26 Operadores Lógicos Tabela Verdade
Conjunto de todas as possibilidades de cada operador lógico. A não A ! A F V A B A e B A && B F V A B A ou B A || B F V Fundamentos de Lógica

27 Estrutura Seqüencial O fluxo de controle segue a mesma seqüência linear da nossa escrita, ou seja: De cima para baixo; Da esquerda para direita Cada ação é seguida de um ; Objetiva separar uma ação da outra Indica que a próxima ação da seqüência deve ser executada Fundamentos de Lógica

28 Estrutura Seqüencial Algoritmo – Média Aritmética início
// declaração de variáveis real: N1, N2, N3, N4, // notas bimestrais MA; // média anual // entrada de dados leia (N1, N2, N3, N4); // processamento MA ← (N1 + N2 + N3 + N4) / 4; // saída de dados escreva (MA); fim Fundamentos de Lógica

29 Estruturas de Decisão São aquelas que permitem alterar o fluxo de execução, de forma a selecionar qual parte deve ser executada Essa “decisão” de execução é tomada a partir de uma condição, que pode resultar apenas em verdadeiro ou falso Uma condição é representada por expressões relacionais ou lógicas As estruturas de seleção podem ser classificadas em simples, compostas ou encadeadas. Fundamentos de Lógica

30 Estruturas de Decisão Fundamentos de Lógica

31 Estruturas de Decisão Simples
Quando a <condição> for verdadeira o “bloco verdadeiro” é executado. Quando a <condição> for falsa o “bloco verdadeiro” não é executado. se <condição> então início // início do bloco verdadeiro comando 1; comando 2; ... comando n; fim; // fim do bloco verdadeiro fim_se; Fundamentos de Lógica

32 Estruturas de Decisão Simples
Algoritmo – Média Aritmética com Aprovação início // declaração de variáveis real: N1, N2, N3, N4, // notas bimestrais MA; // média anual // entrada de dados leia (N1, N2, N3, N4); // processamento MA ← (N1 + N2 + N3 + N4) / 4; // saída de dados escreva (MA); se (MA >= 7) então escreva (“Aluno Aprovado !”); fim_se; fim. Fundamentos de Lógica

33 Estruturas de Decisão Composta
Quando a <condição> for verdadeira o “bloco verdadeiro” é executado Quando a <condição> for falsa o “bloco falso” é executado se <condição> então início // início do bloco verdadeiro comando 1; comando n; fim; // fim do bloco verdadeiro senão início // início do bloco falso fim; // fim do bloco falso fim_se; Fundamentos de Lógica

34 Estruturas de Decisão Composta
Algoritmo – Média Aritmética com aprovação e reprovação início // declaração de variáveis real: N1, N2, N3, N4, // notas bimestrais MA; // média anual leia (N1, N2, N3, N4); MA ← (N1 + N2 + N3 + N4) / 4; escreva (MA); se (MA >= 7) então escreva (“Aluno Aprovado!”); escreva (“Parabéns!”); fim; senão escreva (“Aluno Reprovado!”); escreva (“Estude mais!”); fim_se; fim. Fundamentos de Lógica

35 Estruturas de Decisão Encadeada (aninhada)
Ocorre quando uma seleção tem como ação uma outra seleção Uma seleção encadeada pode ser: Heterogênea: Quando não é possível identificar padrão de comportamento Homogênea: Quando é possível identificar padrão de comportamento se – então – se: quando depois de cada então ocorre outro se se – senão – se: quando depois de cada senão ocorre outro se Fundamentos de Lógica

36 Estruturas de Decisão Encadeada – Heterogênea
Algoritmo – Tipos de Triângulo início inteiro: A, B, C; // tamanho dos lados leia (A, B, C); se (A<B+C) e (B<A+C) e (C<A+B) então se (A=B) e (B=C) então escreva (“Triangulo Equilátero”); senão se (A=B) ou (B=C) ou (A=C) então escreva (“Triângulo Isósceles”); escreva (“Triangulo Escaleno”); fim_se; escreva (“Estes valores não formam um triângulo”); fim. Fundamentos de Lógica

37 Estruturas de Decisão Encadeada – Homogênea
se – então – se se <Cond1> então se <Cond2> então se <Cond3> então se <Cond4> então W; fim_se; É equivalente a: se <Cond1> e <Cond2> e <Cond3> e <Cond4> então W; fimse; Fundamentos de Lógica

38 Estruturas de Decisão Encadeada – Homogênea
se X=V1 então C1; fim_se; se X=V2 então C2; se X=V3 então C3; se X=V4 então C4; se X=V1 então C1; senão se X=V2 então C2; senão se X=V3 então C3; senão se X=V4 então C4; fim_se; se – senão – se X=V1 X=V2 X=V3 X=V4 Ação V F C1 C2 C3 C4 X=V1 X=V2 X=V3 X=V4 Ação V - C1 F C2 C3 C4 Fundamentos de Lógica

39 Estruturas de Decisão Múltipla Escolha
Seleções encadeadas homogêneas se-senão-se são bastante freqüentes para o tratamento de listas de valor Para simplificar a escrita, pode-se utilizar o comando escolha. Adaptando o algoritmo anterior: escolha X caso V1: C1; caso V2: C2; caso V3: C3; caso V4: C4; fim_escolha; Fundamentos de Lógica

40 Estruturas de Decisão Múltipla Escolha
Algoritmo – Múltipla Escolha início real: Preço; inteiro: Origem; leia (Preço, Origem); escolha Origem caso 1: escreva (Preço, “ – produto do Sul”); caso 2: escreva (Preço, “ – produto do Norte”); caso 3: escreva (Preço, “ – produto do Leste”); caso 4: escreva (Preço, “ – produto do Oeste”); caso 7, 8, 9: escreva (Preço, “ – produto do Sudeste”); caso : escreva (Preço, “ – produto do Centro-Oeste”); caso 5, 6, : escreva (Preço, “ – produto do Nordeste”); caso contrário: escreva (Preço, “ – produto importado”); fimescolha; fim. Fundamentos de Lógica


Carregar ppt "Desenvolvendo Algoritmos"

Apresentações semelhantes


Anúncios Google