© 2013,CasadoCódigo TodososdireitosreservadoseprotegidospelaLeinº9.610,de10/02/1998. Nenhumapartedestelivropoderáserreproduzida,nemtransmitida,semauto- rizaçãopréviaporescritodaeditora,sejamquaisforemosmeios: fotográficos, eletrônicos,mecânicos,gravaçãoouquaisqueroutros. CasadoCódigo Livrosparaoprogramador RuaVergueiro,3185-8ºandar 04101-300–VilaMariana–SãoPaulo–SP–Brasil E-book gerado especialmente para Jarbas Gomes Duarte Neto - [email protected] E-book gerado especialmente para Jarbas Gomes Duarte Neto - [email protected] E-book gerado especialmente para Jarbas Gomes Duarte Neto - [email protected] CasadoCódigo “Aosmeuspais,semprecaminhantes” –PauloSilveira “Aosmeuspais,irmãoeirmãquesemprememostraramocaminho” –AdrianoAlmeida i E-book gerado especialmente para Jarbas Gomes Duarte Neto - [email protected] E-book gerado especialmente para Jarbas Gomes Duarte Neto - [email protected] CasadoCódigo Agradecimentos Esperamosquevocêaproveiteolivro.Foifeitocommuitaatenção,paraqueonível dedificuldadesempresuba,semdesanimaroiniciante.Aotérmino,vocêserácapaz decriarsuasprópriasestruturasgráficaseatémesmoumsimplesjogodecomputa- dor. Muitasdecisõesnãoforamfáceis.Preteriroconsole.logemfavordodesengon- çadodocument.write,explicarfunçõesantesdeifsefors,definirfunçõesatravés deatribuiçãoemvezdasintaxemaiscomum.Essessãoapenasalgumasdasquestões queapresentavamvantagensedesvantagensparaumamelhorabordagemdidática. Realizamosnossasescolhasdepoisdealgunstestescompessoasleigasemcomputa- ção. UmagradecimentoespecialaoLeonardoWoltereFranciscoSokolpelabasedos exercícios com animações. Outro ao Erich Egert, pelo teste do livro com alunos e diversassugestõesparanovosdesafios. iii E-book gerado especialmente para Jarbas Gomes Duarte Neto - [email protected] E-book gerado especialmente para Jarbas Gomes Duarte Neto - [email protected] CasadoCódigo Sumário Sumário 1 Comeceaprogramarhoje 1 1.1 Conversecomseunavegador. . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 CriandoseupróprioarquivoHTML . . . . . . . . . . . . . . . . . . . 5 1.3 UmpoucomaisdeHTML . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.4 Dêoláaomundo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.5 Reviseocódigo:seuprimeiroprograma . . . . . . . . . . . . . . . . . 11 1.6 UtilizeoChromeeoNotepad++ . . . . . . . . . . . . . . . . . . . . . 12 1.7 Socorro! Meuprogramanãofunciona. Conheçaeuseoconsoledo Chrome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.8 Socorro!Aacentuaçãonãoestáfuncionandocorretamente . . . . . . 16 2 Comunique-secomousuário 17 2.1 Dêoláaomundodeoutrasformas . . . . . . . . . . . . . . . . . . . . 17 2.2 Trabalhecomnúmeros . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.3 Revisandooseucódigo:trabalhandocomnúmeros . . . . . . . . . . 20 2.4 Organizeseusdadosemvariáveis . . . . . . . . . . . . . . . . . . . . . 21 2.5 Reescrevendoamédiadeidadedosseusamigos . . . . . . . . . . . . 22 2.6 Revisandooseucódigo:organize-secomvariáveis . . . . . . . . . . . 23 2.7 ParedeescreverBRtantasvezes! . . . . . . . . . . . . . . . . . . . . . 25 2.8 Reviseocódigo:criesuaprimeirafunção . . . . . . . . . . . . . . . . 27 2.9 Funçõespassandoinformaçõesechamandooutrasfunções . . . . . . 28 2.10 Reviseocódigo:usandoafunçãomostra. . . . . . . . . . . . . . . . . 29 2.11 Mostrandomensagenssecretas,apenasparaoprogramador . . . . . 30 2.12 Parasabermais:comentários . . . . . . . . . . . . . . . . . . . . . . . 32 2.13 Compartilheseucódigocomseusamigos! . . . . . . . . . . . . . . . . 32 v E-book gerado especialmente para Jarbas Gomes Duarte Neto - [email protected] Sumário CasadoCódigo 3 Pratiqueresolvendoproblemasdoseudiaadia 35 3.1 Comoestáseupeso?Saudável? . . . . . . . . . . . . . . . . . . . . . . 35 3.2 UtilizeumafunçãoparacalcularoIMCdecadaamigo . . . . . . . . 36 3.3 Reviseocódigo:calculandooIMC . . . . . . . . . . . . . . . . . . . . 38 3.4 Trabalhecomdadoscapturados:pergunteaalturaepesodousuário 40 3.5 Exercícios:pergunteosdadosdousuárioparacalcularoIMC . . . . 41 3.6 Descubraquantosdiasseusamigosjáviveram . . . . . . . . . . . . . 41 3.7 Vocêjáentendeuaordemdaschamadasdasfunções? . . . . . . . . . 43 3.8 UtilizeoconsoledoChromeparafazertestes! . . . . . . . . . . . . . . 43 3.9 Umaformamaiscomumdedeclararfunções . . . . . . . . . . . . . . 46 4 Executecódigosdiferentesdependendodacondição 47 4.1 Quantospontostemseutimedefutebol?. . . . . . . . . . . . . . . . . 47 4.2 Verifiqueasituaçãodoseutimedefutebol . . . . . . . . . . . . . . . . 50 4.3 Revisandonossocódigo:pontosdocampeonato . . . . . . . . . . . . 51 4.4 OseuIMCestáideal? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.5 Jogo:adivinheonúmeroqueestoupensando . . . . . . . . . . . . . . 54 4.6 Revisandoseucódigo:ojogodaadivinhação . . . . . . . . . . . . . . 57 5 Comorepetirtarefasdoprograma? 61 5.1 Quandoserãoaspróximascopasdomundo? . . . . . . . . . . . . . . 61 5.2 Realizeoloopsomenteemdeterminadascondições . . . . . . . . . . 63 5.3 Reviseseucódigo:mostreosanosdecopasatécansar . . . . . . . . . 65 5.4 Caracteresenúmeros,qualéadiferençaafinal? . . . . . . . . . . . . . 67 5.5 Reviseseucódigo:transformetextoemnúmeros . . . . . . . . . . . . 69 5.6 Praticandomaisumpouco:Façatabuadas . . . . . . . . . . . . . . . . 70 5.7 Aprendaumaformadiferentedemostraratabuada:ocomandofor . 73 5.8 Reescrevendoatabuadacomofor . . . . . . . . . . . . . . . . . . . . 75 5.9 Amédiadeidades,masdeumaformamaisinteressante . . . . . . . . 77 5.10 Jogo:Maischancesparaadivinharonúmeroqueestoupensando . . 81 5.11 Revisandonossocódigo:Ojogodaadivinhaçãodosnúmeros . . . . 84 5.12 Exercícios:trabalhandocomumloopdentrodooutro . . . . . . . . . 85 vi E-book gerado especialmente para Jarbas Gomes Duarte Neto - [email protected]