Τώρα είναι Τετ 06 Νοέμ 2024 11:10 am

Όλοι οι χρόνοι είναι UTC + 2 ώρες [ DST ]




Δημιουργία νέου θέματος Απαντήστε στο θέμα  [ 2 Δημοσιεύσεις ] 
Συγγραφέας Μήνυμα
 Θέμα δημοσίευσης: Υπολογισμός βαθμού
ΔημοσίευσηΔημοσιεύτηκε: Δευτ 22 Μαρ 2004 10:25 pm 
! Programma pou zita ton vathmo 2 vathmologiton se ena mathima.. kanei elegho αν yparhei
!apoklisi pano από 12 monades και αν nai, zita vathmo από anavathmologiti (και stous 3 vathmous
!ginetai elghos orthis kataxorisis). O telikos vathmos ypologizetai os mo ton 2 proton vathmologiton
!an exoun apoklisi <=12 monadon, allios o mo einai και ton 3 vathmon- symfona με ti nea rythmisi 2004
!to πρόγραμμα na ginei με xrisi ypoprogrammaton, 2 diadikasies για eisagogi dedomenon και eksagogi
! και mia synartisi για ton ypologismo toy mo

Syntax: [ Download ] [ Hide ]
ΠΡΟΓΡΑΜΜΑ vathmoi
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: avath, bvath, cvath
  ΠΡΑΓΜΑΤΙΚΕΣ: tb
  ΛΟΓΙΚΕΣ: FLAG

ΑΡΧΗ
  ΚΑΛΕΣΕ eisagogi(avath, bvath, cvath, flag)
  TB <-- ΜΟ(AVATH, BVATH, CVATH, FLAG)
  ΚΑΛΕΣΕ EKSAGOGI(avath, bvath, cvath, tb, flag)
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ vathmoi

ΔΙΑΔΙΚΑΣΙΑ eisagogi(a,b,c, done)
ΜΕΤΑΒΛΗΤΕΣ
  ΛΟΓΙΚΕΣ: done
  ΑΚΕΡΑΙΕΣ: a,b,c
ΑΡΧΗ
  done <-- ΨΕΥΔΗΣ
  ΓΡΑΨΕ 'dose ton vathmo toy a vathmologiti'
  ΔΙΑΒΑΣΕ a
  ΟΣΟ (a<0) Ή (a>100) ΕΠΑΝΑΛΑΒΕ
    ΓΡΑΨΕ 'edoses lathos arithmo ksanaprospathise'
    ΔΙΑΒΑΣΕ a
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ 'dose ton vathmo toy b vathmologiti'
  ΔΙΑΒΑΣΕ b
  ΟΣΟ (b<0) Ή (b>100) ΕΠΑΝΑΛΑΒΕ
    ΓΡΑΨΕ 'edoses lathos arithmo ksanaprospathise'
    ΔΙΑΒΑΣΕ b
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΑΝ Α_Τ(a-b)>12 ΤΟΤΕ
    done <-- ΑΛΗΘΗΣ
    ΓΡΑΨΕ 'dose ton vathmo toy  Anavathmologiti'
    ΔΙΑΒΑΣΕ c
    ΟΣΟ (c<0) Ή (c>100) ΕΠΑΝΑΛΑΒΕ
      ΓΡΑΨΕ 'edoses lathos arithmo ksanaprospathise'
      ΔΙΑΒΑΣΕ c
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

ΣΥΝΑΡΤΗΣΗ ΜΟ(d,e,f,g): ΠΡΑΓΜΑΤΙΚΗ
ΜΕΤΑΒΛΗΤΕΣ
  ΛΟΓΙΚΕΣ: g
  ΑΚΕΡΑΙΕΣ: d,e,f
ΑΡΧΗ
  ΑΝ g=ΨΕΥΔΗΣ ΤΟΤΕ
    ΜΟ <-- (d+e)/2
  ΑΛΛΙΩΣ
    ΜΟ <-- (d+e+f)/3
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

ΔΙΑΔΙΚΑΣΙΑ eksagogi(h,i,j,k,l)
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: h,i,j
  ΠΡΑΓΜΑΤΙΚΕΣ: k
  ΛΟΓΙΚΕΣ: l
ΑΡΧΗ
  ΑΝ l=ΨΕΥΔΗΣ ΤΟΤΕ
    ΓΡΑΨΕ  'A VATHMOLOGITIS  ',H,'  B VATHMOLOGITIS ',I,'  TELIKOS VATHMOS ',K
  ΑΛΛΙΩΣ
    ΓΡΑΨΕ  'A VATHMOLOGITIS  ',H,'  B VATHMOLOGITIS ',I,' G VATHMOLOGITIS ',J,'  TELIKOS VATHMOS ',K
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
 


Κορυφή
  
Απάντηση με παράθεση  
 Θέμα δημοσίευσης: Τροποποίηση προγράμματος
ΔημοσίευσηΔημοσιεύτηκε: Τρί 23 Μαρ 2004 02:36 pm 
Χωρίς σύνδεση

Εγγραφή: Κυρ 15 Φεβ 2004 09:10 pm
Δημοσιεύσεις: 18
Τοποθεσία: Ενιαίο Λύκειο Χιλιομοδίου Κορινθίας
Αγαπητέ επισκέπτη,

Το υποπρόγραμμά σου είναι αξιόλογο και φυσικά δουλεύει σωστά, ωστόσο θα μου επιτρέψεις με κάθε σεβασμό στη δουλειά σου να προτείνω κάποιες βελτιώσεις :wink:

Η διαδικασία εισαγωγής των δεδομένων μπορεί να σπάσει σε κομμάτια αφού ένα υποπρόγραμμα πρέπει σύμφωνα με το βιβλίο να μην είναι πολύ μεγάλο και να εκτελεί μόνο μια λειτουργία.

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

Το αποτέλεσμα είναι το εξής:

Syntax: [ Download ] [ Hide ]
ΠΡΟΓΡΑΜΜΑ vathmoi
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: avath, bvath, cvath
  ΠΡΑΓΜΑΤΙΚΕΣ: tb
  ΛΟΓΙΚΕΣ: FLAG

ΑΡΧΗ
  ΚΑΛΕΣΕ eisagogi(avath)
  ΚΑΛΕΣΕ eisagogi(bvath)
  ΑΝ Check_Dif(avath, bvath)=ΨΕΥΔΗΣ ΤΟΤΕ
    ΓΡΑΨΕ 'Αναβαθμολόγηση'
    ΚΑΛΕΣΕ eisagogi(cvath)
    flag <-- ΨΕΥΔΗΣ
  ΤΕΛΟΣ_ΑΝ
  TB <-- ΜΟ(AVATH, BVATH, CVATH, FLAG)
  ΚΑΛΕΣΕ EKSAGOGI(avath, bvath, cvath, tb, flag)
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ vathmoi

!==============================================
ΔΙΑΔΙΚΑΣΙΑ eisagogi(bath)
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: bath
ΑΡΧΗ
  ΓΡΑΨΕ 'Δώσε Βαθμό'
  ΔΙΑΒΑΣΕ bath
  ΟΣΟ (bath < 0) Ή (bath > 100) ΕΠΑΝΑΛΑΒΕ
    ΓΡΑΨΕ 'Λάθος βαθμός, επανάληψη'
    ΔΙΑΒΑΣΕ bath
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
!==============================================
ΣΥΝΑΡΤΗΣΗ ΜΟ(d,e,f,g): ΠΡΑΓΜΑΤΙΚΗ
ΜΕΤΑΒΛΗΤΕΣ
  ΛΟΓΙΚΕΣ: g
  ΑΚΕΡΑΙΕΣ: d,e,f
ΑΡΧΗ
  ΑΝ g=ΨΕΥΔΗΣ ΤΟΤΕ
    ΜΟ <-- (d+e)/2
  ΑΛΛΙΩΣ
    ΜΟ <-- (d+e+f)/3
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
!==============================================
ΔΙΑΔΙΚΑΣΙΑ eksagogi(h,i,j,k,l)
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: h,i,j
  ΠΡΑΓΜΑΤΙΚΕΣ: k
  ΛΟΓΙΚΕΣ: l
ΑΡΧΗ
  ΑΝ l=ΨΕΥΔΗΣ ΤΟΤΕ
    ΓΡΑΨΕ  'A βαθμολογητής  ',H,'  B βαθμολογητής ',I,'  τελικός βαθμός',K
  ΑΛΛΙΩΣ
    ΓΡΑΨΕ  'A βαθμολογητής  ',H,'  B βαθμολογητής ',I,' Αναβαθμολογητής ',J,' τελικός βαθμός ',K
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
!==============================================
ΣΥΝΑΡΤΗΣΗ Check_Dif(a,b): ΛΟΓΙΚΗ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: a,b
ΑΡΧΗ
  ΑΝ Α_Τ(a-b)>12 ΤΟΤΕ
    Check_Dif <-- ΨΕΥΔΗΣ
  ΑΛΛΙΩΣ
    Check_Dif <-- ΑΛΗΘΗΣ
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
!==============================================


 


Με εκτίμηση :) ,


Κορυφή
 Προφίλ  
Απάντηση με παράθεση  
Τελευταίες δημοσιεύσεις:  Ταξινόμηση ανά  
Δημιουργία νέου θέματος Απαντήστε στο θέμα  [ 2 Δημοσιεύσεις ] 

Όλοι οι χρόνοι είναι UTC + 2 ώρες [ DST ]


Μέλη σε σύνδεση

Μέλη σε αυτή την Δ. Συζήτηση : Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης


Δεν μπορείτε να δημοσιεύετε νέα θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να απαντάτε σε θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να επεξεργάζεστε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να διαγράφετε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να επισυνάπτετε αρχεία σε αυτή τη Δ. Συζήτηση

Αναζήτηση για:
Μετάβαση σε:  
cron
Προβολές: