Algoritmos e Programação

Documentos relacionados
Algoritmos e Programação

Algoritmos e Programação

Laboratório de Programação 1 Algoritmos e a Lógica de Programação

Desenvolvimento de Aplicações Desktop

PROGRAMAÇÃO I. Introdução

Programação de Computadores

Linguagem de Programação I Prof. Tiago Eugenio de Melo.

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Programação de Computadores

Linguagens de Programação Classificação

Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP. Aula 1 Introdução à Computação

Capítulo 1. Aspectos Preliminares

Aula 01 Algoritmos e lógica de programação e introdução ao C++

Métodos de implementação de linguagens. Kellen Pinagé

Fundamentos de Programação 1

Introdução à Programação Aula 03. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão.

Linguagens de Programação. Introdução. Carlos Bazilio

Informática I. Aula 9. Aula 9-17/05/2006 1

Olá pessoal, Hoje vamos entender os conceitos sobre linguagem de programação. Definição, tipos de linguagens e as linguagens mais utilizadas

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Introdução a Ciência da Computação

Introdução ao Python. Programa Computacional

Programação de Computadores:

GFM015 Introdução à Computação

Algoritmos e Técnicas de Programação Introdução Givanaldo Rocha de Souza

Algoritmos e Programação

Conceitos de Linguagens de Programação

Introdução à Computação

Introdução à Computação

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU

Instalação JDK 10/03/2017

Noções de sistemas de computação

Introdução à Programação. Conceitos Básicos de Programação

Técnico em Informática. Web JavaScript. Profª Ana Paula Mandelli

Infraestrutura de Hardware. Funcionamento de um Computador

Programação de Computadores IV. Introdução a Linguagens de Programação Simone Martins SLIDES CEDIDOS POR BRUNO MARQUES 1

Sistema Computacional

Introdução à Computação MAC0110

Fundamentos de Sistemas Operacionais

Instalação JDK. Joyce França. Professora de Ciência da Computação - IFNMG

Memória. Arquitetura de Von Neumann. Universidade do Vale do Rio dos Sinos Laboratório I Prof.ª Vera Alves 1 CPU. Unidade de controle ULA

TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE. Professora: Isabela C. Damke

3. Linguagem de Programação C

PROGRAMAÇÃO EM JOGOS DIGITAIS

a) Computador b) Estrutura do sistema i. Hardware ii.software c) Linguagens de Programação i. Paradigmas e Programação 1.

Obs.: para realizar estas atividades tenha certeza de que já tenha instalado no sistema operacional o Java JDK e o NetBeans.

Conceitos de Linguagens de Programação - Características. Paavo Soeiro

Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES. Introdução. Geovane Griesang

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

Existem três categorias principais de linguagem de programação: linguagem de máquina, linguagens assembly e linguagens de alto nível.

Laboratório 01 NetBeans

1 Introdução à Programação O que é? Para que serve?... 1

Projeto de Compiladores

AULA 1 INTRODUÇÃO AO JAVA

Desenvolvimento de Software I

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

Programação Estruturada Aula - Introdução a Linguagem de Programação

Compiladores. Motivação. Tradutores. Motivação. Tipos de Tradutores. Tipos de Tradutores

Noções de compilação

Conversões de Linguagens: Tradução, Montagem, Compilação, Ligação e Interpretação

Compiladores. Eduardo Ferreira dos Santos. Fevereiro, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 38

Introdução à Programação

Objetivos. Responder o que é Java; Mostrar as vantagens e desvantagens do Java; Compilar e executar um programa simples.

Autômatos e Linguagens

LAPRO I. Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática - FACIN. Prof. Dr. Rafael Garibotti

Introdução à Computação: Máquinas Multiníveis

Transcrição:

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).