Python: Comandos Básicos. Claudio Esperança



Documentos relacionados
Organização de programas em Python. Vanessa Braganholo

Python Condicionais e Loops. Introdução à Programação SI1

CURSO BÁSICO DE PROGRAMAÇÃO AULA 7

Linguagem C: Estruturas de Controle. Prof. Leonardo Barreto Campos 1

Minicurso de Python Aula 1. Raphael Lupchinski Marcelo Millani

e à Linguagem de Programação Python

Universidade Federal de Minas Gerais Instituto de Ciências Agrárias

Python: Módulos. Claudio Esperança

1 Detecção e correcção de erros Erros sintáticos Erros de execução Erros semânticos Erros semânticos...

Python Funções. Introdução à Programação SI1

Programação de Computadores I Pseudocódigo PROFESSORA CINTIA CAETANO

Algoritmos e Estrutura de Dados. Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira

Introdução a Algoritmos Parte 04

Danilo Borges da Silva

Programação Elementar de Computadores Jurandy Soares

Aula 4: adivinhe o número

UFOP PC-I Prof. Guilherme / Anderson. Operadores Relacionais e Lógicos, Comandos For e While e String

Algoritmos com VisuAlg

CURSO BÁSICO DE PROGRAMAÇÃO AULA 9. Revisão Aula Anterior Estruturas de Decisão (If e Switch)

Introdução à Computação - aulas 01 e 02 -

Exercícios de Fixação Pseudocódigo e Estruturas Básicas de Controle

Faculdade de Ciências Universidade Agostinho Neto Departamento de Matemática e Engenharia Geográfica Ciências da Computação

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem.

AMBIENTE DE PROGRAMAÇÃO PYTHON

PYTHON LISTAS. Introdução à Programação SI2

Aluísio Eustáquio da Silva

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Capítulo 2: Introdução à Linguagem C

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: Prof. Dr. Raimundo Moura

Algoritmo. Linguagem natural: o Ambígua o Imprecisa o Incompleta. Pseudocódigo: o Portugol (livro texto) o Visualg (linguagem) Fluxograma

Algoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo

JavaScript (ou JScript)

Internet e Programação Web

INF 1005 Programação I

Algoritmo. Prof. Anderson Almeida Ferreira. Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação

Comandos de repetição while

Programando com Python. Prof. Diemesleno Souza Carvalho

2. ALGORITMOS. Unesp Campus de Guaratinguetá. Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro

Programação Básica em Arduino Aula 2

Resumo da Matéria de Linguagem de Programação. Linguagem C

CAPITULO 5 COMANDO DE FLUXO IF

Algoritmos em Javascript

Sumário. INF01040 Introdução à Programação. Elaboração de um Programa. Regras para construção de um algoritmo

Algoritmos e Programação Estruturada

Programação WEB I Estruturas de controle e repetição

MICROSOFT EXCEL AVANÇADO

Aprendendo Python na Prática. Dante Moreira Zaupa Mestrando em Computação Aplicada Bolsista de Pesquisa

Projeto e Desenvolvimento de Algoritmos

Algoritmos e programação

2 echo "PHP e outros.";

Programação: Estruturas de seleção

Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C / C++

Python: Funções. Claudio Esperança

Lista de Exercícios 3 Estruturas de Controle Profa Susana M Iglesias

Tutorial de Matlab Francesco Franco

ESTRUTURA CONDICIONAL

Sistemas de Numeração

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza.

Variáveis, Expressões e Comandos. Prof. Alberto Costa Neto Programação em Python

Prof. Esp. Adriano Carvalho

1 Expressões, valores e tipos 1. 2 Variáveis e atribuições 5. cálculo de expressões segue a estrutura de parênteses e as prioridades dos operadores

Estruturas de controle no nível de sentença

1. Estrutura de seleção. Seleção: algumas etapas (passos) do algoritmo são executadas dependendo do resultado de uma condição

Oficina de Programação em Python direcionada para o desenvolvimento de jogos

Programação científica C++

Curso C: Controle de Fluxo

¹CPTL/UFMS, Três Lagoas, MS,Brasil, ²CPTL/UFMS, Três Lagoas, MS, Brasil.

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP

SOLICITAÇÃO DE CERTIFICADO SERVIDOR TOMCAT

Utilizem a classe Aula.java da aula passada:

Introdução à Linguagem

Módulo 4. Instruções for, while e do/while. Algoritmos e Estruturas de Dados I C++ (Rone Ilídio)

A1;A7 é o mesmo que A1 e A7 A1:A7 é o mesmo que A1 até A7 (abrange A1, A2, A3, A4, A5, A6, A7).

DESENVOLVIMENTO DE SOFTWARE II. Aula 07 A linguagem de programação C# e sua sintaxe

INTRODUÇÃO À LINGUAGEM C++

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

Introdução à Programação Aula 11 Mais sobre ciclos e iteração

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

Introdução ao Shell Script

MA14 - Aritmética Unidade 4. Representação dos Números Inteiros (Sistemas de Numeração)

ALGORITMOS cont. Universidade Federal do Rio Grande do Norte Centro de Tecnologia Departamento de Computação e Automação

ALGORITMO I ESTRUTURA DE CONTROLE REPETIÇÃO PARA / ENQUANTO;

JAVA NETBEANS PGOO Prof. Daniela Pires Conteúdo

Curso de Iniciação ao Access Basic (I) CONTEÚDOS

20 Caracteres - Tipo char

Organização de programas em Python. Vanessa Braganholo

P r o g r a m a ç ã o d e C o m p u t a d o r e s 1 o S e m P r o f. A n d r é A m a r a n t e L u i z L A B 5 tag %2d while printf PE1:

Componentes da linguagem C++

IFTO LÓGICA DE PROGRAMAÇÃO AULA 02

Algoritmo e Programação

Fundamentos de Programação II. Introdução à linguagem de programação C++

Oficina de ShellScript

Transcrição:

Python: Comandos Básicos Claudio Esperança

Primeiros passos em programação Até agora só vimos como computar algumas expressões simples Expressões são escritas e computadas imediatamente Variáveis podem ser usadas para valores temporários Um programa típico entretanto usa vários tipos de construções tais como: Comandos condicionais Comandos de repetição Definição e uso de procedimentos (subprogramas) Definição e uso de classes e objetos (programação OO)

Primeiros passos em programação >>> # Série de Fibonacci... a,b=0,1 >>> while b < 10:... print b... a,b=b,a+b... 1 1 Indentação 2 3 5 8 Resultado Comentário Atribuição dupla Comando de repetição Expressão booleana Bloco do comando de repetição

Programas armazenados À medida que os programas vão se tornando mais complicados, é mais interessante guardá los em arquivos e executá los quando necessário Arquivo fibo.py (use um editor de textos como o do IDLE): # Série de Fibonacci: a, b = 0, 1 while b < 10: print b a, b = b, a+b

Formas de Executar um Programa Digite python fibo.py no seu shell, ou Clique no ícone do arquivo, ou De dentro do editor IDLE, selecione Run Module (F5), ou De dentro do interpretador python: >>> execfile ("fibo.py") Entre com um numero 5 1 1 2 3 >>>

print Forma geral: print expr,expr,... Os valores das expressões são escritos um após o outro sem pular de linha: >>> print "1.001 ao quadrado é ",1.001**2 1.001 ao quadrado é 1.002001 Se o comando terminar com vírgula, o próximo print escreverá na mesma linha. Por exemplo: >>> a, b = 0, 1 >>> while b < 1000:... print b,... a, b = b, a+b... 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987

input O programa que computa elementos da série de Fibonacci termina quando atinge um elemento com valor superior a uma constante Podemos tornar o programa mais flexível se ao usuário for permitido estipular o valor máximo O comando input permite perguntar ao usuário um valor (normalmente é atribuído a uma variável) Formato: input(pergunta) onde pergunta é uma string opcional que será exibida para indicar o valor que se espera (i.e., prompt) Exemplo: >>> a = input("entre com um numero: ") Entre com um numero: 19 >>> print a 19 Usuário digita o número

Input O comando input espera que se digite algo que faça sentido do lado direito de um sinal de atribuição. Ex: >>> print a 19 >>> b = input() a >>> b 19 >>> c = input("entre com uma cadeia de caracteres: ") entre com uma cadeia de caracteres: abc Traceback (most recent call last): File "<stdin>", line 1, in? File "<string>", line 0, in? NameError: name 'abc' is not defined >>> c = input("entre com uma cadeia de caracteres: ") entre com uma cadeia de caracteres: "abc" >>> c 'abc'

raw_input É semelhante ao input, mas não tenta interpretar o que foi digitado como uma expressão O resultado é simplesmente uma string com o texto digitado Ex.: >>> nome = raw_input ("Entre seu nome: ") Entre seu nome: Claudio Esperança >>> print nome Claudio Esperança >>> nome 'Claudio Esperan\xe7a'

while Repete uma seqüência de comandos enquanto uma dada expressão booleana é avaliada como verdadeira Formato: while expressão: comando... comando Exemplo: >>> a = 10 >>> while a>8:... print a,... a = a-1... 10 9

Laços Infinitos Como em todo comando de repetição, é importante evitar os chamados laços infinitos Ex.: >>> a = 10 >>> while a>8:... print a,... a = a+1... 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33...

if É o comando condicional por excelência Formatos: if expressao: comandos if expressao: comandos1 else: comandos2 if expressao1: comandos1 elif expressao2: comandos2 else: comandos(n) Executa comandos apenas se expressão for verdadeira Executa seq de comandos 1 caso expressão seja verdadeira. Caso contrário, executa seq de comandos 2 Executa seq de comandos 1 caso expressão1 seja verdadeira. Caso contrário, testa expressao2 e executa seq de comandos 2 se verdadeira Vários desses... Caso contrário, executa seq de comandos N

Exemplo 1 if a = input("entre com um numero:") if a < 0: print a," é negativo" print "Obrigado!" Execução 1: Entre com um numero:2 Obrigado! Execução 2: Entre com um numero:-2-2 é negativo Obrigado!

Exemplo 2 if a = input("entre com um numero:") if a < 0: print a," é negativo" else: print a," é zero ou positivo" print "Obrigado!" Execução 1: Entre com um numero:2 2 é zero ou positivo Obrigado! Execução 2: Entre com um numero:-2-2 é negativo Obrigado!

Exemplo 3 if a = input("entre com um numero:") if a < 0: print a," é negativo" elsif a==0: print a," é zero" else: print a," é positivo" print "Obrigado!" Execução 1: Entre com um numero:0 0 é zero Obrigado! Execução 2: Entre com um numero:2 2 é positivo Obrigado!

Exercício: algarismos romanos Fazer um programa que escreva a representação em algarismos romanos de um número inteiro positivo O usuário deve entrar com um número (input) O resultado deve ser impresso no console (print) Exemplo de execução: Entre com um numero positivo: 1985 Em algarismos romanos: MCMLXXXV

Exercício: algarismos romanos Algoritmo A representação em romanos é uma string à qual é acrescentada uma letra por vez Inicialmente, uma string vazia Examinar as sucessivas potências de 10 Por exemplo, a letra 'M' corresponde à casa dos milhares Se o número é 2200, sabemos que teremos dois M's na representação em romanos Sabemos que há M's se o número é maior ou igual a 1000 Sempre que um milhar for computado, subtrair 1000 do número Um processamento semelhante é feito para outros algarismos romanos, por exemplo: Se o número é maior ou igual que 500, acrescentar 'D' Se o número é maior que 900, acrescentar 'CM'

Exercício: algarismos romanos DICA: processando um número entre 1 e 9 if num >= 9: romano = romano + "IX" num = num-9 if num >= 5: romano = romano + "V" num = num-5 if num >= 4: romano = romano + "IV" num = num - 4 while num >= 1: romano = romano + "I" num = num - 1

Exercício: números primos Fazer um programa que decida se um número positivo dado é primo ou não Entrada: número inteiro positivo Saída: diagnóstico de primalidade do número Exemplos de execução: Entre com um número inteiro positivo: 169 169 é múltiplo de 13 Entre com um número inteiro positivo: 983 983 é primo

Exercício: números primos Um número natural é primo se é divisível apenas por si mesmo ou pela unidade Isto sugere o seguinte algoritmo: Se o número é 1, então não é primo Se o número é 2, então é primo Caso contrário, Seja d um possível divisor, cujo valor é inicialmente 2 Repetir Se o resto da divisão do número por d é zero, então o número não é primo Caso contrário, incrementar d Se d é igual ou maior que o número, então terminar repetição diagnosticando o número como primo