43
Fundamentos de Programação em Python Diego Silveira Costa Nascimento Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte [email protected] 23 de junho de 2017

Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

Embed Size (px)

Citation preview

Page 1: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

Fundamentos de Programação em Python

Diego Silveira Costa Nascimento

Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do [email protected]

23 de junho de 2017

Page 2: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

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 2 / 43

Page 3: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

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

Page 4: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

Objetivos da Disciplina

Apresentar algumas metodologias de desenvolvimento de programas decomputador;Contribuir para a formação de bons programadores; eFormar profissionais com habilidade de desenvolver programas nosvariados nichos.

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

Page 5: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

Motivações em Estudar Programação

Atualmente temos um conjunto vasto de linguagens de programaçãodisponí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); eEssa disciplina é de fundamental importância para que o aluno possase aprofundar em qualquer linguagem de programação que venha autilizar no futuro.

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

Page 6: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

O que é Python?

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

Foi concebido no final de 1989 por Guido van Rossum; eO nome Python teve a sua origem no grupo humorístico britânicoMonty Python.

Guido van Rossum Ícone

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

Page 7: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

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; eO mercado de trabalho para programador vem utilizando cada vezmais Python em projetos de pequeno, médio e grande porte.

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

Page 8: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

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 Programação 23 de junho de 2017 8 / 43

Page 9: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

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 9 / 43

Page 10: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

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); eO IDLE é o ambiente de desenvelvimento padrão.

Executando

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

Page 11: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

Instrução de Saída

DefiniçãoA instrução de saída de dados é a instrução através da qual o computadorse 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 DadosExemplo

print('Oi , mundo!')

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

Page 12: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

Comentários

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

Comentários são iniciados com #.

Exemplo

#Exemplo.py (linha ignorada pelo interpretador)#Autor: Diego

print('Testando ...')

ImportanteO 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

Page 13: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

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

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

print('Utilizando a codificação UTF -8')

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

Page 14: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

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

Page 15: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

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 doprograma;Embora uma variável possa assumir diferentes valores, ela só podearmazenar um valor a cada instante; eNão existe limite para o número de variáveis em um programa; eCada variável criada ocupa um espaço de memória de acordo com seutipo e seu tamanho.

Ilustração

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

Page 16: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

Declaração de Variáveis

Não é necessário declarar os tipos de variáveis; eA 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 6= A).

Exemplosanomedata_nascimento

nota1_sexomediaGeral

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

Page 17: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

Tipos de Variáveis

Definições

Tipo Descrição Exemplostr Cadeia de caracteres ’Python’ “Python” ” ’ Lin-

guagem de ProgramaçãoPython” ’

int Inteiro 42float Ponto flutuante 1.618bool Booleano True ou False

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

Page 18: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

Operador de Atribuição

DefiniçãoO comando de atribuição é utilizado para conceder valores ou operações avariá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; eA direita do operador pode-se escrever qualquer expressão (constantes,variáveis ou expressões numéricas).

Exemplosnome = ’Diego’idade = 30

Nota_1 = 8.5matriculado = True

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

Page 19: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

Instrução de Entrada

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

Python possui o comando para instrução de entrada via teclado:input().

Entrada de DadosExemplo

nome = input('Digite seu nome:')

print(nome)

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

Page 20: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

Operadores Aritméticos

DefiniçãoA aritmética é o ramo da matemática que lida com números e com asoperaçõ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).

Exemplos10 + 2 = 125 - 2 = 32 * 3 = 6

5 / 2 = 2.55 // 2 = 25 % 2 = 1

2 ** 3 = 8

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

Page 21: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

Demonstração do Uso de Operador Aritmético

Exemplo

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

a = int(input('Digite um número inteiro:'))b = int(input('Digite um número inteiro:'))

c = a + b

print('Resultado =',c)

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

Page 22: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

Expressão Aritmética

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

ImportanteOs operadores devem obedecer umaordem de precedência:

1 Parênteses;2 Potenciação;3 Multiplicação, Divisão e Resto; e4 Adição e subtração.

Exemplo

a = 2b = 8c = a + b / 2

print(c)

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

Page 23: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

Teste de Mesa

DefiniçãoO teste de mesa simula a execução de um algoritmo sem utilizar ocomputador, 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 demesa e é o número de variáveis envolvidas; eDe cima para baixo, preencha cada uma das linhas da tabela com onúmero da linha que identifica cada instrução, seguido dos valoresassumidos pelas variáveis do programa após a execução daquelainstrução.

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

Page 24: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

Teste de Mesa na Prática

Código Fonte

#-*- conding:UTF -8 -*-

nota1 = float(input('Digite a primeira nota:'))nota2 = float(input('Digite a segunda nota:'))

soma = nota1 + nota2media = soma / 2

print('A média =',media)

Teste de MesaLinha 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,56 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

Page 25: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

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

Page 26: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

Estrutura de Seleção

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

Python possui apenas uma estrutura de controle: if

Estruturaif condição:

Bloco de comandoselse:

Bloco de comandos

ImportanteO comando else não é obrigatório.

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

Page 27: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

Demonstração do If

Exemplo

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

nota1 = float(input('Digite a primeira nota:'))nota2 = float(input('Digite a segunda nota:'))

soma = nota1 + nota2media = soma / 2

if media >= 7:print('Aluno aprovado!')

else:print('Aluno reprovado!')

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

Page 28: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

Operadores Relacionais

DefiniçãoOs 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).

Exemplos100 == 100 (True)0 ! = 0 (False)5 > 2 (True)

0 < −50 (False)7 >= 10 (False)600 <= 600 (True)

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

Page 29: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

Operadores Lógicos

DefiniçãoOs operadores lógicos definem as maneiras como as relações podem serconectadas.

Os operadores lógicos em python podem ser:

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

Exemplos(10 == 10) and (0 < 1) (True)not (0 ! = 0) (True)

(0 < −50) or (0 < 1) (True)(10 < 20) and (0 < −1) (False)

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

Page 30: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

Tabela-verdade

Construçãoa = b = print (a and b) print (a or b) print (not a)True True True True FalseTrue False False True FalseFalse True False True TrueFalse False False False True

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

Page 31: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

Estrutura de Seleção Aninhada

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

Exemplo

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

numero = int(input('Digite um número inteiro:'))

if numero > 0:print('Número positivo ')

elif numero < 0:print('Número negativo ')

else:print('O número digitado foi zero')

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

Page 32: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

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

Page 33: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

Estrutura de Repetição

DefiniçãoUma estrutura de repetição é uma estrutura de desvio do fluxo de controlepresente em linguagens de programação que realiza e repete diferentescomputações ou ações.

Python possui duas estruturas de repetição:while; efor.

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

Page 34: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

Estrutura While

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

Estrutura do Whilewhile condição:

Bloco de comandos

Exemplo

i = 1while i <= 10:

print(i)i = i + 1

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

Page 35: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

Comando Break em Python

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

Exemplo

i = 1while(i <= 10):

print(i)if i == 5:

breaki = i + 1

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

Page 36: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

Estrutura For

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

Estrutura do Forfor contador in sequência:

Bloco de comandos

Exemplo

for i in range (1 ,11):print(i)

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

Page 37: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

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

Page 38: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

Função

DefiniçãoSão subrotinas (módulos ou métodos) de programas, capazes de executaruma tarefa definida pelo programador, que pode retorna ou não algumvalor. 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; eFacilidade de manutenção.

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

Page 39: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

Função

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

Estruturadef nome_da_função (argumentos):

Bloco de comandosreturn valor de retorno

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

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

Page 40: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

Demonstração de Função I

Exemplo

def exibir_cumprimento ():print('Oi, mundo!')

exibir_cumprimento ()

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

Page 41: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

Demonstração de Função II

Exemplo

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

def exibir_cumprimento(nome):print('Oi, ',nome ,'!')

nome = input('Digite seu nome:')exibir_cumprimento(nome)

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

Page 42: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

Demonstração de Função III

Exemplo

def somar(a,b):return a + b

valor1 = float(input('Digite o primeiro valor:'))valor2 = float(input('Digite o segundo valor:'))

resultado = somar(valor1 ,valor2)

print('A soma de ',valor1 ,' + ',valor2 ,' = ',resultado)

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

Page 43: Fundamentos de Programação em Python - ifrn.edu.brdiegonascimento/dokuwiki/lib/exe/fetch.php?media=... · EmentadoCurso 1 Introdução 2 EstruturadeumPrograma 3 Variavel 4 EstruturadeSeleção

Recursividade

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

Exemplo

def contador(i):if (i > 1):

contador(i - 1)print(i)

contador (10)

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