Бесплатная библиотека
Читайте книгу на сайте или телефоне
READ-E-BOOK » Детское образовательние » Система Диофанта
Система Диофанта - Читать Любимую Русскую Полную Книгу 👉 Read-E-Book.com

Система Диофанта

Электронная книга - «Система Диофанта». Краткое содержание книги:

Если вы хотите поразить одноклассников молниеносным решением квадратных уравнений, давайте развлечемся.
1 ... 16 17 18 19 20 21 22 23 24 25
Перейти на страницу:

318) x1 = -49; x2 = -1

Приложение 5. Подолжение нумерологии

/ Цигель, цигель ай лю-лю /

— Давай разберем, то, что сделано.

— Вариант первый (пробный) для выяснения принципа работы программы.

1 | # -*- coding: utf-8 -*-

2 | import random

3 |

4 | def gen_number():

5 | . . prime_number =(1, 2, 3, 5, 7, 11, 13, 17)

6 | . . sign_number =(0, 1, 2, 3)

7 | . . nu = random.choice(prime_number)

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 | for i in range(100):

19 | . . x1 = gen_number()

20 | . . x2 = gen_number()

21 | . . b = x1 + x2

22 | . . c = x1 * x2

23 | . . #print 'x1 = '+str(x1) + ' x2 = '+str(x2)

24 | . . if b != 0:

25 | . . . . print 'x^2 '+ show_numb(b*-1) + 'x ' +show_numb(c)

Строка 2 — подключаем библиотеку для работы со случайными числами.

Строка 4 — функция генерирующая случайное число со случайным знаком

Строка 5 — кортеж из простых чисел, из которых случайно мы будем выбирать ___

Строка 6 — из этого кортежа будем выбирать знак. Минус будет засчитываться только если выпадет 0 (ясно все остальные вероятности = плюс) чем больше этих «ненужных» чисел, тем меньше вероятность выпадания минуса. Вот такая шутка.

Остальные строки функции прозрачны. Не будем сотрясать воздух.

Строка 13 — функция Показа числа. В общем все понятно: если число положительно то перед ним напишем «+», иначе «-».

= А если будет ноль?

— Посмотри внимательно.... нуля не будет.

/ Только нэ суетись! Кутузов!! /

Строка 18 — основной блок программы. В данном случае это цикл повторяющийся 100 раз

Задумываются два числа (из простых чисел с произвольным знаком)

Эти числа умножаются и складываются. Результат выводится на экран.

Строка 24 — исключает из рассмотрения случаи с коэффициентом b равным нулю, уравнение при этом будет слишком примитивно.

= Ты пропустил 23 строку!

— Она закомментирована и нужна была только в отладке для проверки результатов.

— Как видишь, ничего сложного.

= Ну, не знаю, но я...

/ Как говорит наш дорогой шеф, в нашем деле главное — этот самый реализьм! /

— Хорошо, переходим к реальной программе.

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 | TopList = ['<html>', '<head><title></title></head>','<body>']

19 |

20 | f1 = open("quadratic.htm", 'w')

21 | f2 = open("answer.htm", 'w')

22 |

23 | for ind in TopList:

24 | . . f1.write(ind + 'n')

25 | for ind in TopList:

26 | . . f2.write(ind + 'n')

27 |

28 | f1.write('<table width=100%>n')

29 | f2.write('<table width=100%>n')

30 | tr = 0

31 | count = 1

32 |

33 | for i in range(300):

34 | . . x1 = gen_number(4)

35 | . . x2 = gen_number(7)

36 | . . b = x1 + x2

37 | . . c = x1 * x2

38 |

39 | . . if b != 0:

40 | . . . . if tr == 0:

41 | . . . . . . f1.write('<tr>')

42 | . . . . . . f2.write('<tr>')

43 | . . . . f1.write('<td><p>')

44 | . . . . f1.write(str(count) + ') x<sup>2</sup> '+ show_numb(b*-1) + 'x ' +show_numb(c) + ' = 0' )

45 | . . . . f1.write('</p></td>n')

46 | . . . . f2.write('<td><p>')

47 | . . . . f2.write(str(count) + ') x<sub>1</sub> = '+ str(x1) + '; x<sub>2</sub> = ' + str(x2) )

48 | . . . . f2.write('</p></td>n')

49 | . . . . count += 1

50 | . . . . tr += 1

51 | . . . . if tr == 3:

52 | . . . . . . f1.write('</tr>')

53 | . . . . . . f2.write('</tr>')

54 | . . . . . . tr = 0

55 |

56 | f2.write('</tr></table>n')

57 | f2.write('</body></html>')

58 | f2.close()

59 | f1.write('</tr></table>n')

60 | f1.write('</body></html>')

61 | f1.close()

62 |

63 | print 'Done.'

— // Наверняка, что-то можно было бы сделать лучше... //

/ Я вас отвезу! Скорей! Я же только учусь... /

= О поле, поле кто тебя усеял?

/ Я думаю, Семён Семёныч, что каждый человек способен на многое. Но, к сожалению, не каждый знает, на что он способен. /

— В принципе то же самое, но разберем отличия:

1. итог выводится не на экран, а в файл. Точнее в два файла "quadratic.htm" — задания и "answer.htm" ответы.

1 ... 16 17 18 19 20 21 22 23 24 25
Перейти на страницу:
0
Сюжет
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
0
Атмосфера
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
0
Главный герой
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
0
Общее впечатление
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Итоговая оценка: 0.0 из 10 (голосов: 0 / История оценок)