LEONARDO SANTOS PAULUCIO LUIZ GUILHERME LITTIG BERGER
|
|
- Ronaldo Casado Custódio
- 5 Há anos
- Visualizações:
Transcrição
1 LEONARDO SANTOS PAULUCIO LUIZ GUILHERME LITTIG BERGER 1
2 Sumário História Características Escopo Operadores Lógicos e Aritméticos Estruturas de Controle Funções Tables / Metatables / Metamethods / OO Modularização Polimorfismo Concorrência Exceções Avaliação da Linguagem 2
3 3
4 História Foi projetada, implementada e desenvolvida no Brasil, por uma equipe na PUC-Rio em Em 1997, foi usada pela primeira vez como linguagem script pela LucasArts no jogo Grim Fandango. Semelhanças com algumas linguagens: Icon, concepção; Python, facilidade de aprendizado; Lisp e Schema, estrutura dos dados. 4
5 Utilização Hoje é usada em: Robótica; Processamento de imagens; Bio-informática; Aplicações industriais Ex: Adobe's Photoshop Lightroom; Em sistemas embutidos Ex: Middleware Ginga para TV digital; Jogos Ex: World of Warcraft, Angry Birds e SimCity. 5
6 Como obter? Código fonte, executáveis, ferramentas. Documentação técnica, manual, papers e livros Suporte, wiki, grupos. 6
7 Linux Ou simplesmente digite no terminal: sudo apt-get install lua5.2 7
8 Windows / MAC 8
9 Características Linguagem multi-paradigma; Sintaxe simples e intuitiva; Dinamicamente tipada; Linguagem extensível; Case-sensitive; Linguagem ideal para scripting e prototipagem rápida; Linguagem interativa; É uma linguagem de código aberto. 9
10 Execução É interpretada a partir de bytecodes(luac.out) para uma máquina virtual baseada em registradores; Tem gerenciamento automático de memória com coleta de lixo incremental; Para se obter maior velocidade pode se usar o LuaJIT, que é um compilador just-in-time. 10
11 Execução Código fonte Compilação Bytecode Máquina Virtual LuaJIT Linguagem de Máquina 11
12 Tipos de dados nil; boolean; number; Em Lua, não existe definição de tipo, cada valor carrega seu próprio tipo. string; table; function; userdata; thread. Objetos Todos os valores são de primeira classe. A função type() retorna o tipo de um valor qualquer: print(type(true)) --> boolean 12
13 Nil Tipo de valor único, nil; Variáveis, por padrão, tem o valor nil, até que sejam referenciadas; Tem a única finalidade de apresentar se uma variável que não é útil(não possui valor); Nil pode ser atribuído a uma variável para deletá-la. 13
14 Boolean Todo valor tem uma condição a ele associado; Apenas false e nil são considerados falsos, e todo o resto verdadeiro. O que será impresso? 14
15 Number Ponto flutuante de dupla precisão; Podemos compilar Lua para que trabalhe com outros tipos de números, como longs. NaN, valor númerico especial usado para representar valores indefinidos ou não representáveis. Ex: 0/0 15
16 Strings Possuem valores imutáveis; Manipulação através de funções de bibliotecas. 16
17 Strings Delimitadores Aspas Duplas; Ex: a = Isto é um teste Aspas Simples; Ex: b = Isto é outro teste Duplos Colchetes; Ex c = [[ Essa é uma string em duas linhas ]] O caractere \ indica sequências de escape; \n, \t, \r, \, \, \\ 17
18 Tables Arrays associativas; São considerados objetos. Manipulam referências; Única forma de estruturação de dados de Lua; Podem ser heterogêneas. 18
19 Function Uma função pode ser passada como parâmetro de uma função, armazenada em uma variável ou retornada como resultado (primeira classe); Lua apresenta uma forte aplicação para linguagem funcional. 19
20 Userdata Permite o armazenamento de dados em C em variáveis Lua; Lua não possui operações pré-definidas para manipular o tipo userdata, devendo ser feita através de um API de C. Existem dois tipos: Userdata Completo, bloco de memória gerenciado por Lua. Userdata Leve, bloco de memória gerenciado pelo hospedeiro 20
21 Threads As threads podem ser implementadas através de coroutines; Não são relacionadas com as threads dos sistemas operacionais; Lua suporta coroutines em todos sistemas, até aqueles que não suportam threads nativamente. 21
22 Convenções Léxicas da Liguagem Identificadores em Lua podem ser qualquer String de letras, dígitos e underline; Mas não podem começar com dígitos numéricos; Deve se evitar usar identificadores com underline seguido de letras maiúsculas, pois elas são reservadas para usos especiais da linguagem. É case sensitive. 22
23 Convenções Léxicas da Liguagem Comentários de linha são iniciados por -- (dois hífens); Comentários de bloco são iniciados --[[ e fechados com --]] 23
24 Convenções Léxicas da Liguagem Apresenta as seguintes palavras reservadas: and break do else elseif end false for function if in local nil not or repeat return then true until while goto module require 24
25 Escopo Variáveis Globais; Variáveis Locais; Upvalues. 25
26 Variáveis Globais Por default todas as declarações de variáveis são assumidas serem globais. 26
27 Variáveis Locais Podem ser declaradas em qualquer lugar dentro de um bloco de comandos; Necessário usar a palavra local antes da variável; Têm escopo somente dentro do bloco; Quando declaradas com o mesmo nome de uma variável global, encobrem o acesso à variável global naquele bloco; Em Lua o acesso à variáveis locais é mais rápido do que à variáveis globais. 27
28 Variáveis Locais 28
29 Variáveis Locais É possível criar um bloco com do end; 29
30 Variáveis Locais É recomendável sempre declarar variáveis dentro de funções como locais; Qual será a saída em cada caso? 30
31 Upvalues Variáveis locais podem ser acessadas por funções definidas dentro de seu escopo. Uma variável local usada por uma função mais interna é chamada de upvalue, ou de variável local externa, dentro da função mais interna. Cada execução de um comando local define novas variáveis locais. 31
32 Upvalues Exemplo: 32
33 Atribuição Atribuição feita pelo simbolo operador = (igual); Lua permite atribuição simples ou múltipla; Pode se utilizar ponto-e-vírgula(;) ou não ao final de um comando; Simples: Múltipla: 33
34 Operadores Aritméticos Lua oferece os operadores aritméticos padrões; Só podem ser aplicados a valores do tipo Number ou String que possam ser convertidos para Number. + - / * % - () ^ 34
35 Operadores Relacionais Operadores padrões: ~= == < > <= >= Aplicados somente a dois valores do tipo Number ou String A igualdade compara primeiro o tipo dos dados e depois os valores; Tables, threads e userdatas são comparados por referência. 35
36 Operadores Lógicos São operadores lógicos em Lua: and or not and retorna o primeiro argumento se ele for false caso contrário retorna o segundo; or retorna o primeiro argumento se ele for diferente de false, caso contrário retorna o segundo; Apresentam avaliação de curto-circuito; Os operadores lógicos bit a bit: &(AND), (OR), ^(XOR) e (NOT)foram adicionados na versão
37 Operadores Lógicos Exemplo: 37
38 Outros Operadores Operador de Concatenação Esse operador é representado por dois caracteres ponto (.. ); Aplicável a valores do tipo String; Convertem valores do tipo Number quando concatenados a String. 38
39 Outros Operadores Exemplo: 39
40 Outros Operadores Operador de Comprimento Denotado pelo operador unário #; 40
41 Precedência Maior Precedência A precedência de operadores em Lua é a seguinte: or and < > <= >= ~= == * / % not # - (unário) ^ Podem ser usados parênteses para mudar as precedências de uma expressão. Os operadores de concatenação ('..') e de exponenciação ('^') são associativos à direita. Todos os outros operadores binários são associativos à esquerda. 41
42 Estrutura de Controle Lua possui as seguintes estruturas de controle: If-else; While; Repeat-until; For: númerico; genérico; 42
43 If-else Sintaxe: 43
44 If-else Exemplo 44
45 While O comando while apresenta a seguinte sintaxe: Onde expr1 é a condição que é verificada em cada loop; E bloco são os comandos que serão realizados em cada loop. 45
46 While 46
47 For Numérico Sintaxe: Onde exp1 e o valor inicial de var; O corpo do laço será executado enquanto var for menor ou igual exp2, no caso de um passo positivo, ou maior ou igual a exp2, no caso de um passo negativo. A expressão exp3 representa o passo do laço, quando não especificado é 1. Todas as três expressões de controle são avaliadas somente uma vez, antes do laço começar. Elas devem todas resultar em números; A variável var é local, só existe dentro do laço. 47
48 For Numérico 48
49 For Numérico Quando não estamos interessados em uma variável é comum utilizar _ ; 49
50 For Genérico Usado para percorrer os valores retornados por uma função iteradora. Os principais iteradores fornecidos por Lua são: pairs, para percorrer as chaves de uma tabela; ipairs, para percorrer os índices de um array; e io.lines, para percorrer as linhas de um arquivo. 50
51 For Genérico Sintaxe Onde listaexps é a função iteradora; 51
52 For Genérico Imprimindo todos os seus valores de um array: Imprimindo todas as chaves de uma tabela t: 52
53 Repeat-until Semelhante ao do-while; Sintaxe: Exemplo: 53
54 Estruturas de controle Possui os comandos break, goto e return; 54
55 Funções Uma definição de função é uma expressão executável, cujo valor tem tipo function. Quando Lua pré-compila um trecho, todos os corpos de funções do trecho são pré-compilados também. Sempre que Lua executa a definição de uma função, a função é instanciada (ou fechada). Essa instância de função (ou fecho) é o valor final da expressão; 55
56 Funções São cidadãos de primeira classe; Pode possuir desde nenhum até centenas de parâmetros; Pode não retornar nenhum valor ou vários; Valores do tipo string e number são passados por valor; Valores do tipo table, function e userdata são passados por referência; Passagem de parâmetros é posicional. 56
57 Funções Existem as seguintes sintaxes para se declarar uma função FUNÇÃO ANÔNIMA 57
58 Funções 58
59 Funções É possível chamar uma função com um número diferente de parâmetros do declarado na função. Caso seja passado mais parâmetros do que a função espera os valores extra são descartados. Caso seja chamada com um número menor de parâmetros, os valores dos parâmetros que não foram fornecidos recebem nil. 59
60 Funções 60
61 Funções Lua fornece mecanismos para funções com número variáveis de parâmetros; Essas podem ser declaradas usando-se três pontos (...); Para acessar os parâmetros chamados, usa-se a notação {...}, para criar um array; 61
62 Funções 62
63 Funções É possível retornar somente o primeiro valor de uma função; Coloca-se parênteses ao redor da chamada da função. 63
64 Closures Lua permite a criação de closures(fechos); Associam variáveis externas com uma função que vai ser definida; 64
65 Closures 65
66 Tabelas Único meio de estruturação de dados; Arrays associativos; Não possuem tamanho fixo; Poderoso para implementação de vetores, matrizes, filas, pilhas, etc; 66
67 Tabelas 67
68 Tabelas Pode-se utilizar a biblioteca padrão de Lua table, para realizar manipulações; Contudo, não é necessário utilizá-la; Índice 1 representa a posição do primeiro elemento da tabela; 68
69 Tabelas A função insert insere-se um elemento na tabela; Caso não receba o índice no qual será inserido, adiciona o elemento na posição n+1 onde n é o tamanho da tabela. 69
70 Tabelas Para se inserir um elemento em uma posição da tabela, é necessário passar o índice para a função Nesse caso, os elementos da tabela nas posições 2 e 3 vão ser deslocados: 70
71 Tabelas Pode se fazer inserção de modo direto também; 71
72 Tabelas A função remove retira um elemento da tabela; Caso não receba o índice irá remover o último elemento; 72
73 Tabelas É possível remover o elemento diretamente sem utilizar as funções da biblioteca; 73
74 Metatables Cada tabela pode possuir uma metatable associada; Permitem modificar o comportamento de um tabela indicando qual ação deve ser tomada quando uma operação envolvendo uma tabela é realizada. Inicialmente, uma tabela não possui uma metatable associada; Para saber se uma tabela possui uma metatable associada podemos chamar a função getmetatable: 74
75 Metatables Podemos assim, por exemplo, implementar a operação de soma entre duas tabelas. Tables e userdata tem metatables individuais; Os outros tipos possuem apenas uma metatable para todos os seus valores; Lua permite somente a manipulação de metatables de tabelas. 75
76 Metatables Temos agora que meta é a metatable de t. 76
77 Metamethods É possível fazer algumas operações envolvendo tabelas, tais como +, - e <, cujo significado é dado através de metatables. As tabelas t1 e t2 não possuem uma metatable associada indicando como realizar a operação +. Lua tenta realizar a operação de soma usual, a qual irá falhar. 77
78 Metamethods Para se definir a operação + deve-se criar uma metatable e definir o seu campo add; Todas as operações devem iniciar com 2 underlines ( ) antes do nome; 78
79 Metamethods Lua primeiramente verifica se a tabela possui uma metatable associada; Depois, verifica se possui o metamethod definido; Agora, com a metatable definida e com o a operação + definida a operação pode ser realizada; 79
80 Metamethods É possível modificar o comportamento da é o método tostring; Permite uma personalização de como deve ser impresso o objeto; 80
81 Metamethods Para tratar elementos não existentes em tabelas podemos usar os metamethods index e newindex; O metamethod index é chamado sempre que um campo ausente é acessado; O metamethod newindex é chamado sempre que atribuímos um valor a um campo ausente de uma tabela. 81
82 Metamethods 82
83 Metamethods 83
84 Metamethods O nome de um metamethod é precedido de dois traços add, sub, etc. A tabela a seguir apresenta os metamethods existentes em Lua add sub mul div mod pow unm idiv band bor bxor bnot shl shr concat len eq it le index newindex call gc mode metatable tostring tonumber 84
85 Orientação a Objetos Lua não é uma linguagem OO mas provê mecanismos que simulam; A ideia central da POO em Lua é o uso de metatables e metamethods. Utilizar um modelo OO onde o campo index da metatable será a própria metatable. 85
86 Orientação a Objetos Quando o campo index é uma tabela, Lua tenta acessar a chave ausente nessa tabela. Dessa forma, quando um método não for implementado por um objeto, iremos procurar pela implementação dele na sua metatable. 86
87 Orientação a Objetos Declarando uma classe: 87
88 Orientação a Objetos Métodos: 88
89 Orientação a Objetos Herança simples 89
90 Orientação a Objetos 90
91 Orientação a Objetos É possível fazer herança múltipla, porém é um pouco complicado; A ideia é que a função na chave index da metatabela procure a chave em cada uma das classes pai, retornando a primeira ocorrência que encontrar; Coloca-se a lista de classes pai em outra chave da metatable. 91
92 Orientação a Objetos 92
93 Orientação a Objetos Para realizar polimorfismo e acrescentar novos métodos a esta classe modifica-se um pouco a função para que procure a chave primeiro na própria classe 93
94 I/O Lua possui uma biblioteca com várias funções de I/O 94
95 Modularização O sistema de módulos de Lua foi padronizado com o surgimento da versão 5.1, em Embora módulos já existissem e fossem usados há algum tempo pelos desenvolvedores, não existia ainda uma política bem definida para módulos. 95
96 Modularização Pela definição de módulo de Programming in Lua(2ªed.) Um módulo é uma biblioteca que pode ser carregada usando-se require e que define um único nome global que armazena uma tabela. Todas as funções e variáveis do módulo estão contidas em uma tabela. No fundo módulos são tabelas; 96
97 Modularização É possível criar uma variável que guarda a referência para o módulo; Podemos também armazenar as funções que um módulo exporta em variáveis locais: 97
98 Modularização Importando seu módulo de uma pasta do diretório atual: Diretório Raiz Diretório Classes 98
99 Modularização Os seguintes módulos fazem parte da biblioteca padrão de Lua: coroutine: possui as operações relacionadas com co-rotinas; string: contem funções que manipulam cadeias de caracteres; table: manipulação de tabelas; math: modulo com as funções matemáticas; io: biblioteca de entrada e sada (E/S); package: biblioteca de módulos. os: implementa facilidades do sistema operacional; debug: biblioteca de depuração. 99
100 Modularização O interpretador já carrega os módulos da biblioteca padrão não sendo necessário fazer require; Uma maneira básica de instalar um módulo e simplesmente copiando o arquivo.lua,.so ou.dll para um diretório onde o interpretador de Lua poderá encontrá-lo. Outra forma é modificando o LUA_PATH colocando o caminho onde se encontra o módulo; 100
101 Bibliotecas Padrões Oferecem funções úteis que são implementadas diretamente através da API C; Oferecem serviços essenciais para a linguagem (e.g. type e getmetatable); Oferecem acesso a serviços "externos"; Outras poderiam ser implementadas em Lua mesmo, mas são bastante úteis ou possuem exigências de desempenho críticas que merecem uma implementação em C (e.g. table.sort). Todas as bibliotecas são implementadas através da API C oficial e são oferecidas como módulos C separados. 101
102 Bibliotecas Padrões Atualmente, Lua possui as seguintes bibliotecas padrão: biblioteca básica(print, pairs); biblioteca de co-rotinas(create, yield, resume); biblioteca de pacotes; manipulação de cadeias(strings); manipulação de tabelas(table); funções matemáticas(sin, log, etc.); operações bit a bit; entrada e saída(teclado, abertura de arquivos); facilidades do sistema operacional(clock, date); facilidades de depuração(consultar valor de variável). 102
103 Polimorfismo Lua apresenta os seguintes tipos de polimorfismo Coerção Sobrecarga Inclusão 103
104 Polimorfismo Coerção Lua provê conversão automática entre valores string e number em tempo de execução. Qualquer operação aritmética aplicada a uma cadeia tenta converter essa cadeia para um número; Inversamente, sempre que um número é usado onde uma cadeia é esperada, o número é convertido em uma cadeia, em um formato razoável. 104
105 Polimorfismo Coerção 105
106 Polimorfismo Sobrecarga Não possui sobrecarga de funções; Porém, pode-se fazer uma gambiarra com a função type, analisando o tipo dos parâmetros Sobrecarga de operadores é feita por metamethods; 106
107 Polimorfismo Sobrecarga 107
108 Polimorfismo Inclusão Permite a implementação de herança de classes; Herança simples ou múltipla 108
109 Concorrência Não possui suporte à threads; Implementa co-rotinas, que são um poderoso mecanismo de programação em Lua; Às vezes confundida com função ou thread; É semelhante a uma thread, no sentido de que temos uma linha de execução compartilhando sua pilha de execução com outras co-rotinas. 109
110 Concorrência A grande diferença entre uma co-rotina e uma função é que a execução de uma co-rotina pode ser suspensa e retomada posteriormente (no ponto em que foi suspensa). A diferença entre co-rotinas e threads é que, conceitualmente, diferentes threads executam simulataneamente, enquanto que num sistema com co-rotinas, apenas uma co-rotina executa por vez. 110
111 Concorrência As funções que manipulam co-rotinas estão agrupadas na tabela coroutine. Uma co-rotina é criada passando uma função(em geral, anônima) para a função de criação, que retorna um valor do tipo thread; 111
112 Concorrência Pode estar em três estados: Suspensa(Suspended); Executando(Running); Morta(Dead). Imediatamente após a sua criação, uma co-rotina está no estado suspensa. A função coroutine.status retorna o estado da co-rotina 112
113 Concorrência Para executar uma co-rotina que foi criada, invocamos a função coroutine.resume. Sua execução começa pela execução da função passada como parâmetro na sua criação. 113
114 Concorrência Pode-se suspender sua execução invocando a função coroutine.yield. Ao executar essa função, o controle volta para o código que tinha dado coroutine.resume na co-rotina, restaurando todo o ambiente local. 114
115 Concorrência Lua oferece um mecanismo simples e versátil para troca de dados (mensagens) entre co-rotinas. Os argumentos de uma chamada a coroutine.yield são passados como valores de retorno da chamada a coroutine.resume. Simetricamente, os argumentos de coroutine.resume são passados como valores de retorno da função coroutine.yield 115
116 Concorrência 116
117 Concorrência Uma chamada resume retorna, depois do sinal true(que significa que não houve erros) todos os argumentos passados pelo correspondente yield; 117
118 Concorrência Simetricamente, yield retorna todos os argumentos extras passados pelo resume correspondente: 118
119 Concorrência Finalmente, quando a co-rotina termina, todos os valores retornados pela função que foi executada são passados para o respectivo resume; 119
120 Concorrência As co-rotinas fornecidas por Lua são chamadas Co-rotinas Assimétricas Significa que existe uma função para suspender a execução de uma co-rotina e uma para retomar uma co-rotina suspensa; Diferentemente, das Co-rotinas Simétricas que possuem somente uma função para transferir o controle de uma co-rotina para a outra 120
121 Exceções Erros durante a execução do programa causam o fim da execução; Pode-se utilizar as funções pcall e error para simular um tratamento para os erros. Lança-se uma exceção com error e captura-se com pcall, a mensagem de erro identifica o tipo do erro. Não é obrigatório realizar o tratamento. 121
122 Exceções Necessário encapsular o código em uma função; Funciona de modo semelhante ao bloco try/catch; 122
123 Exceções A função pcall: Executa a função em modo protegido; Captura algum erro durante a execução; Se não ocorrer erro retorna true mais qualquer outro valor retornado; Se ocorrer, retorna false mais a mensagem de erro; 123
124 Exceções Pode-se utilizar pcall com funções anônimas O argumento de error pode ser de qualquer tipo 124
125 Constantes e Serialização Constantes Lua não possui mecanismos para se definir constantes. Serialização Lua não provê mecanismos para serialização na linguagem. No entanto, existem várias funções criadas e fornecidas pela comunidade
126 Gerenciamento de memória O gerenciamento de memória e realizado pelo coletor de lixo. O coletor libera a memória alocada por todos os objetos que deixaram de ser referenciados. Toda memória usada por Lua está sujeita ao gerenciamento automático; Utiliza o algoritmo marca-e-varre (mark-and-sweep) incremental. É possível implementar o metamethod gc, que marca o objeto para ser coletado 126
127 Gerenciamento de memória Usa dois números para controlar seus ciclos de coleta de lixo: A pausa do coletor de lixo Controla quanto tempo o coletor espera antes de começar um novo ciclo. Multiplicador de passo do coletor de lixo Controla a velocidade relativa do coletor em relação à alocação de memória. Você pode mudar esses números com a função collectgarbage. 127
128 Avaliação da Linguagem Critérios Gerais Lua Java C Aplicabilidade Sim Parcial Sim Confiabilidade Parcial Sim Não Aprendizado Sim Não Não Eficiência Parcial Parcial Sim Portabilidade Sim Sim Não Paradigma Estruturado/ OO OO Estruturado Evolutibilidade Sim Sim Não Reusabilidade Sim Sim Parcial Interação Sim Parcial Sim Custo??? 128
129 Avaliação da Linguagem Critérios Específicos Lua Java C Escopo Sim Sim Sim Expressões e Comandos Tipos Primitivos e Compostos Gerenciamento de Memória Sim Sim Sim Sim Sim Sim Sistema Sistema Programador Persistência de Dados Não Serialização Bibliotecas Passagem de Parâmetros Referência e Cópia Referência e Cópia Referência e Cópia 129
130 Avaliação da Linguagem Critérios Específicos Lua Java C Encapsulamento e Proteção Não Sim Parcial Sistemas de Tipos Sim Sim Não Verificação de Tipos Dinâmica Estática / Dinâmica Estática Polimorfismo Coerção/ Sobrecarga/ Inclusão Todos Coerção e Sobrecarga Exceções Não Sim Não Concorrência Não Sim Biblioteca de Funções 130
131 Referências
LUA. Carlos Henrique Maulaz de Freitas Matheus Beloti Mariani Thiago Gozzi Renoldi Siqueira Costa
LUA Carlos Henrique Maulaz de Freitas Matheus Beloti Mariani Thiago Gozzi Renoldi Siqueira Costa 1 1 O que é Lua? 2 O que é Lua? Linguagem de programação de extensão projetada para dar suporte à programação
Descobrindo Lua. Sérgio Queiroz de Medeiros. Campus Party LabLua. Sérgio Queiroz de Medeiros Descobrindo Lua 1
Descobrindo Lua Sérgio Queiroz de Medeiros smedeiros@inf.puc-rio.br LabLua Campus Party 2009 Sérgio Queiroz de Medeiros Descobrindo Lua 1 Instalando o Interpretador Para baixar o fonte: www.lua.org Para
A Linguagem Lua Lua Puc-Rio
A Linguagem Lua Lua foi projetada e implementada por uma equipe no Tecgraf, o Grupo de Computação Gráfica da Puc-Rio (Pontifícia Universidade Católica do Rio de Janeiro). 1 Exemplos de linguagens de scripts
Lua. Simple things simple, complex things possible. André Martinelli, Breno Krohling, Israel Santos, Matheus Vieira, Pedro Henrique Flores
Lua ple things simple, complex things possible André Martinelli, Breno Krohling, Israel Santos, Matheus Vieira, Pedro Henrique Flores 1 Introdução 2 Histórico Desenvolvida pelo grupo Tecgraf da PUC-Rio
Introdução à Engenharia ENG1000
Introdução à Engenharia ENG1000 Aula 04 Introdução a Linguagem Lua 2016.1 Prof. Augusto Baffa Linguagem Lua Lua é uma linguagem de programação projetada para dar suporte à programação
Histórico. Perl (Practical Extraction and Report Language). Criada por Larry Wall em 1987.
www.perl.org Sumário 1. Histórico 2. Características 3. Compilação/Interpretação 3.1. Procedimento; 1. Sintaxe 1. Variáveis; 2. Escopo; 3. Operadores; 4. Controle de Fluxo; 5. Estruturas de Repetição 5.
Gabriel Correa de Macena Marcus Vinicius Palassi Sales. Departamento de Informática
Gabriel Correa de Macena Marcus Vinicius Palassi Sales Departamento de Informática Graduação em Ciência da Computação 11 de junho de 2015 Sumário 1 2 3 4 5 Gabriel Correa, Marcus Palassi Lua 11 de junho
Linguagem de Programação e Compiladores
Linguagem de Programação e Compiladores Fernando Antônio Asevedo Nóbrega Instituto de Ciências Matemáticas e de Computação USP SCC-206 Introdução à Compilação 24 de abril de 2012 1 / 20 Sumário 1 Introdução
Gabriel Giorisatto De Angelo Luiz Otávio Gerhardt Fernandes
Gabriel Giorisatto De Angelo Luiz Otávio Gerhardt Fernandes Histórico Desenvolvida em 2012 por Jeff Bezanson, Stefan Karpinski, Viral B. Shah, Alan Edelman Gratuita, Open Source e licenciada sob a Licença
LUA. Deise Miranda Douglas Neves Luane Gomes Naara Soares
LUA Deise Miranda Douglas Neves Luane Gomes Naara Soares Roteiro Histórico Visão Geral A Linguagem Aplicações Exemplos Práticos Histórico Substituir DEL (Data-Entry Language) e SOL (Linguagem para Descrição
Tópicos Especiais em Linguagens de Programação
Tópicos Especiais em Linguagens de Programação Aula 03 Introdução à Linguagem Lua Edirlei Soares de Lima Linguagem Lua Lua é uma linguagem de programação projetada para dar suporte
Linguagens de Programação
Linguagens de Programação Paradigma Imperativo Matheus Hafner Tiago Xavier CET 087 - Conceitos de Linguagens de Programação (CLP) 17 de novembro de 2011 Aula Prática Instalação Fortran sudo apt-get install
Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO
Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Introdução Criada em 1972, por Dennis Ritchie; Centro de Pesquisas da Bell Laboratories; Para utilização no S.O. UNIX; C é uma linguagem
Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.
1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras
ANDRÉ LUIZ PIONA DE ARAÚJO PEDRO PAIVA LADEIRA
ANDRÉ LUIZ PIONA DE ARAÚJO PEDRO PAIVA LADEIRA 1 Introdução 2 Introdução Lua é uma linguagem de origem brasileira, que teve como foco inicial, ser integrado com softwares escritos em C e outras linguagens
Linguagens de Programação 10 Avaliação de Linguagens
Linguagens de Programação 10 Avaliação de Linguagens Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal
Java Básico. Carga Horária: 32 horas. Pré-requisito: Lógica de Programação; JAVA. Conteúdo Programático
Java Básico Objetivo: Os assuntos apresentados no decorrer do curso Java Básico incluem os conceitos gerais desta linguagem assim como a definição e utilização de seus recursos diversos, tais como: tipos
Programação Introdução
PROGRAMAÇÃO Programação Introdução Prof. Dr. Adriano Mauro Cansian 1 Introdução Para armazenar um algoritmo na memória de um computador e para que ele possa, em seguida, comandar as operações a serem executadas,
Revisão da Linguagem C Prof. Evandro L. L. Rodrigues
SEL0433 Aplicação de Microprocessadores I Revisão da Linguagem C Prof. Evandro L. L. Rodrigues Estrutura de um programa C Diretivas de pré processamento Declaração de variáveis globais Declaração de protótipos
PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@gmail.com
Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática. Erlang. Luiz Carlos Passamani Filho.
Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Erlang Luiz Carlos Passamani Filho Vitoria, 2015 Agenda Introdução Amarrações Valores e tipos de dados Variáveis e
Aula de hoje. Tipos de Dados e Variáveis. Constantes literais. Dados. Variáveis. Tipagem dinâmica. SCC Introdução à Programação para Engenharias
SCC 12 - Introdução à Programação para Engenharias Tipos de Dados e Variáveis Professor: André C. P. L. F. de Carvalho, ICMC-USP Pos-doutorando: Isvani Frias-Blanco Monitor: Henrique Bonini de Britto Menezes
Métodos Computacionais
Métodos Computacionais Objetivos da Disciplina e Introdução a Linguagem C Construções Básicas Objetivos da Disciplina Objetivo Geral Discutir técnicas de programação e estruturação de dados para o desenvolvimento
3. Linguagem de Programação C
Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.2. Estrutura de Programas e Representação
Tipos Primitivos, estruturas de iteração e decisão.
Tipos Primitivos, estruturas de iteração e decisão. André Luis Meneses Silva andreluis.ms@gmail.com http://br.geocities.com/programacao2ufs/ Agenda Tipos Primitivos de Dados Variáveis e Constantes es Comandos
Programação I A Linguagem C. Prof. Carlos Alberto
Programação I A Linguagem C Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br 2 Origem A linguagem C foi desenvolvida em 1972, nos Laboratórios Bell, por Dennis Ritchie. Implementada
Conceitos de Linguagens de Programação - Características. Paavo Soeiro
Conceitos de Linguagens de Programação - Características Paavo Soeiro Motivação Para que possa escolher uma linguagem apropriada ao problema. Melhorar o entendimento da linguagem utilizada. Facilitar o
Ambiente de desenvolvimento
Linguagem C Ambiente de desenvolvimento Um programa em C passa por seis fases até a execução: 1) Edição 2) Pré-processamento 3) Compilação 4) Linking 5) Carregamento 6) Execução Etapa 1: Criação do programa
Capítulo 7. Expressões e Sentenças de Atribuição
Capítulo 7 Expressões e Sentenças de Atribuição Introdução Expressões são os meios fundamentais de especificar computações em uma linguagem de programação Para entender a avaliação de expressões, é necessário
Paradigmas de Linguagens de Programação. Expressões e Instruções de Atribuição
Expressões e Instruções de Atribuição Cristiano Lehrer Introdução Expressões são o meio fundamental de especificar computações em uma linguagem de programação: Familiarização com as ordens de avaliação
PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA
PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA SUMÁRIO Introdução Conceitos básicos Formato básico Tipos primitivos Variáveis Constantes Operadores Operações
Variáveis primitivas e Controle de fluxo
Variáveis primitivas e Controle de fluxo Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/
Noçõ linguagem Java. Profs. Marcel Hugo e Jomi Fred Hübner. Departamento de Sistemas e Computação Universidade Regional de Blumenau - FURB
Noçõ ções básicas b da linguagem Java Profs. Marcel Hugo e Jomi Fred Hübner Departamento de Sistemas e Computação Universidade Regional de Blumenau - FURB Introduçã ção Origem Funcionamento Vantagens Linguagem
PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S
PROGRAMAÇÃO I VA R I Á V E I S, C O N S TA N T E S, O P E R A D O R E S E N T R A DA E S A Í DA D E DA D O S Variáveis 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é
Linguagem de Programação I Prof. Tiago Eugenio de Melo.
Linguagem de Programação I Prof. Tiago Eugenio de Melo tmelo@uea.edu.br www.tiagodemelo.info 1 Sumário Introdução Conceitos preliminares Introdução Variáveis Comandos Condicionais 2 Por que aprender a
Algoritmos e Programação
Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;
Introdução à Programação
Introdução à Programação Introdução a Linguagem C Construções Básicas Programa em C #include int main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius = 30; farenheit = 9.0/5
Linguagens. Programação
Linguagens de Programação Professor: Vítor Souza Grupo: Gustavo Tavares Linicker Harison Rodrigo Barcellos Seminário Criad apelo Google Lançada em novembro de 2007 Código livre em 2009 Primeira versão
Linguagens de Programação 2015/1. Ruby. Diego Rodrigues Leonardo Rodrigues
Linguagens de Programação 2015/1 Ruby Diego Rodrigues Leonardo Rodrigues Introdução Criada em 1995 pelo japonês Yuri Matsumoto Uniu partes das suas linguagens favoritas: Perl, Smalltalk, Eiffel, Ada e
FACULDADE BATISTA MINEIRA - CST Banco de Dados Estruturas de Dados - Variáveis
Variável, na Matemática, é um termo utilizado em substituição de outro, normalmente, desconhecido. É utilizado para representar um número ou um conjunto. No contexto da programação de computadores, uma
Linguagem Python. Inteligência Artificial. Características de Python. Importando módulos. Módulos. Usando Python no modo interativo
Linguagem Python Inteligência Artificial Aula 7 Profª Bianca Zadrozny http://www.ic.uff.br/~bianca/ia Introdução Características de Python Rodando programas Módulos Tipos básicos Números e variáveis Strings
Groovy. Cleisson Santos Guterres Lucas Augusto Santos Renato Menezes Machado
Groovy Cleisson Santos Guterres Lucas Augusto Santos Renato Menezes Machado Introdução Groovy é uma linguagem de programação orientada a objeto para a plataforma Java. É dinamicamente compilada na JVM,
Linguagem Java. Introdução. Rosemary Silveira Filgueiras Melo
Linguagem Java Introdução Rosemary Silveira Filgueiras Melo rosesfmelo@hotmail.com 1 Tópicos abordados Histórico da Linguagem Caracterização da Linguagem Criação de Programa Java inicial Entrada e Saída
Introdução à Linguagem C++
Introdução à Linguagem C++ C++: Definição C++ C A Linguagem de Programação C++ pode ser definida como uma extensão da Linguagem C; Todo código de programação em Linguagem C pode a priori ser compilado
Lua Parte I. Overview. Linguagem pequena; Sintaxe simples e clara; Gerenciamento automático de memória; Execução controlada; Tipagem dinâmica.
Lua Parte I mleal@inf.puc-rio.br 1 Linguagem pequena; Overview Sintaxe simples e clara; Grande poder de descrição de dados; Gerenciamento automático de memória; Execução controlada; Tipagem dinâmica. mleal@inf.puc-rio.br
Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação
Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Programação em C Variáveis e Expressões DCA0800 Algoritmos e Lógica de Programação Heitor Medeiros Florencio
Técnico em Informática. Web JavaScript. Profª Ana Paula Mandelli
Técnico em Informática Web JavaScript Profª Ana Paula Mandelli anapaula_mandelli@hotmail.com Para o JavaScript - NetBeans O NetBeans é um ambiente de desenvolvimento integrado (IDE) Java desenvolvido pela
Diagramas Sintáticos
Diagramas Sintáticos Centro de Cálculo Instituto Superior de Engenharia de Lisboa Pedro Alexandre Pereira (palex@cc.isel.ipl.pt) Classe pública com método main Cada classe X pública é declarada num ficheiro
MAB TINY na LVM. Wednesday, November 30, 11
MAB 471 2011.2 TINY na LVM http://www.dcc.ufrj.br/~fabiom/comp Lua Virtual Machine Máquina virtual da linguagem Lua Lua é uma linguagem funcional imperativa dinamicamente tipada, com algumas características
Linguagem C Princípios Básicos (parte 1)
Linguagem C Princípios Básicos (parte 1) Objetivos O principal objetivo deste artigo é explicar alguns conceitos fundamentais de programação em C. No final será implementado um programa envolvendo todos
Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES. Introdução. Geovane Griesang
Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES Introdução geovanegriesang@unisc.br Processadores de linguagem Linguagens de programação são notações para se descrever
Programação de Computadores II
Programação de Computadores II 1. Programação Básica 2019.1 Slides adaptados do material de Karina Mochetti Problema, Algoritmo, Programa Um programa de computador é a implementação de um algoritmo para
Compiladores II. Fabio Mascarenhas
Compiladores II Fabio Mascarenhas 2018.1 http://www.dcc.ufrj.br/~fabiom/comp2 Máquinas Virtuais Uma máquina virtual é uma técnica de implementação de linguagens de programação que é um meio termo entre
Linguagem Pascal. Prof. Sérgio Rodrigues. É a descrição, de forma lógica, dos passos a serem executados no cumprimento de determinada tarefa;
Linguagem Pascal Prof. Sérgio Rodrigues Introdução Algoritmo É a descrição, de forma lógica, dos passos a serem executados no cumprimento de determinada tarefa; Programa é a formalização de um algoritmo
Puca Huachi Vaz Penna
Aula 3 C++: variáveis e expressões aritméticas 2017/1 BCC201 Introdução à Computação Turmas 61, 62, 63, 64, 65 e 66, 32 e 33 Puca Huachi Vaz Penna Departamento de Computação Universidade Federal de Ouro
Introdução à Ciência da Computação
Introdução à Ciência da Computação Variáveis Conceitos Básicos Variáveis x Constantes a = x + 5 a, x e 5 são variáveis ou constantes? Variáveis As variáveis são recipientes de valores É um espaço reservado
Anhanguera Educacional S.A. Centro Universitário Ibero-Americano
O C++ foi inicialmente desenvolvido por Bjarne Stroustrup durante a década de 1980 com o objetivo de melhorar a linguagem de programação C, mantendo a compatibilidade com esta linguagem. Exemplos de Aplicações
Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura
Java First-Tier: Aplicações Orientação a Objetos em Java (I) Paradigmas de Programação Programação Funcional Programação Procedural Programação Orientada por Objetos Grupo de Linguagens de Programação
SUMÁRIO CAPÍTULO 1 INTRODUÇÃO AO JAVA...1
SUMÁRIO CAPÍTULO 1 INTRODUÇÃO AO JAVA...1 A Origem...2 O Caminho Para a Aprendizagem...4 Java Como Plataforma...6 Finalidade...8 Características...11 Perspectivas...13 Exercícios...14 CAPÍTULO 2 AMBIENTE
Compiladores II. Fabio Mascarenhas
Compiladores II Fabio Mascarenhas - 2014.2 http://www.dcc.ufrj.br/~fabiom/comp2 Dojo O objetivo é construir um tokenizador para um subconjunto de Lua, a função token deve receber uma string, e retornar
JavaScript (Elementos de Programação e Programação Básica)
Linguagem de Programação para Web JavaScript (Elementos de Programação e Programação Básica) Prof. Mauro Lopes 1 Objetivos Iniciaremos aqui o nosso estudo sobre a Linguagem de Programação JavaScript. Apresentaremos
GRUPO: Rafael Igor Vanderlei Vieira
GRUPO: Rafael Igor Vanderlei Vieira C# INTRODUÇÃO Paradigmas: Orientado a objeto; Estruturado; Imperativo; Surgimento: 2002. Criador: Anders Hejlsberg. Principais Compiladores:.NET Framework (Windows),
Algoritmos II prof. Daniel Oliveira
Algoritmos II prof. Daniel Oliveira Revisar conceitos abordados na disciplina anterior Abordar conceitos vistos com a linguagem C# Variáveis e listas Expressões Estruturas de controle do tipo condicional
Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.
Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre@ifc-araquari.edu.br marcoandre@gmail.com marcoandre.googlepages.com Algoritmos é a base Primeiro programa Este programa possui apenas uma
PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95
PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 Exercícios de revisão Lista 01: a) Monte um mapa conceitual indicando as relações entre os seguintes conceitos, no contexto do assunto visto em aula:
4. Constantes. Constantes pré-definidas
4. Constantes Constantes pré-definidas O PHP possui algumas constantes pré-definidas, indicando a versão do PHP, o Sistema Operacional do servidor, o arquivo em execução, e diversas outras informações.
O AMBIENTE DE PROGRAMAÇÃO VISUAL -PLANO DE ENSINO. Prof. Angelo Augusto Frozza, M.Sc.
O AMBIENTE DE PROGRAMAÇÃO VISUAL -PLANO DE ENSINO Prof. Angelo Augusto Frozza, M.Sc. ROTEIRO 1. A linguagem de programação Object Pascal a) Palavras reservadas b) Tipos de dados, variáveis e constantes
Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;
1 Microprocessador Um microprocessador é um circuito eletrônico capaz de realizar diversas tarefas conforme os comandos específicos. Para isso ele deve ler esses comandos da memória de programa (ROM) e
Conhecendo a Linguagem de Programação C
Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Conhecendo a Linguagem de Programação C DCA0800 - Algoritmos e Lógica de Programação Heitor Medeiros 1 Como
JAVA. Professor: Bruno Toledo
JAVA Professor: Bruno Toledo Funcionamento de uma LP Em uma Linguagem de Programação (LP) como C e Pascal, temos o seguinte quadro quando vamos compilar um programa. Código fonte em c Teste.c Gera código
Compiladores Geração de Código
Compiladores Geração de Código Fabio Mascarenhas - 2013.2 http://www.dcc.ufrj.br/~fabiom/comp O Back-end Até agora vimos as fases do front-end do compilador: Análise Léxica Análise Sintática Análise Semântica
Classes e Objetos. Sintaxe de classe em Java
Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados
Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU
Aula 5 Oficina de Programação Introdução ao C Profa. Elaine Faria UFU - 2017 Linguagem de Programação Para que o computador consiga ler um programa e entender o que fazer, este programa deve ser escrito
O que é uma variável?
Escopo, Ligação e Ambiente de Execução mleal@inf.puc-rio.br 1 O que é uma variável? Uma variável pode ser definida como uma tupla r nome é um string usado para
Python - Variáveis e expressões
Python - e expressões Prof. Paulo H R Gabriel (com base no material do Prof. André Backes) Linguagem de Máquina Computador entende apenas pulsos elétricos Presença ou não de pulso 1 ou 0 Tudo no computador
Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO
Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO Dados em Algoritmos Quando escrevemos nossos programas, trabalhamos com: Dados que nós fornecemos ao programa Dados
Compiladores. Análise Léxica
Compiladores Análise Léxica Cristiano Lehrer, M.Sc. Introdução (1/3) Análise léxica é a primeira fase do compilador. A função do analisador léxico, também denominado scanner, é: Fazer a leitura do programa
3 Co-rotinas completas assimétricas
3 Co-rotinas completas assimétricas O objetivo deste capítulo é prover uma definição precisa para o nosso conceito de co-rotinas completas assimétricas. Em primeiro lugar, descrevemos os operadores básicos
Análise de Programação
Análise de Programação Fundamentos da Linguagem de Programação Java Prof. Gilberto B. Oliveira Variáveis Atributos: Variáveis Declaradas fora de um método, sem o modificador static Variáveis membro ou
Pascal. -Cabeçalho do programa. - label - const - type - var - procedure - function. - integer - real - byte - boolean - char - string
Pascal -Cabeçalho do programa Áreas do programa -Área de declarações -Corpo do programa - label - const - type - var - procedure - function - integer - real - byte - boolean - char - string Program
Programação Estruturada
Programação Estruturada Introdução à linguagem C Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Programação estruturada
Linguagem Python. Processamento Estatístico da Linguagem Natural. Barra invertida em strings. Strings. Aspas triplas. Operações com Strings
Processamento Estatístico da Linguagem Natural Aula 7 Professora Bianca (Sala 302 Bloco E) bianca@ic.uff.br http://www.ic.uff.br/~bianca/peln/ Linguagem Python Introdução Características de Python Rodando
ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior
ALGORITMOS E APLICAÇÕES FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior Formato Básico do Pseudocódigo Tipos de dados O VisuAlg prevê quatro tipos de dados: inteiro, real,
Linguagens de Programação. Marco A L Barbosa
Expressões e sentença de atribuição Linguagens de Programação Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. http://github.com/malbarbo/na-lp-copl
Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação
Ederson Luiz da Silva Ciência da Computação Algoritmos e Programação Linguagem de programação Linguagem de Programação Linguagem de máquina http://www.assemblyprogressivo.net/p/curso.html Linguagem de
Computação Eletrônica. Tipos de dados, constantes, variáveis, operadores e expressões. Prof: Luciano Barbosa
Computação Eletrônica Tipos de dados, constantes, variáveis, operadores e expressões Prof: Luciano Barbosa Site da disciplina: www.cin.ufpe.br/~if165/ Recapitulando num cubo = n * n * n cubo Algoritmo
Conceitos Básicos de Programação
BCC 201 - Introdução à Programação Conceitos Básicos de Programação Guillermo Cámara-Chávez UFOP 1/53 Conceitos básicos I Variável 2/53 Conceitos básicos II Posição de memoria, identificada através de
Estruturas de Dados em Python
Estruturas de Dados em Python Carlos Camarão de Março de 7 Introdução Na segunda parte do curso vamos aprender a programar com estruturas (ou coleções) de dados, em Python. Python é uma linguagem orientada
Curso de PHP. FATEC - Jundiaí
Curso de PHP ATEC - Jundiaí Aspas Invertidas Ao utilizarmos as aspas invertidas como delimitadores, estaremos usando uma função muito interessante que o PHP oferece, que é executar comandos do sistema
Linguagens de Programação
Linguagens de Programação 128 13 129 Linguagens de Programação Uma linguagem de programação é um vocabulário e um conjunto de regras gramaticais usadas para escrever programas de computador. Esses programas
Curso básico de JavaScript Aula 2
Tópicos 1 JavaScript é case sensitive... 1 2 Comentários... 1 3 Saídas do JavaScript... 1 4 Entrada de dados usando window.prompt( )... 3 5 Variáveis... 3 1.1 Regras para criar uma variável... 3 6 Literais...
Expressões e sentença de atribuição
Expressões e sentença de atribuição Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual
Introdução à Linguagem Lua Variáveis e Expressões
Introdução a Programação em Lua Introdução à Linguagem Lua Variáveis e Expressões 1 Tópicos Principais Programando em Lua Funções Variáveis Operadores e Expressões Entrada e Saída Exemplos 2 Programando
Conceitos Básicos Linguagem C
Conceitos Básicos Linguagem C PROF. MAURÍCIO A DIAS MACDIASPAE@GMAIL.COM 2 Método Método básico para construção de algoritmos 1. Compreender completamente o problema a ser resolvido, se possível dividindo
Introdução à Programação
Introdução à Programação Linguagens de Programação: sintaxe e semântica de linguagens de programação e conceitos de linguagens interpretadas e compiladas Engenharia da Computação Professor: Críston Pereira
Linguagens de Programação Classificação
Classificação Classificação A proximidade que a linguagem de programação tem com a humana determina sua classe (o nível): Linguagem de máquina (primeira geração) Linguagem assembly - de montagem (segunda
Linguagens de Programação. Trabalhos. Carlos Bazilio
Linguagens de Programação Trabalhos Carlos Bazilio carlosbazilio@id.uff.br http://www.ic.uff.br/~bazilio/cursos/lp Exercício 1 Para a linguagem escolhida, faça uma apresentação sucinta (vídeo-aula) contendo:
Introdução a Programação. Curso: Sistemas de Informação Programação I José R. Merlin
Introdução a Programação Curso: Sistemas de Informação Programação I José R. Merlin Programas Programas são instruções para o computador executar uma tarefa Estas instruções seguem uma lógica Lógica: modo
Conceitos de Linguagem de Programação - 2
Conceitos de Linguagem de Programação - 2 Arthur Jovita Guerra Thalles Santos Silva Universidade Estadual de Santa Cruz - Ilhéus, BA 1 de novembro de 2011 1 Revisão Natureza das linguagens de Programação