Σχετικά με τη βαθμολογία

Ξεκίνησε από mpapafoti, 11 Μαΐου 2018, 07:26:12 ΜΜ

« προηγούμενο - επόμενο »

mpapafoti

Καλησπέρα σας και ευχαριστώ πολύ για το υλικό που μοιράζεστε μαζί μας.
Θα ήθελα μια απάντηση από κάποιους που έχουν εμπειρία σε βαθμολογικά.
Έστω ότι στις εξετάσεις ζητάει συνάρτηση η οποία να δίνει το  μεγαλύτερο μεταξύ δύο αριθμών ή τον ίδιο τον αριθμό αν οι αριθμοί είναι ίσοι.
Έστω λοιπόν οι παρακάτω απαντήσεις:

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

#1
Η απάντηση στην ερώτησή σου είναι ΝΑΙ . Ζητείται ορθή αλγοριθμική προσέγγιση και όχι η βέλτιστη ή πιο έξυπνη.
Αυτή που θα προκαλούσε συζήτηση είναι η:
Κώδικας: python
def max(a,b):
    if a > b:return a
    if b > a:return b
    if a == b:return a

ή ακόμα περισσότερο η
Κώδικας: python
def max(a,b):
    if a > b:temp = a
    if b > a:temp = b
    if a == b:temp = a
    return temp

Σε εργαστηριακές ασκήσεις καλό ήταν να αποφεύγαμε βέβαια το όνομα max καθόσον είναι <built-in function>
Τάσος_Χατζηπαπαδόπουλος
Κύριε δεν έχω internet
http://users.sch.gr/chatzipap/

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

Καλημέρα σε όλους

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

taxata

μάλλον είχες στο μυαλό σου αυτό
Κώδικας: python
def max(a,b):
    temp = a
    if b > a:
        temp = b
    return temp

στο return ο δείκτης εκτέλεσης επιστρέφει στο κύριο πρόγραμμα δεν συνεχίζει
Τάσος_Χατζηπαπαδόπουλος
Κύριε δεν έχω internet
http://users.sch.gr/chatzipap/

mpapafoti


seibei

Παράθεση από: taxata στις 12 Μαΐου 2018, 08:52:37 ΠΜ
Η απάντηση στην ερώτησή σου είναι ΝΑΙ . Ζητείται ορθή αλγοριθμική προσέγγιση και όχι η βέλτιστη ή πιο έξυπνη.
Αυτή που θα προκαλούσε συζήτηση είναι η:
Κώδικας: python
def max(a,b):
    if a > b:return a
    if b > a:return b
    if a == b:return a

ή ακόμα περισσότερο η
Κώδικας: python
def max(a,b):
    if a > b:temp = a
    if b > a:temp = b
    if a == b:temp = a
    return temp

Σε εργαστηριακές ασκήσεις καλό ήταν να αποφεύγαμε βέβαια το όνομα max καθόσον είναι <built-in function>

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