Advertisement
Guest User

Untitled

a guest
Jun 18th, 2017
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Per 4.32 KB | None | 0 0
  1. #!/usr/bin/perl
  2. use strict; # Pouzitie Var. Typu Strict
  3.  
  4. my $iNumber1; #V Tejto Premmenej Bude Ulozene Prve Cislo s Prikladu na Overenie
  5. my $iNumber2; #V Tejto Premmenej Bude Ulozene Druhe Cislo s Prikladu na Overenie
  6. my $iUserNum; # Tu sa nacita Vstup Od Usera
  7. my $iTestType; # Tu sa neskor vygeneruje cislo a podla v rozsahu od 1 - 4 ( 1 - Krat; 2 - Deleno; 3 - Plus ; 4 - Minus)
  8. my $iWhile=1; # Premenna Pre While Cyklus
  9. my $iCorrectAns; # Tu budeme Ukladat pocet spravnych odpovedi
  10. my $iVysledok;
  11.  
  12. # Uvitacia Sprava
  13. print "Ahoj, Ja som Bot Ktory Zisti ci si clovek alebo moj druh ... Blablbal Uvodna Spravicka\n";
  14. print "\t Test bude prebiehat nasledovne :\n";
  15. print "\t\t Dostanes 5 Matematickych prikladov, ja ti ich skontrolujem,a pokial budu aspon 4 spravne, tak... \n\n\n\n";
  16.  
  17. SKUSANIE: # Toto je Tkzv Navestie, alebo po EN. myslim sa v programovani pouziva LABEL
  18.  
  19. $iCorrectAns = 0; # Pocet Spravnuch odpovedi dame na 0, pretoze pokial by sa test opakoval tak by tram zostala stara hodnota
  20. $iWhile= 1; # Nadstavenie iWhile na 1 ..
  21. # Cyklus ..
  22. while($iWhile<=5){ # Pokial $iWhile nebude 5 tak sa bude opakovat nasledujuci cyklus  
  23.  
  24.     $iTestType = int(rand(4))+1; # Vygenerovanie cisla 1 - 4 pre nahodnost typu prikladu
  25.  
  26.     # Pokial bude $iTestType == 1 tak sa vygeneruju cisla vhodne pre Nasobenie
  27.     if($iTestType == 1){
  28.  
  29.         $iNumber1 = int(rand(10)); #Vygenerovanie Prveho Cisla
  30.         $iNumber2 = int(rand(10))+1; #Vygenerovanie Druheho Cisla
  31.         print "\n Question $iWhile : $iNumber1*$iNumber2 = ";
  32.         chomp  ($iUserNum = <STDIN>); # Pouzitie chomp na odstranenie pripadnych \n a nacitanie hodnoty od usera
  33.  
  34.         if($iNumber1*$iNumber2==$iUserNum){#Pokial bude Odpoved spravna tak ..
  35.             $iCorrectAns ++;# Pricitame k hodnote $iCorrectAns 1
  36.         }
  37.  
  38.     }
  39.  
  40.  
  41.     # Pokial bude $iTestType == 2 tak sa vygeneruju cisla vhodne pre Delenie
  42.     if($iTestType == 2){
  43.  
  44.         $iNumber1 = int(rand(10))+1; #Vygenerovanie Prveho Cisla - Bude pouzite ako vysledok
  45.         $iNumber2 = int(rand(10))+1; #Vygenerovanie Druheho Cisla
  46.         print "\n Question $iWhile : ".$iNumber1*$iNumber2."/$iNumber2 = ";
  47.         chomp  ($iUserNum = <STDIN>); # Pouzitie chomp na odstranenie pripadnych \n a nacitanie hodnoty od usera
  48.  
  49.         if($iNumber1*$iNumber2/$iNumber2==$iUserNum){#Pokial bude Odpoved spravna tak ..
  50.             $iCorrectAns ++;# Pricitame k hodnote $iCorrectAns 1
  51.         }
  52.     }
  53.  
  54.  
  55.     # Pokial bude $iTestType == 3 tak sa vygeneruju cisla vhodne pre Scitovanie
  56.     if($iTestType == 3){
  57.         $iNumber1 = int(rand(10)); #Vygenerovanie Prveho Cisla
  58.         $iNumber2 = int(rand(10))+1; #Vygenerovanie Druheho Cisla
  59.         print "\n Question $iWhile : $iNumber1+$iNumber2 = ";
  60.         chomp  ($iUserNum = <STDIN>); # Pouzitie chomp na odstranenie pripadnych \n a nacitanie hodnoty od usera
  61.  
  62.         if($iNumber1+$iNumber2==$iUserNum){#Pokial bude Odpoved spravna tak ..
  63.             $iCorrectAns ++;# Pricitame k hodnote $iCorrectAns 1
  64.         }
  65.     }
  66.    
  67.    
  68.     # Pokial bude $iTestType == 4 tak sa vygeneruju cisla vhodne pre Odcitovanie
  69.     if($iTestType == 4){
  70.  
  71.         $iNumber1 = int(rand(10))+1; #Vygenerovanie Prveho Cisla - Bude pouzite ako vysledok
  72.         $iNumber2 = int(rand(10)); #Vygenerovanie Druheho Cisla
  73.         $iVysledok= $iNumber1+$iNumber2;
  74.         print "\n Question $iWhile : $iVysledok-$iNumber2 = ";
  75.         chomp  ($iUserNum = <STDIN>); # Pouzitie chomp na odstranenie pripadnych \n a nacitanie hodnoty od usera
  76.  
  77.         if($iVysledok-$iNumber2==$iUserNum){#Pokial bude Odpoved spravna tak ..
  78.             $iCorrectAns ++;# Pricitame k hodnote $iCorrectAns 1
  79.         }
  80.     }
  81.  
  82.     $iWhile ++; # Pricitame k hodnote $iWhile 1
  83.  
  84. }
  85. # Koniec Cyklusu
  86.  
  87.  
  88. # Vypisanie Vysledku
  89. if($iCorrectAns>=4){#Pokial bude pocet odpovedi dostatocny,vypisesa tato sprava
  90.     print "\n \n Vas pocet spravnych odpovedi je : $iCorrectAns . Gratulujem , Uspeli Ste!\n";
  91. }else{#Pokial nebude pocet odpovedi dostatocny vypise sa nasledujuca sprava
  92.     print "\n \n Vas pocet spravnych odpovedi je : $iCorrectAns . Lutujem , ale Vas pocet odpovedi neni dostatocny!\n";
  93.  
  94.     print "Pokial si prajete pokracovat napiste 1 ,pokial si prajete skoncit napiste 2 : ";
  95.     chomp  ($iUserNum = <STDIN>); # Pouzitie chomp na odstranenie pripadnych \n a nacitanie hodnoty od usera
  96.     if($iUserNum==1){# Pokial User zada 1 tak sa zacne znovu testovanie
  97.         sleep 3; # Pozastavenie na 3 Sekundy
  98.         goto SKUSANIE; # presunutie sa na Label - Skusanie
  99.     }
  100. }
  101. print "Dakujeme za Skusku CaptchaBota";
  102. sleep 3; # Pozastavenie na 3 Sekundy
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement