javax_slr: (Default)
[personal profile] javax_slr

Скрипт на груви, генерирует LaTex.

int n = 60 
def f1 = new File("d:\\temp\\ex.tex") 

///////////////////////////////////////////////////// 
 
def r = new Random(System.currentTimeMillis()) 
 
f1.delete(); 

 
def header = """ 
\\documentclass[a4paper,12pt,twocolumn]{article} 
\\begin{document} \n""" 
 
f1<< header 
f2<< header 
 
n.times { 
 
 def divisor1, divisor2, dividend1, dividend2, intPart1, intPart2;
  boolean sameOrNo = r.nextBoolean()
  if (sameOrNo) {
    divisor1 = r.nextInt(5) + 2 // 2..7
    int kefel =  r.nextInt(2) + 1 // 1..3
    divisor2 = kefel * divisor1 // 2 .. 21
  }
  else {
     divisor1 = r.nextInt(7) + 2 // 2..9   
     divisor2 = r.nextInt(7) + 2 // 2..9
  }
  
  dividend1 =  r.nextInt(14) + 1 // 1..15
  dividend2 =  r.nextInt(14) + 1 // 1..15
  
  intPart1 =  r.nextInt(6)  // 0..5
  intPart2 =  r.nextInt(6)  // 0..5
  
  boolean plus = r.nextBoolean() 
  
  def res1 = intPart1* (double) dividend1/divisor1
  def res2 = intPart2* (double) dividend2/divisor2
  
  if (res1<res2) {
   def t = intPart1; intPart1 = intPart2; intPart2 = t
   t =dividend1; dividend1 = dividend2; dividend2 = t
   t =divisor1; divisor1 = divisor2; divisor2 = t
   } 


  if (intPart1 == 0) { intPart1=' '}   
  if (intPart2 == 0) { intPart2=' '}   
 
  def sign = plus?"+":"-" 
 
  def s =  """\$\$ $intPart1 \\frac{$dividend1}{$divisor1} $sign $intPart2 \\frac{$dividend2}{$divisor2}  \$\$\n\n\n""" 
 println s;
 f1 <<s;
}  
def footer =  """ 
\\end{document} \n""" 
 
f1<<footer 

 


January 2026

S M T W T F S
    123
45 678910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 14th, 2026 06:45 am
Powered by Dreamwidth Studios