UFRN/COMPERVE CONCURSO PÚBLICO IFRN 2010 – DOCENTE Expectativa de Respostas Sistemas de Informação Questão 01 Critérios analisados: A) B) C) D) E) F) JUNÇÃO OU SUBCONSULTA AGREGAÇÃO FILTRO FILTRO DA AGREGAÇÃO OU SUBCONSULTA ORDENAÇÃO RÓTULO Soluções: SELECT P.IdPedido, P.NomeDestinatario, COUNT(*) AS Itens FROM Pedidos P JOIN [Detalhes Pedidos] DP ON P.IdPedido = DP.IdPedido WHERE IdEntregador = 3 GROUP BY P.IdPedido, P. NomeDestinatario HAVING COUNT(*) > 1 ORDER BY P.IdPedido Ou SELECT P.IdPedido, P. NomeDestinatario, COUNT(*) AS Itens FROM Pedidos P, [Detalhes Pedidos] DP WHERE IdEntregador = 3 AND P.IdPedido = DP.IdPedido GROUP BY P.IdPedido, P. NomeDestinatario HAVING COUNT(*) > 1 ORDER BY P.IdPedido Ou SELECT P.IdPedido, P.NomeDestinatario, (SELECT COUNT(*) FROM [Detalhes Pedidos] DP WHERE P.IdPedido = DP.IdPedido) AS Itens FROM Pedidos P WHERE IdEntregador = 3 AND (SELECT COUNT(*) FROM [Detalhes Pedidos] DP WHERE P.IdPedido = DP.IdPedido) > 1 ORDER BY P.IdPedido Questão 02 Critérios analisados: A) B) C) D) E) F) DEFINICAÇÃO DA LINGUAGEM LÓGICA SIMPLES LÓGICA CORRETA USO DO CONSOLE FUNÇÕES OU LÓGICA SEM FUNÇÕES ESTRUTURAS DE REPETIÇÕES E CONDICIONAIS Soluções: Linguagem selecionada: C++ Solução: #include <iostream.h> #include <conio.h> void fatorar(int numero) { int i; while (numero != 1) { i = 1; do { i++; } while ((i <= numero) && (numero%i!=0)); cout << i << ":"; numero = numero / i; } } int main(int argc, char* argv[]) { int x; cout << "Digite um numero natural \n"; cin >> x; cout << "Fatorando " << x << "\n"; fatorar (x); getch(); return 0; } Ou Linguagem selecionada: Delphi procedure fatorar(numero : integer); var i : integer; begin while (numero <> 1) do begin i := 1; repeat i := i + 1; until ((i > numero) or (numero mod i = 0)); write(i, ':'); numero := numero div i; end; end; var x : integer; begin writeln( 'Digite um numero natural'); readln(x); writeln( 'Fatorando ', x); fatorar (x); readln; end. Ou Linguagem selecionada: Java public class Main { public static void fatorar(int numero) { int i; while (numero != 1) { i = 1; do { i++; } while ((i <= numero) && (numero%i != 0)); System.out.print(i + ":"); numero = numero / i; } } public static void main(String[] args) { int x; System.out.println("Digite um numero natural \n"); java.util.Scanner sc = new java.util.Scanner(System.in); x = sc.nextInt(); System.out.println("Fatorando " + x + "\n"); fatorar(x); System.out.println(); } }