Introdução à Informática Aulas 29e30– Programação em Python MicheleA.Brandão [email protected] UniversidadeFederaldeMinasGerais Novembrode2016 Python § § § § § Linguagemdealtonível Sintaxesimples:fácil deaprender Implementaçãodistribuídacomocódigolivre Muitasbibliotecasdisponíveis Podeserusadaemdiferentessistemasoperacionais § Windows,Linux,MacOS,etc. § Usadanomundoreal § Google,Microsoft,Yahoo!,NASA,outros § Siteoficial:http://www.python.org 2 Python § OprogramaPythonétraduzidoparaumcódigointermediário chamadobyte-code § Obyte-code éexecutadoporuminterpretadorespecial § Vantagens § Fácil deusarinterativamente § Fácil detestaremodificarcomponentes § Maiseficientedoqueuminterpretadorclássico § Desvantagem § Nãoétãoeficientecomoumalinguagemcompiladatradicional(C,C++, Fortran,etc) 3 Python– UtilizaçãoInterativa § OscomandossãoexecutadosnoterminaldoPython § PodemosescrevercomandosPythoneverosresultados imediatamente § Nessaaula,opython serátestadoonline § Bastautilizarosite:www.jdoodle.com 4 Python § Após acessarositewww.jdoodle.com,escolha alinguagem deprogramação Escolhaa linguagemde programação.No caso,python3. 5 Python § Após acessarositewww.jdoodle.com,digite ocódigoem pythonnacaixabranca Espaço para digitar ocódigo 6 Python § Após acessarositewww.jdoodle.com,digite ocódigoem pythonnacaixabranca Espaço para digitar aentrada docódigo 7 Python § Exemplo:códigoparasomardoisnúmerosempython Apósdigitarocódigo, cliqueemExecutepara obteroresultado. 8 Python Programa parasomar dois números Os dois númerosqueserão somados Saídadoprograma 9 Variáveis § Posiçãodememóriaquearmazenaumdadoouvalor § Podeserutilizadaemodificadapeloprograma § Deveserdefinidaantesdeserusada 10 Variáveis-Propriedades § Nome § Podeterumoumaiscaracteres § Nemtudopodeserusadocomonome § Tipo § Conjuntodevaloresaceitos 11 Variáveis-Nomes § Deveiniciarcomletras § Podemconterletras,númerosouunderscores (_).Apartir dasversõesdePython3.0asletraspodemseracentuadas § Letrasmaiúsculas eminúsculas sãoconsideradasdiferentes § Palavrasreservadasnãopodemserusadascomonomes 12 Variáveis–PalavrasReservadas and def if assert del break class return finally import elif for pass else from continue True not except False in is as global or try while yield lambda raise with None 13 Variáveis § Quaisnomesdevariáveis estãoincorretos: 1.Contador 2.contador1 3.comp! 4..var 5.Teste123 6.teste 7.int 8.int1 9.1contador 10.-x 11.Teste-123 14 Variáveis § Quaisnomesdevariáveis estãoincorretos: 1.Contador 2.contador1 3.comp!(incorreto) 4..var(incorreto) 5.Teste123 6.teste 7.int 8.int1 9. 1contador(incorreto) 10.–x(incorreto) 11.Teste-123 (incorreto) 15 Variáveis–Tipo § Osvaloresevariáveis emPythonsãoclassificadosem diferentestipos § Otipodefineosvaloresqueavariável podeassumireas operaçõesquepodemserrealizadascomela § Diferentedeoutraslinguagens,nãoprecisamosdefiniro tipodeumavariável § Otipodavariável sealteraconformeodadoarmazenado § Comandotype(x)permitesaberotipodovalorouvariável emx 16 Comando deImpressãonaTela § Funçãoprint() § Funçãoquerealizaaimpressãodosdadosdoprogramano terminal § Formageral:print(expressão1,expressão2,...,expressãoN) Testenohttps://www.jdoodle.com/python3-programming-online print(4,5,6) 17 Comando deEntradadeDados § Funçãoinput() § Funçãoquerealizaaleituradeumacadeiadecaracteresdoteclado noterminal § Formageral:variável =input(texto) § Afunçãoinput()escrevetextonoterminal.Éopcional Ocomandoinput()estásemtexto,maspoderia serinput("Digiteoprimeironumero:").Assim, otextoDigiteoprimeironumero:apareceria paraousuárionoterminal. 18 Comando deEntradadeDados § Podeserfeitaaconversãoexplícitaentretipos § Permiteconverterumtipodedadoemoutro § int(x):convertex parainteiroviatruncagem (apenasaparteinteiraé considerada) § round(x):convertex parainteiroviaarredondamento § float(x):convertex paraponto-flutuante § str(x):converteumvalorx paratexto 19 Atribuição § OoperadordeAtribuiçãoé = § Associaovalordeumaexpressãoaumavariável § Avariável écriadanesteprocesso § Formageral:nomedavariável =valorouexpressão A=25 Ovalor25(númerointeiro–int) foi atribuídoavariávelA 20 Atribuição § Éimportantenotarqueaatribuiçãoéumcomando,não umaequação § Alterarovalordeumavariável,nãoalteraovalordas variáveis jácalculadasusandooantigovalor 21 Operadores Aritméticos § Permitemcriarexpressõesaritméticasutilizandonúmeros inteirosefracionários § Seguemaprecedência damatemática:multiplicaçãoe divisãotemprioridadeemrelaçãoasomaesubtração 22 Operadores Relacionais § Permitemacomparaçãoentreosvaloresdediferentesvariáveis § ==Igual § x==5 § !=Diferente § x!=5 § >Maior doque § x>y § >=Maiorouiguala § x >=10 § <Menordoque § y<100 § <=Menorou iguala § y<=z 23 Operadores Lógicos § Sãooperadoresquetrabalhamcomvaloreslógicos e retornamumvalorlógico verdadeiro(1)oufalso(0) § and OperadorE § x ==5and x <y § or OperadorOU § x !=5oux <0 § not Operadordenegação § not (x >y) 24 Comando if § Ocomandoif éutilizadoquandofornecessárioescolher entredoiscaminhosdentrodoprogramaouquandose desejaexecutarumcomandosujeitoaoresultadodeum teste § Aexpressão,nacondição,será avaliada: § Seacondiçãoforverdadeira(True),asequência deinstruções seráexecutada § Seelaforfalsa(False),asequência deinstruçõesNÃOserá executada 25 Comando if- Exemplo 26 Comando if- Exemplo Nohttps://www.jdoodle.com/python3programming-online,épreciso especificarqueIdadeédotipointeiro (int).Porisso,precisamoscolocar int(Idade).Alémdisso,sempreé precisocolocar()noprint.Ex: print(”maiordeidade"). Issovariadecompiladorpara compilador. 27 Exercício § Dadaovalordanotadeumaluno,monteaexpressãoif queverifica seeleprecisarfazerexameespecial.Oalunodeverfazeresseexame sesuanotaformaiorouiguala30emenordoque60. 28 Exercício § Dadaovalordanotadeumaluno,monteaexpressãoif queverifica seele precisarfazerexameespecial.Oalunodeverfazeresseexamesesuanotafor maiorouiguala30emenordoque60. Entrada:anotadoaluno Saída:Comoanotadoaluno é45,acondição doifint(nota)>=30andint(nota)<60:é válida,entãoéimpressoqueoalunoprecisa 29 fazerexameespecial. Comando While § Equivaleaocomandoenquanto utilizadonospseudocódigos § Repeteumasequência decomandosenquantoacondição forverdadeira 30 Exemplo While § ImprimindoosnúmerosentreAeB 31 Exemplo While § ImprimindoosnúmerosentreAeB Nohttps://www.jdoodle.com/python3programming-online,olhemasaídado programa. Porqueessasaída? 32 Exemplo While § ImprimindoosnúmerosentreAeB Valoresiniciais deAeB A B 13 25 33 Exemplo While § ImprimindoosnúmerosentreAeB 13<=25(verdadeiro) Asinstruções print(A) e A=A+1serão executadas A B 13 25 34 Exemplo While § ImprimindoosnúmerosentreAeB Emprint(A),ovalordeA queé13seráexibidona tela E emA=A+1,A=13+1=14 A B 13 25 35 Exemplo While § ImprimindoosnúmerosentreAeB Aofinalizarasduas instruções,olaçowhile voltaaserexecutado. A<=Bequivalea14<=25 (verdadeiro) Entãoasduasinstruções dentrodolaçowhilevoltam aserexecutadas. A B 13 25 14 25 36 Exemplo While § ImprimindoosnúmerosentreAeB Aofinalizarasduas instruções,olaçowhile voltaaserexecutado. A<=Bequivalea14<=25 (verdadeiro) Entãoasduasinstruções dentrodolaçowhilevoltam aserexecutadas. A B 13 25 14 25 15 25 37 Exemplo While § ImprimindoosnúmerosentreAeB Asoperaçõesdentrodolaço whileserãoexecutadasaté Aseriguala25. A B 13 25 14 25 15 25 16 25 17 25 18 25 19 25 20 25 21 25 22 25 23 25 24 25 25 25 38 Comando For § Oloopoulaçoforéusadopararepetirumconjuntode instruçõesparaumalistadevalores § Onúmerodeiteraçõesdarepetiçãoestá limitadopelo comprimentodalistadevalores 39 Comando For Observem asaídado programa 40 FunçãoRange § Afunçãorange()permitegerarsequências devaloresem progressãoaritmética § Muitoútilparageraraslistasdevaloresparaocomandofor § Formasdeuso: § range(N):geravaloresinteirosde0at N-1 § range(i,N):geravaloresinteirosdei at N-1 § range(i,N,D):geraosvaloresinteirosi,i+D,i+2D,... 41 Comando For § Imprimiros30primeirosnúmerosinteiros 42 Comando For § Imprimiros30primeirosnúmerosinteiros Comocomeça dozero, completa 30números impressosno29. 43