####ID 52-sparse-polynomials-addition-X #### #### Άσκηση: (δε μετράει στο βαθμό) #### #### Όταν ένα πολυώνυμο έχει πολύ λίγα μη μηδενικά μονώνυμα σε σχέση με το βαθμό του τότε #### το αναπαριστούμε ως ένα "αραιό" (sparse) πολυώνυμο. Αντί δηλ. να κρατάμε όλους τους συντελεστές #### των μονωνύμων του έως το βαθμό του πολυωνύμου κρατάμε μόνο τους μη μηδενικούς συντελεστές #### σε ένα λεξικό. #### #### Για παράδειγμα, το πολυώνυμο 1+2x^3-x^9 το αναπαριστούμε ως το λεξικό #### #### {0: 1, 3: 2, 9: -1}. #### #### Τα κλειδιά του λεξικού είναι οι βαθμοί και οι τιμές είναι οι αντίστοιχοι συντελεστές, πάντα #### διάφοροι του μηδενός. #### #### Γράψτε μια συνάρτηση #### #### sparseadd(p, q) #### #### που παίρνει ως ορίσματα δύο πολυώνυμα σε αραιή αναπαράσταση (και με ακεραίους συντελεστές, για #### απλότητα) και επιστρέφει το άθροισμά τους, πάλι σε αραιή αναπαράσταση. #### #### *** Γενικές Οδηγίες: *** #### #### Γράφετε τον κώδικά σας αποκλειστικά ανάμεσα στις γραμμές START και STOP παρακάτω. #### Δεν πρέπει να πειράξετε καθόλου τις υπόλοιπες γραμμές #### #### Για να τρέξετε το πρόγραμμά σας (αποθηκευμένο στο αρχείο user.py) δίνετε την εντολή #### #### python3 user.py #### #### ενώ για να το ελέγξετε με τον tester δίνετε την εντολή #### #### python3 tester.py #### #### φροντίζοντας τα αρχεία user.py και tester.py να είναι στον ίδιο κατάλογο (directory) #### #### ****ΠΡΟΣΟΧΗ*****ΠΡΟΣΟΧΗ*****ΠΡΟΣΟΧΗ*****ΠΡΟΣΟΧΗ*****ΠΡΟΣΟΧΗ*****ΠΡΟΣΟΧΗ**** #### Μη γράψετε καμιά εντολή εισόδου (input) ή εξόδου (print) #### στον κώδικα που θα βάλετε ανάμεσα στα START και STOP. Αυτά είναι ήδη γραμμένα. #### Αν βάλετε και σεις το πρόγραμμά σας βγαίνει λάθος. #### p = {0:1, 10:3}; q = {0:-1, 2: 3, 11:2} #### #### #### Υποθέσεις: #### #### Στο σημείο αυτό έχουν δοθεί δύο πολυώνυμα σε αραιή αναπαράσταση. #### #### Απαιτήσεις: #### #### Στο τέλος του προγράμματός σας θα πρέπει #### #### η συνάρτηση sparseadd #### #### να υπολογίζει αυτό που περιγράφεται στην εκφώνηση. #### ####START Από δω και κάτω γράφετε το πρόγραμμά σας.---------------------------------------------------------------- def sparseadd(p, q): #### ####STOP Μην αλλάξετε ό,τι είναι από τη γραμμή αυτή και κάτω-------------------------------------------------------- print("Τα p, q είναι {} και {}. Η απάντηση είναι {}".format(p, q, sparseadd(p, q))) ####