Το Στέκι των Πληροφορικών

Επαγγελματικό Λύκειο => Γενικά => Μήνυμα ξεκίνησε από: mpapafoti στις 11 Μάι 2018, 07:26:12 μμ

Τίτλος: Σχετικά με τη βαθμολογία
Αποστολή από: mpapafoti στις 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 στις 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:30:31 πμ
Καλημέρα σε όλους

Να ρωτήσω, η πρώτη λύση είναι σίγουρα σωστή ;; αν δώσουμε 7 και 5 πχ,πως θα γίνει η επιστροφή ;; γιατί ισχύει το if και θα πάει και στην κάτω εντολή ...
Τίτλος: Απ: Σχετικά με τη βαθμολογία
Αποστολή από: taxata στις 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 ο δείκτης εκτέλεσης επιστρέφει στο κύριο πρόγραμμα δεν συνεχίζει
Τίτλος: Απ: Σχετικά με τη βαθμολογία
Αποστολή από: mpapafoti στις 28 Μάι 2018, 09:33:31 μμ
Ευχαριστώ
Τίτλος: Απ: Σχετικά με τη βαθμολογία
Αποστολή από: seibei στις 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>

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