Lua Parte I. Overview. Linguagem pequena; Sintaxe simples e clara; Gerenciamento automático de memória; Execução controlada; Tipagem dinâmica.
|
|
- Maria de Begonha Ana Laura Ferrão Fraga
- 7 Há anos
- Visualizações:
Transcrição
1 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 2
2 Linguagens de Extensão LPs de extensão (scripting languages) são LPs utilizadas para conectar ou configurar componentes de um sistema, geralmente em tempo de execução usam interpretadores. Assumem portanto a existência de componentes desenvolvidos em outras LPs (system programming languages). São menos estruturadas e oferecem um nível maior de abstração e de flexibilidade. Exemplos incluem Visual Basic, Perl, Tcl, Javascript e Lua. mleal@inf.puc-rio.br 3 Lua - Introdução Lua é uma linguagem de extensão projetada para ser usada como linguagem de configuração, acoplada a um programa hospedeiro (escrito na linguagem de programação C). Aplicações em geral podem acoplar códigos em Lua, permitindo prototipagem rápida e acesso programável pelo usuário à tecnologia implementada pela aplicação. mleal@inf.puc-rio.br 4
3 Lua - Introdução Um programa Lua é composto por blocos de código conhecidos como chunks. Todos os comandos e construções de Lua são executados em um único ambiente global. Este ambiente, que guarda todas as variáveis globais e definições de funções, é automaticamente inicializado quando o interpretador é ativado e persiste enquanto o interpretador estiver em execução. mleal@inf.puc-rio.br 5 Nil (nil)( Booleanos (boolean) Strings (string) Números (number) Funções (function) Tabelas (table) Corotinas (thread) Tipos de Lua Dados do usuário (userdata) mleal@inf.puc-rio.br 6
4 Números Números em Lua são sempre ponto flutuante d = 123 e = 4.2 print( d ) 123 print( d + e ) print( d + t ) erro mleal@inf.puc-rio.br 7 Strings Podem ser delimitadas por, ou [[ ]] a = "abc" abc" b = 'def' c = "abc" 'substring' abc" d = 'abc "substring" abc' Caracter de escape: \ \n quebra de linha \t tab \\ caracter \ mleal@inf.puc-rio.br 8
5 Strings com [[ ]] Permite strings com quebra de linha c = [[texto em duas linhas [[aninhado aninhado]] ]] print(c) texto em duas linhas [[aninhado aninhado]] mleal@inf.puc-rio.br 9 Concatenação de Strings Operador:.. e = "abc" abc" ".. 'def' print( e ) abcdef print( e.. [[ghi ghi]] ) abcdefghi mleal@inf.puc-rio.br 10
6 Conversão Implícita Lua converte implicitamente números para strings em concatenações print( 'string'.. 10 ) string10 print( ) 45.6 Lua tenta converter automaticamente strings para números em operações aritméticas print( 10 + '2' ) 12 print( 45 / 'string' ) erro mleal@inf.puc-rio.br 11 Userdata O tipo userdata permite armazenar numa variável de Lua um ponteiro qualquer de C. Este tipo corresponde ao tipo void* de C e só pode ser atribuído ou comparado para igualdade a outro valor de mesmo tipo em Lua. É útil para programadores que fazem a ligação Lua- C, mas não é manipulado por usuários que programam somente em Lua, pois não é possível criar dados deste tipo diretamente em Lua. mleal@inf.puc-rio.br 12
7 Tabelas O tipo table (tabela)) é o tipo mais expressivo da linguagem Lua. Este tipo implementa os chamados vetores associativos, que permitem indexação por valores de qualquer outro tipo,, com exceção do tipo nil. Mapeamento de valor valor (domínio( finito). Campos não incializados têm valor nil. Delimitadas por { }. mleal@inf.puc-rio.br 13 Exemplos tabela = {} -- cria uma tabela tabela[2] = 'abc tabela['string qualquer'] ] = 'valor print( tabela[2] ) abc print( tabela ) table: 10007c28 array = {1, 2, 3, 4} mleal@inf.puc-rio.br 14
8 Inicialização de Tabelas a = {} a.campo = 123 a.outro = 456 a = { campo = 123, outro = 456 } print( a.campo ) 123 print( a["outro outro"] ) 456 a = {} a[1] = primeiro a[2] = a = { primeiro primeiro, } print( a[1] ) primeiro print( a[2] ) 9.6 mleal@inf.puc-rio.br 15 Inicialização de Tabelas b = { 'primeiro', 'segundo'; funcao=fatorial fatorial, tabela = { 34 }} print( b[1] ) primeiro print( b[3] ) nil print( b.funcao funcao(5) ) 120 print( b.tabela tabela[1] ) 34 mleal@inf.puc-rio.br 16
9 Tabelas Campos indexados por strings podem ser acessados de duas formas distintas: tabela.campo = 123 print( tabela.campo ) 123 print( tabela['campo'] ) 123 Qualquer tentativa de indexar um valor que não seja uma tabela gera um erro. tabela = 34.7 tabela[3] = 666 erro print( tabela.campo ) erro mleal@inf.puc-rio.br 17 Tabelas Variáveis contém sempre referências para tabelas. b = tabela tabela[3] = 666 print( b[3] ) 666 print( b ) table: print( tabela ) table: mleal@inf.puc-rio.br 18
10 Estruturas de Dados Vetores vet = {} vet[1] = 2.3 vet[2] = 3.45 vet[3] = 5.0 Matrizes vet = { {}, {}, {} } vet[1][1] = 4 vet[1][2] = 34.5 Records strut = {} strut.campo = valor strut.outro = 2.3 Objetos obj = {} obj.atrib1 = 4 obj.met1 = f mleal@inf.puc-rio.br 19 Booleanos Introduzido apenas a partir da versão 5.0 de Lua. Corresponde aos valores true e false. Tanto false quanto nil tornam uma expressão condicional falsa. Qualquer outro valor torna a expressão condicional verdadeira. mleal@inf.puc-rio.br 20
11 Operadores Operadores relacionais e lógicos: <, >, <=, >=, ==, ~= and, or, not Operadores matemáticos +, -,, *, /, ^ (exponenciação( exponenciação) mleal@inf.puc-rio.br 21 Exemplos if not a then print("variavel a é igual a nil") if 2 ~= 2 then print("não não fez conversão automática") a = 2 b = if a == b then print( b contém um número ) mleal@inf.puc-rio.br 22
12 Variáveis Variáveis em Lua não precisam ser declaradas. Um comando de atribuição funciona como uma declaração implícita,, e o tipo da variável é associado ao dado que ela contém (tipagem dinâmica). Identificadores podem conter letras, números e _, mas não podem começar com números. Variáveis não inicializadas têm valor nil: print( f ) nil mleal@inf.puc-rio.br 23 Expressões Expressões em Lua podem ter vários valores. São avaliadas da esquerda para a direita: x, y, z = 1, 1+1, 3 print(x) 1 print(y) 2 x, y = y, x -- swap print(x) 2 print(y) 1 mleal@inf.puc-rio.br 24
13 Comandos de Seleção if if a ~= 'abc' then print("diferente diferente") if a ~= 'abc' then print("diferente diferente") else print("igual igual") if a == 1 then... elseif a == 3 then... elseif a == 'abc' then... mleal@inf.puc-rio.br 25 Comandos de Repetição while e repeat cont = 1 while cont <= 10 do print( cont ) cont = cont + 1 cont = 1 repeat print( cont ) cont = cont + 1 until cont > 10 mleal@inf.puc-rio.br 26
14 Comandos de Repetição for O comando for pode ser usado da forma tradicional: for cont=1,10,1 do print( cont ) Ou como um iterador: Define o step. Este valor é opcional e o default é 1. table = {x=1, y= 3, z= 5} for index,value in pairs(table) do print (index.. =..value) mleal@inf.puc-rio.br 27 Função next Uma outra forma de percorrer uma tabela Lua é através da função especial next: table = {x=1, y= 3, z= 5} index,value = next(table) while index do print (index.. =..value) index,value = next(table,index) mleal@inf.puc-rio.br 28
15 Funções Funções em Lua são definidas através da declaração function: function farenheit( celsius ) return 9/5*celsius + 32 function fatorial( ( n ) if n == 0 then return 1 return n * fatorial( ( n-1 n 1 ) print( farenheit( ( ) ) print( fatorial( ( 10 ) ) mleal@inf.puc-rio.br 29 Funções Em Lua funções são valores de primeira ordem, podo ser atribuídas a variáveis, passadas como parâmetros ou retornada por funções. Variáveis contém referência para as funções. Funções podem retornar mais de um valor. Não existe qualquer restrição a recursividade. mleal@inf.puc-rio.br 30
16 Exemplos a = function (x,y) return x+y print(a( 5,4 )) 9 print(a) function: show = print print = nil show( soma( 5,4 ) ) 9 function incrementa( ( a, b ) return a+1, b+1 x, y = incrementa( ( 10, 20 ) show( x ) 11 show( y ) 21 mleal@inf.puc-rio.br 31 Funções A passagem de parâmetros acontece por valor. Entretanto,, no caso de tabelas e funções as variáveis armazenam sempre referências. Logo a passagem de parâmetros é equivalente a uma passagem por referência. mleal@inf.puc-rio.br 32
17 Exemplos function muda( ( x ) x=1 a = 2 muda( ( a ) print( a ) 2 function muda( ( tab ) tab.x = 0 tabela = {} tabela.x = 666 muda( tabela ) print( tabela.x ) 0 mleal@inf.puc-rio.br 33 Escopo Lua apresenta escopo estático. O escopo de variáveis inicia-se no primeiro comando após a sua declaração e termina no final do bloco no qual foi declarado. Variáveis locais podem ser declaradas dentro de qualquer bloco através da palavra reservada local. mleal@inf.puc-rio.br 34
18 Exemplo x = variavel global do -- novo bloco local x = x -- novo `x' print(x) --> > 10 x = x+1 do -- outro bloco local x = x+1 -- outro `x' print(x) --> > 12 print(x) --> > 11 print(x) --> > 10 (x global) mleal@inf.puc-rio.br 35 Funções Básicas loadfile(filename) carrega um arquivo como um bloco de código Lua e, caso não existam erros, retorna a função correspondente. dofile(filename) - carrega um arquivo como um bloco de código Lua e, caso não existam erros, executa este bloco no escopo global. loadstring (string) compila string como se fosse um bloco de código Lua e, caso não existam erros, retorna a função correspondente. mleal@inf.puc-rio.br 36
19 Funções Básicas print (o1, o2,...) imprime os objetos o1, o2,, etc, no stdout. type(o) retorna um string descrevo o tipo de o.. Os resultados possíveis são "nil", "number", "string", "boolean, "table", "function", "thread", e "userdata". tostring(o) tenta transformar um objeto o qualquer em string. tonumber(o) tenta transformar o objeto o em um número. unpack(list) - retorna todos os elementos de list.. É equivalente a: return list[1], list[2],..., list[n] mleal@inf.puc-rio.br 37 Funções Básicas table.foreach (table, f) executa a função f para todos os elementos de table. table.getn (table) retorna o tamanho da tabela table se esta for um array. Caso exista um campo com índice n, retorna o valor deste campo. table.sort (table [, comp]) ordena os elementos de table usando a função comp como critério de comparação. Caso comp não seja fornecido como parâmetro, o operador > é utilizado. mleal@inf.puc-rio.br 38
20 Exemplo - Clone function ts.clone(o) if (type(o)~="table") then return o else local new_o ={} for i,v in pairs(o) do new_o[i] = ts.clone(v) return new_o mleal@inf.puc-rio.br 39 Exemplo - Serialização function serialize (o) if type(o) == "number" then write(o) elseif type(o) == "string" then write(format("%q", o)) elseif type(o) == "table" then write("{\n") for k,v in pairs(o) do write(" ", k, " = ") serialize(v) write("\n") write("}\n") else error("cannot serialize a "..type(o)) mleal@inf.puc-rio.br 40
21 Exemplo Lista (LIFO) function insert(list,o) if not(list) then list={} local node ={} node.data = o if list.last then list.last.next = node else list.first = node list.last = node return list function retrieve(list) if (list and list.first) then local o = list.first.data if (list.first==list.last) then list.first=nil list.last=nil else list.first = list.first.next return o else return mleal@inf.puc-rio.br 41
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
Leia maisDescobrindo 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
Leia maisIntroduçã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
Leia maisLinguagem 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
Leia maisTeoria da Computação e Algoritmos. Introdução à Linguagem Pascal. ALGORITMO <Nome do algoritmo>; <definições>; INÍCIO <Comandos>; FIM.
Teoria da Computação e Algoritmos Introdução à Linguagem Pascal 1 Estrutura de um programa INÍCIO FIM. PROGRAM END.
Leia maisO 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
Leia maisVariá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/
Leia maisLUA. 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
Leia maisPROGRAMAÇÃ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:
Leia mais4. 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.
Leia maisLinguagem 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
Leia maisIntroduçã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
Leia maisTópicos em LP. Fabio Mascarenhas
Tópicos em LP Fabio Mascarenhas 2018.1 http://www.dcc.ufrj.br/~fabiom/comp2 Objetivo Durante esse curso iremos revisitar as técnicas de implementação de linguagens de programação Veremos novas técnicas
Leia maisCapí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
Leia maisLinguagem 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
Leia maisJava 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
Leia maisIntrodução à Programação em C
Introdução à Programação em C Tipos e Operadores Elementares Estruturas de Controlo Resumo Novidades em C Exemplo: Factorial Tipos de Dados Básicos Saltos Condicionais: if-then-else Valor de retorno de
Leia maisAlgoritmos 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
Leia maisPascal. -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
Leia maisCompiladores II. Fabio Mascarenhas
Compiladores II Fabio Mascarenhas - 2016.2 http://www.dcc.ufrj.br/~fabiom/comp2 Tabelas para tudo Tabelas são o único tipo estruturado de Lua Elas podem representar vetores, conjuntos, registros, objetos,
Leia maisParadigmas 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
Leia mais#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C
#include Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C ANTES DO C ERA A LINGUAGEM B B foi essencialmente uma simplificação da linguagem BCPL. B só tinha um tipo de dado, que
Leia maisRevisã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
Leia maisLinguagem Java - Introdução
Linguagem Java - Introdução Identificadores válidos resultado teste01 _numeroclientes $fortuna Identificadores Identificadores inválidos 101dalmatas 34 #x Palavras reservadas abstract assert*** boolean
Leia maisNoçõ 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
Leia maisLinguagem de Programação III - PHP
Linguagem de Programação III - PHP Aula 1 Scripts PHP, VB.NET da Microsoft, C#, javascript, etc Sintaxe PHP Tudo que estiver delimitado por será processado no servidor. O navegador cliente
Leia maisProgramaçã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,
Leia maisSintaxe Básica do Java. João Paulo Q. dos Santos
Sintaxe Básica do Java João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Plano de Aula Introdução; Método Main; Variáveis: Tipos primitivos; Referências para Objetos; Operadores; Estruturas: Condicionais
Leia maisConceitos 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
Leia maisProf. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012 Operações básicas + - / * ** ou pow(a,b) % = ==,!=, , = or, and, not Valor dos operadores 10/3 10.0/3 10/3.0 10%3
Leia maisEstruturas de Controle
Estruturas de Controle mleal@inf.puc-rio.br 1 Expressões Expressões são as construções básicas de qualquer LP. São utilizadas para a atribuição de valores a variáveis, ou em estruturas de controle condicionais.
Leia maisTó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
Leia maisMCG114 Programação de Computadores I. Comandos de condição 3/26/18. Comando if. Comando if. Até agora... Comandos de Condição! Comandos de Condição
3/26/18 MCG114 Programação de Computadores I Profa. Comandos de condição 20:32:09 1 2 Até agora... Todos os programas têm fluxo de execução único As instruções que serão executadas são sempre as mesmas,
Leia maisLinguagem 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
Leia maisJavaScript (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
Leia maisParadigmas 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
Leia maisPROGRAMAÇÃ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
Leia maisLua. 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
Leia maisEstruturas de controle no nível de sentença
Estruturas de controle no nível de sentença 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
Leia maisCurso de PHP. FATEC - Jundiaí TIPOS DE VARIÁVEIS
Curso de PHP FATEC - Jundiaí TIPOS DE VARIÁVEIS - Inteiros - Ponto Flutuante - String - Array - Objetos - Booleanos PHP utiliza checagem de tipos dinâmica, ou seja, uma variável vel pode conter valores
Leia maisIntrodução ao Fortran 90-3
Introdução ao Fortran 90-3 Departamento de Física UFPel Controles de Fluxo de Execução Definição Estruturas (ou blocos) de programação que permitem controlar o fluxo de execução de um programa, além da
Leia mais1.1 o que é um algoritmo... 6
sumário introdução 1 1 fundamentos 5 1.1 o que é um algoritmo... 6 1.1.1 algoritmos executados por um computador...7 1.1.2 comandos básicos executados por um computador...11 1.1.3 da necessidade do desenvolvimento
Leia maisSintaxe do Pascal Simplificado Estendido de 12 novas construções em Notação EBNF (BNF estendida)
Sintaxe do Pascal Simplificado Estendido de 12 novas construções em Notação EBNF (BNF estendida) Não-terminais são nomes mnemônicos colocados entre parênteses angulares. Vocabulário terminal formado por
Leia maisLinguagem de programação: Pascal
Aula 04 Linguagem de programação: Pascal Prof. Tecgº Flávio Murilo 26/03/2013 1 Pascal Introdução Pascal é uma linguagem de programação estruturada, criada em 1970 pelo suíço Niklaus Wirth, dando este
Leia maisPLANO DE UNIDADE DIDÁTICA- PUD
Professor: Marcus Vinícius Midena Ramos Coordenação: Ricardo Argenton Ramos Data: 03/08/2010 Página: 1 de 5 EMENTA: Conceitos básicos de linguagens. Histórico, classificação e principais aplicações de
Leia maisProgramaçã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
Leia maisIntrodução a JAVA. Variáveis, tipos, expressões, comandos e blocos
+ Introdução a JAVA Variáveis, tipos, expressões, comandos e blocos +Roteiro 2 Variáveis e tipos Operadores aritméticos, lógicos, relacionais e bit-a-bit Atribuição Comandos básicos Ler, Escrever, Condicional,
Leia maisEstruturas 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
Leia maisLINGUAGEM C: ARRAY: VETORES E MATRIZES
LINGUAGEM C: ARRAY: VETORES E MATRIZES Prof. André Backes POR QUE USAR ARRAY? As variáveis declaradas até agora são capazes de armazenar um único valor por vez. Sempre que tentamos armazenar um novo valor
Leia maisMé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
Leia maisIntrodução a JAVA. Variaveis, tipos, expressões, comandos e blocos
Introdução a JAVA Variaveis, tipos, expressões, comandos e blocos Roteiro Variáveis e tipos Operadores aritméticos, lógicos, relacionais e bit-a-bit Atribuição Comandos básicos Ler, Escrever, Condicional,
Leia maisFundamentos de Programação. Turma CI-240-EST. Josiney de Souza.
Fundamentos de Programação Turma CI-240-EST Josiney de Souza josineys@inf.ufpr.br Agenda do Dia Aula 8 (30/09/15) Comentários sobre exercícios propostos Desvio condicional Simples Composto Exercícios Propostos
Leia maisINSTITUTO FEDERAL CATARINENSE Campus Ibirama
INSTITUTO FEDERAL CATARINENSE Campus Ibirama Estruturas de Decisão Professor Eduardo Stahnke Estruturas de Decisão As estruturas de decisão são utilizadas quando existe a necessidade de verificar condições
Leia maisRevisão. Profa Marina Gomes
Revisão Profa Marina Gomes Algoritmos Na construção de um programa, o problema que o algoritmo representa é composto por três fases. Entrada: dados de entrada do algoritmo. Processamento: ações sobre os
Leia mais3 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
Leia maisLinguagem de Programação III
Linguagem de Programação III Aula-5 Estruturas de Decisão e Controle. Arrays em Java Prof. Esbel Tomás Valero Orellana Até Aqui Modelos e POO Classes e sua implementação em Java Encapsulamento Tipos de
Leia maisPython Listas e Strings. Listas 23/11/2016. Por que usar listas? Listas. Listas - Solução. Listas - Problema
Python Listas e Strings Prof. Paulo Henrique Ribeiro Gabriel (Com base no material do Prof. André Backes) Listas Por que usar listas? Listas As variáveis declaradas até agora são capazes de armazenar um
Leia maisProgramação Orientada a Objetos para Redes de Computadores
Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel PARTE 2 Programação em C++ - Arrays e Ponteiros Arrays Estruturas de dados que
Leia maisLaboratório de Programação II
Laboratório de Programação II Aula 02 Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Na aula passada vimos... Na aula passada vimos... 01 Introdução à linguagem C;
Leia maisLinguagem 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
Leia mais3. 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.4. Estruturas de Controle 3.4.1. Comandos
Leia maisIntrodução a Programação
Introdução a Programação Prof. André Gustavo Duarte de Almeida andre.almeida@ifrn.edu.br docente.ifrn.edu.br/andrealmeida Aula 02 Primeiro Programa Roteiro Primeiros Passos Variáveis Expressões Comandos
Leia maisLinguagens 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
Leia maisProgramação II. Aula 3
Programação II Aula 3 Algoritmo Algoritmo: REVISÃO qualquer procedimento bem definido que toma algum valor como entrada e produz algum valor como saída. Técnica de refinamentos sucessivos: dividir um processo
Leia maisTipos 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
Leia maisExpressõ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
Leia maisProgramação Orientada a Objetos para Redes de Computadores. Arrays. Arrays
Programação Orientada a Objetos para Redes de Computadores Elias Mitre http://www.gta.ufrj.br/~miguel PARTE 2 Programação em C++ - Arrays e Ponteiros Arrays Arrays Estruturas de dados que contêm itens
Leia maisO 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
Leia maisCapítulo 8. Estruturas de Controle no Nível de Sentença
Capítulo 8 Estruturas de Controle no Nível de Sentença Níveis de fluxo de controle Computações são realizadas por meio da avaliação de expressões e da atribuição dos valores a variáveis Para tornar a computação
Leia maisFundamentos de Programação em Python
Fundamentos de Programação em Python Diego Silveira Costa Nascimento Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte diego.nascimento@ifrn.edu.br 23 de junho de 2017 Ementa do
Leia maisIntrodução à linguagem Perl
Introdução à linguagem Perl Assistente de ensino: Marcelo da Silva Reis 1 Professor: Fabio Kon 1 1 Instituto de Matemática e Estatística, Universidade de São Paulo MAC0211 - Laboratório de Programação
Leia maisLinguagem Pascal. Prof. Antonio Almeida de Barros Junior
Linguagem Pascal Prof. Antonio Almeida de Barros Junior 1 Linguagem Pascal Criada para ser uma ferramenta educacional (Década de 70); Prof. Niklaus Wirth (Universidade de Zurique); Blaise Pascal (Matemático
Leia maisAula 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
Leia maisIntrodução ao Fortran 90-4
Introdução ao Fortran 90-4 Departamento de Física UFPel Controles de Fluxo de Execução Definição Estruturas (ou blocos) de programação que permitem controlar o fluxo de execução de um programa, além da
Leia mais3. 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.7. Funções 3.7.1. Introdução 3.7.2. Uso de
Leia maisFACULDADE 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
Leia maisConceitos básicos de programação
Constantes class Exemplo { static void Main() { float fahr, celsius; int lower, upper, step; lower = 0; /* limite inferior da tabela de temperaturas */ upper = 300; /* limite superior */ step = 20; /*
Leia maisConstrução de Sites 2. Prof. Christiano Lima Santos
Construção de Sites 2 Prof. Christiano Lima Santos Introdução a JavaScript Parte 01 Como usar JavaScript em uma página 1.1 Forma #1 aplicando diretamente à tag HTML teste
Leia maisIntrodução à linguagem C++
Estrutura de Dados e Algoritmos e Programação e Computadores II Aula 2: Introdução à linguagem C++ Introdução à linguagem C++ Conceitos básicos: variáveis, tipos de dados, constantes, I/O, etc. Estruturas
Leia maisLinguagens de Programação Aula 8
Linguagens de Programação Aula 8 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada Os tipos de dados de uma linguagem são uma grande parte do que determina o estilo e a utilidade de uma linguagem
Leia maisLinguagens de Programação Conceitos e Técnicas. Expressões e Comandos Prof. Tiago Alves de Oliveira
Linguagens de Programação Conceitos e Técnicas Expressões e Comandos Prof. Tiago Alves de Oliveira Expressões Uma expressão é uma frase do programa que necessita ser avaliada e produz como resultado um
Leia maisTÉCNICO DE INFORMÁTICA - SISTEMAS
782 - Programação em C/C++ - estrutura básica e conceitos fundamentais Linguagens de programação Linguagem de programação são conjuntos de palavras formais, utilizadas na escrita de programas, para enunciar
Leia maisEstruturas 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
Leia maisUniversidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java
Guia da Sintaxe do Java TIPOS PRIMITIVOS DE DADOS DO JAVA São os tipos nativos de dados do Java, que podem ser usados na declaração de atributos, variáveis, parâmetros. Tipo primitivo Tamanho Valor padrão
Leia maisAula 4 Estruturas de Controle
UNIP Universidade Paulista Ciência da Computação Aula 4 Estruturas de Controle Prof. Célio Ricardo Castelano 1 Tópicos Abordados 1) Instruções de seleção em Java: 2) Instruções de repetição em Java: 2
Leia maisDesenvolvimento de Sistemas para WEB Site:
Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Desenvolvimento de Sistemas para WEB Site: http://jeiks.net E-mail: jacsonrcsilva@gmail.com Introdução
Leia maisIntrodução à Programação em C. Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI
Introdução à Programação em C Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI Linguagem C Criada em 1972 para uso no LINUX; Sintaxe base para diversas outras (Java, JavaScript, PHP, C++,
Leia maisLua. mais uma linguagem dinâmica. linguagem de descrição de dados. ênfase em scripting. alguma similaridade com Python, Perl, e outras
Lua + Löve Lua mais uma linguagem dinâmica alguma similaridade com Python, Perl, e outras linguagem de descrição de dados ênfase em scripting comunicação inter-linguagens tipagem dinâmica dinamismo verificações
Leia maisAnálise Semântica e Tratamento de Erros Dependentes de Contexto
Análise Semântica e Tratamento de Erros Dependentes de Contexto O componente Semântico de uma LP Tarefas da Análise Semântica Implementação da Tabelas de Símbolos Ações Semânticas em Compiladores Dirigidos
Leia maisIntroduçã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
Leia maisINF1007: Programação 2. 0 Revisão. 06/08/2015 (c) Dept. de Informática - PUC-Rio 1
INF1007: Programação 2 0 Revisão 06/08/2015 (c) Dept. de Informática - PUC-Rio 1 Tópicos Principais Variáveis e Constantes Operadores e Expressões Entrada e Saída Tomada de Decisão Construção com laços
Leia maisParadigmas de Linguagem de Programação. Paradigma Imperativo
Paradigmas de Linguagem de Programação Paradigma Imperativo Paradigma Imperativo Imperare Comandar É o mais antigo de todos; Baseado no modo de funcionamento do computador; São também chamadas de procedurais;
Leia maisPIC - PROGRAMAÇÃO LINGUAGEM C. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR
PIC - PROGRAMAÇÃO LINGUAGEM C AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR acjunior@facthus.edu.br UBERABA MG 1º SEMESTRE 2009 FLUXOGRAMAS FLUXOGRAMAS Fluxograma para somar dois números e guardar em uma terceira
Leia maisComputação I. Prof. Miguel Elias Mitre Campista.
Computação I Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Linguagens de Programação DEL-Poli/UFRJ Introdução ao Pascal Níveis de Linguagens de Programação Linguagens declarativas Linguagens
Leia maisClasses 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
Leia maisAbaixo iremos pormenorizar cada um de seus atributos:
1 PYTHON Python é uma linguagem de programação de alto nível, interpretada, de script, imperativa, orientada a objetos, funcional, de tipagem dinâmica e forte. A linguagem foi projetada com a filosofia
Leia maisArquitetura 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
Leia maisProgramação I Estruturas de Decisão
Programação I Estruturas de Decisão Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Expressões Lógicas Em C, não existe um tipo específico para a representação de valores lógicos.
Leia mais