1 of 33

Programação em Python

2 of 33

De Algoritmos para Programas

  • Programação é...

    • A sequência de planejamento, projeto, escrita e testes de instruções desempenhadas pelo computador.

    • Envolve obediência às regras (léxicas, sintáticas e semânticas), organização, otimização, documentação.

3 of 33

Tipos de Linguagens

  • Linguagens podem ser:
  • INTERPRETADAS: quando um programa interpretador traduz uma instrução de código-fonte (por exemplo, em Python) de cada vez em uma linguagem de máquina para ser executada pelo computador
  • COMPILADAS: quando um programa compilador traduz um código-fonte completo (por exemplo, um programa em C) em um programa executável em linguagem de máquina para ser executado pelo computador

 

4 of 33

A Linguagem Python

  • A linguagem Python foi criada por Guido van Rossum em 1991 e possui um modelo de desenvolvimento comunitário, aberto e gerenciado pela Python Software Foundation
  • Por que Python é popular como linguagem introdutória?
    • Sintaxe pequena e limpa
    • Tipagem dinâmica
    • Semântica expressiva
    • Feedback imediato
    • Design estrutural reforçado
    • Software open source relevante
  • Em 2014, Python já era a linguagem introdutória em:
    • 8 dos departamentos Top 10 dos EUA (80%)
    • 27 dos departamentos Top 39 dos EUA (69%)

5 of 33

Estrutura de um Programa em Python

  • Todo programa em Python inicia sua execução executando as instruções sequencialmente, na ordem em que elas são escritas.

  • Exemplo:

instrução 1

instrução 2

...

instrução n

print('Alo Mundo!')

print('Bom dia.')

print('Boa sorte!')

6 of 33

Programando em Python

  • Palavras reservadas: palavras que tem significado especial previamente definido, não podendo ser usadas como identificador de variáveis.

Exemplo: if, for, while.

  • Comentários: texto explicativo iniciado após o símbolo # para auxiliar no entendimento dos diversos blocos do programa.

  • A linguagem Python é sensível ao caso (case-sensitive):
    • diferencia maiúsculas de minúsculas.

7 of 33

Programando em Python

  • Operadores Aritméticos
    • Unários: - (valor negativo)

- 5

    • Binários: +, -, *, /, //, %, **

10 + 3 = 13

10 - 3 = 7

10 * 3 = 30

10 / 3 = 3.3333...

10 // 3 = 3 (divisão inteira)

10 % 3 = 1 (resto da divisão inteira)

2 ** 4 = 16

8 of 33

Tipos de Dados Básicos

  • int: representa um número inteiro.
    • Exemplos: 12, 450, -3, 0, 65535
  • float: representa um número real (ou um número de ponto flutuante, para ser mais preciso).
    • Exemplos: 2.7, 3.1416, -0.2, -4.2345, 6.02e23, -4.7658e-230, 0.0
  • complex: representa um número complexo.
    • Exemplos: 3+4j , 1-1j, -3j, 2j, 150+20j
  • bool: representa um valor lógico (booleano).
    • Exemplos: True , False
  • str: representa um texto com zero ou mais caracteres literais, representados entre apóstrofos ou aspas (também chamado de string).
    • Exemplos: 'a', 'casa', “carro”, “z”, 'fl', 'casa grande', ' ', '', “”, '+', '#$%@$%', 'qwerty1234!@#$'

9 of 33

        • Uma variável em Python é um espaço de memória alocado para guardar valores que podem ser modificados durante a execução de um programa.

        • Declaração e Uso de Variáveis

          • Em Python, não há necessidade de declarar variáveis explicitamente. O tipo de dados de uma variável é dinâmico, depende do valor armazenado nela.

          • Exemplo

nota = 7.0

print(nota)

Variáveis

10 of 33

lixo

  • Variáveis na memória

x = 4 + 3

x = 9

7

9

x

Variáveis

11 of 33

Programando em Python

  • Operador de Atribuição ( = )
    • Equivalente ao operador ← do pseudocódigo
    • Para armazenar um valor em uma constante ou variável.

nota = (7 + 8 + 6) / 3

    • Primeiro, avalia-se o que está a direita
    • Depois, o valor é armazenado na variável à esquerda
    • À esquerda, uma variável
    • O valor anterior da variável é perdido
    • Qual o valor das variáveis ao final de cada operação?

x = 4

y = x + 3

z = y * 2

x = z + x

12 of 33

  • Exemplos de Uso de Variáveis

nota1 = 10

nota2 = 5

media = (nota1 + nota2) / 2

print(media)

Variáveis

13 of 33

Operadores

  • Operadores de Incremento e Decremento
    • Operadores para incrementar variáveis. O operador incremento soma um dado valor ao seu operando, e o decremento subtrai um dado valor.
      • x += 1 equivale a x = x + 1
      • x -= 1 equivale a x = x - 1
    • Qualquer valor pode ser incrementado a uma variável �(ou decrementado de uma variável)
      • x += 3 incrementa x em três unidades;
      • x -= 2 decrementa x em duas unidades;

x = 23

x += 3

no final tem-se x = 26

x = 23

y = x

x -= 5

no final tem-se y = 23 e x = 18

14 of 33

Operadores

  • Atribuições especiais com operadores compostos

    • num1 += 10 equivale a num1 = num1 + 10
    • num2 *= 10 equivale a num2 = num2 * 10

x = 30

x *= 10

Qual o valor de x ao final?

    • num2 -= 10 equivale a num2 = num2 - 10
    • num2 /= 10 equivale a num2 = num2 / 10

x = 30

x /= 10

Qual o valor de x ao final?

15 of 33

  • Definem um valor fixo a ser utilizado.

  • Exemplo: quando usamos um mesmo valor várias vezes.

# Programa que calcula e exibe o tamanho da circunferência

# de um círculo de raio 3,5,7

print('Tamanho da circunferencia de um circulo de raio 3:')

print(2*3.1415926536*3)

print('Tamanho da circunferencia de um circulo de raio 5: ')

print(2*3.1415926536*5)

print('Tamanho da circunferencia de um circulo de raio 7: ')

print(2*3.1415926536*7)

Constantes

16 of 33

  • Podemos definir uma constante
    • Seu conteúdo não deve ser modificado durante a execução de um programa.

# Programa que calcula e exibe o tamanho da circunferência

# de um círculo de raio 3,5,7 */

PI = 3.1415926536

print ('Tamanho da circunferencia de um circulo de raio 3: ')

print (2*PI*3)

print ('Tamanho da circunferencia de um circulo de raio 5: ')

print (2*PI*5)

print ('Tamanho da circunferencia de um circulo de raio 7: ')

print (2*PI*7)

Constantes

17 of 33

  • Outras constantes:
    • Número inteiro:

V = 1

# V tem valor 1

    • Caractere:

UNIDADE = 'm'

# UNIDADE tem valor 'm'

    • Texto (string ou cadeia de caracteres):

MSG = 'Informe um número inteiro positivo: '

# um texto é o valor de MSG

Constantes

18 of 33

Saída de Dados

print(literal)

print(literal1, literal2, ..., literaln)

  • É uma função de entrada e saída (E/S ou I/O), que permite escrever no dispositivo padrão (tela).

  • A expressão a ser escrita pode ser um texto, um valor numérico ou uma expressão a ser computada antes de ser mostrada.

  • Pode-se ter apenas uma expressão ou mais expressões, separadas por vírgulas.

  • Ao final do print, é colocado um fim de linha (salta-se uma linha na tela).

19 of 33

Exemplos:

print(26)

print(123.4)

print('Bom dia!')

print(2*3.14*50) # Mostra 314

print('A circunferência é ', 2*3.14*50)

x = 31827

y = 87

print(x, '//', y, '=', x//y)

Formatação adicional em Python:

print('{0}//{1}={2}'.format(x, y, x//y))

Saída de Dados

20 of 33

Saída de Dados

print('expressão de controle' % literal)

print('expressão de controle' % (literal1, ..., literaln))

  • É possível formatar no estilo antigo de expressão de controle, como na linguagem C, em lugar do .format().

  • A expressão de controle pode conter caracteres que serão exibidos na tela e os especificadores de formatação que indicam o formato em que os argumentos devem ser impressos.

  • Se houver mais de uma literal a ser mostrada na expressão de controle, cada argumento deve ser separado por vírgula dentro dos parênteses internos.

21 of 33

Saída de Dados

Especificadores de formato

  • Exemplo:

Caracteres de Escape:

x = 2

print('%d é o conteudo da variável x' % x)

print('%s esta a %d milhões de milhas \ndo Sol.' % ('Vênus', 67))

22 of 33

Exemplos:

print('%d' % 26)

print('%f' % 123.4)

print('%e' % 123.4) # 1.234000e+2

print('26 em hexa: %X' % 26) # 1A

print('A primeira letra é %c' % 'A')

print('Disciplina: %s' % 'EXA854')

letra = 'A'

print('A primeira letra é %c' % letra)

codigo = 'EXA854'

print('Disciplina: %s' % codigo)

Saída de Dados

23 of 33

  • Tamanho de campos na expressão:

  • Para arredondamento:

Saída de Dados

print('\n%2d' % 350) #350

print('\n%4d' % 350) # 350

print('\n%6d' % 350) # 350

print('\n%4.2f' % 3456.78) #3456.78

print('\n%3.2f' % 3456.78) #3456.78

print('\n%3.1f' % 3456.78) #3456.8

print('\n%10.3f' % 3456.78)# 3456.780

print('\n%.2f' % 23.4567) #23.46

24 of 33

  • Para alinhamento:

  • Complementando com zeros à esquerda:

Saída de Dados

print('\n%10.2f %10.2f %10.2f' % (8.0, 15.3, 584.13))

print('\n%10.2f %10.2f %10.2f' % (834.0, 1500.55, 4890.21))

8.00 15.30 584.13

834.00 1500.55 4890.21

print ('\n%04d' % 21)

print ('\n%06d' % 21)

0021

000021

25 of 33

  • Imprimindo caracteres:

  • A tabela ASCII possui 256 códigos de 0 a 255 (um byte)
  • A tabela Unicode UTF possui códigos de 1 a 4 bytes e inclui a tabela ASCII quando os códigos têm apenas um byte
  • Por padrão, Python utiliza a tabela UTF-8 para codificação de caracteres

Saída de Dados

print('%c %c %c %c\n' % ('A', 65 , 0x41, 0o101))

A A A A

26 of 33

Saída de Dados: Tabela ASCII

27 of 33

Entrada de Dados

input()

input('Mensagem para o usuário')

  • É uma função de I/O, que permite ler dados da entrada padrão (teclado)

  • O resultado da função deve ser:
    • Atribuído a uma variável, ou
    • Usado numa expressão do lado direito de uma atribuição, ou
    • Usado como parâmetro dentro de outra função, especialmente as funções de conversão de dados numéricos
  • Exemplos:

x = input()

nome = input('Qual o seu nome?')

raio = int(input('Digite o raio do círculo'))

28 of 33

Entrada de Dados

  • Exemplos:

mat = input('Digite a matricula: ')

texto = input('Digite a média: ')

media = float(texto)

ou, simplesmente:

media = float(input('Digite a media: '))

print ('Entre com o par ordenado:')

x = float(input())

y = float(input())

print('x=%f y=%f' % (x,y))

nome = input('Entre com o nome: ')

sobrenome = input('Entre com o sobrenome: ')

print('Bem-vindo, %s %s!!' % (nome, sobrenome))

ou,

print('Bem-vindo, {0} {1}!!'.format(nome, sobrenome))

29 of 33

Programando em Python

  • Regras práticas para programas legíveis:
    • Usar comentários e documentar código
    • Dar nomes significativos às variáveis
    • Colocar parênteses nas expressões para que a ordem das operações fique clara
    • Usar recuo para separar visualmente os blocos do programa (reforçado pela própria linguagem Python)
    • Alinhar informações relacionadas
    • Evitar longas linhas de programação, quebrando-as quando necessário

30 of 33

Programando em Python

A=1

B=2

C=A+B

print('%d' %C)

num1 = 1

num2 = 2

# Realiza a soma

soma = num1 + num2

# Exibe resultado

print('A soma é %d' % soma)

ou

31 of 33

Ambientes Integrados de Desenvolvimento (IDEs)

  • Ambiente Integrado de Desenvolvimento (IDE, do inglês Integrated Development Environment) é um software ou pacote de software que facilita a tarefa de programação.
  • IDEs geralmente contam com:
    • um editor de texto (com recursos de ressaltar a sintaxe por meio de cores, identificação de erros, identificação automática, autocompletar, etc.);
    • um compilador (ou um interpretador) para transformar o código-fonte em código de máquina compreensível pelo computador;
    • um depurador (debugger) para permitir localizar erros durante a execução do programa;
    • outras ferramentas para automatizar o processo de produção de software.
  • IDEs livres voltados para a linguagem Python:
    • PyCharm Edu, IDLE (vem com o Python), Spyder, Atom, PyDev

32 of 33

Exercícios

  • Escreva um programa que leia o peso e a altura de uma pessoa. Em seguida o programa deve calcular e imprimir índice de massa corpórea (IMC) dessa pessoa. Dado:

  • Um grupo de amigos pretende alugar um carro por um único dia. Consultadas duas agências, a primeira cobra R$62,00 pela diária e R$1,40 por quilômetro rodado. A segunda cobra diária de R$80,00 e mais R$1,20 por quilômetro rodado. Escreva um programa que leia a quantidade de quilômetros a serem rodados e calcule e imprima na tela o preço a ser pago em cada uma das agências.

 

33 of 33

Exercícios

  • Escreva um programa que calcule o valor do desconto de uma mercadoria paga a vista e o valor total a ser pago. O programa deve ler o valor da mercadoria e a porcentagem do desconto. Depois o programa deve calcular e imprimir na tela o valor do desconto e o novo valor da mercadoria com o desconto.
  • Escreva um programa para ajudar a calcular a quantidade de gotas de um remédio que uma determinada criança precisa tomar. A bula desse remédio pediátrico recomenda a seguinte dosagem: 5 gotas para cada 2 kg do peso da criança. Você deve fazer um programa que leia o peso desta criança, calcule e imprima na tela a quantidade de gotas a ser tomada.
  • Faça um programa que leia a idade de uma pessoa expressa em dias e mostre-a expressa apenas em anos, meses e dias. Assuma, neste programa, que um ano tem 365 dias e que um mês tem 30 dias. Exemplo: Se a pessoa digitar que viveu 10260 dias significa que ela tem 28 anos, 1 mês e 10 dias.