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 em Lua Em Lua, para declararmos variáveis locais utilizamos a palavra local antes do nome da variável. function main () local cels local fahr print( Digite a temperatura em oc: ) cels = io.read() cels = tonumber(cels) fahr = 1.8 * cels + 32 print( Temperatura em of: ); print(fahr); end Uma função em Lua é um procedimento que quando executado pode receber algo como parâmetro. OBS: COMANDOS EM LUA TERMINAM NO FINAL DA LINHA OU COM UM ; 3
function main () local cels Função de escrita de Lua. local fahr print( Digite a temperatura em oc: ) cels = io.read() Programando em Lua Em Lua, ao utilizarmos a função io.read() para ler dados do teclado. Essa função retorna uma string. cels = tonumber(cels) fahr = 1.8 * cels + 32 print( Temperatura em of: ); print(fahr); end Como queremos um número usamos a função tonumber() para transformar a string em um número. Note que o sinal = em Lua é atribuição. O valor da direita está sendo atribuído à variável da esquerda (fahr). 4
Programando em Lua Indentação e comentários são MUITO importantes para o entendimento do código -- Função para converter temperatura de Celsius em Fahrenheit function converte () local cels; -- armazena temperatura em oc local fahr; -- armazena temperatura em of print( Digite a temperatura em oc: ); cels = io.read(); -- captura valor fornecido via teclado cels = tonumber(cels); -- transforma o valor de cels em um número fahr = 1.8 * cels + 32; -- faz a conversão -- exibe resultado na tela print( Temperatura em of: ); print(fahr); end 5
Funções As funções têm a seguinte estrutura: function nome_da_funcao (parametro, parametro,...) variaveis locais instrucoes em Lua (comandos = expressoes e operadores) retorno end 6
Variáveis Variável é um espaço reservado armazenar informação. Devem receber nomes para poderem ser referenciadas e modificadas quando necessário. Toda variável tem: um nome (identificador) um tipo um valor Restrição para nomes: não é permitido começar o nome com um algarismo (0-9), alguns caracteres não são válidos (*, -, /, +,...), e palavras reservadas não podem ser utilizadas (function, if, while, end, or, and, for...). 7
Tipos de Variáveis na Linguagem Lua Tipos básicos na linguagem Lua: Exemplos: Tipo Exemplos de Valores local a; print(type(a)); -- nil nil nil number 0,1,2.3,-2.3 string a, oi vc, boolean true, false a = 3; print(type(a)); -- number a = Alo Alo ; print(type(a)); -- string function table thread userdata 0x1234567 0x2345678 0x3456789 0x4567890 a = true; print(type(a)); --boolean a = function ().. end print(type(a)); -- function 8
Variáveis Declaração de variável: variáveis podem ser explicitamente declaradas (locais) variáveis podem ser declaradas em conjunto variáveis podem ser utilizadas sem ser declaradas (globais) local a; local b; local d, e; - declara duas variáveis 9
Operadores e Expressões Expressão = combinação de variáveis, constantes e operadores que, quando avaliados, resulta em um valor. Exemplo: local cels = 10; local fahr = 1.8 * cels + 32; Sinal de atribuição variavel = expressao, onde a expressão pode ser formada por várias operações 10
Operadores e Expressões Operadores aritméticos ( +, -, *, /, %, ^ ): local a; local b, c; a = 3.5; -- a recebe o valor 3.5 b = a / 2.0; -- b recebe o valor 1.75 c = 1/3 + b; -- c recebe o valor de 2.08333 11
Operadores e Expressões Operadores aritméticos (cont.): o operador módulo, %, aplica-se a inteiros precedência dos operadores: ^,*, /, -, + x % 2 -- o resultado será 0, se x for par; caso contrário, será 1 x ^ 2 -- o resultado é x ao quadrado a + b * c / d é equivalente a (a + ((b * c) / d)) 12
Expressões e Operadores EXEMPLO: cálculo do volume de uma esfera (4/3 * pi * r^3) local raio; -- declara a variável raio da esfera local vol; -- declara a variável volume calculado -- imprime a frase print ( Entre com o raio da esfera: ); - lê um valor do teclado (string) e transforma em number raio = tonumber(io.read()); vol = (4.0 / 3.0) * 3.14159 * raio ^ 3; - calcula o volume print( Volume da esfera :.. vol) ; - imprime o volume calculado 13
Expressões e Operadores O Operador de concatenação.. é utilizado para unir duas strings, quando aplicado a um número ele converte o numero em string. local a = Olá ; local b = José ; local c = Maria ; local d = 3; local e = pessoas ; print(a); - imprime: Olá print(a..b); - imprime: Olá José print(a..d..e); - imprime: Olá 3 pessoas print(a..e..! ); - imprime: Olá pessoas! print(d..a); -- imprime: 3 pessoas 14
Entrada e Saída Função print : possibilita a saída de múltiplos valores na tela print(parametro1, parametro2,..); print ( ola", 33, 5.3); - imprime: ola 33 5.3 local d = 33 local g = 3.5 local p = falae! - imprime: Números = 33 e 5.3, Palavra = falae! print ( Números =..d.. e..g.. Palavra = '..p.. ' ); 15
Entrada e Saída Impressão de texto: print("curso de Programação 1\nLua!"); exibe na tela a mensagem: Curso de Programação 1 Lua! 16
Entrada e Saída Função io.read() : captura valores fornecidos via teclado io.read() - valor digitado pelo usuário é armazenado na variável n local n = io.read(); O valor capturado sempre é tratado como uma string. Se quisermos usá-lo como número, precisamos convertê-lo. print( Digite um número: ); local n = io.read(); print(n.. elevado a 5 é.. (tonumber(n) ^ 5)); 17
Convertendo Funções de conversão tostring(x) transforma x em uma string tonumber(y) transforma y em um numero local n n = io.read() print(type(n)) - string n = tonumber(n) print(type(n)) - number n = tostring(n) print(type(n)) - string 18
Vamos programar? 19