Python - UNEMAT Sinop

Propaganda
ESTADO DE MATO GROSSO
SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA
UNIVERSIDADE DO ESTADO DE MATO GROSSO
CAMPUS UNIVERSITÁRIO DE SINOP
FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS
CURSO DE MATEMÁTICA
Algoritmos e Programação
Prof. Me. Érico Fernando O. Martins
[email protected]
CURSO DE MATEMÁTICA
Algoritmos e Programação
Prof. Me. Érico Fernando O. Martins
1. Linguagens de Programação
CURSO DE MATEMÁTICA
Algoritmos e Programação
Prof. Me. Érico Fernando O. Martins
Linguagem de programação: Definições
- Uma linguagem de programação é um método padronizado para
comunicar instruções para um computador.
- É um conjunto de regras sintáticas e semânticas usadas para definir um
programa de computador.
- Permite que um programador especifique precisamente sobre quais dados
um computador vai atuar, como estes dados serão armazenados ou
transmitidos e quais ações devem ser tomadas sob várias circunstâncias.
- Linguagens de programação podem ser usadas para expressar algoritmos
com precisão, para serem executados por uma máquina computável.
CURSO DE MATEMÁTICA
Algoritmos e Programação
Prof. Me. Érico Fernando O. Martins
Linguagem de programação: Baixo Nível x Alto Nível (de Abstração)
- Baixo Nível: cujos símbolos são uma representação direta do código de
máquina que será gerado (Ex. Assembly)
- Alto nível: composta de símbolos mais complexos, inteligível pelo ser
humano e não-executável diretamente pela máquina (Ex. Python)
CURSO DE MATEMÁTICA
Algoritmos e Programação
Prof. Me. Érico Fernando O. Martins
Linguagem de programação: Baixo Nível x Alto Nível (de Abstração)
“Hello World” no Assembly
http://ratosdelaboratorio.blogspot.com.br/2009/04/assembly-hello-world.html
“Hello World” no Python
CURSO DE MATEMÁTICA
Algoritmos e Programação
Prof. Me. Érico Fernando O. Martins
Linguagem de programação: Compilação x Interpretação
- Uma linguagem de programação pode ser convertida, ou traduzida, em
código de máquina por compilação ou interpretada por um processo
denominado interpretação. Em ambas ocorre a tradução do código-fonte
para código de máquina.
- Código-fonte (source code): é o conjunto de palavras ou símbolos escritos de forma
ordenada e lógica, contendo instruções em uma linguagem de programação.
- Código de máquina (machine code): é uma sequência de números (sistema binário,
octal, hexadecimal, etc) que significam uma sequência de instruções a serem
executadas pelo processador.
CURSO DE MATEMÁTICA
Algoritmos e Programação
Prof. Me. Érico Fernando O. Martins
Linguagem de programação: Compilação x Interpretação
- Uma linguagem de programação pode ser convertida, ou traduzida, em
código de máquina por compilação ou interpretada por um processo
denominado interpretação. Em ambas ocorre a tradução do código-fonte
para código de máquina.
- Compilada: o código fonte é executado diretamente pelo sistema operacional ou
pelo processador, após ser traduzido por meio de um processo chamado compilação,
usando um programa de computador chamado compilador, para o código de
máquina.
CURSO DE MATEMÁTICA
Algoritmos e Programação
Prof. Me. Érico Fernando O. Martins
Linguagem de programação: Compilação x Interpretação
- Uma linguagem de programação pode ser convertida, ou traduzida, em
código de máquina por compilação ou interpretada por um processo
denominado interpretação. Em ambas ocorre a tradução do código-fonte
para código de máquina.
- Interpretada: o código-fonte é executado por um programa de computador chamado
interpretador, que em seguida é executado pelo sistema operacional ou processador. Mesmo
que um código em uma linguagem passe pelo processo de compilação, a linguagem pode ser
considerada interpretada se o programa resultante não for executado diretamente pelo
sistema operacional ou processador. Um exemplo disso é o Bytecode, que é um tipo de
linguagem interpretada que passa pelo processo de compilação e, em seguida, é executado
por uma máquina virtual, cuja sintaxe é similar ao código de máquina.
CURSO DE MATEMÁTICA
Algoritmos e Programação
Prof. Me. Érico Fernando O. Martins
Linguagem de programação: Compilação x Interpretação
- Existem também, as linguagens de script, que são linguagens
interpretadas, executadas do interior de programas e/ou de outras
linguagens de programação.
- Teoricamente, qualquer linguagem pode ser compilada ou interpretada
e, por disso, há algumas linguagens que possuem ambas
implementações.
CURSO DE MATEMÁTICA
Algoritmos e Programação
Prof. Me. Érico Fernando O. Martins
Linguagem de programação: Compilação x Interpretação
Tipicamente compiladas
ALGOL
BASIC
C
C++
COBOL
Cobra
Common Lisp
Delphi
Eiffel
Fortran
JOVIAL
LabVIEW
Pascal
Visual Basic
Tipicamente interpretadas
ActionScript
BASIC
C#
Java
JavaScript
Lisp
Logo
Lua
PHP
Python
R
Ruby
S
Smalltalk
CURSO DE MATEMÁTICA
Algoritmos e Programação
Prof. Me. Érico Fernando O. Martins
Quantas linguagens de programação existem?
http://alumni.cs.ucr.edu/~vladimir/cs181/PLchart.png
CURSO DE MATEMÁTICA
Algoritmos e Programação
Prof. Me. Érico Fernando O. Martins
Quantas linguagens de programação existem?
CURSO DE MATEMÁTICA
Algoritmos e Programação
Prof. Me. Érico Fernando O. Martins
Quais são as linguagens de programação mais populares?
http://spectrum.ieee.org/computing/software/the-2016-top-programming-languages
CURSO DE MATEMÁTICA
Algoritmos e Programação
Prof. Me. Érico Fernando O. Martins
2. Linguagem Python
CURSO DE MATEMÁTICA
Algoritmos e Programação
Prof. Me. Érico Fernando O. Martins
Python como primeira linguagem:
• Python tem uma sintaxe simples que é mais fácil de ler e usar;
• Python tem a maioria dos recursos das linguagens de programação tradicionais.
Como resultado, você pode usar python para aprender os conceitos e habilidades
que se aplicam à essas linguagens.
• Python suporta o desenvolvimento de uma ampla gama de aplicações, incluindo
jogos, aplicações web, administração de sistemas e banco de dados,
desenvolvimento cientifico, etc.
• O Python é usado por muitas empresas de sucesso, incluindo o Google, IBM,
Disney e EA Games. Como resultado, conhecer python é uma habilidade valiosa.
• Python é de código aberto (open source).
CURSO DE MATEMÁTICA
Algoritmos e Programação
Prof. Me. Érico Fernando O. Martins
• A linguagem de programação Python foi desenvolvida em 1990 por Guido
Van Rossum, com o propósito de ser uma linguagem simples, intuitiva e tão
poderosa quanto as linguagens tradicionais.
• O nome Python foi uma homenagem de Guido ao grupo de humor “Monty
Python's Flying Circus”.
https://twitter.com/gvanrossum
CURSO DE MATEMÁTICA
Algoritmos e Programação
Prof. Me. Érico Fernando O. Martins
Ano
Mês
Distribuição (Release)
2000
Outubro
2.0
Primeira distribuição do Python 2.
2008
Dezembro
3.0
A primeira versão de uma distribuição redesenhada do Python,
não retro compatível.
2010
Julho
2.7
A última distribuição do Python 2 com suporte até 2020.
2015
Setembro
3.5
A mais nova distribuição.
Python 2.x
Descrição
Python 3.x
CURSO DE MATEMÁTICA
Algoritmos e Programação
Prof. Me. Érico Fernando O. Martins
Aplicações Python:
Uma aplicação ou aplicativo (app) é um software de computador que
executa uma tarefa ou um conjunto relacionado de tarefas. No entanto, os
aplicativos também podem ser referidos como programas, mesmo que um
aplicativo pode se constituir na verdade de muitos programas relacionados.
Na prática, a maioria das pessoas usa esses termos de forma intercambiável.
CURSO DE MATEMÁTICA
Algoritmos e Programação
Prof. Me. Érico Fernando O. Martins
Aplicações Python:
• Aplicativo de console (Console application): neste tipo de aplicativo, você
insere comandos no prompt de comando no console que está disponível
em seu sistema operacional. Os aplicativos de console são o tipo de
aplicativo mais fácil de desenvolver.
Um aplicativo de console é um aplicativo de desktop que usa o console para interagir com o usuário.
CURSO DE MATEMÁTICA
Algoritmos e Programação
Prof. Me. Érico Fernando O. Martins
Aplicações Python:
• Aplicação GUI (GUI Application): É uma aplicação que possui uma Interface
Gráfica do Usuário (GUI, do inglês Graphical User Interface). Nos casos mais
simples o aplicativo GUI executa as mesmas tarefas que o aplicativo de
console, contudo a aplicação GUI é mais amigável e intuitiva.
Um aplicativo GUI é um aplicativo que usa uma interface gráfica do usuário (GUI) para interagir com o usuário.
CURSO DE MATEMÁTICA
Algoritmos e Programação
Prof. Me. Érico Fernando O. Martins
Aplicações Python:
• Aplicativo Web (Web Application): Ao contrário de um aplicativo de
desktop, que é executado diretamente em seu computador, um aplicativo
da Web pode ser chamado por um navegador da Web que está sendo
executado em um computador ou dispositivo móvel e pode usar um
servidor para processar ou armazenar dados. Frameworks python estão
disponíveis para ajudá-lo a desenvolver esse tipo de aplicativo.
Um aplicativo da Web recebe solicitações de um navegador, processa-as em um servidor e retorna as respostas ao navegador.
CURSO DE MATEMÁTICA
Algoritmos e Programação
Prof. Me. Érico Fernando O. Martins
Como o Python gera o código fonte:
• -The code in a program like the one in the last figura can be referred to as python source code. To create the
file that contains this source code, the programmer uses a text editor or integrated development
environment (IDE), which you'll learn more about in a moment.
• -However, before the python source code can be run (or executed) on a computer, the code must be
translated into code that the computer can undestand, as shown in figura 1-4. Here, you can see that the
files that contain the source code have the .py extension. Then, the python interpreter is used to translate
(or compile) the source code into bytecode.
• -This bytecode can be run by any computer that has the python virtual machine installed on it. This virtual
machine translates the bytecode so it can be run by the operating system of the computer.
• -Since the python virtual machine is part of the python interpreter, it is available on all platforms that
support python. In fact, that's why python is said to be platform-independent. In other words, it is the virtual
machine that makes it possible for python to run on a widee variety of operating systems.
• -Although this compilation process is complicated, it's done automatically with the push of a single key
when you're using an IDE to develop your python programs.
CURSO DE MATEMÁTICA
Algoritmos e Programação
Prof. Me. Érico Fernando O. Martins
Como o Python gera o código fonte:
Passo 1 - O programador usa um editor de texto ou IDE
para inserir e editar o código-fonte. Em seguida, o
programador salva o código para um arquivo com uma
extensão .py.
Passo 2 - O código fonte é compilado pelo interpretador
python em bytecode.
Passo 3 - O bytecode é traduzido pela máquina virtual
python em instruções que podem interagir com o
sistema operacional do computador.
CURSO DE MATEMÁTICA
Algoritmos e Programação
Prof. Me. Érico Fernando O. Martins
Como o Python gera o código fonte:
Para criar o arquivo que contém o códigofonte, o programador usa um editor de texto
ou Ambiente de Desenvolvimento Integrado
(IDE, do inglês Integrated Development
Environment).
IDLE - Integrated Development and Learning Environment.
CURSO DE MATEMÁTICA
Algoritmos e Programação
Prof. Me. Érico Fernando O. Martins
Como o Python gera o código fonte:
Os arquivos que contêm o códigofonte têm a extensão .py. Em
seguida, o interpretador python é
usado para traduzir (ou compilar) o
código-fonte em bytecode.
CURSO DE MATEMÁTICA
Algoritmos e Programação
Prof. Me. Érico Fernando O. Martins
Como o Python gera o código fonte:
Este bytecode pode ser executado por qualquer
computador que tenha a máquina virtual python
instalada nele. Esta máquina virtual converte o
bytecode para que ele possa ser executado pelo
sistema operacional do computador.
A máquina virtual Python é parte do
pacote python e está disponível em
todas as plataformas que suportam
python. É por isso que python é
independente da plataforma. Em
outras palavras, é a máquina virtual
que possibilita que o python
funcione em uma ampla variedade
de sistemas operacionais.
CURSO DE MATEMÁTICA
Algoritmos e Programação
Prof. Me. Érico Fernando O. Martins
3. Exercícios Python
CURSO DE MATEMÁTICA
Algoritmos e Programação
Prof. Me. Érico Fernando O. Martins
1. Exercício de compilação em bytecode:
• Digite o seguinte código-fonte no IDE Python e salve como teste no desktop (área de trabalho).
• Comandos úteis:
import os
os.getcwd()
os.chdir('/name_dir/name_subdir')
• O que foi gerado?
Import py_compile
py_compile.compile('name_code.py')
CURSO DE MATEMÁTICA
Algoritmos e Programação
Prof. Me. Érico Fernando O. Martins
2. Exercício de implementação:
a) Faça a implementação em python e crie os bytecodes dos algoritmos dos exercícios
da Estrutura Condicional e Estrutura de Repetição.
b) Faça a implementação em python e crie os bytecodes dos algoritmos dos exercícios
de Estrutura de Dados (vetor e matriz).
Download