34
Programação Avançada Conceitos básicos Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012

Programação Avançada Conceitos básicos

  • Upload
    gilon

  • View
    50

  • Download
    4

Embed Size (px)

DESCRIPTION

Programação Avançada Conceitos básicos. Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012. Operações básicas. + - / * ** ou pow (a,b) % = ==, !=, , = or , and , not. Valor dos operadores. 10/3 10.0/3 10/3.0 10%3 10.0%3 - PowerPoint PPT Presentation

Citation preview

Programao Avanada

Programao AvanadaConceitos bsicosProf. Natalia Castro FernandesMestrado em Telecomunicaes UFF2 semestre/2012Operaes bsicas+-/*** ou pow(a,b)%===, !=, , =or, and, not

Valor dos operadores10/310.0/310/3.010%310.0%3A = casa e B = teste. A+B=?VariveisSo nomes dados a reas de memriaNomes compostos de algarismos,letras ou _O primeiro caractere no pode ser um algarismoPalavras reservadas (if, while, etc) so proibidasFuncionalidades:Guardar valores intermediriosCriar estruturas de dadosUma varivel modificada usando o comando de atribuio:Var = expressovar1,var2,...,varN = expr1,expr2,...,exprNExerccioQual o resultado:a=1b=2 a, b = 2*a,b

a=1 b=2 a,b=b,aTipos de variveisO tipo da varivel no explicitamente definido em Python!Exemplo: Crie uma string contendo a palavra testeComportamento de variveisVariveis Criadas dinamicamenteDestrudas automaticamente quando no mais necessriasTipo da varivel muda conforme valor atribudoA = Casa #A uma stringA+1 #Gera erroA = 1 #Agora A passou a ser um inteiroA+1 #Resulta em 2Comentrios so colocados com o uso do #Tipos de variveisTipos primitivos Embutidos na linguagemTiposSimplesint Nmeros inteiros de preciso fixa (1 palavra=32 bits)Exemplos: 1 , -2 , 25 Representao em hexadecimal:a=0xabEm decimal, a=171Representao em octal:a=030Em decimal, a = 24Tipos de variveislongNmeros inteiros de preciso arbitrria (Tantas palavras quanto for necessrio)Exemplos: 1L , 10000L , -9999999L

floatNmeros racionais de preciso varivel (2 palavras)Exemplos: 1.043, 123e14, 2e5Uso de e ou E representando potncia de 102e2 equivale a 200

Tipos de variveiscomplex Nmeros complexos Exemplos: 1+1j , 20j , 1000+100JPode-se usar j ou J, mas sempre com um nmero na frenteA=j erroA=1j Nmero complexoTipos de variveisString Sequncia de caracteres Exemplos: casa, casaPode-se usar ou indistintamenteA representao de um caractere ou de uma string feita de forma indistintaOperaes+ Concatenao* Repetioa*3 = aaaTipos de variveisCaracteres especiais que no so impressos so representados com a barra invertida (\)\n = new line\r = carriage return\t = tab\b = backspace\\ = \Qual o resultado das seguintes operaes? Por qu?

>>> ab\rd>>> print ab\rd>>> print abc\td>>> print abc\nd>>> print abc\\nd>>> print ab\bc

Tipos de variveisStrings podem ser escritas em vrias linhasA = A minha frase de exemplo \ pode ser muito longa, \ de tal forma que eu prefira \ escrev-la em vrias linhas.A = A minha frase de exemplo pode ser muito longa, de tal forma que eu prefira escrev-la em vrias linhas.A = A minha frase de exemplo pode ser muito longa, de tal forma que eu prefira escrev-la em vrias linhas.

Tipos de variveisndices de stringsPrimeiro caractere com ndice 0ltimo caractere com ndice -1Exemplo:A=testeA[0]=tA[4]=eA[-1]=eTrechos de stringsRepresentao: A[incio:fim]Omitir incio ou fim significa trecho a partir do inicio ou at o fimInclusoExclusoTipos de variveisExemplos>>> a = 'abcde>>> a[0:2]'ab'>>> a [2:]'cde'>>> a[:]'abcde'>>> a[-1:]'e'>>> a[:-1]'abcd'Tipos de variveisTipos primitivos SimplesCompostosListasDicionriosTuplasConjuntosDefinidos pelo usurioClassesVeremos tipos compostos e definidos pelo usurio mais a frente.Expresses booleanasUsadas como condiesIf e laos (for e while)Resultam True ou False True e False so palavras especiais de Python (lembrar de usar letra maiscula)True = qualquer valor no nuloFalse = 0Avaliao feita da esquerda para a direitaResultado retornado to logo seja possvelExpresses booleanasO operador or retorna o primeiro operando se esse for verdadeiroCaso contrrio retorna o segundoO operador and retorna o primeiro operando se for falsoCaso contrrio retorna o segundoOrdem de avaliaoOperadores relacionais notandor (ltimo a ser avaliado)Expresses booleanasExerccio: Qual o resultado? 1==1 1==2 1==1 or 1==2 1==1 and 1==2 1>> fibo.fib2(100)

>>> fibo.__name__

Importando mdulosimport moduloImporta o mdulo completo.Exemploimport mathmath.cos(0.67)from modulo import *Importa o mdulo completoExemplofrom math import *cos(0.67)

Usa o nome do mdulo na frente da funoUsa a funo diretamenteImportando mdulosfrom modulo import funo1, funo2Importa apenas funes especificadasExemplofrom math import coscos(0.67)

Usa a funo diretamenteCriando o seu prprio cdigoVoltando ao exemplo do Fibonacci (fibo.py)

# Fibonacci numbers module

def fib(n): # write Fibonacci series up to n a, b = 0, 1 while b < n: print b, a, b = b, a+b

ComentrioDefinio de uma funoAtribuio de valores a variveisLao com expresso booleanaBloco a ser repetidoIndentaoCriando o seu prprio cdigoFuno principalTudo o que est fora das definies de funoContudo, mais formal usar o seguinte:if __name__ == "__main__":Permite criar um script e um mdulo importvel ao mesmo tempoOrganiza melhor o cdigoCriando o seu prprio cdigoComando condicional ifUsoif expressao:comandos

if expressao:comandos1else:comandos2

if expressao1:comandos1elif expressao2:comandos2else:comandos(N)Tipo 1: Se, ento faaTipo 2: Se, ento faa. Seno, faa.Tipo 3: Se, ento faa. Seno, se, ento faa. Seno, faa.elif else ifelif pode ser repetido vrias vezesCriando o seu prprio cdigoExemplo:a = input("Entre com um numero:")if a < 0:print a," negativoelif (a==0):print a, zeroelse print a, negativoprint "Obrigado!"Criando o seu prprio cdigoLao whileUso while (expresso):Executa enquanto expresso for TrueAteno: Pode criar loops infinitos!!Ex:A=1B=1while (A==1):B= B+1print BCriando o seu prprio cdigoFuno printEscrever texto na tela sem pular de linhaUsoprint texto1, texto2, varivel1, texto3Resultado: texto1 texto2 1 texto3Se o comando terminar com vrgula, o prximo print continua da mesma linhaEx:print texto1, print texto2Resultado: texto1 texto2

Criando o seu prprio cdigoFuno inputRecebe dados da linha de comandoUso: input(Texto qq)Exemplo:A=input(Digite a sua idade)print AObservao: strings s podem ser recebidas com o input se forem colocadas entre ou Funo raw_inputInterpreta qualquer entrada como stringNo precisa de ou Espera at o usurio digitar alguma coisaCriando o seu prprio cdigoExerccioFaa um programa que pea do usurio um nmero e escreva na tela se ele primo ou no.Transforme o seu programa em uma funo e crie um mdulo.Importe o seu mdulo e mostre o uso da sua funo.