Advertisement
LightProgrammer000

Procedure [Verifica Número Primo]

Jan 15th, 2019
313
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 1.27 KB | None | 0 0
  1. -------------------------------- Procedure (1) --------------------------------
  2. delimiter $$
  3. create procedure pr_numero_primo( num int )
  4. begin
  5.     -- Variaveis locais
  6.     declare i int default 0;
  7.     declare quant_zero int default 0;
  8.  
  9.     -- Estrutura de decisao
  10.     if( num = 1 )
  11.     then
  12.         select concat('Numero: ', num) as 'Divisor universal';
  13.  
  14.     elseif( num <= 0 )
  15.     then
  16.         select concat('Numero: ', num) as 'Invalido';
  17.  
  18.     else
  19.         -- Estrutura de repeticao: Bloco
  20.         while( i <= num )
  21.         do
  22.             -- Incremento no contador
  23.             set i = i + 1;
  24.  
  25.             -- Estrutura de decisao
  26.             if( num mod i = 0 )
  27.             then
  28.                 -- Contador de divisoes por zero
  29.                 set quant_zero = quant_zero + 1;
  30.             end if;
  31.  
  32.             -- Estrutura de decisao
  33.             if( quant_zero > 3 )
  34.             then    
  35.                 -- Break
  36.                 set i = num + 1;
  37.  
  38.             end if;
  39.         end while;
  40.  
  41.         -- Estrutura de decisao
  42.         if( quant_zero = 2 )
  43.         then
  44.             -- Exibicao de dados
  45.             select concat('Numero: ', num) as 'Primo';
  46.        
  47.         else
  48.             -- Exibicao de dados
  49.             select concat('Numero: ', num ) as 'Nao Primo';        
  50.         end if;
  51.        
  52.     end if;
  53.  
  54. end $$
  55. delimiter ;
  56.  
  57. -- Chamada de procedimento
  58. call pr_numero_primo(0);
  59. call pr_numero_primo(1);
  60. call pr_numero_primo(2);
  61. call pr_numero_primo(10);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement