SlideShare uma empresa Scribd logo
1 de 74
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Introduction To Programming with Python
Introduction To Programming with PythonIntroduction To Programming with Python
Introduction To Programming with PythonSushant Mane
 
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação WebDjango Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Webantonio sérgio nogueira
 
Python: a primeira mordida
Python: a primeira mordidaPython: a primeira mordida
Python: a primeira mordidaLuciano Ramalho
 
Logica programacao python-slides
Logica programacao python-slidesLogica programacao python-slides
Logica programacao python-slidesronaldo ramos
 
Python Introdução e Orientação a Objetos.pdf
Python Introdução e Orientação a Objetos.pdfPython Introdução e Orientação a Objetos.pdf
Python Introdução e Orientação a Objetos.pdfMarioAthayde
 
Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02thomasdacosta
 
Python Course | Python Programming | Python Tutorial | Python Training | Edureka
Python Course | Python Programming | Python Tutorial | Python Training | EdurekaPython Course | Python Programming | Python Tutorial | Python Training | Edureka
Python Course | Python Programming | Python Tutorial | Python Training | EdurekaEdureka!
 
Programação orientada a objetos – II
Programação orientada a objetos – IIProgramação orientada a objetos – II
Programação orientada a objetos – IIGabriel Faustino
 
Python Tutorial | Python Tutorial for Beginners | Python Training | Edureka
Python Tutorial | Python Tutorial for Beginners | Python Training | EdurekaPython Tutorial | Python Tutorial for Beginners | Python Training | Edureka
Python Tutorial | Python Tutorial for Beginners | Python Training | EdurekaEdureka!
 
Aula 4 - Teste de mesa
Aula 4 - Teste de mesaAula 4 - Teste de mesa
Aula 4 - Teste de mesaPacc UAB
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScriptBruno Catão
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em PythonLuciano Ramalho
 

Mais procurados (20)

Introduction To Programming with Python
Introduction To Programming with PythonIntroduction To Programming with Python
Introduction To Programming with Python
 
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação WebDjango Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
 
Python: a primeira mordida
Python: a primeira mordidaPython: a primeira mordida
Python: a primeira mordida
 
Logica programacao python-slides
Logica programacao python-slidesLogica programacao python-slides
Logica programacao python-slides
 
Python Introdução e Orientação a Objetos.pdf
Python Introdução e Orientação a Objetos.pdfPython Introdução e Orientação a Objetos.pdf
Python Introdução e Orientação a Objetos.pdf
 
Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02
 
Python Course | Python Programming | Python Tutorial | Python Training | Edureka
Python Course | Python Programming | Python Tutorial | Python Training | EdurekaPython Course | Python Programming | Python Tutorial | Python Training | Edureka
Python Course | Python Programming | Python Tutorial | Python Training | Edureka
 
Python Session - 3
Python Session - 3Python Session - 3
Python Session - 3
 
Linguagem C 09 Ponteiros
Linguagem C 09 PonteirosLinguagem C 09 Ponteiros
Linguagem C 09 Ponteiros
 
Linguagem C - Ponteiros
Linguagem C - PonteirosLinguagem C - Ponteiros
Linguagem C - Ponteiros
 
Python
PythonPython
Python
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Programação orientada a objetos – II
Programação orientada a objetos – IIProgramação orientada a objetos – II
Programação orientada a objetos – II
 
Linguagem C - Vetores
Linguagem C - VetoresLinguagem C - Vetores
Linguagem C - Vetores
 
Python Tutorial | Python Tutorial for Beginners | Python Training | Edureka
Python Tutorial | Python Tutorial for Beginners | Python Training | EdurekaPython Tutorial | Python Tutorial for Beginners | Python Training | Edureka
Python Tutorial | Python Tutorial for Beginners | Python Training | Edureka
 
Introdução a python
Introdução a pythonIntrodução a python
Introdução a python
 
Aula 4 - Teste de mesa
Aula 4 - Teste de mesaAula 4 - Teste de mesa
Aula 4 - Teste de mesa
 
Apresentação Linguagem C
Apresentação Linguagem CApresentação Linguagem C
Apresentação Linguagem C
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em Python
 

Destaque

Python - Guia de bolso
Python - Guia de bolsoPython - Guia de bolso
Python - Guia de bolsoJean Lopes
 
Curso Python IFPB - Algoritmos
Curso Python IFPB - AlgoritmosCurso Python IFPB - Algoritmos
Curso Python IFPB - AlgoritmosDiego Lopes
 
Python para iniciantes
Python para iniciantesPython para iniciantes
Python para iniciantesrichardsonlima
 
Introdução à Programação em Python
Introdução à Programação em PythonIntrodução à Programação em Python
Introdução à Programação em PythonRodrigo Hübner
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programaçãorodfernandes
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nívelIgor Sobreira
 
Desenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2pyDesenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2pyGilson Filho
 
Introdução à Programação Python e Tk
Introdução à Programação Python e TkIntrodução à Programação Python e Tk
Introdução à Programação Python e TkCarlos Campani
 
Python no ensino de programação
Python no ensino de programaçãoPython no ensino de programação
Python no ensino de programaçãoGivanaldo Rocha
 
Arduino: Brincando de eletrônica com Python e Hardware Livre
Arduino: Brincando de eletrônica com Python e Hardware LivreArduino: Brincando de eletrônica com Python e Hardware Livre
Arduino: Brincando de eletrônica com Python e Hardware LivreÁlvaro Justen
 
Seminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem PythonSeminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem PythonGiancarlo Silva
 
Python - Programação funcional
Python - Programação funcionalPython - Programação funcional
Python - Programação funcionalfabiocerqueira
 
Extraindo dados públicos na marra com Python
Extraindo dados públicos na marra com PythonExtraindo dados públicos na marra com Python
Extraindo dados públicos na marra com PythonPedro Valente
 
Python no Celular
Python no CelularPython no Celular
Python no Celulariuridiniz
 
Dados tabulares: A Maneira Pythônica
Dados tabulares: A Maneira PythônicaDados tabulares: A Maneira Pythônica
Dados tabulares: A Maneira PythônicaÁlvaro Justen
 
Arduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremoArduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremoÁlvaro Justen
 

Destaque (17)

Python - Guia de bolso
Python - Guia de bolsoPython - Guia de bolso
Python - Guia de bolso
 
Curso Python IFPB - Algoritmos
Curso Python IFPB - AlgoritmosCurso Python IFPB - Algoritmos
Curso Python IFPB - Algoritmos
 
Aprendendo python
Aprendendo pythonAprendendo python
Aprendendo python
 
Python para iniciantes
Python para iniciantesPython para iniciantes
Python para iniciantes
 
Introdução à Programação em Python
Introdução à Programação em PythonIntrodução à Programação em Python
Introdução à Programação em Python
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nível
 
Desenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2pyDesenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2py
 
Introdução à Programação Python e Tk
Introdução à Programação Python e TkIntrodução à Programação Python e Tk
Introdução à Programação Python e Tk
 
Python no ensino de programação
Python no ensino de programaçãoPython no ensino de programação
Python no ensino de programação
 
Arduino: Brincando de eletrônica com Python e Hardware Livre
Arduino: Brincando de eletrônica com Python e Hardware LivreArduino: Brincando de eletrônica com Python e Hardware Livre
Arduino: Brincando de eletrônica com Python e Hardware Livre
 
Seminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem PythonSeminário - Guido van Rossum: Breve história da linguagem Python
Seminário - Guido van Rossum: Breve história da linguagem Python
 
Python - Programação funcional
Python - Programação funcionalPython - Programação funcional
Python - Programação funcional
 
Extraindo dados públicos na marra com Python
Extraindo dados públicos na marra com PythonExtraindo dados públicos na marra com Python
Extraindo dados públicos na marra com Python
 
Python no Celular
Python no CelularPython no Celular
Python no Celular
 
Dados tabulares: A Maneira Pythônica
Dados tabulares: A Maneira PythônicaDados tabulares: A Maneira Pythônica
Dados tabulares: A Maneira Pythônica
 
Arduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremoArduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremo
 

Semelhante a Curso Python Introdução Algoritmos

Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Marcelo Barros de Almeida
 
Fundamentos de Python
Fundamentos de PythonFundamentos de Python
Fundamentos de PythonJeff560813
 
Python: programação divertida novamente
Python: programação divertida novamentePython: programação divertida novamente
Python: programação divertida novamenteRodrigo Amaral
 
Aula3PythonBasico (1).ppt
Aula3PythonBasico (1).pptAula3PythonBasico (1).ppt
Aula3PythonBasico (1).pptMichaelArrais1
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 1
Implementação de Aplicações Móveis e Jogos com Python - Aula 1Implementação de Aplicações Móveis e Jogos com Python - Aula 1
Implementação de Aplicações Móveis e Jogos com Python - Aula 1Flávio Ribeiro
 
PE1 - Revisão e Matéria sobre Laços (FOR, WHILE, DO-WHILE)
PE1 - Revisão e Matéria sobre Laços (FOR, WHILE, DO-WHILE)PE1 - Revisão e Matéria sobre Laços (FOR, WHILE, DO-WHILE)
PE1 - Revisão e Matéria sobre Laços (FOR, WHILE, DO-WHILE)Charles Fortes
 
Introducao ao python - Luciana Mota
Introducao ao python - Luciana MotaIntroducao ao python - Luciana Mota
Introducao ao python - Luciana Motalucianacmota
 
Tcc ritzmann,m.r. robotec
Tcc ritzmann,m.r. robotecTcc ritzmann,m.r. robotec
Tcc ritzmann,m.r. robotecMagno Ritzmann
 
Desenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonDesenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonFlávio Ribeiro
 
Aulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosAulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosJocelma Rios
 
Curso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP BásicoCurso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP BásicoNorton Guimarães
 

Semelhante a Curso Python Introdução Algoritmos (20)

Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)
 
Fundamentos de Python
Fundamentos de PythonFundamentos de Python
Fundamentos de Python
 
Python: programação divertida novamente
Python: programação divertida novamentePython: programação divertida novamente
Python: programação divertida novamente
 
Aula3PythonBasico (1).ppt
Aula3PythonBasico (1).pptAula3PythonBasico (1).ppt
Aula3PythonBasico (1).ppt
 
Aula3PythonBasico.ppt
Aula3PythonBasico.pptAula3PythonBasico.ppt
Aula3PythonBasico.ppt
 
Python para Programadores
Python para ProgramadoresPython para Programadores
Python para Programadores
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 1
Implementação de Aplicações Móveis e Jogos com Python - Aula 1Implementação de Aplicações Móveis e Jogos com Python - Aula 1
Implementação de Aplicações Móveis e Jogos com Python - Aula 1
 
PE1 - Revisão e Matéria sobre Laços (FOR, WHILE, DO-WHILE)
PE1 - Revisão e Matéria sobre Laços (FOR, WHILE, DO-WHILE)PE1 - Revisão e Matéria sobre Laços (FOR, WHILE, DO-WHILE)
PE1 - Revisão e Matéria sobre Laços (FOR, WHILE, DO-WHILE)
 
Python Emsl2009
Python Emsl2009Python Emsl2009
Python Emsl2009
 
Introducao ao python - Luciana Mota
Introducao ao python - Luciana MotaIntroducao ao python - Luciana Mota
Introducao ao python - Luciana Mota
 
Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001
 
Aula python
Aula pythonAula python
Aula python
 
Java Básico
Java BásicoJava Básico
Java Básico
 
Tcc ritzmann,m.r. robotec
Tcc ritzmann,m.r. robotecTcc ritzmann,m.r. robotec
Tcc ritzmann,m.r. robotec
 
Desenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonDesenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando Python
 
Aulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosAulas 13 e 14 - Algoritmos
Aulas 13 e 14 - Algoritmos
 
Automatize tarefas maçantes com python - Aula 1
Automatize tarefas maçantes com python - Aula 1Automatize tarefas maçantes com python - Aula 1
Automatize tarefas maçantes com python - Aula 1
 
PHP(I-Bim).ppt
PHP(I-Bim).pptPHP(I-Bim).ppt
PHP(I-Bim).ppt
 
Aula01
Aula01Aula01
Aula01
 
Curso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP BásicoCurso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP Básico
 

Mais de Giancarlo Silva

[EXPOTEC 2016] Construção de sites e gestão de conteúdo com WordPress
[EXPOTEC 2016] Construção de sites e gestão de conteúdo com WordPress[EXPOTEC 2016] Construção de sites e gestão de conteúdo com WordPress
[EXPOTEC 2016] Construção de sites e gestão de conteúdo com WordPressGiancarlo Silva
 
EduQuest: Uma proposta para o uso de Serious Games na educação e na capacitaç...
EduQuest: Uma proposta para o uso de Serious Games na educação e na capacitaç...EduQuest: Uma proposta para o uso de Serious Games na educação e na capacitaç...
EduQuest: Uma proposta para o uso de Serious Games na educação e na capacitaç...Giancarlo Silva
 
Seminário - Linguagem Dart: Structured web apps
Seminário - Linguagem Dart: Structured web appsSeminário - Linguagem Dart: Structured web apps
Seminário - Linguagem Dart: Structured web appsGiancarlo Silva
 
Seminário - Enterprise Resource Planning (ERP)
Seminário - Enterprise Resource Planning (ERP)Seminário - Enterprise Resource Planning (ERP)
Seminário - Enterprise Resource Planning (ERP)Giancarlo Silva
 
Seminário - Comcast, conformação de pacotes e neutralidade da rede
Seminário - Comcast, conformação de pacotes e neutralidade da redeSeminário - Comcast, conformação de pacotes e neutralidade da rede
Seminário - Comcast, conformação de pacotes e neutralidade da redeGiancarlo Silva
 
Seminário - A Nationwide economiza milhões de dólares tornando-se verde
Seminário - A Nationwide economiza milhões de dólares tornando-se verdeSeminário - A Nationwide economiza milhões de dólares tornando-se verde
Seminário - A Nationwide economiza milhões de dólares tornando-se verdeGiancarlo Silva
 
WordPress: De blogs pessoais a grandes portais - Parte 2
WordPress: De blogs pessoais a grandes portais - Parte 2WordPress: De blogs pessoais a grandes portais - Parte 2
WordPress: De blogs pessoais a grandes portais - Parte 2Giancarlo Silva
 
WordPress: De blogs pessoais a grandes portais - Parte 1
WordPress: De blogs pessoais a grandes portais - Parte 1WordPress: De blogs pessoais a grandes portais - Parte 1
WordPress: De blogs pessoais a grandes portais - Parte 1Giancarlo Silva
 

Mais de Giancarlo Silva (8)

[EXPOTEC 2016] Construção de sites e gestão de conteúdo com WordPress
[EXPOTEC 2016] Construção de sites e gestão de conteúdo com WordPress[EXPOTEC 2016] Construção de sites e gestão de conteúdo com WordPress
[EXPOTEC 2016] Construção de sites e gestão de conteúdo com WordPress
 
EduQuest: Uma proposta para o uso de Serious Games na educação e na capacitaç...
EduQuest: Uma proposta para o uso de Serious Games na educação e na capacitaç...EduQuest: Uma proposta para o uso de Serious Games na educação e na capacitaç...
EduQuest: Uma proposta para o uso de Serious Games na educação e na capacitaç...
 
Seminário - Linguagem Dart: Structured web apps
Seminário - Linguagem Dart: Structured web appsSeminário - Linguagem Dart: Structured web apps
Seminário - Linguagem Dart: Structured web apps
 
Seminário - Enterprise Resource Planning (ERP)
Seminário - Enterprise Resource Planning (ERP)Seminário - Enterprise Resource Planning (ERP)
Seminário - Enterprise Resource Planning (ERP)
 
Seminário - Comcast, conformação de pacotes e neutralidade da rede
Seminário - Comcast, conformação de pacotes e neutralidade da redeSeminário - Comcast, conformação de pacotes e neutralidade da rede
Seminário - Comcast, conformação de pacotes e neutralidade da rede
 
Seminário - A Nationwide economiza milhões de dólares tornando-se verde
Seminário - A Nationwide economiza milhões de dólares tornando-se verdeSeminário - A Nationwide economiza milhões de dólares tornando-se verde
Seminário - A Nationwide economiza milhões de dólares tornando-se verde
 
WordPress: De blogs pessoais a grandes portais - Parte 2
WordPress: De blogs pessoais a grandes portais - Parte 2WordPress: De blogs pessoais a grandes portais - Parte 2
WordPress: De blogs pessoais a grandes portais - Parte 2
 
WordPress: De blogs pessoais a grandes portais - Parte 1
WordPress: De blogs pessoais a grandes portais - Parte 1WordPress: De blogs pessoais a grandes portais - Parte 1
WordPress: De blogs pessoais a grandes portais - Parte 1
 

Último

A Inteligência Artificial na Educação e a Inclusão Linguística
A Inteligência Artificial na Educação e a Inclusão LinguísticaA Inteligência Artificial na Educação e a Inclusão Linguística
A Inteligência Artificial na Educação e a Inclusão LinguísticaFernanda Ledesma
 
Baladão sobre Variação Linguistica para o spaece.pptx
Baladão sobre Variação Linguistica para o spaece.pptxBaladão sobre Variação Linguistica para o spaece.pptx
Baladão sobre Variação Linguistica para o spaece.pptxacaciocarmo1
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfaulasgege
 
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕES
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕESPRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕES
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕESpatriciasofiacunha18
 
geografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundogeografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundonialb
 
DIGNITAS INFINITA - DIGNIDADE HUMANA -Declaração do Dicastério para a Doutrin...
DIGNITAS INFINITA - DIGNIDADE HUMANA -Declaração do Dicastério para a Doutrin...DIGNITAS INFINITA - DIGNIDADE HUMANA -Declaração do Dicastério para a Doutrin...
DIGNITAS INFINITA - DIGNIDADE HUMANA -Declaração do Dicastério para a Doutrin...Martin M Flynn
 
Mapas Mentais - Português - Principais Tópicos.pdf
Mapas Mentais - Português - Principais Tópicos.pdfMapas Mentais - Português - Principais Tópicos.pdf
Mapas Mentais - Português - Principais Tópicos.pdfangelicass1
 
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 anoAdelmaTorres2
 
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptxÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptxDeyvidBriel
 
Cartilha 1º Ano Alfabetização _ 1º Ano Ensino Fundamental
Cartilha 1º Ano Alfabetização _ 1º Ano Ensino FundamentalCartilha 1º Ano Alfabetização _ 1º Ano Ensino Fundamental
Cartilha 1º Ano Alfabetização _ 1º Ano Ensino Fundamentalgeone480617
 
Mesoamérica.Astecas,inca,maias , olmecas
Mesoamérica.Astecas,inca,maias , olmecasMesoamérica.Astecas,inca,maias , olmecas
Mesoamérica.Astecas,inca,maias , olmecasRicardo Diniz campos
 
Currículo escolar na perspectiva da educação inclusiva.pdf
Currículo escolar na perspectiva da educação inclusiva.pdfCurrículo escolar na perspectiva da educação inclusiva.pdf
Currículo escolar na perspectiva da educação inclusiva.pdfIedaGoethe
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxSlide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxconcelhovdragons
 
Empreendedorismo: O que é ser empreendedor?
Empreendedorismo: O que é ser empreendedor?Empreendedorismo: O que é ser empreendedor?
Empreendedorismo: O que é ser empreendedor?MrciaRocha48
 
FCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirFCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirIedaGoethe
 
O guia definitivo para conquistar a aprovação em concurso público.pdf
O guia definitivo para conquistar a aprovação em concurso público.pdfO guia definitivo para conquistar a aprovação em concurso público.pdf
O guia definitivo para conquistar a aprovação em concurso público.pdfErasmo Portavoz
 
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...LuizHenriquedeAlmeid6
 
PRIMEIRO---RCP - DEA - BLS estudos - basico
PRIMEIRO---RCP - DEA - BLS estudos - basicoPRIMEIRO---RCP - DEA - BLS estudos - basico
PRIMEIRO---RCP - DEA - BLS estudos - basicoSilvaDias3
 

Último (20)

A Inteligência Artificial na Educação e a Inclusão Linguística
A Inteligência Artificial na Educação e a Inclusão LinguísticaA Inteligência Artificial na Educação e a Inclusão Linguística
A Inteligência Artificial na Educação e a Inclusão Linguística
 
Baladão sobre Variação Linguistica para o spaece.pptx
Baladão sobre Variação Linguistica para o spaece.pptxBaladão sobre Variação Linguistica para o spaece.pptx
Baladão sobre Variação Linguistica para o spaece.pptx
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdf
 
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
 
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕES
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕESPRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕES
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕES
 
geografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundogeografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundo
 
DIGNITAS INFINITA - DIGNIDADE HUMANA -Declaração do Dicastério para a Doutrin...
DIGNITAS INFINITA - DIGNIDADE HUMANA -Declaração do Dicastério para a Doutrin...DIGNITAS INFINITA - DIGNIDADE HUMANA -Declaração do Dicastério para a Doutrin...
DIGNITAS INFINITA - DIGNIDADE HUMANA -Declaração do Dicastério para a Doutrin...
 
Mapas Mentais - Português - Principais Tópicos.pdf
Mapas Mentais - Português - Principais Tópicos.pdfMapas Mentais - Português - Principais Tópicos.pdf
Mapas Mentais - Português - Principais Tópicos.pdf
 
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
 
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptxÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
 
Cartilha 1º Ano Alfabetização _ 1º Ano Ensino Fundamental
Cartilha 1º Ano Alfabetização _ 1º Ano Ensino FundamentalCartilha 1º Ano Alfabetização _ 1º Ano Ensino Fundamental
Cartilha 1º Ano Alfabetização _ 1º Ano Ensino Fundamental
 
Mesoamérica.Astecas,inca,maias , olmecas
Mesoamérica.Astecas,inca,maias , olmecasMesoamérica.Astecas,inca,maias , olmecas
Mesoamérica.Astecas,inca,maias , olmecas
 
Currículo escolar na perspectiva da educação inclusiva.pdf
Currículo escolar na perspectiva da educação inclusiva.pdfCurrículo escolar na perspectiva da educação inclusiva.pdf
Currículo escolar na perspectiva da educação inclusiva.pdf
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
 
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxSlide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
 
Empreendedorismo: O que é ser empreendedor?
Empreendedorismo: O que é ser empreendedor?Empreendedorismo: O que é ser empreendedor?
Empreendedorismo: O que é ser empreendedor?
 
FCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirFCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimir
 
O guia definitivo para conquistar a aprovação em concurso público.pdf
O guia definitivo para conquistar a aprovação em concurso público.pdfO guia definitivo para conquistar a aprovação em concurso público.pdf
O guia definitivo para conquistar a aprovação em concurso público.pdf
 
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
 
PRIMEIRO---RCP - DEA - BLS estudos - basico
PRIMEIRO---RCP - DEA - BLS estudos - basicoPRIMEIRO---RCP - DEA - BLS estudos - basico
PRIMEIRO---RCP - DEA - BLS estudos - basico
 

Curso Python Introdução Algoritmos

  • 1. Curso básico de algoritmos com Python Tecnologia em Análise e Desenvolvimento de Sistemas – IFRN EPOCA 2011
  • 2. 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
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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
  • 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 ambiente de 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 • Tipos numéricos: – Inteiro (int); – Inteiro preciso (long); – Ponto flutuante (float); – Número complexo (complex); • Tipo String (str); • Tipo booleano (bool).
  • 19. Tipos básicos • Tipo inteiro (int)
  • 20. Tipos básicos • Tipo inteiro preciso (long)
  • 21. Tipos básicos • Tipo ponto flutuante (float)
  • 22. Tipos básicos • Tipo complexo (complex)
  • 23. Tipos básicos • Tipo booleano (bool)
  • 24. Tipos básicos • Tipo string/texto (str)
  • 25. Operações básicas • Tipos de operações: – Aritméticas; – Lógicas; – Relacionais;
  • 26. Operações básicas • Operações aritméticas: – Adição (+); – Subtração (-); – Multiplicação (*); – Divisão(/); – Divisão inteira (//); – Potenciação (**); – Resto (%).
  • 27. 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.
  • 28. Operações básicas • Operações aritméticas – Exemplo: – Calculando o resto da divisão de 3 vezes 5 mais 1, por 2:
  • 29. Operações básicas • Operações lógicas: – E (and); – Ou (or); – Não (not).
  • 30. Operações básicas • Operações lógicas – Tabelas da Verdade (Álgebra de Boole):
  • 31. Operações básicas • Operações lógicas – Exemplo: Tabela da Verdade AND:
  • 32. Operações básicas • Operações relacionais (ou comparativas): – Igual (==); – Diferente (!= ou <>); – Maior que (>); – Menor que (<); – Maior ou igual (>=); – Menor ou igual (<=).
  • 33. 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.
  • 34. Estruturas de controle de fluxo • Tipos de estrutura: – Se/senão (if/else); – Para (for); – Enquanto (while); – Comandos continue e break.
  • 35. Estruturas de controle de fluxo • If/Else (Pseudocódigo):
  • 36. Estruturas de controle de fluxo • If/Else – Exemplo 01 (Python):
  • 37. Estruturas de controle de fluxo • If/Else – Exemplo 02 (Python):
  • 38. Estruturas de controle de fluxo • For (Pseudocódigo):
  • 39. Estruturas de controle de fluxo • For – Exemplo 01 (Python):
  • 40. Estruturas de controle de fluxo • For – Exemplo 02 (Python):
  • 41. Estruturas de controle de fluxo • While (Pseudocódigo):
  • 42. Estruturas de controle de fluxo • While – Exemplo (Python):
  • 43. Estruturas de controle de fluxo • Comando Break:
  • 44. Estruturas de controle de fluxo • Comando Continue:
  • 45. 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.
  • 46. 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.
  • 48. 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:
  • 49. 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
  • 50. 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.
  • 51. 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.
  • 52. 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’
  • 53. 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’
  • 54. 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.
  • 55. Strings – Indexação e 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 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.
  • 58. 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]
  • 59. 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.
  • 60. 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]]
  • 61. 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].
  • 62. 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.
  • 63. 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!
  • 64. 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.
  • 65. Chamando funções • Basta escrever o nome da função e, se necessário, passar um ou mais valores para os argumentos.
  • 66. Exemplo de funções com 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çã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.
  • 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
  • 74. MUITO OBRIGADO! www.grupoweblovers.org grupoweblovers@googlegroups.com twitter.com/WebLoversRN