Buscar

Modulo_03_-_0_O_Conceito_de_Algoritmo

Prévia do material em texto

Computação BásicaComputação Básica
ComputaçãoComputação BásicaBásica
DisciplinaDisciplina 116301116301
Prof. Prof. AlexandreAlexandre ZaghettoZaghettoProf. Prof. AlexandreAlexandre ZaghettoZaghetto
zaghetto@gmail.comzaghetto@gmail.com
UniversidadeUniversidade de Brasíliade Brasília
InstitutoInstituto de de CiênciasCiências ExatasExatas
DepartamentoDepartamento de de CiênciaCiência dada ComputaçãoComputação
Computação BásicaComputação Básica
O Conceito de AlgoritmoO Conceito de Algoritmo
Computação BásicaComputação Básica
1. O Conceito de Algoritmo1. O Conceito de Algoritmo
•• ConhecimentoConhecimento declarativodeclarativo::
�� CorpoCorpo organizadoorganizado dede informaçõesinformações factuaisfactuais (o(o queque é)é)..
�� ExEx.:.: OO bolobolo comumcomum éé aa massamassa dede bolobolo básicabásica parapara
confeitarconfeitar ouou rechearrechear.. ÉÉ tambémtambém umum excelenteexcelente
acompanhamentoacompanhamento parapara cafécafé ouou cháchá..
05/04/201105/04/2011 33
Computação BásicaComputação Básica
1. O Conceito de Algoritmo1. O Conceito de Algoritmo
•• ConhecimentoConhecimento imperativoimperativo::
�� ÉÉ oo queque sese manifestamanifesta dada execuçãoexecução dede umauma tarefatarefa (como(como
fazer)fazer)..
�� ExEx.:.: BoloBolo comumcomum::
1.1. BaterBater oo açúcaraçúcar ee aa manteiga,manteiga, comcom aa essênciaessência
05/04/201105/04/2011 44
1.1. BaterBater oo açúcaraçúcar ee aa manteiga,manteiga, comcom aa essênciaessência
dede baunilhabaunilha atéaté branquearbranquear..
2.2. AcrescentarAcrescentar asas gemasgemas umauma aa uma,uma, batendobatendo
sempre,sempre, atéaté levantarlevantar bolhasbolhas..
3.3. PeneirarPeneirar aa farinha,farinha, aa maizenamaizena ee oo fermentofermento ee
irir acrescentandoacrescentando poucopouco aa pouco,pouco, alternandoalternando
comcom oo leite,leite, semsem pararparar dede baterbater..
4.4. EmEm separado,separado, baterbater asas clarasclaras emem neve,neve, comcom aa
pitadapitada dede salsal..
5.5. MisturarMisturar asas clarasclaras delicadamentedelicadamente àà misturamistura
6.6. AssarAssar emem formaforma untadauntada ee polvilhadapolvilhada comcom
farinhafarinha dede trigo,trigo, emem fornoforno médio,médio, porpor
aproximadamenteaproximadamente 4040 minutosminutos..
Computação BásicaComputação Básica
1. O Conceito de Algoritmo1. O Conceito de Algoritmo
•• AlanAlan TuringTuring ((19121912 -- 19541954),), matemáticomatemático
britânico,britânico, descrevedescreve emem 19361936 umauma máquinamáquina
teórica,teórica, conhecidaconhecida comocomo MáquinaMáquina dede TuringTuring,,
capazcapaz dede realizarrealizar qualquerqualquer tarefatarefa computável,computável,
desdedesde queque executeexecute adequadamenteadequadamente umauma
determinadadeterminada seqüênciaseqüência dede instruçõesinstruções..
•• EsseEsse seqüênciaseqüência dede instruçõesinstruções éé chamadachamada dede
05/04/201105/04/2011 55
•• EsseEsse seqüênciaseqüência dede instruçõesinstruções éé chamadachamada dede
algoritmoalgoritmo..
•• EmEm 19381938,, foifoi recrutadorecrutado pelopelo departamentodepartamento dede análiseanálise
criptográficacriptográfica dodo governogoverno..
•• ConseguiuConseguiu decifrardecifrar oo códigocódigo dada máquinamáquina dede criptografiacriptografia Enigma,Enigma,
queque aa AlemanhaAlemanha dede HitlerHitler usavausava parapara mandarmandar mensagensmensagens
militaresmilitares cifradascifradas durantedurante aa guerraguerra..
Computação BásicaComputação Básica
1. O Conceito de Algoritmo1. O Conceito de Algoritmo
•• GraçasGraças aoao sistemasistema dede decodificaçãodecodificação queque eleele criou,criou, oo ReinoReino
UnidoUnido passoupassou aa interceptarinterceptar asas mensagensmensagens ee localizarlocalizar osos
submarinossubmarinos alemães,alemães, atacandoatacando--osos ee revertendorevertendo oo avançaravançar dada
guerraguerra..
•• MasMas seuseu trabalhotrabalho eraera secreto,secreto, ee osos feitosfeitos dede TuringTuring passarampassaram
semsem aclamaçãoaclamação nana épocaépoca..
05/04/201105/04/2011 66
•• ColossusColossus::
Computação BásicaComputação Básica
1. O Conceito de Algoritmo1. O Conceito de Algoritmo
•• ComoComo homossexual,homossexual, nono inícioinício dosdos anosanos 19501950 foifoi
publicamentepublicamente humilhadohumilhado..
•• PerdeuPerdeu oo acessoacesso dede segurançasegurança aosaos laboratórioslaboratórios ondeonde
trabalhavatrabalhava porque,porque, sobsob aa mentalidadementalidade dada GuerraGuerra FriaFria corrente,corrente,
homossexuaishomossexuais erameram umauma brechabrecha nana segurançasegurança..
•• CondenadoCondenado aa terapiasterapias àà basebase dede estrogênio,estrogênio, oo que,que, dede fato,fato,
05/04/201105/04/2011 77
•• CondenadoCondenado aa terapiasterapias àà basebase dede estrogênio,estrogênio, oo que,que, dede fato,fato,
equivaliaequivalia aa castraçãocastração químicaquímica ee queque teveteve oo humilhantehumilhante efeitoefeito
secundáriosecundário dede lhelhe fazerfazer crescercrescer seiosseios..
•• EmEm 88 dede junhojunho dede 19541954,, umum criadocriado dede TuringTuring encontrouencontrou--oo
mortomorto emem suasua residênciaresidência emem WilmslowWilmslow,, CheshireCheshire..
•• UmUm exameexame postpost--mortemmortem estabeleceuestabeleceu queque aa causacausa dada mortemorte
foifoi envenenamentoenvenenamento porpor cianetocianeto..
Computação BásicaComputação Básica
1. O Conceito de Algoritmo1. O Conceito de Algoritmo
•• OO conceitoconceito centralcentral dada programaçãoprogramação ee dada ciênciaciência dada
computaçãocomputação éé oo dede algoritmoalgoritmo..
•• UmUm algoritmoalgoritmo éé aa descriçãodescrição dede umum padrãopadrão dede
comportamento,comportamento, expressoexpresso emem termostermos dede umum repertóriorepertório bembem
definidodefinido ee finitofinito dede açõesações "primitivas""primitivas",, dasdas quaisquais damosdamos porpor
certocerto queque elaselas podempodem serser executadasexecutadas..
05/04/201105/04/2011 88
•• IntroduziremosIntroduziremos dede formaforma intuitivaintuitiva aa noçãonoção dede algoritmo,algoritmo,
motivandomotivando aoao mesmomesmo tempotempo asas estruturasestruturas básicasbásicas dede controlecontrole
((seqüênciaseqüência simplessimples,, alternativaalternativa ee repetiçãorepetição)) comocomo formasformas
dede raciocínioraciocínio "naturais”"naturais”..
Computação BásicaComputação Básica
1. O Conceito de Algoritmo1. O Conceito de Algoritmo
Linguagem Natural
Algoritmo
05/04/201105/04/2011 99
Linguagem de Programação
Linguagem de Máquina
Computação BásicaComputação Básica
2. Algoritmos Não2. Algoritmos Não--ComputacionaisComputacionais
•• SeqüênciaSeqüência SimplesSimples
"traga a cesta com batatas do porão"; "traga a cesta com batatas do porão"; 
"traga a panela do armário";"traga a panela do armário";
"descasque as batatas"; "descasque as batatas"; 
“devolva a cesta ao porão“;“devolva a cesta ao porão“;
05/04/201105/04/2011 1010
Computação BásicaComputação Básica
•• AlternativasAlternativas
"traga a cesta com batatas do porão"; "traga a cesta com batatas do porão"; 
"traga a panela do armário";"traga a panela do armário";
sese "saia é clara" "saia é clara" entãoentão "coloque avental"; "coloque avental"; 
"descasque as batatas";"descasque as batatas";
2. Algoritmos Não2. Algoritmos Não--ComputacionaisComputacionais
05/04/201105/04/2011 1111
"descasque as batatas";"descasque as batatas";
"devolva a cesta ao porão“;"devolva a cesta ao porão“;
Computação BásicaComputação Básica
•• RepetiçõesRepetições
"traga a cesta com batatas do porão";"traga a cesta com batatas do porão";
"traga a panela do armário";"traga a panela do armário";
se "saia é clara" então "coloque avental"; se "saia éclara" então "coloque avental"; 
"descasque uma batata";"descasque uma batata";
"descasque uma batata";"descasque uma batata";
2. Algoritmos Não2. Algoritmos Não--ComputacionaisComputacionais
05/04/201105/04/2011 1212
"descasque uma batata";"descasque uma batata";
...... (50 vezes)(50 vezes)
""descaquedescaque uma batata";uma batata";
"devolva a cesta ao porão“"devolva a cesta ao porão“
Computação BásicaComputação Básica
•• RepetiçõesRepetições
"traga"traga aa cestacesta comcom batatasbatatas dodo porão"porão";;
"traga"traga aa panelapanela dodo armário"armário";;
sese "saia"saia éé clara"clara" entãoentão "coloque"coloque avental"avental";;
sese "número"número dede batatasbatatas éé insuficiente"insuficiente" entãoentão
"descasque"descasque umauma batata"batata";;
2. Algoritmos Não2. Algoritmos Não--ComputacionaisComputacionais
05/04/201105/04/2011 1313
"descasque"descasque umauma batata"batata";;
sese "número"número dede batatasbatatas éé insuficiente"insuficiente" entãoentão
"descasque"descasque umauma batata"batata";;
......((5050 vezes)vezes)
sese "número"número dede batatasbatatas éé insuficiente"insuficiente" entãoentão
"descasque"descasque umauma batata"batata";;
"devolva"devolva aa cestacesta aoao porão“porão“;;
Computação BásicaComputação Básica
•• RepetiçõesRepetições
"traga"traga aa cestacesta comcom batatasbatatas dodo porão"porão";;
"traga"traga aa panelapanela dodo armário"armário";;
sese "saia"saia éé clara"clara" entãoentão "coloque"coloque avental"avental";;
enquantoenquanto "número"número dede batatasbatatas éé insuficiente"insuficiente" façafaça
"descasque"descasque umauma batata"batata";;
2. Algoritmos Não2. Algoritmos Não--ComputacionaisComputacionais
05/04/201105/04/2011 1414
"descasque"descasque umauma batata"batata";;
"devolva"devolva aa cestacesta aoao porão”porão”;;
Computação BásicaComputação Básica
•• UmUm algoritmoalgoritmo computacionalcomputacional éé umauma seqüênciaseqüência dede
instruçõesinstruções queque manipulamanipula dadosdados..
•• InstruçõesInstruções:: comandoscomandos queque determinamdeterminam aa formaforma pelapela qualqual
osos dadosdados devemdevem serser tratadostratados..
•• DadosDados:: informaçõesinformações recolhidas/fornecidasrecolhidas/fornecidas porpor diversosdiversos
meiosmeios ee queque serãoserão processadasprocessadas pelopelo computadorcomputador atravésatravés dasdas
3. Algoritmos Computacionais3. Algoritmos Computacionais
05/04/201105/04/2011 1515
meiosmeios ee queque serãoserão processadasprocessadas pelopelo computadorcomputador atravésatravés dasdas
instruçõesinstruções..
Computação BásicaComputação Básica
•• AtéAté certacerta parteparte dodo cursocurso vamosvamos implementarimplementar algoritmosalgoritmos
computacionaiscomputacionais utilizandoutilizando oo PORTUGOLPORTUGOL ee aa linguagemlinguagem dede
programaçãoprogramação CC..
•• DepoisDepois dede umum tempo,tempo, vamosvamos abandonarabandonar oo PORTUGOLPORTUGOL ee
permanecerpermanecer apenasapenas comcom oo CC..
•• ExistemExistem váriasvárias versõesversões dede PORTUGOLPORTUGOL..
3. Algoritmos Computacionais3. Algoritmos Computacionais
05/04/201105/04/2011 1616
•• ExistemExistem váriasvárias versõesversões dede PORTUGOLPORTUGOL..
•• AA linguagemlinguagem CC foifoi propostaproposta porpor BrianBrian KernighanKernighan andand
DennisDennis RitchieRitchie entreentre oo finalfinal dada décadadécada dede 19601960 ee inícioinício dada
décadadécada dede 19701970..
Computação BásicaComputação Básica
•• AA linguagemlinguagem foifoi padronizadapadronizada pelopelo ANSIANSI ((AmericanAmerican NationalNational
StandardsStandards InstituteInstitute)) nono finalfinal dada décadadécada dede 19801980 ee ficouficou
conhecidaconhecida comocomo ANSIANSI CC..
•• DesdeDesde entãoentão sofreusofreu váriasvárias alteraçõesalterações..
•• TheThe SpiritSpirit ofof CC::
3. Algoritmos Computacionais3. Algoritmos Computacionais
05/04/201105/04/2011 1717
�� TrustTrust thethe programmerprogrammer..
�� Don’tDon’t preventprevent thethe programmerprogrammer fromfrom doingdoing whatwhat needsneeds
toto bebe donedone..
�� KeepKeep thethe languagelanguage smallsmall andand simplesimple..
�� ProvideProvide onlyonly oneone wayway toto dodo anan operationoperation..
�� MakeMake itit fast,fast, eveneven ifif itit isis notnot guaranteedguaranteed toto bebe
portableportable..
Computação BásicaComputação Básica
•• AsAs 3232 palavraspalavras reservadasreservadas definidasdefinidas nono ANSIANSI CC::
3. Algoritmos Computacionais3. Algoritmos Computacionais
05/04/201105/04/2011 1818
Computação BásicaComputação Básica
•• IdentificadoresIdentificadores:: nomesnomes (rótulos)(rótulos) atribuidosatribuidos àsàs variáveis,variáveis,
funçõesfunções ee estruturasestruturas dede dadosdados queque sãosão utilizadosutilizados emem
algoritmosalgoritmos..
•• RegrasRegras parapara formaçãoformação dede identificadoresidentificadores::
�� oo primeiroprimeiro caracterecaractere devedeve ser,ser, obrigatoriamente,obrigatoriamente, umauma letraletra;;
�� dodo segundosegundo caracterecaractere emem diantediante sãosão permitidospermitidos númerosnúmeros ee
3. Algoritmos Computacionais3. Algoritmos Computacionais
05/04/201105/04/2011 1919
�� dodo segundosegundo caracterecaractere emem diantediante sãosão permitidospermitidos númerosnúmeros ee
letrasletras;;
�� oo símbolosímbolo dede sublinhadosublinhado (_)(_) podepode serser usadousado parapara separarseparar
nomesnomes compostoscompostos;;
�� nãonão sãosão permitidospermitidos espaços,espaços, caracterescaracteres acentuadosacentuados ee
símbolossímbolos especiaisespeciais nana composiçãocomposição dodo nomenome dede umum identificadoridentificador;;
�� palavraspalavras reservadasreservadas nãonão podempodem serser usadasusadas (ver(ver slideslide
anterior)anterior);;
�� háhá distinçãodistinção entreentre maiúsculomaiúsculo ee minúsculominúsculo..
Computação BásicaComputação Básica
•• IdentificadoresIdentificadores
�� ExemplosExemplos válidosválidos::
DataNascimentoDataNascimento
DATA_DE_NASCIMENTODATA_DE_NASCIMENTO
IDADEIDADE
NotaNota11
3. Algoritmos Computacionais3. Algoritmos Computacionais
05/04/201105/04/2011 2020
NotaNota11
TRABALHOTRABALHO22
PESOPESO
�� ExemplosExemplos inválidosinválidos::
33CDCD
MeuMeu NomeNome
Idade&Idade&
DA*TADA*TA
Computação BásicaComputação Básica
•• VariávelVariável:: éé umum espaçoespaço reservadoreservado nana memóriamemória dodo
computadorcomputador parapara armazenararmazenar umum determinadodeterminado tipotipo dede dadodado..
•• DevemDevem receberreceber identificadoresidentificadores parapara poderempoderem serser
referenciadasreferenciadas ee modificadasmodificadas quandoquando necessárionecessário..
•• UmUm programaprograma devedeve conterconter declaraçõesdeclarações queque especificamespecificam dede
queque tipotipo sãosão asas variáveisvariáveis queque eleele utilizaráutilizará ee àsàs vezesvezes umum
3. Algoritmos Computacionais3. Algoritmos Computacionais
05/04/201105/04/2011 2121
queque tipotipo sãosão asas variáveisvariáveis queque eleele utilizaráutilizará ee àsàs vezesvezes umum
valorvalor inicialinicial..
•• EmboraEmbora umauma variávelvariável possapossa assumirassumir diferentesdiferentes valores,valores, elaela
sósó podepode armazenararmazenar umum valorvalor aa cadacada instanteinstante..
Computação BásicaComputação Básica
•• VariávelVariável
3. Algoritmos Computacionais3. Algoritmos Computacionais
27
71.5
Idade
Massa
Memória
05/04/201105/04/2011 2222
71.5
ALEXANDRE
.
.
.
Massa
Nome
Computação BásicaComputação Básica
•• TiposTipos básicosbásicos dede variávelvariável emem PortugolPortugol
�� inteirointeiro:: númeronúmerointeiro,inteiro, negativo,negativo, nulonulo ouou positivopositivo..
ExEx.:.: --1515,, 00,, 101101
�� realreal:: númeronúmero real,real, negativo,negativo, nulonulo ouou positivopositivo.. ExEx.:.: --11,,
--00..55,, 00,, 55,, 99..55
3. Algoritmos Computacionais3. Algoritmos Computacionais
05/04/201105/04/2011 2323
--00..55,, 00,, 55,, 99..55
�� caractercaracter:: conjuntoconjunto dede caracterescaracteres alfanuméricosalfanuméricos.. ExEx.:.:
“AB”,“AB”, ““123123”,”, “A“A123123”” ,, “CASA”“CASA”
�� logicologico:: conjuntoconjunto dede valoresvalores FALSOFALSO ouou VERDADEIROVERDADEIRO
emem proposiçõesproposições lógicaslógicas..
Computação BásicaComputação Básica
•• TiposTipos básicosbásicos dede variávelvariável emem CC (por(por enquantoenquanto issoisso basta,basta,
depoisdepois veremosveremos muitomuito mais!)mais!)::
�� intint:: númeronúmero inteiro,inteiro, negativo,negativo, nulonulo ouou positivopositivo.. ExEx.:.: --
1515,, 00,, 101101
�� floatfloat:: númeronúmero real,real, negativo,negativo, nulonulo ouou positivopositivo.. ExEx.:.: --
11,, --00..55,, 00,, 55,, 99..55
3. Algoritmos Computacionais3. Algoritmos Computacionais
05/04/201105/04/2011 2424
11,, --00..55,, 00,, 55,, 99..55
�� charchar:: apenasapenas umum únicoúnico caractercaracter alfanuméricoalfanumérico.. ExEx.:.: ‘A’,‘A’,
‘‘33’,’, ‘‘22’’ ,, ‘d’‘d’
Computação BásicaComputação Básica
•• EstruturaEstrutura básicabásica dede umum algoritmoalgoritmo computacionalcomputacional emem
PortugolPortugol::
algoritmo “nome_do_algoritmo"
// Seção de Declarações
var
3. Algoritmos Computacionais3. Algoritmos Computacionais
05/04/201105/04/2011 2525
<declaração de variáveis>
// Seção de Comandos
inicio
<comandos>
fimalgoritmo
Computação BásicaComputação Básica
•• EstruturaEstrutura básicabásica dede umum algoritmoalgoritmo computacionalcomputacional emem CC::
#include <stdio.h>
#include <stdlib.h>
int main()
{
// Seção de Declarações
3. Algoritmos Computacionais3. Algoritmos Computacionais
05/04/201105/04/2011 2626
// Seção de Declarações
<declaração de variáveis>
// Seção de Comandos
<comandos>
system("PAUSE");
return 0;
}
Computação BásicaComputação Básica
•• DeclaraçãoDeclaração dede variáveisvariáveis emem PortugolPortugol::
algoritmo “declaravariaveis"
// Seção de Declarações
var
inteiro: idade, num_de_filho
real: peso, altura
3. Algoritmos Computacionais3. Algoritmos Computacionais
05/04/201105/04/2011 2727
real: peso, altura
// Seção de Comandos
inicio
<comandos>
fimalgoritmo
Computação BásicaComputação Básica
•• DeclaraçãoDeclaração dede variáveisvariáveis emem CC::
#include <stdio.h>
#include <stdlib.h>
int main()
{
int idade, num_de_filho;
3. Algoritmos Computacionais3. Algoritmos Computacionais
05/04/201105/04/2011 2828
int idade, num_de_filho;
float peso, altura;
// Seção de Comandos
<comandos>
system("PAUSE");
return 0;
}
Computação BásicaComputação Básica
•• OperadorOperador dede atribuiçãoatribuição::
IdadeIdade == 3030;;
4. Algoritmos Computacionais: Operadores4. Algoritmos Computacionais: Operadores
OperadorOperador AçãoAção
= Atribuição
05/04/201105/04/2011 2929
aa == bb == 11..55;;
Computação BásicaComputação Básica
•• OperadoresOperadores aritméticosaritméticos::
4. Algoritmos Computacionais: Operadores4. Algoritmos Computacionais: Operadores
OperadorOperador AçãoAção
- Subtração, também menos unário
+ Adição
* Multiplicação
05/04/201105/04/2011 3030
* Multiplicação
/ Divisão
% Módulo da divisão (resto)
-- Decremento
++ Incremento
Computação BásicaComputação Básica
•• PrecedênciaPrecedência dosdos operadoresoperadores aritméticosaritméticos::
4. Algoritmos Computacionais: Operadores4. Algoritmos Computacionais: Operadores
OperadorOperador PrecedênciaPrecedência
++ -- Mais alta
- .
* / % .
05/04/201105/04/2011 3131
OperadoresOperadores dodo mesmomesmo nívelnível dede precedênciaprecedência sãosão avaliadosavaliados
pelopelo compiladorcompilador dada esquerdaesquerda parapara aa direitadireita..
ATENÇÃOATENÇÃO �� EmEm qualquerqualquer caso,caso, osos parêntesesparênteses sãosão sempresempre
osos campeões!campeões!
* / % .
+ - Mais baixa
Computação BásicaComputação Básica
•• MenosMenos unáriounário::
numnum11== --numnum;;
4. Algoritmos Computacionais: Operadores4. Algoritmos Computacionais: Operadores
OperadorOperador AçãoAção
- Menos unário
05/04/201105/04/2011 3232
Computação BásicaComputação Básica
•• OperadoresOperadores aritméticosaritméticos::
4. Algoritmos Computacionais: Operadores4. Algoritmos Computacionais: Operadores
OperadorOperador AçãoAção
- Subtração
+ Adição
* Multiplicação
05/04/201105/04/2011 3333
delta = b*b delta = b*b –– 4*a*c;4*a*c;
/ Divisão
Computação BásicaComputação Básica
•• OperadoresOperadores aritméticosaritméticos::
numnum == 1717%%55;;
4. Algoritmos Computacionais: Operadores4. Algoritmos Computacionais: Operadores
OperadorOperador AçãoAção
% Módulo da divisão (resto)
05/04/201105/04/2011 3434
numnum == 1717%%55;;
Computação BásicaComputação Básica
•• OperadoresOperadores aritméticosaritméticos dede atribuiçãoatribuição::
4. Algoritmos Computacionais: Operadores4. Algoritmos Computacionais: Operadores
OperadorOperador AçãoAção
a+=b a = a + b
a-=b a = a – b
a*=b a = a*b
05/04/201105/04/2011 3535
aa +=+= 22;; equivaleequivale aa aa == aa ++ 22;;
a /=b a = a/b
a%=b a = a%b
Computação BásicaComputação Básica
•• OperadoresOperadores dede incrementoincremento ee decrementodecremento::
4. Algoritmos Computacionais: Operadores4. Algoritmos Computacionais: Operadores
OperadorOperador AçãoAção
-- Decremento
++ Incremento
05/04/201105/04/2011 3636
a++a++;; ouou
aa +=+=11;; ouou
aa == aa ++ 11;;
bb == ++a++a;; diferedifere dede bb == a++a++;;
aa----;; ouou
aa --==11;; ouou
aa == aa -- 11;;
bb == ----aa;; diferedifere dede bb == aa----;;
Computação BásicaComputação Básica
•• AlgumasAlgumas funçõesfunções úteisúteis::
5. Algoritmos Computacionais: Funções5. Algoritmos Computacionais: Funções
FunçãoFunção AçãoAção
pow(a,b) ab (a^b)
sqrt(a) (a1/2 ou a^(1/2) )a
05/04/201105/04/2011 3737
ATENÇÃOATENÇÃO �� AsAs funçõesfunções têmtêm prioridadeprioridade sobresobre osos outrosoutros
operadoresoperadores..
Computação BásicaComputação Básica
•• ExemplosExemplos::
6. Operadores e Funções: Exemplos6. Operadores e Funções: Exemplos
x
xx
x
x 1
2
32
)1(
2 ++−
+
05/04/201105/04/2011 3838
Computação BásicaComputação Básica
•• ExemplosExemplos::
2*2*powpow(x,2) (x,2) –– 3*3*powpow(x,x+1)/2 + (x,x+1)/2 + sqrtsqrt(x+1)/x(x+1)/x
6. Operadores e Funções: Exemplos6. Operadores e Funções: Exemplos
x
xx
x
x 1
2
32
)1(
2 ++−
+
05/04/201105/04/2011 3939
2*2*powpow(x,2) (x,2) –– 3*3*powpow(x,x+1)/2 + (x,x+1)/2 + sqrtsqrt(x+1)/x(x+1)/x
Computação BásicaComputação Básica
•• ExemplosExemplos::
6. Operadores e Funções: Exemplos6. Operadores e Funções: Exemplos
k
hh
x
h
22
)3(4
3
452 





−−−
05/04/201105/04/2011 4040
Computação BásicaComputação Básica
•• ExemplosExemplos::
2*h 2*h -- powpow( 45/(3*x) ( 45/(3*x) -- 4*h*(34*h*(3--h), 22*k )h), 22*k )
6. Operadores e Funções: Exemplos6. Operadores e Funções: Exemplos
k
hh
x
h
22
)3(4
3
452 





−−−
05/04/201105/04/2011 4141
2*h 2*h -- powpow( 45/(3*x) ( 45/(3*x) -- 4*h*(34*h*(3--h), 22*k )h), 22*k )
Computação BásicaComputação Básica
•• ExemplosExemplos::
a+b+(34+a+b+(34+powpow(9,e))/((9,e))/(uu--sqrtsqrt(89))(89))
6. Operadores e Funções: Exemplos6. Operadorese Funções: Exemplos
05/04/201105/04/2011 4242
Computação BásicaComputação Básica
•• ExemplosExemplos::
a+b+(34+a+b+(34+powpow(9,e))/((9,e))/(uu--sqrtsqrt(89))(89))
6. Operadores e Funções: Exemplos6. Operadores e Funções: Exemplos
934 + e
05/04/201105/04/2011 4343
89
934
−
+
++
u
ba
e
Computação BásicaComputação Básica
•• ExemplosExemplos::
((powpow(a+x, 2+w) (a+x, 2+w) –– 3*a)/23*a)/2
6. Operadores e Funções: Exemplos6. Operadores e Funções: Exemplos
05/04/201105/04/2011 4444
Computação BásicaComputação Básica
•• ExemplosExemplos::
((powpow(a+x, 2+w) (a+x, 2+w) –– 3*a)/23*a)/2
6. Operadores e Funções: Exemplos6. Operadores e Funções: Exemplos
3)( 2 axa w −+ +
05/04/201105/04/2011 4545
2
3)( 2 axa w −+ +
Computação BásicaComputação Básica
•• SaídaSaída dede dadosdados (via(via monitor)monitor)::
�� EmEm PortugolPortugol:: escrevaescreva()()
escrevaescreva("Sua idade é:", idade, "anos.");("Sua idade é:", idade, "anos.");
�� Em C: Em C: printfprintf()()
7. Entrada e Saída de Dados7. Entrada e Saída de Dados
05/04/201105/04/2011 4646
printfprintf("Sua idade é: ("Sua idade é: %d%d anos. anos. \\nn", idade);", idade);
printfprintf("Sua altura é: ("Sua altura é: %f%f metros. metros. \\nn", altura);", altura);
printfprintf("A letra é: ("A letra é: %c%c. . \\nn", letra);", letra);
\\n n �� Nova linhaNova linha
Computação BásicaComputação Básica
•• EntradaEntrada dede dadosdados (via(via teclado)teclado)::
�� EmEm portugolportugol:: leialeia()()
leialeia(idade)(idade);;
leialeia(altura)(altura);;
leialeia(letra)(letra);;
7. Entrada e Saída de Dados7. Entrada e Saída de Dados
05/04/201105/04/2011 4747
�� Em C: Em C: scanfscanf()()
scanfscanf("("%d%d", &idade);", &idade);
scanfscanf("("%f%f", &altura);", &altura);
scanfscanf("("%c%c", &letra);", &letra);

Continue navegando