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 ENGENHARIA ELÉTRICA profericomartins@unemat.br
1. Linguagens de Programação
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.
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)
Linguagem de programação: Baixo Nível x Alto Nível (de Abstração) Hello World no Assembly Hello World no Python http://ratosdelaboratorio.blogspot.com.br/2009/04/assembly-hello-world.html
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.
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.
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.
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.
Linguagem de programação: Compilação x Interpretação ALGOL BASIC C C++ COBOL Cobra Common Lisp Delphi Eiffel Fortran JOVIAL LabVIEW Pascal Visual Basic Tipicamente compiladas ActionScript BASIC C# Java JavaScript Lisp Logo Lua PHP Python R Ruby S Smalltalk Tipicamente interpretadas
Quantas linguagens de programação existem? http://alumni.cs.ucr.edu/~vladimir/cs181/plchart.png
Quantas linguagens de programação existem?
Quais são as linguagens de programação mais populares? http://spectrum.ieee.org/computing/software/the-2016-top-programming-languages
2. Linguagem Python
Python como primeira linguagem: CURSO DE ENGENHARIA ELÉTRICA 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).
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
Ano Mês Distribuição (Release) Descrição 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 Python 3.x
Aplicações Python: CURSO DE ENGENHARIA ELÉTRICA 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. Na prática, a maioria das pessoas usa esses termos de forma intercambiável. Tipos de aplicações Python: Aplicativo de console (Console application) Aplicação GUI (GUI Application) Aplicativo Web (Web Application):
Aplicações Python: CURSO DE ENGENHARIA ELÉTRICA 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.
Aplicações Python: CURSO DE ENGENHARIA ELÉTRICA 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.
Aplicações Python: CURSO DE ENGENHARIA ELÉTRICA 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.
Como o Python gera o bytecode ( similar ao código de máquina tradicional): 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.
Como o Python gera o bytecode ( similar ao código de máquina tradicional): 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.
Como o Python gera o bytecode ( similar ao código de máquina tradicional): 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.
Como o Python gera o bytecode ( similar ao código de máquina tradicional): 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.
3. Exercícios Python
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') Import py_compile py_compile.compile('name_code.py') O que foi gerado?
2. Exercício de implementação: CURSO DE ENGENHARIA ELÉTRICA 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).