410 likes | 533 Views
Desenvolvendo Algoritmos. Marco Antonio Montebello Júnior marco.antonio@aes.edu.br. Fundamentos de Lógica. 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
E N D
Desenvolvendo Algoritmos Marco Antonio Montebello Júnior marco.antonio@aes.edu.br Fundamentos de Lógica
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
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
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
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 Saída Entrada Processamento Fundamentos de Lógica
FasesAnalogia com um homem Fundamentos de Lógica
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
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
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; • acionar o interruptor; • subir na escada; • retirar lâmpada queimada; • colocar lâmpada nova; • enquanto a lâmpada não acender, faça • retirar lâmpada queimada; • colocar lâmpada nova; • ir até o interruptor do próximo soquete; Fundamentos de Lógica
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
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
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
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
Fluxograma início ir para o primeiro soquete posicionar escada 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
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
Diagrama de Chapin Fundamentos de Lógica
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
Tipos de dados e variáveisTipos 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
Tipos de dados e variáveisConstantes • 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
Tipos de dados e variáveisVariá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
Tipos de dados e variáveisVariá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
Operadores Aritméticos • Utilizados para a realização de cálculos matemáticos Fundamentos de Lógica
Operadores Relacionais • Utilizados para a estabelecer relação de comparação entre valores Fundamentos de Lógica
Operadores Relacionais • A = 5 • B = 3 Fundamentos de Lógica
Operadores Lógicos • Utilizados para a efetuar avaliações lógicas entre valores Fundamentos de Lógica
Operadores LógicosTabela Verdade • Conjunto de todas as possibilidades de cada operador lógico. Fundamentos de Lógica
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
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
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
Estruturas de Decisão Fundamentos de Lógica
Estruturas de DecisãoSimples • 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
Estruturas de DecisãoSimples • 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
Estruturas de DecisãoComposta • 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 comando 1; comando n; fim; // fim do bloco falso fim_se; Fundamentos de Lógica
Estruturas de DecisãoComposta • 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 início escreva (“Aluno Aprovado!”); escreva (“Parabéns!”); fim; senão início escreva (“Aluno Reprovado!”); escreva (“Estude mais!”); fim; fim_se; fim. Fundamentos de Lógica
Estruturas de DecisãoEncadeada (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
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”); senão escreva (“Triangulo Escaleno”); fim_se; fim_se; senão escreva (“Estes valores não formam um triângulo”); fim_se; fim. Fundamentos de Lógica
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; fim_se; fim_se; fim_se; • É equivalente a: se <Cond1> e <Cond2> e <Cond3> e <Cond4> então W; fimse; Fundamentos de Lógica
Estruturas de Decisão Encadeada – Homogênea se X=V1 então C1; fim_se; se X=V2 então C2; fim_se; se X=V3 então C3; fim_se; se X=V4 então C4; fim_se; 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; fim_se; fim_se; fim_se; se – senão – se Fundamentos de Lógica
Estruturas de DecisãoMú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
Estruturas de DecisãoMú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 10..20: escreva (Preço, “ – produto do Centro-Oeste”); caso 5, 6, 25..50: escreva (Preço, “ – produto do Nordeste”); caso contrário: escreva (Preço, “ – produto importado”); fimescolha; fim. Fundamentos de Lógica