quarta-feira, 23 de março de 2011

Script para conferir resultado da sena

------------------------------------------------------
-- Script para conferir resultados dos jogos da sena.-- Apenas para jogos de 6 dezenas.-- Por Sérgio Queiroz em 23/03/2011.------------------------------------------------------

declare
--Criar tabela abaixo e inserir os cartões da forma como consta no insert abaixo--Somente para jogos de 6 dezenas--create table sena (dezenas varchar2(200));--insert into sena values ('10,20,30,40,50,60');

type d1 is table of char(2) index by binary_integer;func d1;indice number := 1;pos number := 0;tam number := 0caux varchar2(200);v_cont number := 0;

/*** INSIRA AQUI OS NÚMEROS SORTEADOS ***/  concurso varchar2(200) := '1268';  sorteio varchar2(12) := '031617445360';/****************************************/
 /*concurso varchar2(200) := '1267';sorteio varchar2(12) := '042030414758';*/
 r1 char(2);r2 char(2);r3 char(2);r4 char(2);r5 char(2);r6 char(2);  procedure carregar_array (dezenas varchar2) as  begin    func(1) := substr(dezenas,1,2);    func(2) := substr(dezenas,4,2);    func(3) := substr(dezenas,7,2);    func(4) := substr(dezenas,10,2);    func(5) := substr(dezenas,13,2);    func(6) := substr(dezenas,16,2);  end;
 procedure verificar_dezenas asdisplay varchar2(200);  begin    v_cont := 0;
       if func(1) in (r1,r2,r3,r4,r5,r6) then            v_cont := v_cont + 1;       display := '** ';    else       display := '   ';    end if;        if func(2) in (r1,r2,r3,r4,r5,r6) then       v_cont := v_cont + 1;       display := display || '** ';    else       display := display || '   ';    end if    if func(3) in (r1,r2,r3,r4,r5,r6) then       v_cont := v_cont + 1;       display := display || '** ';    else       display := display || '   ';    end if    if func(4) in (r1,r2,r3,r4,r5,r6) then       v_cont := v_cont + 1;       display := display || '** ';    else       display := display || '   ';    end if    if func(5) in (r1,r2,r3,r4,r5,r6) then       v_cont := v_cont + 1;       display := display || '** ';    else       display := display || '   ';    end if;    if func(6) in (r1,r2,r3,r4,r5,r6) then       v_cont := v_cont + 1;       display := display || '** ';    else       display := display || '   ';    end if;
     dbms_output.put_line (func(1) || ' ' || func(2) || ' ' || func(3) || ' ' || func(4) || ' ' || func(5) || ' ' || func(6) || ' - Total de dezenas corretas: ' || v_cont);    dbms_output.put_line (display);    dbms_output.put_line ('------------------------------------------------');  end;begin
     r1 := substr(sorteio,1,2);  r2 := substr(sorteio,3,2);   
  r3 := substr(sorteio,5,2);  r4 := substr(sorteio,7,2);  r5 := substr(sorteio,9,2);  r6 := substr(sorteio,11,2);
     dbms_output.put_line ('Sorteio: ' || r1 || ' ' || r2 || ' ' || r3 || ' ' || r4 || ' ' || r5 || ' ' || r6 || '        Concurso: ' || concurso);  dbms_output.put_line ('================================================');  dbms_output.put_line ('');
        for dezenas in (select dezenas from sena)  loop    carregar_array (dezenas.dezenas);    verificar_dezenas;   end loop;end;

O resultado será:
Sorteio: 10 11 12 16 14 15
================================================
10 11 12 13 14 15 - Total de dezenas corretas: 5
** ** **    ** **
------------------------------------------------
10 13 22 23 44 45 - Total de dezenas corretas: 1
**               
------------------------------------------------
01 11 19 25 34 55 - Total de dezenas corretas: 1
   **            
------------------------------------------------
Related Posts Plugin for WordPress, Blogger...