Upload
lexsales1238
View
219
Download
0
Embed Size (px)
Citation preview
7/26/2019 Aula03 Alg
1/14
Universidade Federal do Amap
Curso de Engenharia Eltrica
Algoritmos e Programao
Unidade 3 Construo deAlgoritmos
7/26/2019 Aula03 Alg
2/14
Algoritmo e Programao Constr. de Algoritmos
Objetivos
Conforme se verificou, com todos os conceitosapresentados at o momento, a construo de umalgoritmo parte sempre de um determinado problema. Amontagem da soluo depende da prtica e da criatividadedo programador ue podem ser conseguidas e!ercitandoesses conceitos. "endo assim, os principais ob#etivos dessaunidade consistem em$ %ormali&ar um mtodo para verificao manual do
comportamento do algoritmo'
(ostrar ue se pode dividir problemas maiores emsubproblemas, facilitando a construo de solu)es'
Praticar a construo de algoritmos simples em portugu*sestruturado
7/26/2019 Aula03 Alg
3/14
Algoritmo e Programao Constr. de Algoritmos
Roteiro para Construo de Algoritmos
Um roteiro bsico para a construo de uma algoritmo inclui asseguites etapas$
+m primeiro lugar deveseEntender o Problema'
-dentificar no problema as sadas do algoritmo, pois so nelas aonde seuer c/egar. Atente para o ue deve ser calculado, impresso e processado'
-dentifiue no problemas as entradas do algoritmo, isto , uais dados amuina necessita para reali&ar os clculo corretos'
Atente para o processamento em si. -dentifiue uais clculos sonecessrios sempre a partir dos valores de entrada para c/egar aos desada'
0ente separa, na medida do possvel as etapas de entrada, processamentoe sada dentro do algoritmo'
Coloue os comandos seguindo a estrutura bsica do algoritmo. 1embreseua a muina ir e!ecutar e!atamente na seu*ncia definida peloprogramador.
7/26/2019 Aula03 Alg
4/14
Algoritmo e Programao Constr. de Algoritmos
Verificao manual de algoritmos
Uma forma de se verificar se o algoritmoest reali&ando o processamentocorretamente, consiste no teste de mesa2ou mtodo chins'
+ssa metodologia uma forma de simularmanualmente a e!ecuo do algoritmo,comando ap4s comando, atentando para
as entradas e sadas de dados,acompan/ando principalmente ocomportamento das variveis ue foramutili&adas no programa.
7/26/2019 Aula03 Alg
5/14
Algoritmo e Programao Constr. de Algoritmos
Verificao manual de algoritmos
+!emplo5$ 6eali&ar o teste de mesa para o algoritmo uecalcula a mdia aritmtica de dois n7meros.
// Algoritmo para calcular a media de dois nmeros
// Autor: Rogrio Almeida - Verso 1.0Variveis
num1, num2, soma, media:real;
Incio
lernum1;
lernum2;
soma num1!num2; media soma/2;
escrever "A mdia dos dois nmeros :#, media;
Fim.
7/26/2019 Aula03 Alg
6/14
Algoritmo e Programao Constr. de Algoritmos
Verificao manual de algoritmos
-niciase anotando as variveis do algoritmo, e ao lado decada uma o respectivo valor nela arma&enado. 8u se#a,supon/amos ue os valores de entrada arma&enados nasvariveis seguindo a seu*ncia de e!ecuo do programa
so$51eitura$ num5 391eitura$ num9 :
;a seu*ncia o computador calcula a soma dos n7merossoma ? A mdia dos dois n7meros $ =
7/26/2019 Aula03 Alg
7/14
Algoritmo e Programao Constr. de Algoritmos
Verificao manual de algoritmos
0ente fa&er$ %aa um algoritmo ueleia o preo de um determinado parde sapatos numa lo#a, e escrev*locom um desconto de !@.
+m seguida verifiue se oprocessamento do algoritmo est
correto reali&ando o teste de mesa.
7/26/2019 Aula03 Alg
8/14
Algoritmo e Programao Constr. de Algoritmos
Impresses Complementares
8 comando de sada alm de e!ibir resultados processados pelocomputador, pode tambm ser utili&ado para e!ibir mensagensinformativas para o usurio, a#udando ele a entender mel/or oue a muina est solicitando e calculando'
C/amamos estas mensagens informativas de impress)escomplementares, por no afetarem a l4gica do algoritmo'tornandoo mais completo'
Conforme se verificou no e!emplo5 2algoritmo da mdia de doisn7meros, uando o algoritmo e!ecutado, no aparecenen/uma indicao para o usurio uando ele deve entrar com osdados num5 e num9, pois no primeiro momento ue o algoritmo
e!ecutado, opromptna tela do monitor ficar piscandoaguardando as entradas de dados'
Para o mesmo algoritmo podemos reescrev*lo com impress)escomplementares, ficando da forma descrita a seguir.
7/26/2019 Aula03 Alg
9/14
Algoritmo e Programao Constr. de Algoritmos
Impresses Complementares
// Algoritmo para a calcular a media de dois nmeros
// Autor: Rogrio Almeida - Verso 1.0
Variveis
num1, num2, soma, media :real;
Incio
escrever "$ntre com o primeiro nmero:#;
lernum1;
escrever"$ntre com o segundo nmero:#;
lernum2;
soma num1!num2; media soma/2;
escrever "A mdia dos dois nmeros :#, media;
Fim.
7/26/2019 Aula03 Alg
10/14
Algoritmo e Programao Constr. de Algoritmos
Impresses Complementares
;ote ue dois acrscimos foram feito' +specificamente eles foram impress)es de
mensagens indicando para o usurio ual valordeve fornecer para o computador'
;a seuencia do algoritmo cada impresso foicolocada imediatamente antes do comando ler.Assim a muina e!ibe a mensagem pedindo on7mero a ser fornecido'
importante ressaltar ue o comando ler mais
importante ue a mensagem pois nele ueocorre a entrada de dados associada as variveisnum5 e num9, respectivamente.
7/26/2019 Aula03 Alg
11/14
Algoritmo e Programao Constr. de Algoritmos
Modulariao de Algoritmos
A medida ue os problemas a serem resolvidos tornamse maiscomple!os, mais comple!os tambm sero os algoritmos'
A comple!idade de um algoritmo no est associada B uantidadede comandos, mas sim a diversidade de combina)es uepodemos reali&ar com estes comandos'
Uma forma de tornar a construo de um algoritmo comple!o noto difcil, consiste em dividir o problema em partes menores, ouse#a em subprograma'
A partir de subprogramas o nvel de comple!idade diminui, poistornase mais fcil construir solu)es especficas do algoritmo emparte distintas'
+ssas etapas de diviso do algoritmo consiste na modulari&aodo algoritmo, em ue subalgoritmos 2subprogramas apresentamparte da soluo de um problema maior.
l d l
7/26/2019 Aula03 Alg
12/14
Algoritmo e Programao Constr. de Algoritmos
Modulariao de Algoritmos
"inta!e de m4dulo de uma algoritmo$
Mdulo nomem4dulo>'DD
comando5>'comando9>'...comando;>'
EE' 8s colc/etes duplos so utili&ados para
indicar ao computador uais comandosconstituem a seu*ncia a ser e!ecutada pelo
m4dulo.
Al it P C t d Al it
7/26/2019 Aula03 Alg
13/14
Algoritmo e Programao Constr. de Algoritmos
Modulariao de Algoritmos
Fale ressaltar ue o m4dulo possibilita utili&arcomandos Gpersonali&adosH. -sto , definindoseum m4dulo no algoritmo com um determinadonome, podemos usar este nome para representar
todo o con#unto de comandos ue foi construdonele'
8 m4dulo s4 ser e!ecutado pela muina se, emalgum ponto do algoritmo, for usado no corpo do
algoritmo principal a sinta!e$ nomem4dulo>'
Al it P C t d Al it
7/26/2019 Aula03 Alg
14/14
Algoritmo e Programao Constr. de Algoritmos
Modulariao de Algoritmos
Famos considerar o mesmo e!emplo anterior do clculo da mdiade dois n7meros e vamos criar um m4dulo para o calculo damdia, conforme mostrado a seguir.
// Algoritmo para a calcular a mdia de dois numeros
// Autor: Rogrio Almeida - Verso 1.1
Variveis
num1, num2, soma, media :real;
Incio
escrever "$ntre com o primeiro nmero:#;
lernum1;
escrever"$ntre com o segundo nmero:#;
lernum2;
calcular%media; escrever "A mdia dos dois nmeros :#, media;
Fim.
Mdulo calcular%media
&&
'oma (num1!num2);
*edia soma/2;
++