Curso básico de algoritmos com Python Tecnologia em Análise e Desenvolvimento de Sistemas – IFRN EPOCA 2011
WebLovers - Quem somos GIANCARLO SILVA - @giancarlozero Graduando em Análise e Desenvolvimento de Sistemas – IFRN Líder do Grupo WebLovers – grupoweblovers.org E-mail: giancarlozero@gmail.com MSN: giancarlozero@yahoo.com.br
WebLovers - Quem somos ALLYSON BARROS - @allysonbarros Graduando em Análise e Desenvolvimento de Sistemas – IFRN Empreendedor e desenvolvedor Rails Líder do Grupo WebLovers – grupoweblovers.org E-mail: allysonbarrosrn@gmail.com MSN: allyson_barros_irm@hotmail.com
WebLovers - Quem somos DANIELE MONTENEGRO – @lelybarros Bacharel em Ciências Sociais – UFRN Graduanda em Análise e Desenvolvimento de Sistemas – IFRN Líder do Grupo WebLovers – grupoweblovers.org E-mail: monte.daniele@gmail.com MSN: danie_monte@hotmail.com
WebLovers - Quem somos ELIONAI MOURA - @eli_embits Graduando em Análise e Desenvolvimento de Sistemas – IFRN Empreendedor e Desenvolvedor PHP da EmBits Líder do Grupo WebLovers – grupoweblovers.org E-mail: nick.legal@gmail.com MSN: eli.ml@hotmail.com
WebLovers - Quem somos SEDIR MORAIS - @sedir_ Graduando em Análise e Desenvolvimento de Sistemas – IFRN Líder do Grupo WebLovers – grupoweblovers.org E-mail: philippi.sedir@gmail.com MSN: philippi.sedir@gmail.com
Agenda do minicurso • Como instalar o Python; • Preparando seu ambiente de trabalho; • Introdução a Algoritmos; • Introdução à linguagem Python; • Tipos básicos de dados; • Operações aritméticas, relacionais e lógicas; • Estruturas de controle de fluxo; • Strings; • Listas, vetores e matrizes; • Funções; • Introdução à Orientação a Objetos; • Para saber mais.
Instalação do Python: Linux • Verifique a disponibilidade do Python no repositório de sua distribuição e faça o download/instalação, caso necessário; • No Ubuntu o Python 2.7 já vem instalado por padrão. Caso contrário, verifique na Central de Programas, no gerenciador Synaptic ou via terminal (sudo apt-cache search python).
Instalação do Python: Mac OS X • O Python já vem pré-instalado no sistema operacional da Apple. Entretanto, devido ao ciclo de atualizações do Mac OS X o Python pré-instalado pode estar obsoleto; • Recomenda-se baixar a versão mais nova em www.python.org e fazer a instalação.
Instalação do Python: Windows • Faça o download do instalador do Python em www.python.org e instale-o em seu Windows; • Ajuste o classpath através do prompt de comandos (XX = número da versão):
Preparando seu ambiente de trabalho • Editor de texto Gedit; • Terminal do Ubuntu; • IDE’s (IDLE, Eclipse + PyDev, Emacs, Geany, Wing IDE, etc).
Preparando seu ambiente de trabalho (ambiente Linux) • Configurando o Gedit para trabalhar da melhor forma com o Python (menu Editar > Preferências):
O que é um algoritmo? • Algoritmos são sequências de instruções finitas e não-ambíguas com a finalidade de executar uma ação ou alcançar um resultado; • Há várias formas de estudar algoritmos, como o desenho de fluxogramas lógicos, a escrita de comandos em pseudocódigo (ex.: Portugol) e também usando as linguagens de programação propriamente ditas.
O que é um algoritmo?
O que é um algoritmo? numero = 0 if numero == 0: print "Neutro" elif numero % 2 == 0: print "Par" else: print "Ímpar"
Repitam comigo: PÁI-TON! • Python é uma linguagem de programação interpretada, orientada a objetos e fortemente tipada, criada pelo holandês Guido van Rossum em 1989 e lançada em 1991; • O Python suporta vários paradigmas e modelos de programação, como a Programação Procedural/Estruturada, a Orientação a Objetos, etc.
Repitam comigo: PÁI-TON! • Além de ser interpretado, o Python também funciona de forma virtualizada, podendo gerar Bytecodes na extensão .pyc ou .pyo; • Em Python, quase tudo é considerado um objeto: classes, funções, números, módulos, etc.
Tipos básicos • Tipos numéricos: – Inteiro (int); – Inteiro preciso (long); – Ponto flutuante (float); – Número complexo (complex); • Tipo String (str); • Tipo booleano (bool).
Tipos básicos • Tipo inteiro (int)
Tipos básicos • Tipo inteiro preciso (long)
Tipos básicos • Tipo ponto flutuante (float)
Tipos básicos • Tipo complexo (complex)
Tipos básicos • Tipo booleano (bool)
Tipos básicos • Tipo string/texto (str)
Operações básicas • Tipos de operações: – Aritméticas; – Lógicas; – Relacionais;
Operações básicas • Operações aritméticas: – Adição (+); – Subtração (-); – Multiplicação (*); – Divisão(/); – Divisão inteira (//); – Potenciação (**); – Resto (%).
Operações básicas • Operações aritméticas – Ordem de precedência: 1. Operações entre parênteses; 1. Potenciação; 2. Resto; 3. Divisão inteira; 4. Divisão; 5. Multiplicação; 6. Subtração; 7. Adição.
Operações básicas • Operações aritméticas – Exemplo: – Calculando o resto da divisão de 3 vezes 5 mais 1, por 2:
Operações básicas • Operações lógicas: – E (and); – Ou (or); – Não (not).
Operações básicas • Operações lógicas – Tabelas da Verdade (Álgebra de Boole):
Operações básicas • Operações lógicas – Exemplo: Tabela da Verdade AND:
Operações básicas • Operações relacionais (ou comparativas): – Igual (==); – Diferente (!= ou <>); – Maior que (>); – Menor que (<); – Maior ou igual (>=); – Menor ou igual (<=).
Operações básicas • Operações lógicas e relacionais – Ordem de precedência: 1. Operações entre parênteses; 2. Or; 3. And; 4. Not; 5. Operações entre Parênteses; 1. Menor que; 2. Maior que; 3. Menor ou igual; 4. Maior ou igual; 5. Operações entre parênteses; 1. Diferente; 2. Igual.
Estruturas de controle de fluxo • Tipos de estrutura: – Se/senão (if/else); – Para (for); – Enquanto (while); – Comandos continue e break.
Estruturas de controle de fluxo • If/Else (Pseudocódigo):
Estruturas de controle de fluxo • If/Else – Exemplo 01 (Python):
Estruturas de controle de fluxo • If/Else – Exemplo 02 (Python):
Estruturas de controle de fluxo • For (Pseudocódigo):
Estruturas de controle de fluxo • For – Exemplo 01 (Python):
Estruturas de controle de fluxo • For – Exemplo 02 (Python):
Estruturas de controle de fluxo • While (Pseudocódigo):
Estruturas de controle de fluxo • While – Exemplo (Python):
Estruturas de controle de fluxo • Comando Break:
Estruturas de controle de fluxo • Comando Continue:
Estruturas de controle de fluxo • Exercícios propostos: 1. Crie um programa que peça dois números e diga se o primeiro número é ou não é divisível pelo segundo; 2. Crie um programa que peça a idade de um indivíduo e verifique se ele tem ou não idade suficiente para tirar carteira de motorista. Se a idade digitada for zero, o programa deverá mostrar uma mensagem de erro.
Strings • Strings são sequências de caracteres reconhecidos como texto simples em um programa; • É possível exibir texto, bem como armazená-lo em uma ou mais variáveis; • Para exibir texto usa-se o comando print, seguido do texto entre aspas simples ou duplas; • Strings formadas por múltiplas linhas de texto podem ser criadas e atribuídas a variáveis escrevendo os textos entre trios de aspas simples ou duplas.
Strings
Strings – Concatenação e repetição • Usa-se (inclusive opcionalmente) o sinal + para concatenar duas ou mais strings; • Usa-se o sinal * para repetir uma string um determinado número de vezes:
Strings – Indexação e manipulação • Para o Python, strings se comportam como listas de caracteres (veremos as listas logo adiante) e são indexados como tal. Entretanto, diferente das listas, strings são imutáveis: Índices 0 1 2 3 4 5 6 7 Índices (inverso) -8 -7 -6 -5 -4 -3 -2 -1 Caracteres f i a t 1 4 7
Strings – Indexação e manipulação • Baseado na indexação de uma string, usa- se a técnica de slice (fatia) para manipulá- la das mais diversas formas; • É possível usar essa técnica para ‚fatiar‛ partes de uma string, unir, separar, obter substrings, atribuir strings e/ou substrings à variáveis, entre outros usos.
Strings – Indexação e manipulação • Para usar slices, primeiro atribui-se uma string a uma variável qualquer; • Depois escreve-se esta variável seguido por números entre colchetes, separados por dois pontos. Os números representam o intervalo entre dois índices da string e a razão de iteração; variável[início : fim : razão] • Dependendo da necessidade, é possível omitir um dos valores entre os colchetes. A razão é totalmente opcional.
Strings – Indexação e manipulação >>> palavra = ‚cachorro‛ >>> palavra[2:6] #Mostrar substring ‘chor’ >>> palavra[:1] #Apenas a primeira letra ‘c’ >>> palavra[1:] #Exceto a primeira letra ‘achorro’
Strings – Indexação e manipulação >>> palavra = ‚cachorro‛ >>> palavra[-3:] #Apenas as 3 últimas letras ‘rro’ >>> palavra[::2] #Mostrar letras na razão de 2 ‘ccor’ >>> palavra 2 = palavra[::2] #variável recebe substring >>> print palavra2 ‘ccor’
Strings – Indexação e manipulação • O programador pode usar a função raw_input() para solicitar que o usuário entre com um dado qualquer no programa; • Ao rodar no terminal, o programa aguarda a entrada de algum dado e, ao pressionar ENTER, o programa processará o dado conforme definido em seu código.
Strings – Indexação e manipulação Que saída será gerada por este código?
Strings • Exercícios propostos: 1. Crie um programa que exiba apenas as vogais de uma palavra; 2. Crie um programa que receba um texto e substitua a vogal ‘a’ desse texto por outra à escolha do usuário; 3. Crie um programa que receba um texto e o exiba de trás para frente. • Dicas: 1. Use a técnica de slice; 2. Use, se necessário, a função raw_input().
Listas, vetores e matrizes • Listas são sequências de dados que podem ser formados por elementos de qualquer tipo; • Ao contrário das strings, as listas são mutáveis, ou seja, podem ter seus elementos modificados; • Para criar uma lista, escreve-se alguns elementos separados por vírgulas, dentro de colchetes e os atribui a uma variável.
Listas, vetores e matrizes • Exemplos de listas: – lista1 = [1, 2, 3, 4, 5] – lista2 = [‚Flamengo‛, ‚Vasco‛, ‚ABC‛, ‚América‛] – lista3 = [‚João‛, 25, 1.85, ‚Professor‛, True]
Listas, vetores e matrizes • Vetores nada mais são do que listas formadas apenas por números; • Existem vetores unidimensionais (como o exemplo mostrado no slide anterior) e vetores multidimensionais, também chamados de matrizes.
Listas, vetores e matrizes • Vetor (uma lista simples): vetor = [0, 1, 2, 3, 4, (...)] • Matriz (lista aninhada, ou seja: uma lista dentro de outra): matriz2x2 = [[0, 1],[2, 3]] matriz3x2 = [[0, 1], [2, 3], [4, 5]] matriz2x3 = [[0, 1, 2], [3, 4, 5]]
Acessando valores de uma matriz • Para acessar um valor de um vetor, basta imprimir uma variável seguida da posição ‘i’ do valor, entre colchetes – vetor = [i]; • No caso de uma matriz, deve-se indicar as posições ‘i’ e ‘j’ do valor desejado – matriz = [i][j].
Funções • Funções são blocos de código identificados por um nome e dotados de parâmetros predefinidos; • Python vem com diversas funções em sua biblioteca padrão, além de permitir a definição de suas próprias funções; • Funções criadas pelo programador podem ou não ter valor de retorno (comando return), dependendo da necessidade.
Funções • Exemplos de funções built-in: – type() – Identifica o tipo de uma variável; – raw_input() – Recebe uma entrada de dados; – id() – Retorna a identidade de um objeto; – pow(x, y) – Potenciação: retorna um número x elevado a uma potência y; – Entre vários outros!
Definindo funções • Define-se uma função em Python usando-se o comando def seguido do nome da função, escrevendo zero ou mais argumentos entre parênteses e terminando com um sinal de dois pontos (:); • Na linha seguinte, escreve-se o bloco de código desejado.
Chamando funções • Basta escrever o nome da função e, se necessário, passar um ou mais valores para os argumentos.
Exemplo de funções com recursividade • Função para calcular o fatorial de um número qualquer:
Funções • Exercício proposto: – Escreva uma função que imprima na tela a sequência de Fibonacci até um número previamente definido.
Introdução a Orientação a Objetos • A linguagem Python tem como uma de suas várias características o suporte ao paradigma da Programação Orientada a Objetos, que permite o reaproveitamento de código e uma maior abstração do problema a ser resolvido; • Demonstraremos agora como se codifica e funciona uma classe em Python.
Python OO - Classes • Exemplo: Retângulo
Python OO – Objeto (ou Instância) • Exemplo: Retângulo
Para saber mais • Material de estudo – Livros: • Introdução à Programação com Python Editora Novatec • Python e Django: Desenvolvimento ágil de aplicações web Editora Novatec
Para saber mais • Material de estudo – Na Internet: • Documentação oficial – migre.me/64xa4 • Tutorial Python (E-Book. Autor: Guido van Rossum) – migre.me/64xcN • Aprenda a Programar (E-Book. Autor: Luciano Ramalho) – migre.me/64xn9 • Python para Desenvolvedores (E-Book. Autor: Luiz Eduardo Borges) – migre.me/64xIA
DÚVIDAS?
MUITO OBRIGADO! www.grupoweblovers.org grupoweblovers@googlegroups.com twitter.com/WebLoversRN

Curso básico de Algoritmos com Python

  • 1.
    Curso básico dealgoritmos com Python Tecnologia em Análise e Desenvolvimento de Sistemas – IFRN EPOCA 2011
  • 2.
    WebLovers - Quemsomos GIANCARLO SILVA - @giancarlozero Graduando em Análise e Desenvolvimento de Sistemas – IFRN Líder do Grupo WebLovers – grupoweblovers.org E-mail: giancarlozero@gmail.com MSN: giancarlozero@yahoo.com.br
  • 3.
    WebLovers - Quemsomos ALLYSON BARROS - @allysonbarros Graduando em Análise e Desenvolvimento de Sistemas – IFRN Empreendedor e desenvolvedor Rails Líder do Grupo WebLovers – grupoweblovers.org E-mail: allysonbarrosrn@gmail.com MSN: allyson_barros_irm@hotmail.com
  • 4.
    WebLovers - Quemsomos DANIELE MONTENEGRO – @lelybarros Bacharel em Ciências Sociais – UFRN Graduanda em Análise e Desenvolvimento de Sistemas – IFRN Líder do Grupo WebLovers – grupoweblovers.org E-mail: monte.daniele@gmail.com MSN: danie_monte@hotmail.com
  • 5.
    WebLovers - Quemsomos ELIONAI MOURA - @eli_embits Graduando em Análise e Desenvolvimento de Sistemas – IFRN Empreendedor e Desenvolvedor PHP da EmBits Líder do Grupo WebLovers – grupoweblovers.org E-mail: nick.legal@gmail.com MSN: eli.ml@hotmail.com
  • 6.
    WebLovers - Quemsomos SEDIR MORAIS - @sedir_ Graduando em Análise e Desenvolvimento de Sistemas – IFRN Líder do Grupo WebLovers – grupoweblovers.org E-mail: philippi.sedir@gmail.com MSN: philippi.sedir@gmail.com
  • 7.
    Agenda do minicurso • Como instalar o Python; • Preparando seu ambiente de trabalho; • Introdução a Algoritmos; • Introdução à linguagem Python; • Tipos básicos de dados; • Operações aritméticas, relacionais e lógicas; • Estruturas de controle de fluxo; • Strings; • Listas, vetores e matrizes; • Funções; • Introdução à Orientação a Objetos; • Para saber mais.
  • 8.
    Instalação do Python:Linux • Verifique a disponibilidade do Python no repositório de sua distribuição e faça o download/instalação, caso necessário; • No Ubuntu o Python 2.7 já vem instalado por padrão. Caso contrário, verifique na Central de Programas, no gerenciador Synaptic ou via terminal (sudo apt-cache search python).
  • 9.
    Instalação do Python:Mac OS X • O Python já vem pré-instalado no sistema operacional da Apple. Entretanto, devido ao ciclo de atualizações do Mac OS X o Python pré-instalado pode estar obsoleto; • Recomenda-se baixar a versão mais nova em www.python.org e fazer a instalação.
  • 10.
    Instalação do Python:Windows • Faça o download do instalador do Python em www.python.org e instale-o em seu Windows; • Ajuste o classpath através do prompt de comandos (XX = número da versão):
  • 11.
    Preparando seu ambiente de trabalho • Editor de texto Gedit; • Terminal do Ubuntu; • IDE’s (IDLE, Eclipse + PyDev, Emacs, Geany, Wing IDE, etc).
  • 12.
    Preparando seu ambientede trabalho (ambiente Linux) • Configurando o Gedit para trabalhar da melhor forma com o Python (menu Editar > Preferências):
  • 13.
    O que éum algoritmo? • Algoritmos são sequências de instruções finitas e não-ambíguas com a finalidade de executar uma ação ou alcançar um resultado; • Há várias formas de estudar algoritmos, como o desenho de fluxogramas lógicos, a escrita de comandos em pseudocódigo (ex.: Portugol) e também usando as linguagens de programação propriamente ditas.
  • 14.
    O que éum algoritmo?
  • 15.
    O que éum algoritmo? numero = 0 if numero == 0: print "Neutro" elif numero % 2 == 0: print "Par" else: print "Ímpar"
  • 16.
    Repitam comigo: PÁI-TON! •Python é uma linguagem de programação interpretada, orientada a objetos e fortemente tipada, criada pelo holandês Guido van Rossum em 1989 e lançada em 1991; • O Python suporta vários paradigmas e modelos de programação, como a Programação Procedural/Estruturada, a Orientação a Objetos, etc.
  • 17.
    Repitam comigo: PÁI-TON! •Além de ser interpretado, o Python também funciona de forma virtualizada, podendo gerar Bytecodes na extensão .pyc ou .pyo; • Em Python, quase tudo é considerado um objeto: classes, funções, números, módulos, etc.
  • 18.
    Tipos básicos • Tiposnuméricos: – Inteiro (int); – Inteiro preciso (long); – Ponto flutuante (float); – Número complexo (complex); • Tipo String (str); • Tipo booleano (bool).
  • 19.
  • 20.
    Tipos básicos • Tipointeiro preciso (long)
  • 21.
    Tipos básicos • Tipoponto flutuante (float)
  • 22.
    Tipos básicos • Tipocomplexo (complex)
  • 23.
    Tipos básicos • Tipobooleano (bool)
  • 24.
    Tipos básicos • Tipostring/texto (str)
  • 25.
    Operações básicas • Tiposde operações: – Aritméticas; – Lógicas; – Relacionais;
  • 26.
    Operações básicas • Operaçõesaritméticas: – Adição (+); – Subtração (-); – Multiplicação (*); – Divisão(/); – Divisão inteira (//); – Potenciação (**); – Resto (%).
  • 27.
    Operações básicas • Operaçõesaritméticas – Ordem de precedência: 1. Operações entre parênteses; 1. Potenciação; 2. Resto; 3. Divisão inteira; 4. Divisão; 5. Multiplicação; 6. Subtração; 7. Adição.
  • 28.
    Operações básicas • Operaçõesaritméticas – Exemplo: – Calculando o resto da divisão de 3 vezes 5 mais 1, por 2:
  • 29.
    Operações básicas • Operaçõeslógicas: – E (and); – Ou (or); – Não (not).
  • 30.
    Operações básicas • Operaçõeslógicas – Tabelas da Verdade (Álgebra de Boole):
  • 31.
    Operações básicas • Operaçõeslógicas – Exemplo: Tabela da Verdade AND:
  • 32.
    Operações básicas • Operaçõesrelacionais (ou comparativas): – Igual (==); – Diferente (!= ou <>); – Maior que (>); – Menor que (<); – Maior ou igual (>=); – Menor ou igual (<=).
  • 33.
    Operações básicas • Operaçõeslógicas e relacionais – Ordem de precedência: 1. Operações entre parênteses; 2. Or; 3. And; 4. Not; 5. Operações entre Parênteses; 1. Menor que; 2. Maior que; 3. Menor ou igual; 4. Maior ou igual; 5. Operações entre parênteses; 1. Diferente; 2. Igual.
  • 34.
    Estruturas de controlede fluxo • Tipos de estrutura: – Se/senão (if/else); – Para (for); – Enquanto (while); – Comandos continue e break.
  • 35.
    Estruturas de controlede fluxo • If/Else (Pseudocódigo):
  • 36.
    Estruturas de controlede fluxo • If/Else – Exemplo 01 (Python):
  • 37.
    Estruturas de controlede fluxo • If/Else – Exemplo 02 (Python):
  • 38.
    Estruturas de controlede fluxo • For (Pseudocódigo):
  • 39.
    Estruturas de controlede fluxo • For – Exemplo 01 (Python):
  • 40.
    Estruturas de controlede fluxo • For – Exemplo 02 (Python):
  • 41.
    Estruturas de controlede fluxo • While (Pseudocódigo):
  • 42.
    Estruturas de controlede fluxo • While – Exemplo (Python):
  • 43.
    Estruturas de controlede fluxo • Comando Break:
  • 44.
    Estruturas de controlede fluxo • Comando Continue:
  • 45.
    Estruturas de controlede fluxo • Exercícios propostos: 1. Crie um programa que peça dois números e diga se o primeiro número é ou não é divisível pelo segundo; 2. Crie um programa que peça a idade de um indivíduo e verifique se ele tem ou não idade suficiente para tirar carteira de motorista. Se a idade digitada for zero, o programa deverá mostrar uma mensagem de erro.
  • 46.
    Strings • Strings sãosequências de caracteres reconhecidos como texto simples em um programa; • É possível exibir texto, bem como armazená-lo em uma ou mais variáveis; • Para exibir texto usa-se o comando print, seguido do texto entre aspas simples ou duplas; • Strings formadas por múltiplas linhas de texto podem ser criadas e atribuídas a variáveis escrevendo os textos entre trios de aspas simples ou duplas.
  • 47.
  • 48.
    Strings – Concatenaçãoe repetição • Usa-se (inclusive opcionalmente) o sinal + para concatenar duas ou mais strings; • Usa-se o sinal * para repetir uma string um determinado número de vezes:
  • 49.
    Strings – Indexaçãoe manipulação • Para o Python, strings se comportam como listas de caracteres (veremos as listas logo adiante) e são indexados como tal. Entretanto, diferente das listas, strings são imutáveis: Índices 0 1 2 3 4 5 6 7 Índices (inverso) -8 -7 -6 -5 -4 -3 -2 -1 Caracteres f i a t 1 4 7
  • 50.
    Strings – Indexaçãoe manipulação • Baseado na indexação de uma string, usa- se a técnica de slice (fatia) para manipulá- la das mais diversas formas; • É possível usar essa técnica para ‚fatiar‛ partes de uma string, unir, separar, obter substrings, atribuir strings e/ou substrings à variáveis, entre outros usos.
  • 51.
    Strings – Indexaçãoe manipulação • Para usar slices, primeiro atribui-se uma string a uma variável qualquer; • Depois escreve-se esta variável seguido por números entre colchetes, separados por dois pontos. Os números representam o intervalo entre dois índices da string e a razão de iteração; variável[início : fim : razão] • Dependendo da necessidade, é possível omitir um dos valores entre os colchetes. A razão é totalmente opcional.
  • 52.
    Strings – Indexaçãoe manipulação >>> palavra = ‚cachorro‛ >>> palavra[2:6] #Mostrar substring ‘chor’ >>> palavra[:1] #Apenas a primeira letra ‘c’ >>> palavra[1:] #Exceto a primeira letra ‘achorro’
  • 53.
    Strings – Indexaçãoe manipulação >>> palavra = ‚cachorro‛ >>> palavra[-3:] #Apenas as 3 últimas letras ‘rro’ >>> palavra[::2] #Mostrar letras na razão de 2 ‘ccor’ >>> palavra 2 = palavra[::2] #variável recebe substring >>> print palavra2 ‘ccor’
  • 54.
    Strings – Indexaçãoe manipulação • O programador pode usar a função raw_input() para solicitar que o usuário entre com um dado qualquer no programa; • Ao rodar no terminal, o programa aguarda a entrada de algum dado e, ao pressionar ENTER, o programa processará o dado conforme definido em seu código.
  • 55.
    Strings – Indexaçãoe manipulação Que saída será gerada por este código?
  • 56.
    Strings • Exercícios propostos: 1. Crie um programa que exiba apenas as vogais de uma palavra; 2. Crie um programa que receba um texto e substitua a vogal ‘a’ desse texto por outra à escolha do usuário; 3. Crie um programa que receba um texto e o exiba de trás para frente. • Dicas: 1. Use a técnica de slice; 2. Use, se necessário, a função raw_input().
  • 57.
    Listas, vetores ematrizes • Listas são sequências de dados que podem ser formados por elementos de qualquer tipo; • Ao contrário das strings, as listas são mutáveis, ou seja, podem ter seus elementos modificados; • Para criar uma lista, escreve-se alguns elementos separados por vírgulas, dentro de colchetes e os atribui a uma variável.
  • 58.
    Listas, vetores ematrizes • Exemplos de listas: – lista1 = [1, 2, 3, 4, 5] – lista2 = [‚Flamengo‛, ‚Vasco‛, ‚ABC‛, ‚América‛] – lista3 = [‚João‛, 25, 1.85, ‚Professor‛, True]
  • 59.
    Listas, vetores ematrizes • Vetores nada mais são do que listas formadas apenas por números; • Existem vetores unidimensionais (como o exemplo mostrado no slide anterior) e vetores multidimensionais, também chamados de matrizes.
  • 60.
    Listas, vetores ematrizes • Vetor (uma lista simples): vetor = [0, 1, 2, 3, 4, (...)] • Matriz (lista aninhada, ou seja: uma lista dentro de outra): matriz2x2 = [[0, 1],[2, 3]] matriz3x2 = [[0, 1], [2, 3], [4, 5]] matriz2x3 = [[0, 1, 2], [3, 4, 5]]
  • 61.
    Acessando valores deuma matriz • Para acessar um valor de um vetor, basta imprimir uma variável seguida da posição ‘i’ do valor, entre colchetes – vetor = [i]; • No caso de uma matriz, deve-se indicar as posições ‘i’ e ‘j’ do valor desejado – matriz = [i][j].
  • 62.
    Funções • Funções sãoblocos de código identificados por um nome e dotados de parâmetros predefinidos; • Python vem com diversas funções em sua biblioteca padrão, além de permitir a definição de suas próprias funções; • Funções criadas pelo programador podem ou não ter valor de retorno (comando return), dependendo da necessidade.
  • 63.
    Funções • Exemplos defunções built-in: – type() – Identifica o tipo de uma variável; – raw_input() – Recebe uma entrada de dados; – id() – Retorna a identidade de um objeto; – pow(x, y) – Potenciação: retorna um número x elevado a uma potência y; – Entre vários outros!
  • 64.
    Definindo funções • Define-seuma função em Python usando-se o comando def seguido do nome da função, escrevendo zero ou mais argumentos entre parênteses e terminando com um sinal de dois pontos (:); • Na linha seguinte, escreve-se o bloco de código desejado.
  • 65.
    Chamando funções • Bastaescrever o nome da função e, se necessário, passar um ou mais valores para os argumentos.
  • 66.
    Exemplo de funçõescom recursividade • Função para calcular o fatorial de um número qualquer:
  • 67.
    Funções • Exercício proposto: – Escreva uma função que imprima na tela a sequência de Fibonacci até um número previamente definido.
  • 68.
    Introdução a Orientaçãoa Objetos • A linguagem Python tem como uma de suas várias características o suporte ao paradigma da Programação Orientada a Objetos, que permite o reaproveitamento de código e uma maior abstração do problema a ser resolvido; • Demonstraremos agora como se codifica e funciona uma classe em Python.
  • 69.
    Python OO -Classes • Exemplo: Retângulo
  • 70.
    Python OO –Objeto (ou Instância) • Exemplo: Retângulo
  • 71.
    Para saber mais •Material de estudo – Livros: • Introdução à Programação com Python Editora Novatec • Python e Django: Desenvolvimento ágil de aplicações web Editora Novatec
  • 72.
    Para saber mais •Material de estudo – Na Internet: • Documentação oficial – migre.me/64xa4 • Tutorial Python (E-Book. Autor: Guido van Rossum) – migre.me/64xcN • Aprenda a Programar (E-Book. Autor: Luciano Ramalho) – migre.me/64xn9 • Python para Desenvolvedores (E-Book. Autor: Luiz Eduardo Borges) – migre.me/64xIA
  • 73.
  • 74.
    MUITO OBRIGADO! www.grupoweblovers.org grupoweblovers@googlegroups.com twitter.com/WebLoversRN