peteqs senai
DESCRIPTION
Peteqs SenaiTRANSCRIPT
Projeto e Desenvolvimento de Projeto e Desenvolvimento de AlgoritmosAlgoritmos
ProcedimentosProcedimentos
Adriano Cruz e JonasAdriano Cruz e Jonas KnopmanKnopman
ObjetivosObjetivos
�� DefiniçãoDefinição
�� NecessidadeNecessidade ee vantagens da utilizaçãovantagens da utilização
�� Variáveis locaisVariáveis locais ee variáveis públicasvariáveis públicas
�� EscopoEscopo dede variáveisvariáveis
�� ExemplosExemplos
Filé de peixe ao molho brancoFilé de peixe ao molho branco
{preparo dos peixes}{preparo dos peixes}Lave os filLave os filéés e tempere com o suco dos lims e tempere com o suco dos limõões, sal, es, sal, pimenta e salsinha ...pimenta e salsinha ...
{preparo do molho branco}{preparo do molho branco}Coloque numa panela a manteiga, a farinha e o leite e Coloque numa panela a manteiga, a farinha e o leite e misture bem. Em fogo mmisture bem. Em fogo méédio, cozinhe atdio, cozinhe atéé engrossar. engrossar. Adicione o sal, ...Adicione o sal, ...
{juntando os dois}{juntando os dois}Adicione queijo parmesAdicione queijo parmesãão ralado e queijo o ralado e queijo gruygruyèèrere. Misture . Misture e ponha sobre os file ponha sobre os filéés. s.
Alface ao molho brancoAlface ao molho branco
{preparo da alface}{preparo da alface}Derreta a manteiga. Junte a alface cortada. Salpique o Derreta a manteiga. Junte a alface cortada. Salpique o sal e deixe cozinhar por uns 5 a 10 minutos ou atsal e deixe cozinhar por uns 5 a 10 minutos ou atéé a a alface ficar tenra, ou o lalface ficar tenra, ou o lííquido da panela secar. quido da panela secar.
{preparo do molho branco}{preparo do molho branco}Coloque numa panela a manteiga, a farinha e o leite Coloque numa panela a manteiga, a farinha e o leite e misture bem. Eme misture bem. Em fogo mfogo méédio, cozinhe atdio, cozinhe atééengrossar. Adicione o sal ...engrossar. Adicione o sal ...
{juntando os dois}{juntando os dois}Junte ao molho branco e ao suco de limJunte ao molho branco e ao suco de limãão. Coloque o. Coloque numa travessa e enfeite em volta com pnuma travessa e enfeite em volta com pãão torrado o torrado cortado em tricortado em triâângulos.ngulos.
ProcedimentosProcedimentos
�� AA receitareceita dede molho brancomolho branco éé replicada juntoreplicada junto aatoda receita que faz usotoda receita que faz uso dede molho brancomolho branco..
VantagemVantagem
�� OO acessoacesso àà receitareceita dede molho brancomolho branco éé muito muito rápidorápido..
Outra desvantagemOutra desvantagem
�� SeSe amanhã descubro que uma pitadaamanhã descubro que uma pitada dedepimenta dápimenta dá umum saborsabor especialespecial ao molho brancoao molho branco,,tenhotenho dede alteraralterar aa receita em vários pontosreceita em vários pontos dodolivrolivro..
Outra alternativaOutra alternativa
��FilFiléé de peixe ao molho brancode peixe ao molho branco
{preparo dos peixes}{preparo dos peixes}Lave os filLave os filéés e tempere com o suco dos lims e tempere com o suco dos limõões, sal, es, sal, pimenta e salsinha ...pimenta e salsinha ...
{preparo do molho branco}{preparo do molho branco}Prepare a receita bPrepare a receita báásica de molho branco (psica de molho branco (páág.25)g.25)
{juntando os dois}{juntando os dois}Adicione queijo parmesAdicione queijo parmesãão ralado e queijo o ralado e queijo gruygruyèèrere. . Misture e ponha sobre os filMisture e ponha sobre os filéés. s.
Alface ao molho brancoAlface ao molho branco
{preparo da alface}{preparo da alface}Derreta a manteiga. Junte a alface cortada. Salpique o Derreta a manteiga. Junte a alface cortada. Salpique o sal e deixe cozinhar por uns 5 a 10 minutos ou atsal e deixe cozinhar por uns 5 a 10 minutos ou atéé a a alface ficar tenra, ou o lalface ficar tenra, ou o lííquido da panela secar. quido da panela secar.
{preparo do molho branco}{preparo do molho branco}Prepare a receita bPrepare a receita báásica de molho branco (psica de molho branco (páág.25)g.25)
{juntando os dois}{juntando os dois}Junte ao molho branco e ao suco de limJunte ao molho branco e ao suco de limãão. Coloque o. Coloque numa travessa e enfeite em volta com pnuma travessa e enfeite em volta com pãão torrado o torrado cortado em tricortado em triâângulos.ngulos.
NaNa páginapágina 25...25...
Molho brancoMolho brancoColoque numa panela a manteiga, a farinha e o leite e Coloque numa panela a manteiga, a farinha e o leite e misture bem. Em fogo mmisture bem. Em fogo méédio, cozinhe atdio, cozinhe atéé engrossar. engrossar. Adicione o sal, a pimenta e o queijo. Continue com a panela Adicione o sal, a pimenta e o queijo. Continue com a panela no fogo, cozinhando atno fogo, cozinhando atéé que o queijo derreta, mexendo que o queijo derreta, mexendo constantemente.constantemente.
Vantagens daVantagens da formaforma alternativaalternativa
EconomiaEconomia dede códigocódigoOO livrolivro ((programaprograma)) vai ficar menorvai ficar menor
ModularidadeModularidadeSeSe amanhã descubro queamanhã descubro que um dente deum dente de alho dáalho dáumum saborsabor especialespecial ao molho brancoao molho branco,, basta alterarbasta alteraroo livrolivro dede receitas emreceitas em umum único lugarúnico lugar..
Mais vantagensMais vantagens:: divisãodivisão dede trabalhotrabalho
OO livrolivro dede receitas podereceitas pode serser escrito porescrito por 22 autoresautores..Basta queBasta que um delesum deles aprendaaprenda aa prepararpreparar oo peixepeixe e e oo outrooutro aa prepararpreparar oo molho brancomolho branco..
Mais vantagensMais vantagens:: utilizaçãoutilização dede componentes componentes prontosprontos
�� FilFiléé de peixe com molho brancode peixe com molho branco{preparo dos peixes}{preparo dos peixes}Lave os filLave os filéés e tempere com o suco dos lims e tempere com o suco dos limõões, sal, es, sal, pimenta e salsinha ...pimenta e salsinha ...
{preparo do molho branco}{preparo do molho branco}VVáá atatéé o supermercado e compre molho branco o supermercado e compre molho branco Parmalat (pronto)Parmalat (pronto)
{juntando os dois}{juntando os dois}Adicione queijo parmesAdicione queijo parmesãão ralado e queijo o ralado e queijo gruygruyèèrere. . Misture e ponha sobre os filMisture e ponha sobre os filéés. s.
Mais vantagensMais vantagens:: reaproveitamentoreaproveitamento dedecódigocódigo
�� FilFiléé de peixe com molho brancode peixe com molho branco{preparo dos peixes}{preparo dos peixes}Lave os filLave os filéés e tempere com o suco dos lims e tempere com o suco dos limõões, sal, es, sal, pimenta e salsinha ...pimenta e salsinha ...
{preparo do molho branco}{preparo do molho branco}Prepare o molho branco segundo receita do meu livro Prepare o molho branco segundo receita do meu livro anterior, panterior, páágina 35gina 35
{juntando os dois}{juntando os dois}Adicione queijo parmesAdicione queijo parmesãão ralado e queijo o ralado e queijo gruygruyèèrere. . Misture e ponha sobre os filMisture e ponha sobre os filéés. s.
Mais vantagensMais vantagens:: parametrizaçãoparametrização dosdosprocedimentosprocedimentos
MACARRMACARRÃÃOO COMCOM OVOSOVOS BATIDOSBATIDOS
MODO DE FAZER:MODO DE FAZER:CozinheCozinhe oo macarrmacarrãão em o em áágua abundantegua abundante,, ferventefervente, com, com
salsal.. EscorraEscorra.. ColoqueColoque aa manteiga numa panelamanteiga numa panela ee leve ao leve ao fogofogo.. DepoisDepois dede derretidaderretida,, juntejunte oo macarrmacarrãão jo jáá cozidocozido e,e,em seguidaem seguida,, os ovos batidosos ovos batidos.. Misturando bemMisturando bem ee abaixeabaixe oofogofogo.. Levante devagarLevante devagar, com a, com a pontaponta dede uma facauma faca, o, omacarrmacarrããoo,, atatéé que cozinhe os ovosque cozinhe os ovos.. Despeje em uma Despeje em uma travessatravessa ee polvilhepolvilhe com ocom o queijo raladoqueijo ralado..
ParametrizaçãoParametrização dosdos procedimentosprocedimentos
�� AA receita não faz referência ao tiporeceita não faz referência ao tipo dedemacarrãomacarrão......
ParametrizaçãoParametrização dosdos procedimentosprocedimentos
�� Cálculo da áreaCálculo da área dede umauma mesamesa
Mede oMede o comprimento dacomprimento da mesamesaMede aMede a largura dalargura da mesamesaMultiplicaMultiplica oo comprimento dacomprimento da mesamesa pela largura dapela largura da
mesamesaDizDiz oo resultadoresultado
ParametrizaçãoParametrização dosdos procedimentosprocedimentos
�� Cálculo da área da toalha sobreCálculo da área da toalha sobre a mesaa mesa
Mede oMede o comprimento da comprimento da toalhatoalhaMede aMede a largura da largura da toalhatoalhaMultiplicaMultiplica oo comprimento da comprimento da toalhatoalha pela largura pela largura
da da toalhatoalhaDizDiz oo resultadoresultado
ParametrizaçãoParametrização dosdos procedimentosprocedimentos
�� Procedimento paraProcedimento para oo cálculocálculo dede objeto objeto retangularretangular
ProcedimentoProcedimento area (area (coisacoisa))inicioinicio
Mede oMede o comprimento da comprimento da coisacoisaMede aMede a largura da largura da coisacoisaMultiplicaMultiplica oo comprimento da comprimento da coisacoisa
pela largura da pela largura da coisacoisaDizDiz oo resultadoresultado
fimfim
ParametrizaçãoParametrização dosdos procedimentosprocedimentos
ParaPara calcularcalcular aa área daárea da mesamesaarea (area (mesamesa))
ParaPara calcularcalcular aa área da toalhaárea da toalhaarea (area (toalhatoalha))
coisacoisa éé umum objetoobjeto virtual.virtual. coisacoisa sese materializa emmaterializa emmesamesa ou toalha na hora em que mando calcularou toalha na hora em que mando calcular aaáárearea →→ mesmo procedimento atuando sobre mesmo procedimento atuando sobre diferentesdiferentes dados.dados.
NecessidadeNecessidade dodo usouso
�� Procedimentos sãoProcedimentos são a base dasa base das linguagens linguagens visuaisvisuais
NecessidadeNecessidade dodo usouso
TratamentosTratamentos dede eventos escritos naeventos escritos na forma deforma deprocedimentosprocedimentosSub Botao_Click()
MsgBox "Eu disse em caso de incêndio!!!"
End Sub
NecessidadeNecessidade dodo usouso
ProcedimentosProcedimentos ((métodosmétodos)) são tambémsão também a basea baseda orientaçãoda orientação aa objetoobjeto
TMesaTMesa = class= class
larguralargura : real;: real;
comprimentocomprimento : real;: real;
functionfunction CalculaAreaCalculaArea : real;: real;
end;end;
AbordagemAbordagem OOOO
PropriedadesPropriedades ee métodos são encapsuladosmétodos são encapsulados nonoobjetoobjeto →→→→→→→→ oo objeto sabe como lidarobjeto sabe como lidar comcom suas suas propriedadespropriedades..
mesa.mesa.CalculaAreaCalculaArea
Mas qualMas qual é aé a vantagem na utilizaçãovantagem na utilizaçãode OO?de OO?
MuitasMuitas.. Posso porPosso por ""inteligênciainteligência"" nana mesamesavisandovisando aa proteçãoproteção ee integridadeintegridade dos dadosdos dados
mesa.mesa.comprimentocomprimento := := --2.22.2;;
EmEm Delphi:Delphi:procedureprocedure TMesaTMesa..SetComprimentoSetComprimento(Value: real);(Value: real);
beginbegin
if Value <=0 then if Value <=0 then
raise Exception.Create('Valorraise Exception.Create('Valor Inválido'Inválido'););
comprimentocomprimento := Value;:= Value;
end;end;
ClasseClasse?????? OrientaçãoOrientação aa ObjetoObjeto??????
Mas para queMas para que serveserve issoisso??
ComoComo implementarimplementar??
Abordagem tradicional (PETEQS)Abordagem tradicional (PETEQS)
acabou acabou ←←←←←←←← falsofalso
enquanto nãoenquanto não acabou acabou façafaça
parapara i i ←←←←←←←← 1 1 atéaté 2 2 façafaça
anda (bolinha[i])anda (bolinha[i])
tratacolisaotratacolisao (bolinha[i])(bolinha[i])
próximopróximo ii
fimfim enquantoenquanto
ConclusãoConclusão
�� AA utilizaçãoutilização dede procedimentos está naprocedimentos está na basebase da da construçãoconstrução dede bons padrõesbons padrões dede programaçãoprogramação..
�� AA utilizaçãoutilização dede procedimentosprocedimentos éé essencial ao essencial ao usouso dasdas chamadas linguagens visuaischamadas linguagens visuais
�� AA utilizaçãoutilização dede procedimentosprocedimentos éé essencialessencial ààprogramação orientadaprogramação orientada aa objetosobjetos..
Forma geral de um programaForma geral de um programaemem PETEQSPETEQS contendo procedimentoscontendo procedimentos
procedimento A
início
{ Comandos }
Fim
programa teste
início{ Comandos }
fim
ChamadaChamada dede ProcedimentosProcedimentos
A chamada a um procedimento é feita A chamada a um procedimento é feita simplesmente escrevendosimplesmente escrevendo--se o nome do se o nome do procedimento no corpo do módulo (programa procedimento no corpo do módulo (programa principal ou outro procedimento) que efetuou a principal ou outro procedimento) que efetuou a chamada.chamada.
Exemplo de uso de procedimentosExemplo de uso de procedimentos
procedimento Escreva_uma_mensageminício
imprima 'O contador vale:', ifim
início
para i ←←←← 1 até 5 façaEscreva_uma_mensagem
próximo i
fim
Exemplo de uso de procedimentosExemplo de uso de procedimentos
�� Saída:Saída:
O contador vale: 1O contador vale: 2O contador vale: 3O contador vale: 4O contador vale: 5
EscopoEscopo dede variáveisvariáveis
�� SeSe dois módulosdois módulos dede programa cooperamprograma cooperam de de forma aforma a resolverresolver umum problemaproblema,, eles têmeles têm dedetrocartrocar dados dedados de algumaalguma formaforma
�� OO mecanismo mais imediatomecanismo mais imediato (e(e mais perigosomais perigoso))parapara aa trocatroca de dados é ade dados é a utilizaçãoutilização dedevariáveis públicasvariáveis públicas
ConversãoConversão de de temperaturastemperaturas
ProceProcedimentodimento ConvertConvertee
// // entradaentrada:: temperaturatemperatura Fahrenheit (Far)Fahrenheit (Far)
// // saídasaída:: temperaturatemperatura Celsius (Celsius (CelCel))
inícioinício
CelCel ←← (Far (Far -- 32) / 1.832) / 1.8
fimfim
ConversãoConversão de de temperaturastemperaturas
variáveis públicasvariáveis públicas
Far, Far, CelCel
programaprograma testeteste
inícioinício
imprimaimprima 'Temperatura em Fahrenheit: ''Temperatura em Fahrenheit: '
leialeia FarFar
ConvertConvertee
imprimaimprima 'Celsius: ', Cel'Celsius: ', Cel
fimfim
ConversãoConversão dede temperaturastemperaturas
�� Saída:Saída:
Temperatura em Fahrenheit: 212
Celsius: 100.00
Variáveis PúblicasVariáveis Públicas
�� As variáveis As variáveis públicaspúblicas são vistas por todos os são vistas por todos os módulos do programa (procedimentos e módulos do programa (procedimentos e funções), incluindo o programa principal.funções), incluindo o programa principal.
Variáveis PúblicasVariáveis Públicas
�� VantagensVantagens
Facilidade de Uso – Por serem públicas, tais variáveis servem para a troca de informações entre 2 módulos quaisquer do programa.
Variáveis PúblicasVariáveis Públicas
�� DesvantagensDesvantagensJustamente por serem acessíveis a qualquer módulo, as variáveis públicas apresentam um riscode que outros módulos não envolvidos na troca de dados alterem (inadvertidamente ou não) os dadoscompartilhados.
Falta de proteção dos dados compartilhados. Não há como evitar que mesmo os módulos envolvidos na comunicação alterem equivocadamente dados que ainda seriam necessários a outros módulos
Variáveis PúblicasVariáveis Públicas
�� DesvantagensDesvantagens
Os módulos envolvidos na comunicação têm de usar os mesmos nomes para as variáveis compartilhadas.
EscopoEscopo dede variáveisvariáveis
O O que aconteceque acontece sese eu não declarareu não declarar asas variáveisvariáveisdede entradaentrada//saída como públicassaída como públicas??
Conversão Conversão de de TemperaturasTemperaturas
ProceProcedimentodimento ConvertConvertee// // entradaentrada:: temperaturatemperatura Fahrenheit (Far)Fahrenheit (Far)// // saídasaída:: temperaturatemperatura Celsius (Celsius (CelCel))inicioinicio
CelCel ←← (Far (Far -- 32) / 1.832) / 1.8FimFim
programaprograma testetesteinicioinicio
imprimaimprima 'Temperatura em Fahrenheit: ''Temperatura em Fahrenheit: 'leialeia FarFarConvertConverteeimprimaimprima 'Celsius: ', Cel'Celsius: ', Cel
fimfim
Esquema Esquema de de alocação alocação de de memóriamemória
????
Far:teste
Cel:teste
Antes de Antes de iniciariniciar--se a se a execução execução do do programaprograma: O : O sistema operacional aloca emsistema operacional aloca em memóriamemória espaçoespaçoparapara as as variáveis utilizadasvariáveis utilizadas pelopelo programaprogramaprincipalprincipal
EsquemaEsquema dede alocaçãoalocação dede memóriamemória
Começa Começa a a execução execução do do programa programa principalprincipal
leialeia FarFar
212212??
Far:teste
Cel:teste
EsquemaEsquema dede alocaçãoalocação dede memóriamemória
ConverteConverte
Antes de Antes de começar começar a a executar executar o o procedimento procedimento ConverteConverte, o SO , o SO aloca aloca as as variáveis variáveis de de ConverteConverte
??
212212????
Far:teste
Cel:teste
Far:Converte
Cel:Converte
EsquemaEsquema dede alocaçãoalocação dede memóriamemória
Começa Começa a a execução execução de de ConverteConverte
CelCel ←← (Far (Far -- 32) / 1.832) / 1.8
??
212212????
Far:teste
Cel:teste
Far:Converte
Cel:Converte
EsquemaEsquema dede alocaçãoalocação dede memóriamemória
TerminaTermina a a execução execução de de ConverteConverte
212212??
Far:teste
Cel:teste
EsquemaEsquema dede alocaçãoalocação dede memóriamemória
Prossegue Prossegue a a execução execução do do programa programa principalprincipal
imprimaimprima 'Celsius: ', Cel'Celsius: ', Cel
212212??
Far:teste
Cel:teste
Um Um exemploexemplo
Escreva Escreva uum procedimento que calcule o peso m procedimento que calcule o peso ideal de uma pessoaideal de uma pessoa::
homenshomens::pesopeso = = 72.7*altura 72.7*altura –– 5858
mulheresmulherespeso = peso = 62.1*altura 62.1*altura –– 44.744.7
Procedimento CalculaPesoProcedimento CalculaPeso
�� Vamos determinar Vamos determinar o o conjunto conjunto de de entradas entradas e e saídas saídas do do procedimento CalculaPesoprocedimento CalculaPeso
CalculaPesoCalculaPesoEntradasEntradas SaídasSaídas
Procedimento CalculaPesoProcedimento CalculaPeso
Variáveis públicasVariáveis públicassexosexo, , alturaaltura, peso, peso
procedimentoprocedimento CalculaPesoCalculaPeso
inícioiníciosese sexo sexo = 'M' = 'M' entãoentão
peso peso ←← 72.7*altura 72.7*altura –– 5858
senãosenãopeso peso ←← 62.1*altura 62.1*altura –– 44.744.7
fimfim sesefimfim
Um Um programa que programa que use use CalculaPesoCalculaPeso
programaprograma testeteste
inícioinício
imprimaimprima 'Entre 'Entre com a com a alturaaltura: ': '
leialeia alturaaltura
imprimaimprima 'Entre 'Entre com o com o sexosexo: ': '
leialeia sexosexo
CalculaPesoCalculaPeso
imprimaimprima 'Peso ideal: ', peso'Peso ideal: ', peso
fimfim