Escolar Documentos
Profissional Documentos
Cultura Documentos
Origem:Wikilivros,livrosabertosporummundoaberto.
<Introduoprogramao
Comojfoireferidoelgico,aslinguagensdeprogramaotmcoisasemcomum.Umadelassoasestruturasdecontrole.EstruturasdeControlesodefinidas
comosendoabasedalgicadaprogramaoepodemserdedoisnveis:diretoouindireto(complexo).Paratermosumaideiadadiferenaentreumcontrole
diretoeumcontroleindireto,apresentoaseguirdoisdilogosrepresentativosdeduassituaesdocotidiano:
Pedro"OndefosteMiguel?"
Miguel"Fuilojacomprarroupa."
Indivduo"OndepossoarranjarumacertidoAR53?"
Inspetor"Temquelevarasuaidentificaoaoguich,pedirumimpressoGHANORMALcarimbadopara3meses.Apsaconclusodaescrituraterqueaguardaratquesejachamadopelas
Analisandoosdoiscasos,rapidamenteconclumosquearespostaobtidanoprimeirodiretaebemmaissimplesquenosegundo.Ora,sequisesseconverterestas
situaesparaumasituaoparecidanocomputador,poderamosconstatarquebastavanosumapginadeumcdigosequenciadoparaocomputadorprocedera
recriaodocontedodaprimeirasituao.Omesmojnoseverificanosegundo.Normalmenteparaestetipodecasos,oprogramadorutilizapeas
fundamentaischamadasfunes(doinglsfunction)queretratamcadaumnicoacontecimentodasituao,havendoassimligaesentreelesdependendodos
resultadosobtidos.Funessoretratadasmaisfrente.
PensoquecomestesdoisexemplosoleitorjentendebemoqueumAlgoritmodiretoeumAlgoritmocomplexo.
ndice
1 Estruturasbsicas
1.1 Variveiseconstantes
1.2 Instrues
2 Estruturasdecontrole
2.1 IF
2.2 ELSE
2.3 SWITCH
2.4 FOR
2.5 While
3 Funes
4 Arrays
5 Operaesaritmticas
5.1 Operaesaritmticas
5.2 Operaescomplexas
6 Concluso
Estruturasbsicas
Qualquerprogramatemquefazeralgumacoisa(nemquesejaenviarumsinalbip)senonoumprograma,ouseja,eletemqueapresentarcontedo.Assim,
comoapresentacontedo,vai"alterar"estadosdentrodocomputador,sendoque,oestadodeumadaspeasquevaiinevitavelmentesealteraramemria
interna.inevitvelumprogramanose"alojar"namemriadocomputador,assim,oprogramaprecisadeumespaofsiconamemriaeparaissoterqueo
requisitar.dissoqueiremosfalaraseguir.
Variveiseconstantes
UmavarivelumaexpressoquevariaenormalmenterepresentadoporumaincgnitaX,eumaconstanteumaexpressoquenosealtera(onmerode
Avogadro,opi,onmerodeNeper)quepodeserrepresentadoporumaletra.
Nosprogramas,variveissotodasasexpressesquepodemounovariar,assimcomotambmpodemserconstantes.Umacoisabvia:Constantesnopodem
servariveis!
NafunoseguinteYassumeodobrodetodososvaloresdeX:
Y=2X>Nestafuno,XvariaporissoYumavarivel
NaseguintefunoYassumesempreovalor2:
Y=2>NestafunoYnovariaeporissoconstante.
Aquiestpatenteadiferenadeumafunovariveleumafunoconstanteemmatemtica.
TransportandoanoodeVariveleConstanteparaaprogramao,apresentoagoradoistrechosdecdigoemPHPeC++:
//Vamosrepresentarumtextocomoumavarivelrepresentadaporp(sintaxedePHP):
<?php
$p="OlMundo!";
//Agoravouapresentlanatela
echo$p;
?>
Nocasoacima,umavarivelumtextoquefoiguardadoemmemria,representadoporp.
//Representoagoraum"OlMundo!"comoumaconstante(sintaxedoC++):
#include<iostream.h>;
intmain(){
cout<<"OlMundo!";
return0;
}
Noseassustesenoentendeunadadoquesepassoualiemcima.Aqui"OlMundo!"foiumaconstanteenoumavarivel,poiselanofoiguardadaem
memria,masimpostapelainstruocoutdiretamente.
Instrues
Asinstruessopequenoscomandosqueditamaoprogramaoquefazercomdeterminadodado.Elaspodemguardarinformao,apresentarinformao,
aguardaruminput,etc.
AquiapresentamosalgumasinstruesquesomaiscomunsassimcomoasuaimplementaonoC++ePHP:
Linguagem
Instruo Descrio PHP
C++
Mostrardadosna
MOSTRAR echo()print() cout<<
tela
Requisitarum $_GET[](Nousadodeforma
INPUT cin.get()
input direta)
Estruturasdecontrole
IF
IFomesmoqueSEeusadoportodasaslinguagensdeprogramaoporseraestruturamaissimplesqueexiste.Asuaimplantaorepresentaolanamentode
umbooleanoVerdadeiroouFalso.
IFisto
DOaquilo
ELSE
ELSEusadocomoumacrscimodeIF,levandoaquetodososdadosretornadoscomoFALSOemIFsejamcontroladosporesteELSE.
IFisto
DOaquilo
ELSEoutracoisa
SWITCH
OSWITCHvistocomoumasubstituiodeIFELSEquandoexistemmaisde2opesaseremcontroladas.
SWITCHvarivel
CASEargumento1:cdigocorrespondente
CASEargumento2:cdigocorrespondente
CASEargumento3:cdigocorrespondente
Nestecaso,SWITCHirprocurarqualoargumentoquevarivelcontmeassimescolherqualdosCASEcorrer.
FOR
FORumloopqueaconteceenquantodeterminadoargumentonosetornarverdadeiro.
X=1
FORX<=10
X=X+1
Podesermaisdifcildesvendarestecdigo(principalmenteseoleitorformatemticoeficarperplexocomalinha"X=X+1"),masoqueestescritoaliem
cimaque"enquantoXnoforiguala10,ainstruoFORvaisemprevoltaraoincioesomar/incrementar1aovalordeX".
Asadanoprocessamentoaseguinte:
X=1
X=2
X=3
X=4
X=5
X=6
X=7
X=8
X=9
X=10
While
WHILE,estruturautilizadaemgrandepartedaslinguagensdeprogramaoatuais,especificaumaaoenquantodeterminadacondioforverdadeira.Observeo
exemploescritoempascal.
while(x<>z)do
begin
writeln('QualovalordeZ?')
readln(z)
end;
Nocdigoacima,enquantoovalordeZfordiferentedoestabelecidoparaX,serpedidoaousurioqueentrecomovalordeZ.
Funes
Funessopequenostrechosdecdigoindependentesquesoespecializadosatratardeterminadotipodedadosdentrodeumprograma.Hlinguagens,comoo
CouoC++,questrabalhamcomFunes,outras,comoaslinguagensdescript(PHP,Python,Perl,etc),quetrabalhamcomfunesecomcdigosoltoem
sequncia.
Exemplodeimplementaodefunes:
FUNCTIONnome_da_funo(argumento1,argumento2,argumentox,...)
Cdigo
RETURNdadosaseremretornadosaocdigoprincipal
Exemplodaimplementaodefunesnumcdigo:
FUNCTIONmultiplicador(numero)
X=10E21
Y=numero*X
RETURNY
ENDFUNCION
GETnumero
IFnumero>=1
GOTOmultiplicador
SHOWY
ENDIF
ELSE
SHOW"Nonmerointeiro"
ENDELSE
Nestecdigo,nsconhecemosopoderdasfunes.Nocasoacima,pedidoaoutilizadoraintroduodeumnmero.Depoisdisso,ocomputadoranalisaseo
nmerointeiro,esefor,elechamaafunomultiplicador,retornandoumavarivelYcontendoonmerointroduzidoanteriormentemultiplicadopeloexpoente
22.Sepelocontrrio,onmerointroduzidonoforinteiro,ocomputadorlanaumamensagemdeerro"Nonmerointeiro".
Arrays
OsArrayssosimplesestruturasdedados,denominadascomovectoroulistaseforemarraysunidimensionais,oumatrizseforempolidimensionais.Oque
acontecequenumaArrayosdadossolistadoseordenadossegundopropriedadesouvariveisquetentamosdominar.
Nocasoseguinteapresentamosumaarrayordenadacomdadossobreoestadodeumprogramaopensource:
ARRAY("verso"=>ARRAY("alpha"=>0.1
"beta"=>0.5
"final"=>0.9
)
FIMARRAY;
"SO"=>ARRAY("win"=>"Windows"
"uni"=>"UNIXLike"
"mac"=>"MacOS"
)
FIMARRAY;
)
FIMARRAY;
Aosdadosdescritoscomo"verso"e"SO"chamamosChaveetodososoutrossoValores.Entoatodoumvalorapontaumachave.
ARRAY(Chave=>Valor);
Operaesaritmticas
Emqualquerlinguagem,existeapossibilidadedesecalcularemexpressesalgbricasaritmticas,segundoossinaisconvencionais(+,,*,e/),logoqualquer
expressoquesejanumricasecomportacomodadanamatemticaelementar.Porm,possvelusarseexpressesalfanumricasparaseprocederaclculos
maiscomplexos(matriaemquenoiremosentrarpoisaquiaslinguagensdiferemnoseucomportamentoalgumasaceitam,outrascalculamovalor
hexadecimalouASCIIdocaracter,outrasformamstrings(frases),etclevandoassimaumlequeinfinitodepossibilidadesdeprogramao,dependendodas
necessidadesprevistasporcadatipodelinguagens).
Operaesaritmticas
Podemossomarqualquerexpressoalgbricadoseguintemodo:
2+2=A
MOSTRARA
Obviamentequeiramosobter4comoresultadomostrado.
Analogamente,possvelcalcularcomqualquercalculadormatemticabsica:
4*5=B
MOSTRARB//resultadode20
2/3=C
MOSTRARC//resultadode0,(6)
Umavezvistoisto,poderamospensarqueseriapossvelcalcularexpressescomplexas
3*5+2/35=D
MOSTRARD
Oqueobtemosacimapodeserambguo,resultadodamaneiracomoaslinguagensdeprogramaointerpretamaexpressocalcularaexpressoporsequncia
lgicamatemticaouporsequnciaapresentada.Atualmentetodasaslinguagensmaiscomunsseguemasequncialgicamatemticaparacalcularemaexpresso
eassimoresultadoobtidoser10,(6)eno0,(6).
Operaescomplexas
Comoserqueocomputadorsecomportacomosclculosqueusamnmerosdepontoflutuanteounmerosexponenciais?
Damesmamaneiracomonamatemtica,ocomputadortratardearredondarcasasdecimais(algumaslinguagenscomoPHPnecessitamdafunoround()para
arredondarbemmatematicamente)edecalcularpotncias,tudoistoparachegaraumresultadocomumnmerorealaproximadoaoquesedizmatematicamente
verdadeiro.
Pontoflutuante:
0,512+2/3=1,178(6)//comquantascasasdecimaisoleitorquiser
eocomputadorpermitir
Concluso
Estassoasinstruesmaisbsicasusadasportodasaslinguagensdeprogramaoexistentes,exatamenteporserembsicasesimples.Semelas,umalinguagem
noeracreditadaeapresentademasiadoslimitesparaserconsideradaumalinguagemdeprogramaoracional.
Obtidoem"https://pt.wikibooks.org/w/index.php?title=Introduo__programao/Estruturas_de_manipulao_de_dados&oldid=423460"
Categoria: Livro/Introduoprogramao
Estapginafoimodificadapelaltimavez(s)21h43minde13dejulhode2016.
EstetextodisponibilizadonostermosdalicenaCreativeCommonsAtribuioCompartilhamentopelamesmaLicena3.0Unportedpodeestarsujeitoa
condiesadicionais.ConsulteasCondiesdeUsoparamaisdetalhes.