Você está na página 1de 43

Programação em Python

AROLDO CAMPOS

COLÉGIO ESTADUAL REITOR EDGARD SANTOS


Ementa do Curso

1 Introdução

2 Estrutura de um Programa

3 Variavel

4 Estrutura de Seleção

5 Estrutura de Repetição

6 Subprograma

Fundamentos de Programação 23 de junho de 2017 2 / 43


Ementa do Curso

1 Introdução

2 Estrutura de um Programa

3 Variavel

4 Estrutura de Seleção

5 Estrutura de Repetição

6 Subprograma

Diego S. C. Nascimento (IFRN) Fundamentos de Programação 23 de junho de 2017 3 / 43


Objetivos da Disciplina

Apresentar algumas metodologias de desenvolvimento de programas de


computador;
Contribuir para a formação de bons programadores; e
Formar profissionais com habilidade de desenvolver programas nos
variados nichos.

Diego S. C. Nascimento (IFRN) Fundamentos de Programão 23 de junho de 2017 4 / 43


Motivações em Estudar Programação

Atualmente temos um conjunto vasto de linguagens de programação


disponíveis para se desenvolver sistemas, sejam elas: Java, C/C++,
Python, Ruby, PHP, Pascal, Fortran, Cobol, entre outras;
Quase tudo ao nosso redor possui sistemas embarcados (celular,
televisor, ar-condicionado, carro, entre outros); e
Essa disciplina é de fundamental importância para que o aluno possa
se aprofundar em qualquer linguagem de programação que venha a
utilizar no futuro.

Diego S. C. Nascimento (IFRN) Fundamentos de Programão 23 de junho de 2017 5 / 43


O que é Python?

Definição
É uma linguagem de script de propósito geral, podendo ser usada para criar
qualquer tipo de software.

Foi concebido no final de 1989 por Guido van Rossum; e


O nome Python teve a sua origem no grupo humorístico britânico
Monty Python.
Ícone
Guido van Rossum

Diego S. C. Nascimento (IFRN) Fundamentos de Programão 23 de junho de 2017 6 / 43


Motivações em Programar em Python

É uma linguagem fácil de ser aprendida;


Possui uma sintaxe agradável;
Possui implementações livres;
É produtiva para desenvolver aplicações;
É interativa; e
O mercado de trabalho para programador vem utilizando cada vez
mais Python em projetos de pequeno, médio e grande porte.

Diego S. C. Nascimento (IFRN) Fundamentos de Programão 23 de junho de 2017 7 / 43


Características

É uma linguagem interpretada;


Os tipos das variáveis são determinados dinamicamente;
Oferece tipos de alto nível;
É orientada a objetos; e
É multi-plataforma.

Diego S. C. Nascimento (IFRN) Fundamentos de Programão 23 de junho de 2017 8 / 43


Ementa do Curso

1 Introdução

2 Estrutura de um Programa

3 Variavel

4 Estrutura de Seleção

5 Estrutura de Repetição

6 Subprograma

Diego S. C. Nascimento (IFRN) Fundamentos de Programão 23 de junho de 2017 9 / 43


Programa em Python

Um programa em Python pode ser escrito em qualquer editor de texto;


O documento com o código fonte deve ser salvo com extensão .py;
Para facilitar o desenvolvimento é comum utilizar-se um IDE
(Integrated Development Environment); e
O IDLE é o ambiente de desenvelvimento padrão.

Executando

Diego S. C. Nascimento (IFRN) Fundamentos de Programação 23 de junho de 2017 10 / 43


Instrução de Saída

Definição
A instrução de saída de dados é a instrução através da qual o computador
se comunica com usuário durante a execução do programa. Isso é feito,
geralmente, através da exibição de alguma informação na tela.

Em Python existe apenas um comando para instrução de saída: print.

Saída de Dados
Exemplo

Diego S. C. Nascimento (IFRN) Fundamentos de Programação 23 de junho de 2017 11 / 43


Comentários

Definição
É uma estrutura da linguagem que permite ao desenvolvedor fazer uma
breve explicação do código escrito.

Comentários são iniciados com #.

Exemplo
#E xem plo.py(linhaigno radapeloin terp retad o r)
#Au to r:Di e go

print( ' T estan do... ')

Importante
O que for escrito no bloco de comentário será ignorado pelo interpretador.

Diego S. C. Nascimento (IFRN) Fundamentos de Programação 23 de junho de 2017 12 / 43


Codificação dos Arquivos Fontes

Os códigos fontes em Python usam como padrão codificação ASCII;


Para modificar o tipo de codificação, basta incluir no início do arquivo:

#-*- coding:UTF-8 -*-

Exemplo
#-* -c o di n g:UTF- 8-* -

p r int( ' U ti li z a n d oac od i f i c açãoUTF- 8 ')

Diego S. C. Nascimento (IFRN) Fundamentos de Programação 23 de junho de 2017 13 / 43


Ementa do Curso

1 Introdução

2 Estrutura de um Programa

3 Variavel

4 Estrutura de Seleção

5 Estrutura de Repetição

6 Subprograma

Diego S. C. Nascimento (IFRN) Fundamentos de Programação 23 de junho de 2017 14 / 43


Variável
Uma variável representa uma posição de memória;
Possui um nome e tipo;
Seu conteúdo pode variar ao longo do tempo, durante a execução do
programa;
Embora uma variável possa assumir diferentes valores,ela só pode
armazenar um valor a cada instante; e
Não existe limite para o número de variáveis em um programa; e
Cada variável criada ocupa um espaço de memória de acordo com seu
tipo e seu tamanho.

Ilustração

Diego S. C. Nascimento (IFRN) Fundamentos de Programção 23 de junho de 2017 15 / 43


Declaração de Variáveis

Não é necessário declarar os tipos de variáveis; e


A tipagem de Python é dinâmica;
Devem ser declaradas inicialmente por letras (a–z, A–Z) ou sublinhado
(_);
Acentuação é permitida (não é recomendado); e
É case sensitive (a ƒ= A).

Exemplos
a nota1
nome _sexo
data_nascimento mediaGeral

Diego S. C. Nascimento (IFRN) Fundamentos de Programção 23 de junho de 2017 16 / 43


Tipos de Variáveis

Definições
Tipo Descrição Exemplo
str Cadeia de ’Python’ “Python” ” ’ Lin-
caracteres guagem de Programação
Python” ’
int Inteiro 42
float Ponto flutuante 1.618
bool Booleano True ou False

Diego S. C. Nascimento (IFRN) Fundamentos de Programção 23 de junho de 2017 17 / 43


Operador de Atribuição

Definição
O comando de atribuição é utilizado para conceder valores ou operações a
variáveis.

Em python o operador de atribuição é o sinal de igual: = ;


Do lado esquerdo ao operador de atribuição fica a variável à qual está
sendo atribuído o valor; e
A direita do operador pode-se escrever qualquer expressão (constantes,
variáveis ou expressões numéricas).

Exemplos
nome = ’Diego’ Nota_1 = 8.5
idade = 30 matriculado = True

Diego S. C. Nascimento (IFRN) Fundamentos de Programção 23 de junho de 2017 18 / 43


Instrução de Entrada

Definição
É o meio pelo qual as informações (mais especificamente os dados) são
transferidas pelo usuário ou pelos níveis secundários de memória ao
computador.

Python possui o comando para instrução de entrada via teclado:


input().

Entrada de Dados
Exemplo
no m e =i npu t( ' D i gi t es eun o m e: ')

print( nome )

Diego S. C. Nascimento (IFRN) Fundamentos de Programção 23 de junho de 2017 19 / 43


Operadores Aritméticos
Definição
A aritmética é o ramo da matemática que lida com números e com as
operações possíveis entre eles.
Os operadores aritméticos em python são:
+ (Adição);
- (Subtração);
* (Multiplicação);
/ (Divisão);
// (Divisão inteira);
% (Resto); e
** (Potência).

Exemplos
10 + 2 = 12 5 / 2 = 2.5 2 ** 3 = 8
5-2=3 5 // 2 = 2
2*3=6 5%2=1
Diego S. C. Nascimento (IFRN) Fundamentos de Programção 23 de junho de 2017 20 / 43
Demonstração do Uso de Operador Aritmético

Exemplo
#-* -c o d i n g:UTF- 8-* -

a =in t(in pu t( ' D i git eu mnúm e r oi nt e i r o: '))


b =in t(in pu t( ' D i git eu mnúm e r oin t e i ro: '))

c=a +b

print( ' R esu lt ad o= ' ,c)

Diego S. C. Nascimento (IFRN) Fundamentos de Programação 23 de junho de 2017 21 / 43


Expressão Aritmética

Definição
Uma expressão constitui-se em um conjunto de variáveis e/ou valores,
separados por caracteres especiais, que indicam as operações que devem ser
executadas.

Importante
Os operadores devem obedecer uma Exemplo
ordem de precedência:
a = 2
1 Parênteses; b = 8
c=a+b/ 2
2 Potenciação;
print( c)

3 Multiplicação, Divisão e Resto; e

4 Adição e subtração.

Diego S. C. Nascimento (IFRN) Fundamentos de Programação 23 de junho de 2017 22 / 43


Teste de Mesa

Definição
O teste de mesa simula a execução de um algoritmo sem utilizar o
computador, empregando apenas papel e caneta.

Os passos necessários para realizar um teste de mesa são:


Identifique as variáveis envolvidas em seu algoritmo;
Crie uma tabela com linhas e colunas, no qual corresponde,
respectivamente, ao número de instruções observadas pelo teste de
mesa e é o número de variáveis envolvidas; e
De cima para baixo, preencha cada uma das linhas da tabela com o
número da linha que identifica cada instrução, seguido dos valores
assumidos pelas variáveis do programa após a execução daquela
instrução.

Diego S. C. Nascimento (IFRN) Fundamentos de Programação 23 de junho de 2017 23 / 43


Teste de Mesa na Prática

Código Fonte
#-* -c o nd i n g:UTF- 8-* -

not a 1 =flo a t(in pu t( ' D i gi t eap r i m e i r ano t a: '))


not a 2 =flo a t(in pu t( ' D i gi t eas e gu nd ano t a: '))

soma = nota1 + nota2


media = soma / 2

pr int( ' Améd i a= ' , m e di a )

Teste de Mesa
Linha de código nota1 nota2 soma media Saída
2 5 ? ? ? Digite a primeira nota:
3 5 8 ? ? Digite a segunda nota:
4 5 8 13 ?
5 5 8 13 6,5
6 5 8 13 6,5 Média = 6.5

Diego S. C. Nascimento (IFRN) Fundamentos de Programação 23 de junho de 2017 24 / 43


Ementa do Curso

1 Introdução

2 Estrutura de um Programa

3 Variavel

4 Estrutura de Seleção

5 Estrutura de Repetição

6 Subprograma

Diego S. C. Nascimento (IFRN) Fundamentos de Programação 23 de junho de 2017 25 / 43


Estrutura de Seleção

Definição
Também citado na literatura por Estrutura Condicional, é a
representação de um ou mais comandos de decisão que são responsáveis
por mudar o fluxo das instruções de um algoritmo em tempo de execução.

Python possui apenas uma estrutura de controle: if

Estrutura
if condição:
Bloco de comandos
else:
Bloco de comandos

Importante
O comando else não é obrigatório.
Diego S. C. Nascimento (IFRN) Fundamentos de Programação 23 de junho de 2017 26 / 43
Demonstração do If

Exemplo
#-* -c o d i n g:UTF- 8-* -

not a 1 =flo a t(in pu t( ' D i gi t eap r i m e i r ano t a: '))


not a 2 =flo a t(in pu t( ' D i gi t eas e gu nd ano t a: '))

soma = nota1 + nota2


media = soma / 2

ifm e d i a >= 7:
p r int( ' Alu n oa p ro v ad o! ')
else:
p r int( ' Al u n or e p r o v a d o! ' )

Diego S. C. Nascimento (IFRN) Fundamentos de Programação 23 de junho de 2017 27 / 43


Operadores Relacionais

Definição
Os operadores relacionais estabelecem uma relação entre seus operandos.
As relações em python podem ser:
== (igual);
!= (diferente);
< (menor);
<= (menor ou igual);
> (maior); e
>= (maior ou igual).

Exemplos
100 == 100 (True) 0 < −50 (False)
0 ! = 0 (False) 7 >= 10 (False)
5 > 2 (True) 600 <= 600 (True)

Diego S. C. Nascimento (IFRN) Fundamentos de Programação 23 de junho de 2017 28 / 43


Operadores Lógicos

Definição
Os operadores lógicos definem as maneiras como as relações podem ser
conectadas.

Os operadores lógicos em python podem ser:


not (negação lógica);
and (e lógico); e
or (ou lógico).

Exemplos
(10 == 10) and (0 < 1) (True) (0 < −50) or (0 < 1) (True)
not (0 ! = 0) (True) (10 < 20) and (0 < −1) (False)

Diego S. C. Nascimento (IFRN) Fundamentos de Programação 23 de junho de 2017 29 / 43


Tabela-verdade

Construção
a= b= print (a and b) print (a or b) print (not a)
True True True True False
True False False True False
False True False True True
False False False False True

Diego S. C. Nascimento (IFRN) Fundamentos de Programação 23 de junho de 2017 30 / 43


Estrutura de Seleção Aninhada

Definição
É uma estrutura para desvio de fluxo do programa formada pelo comando
de decisão if /elif /else mais subestruturas de decisão.

Exemplo
#-* -c o di n g:UTF- 8-* -

nu m e ro =in t(i n pu t( ' D i git eu mnúm e r oi nt e i r o: ' ))

ifn u m e ro > 0 :
p r int( ' Núm e r op o s it i vo ' )
e li fn u m e ro < 0 :
p r int( ' Núm e r on e g a t i vo ' )
else:
pr in t( ' Onúm e r od i g i t ad ofoiz e r o ')

Diego S. C. Nascimento (IFRN) Fundamentos de Programação 23 de junho de 2017 31 / 43


Ementa do Curso

1 Introdução

2 Estrutura de um Programa

3 Variavel

4 Estrutura de Seleção

5 Estrutura de Repetição

6 Subprograma

Diego S. C. Nascimento (IFRN) Fundamentos de Programação 23 de junho de 2017 32 / 43


Estrutura de Repetição

Definição
Uma estrutura de repetição é uma estrutura de desvio do fluxo de controle
presente em linguagens de programação que realiza e repete diferentes
computações ou ações.

Python possui duas estruturas de repetição:


while; e
for.

Diego S. C. Nascimento (IFRN) Fundamentos de Programação 23 de junho de 2017 33 / 43


Estrutura While

Definição
A construção while (também chamada repetição pré-testada) é a mais
difundida estrutura de repetição.

Estrutura do While
while condição:
Bloco de comandos

Exemplo
i =1
whil ei <= 1 0:
print( i)
i = i + 1

Diego S. C. Nascimento (IFRN) Fundamentos de Programação 23 de junho de 2017 34 / 43


Comando Break em Python

Definição
O comando break permite parar uma execução de uma instrução de
repetição toda vez que o mesmo for invocado, ignorando, caso ainda
existam, outras instruções a serem executadas.

Exemplo
i =1
whil e( i <= 1 0 ) :
print( i)
ifi == 5:
break
i = i +1

Diego S. C. Nascimento (IFRN) Fundamentos de Programação 23 de junho de 2017 35 / 43


Estrutura For

Definição
A construção for, ou repetição com variável de controle, é uma estrutura de
repetição que designa uma variável de controle para cada iteração do
bloco, e uma operação de passo a cada iteração.

Estrutura do For
for contador in sequência:
Bloco de comandos

Exemplo
foriinrange(1 ,11):
print( i)

Diego S. C. Nascimento (IFRN) Fundamentos de Programação 23 de junho de 2017 36 / 43


Ementa do Curso

1 Introdução

2 Estrutura de um Programa

3 Variavel

4 Estrutura de Seleção

5 Estrutura de Repetição

6 Subprograma

Diego S. C. Nascimento (IFRN) Fundamentos de Programação 23 de junho de 2017 37 / 43


Função

Definição
São subrotinas (módulos ou métodos) de programas, capazes de executar
uma tarefa definida pelo programador, que pode retorna ou não algum
valor. Os programas desenvolvidos com subprogramas são ditos modulares.

As principais vantegens são:


Melhor organização do programa;
Reutilização de código em outras partes do programa; e
Facilidade de manutenção.

Diego S. C. Nascimento (IFRN) Fundamentos de Programação 23 de junho de 2017 38 / 43


Função

Python possui uma estrutura para definição de função: def.

Estrutura
def nome_da_função (argumentos):
Bloco de comandos
return valor de retorno

Atenção
Nem toda função precisa retornar valor.

Diego S. C. Nascimento (IFRN) Fundamentos de Programação 23 de junho de 2017 39 / 43


Demonstração de Função I

Exemplo
de fe x i b i r _ c u m p r i m e n t o ( ):
p r int( ' Oi,mun d o! ' )

exib ir_ cu m p ri m ento ()

AROLDO CAMPOS Fundamentos de Programação 2019 40 / 43


Demonstração de Função II

Exemplo
#-* -c o d i n g:UTF- 8-* -

de fe x i b i r _ c u m p r i m e n t o ( no m e ):
p r int( ' Oi, ' , no m e , ' ! ' )

no m e =i n p ut( ' D i gi t es eun o m e: ')


e x i b i r _ c u m p r i m e n t o ( no m e )

AROLDO CAMPOS Fundamentos de Programação 2019 41 / 43


Demonstração de Função III

Exemplo
de fs o m a r ( a , b ):
returna + b

va lo r 1 =flo a t(i npu t( ' D i gi t eop r i m e i rov a lo r: '))


va lo r 2 =flo a t(i npu t( ' D i gi t eos e gu n d oval o r: '))

r e su l t ad o = so m a r ( valo r 1 , v a lo r 2 )

print( ' Asomade ' , valor1 , ' + ' , valor2 , ' = ' ,resu ltad o)

AROLDO CAMPOS Fundamentos de Programação 2019 42 / 43


Recursividade

Definição
É quando uma função refere-se a si própria durante a própria definição.

Exemplo
defco ntad or ( i ):
if( i > 1):
co ntad or ( i - 1)
print( i)

co nt ad or (10)

AROLDO CAMPOS Fundamentos de Programação 2019 43 / 43

Você também pode gostar