Templates Perguntas PIG - Parallel Image and Geometry Fernanda Isabel Lucas Torres Lu´ ıs Cl´ audio Raquel Oliveira Universidade Federal do Rio Grande do Norte Departamento de Inform´ atica e Matem´ atica Aplicada DIM0437 - Linguagens de Programa¸ c˜ ao: Conceitos e Paradigmas 2016-11-01 1/26
Templates Perguntas Problemas em: Geometria Computacional Computa¸ c˜ ao Gr´ afica Processamento de Imagem Geoprocessamento Fatores em comum Uso de t´ ecnicas de ´ algebra linear Necessidade de alto desempenho Possibilidade de paraleliza¸ c˜ ao ( =/= de concorrˆ encia!) 3/26
Templates Perguntas Vari´ aveis 1 def m: int; 2 def n: int = 2; 3 def p, q, r: int; 4 5 m = 0; 6 n += 1; 7 p, q, r = 1, 2, 3; 8 p, q = q, p; 9 10 def a, b: int = 0, 1; 11 a, b = b, a + b; 12 13 _, _, n = p, q, r 6/26
Templates Perguntas Tipos B´ asicos Tipos B´ asicos 1 # booleanos 2 def a, b: bool = true , false; 3 a = (a and b) or (not a) or (a xor b); 4 5 # casting 6 p = (x : float ); 7 x, y, z = floor(p), ceil(q), round(r); 10/26
Templates Perguntas for in for in 1 def a : vec2 = [2, 3]; 2 3 for x in a { 4 print("{x} "); 5 } # output: 2 3 6 7 for x in [1,2,4,5] { 8 print("{x} "); 9 } # output: 1 2 4 5 10 11 for i in 1..5 { 12 print("{2*i} "); 13 } # output 2 4 6 8 10 16/26
Templates Perguntas for // for // (for paralelo) 1 def m : mat4; 2 3 for i, j // [0,1,2,3], [0,1,2,3] { 4 # Escreva 1.0 paralelamente 5 # em todas as posicoes de m. 6 m[i,j] = 1.0; 7 } 17/26
Templates Perguntas Declara¸ c˜ ao Fun¸ c˜ oes e Procedimentos 1 # retorno multiplo 2 func x, y: int = minmax(a: int , b: int) { 3 if a <= b { 4 x = a; 5 y = b; 6 } else { 7 x = b; 8 y = a; 9 } 10 } 19/26