Система Диофанта [W Cat] (fb2) читать постранично, страница - 4

Книга 419269 устарела и заменена на исправленную

- Система Диофанта 177 Кб, 39с. скачать: (fb2) - (исправленную)  читать: (полностью) - (постранично) - W. Cat

 [Настройки текста]  [Cбросить фильтры]

уравнение при этом будет слишком примитивно.

= Ты пропустил 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" ответы.

2. т.к. это HTML файлы, то не помешает записать «шапки» файлов (строки 23 — 26) и правильно завершить файлы (строки 56 — 61).

3. для приятного восприятия (и экономии бумаги) информацию записываем в таблицы (за число столбцов отвечает переменная tr, точнее строка 51)

4. для удобства пользования введена нумерация задач (за это дело отвечает переменная count)

5. изменена функция Генератор Чисел (gen_number). Я посчитал, в предыдущей версии, могут получаться слишком громоздкие числа и это может затормозить «молниеносность»

В данном случае задумывается одно число однозначное, второе как и было...


— Ну, вот и все, остальные отличия — мелочь.

= Все это очень хорошо, но я просил помочь, а ты меня питонами пугаешь.


/ Ты что, глухонемой, что ли?

— Да!

— Понятно. /


— Ну ты даешь. В качестве примера в приложениях я дам тебе два файла, но дело в том, что там около 160 задач (удаление повторяющихся вариантов, не сделано), а если завтра тебе окажется этого мало. Тогда пожалуйста. Запускай программу измени пару, тройку строк и получи лист с нужными задачами.

Теперь распечатай файлы и за работу.


— Повторюсь. ТщательнЕЕ нужно готовится к выступлениям, тщательнЕЕ.

— Тебе потребуется мгновенно выяснить делители свободного члена. Я посмотрел в Интернете запрос «признаки делимости» - довольно интересно, 2 и 5 ты и так знаешь, посмотри только 3, а с 11 — достаточно просто, тебе встретятся только 22, 33, 44 и т.д. имеет смысл запомнить ряды для 13 (26, 39, 52...) и 17 (34, 51, 68...)

— Далее, ты помнишь правила знаков?

= Да там все просто, я все понял.


/ Да… Бедняга. Ребята, на его месте должен был быть я!

— Напьёшься — будешь. /


Этого совершенно не достаточно. Решения уравнений должны быть максимально быстры, а этого не достичь без тренировок и упражнений данных в приложении «маловато будет».


Питон (Python) можно инсталлировать в ЛЮБОЙ операционной системе, а в Ubuntu он стоит по умолчанию. Учебников и советов в Интернете достаточно, если надо обращайся и ко мне, я хотя и не волшебник люблю все чудесное.



/

Теперь вот такое предложение. А что, если…

— Не стоит.

— Ясно. Тогда, может быть, нужно…

— Не нужно.

— Понятно… Разрешите хотя бы…

— Вот это попробуйте! Вам поручена эта операция, так что действуйте.

/

День третий

Сто тысяч зрителей по рублю

Сто тысяч зрителей по одному рублю!..

Это будит!.. Это будит!..

Семь пишем, два на ум пошло...

... Бешеные деньги!..

А Райкин
— Рассказывай. Как успехи.

= Норма-а-а-льно.

/ а что она, а что она, она по прежнему не мной увлечена /

— А подробнее.

= Новизна фокуса прошла. Все уже знают секрет. Но мы нашли еще одно применение: проверяем правильность решения КУ, очень удобно.

= Но у меня два вопроса.

— Попробуй.

= 1. как ты узнал сколько получится формул?

— Подобную задачу я решал еще в 9 классе.

В те времена я прочел рассказ Артура Кларка «Девять миллиардов имен Бога.» и меня заинтересовало — вот