Desenvolvendo Algoritmos

Click here to load reader

  • date post

    30-Dec-2015
  • Category

    Documents

  • view

    33
  • download

    1

Embed Size (px)

description

Desenvolvendo Algoritmos. Marco Antonio Montebello Júnior [email protected] 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 - PowerPoint PPT Presentation

Transcript of Desenvolvendo Algoritmos

  • Desenvolvendo AlgoritmosMarco Antonio Montebello [email protected] de Lgica

  • AgendaRegras para construo de uma algoritmoTipos de algoritmosTipos de dados e variveisOperadoresAritmticosRelacionaisLgicosEstrutura SeqencialEstruturas de Deciso

  • AlgoritmoO algoritmo deve ser fcil de se interpretar e fcil de codificar.

    Ou seja, ele deve ser o intermedirio entre a linguagem falada e a linguagem de programao.

  • Regras para construo do algoritmoDescrever a seqncia de instrues, de maneira simples e objetiva.Usar somente um verbo por fraseImaginar que voc est desenvolvendo um algoritmo para pessoas que no trabalham com informticaUsar frases curtas e simplesSer objetivoProcurar usar palavras que no tenham sentido dbio

  • FasesPara montar um algoritmo, precisamos primeiro dividir o problema apresentado em trs fases fundamentais:ENTRADA: So os dados de entrada do algoritmoPROCESSAMENTO: So os procedimentos utilizados para chegar ao resultado finalSADA: So os dados j processados

    Entrada

    Processamento

    Sada

  • FasesAnalogia com um homem

  • Tipo: Pseudocdigo Portugus EstruturadoUtiliza linguagem estruturada e se assemelha, na forma, a um programa escrito na linguagem de programao. um tipo de algoritmo que utiliza uma linguagem flexvel, intermediria entre a linguagem natural e a linguagem de programao.Pseudocdigo significa falso cdigo; o nome se deve proximidade que existe entre um algoritmo escrito em pseudocdigo e a maneira pela qual um programa escrito em uma linguagem de programao

  • PseudocdigoTrocar uma lmpada (V1)pegar uma escada;posicionar a escada embaixo da lmpada;buscar uma lmpada nova;subir na escada;retirar lmpada velha;colocar lmpada nova.

  • PseudocdigoTrocar 10 lmpadas SE estiverem queimadasir at o interruptor do primeiro soquete;enquanto a quantidade de soquetes testados for menor que 10, faaacionar o interruptor;se a lmpada no acender, entopegar uma escada;posicionar a escada embaixo da lmpada;buscar uma lmpada nova;acionar o interruptor;subir na escada;retirar lmpada queimada;colocar lmpada nova;enquanto a lmpada no acender, faaretirar lmpada queimada;colocar lmpada nova;ir at o interruptor do prximo soquete;

  • Tipo: Descrio NarrativaUtiliza linguagem natural para especificar os passos para a realizao das tarefas.

    No muito utilizada

  • Tipo: FluxogramaUtiliza-se de figuras geomtricas para ilustrar os passos a serem seguidos na resoluo dos problemas.

    Diagrama de Blocos. bastante utilizado

  • Fluxograma - SimbologiaCada instruo ou ao a ser executada deve ser representada por meio de um smbolo grfico.Terminal: representa o incio e o final do fluxograma.Processamento: representa a execuo de operaes ou aes.Teclado: representa a entrada de dados para as variveis por meio do teclado.Vdeo: representa a sada de informaes por meio do monitor de vdeo.Deciso: representa uma ao lgica que resultar na escolha de uma das seqncias de instrues.Preparao: representa uma ao de preparao para o processamento.

  • Fluxograma - SimbologiaConector: utilizado para interligar partes do fluxograma ou para desviar o fluxo corrente para um determinado trecho do fluxograma.Conector de Pginas: utilizado para interligar partes do fluxograma em pginas distintas.Seta de orientao do fluxo.

  • Fluxogramaincioir para o primeiro soquetesoquetesrestantes < 10acionar o interruptorpegar uma escadaposicionar escadabuscar lmpada novaacionar o interruptornoacendeu?subir na escadaretirar a lmpada queimadacolocar lmpada novaacionar o interruptornoacendeu?retirar a lmpada queimadacolocar lmpada novair ao prximo soquetefimFFFVVV

  • Tipo: Diagrama de ChapinConhecido tambm como diagrama de Shneiderman ou diagrama N-S.

    Apresenta a soluo do problema por meio de um diagrama de quadros com uma viso hierrquica e estruturada

  • Diagrama de Chapin

    Plan1

    ir para o primeiro soquete

    soquetes testados < 10

    acionar o interruptor

    lmpada no acendeu

    pegar uma escada

    colocar a escada embaixo do soquete

    buscar lmpada nova

    acionar o interruptor

    subir na escada

    retirar lmpada queimada

    colocar lmpada nova

    lmpada no acendeu

    retirar lmpada queimada

    colocar lmpada nova

    ir para o prximo soquete

    Plan2

    Plan3

  • Formas de RepresentaoGrficas (Fluxograma e Chapin)VantagensMaior clareza no fluxo de execuoLinguagem visualDesvantagensRequer conhecimento de convenes grficasMais trabalhoso em decorrncia de seus desenhosDificuldade para fazer correesTextuais (Portugus Estruturado)Apresenta mais vantagens, desde que se tomem alguns cuidados:Riqueza gramatical de nossa lngua pode levar a ambigidadesA frase O pregador foi grampeado durante o conserto tem 8 sentidos diferentes quando pronunciadaPara resolver, utilizaremos um conjunto restrito de regras, conhecido como Portugus Estruturado

  • Tipos de dados e variveisTipos PrimitivosSo os tipos bsicos de informao dos algoritmosInteiro: informao pertencente ao conjunto dos nmeros inteiros relativos (positiva ou negativa).Real: informao pertencente ao conjunto dos nmeros reais.Caractere: informao alfanumrica (caracteres alfabticos, numricos e especiais)Lgico: informao biestvel (admite apenas 2 valores: verdadeiro ou falso)

  • Tipos de dados e variveisConstantesSo valores que no sofrem nenhuma variao no decorrer do tempo

    So exemplos de constantes: Valor de PI;Velocidade da luz;5;No fume.

  • Tipos de dados e variveisVariveisSo valores que podem sofrer alterao no decorrer do tempo. Exemplo: Cotao do dlar;Peso de uma pessoa;Preo da gasolina.

    So como gavetas que podem receber diversos tipos de objetos

  • Tipos de dados e variveisVariveisIdentificadores: So os nomes escolhidos para as informaes variveis.Deve iniciar por caractere alfabtico;Pode ser seguido por mais caracteres alfabticos ou numricos;No devem ser usados caracteres especiais.Declarao: Processo de reservar e etiquetar gavetas;S podem armazenar valores de um mesmo tipo, de maneira que tambm so classificadas como sendo numricos, lgicos e literais.

  • Operadores AritmticosUtilizados para a realizao de clculos matemticos

  • Operadores RelacionaisUtilizados para a estabelecer relao de comparao entre valores

  • Operadores RelacionaisA = 5B = 3

  • Operadores LgicosUtilizados para a efetuar avaliaes lgicas entre valores

  • Operadores LgicosTabela VerdadeConjunto de todas as possibilidades de cada operador lgico.

  • Estrutura SeqencialO fluxo de controle segue a mesma seqncia linear da nossa escrita, ou seja:De cima para baixo;Da esquerda para direita

    Cada ao seguida de um ;Objetiva separar uma ao da outraIndica que a prxima ao da seqncia deve ser executada

  • Estrutura SeqencialAlgoritmo Mdia Aritmtica

    incio// declarao de variveisreal:N1, N2, N3, N4, // notas bimestraisMA; // mdia anual// entrada de dadosleia (N1, N2, N3, N4);// processamentoMA (N1 + N2 + N3 + N4) / 4;// sada de dadosescreva (MA);fim

  • Estruturas de DecisoSo aquelas que permitem alterar o fluxo de execuo, de forma a selecionar qual parte deve ser executadaEssa deciso de execuo tomada a partir de uma condio, que pode resultar apenas em verdadeiro ou falsoUma condio representada por expresses relacionais ou lgicasAs estruturas de seleo podem ser classificadas em simples, compostas ou encadeadas.

  • Estruturas de Deciso

  • Estruturas de DecisoSimplesQuando a for verdadeira o bloco verdadeiro executado.Quando a for falsa o bloco verdadeiro no executado.

    se entoincio // incio do bloco verdadeirocomando 1;comando 2;...comando n;fim; // fim do bloco verdadeirofim_se;

  • Estruturas de DecisoSimplesAlgoritmo Mdia Aritmtica com Aprovao

    incio// declarao de variveisreal:N1, N2, N3, N4, // notas bimestraisMA; // mdia anual// entrada de dadosleia (N1, N2, N3, N4);// processamentoMA (N1 + N2 + N3 + N4) / 4;// sada de dadosescreva (MA);se (MA >= 7) entoescreva (Aluno Aprovado !);fim_se;fim.

  • Estruturas de DecisoCompostaQuando a for verdadeira o bloco verdadeiro executadoQuando a for falsa o bloco falso executado

    se entoincio // incio do bloco verdadeirocomando 1;comando n;fim; // fim do bloco verdadeirosenoincio // incio do bloco falsocomando 1;comando n;fim; // fim do bloco falsofim_se;

  • Estruturas de DecisoCompostaAlgoritmo Mdia Aritmtica com aprovao e reprovao

    incio// declarao de variveisreal:N1, N2, N3, N4, // notas bimestraisMA; // mdia anualleia (N1, N2, N3, N4);MA (N1 + N2 + N3 + N4) / 4;escreva (MA);se (MA >= 7) entoincioescreva (Aluno Aprovado!); escreva (Parabns!);fim;senoincioescreva (Aluno Reprovado!);escreva (Estude mais!);fim;fim_se;fim.

  • Estruturas de DecisoEncadeada (aninhada)Ocorre quando uma seleo tem como ao uma outra seleoUma seleo encadeada pode ser:Heterognea: Quando no possvel identificar padro de comportamentoHomognea: Quando possvel identificar padro de comportamentose ento se: quando depois de cada ento ocorre outro sese seno se: quando depois de cada seno ocorre outro se

  • Estruturas de Deciso Encadeada HeterogneaAlgoritmo Tipos de Tringulo

    inciointeiro: A, B, C; // tamanho dos ladosleia (A, B, C);se (A

  • Estruturas de Deciso Encadeada Homognease ento se se ento se ento se ento se ento W;fim_se;fim_se; fim_se; fim_se;

    equivalente a:se e e e ento W;fimse;

  • Estruturas de Deciso Encadeada Homognease X=V1 ento C1;fim_se;se X=V2 ento C2;fim_se;se X=V3 ento C3;fim_se;se X=V4 ento C4;fim_se;se seno sese X=V1 ento C1;seno se X=V2 ento C2; seno se X=V3 ento C3; seno se X=V4