• Nenhum resultado encontrado

Linguagens de Programação

N/A
N/A
Protected

Academic year: 2021

Share "Linguagens de Programação"

Copied!
50
0
0

Texto

(1)

Linguagens Imperativas

Linguagens de Programa¸c˜

ao

Paradigma Imperativo

Matheus Hafner Tiago Xavier

CET 087 - Conceitos de Linguagens de Programa¸c˜ao (CLP)

(2)

Linguagens Imperativas

(3)

Linguagens Imperativas

Instala¸c˜

ao

Fortran

sudo apt-get install gfortran Lua

(4)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Introdu¸c˜ao

Introdu¸c˜

ao

Lua ´e uma linguagem de programa¸c˜ao interpretada, imperativa, de script, procedural, poderosa, r´apida e leve, projetada para estender aplica¸c˜oes.

(5)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Introdu¸c˜ao

Introdu¸c˜

ao

Lua combina sintaxe simples para programa¸c˜ao procedural com poderosas constru¸c˜oes para descri¸c˜ao de dados baseadas em tabelas associativas e semˆantica extens´ıvel. Lua ´e tipada dinamicamente, ´e interpretada a partir de bytecodes para uma m´aquina virtual baseada em registradores, e tem

gerenciamento autom´atico de mem´oria com coleta de lixo incremental.

(6)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Introdu¸c˜ao

Introdu¸c˜

ao

Lua foi criada por um time de desenvolvedores do Tecgraf da PUC-Rio, a princ´ıpio, para ser usada em um projeto da Petrobras. Devido `a sua eficiˆencia, clareza e facilidade de aprendizado, passou a ser usada em diversos ramos da

programa¸c˜ao, como no desenvolvimento de jogos, controle de robˆos, processamento de texto, etc. Tamb´em ´e

(7)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Caracter´ısticas

Lua ´e uma linguagem estabelecida e robusta

Mais usada em jogos.

S´olido manual de referˆencia V´arios livros.

V´arias vers˜oes. Aplica¸c˜oes reais.

(8)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Caracter´ısticas

Lua ´e uma linguagem estabelecida e robusta

Mais usada em jogos. S´olido manual de referˆencia

V´arios livros. V´arias vers˜oes. Aplica¸c˜oes reais.

(9)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Caracter´ısticas

Lua ´e uma linguagem estabelecida e robusta

Mais usada em jogos. S´olido manual de referˆencia V´arios livros.

V´arias vers˜oes. Aplica¸c˜oes reais.

(10)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Caracter´ısticas

Lua ´e uma linguagem estabelecida e robusta

Mais usada em jogos. S´olido manual de referˆencia V´arios livros.

V´arias vers˜oes.

(11)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Caracter´ısticas

Lua ´e uma linguagem estabelecida e robusta

Mais usada em jogos. S´olido manual de referˆencia V´arios livros.

V´arias vers˜oes. Aplica¸c˜oes reais.

(12)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Caracter´ısticas

Lua ´e r´

apida

Reputa¸c˜ao de ´otimo desempenho.

Outras aspiram: ”t˜ao r´apidas quanto Lua”. Aplica¸c˜oes grandes s˜ao escritas em Lua.

(13)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Caracter´ısticas

Lua ´e r´

apida

Reputa¸c˜ao de ´otimo desempenho.

Outras aspiram: ”t˜ao r´apidas quanto Lua”.

(14)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Caracter´ısticas

Lua ´e r´

apida

Reputa¸c˜ao de ´otimo desempenho.

Outras aspiram: ”t˜ao r´apidas quanto Lua”. Aplica¸c˜oes grandes s˜ao escritas em Lua.

(15)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Caracter´ısticas

Lua ´e port´

atil

Pequeno pacote.

Sem modifica¸c˜oes em todas as plataformas(ANSI/ISO C). Unix, Windows, dispositivos m´oveis, Lego MindStorms.

(16)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Caracter´ısticas

Lua ´e port´

atil

Pequeno pacote.

Sem modifica¸c˜oes em todas as plataformas(ANSI/ISO C).

(17)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Caracter´ısticas

Lua ´e port´

atil

Pequeno pacote.

Sem modifica¸c˜oes em todas as plataformas(ANSI/ISO C). Unix, Windows, dispositivos m´oveis, Lego MindStorms.

(18)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Caracter´ısticas

Lua ´e embut´ıvel

Engine r´apida e pequena.

API simples e bem documentada.

Estender com bibliotecas escritas em outras linguagens. Estender programas escritos em outras linguagens com Lua.

Poss´ıvel Estender: C, C++, Java, C#, Smalltalk, Fortran, Ada, Erlang, Perl, Ruby, etc.

(19)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Caracter´ısticas

Lua ´e embut´ıvel

Engine r´apida e pequena.

API simples e bem documentada.

Estender com bibliotecas escritas em outras linguagens. Estender programas escritos em outras linguagens com Lua.

Poss´ıvel Estender: C, C++, Java, C#, Smalltalk, Fortran, Ada, Erlang, Perl, Ruby, etc.

(20)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Caracter´ısticas

Lua ´e embut´ıvel

Engine r´apida e pequena.

API simples e bem documentada.

Estender com bibliotecas escritas em outras linguagens.

Estender programas escritos em outras linguagens com Lua.

Poss´ıvel Estender: C, C++, Java, C#, Smalltalk, Fortran, Ada, Erlang, Perl, Ruby, etc.

(21)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Caracter´ısticas

Lua ´e embut´ıvel

Engine r´apida e pequena.

API simples e bem documentada.

Estender com bibliotecas escritas em outras linguagens. Estender programas escritos em outras linguagens com Lua.

Poss´ıvel Estender: C, C++, Java, C#, Smalltalk, Fortran, Ada, Erlang, Perl, Ruby, etc.

(22)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Caracter´ısticas

Lua ´e embut´ıvel

Engine r´apida e pequena.

API simples e bem documentada.

Estender com bibliotecas escritas em outras linguagens. Estender programas escritos em outras linguagens com Lua.

Poss´ıvel Estender: C, C++, Java, C#, Smalltalk, Fortran, Ada, Erlang, Perl, Ruby, etc.

(23)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Caracter´ısticas

Lua ´e pequena

O pacote de Lua 5.1.4: 212K comprimido e 860K descompactado.

Fonte: +/- 17000 linhas de C.

(24)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Caracter´ısticas

Lua ´e pequena

O pacote de Lua 5.1.4: 212K comprimido e 860K descompactado.

Fonte: +/- 17000 linhas de C.

(25)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Caracter´ısticas

Lua ´e pequena

O pacote de Lua 5.1.4: 212K comprimido e 860K descompactado.

Fonte: +/- 17000 linhas de C.

(26)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Caracter´ısticas

Lua ´e livre

Software livre de c´odigo aberto (MIT).

Lua pode ser usada para quaisquer prop´ositos, incluindo prop´ositos comerciais, sem qualquer custo ou burocracia. Basta fazer um download e us´a-la.

(27)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Caracter´ısticas

Lua ´e livre

Software livre de c´odigo aberto (MIT).

Lua pode ser usada para quaisquer prop´ositos, incluindo prop´ositos comerciais, sem qualquer custo ou burocracia. Basta fazer um download e us´a-la.

(28)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Exemplos

”Alˆ

o mundo!”

$ lua

(29)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Exemplos

Maneiras de Execu¸c˜

ao

Mostrar (Raiz Quadrada) de 2:

print (2 ˆ. (1/2)) = 1.4142135623731 * Linha de Comando -e”:

$ lua -e ”print(2 ˆ. 0.5)”

* Programa em modo interativo: $ lua

- print(2 ˆ. 0.5)

* Arquivo via linha de comando $ lua nome-do-arquivo

* Arquivo via modo interativo $ lua

(30)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Exemplos

Operadores

Aritm´eticos + * / % ˆ. -Relacionais

== (diferente) (menor que) (maior que) (menor igual) (maior igual)

L´ogicos and or not Obs: (nil false true)

(31)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Exemplos

Vari´

aveis

$ lua a = 1 + 2 + 1 b = 2 c = ’d’ d = a+b print (a,b,c,d) a,b = b,a print (a,b)

(32)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Exemplos

Utilizando Vetores

$ lua - array = {”a”,”b”,”c”} - print (array[3]) Tamanho do Vetor - print (#array)

(33)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Exemplos

Trabalhando com Strings

$ lua a = ”Andre” b = ”Junior” print(”Nome: ”) print(a) print(-——–”) print(”Ultimo nome: ”) print(b)

(34)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Exemplos

Fatorial de n

$ lua function fact(n) if n == 0 then return 1 else return n * fact(n - 1) end end print(fact(120))

(35)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Exemplos

Soma de Elementos de um Vetor

function add (a) local sum = 0

for i = 1, #a do sum = sum + a[i] end return sum

end

vector = {1,2,3,4} print(add(vector))

(36)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Exemplos

Tabelas (Estruturas de Dados)

ponto = {x=10, y=20} print(ponto[”x”]) print(ponto.x) function Point(x,y)

return {x=x, y=y} – Retorna uma tabela end

array = {Point(10,20), Point(30,40), Point(50,60)} – Vetor de pontos

(37)

Linguagens Imperativas Linguagem de Programa¸c˜ao Lua

Exemplos

Modificando Fun¸c˜

oes

do

local oldprint = print print = function(s) if s == ”yes”then oldprint(”no”) else if s == ”no”then oldprint(”yes”) else oldprint(s) end end end end

(38)

Linguagens Imperativas

Linguagem de Programa¸c˜ao FORTRAN Introdu¸c˜ao

Introdu¸c˜

ao

Desenvolvida a partir da d´ecada de 1950

O nome ´e um acrˆonimo da express˜ao ”IBM Mathematical FORmula TRANslation System”

(39)

Linguagens Imperativas

Linguagem de Programa¸c˜ao FORTRAN Introdu¸c˜ao

Introdu¸c˜

ao

Desenvolvida a partir da d´ecada de 1950

O nome ´e um acrˆonimo da express˜ao ”IBM Mathematical FORmula TRANslation System”

(40)

Linguagens Imperativas

Linguagem de Programa¸c˜ao FORTRAN Introdu¸c˜ao

Introdu¸c˜

ao

Fam´ılia de linguagens de programa¸c˜ao

Uso em aplica¸c˜oes cient´ıficas computacionalmente intensivas

meteorologia, oceanografia, f´ısica, astronomia, geof´ısica, engenharia, economia etc.

(41)

Linguagens Imperativas

Linguagem de Programa¸c˜ao FORTRAN Introdu¸c˜ao

Introdu¸c˜

ao

Fam´ılia de linguagens de programa¸c˜ao

Uso em aplica¸c˜oes cient´ıficas computacionalmente intensivas

meteorologia, oceanografia, f´ısica, astronomia, geof´ısica, engenharia, economia etc.

(42)

Linguagens Imperativas

Linguagem de Programa¸c˜ao FORTRAN Introdu¸c˜ao

Introdu¸c˜

ao

Fam´ılia de linguagens de programa¸c˜ao

Uso em aplica¸c˜oes cient´ıficas computacionalmente intensivas

meteorologia, oceanografia, f´ısica, astronomia, geof´ısica, engenharia, economia etc.

(43)

Linguagens Imperativas

Linguagem de Programa¸c˜ao FORTRAN Caracter´ısticas

Caracter´ısticas

Permite a cria¸c˜ao de programas que primam pela velocidade de execu¸c˜ao

Linguagem de programa¸c˜ao procedural

Vers˜oes recentes possuem caracter´ısticas que permitem suportar programa¸c˜ao orientada a objetos

(44)

Linguagens Imperativas

Linguagem de Programa¸c˜ao FORTRAN Caracter´ısticas

Caracter´ısticas

Permite a cria¸c˜ao de programas que primam pela velocidade de execu¸c˜ao

Linguagem de programa¸c˜ao procedural

Vers˜oes recentes possuem caracter´ısticas que permitem suportar programa¸c˜ao orientada a objetos

(45)

Linguagens Imperativas

Linguagem de Programa¸c˜ao FORTRAN Caracter´ısticas

Caracter´ısticas

Permite a cria¸c˜ao de programas que primam pela velocidade de execu¸c˜ao

Linguagem de programa¸c˜ao procedural

Vers˜oes recentes possuem caracter´ısticas que permitem suportar programa¸c˜ao orientada a objetos

(46)

Linguagens Imperativas

Linguagem de Programa¸c˜ao FORTRAN Exemplos

”Alˆ

o mundo!”

program alomundo implicit none

print*, ”Alˆo mundo!” end program alomundo

(47)

Linguagens Imperativas

Linguagem de Programa¸c˜ao FORTRAN Exemplos

Tempo de vida

program tempo de vida implicit none

integer:: ano nascimento, anos vida read*, ano nascimento

anos vida = 2011 - ano nascimento

print*, ”Esta exclama¸c˜ao ! n˜ao ´e interpretada como um coment´ario”

print*, ”Em 2006 vocˆe tem ”, anos vida,”anos de vida” end program tempo de vida

(48)

Linguagens Imperativas

Linguagem de Programa¸c˜ao FORTRAN Exemplos

Soma

program soma integer k,n,m n=1 m=3

if(m .ne. 0)then K=m+n else k=n endif print*,k stop end

(49)

Linguagens Imperativas

Linguagem de Programa¸c˜ao FORTRAN Exemplos

Teste go to

program testegoto implicit none integer n n = 1 10 if (n .le. 100) then n = 2*n write (*,*) n goto 10 endif end

(50)

Linguagens Imperativas

Linguagem de Programa¸c˜ao FORTRAN Exemplos

Fatorial

program fat implicit none integer fatorial, n, i fatorial = 1

print*, ”entre com o n´umero ” read(*,*) n

do i = 1, n

fatorial = fatorial * i end do

print *,’Fatorial do n´umero dado ’, y end

Referências

Documentos relacionados

Ebert Daniel M35-39 Eintracht Frankfurt Triathlon DEU (Germany). Ewald Björn M35-39

Gibbon operou o 2º paciente, portador de comunicação interatrial, com total sucesso, abrindo o coração do paciente em extracorpórea e o vasto campo da cirurgia cardíaca, embora não

“Quando tratamos da pesquisa qualitativa, freqüentemente as atividades que compõem a fase exploratória, além de antecederem à construção do projeto, também a

celebrar e testemunhar a Fé da Igreja. Este é também o Programa da Comunidade de Santa Maria dos Olivais. Enquanto Pároco de Santa Maria dos Olivais, no contexto da definição do

Mestrado em: Nutrição Humana ou Nutrição Clínica ou Saúde Coletiva ou Ciências da Saúde ou Ciências ou Saúde ou Alimentos e Nutrição e Desenvolvimento na

A Bolsa de pesquisa é concedida individualmente a pesquisador de comprovada qualificação e experiência para desenvolver de projeto de pesquisa (individual ou integrado). É permitido

[r]

Por exemplo, no caso do circuto acima, a sa´ıda pode ser expressa como f (A, B) para indicar que o valor da sa´ıda depende das duas entradas A e B que podem ser vistas como