Αποστολέας Θέμα: Σχετικά με τη βαθμολογία  (Αναγνώστηκε 606 φορές)

mpapafoti

  • Νέος
  • *
  • Μηνύματα: 9
Σχετικά με τη βαθμολογία
« στις: 11 Μάι 2018, 07:26:12 μμ »
Καλησπέρα σας και ευχαριστώ πολύ για το υλικό που μοιράζεστε μαζί μας.
Θα ήθελα μια απάντηση από κάποιους που έχουν εμπειρία σε βαθμολογικά.
Έστω ότι στις εξετάσεις ζητάει συνάρτηση η οποία να δίνει το  μεγαλύτερο μεταξύ δύο αριθμών ή τον ίδιο τον αριθμό αν οι αριθμοί είναι ίσοι.
Έστω λοιπόν οι παρακάτω απαντήσεις:

1η Απάντηση:

def max(a,b):
      if a>b:
         return a
      return b

2η Απάντηση:

def max(a,b):
      if a>b:
         return a
      else:
         return b

2η Απάντηση:

def max(a,b):
      if a>b:
         return a
      elif b>a:
         return b
      else:
         return a

Θα έπαιρναν άριστα και οι τρεις απαντήσεις;

Ευχαριστώ

taxata

  • Βετεράνος
  • ****
  • Μηνύματα: 91
  • Live long and prosper \\//
    • Πληροφορική στο ΕΠΑΛ
Απ: Σχετικά με τη βαθμολογία
« Απάντηση #1 στις: 12 Μάι 2018, 08:52:37 πμ »
Η απάντηση στην ερώτησή σου είναι ΝΑΙ . Ζητείται ορθή αλγοριθμική προσέγγιση και όχι η βέλτιστη ή πιο έξυπνη.
Αυτή που θα προκαλούσε συζήτηση είναι η:
Κώδικας: Python
  1. def max(a,b):
  2.     if a > b:return a
  3.     if b > a:return b
  4.     if a == b:return a
  5.  
ή ακόμα περισσότερο η
Κώδικας: Python
  1. def max(a,b):
  2.     if a > b:temp = a
  3.     if b > a:temp = b
  4.     if a == b:temp = a
  5.     return temp
  6.  
Σε εργαστηριακές ασκήσεις καλό ήταν να αποφεύγαμε βέβαια το όνομα max καθόσον είναι <built-in function>
« Τελευταία τροποποίηση: 12 Μάι 2018, 09:34:24 πμ από taxata »
Τάσος_Χατζηπαπαδόπουλος
http://users.sch.gr/chatzipap/

Λαμπράκης Μανώλης

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 633
Απ: Σχετικά με τη βαθμολογία
« Απάντηση #2 στις: 12 Μάι 2018, 09:30:31 πμ »
Καλημέρα σε όλους

Να ρωτήσω, η πρώτη λύση είναι σίγουρα σωστή ;; αν δώσουμε 7 και 5 πχ,πως θα γίνει η επιστροφή ;; γιατί ισχύει το if και θα πάει και στην κάτω εντολή ...

taxata

  • Βετεράνος
  • ****
  • Μηνύματα: 91
  • Live long and prosper \\//
    • Πληροφορική στο ΕΠΑΛ
Απ: Σχετικά με τη βαθμολογία
« Απάντηση #3 στις: 12 Μάι 2018, 09:41:05 πμ »
μάλλον είχες στο μυαλό σου αυτό
Κώδικας: Python
  1. def max(a,b):
  2.     temp = a
  3.     if b > a:
  4.         temp = b
  5.     return temp
  6.  
στο return ο δείκτης εκτέλεσης επιστρέφει στο κύριο πρόγραμμα δεν συνεχίζει
Τάσος_Χατζηπαπαδόπουλος
http://users.sch.gr/chatzipap/

mpapafoti

  • Νέος
  • *
  • Μηνύματα: 9
Απ: Σχετικά με τη βαθμολογία
« Απάντηση #4 στις: 28 Μάι 2018, 09:33:31 μμ »
Ευχαριστώ

seibei

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 285
Απ: Σχετικά με τη βαθμολογία
« Απάντηση #5 στις: 07 Ιούν 2018, 12:31:21 πμ »
Η απάντηση στην ερώτησή σου είναι ΝΑΙ . Ζητείται ορθή αλγοριθμική προσέγγιση και όχι η βέλτιστη ή πιο έξυπνη.
Αυτή που θα προκαλούσε συζήτηση είναι η:
Κώδικας: Python
  1. def max(a,b):
  2.     if a > b:return a
  3.     if b > a:return b
  4.     if a == b:return a
  5.  
ή ακόμα περισσότερο η
Κώδικας: Python
  1. def max(a,b):
  2.     if a > b:temp = a
  3.     if b > a:temp = b
  4.     if a == b:temp = a
  5.     return temp
  6.  
Σε εργαστηριακές ασκήσεις καλό ήταν να αποφεύγαμε βέβαια το όνομα max καθόσον είναι <built-in function>

Ριψοκίνδυνη, , άσχημη αλλά σωστή. Κάνει την δουλειά που ζητήθηκε. Πρέπει να βαθμολογηθεί ως σωστή κατά την γνώμη  μου.