Εργασία 2.1

Στα μαθηματικά υπάρχει μια εξίσωση που ονομάζεται δευτεροβάθμια. Είναι συνήθως γραμμένο στη μορφή ax2 + bx + c = 0, όπου το x αντιπροσωπεύει άγνωστο και τα α, b και c αντιπροσωπεύουν γνωστούς αριθμούς έτσι ώστε το α να μην είναι ίσο με 0. Ο στόχος μας είναι να γράψουμε ένα πρόγραμμα που υπολογίζει τις λύσεις της δευτεροβάθμιας εξίσωσης.Προκειμένου να επιλυθεί η δευτεροβάθμια εξίσωση, η ευκολότερη μέθοδος είναι να υπολογιστεί  η διακρίνουσα.


Εάν η διακρίνουσα είναι μικρότερη από μηδέν τότε η εξίσωση δεν έχει πραγματική λύση.

Εάν ο διακρίνουσα είναι ίση με το μηδέν τότε η εξίσωση έχει μια διπλή πραγματική λύση.


Τέλος, αν η διακρίνουσα είναι μεγαλύτερη από μηδέν, τότε η εξίσωση έχει δύο διαφορετικές πραγματικές λύσεις.

 that we can calculate using the previous formulas.

Πώς μπορούμε να υπολογίσουμε την τετραγωνική ρίζα της διακρίνουσας; Η Python έχει μια βιβλιοθήκη που μπορούμε να χρησιμοποιήσουμε αν την συμπεριλάβουμε στην αρχή του κώδικα μας. Η βιβλιοθήκη ονομάζεται math και έχει πολλές χρήσιμες λειτουργίες. Μία από αυτές είναι η sqrt.

Δοκιμάστε τον ακόλουθο κώδικα

import math
print (math.sqrt(16))

Μπορείτε να δείτε όλες τις λειτουργίες της βιβλιοθήκης εδώ

Δημιουργήστε ένα νέο πρόγραμμα, δοκιμάστε το και φορτώστε το χρησιμοποιώντας το όνομά σας ακολουθούμενο από AS2.1 στο όνομα του αρχείου. Για παράδειγμα, ένα όνομα αρχείου προγραμμάτων θα μπορούσε να είναι Name_Surname_AS2.1.py Για την προσπάθειά σας θα βαθμολογηθείτε και θα έχετε μια άλλη προσπάθεια αν θέλετε να πάρετε έναν καλύτερο βαθμό. Ο βαθμός επιτυχίας είναι 60.

Ένας αρχικός κώδικας για να ξεκινήσετε:

# This is a program that calculates the solutions of an quadratic equation
print ("Welcome. This is a program to calculate the solutions of the ")
print ("quadratic equation that has the from ax2+bx+c=0")
import math
a = float(input("Please write down number a different than zero. a = "))
b = float(      )   #  complete the command
c =                     #  complete the command
print () # print an empty line
if a == 0 :
    print ("Your input for a was zero, so i am exiting. Be more careful next time. Bye")
else:
    D = b**2 - 4*a*c  
    if D < 0 :
        print ("The equation dos not have real solutions")
    elif D == 0 :
        x =                  #  complete the command
       print ("The equation has one double solution x = ", x)
    else :
        x1 = (-b + math.sqrt(D))/(2*a)
        x2 =       #  complete the command
       print ("The equation has two solutions x1 = ", x1, " and x2 = ", x2)