-11
280) x1 = 21; x2 = -2
281) x1 = -10; x2 = -3
282) x1 = -21; x2 = -3
283) x1 = -14; x2 = 7
284) x1 = -49; x2 = -2
285) x1 = 10; x2 = -11
286) x1 = -9; x2 = 11
287) x1 = -9; x2 = -3
288) x1 = 25; x2 = -2
289) x1 = -14; x2 = -7
290) x1 = -4; x2 = 7
291) x1 = -35; x2 = -3
292) x1 = -21; x2 = -1
293) x1 = -4; x2 = -7
294) x1 = -2; x2 = -13
295) x1 = 1; x2 = -13
296) x1 = 10; x2 = -3
297) x1 = -25; x2 = -3
298) x1 = 25; x2 = -3
299) x1 = -4; x2 = -5
300) x1 = -1; x2 = -17
301) x1 = -3; x2 = -3
302) x1 = 6; x2 = -1
303) x1 = -4; x2 = -11
304) x1 = 15; x2 = -1
305) x1 = 25; x2 = -1
306) x1 = 4; x2 = -3
307) x1 = -5; x2 = -5
308) x1 = -4; x2 = -13
309) x1 = -9; x2 = -13
310) x1 = -10; x2 = -11
311) x1 = -9; x2 = -5
312) x1 = -1; x2 = -13
313) x1 = -4; x2 = -3
314) x1 = -1; x2 = -1
315) x1 = 4; x2 = -7
316) x1 = -10; x2 = -1
317) x1 = -9; x2 = -11
318) x1 = -49; x2 = -1
.1 | # -*- coding: utf-8 -*- .2 | import random .3 | .4 | def gen_number(k): .5 | . . prime_number =(1, 2, 3, 5, 7, 11, 13, 17) .6 | . . sign_number =(0, 1, 2, 3) .7 | . . nu = prime_number[random.randint(0, k)] .8 | . . sign = random.choice(sign_number) .9 | . . if sign == 0: 10 | . . . . nu = nu * -1 11 | . . return nu 12 | 13 | def show_numb(a): 14 | . . if a > 0: 15 | . . . . return ' + '+ str(a) 16 | . . return ' - ' + str(abs(a)) 17 | 18 | def comp_List(L, m): 19 | . . for k in L: 20 | . . . . if k == m : 21 | . . . . . . return False 22 | . . return True 23 | . . 24 | TopList = ['<html>', '<head><title></title></head>','<body>'] 25 | 26 | f = open("quadratic.htm", 'w') 27 | f2 = open("answer.htm", 'w') 28 | 29 | for ind in TopList: 30 | . . f.write(ind + '\n') 31 | for ind in TopList: 32 | . . f2.write(ind + '\n') 33 | 34 | f.write('<table width=100%>\n') 35 | f2.write('<table width=100%>\n') 36 | tr = 0 37 | count = 1 38 | List = [] 39 | 40 | for i in range(50000): 41 | . . x1 = gen_number(4) * gen_number(4) 42 | . . x2 = gen_number(7) 43 | . . b = x1 + x2 44 | . . c = x1 * x2 45 | . . 46 | . . m = str(b) + ' ' + str(c) 47 | . . . . . . 48 | . . if comp_List(List, m): 49 | . . . . List.append(m) 50 | . . . . if b != 0 and abs(c) < 126: 51 | . . . . . . if tr == 0: 52 | . . . . . . . . f.write('<tr>') 53 | . . . . . . . . f2.write('<tr>') 54 | . . . . . . f.write('<td><p>') 55 | . . . . . . f.write(str(count) + ') x<sup>2</sup> '+ show_numb(b*-1) + 'x ' +show_numb(c) + ' = 0' ) 56 | . . . . . . f.write('</p></td>\n') 57 | . . . . . . f2.write('<td><p>') 58 | . . . . . . f2.write(str(count) + ') x<sub>1</sub> = '+ str(x1) + '; x<sub>2</sub> = ' + str(x2) ) 59 | . . . . . . f2.write('</p></td>\n') 60 | . . . . . . count += 1 61 | . . . . . . tr += 1 62 | . . . . . . if tr == 3: 63 | . . . . . . . . f.write('</tr>') 64 | . . . . . . . . f2.write('</tr>') 65 | . . . . . . . . tr = 0 66 | 67 | f2.write('</tr></table>\n') 68 | f2.write('</body></html>') 69 | f2.close() 70 | f.write('</tr></table>\n') 71 | f.write('</body></html>') 72 | f.close() 73 | 74 | print 'Done.'
Приложение 5. Последняя версия программы генерации задач
* Введена блокировка повторяющихся уравнений. (строки 48, 49 и функция comp_List) * Убрав второй сомножитель в строке 41 — откажемся от усложнения уравнений. * В строке 50 фрагмент «and abs(c) < 126» ограничивает величины цифр в уравнениях. Ясно, что поиграв с кодом этого примера можно получить самые разнообразные листинги КУ..1 | # -*- coding: utf-8 -*- .2 | import random .3 | .4 | def gen_number(k): .5 | . . prime_number =(1, 2, 3, 5, 7, 11, 13, 17) .6 | . . sign_number =(0, 1, 2, 3) .7 | . . nu = prime_number[random.randint(0, k)] .8 | . . sign = random.choice(sign_number) .9 | . . if sign == 0: 10 | . . . . nu = nu * -1 11 | . . return nu 12 | 13 | def show_numb(a): 14 | . . if a > 0: 15 | . . . . return ' + '+ str(a) 16 | . . return ' - ' + str(abs(a)) 17 | 18 | def comp_List(L, m): 19 | . . for k in L: 20 | . . . . if k == m : 21 | . . . . . . return False 22 | . . return True 23 | . . 24 | TopList = ['<html>', '<head><title></title></head>','<body>'] 25 | 26 | f = open("quadratic.htm", 'w') 27 | f2 = open("answer.htm", 'w') 28 | 29 | for ind in TopList: 30 | . . f.write(ind + '\n') 31 | for ind in TopList: 32 | . . f2.write(ind + '\n') 33 | 34 | f.write('<table width=100%>\n') 35 | f2.write('<table width=100%>\n') 36 | tr = 0 37 | count = 1 38 | List = [] 39 | 40 | for i in range(50000): 41 | . . x1 = gen_number(4) * gen_number(4) 42 | . . x2 = gen_number(7) 43 | . . b = x1 + x2 44 | . . c = x1 * x2 45 | . . 46 | . . m = str(b) + ' ' + str(c) 47 | . . . . . . 48 | . . if comp_List(List, m): 49 | . . . . List.append(m) 50 | . . . . if b != 0 and abs(c) < 126: 51 | . . . . . . if tr == 0: 52 | . . . . . . . . f.write('<tr>') 53 | . . . . . . . . f2.write('<tr>') 54 | . . . . . . f.write('<td><p>') 55 | . . . . . . f.write(str(count) + ') x<sup>2</sup> '+ show_numb(b*-1) + 'x ' +show_numb(c) + ' = 0' ) 56 | . . . . . . f.write('</p></td>\n') 57 | . . . . . . f2.write('<td><p>') 58 | . . . . . . f2.write(str(count) + ') x<sub>1</sub> = '+ str(x1) + '; x<sub>2</sub> = ' + str(x2) ) 59 | . . . . . . f2.write('</p></td>\n') 60 | . . . . . . count += 1 61 | . . . . . . tr += 1 62 | . . . . . . if tr == 3: 63 | . . . . . . . . f.write('</tr>') 64 | . . . . . . . . f2.write('</tr>') 65 | . . . . . . . . tr = 0 66 | 67 | f2.write('</tr></table>\n') 68 | f2.write('</body></html>') 69 | f2.close() 70 | f.write('</tr></table>\n') 71 | f.write('</body></html>') 72 | f.close() 73 | 74 | print 'Done.'