Подготовка к написанию программы



Изучите теоретические основы решения линейных уравнений, прежде чем разрабатывать свою интерактивную программу. Это поможет вам более рационально реализовать код будущего приложения.

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

Создайте правила работы программы. Типичным примером является область значения вводимых данных. Чем меньше свободной оперативной памяти имеется на компьютере, тем меньше должны быть вводимые числа.

Создание кода приложения



Откройте сеанс терминала и вызовите интерпретатор Python с помощью следующей команды:

My-iMac:~ me$ python –v

Это покажет длинный список всех модулей Python, доступных в данной версии программы. В конце компилятор сообщит, какая версия Python используется на компьютере.

Создайте новое определение функции в Python, введя следующий код в окне компилятора. Многие источники называют эту функцию "isolve":

>>> def isolve(a,b,c):

Двоеточие не даст компилятору сразу интерпретировать код, когда вы нажмете клавишу ввода, и позволит закончить работу.

Создайте две переменные, q и r, принимающие значения частного и остатка от уравнения с переменными a и b, а затем вызовите функцию divmod, которая найдет и разделит два этих числа. После чего на экране появятся делитель и остаток от операции, если таковые имеются. Код должен выглядеть следующим образом:

... q, r = divmod divmod(a,b)


Создайте условие с помощью if, которое будет быстро выводить решение уравнения, при отсутствии остатка. Введите следующее:

... if r == 0:
... return( [0,c/b] )

Создайте еще одно условие для случая, когда есть остаток:

... else:




... sol = isolve(b,r,c)



... u = sol[0]



... v = sol[1]



... return( [v, u - q*v ] )

Это позволит поставить b и r внутрь оператора «divmod», вернет их как переменные u и v, а затем возвратит в виде множества решений. Полный код этой программы выглядит следующим образом:

>>> def isolve(a,b,c):
... q, r = divmod(a,b)
... if r == 0:
... return( [0,c/b] )
... else:



... sol = isolve(b,r,c)



... u = sol[0]



... v = sol[1]



... return( [v, u - q*v ] )


Обратите особое внимание на уточнение после условий else и if. Python не будет выполнять этот код без соответствующего определения.

Нажмите кнопку возврата еще раз, чтобы вернуть предыдущую строку. Введите функцию «isolve» и три значения для z, y и с и нажмите «Return». Вы должны увидеть следующее:

>>> isolve(5, 17, 103)
[721, -206]


Это означает, что программа работает правильно и в коде нет ошибок. Попробуйте ввести другие начальные значения, чтобы проверить правильность вычислений.