Desenvolvendo Algoritmos
date post
30-Dec-2015Category
Documents
view
33download
1
Embed Size (px)
description
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