De snelle ontwikkeling van computertechnologie maakte het mogelijk om de oplossing van veel problemen te vergemakkelijken. Als eerdere complexe vergelijkingen op papier moesten worden opgelost, kun je nu eenvoudig een programma schrijven en dit in een paar seconden doen. De meest geschikte taal hiervoor is Python.
Voorbereiden om een programma te schrijven
Leer de theoretische basis van het oplossen van lineaire vergelijkingen voordat u uw interactieve programma ontwikkelt. Dit zal u helpen uw toekomstige applicatiecode efficiënter te implementeren.
Leg de basis voor het programma. De eerste stap is het definiëren van de klassen. Werken met grote groepen getallen als klassen is gemakkelijker als uw computerbronnen beperkt zijn. Dit zal de bruikbaarheid van uw code helpen vergroten.
Maak regels voor de toepassing. Een typisch voorbeeld is het waardegebied van de invoergegevens. Hoe minder vrije RAM er op de computer is, hoe minder getallen moeten worden ingevoerd.
Applicatiecode genereren
Open een terminalsessie en roep de Python-interpreter op met het volgende commando:
Mijn-iMac: ~ me $ python –v
Dit toont een lange lijst van alle Python-modules die beschikbaar zijn in een bepaalde versie van het programma. Aan het einde zal de compiler u vertellen welke versie van Python op de computer wordt gebruikt.
Maak een nieuwe functiedefinitie in Python door de volgende code in het compilervenster in te voeren. Veel bronnen noemen deze functie "isolve":
>> definieer (a, b, c):
De dubbele punt voorkomt dat de compiler de code onmiddellijk interpreteert wanneer u op enter drukt, en stelt u in staat de taak af te maken.
Maak twee variabelen, q en r, die het quotiënt en de rest van de vergelijking met variabelen a en b nemen, en roep vervolgens de divmod-functie aan om die twee getallen te vinden en te scheiden. Daarna verschijnen de deler en de eventuele rest van de bewerking op het scherm. De code zou er als volgt uit moeten zien:
… Q, r = divmod divmod (a, b)
Creëer een if-voorwaarde die de oplossing snel naar de vergelijking zal uitvoeren als er geen rest is. Vul het volgende in:
… Als r == 0:
… terug ([0, c / b])
Maak een andere voorwaarde voor het geval dat er een rest is:
… anders:
… Sol = isolve (b, r, c)
… U = sol [0]
… V = sol [1]
… terug ([v, u - q * v])
Dit plaatst b en r in een divmod-instructie, retourneert ze als u en v, en retourneert ze vervolgens als een set oplossingen. De volledige code voor dit programma ziet er als volgt uit:
>> definieer (a, b, c):
… Q, r = divmod (a, b)
… Als r == 0:
… terug ([0, c / b])
… anders:
… Sol = isolve (b, r, c)
… U = sol [0]
… V = sol [1]
… terug ([v, u - q * v])
Besteed speciale aandacht aan de verduidelijking na de else- en if-clausules. Python zal deze code niet uitvoeren zonder de juiste definitie.
Druk nogmaals op de Return-toets om terug te keren naar de vorige regel. Voer de functie "isolve" en drie waarden voor z, y en c in en druk op Return. U zou het volgende moeten zien:
>> isoleert (5, 17, 103)
[721, -206]
Dit betekent dat het programma correct werkt en dat er geen fouten in de code zitten. Probeer verschillende beginwaarden in te voeren om te controleren of de berekeningen correct zijn.