Τώρα είναι Πέμ 28 Μαρ 2024 11:20 am

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




Δημιουργία νέου θέματος Απαντήστε στο θέμα  [ 1 Δημοσίευση ] 
Συγγραφέας Μήνυμα
ΔημοσίευσηΔημοσιεύτηκε: Τετ 18 Φεβ 2004 05:48 am 
Χωρίς σύνδεση

Εγγραφή: Παρ 14 Μαρ 2003 06:19 pm
Δημοσιεύσεις: 14
Εδώ έχουμε τρεις πίνακες με στοιχεία: Ονομα, Σχολείο και Βαθμός. Ο χρήστης επιλέγει με ποια ταξινόμηση θα δει τα στοιχεία. Προσοχή, οι τρεις πίνακες αναφέρονται στα στοιχεία των ίδιων μαθητών. Αυτό σημαίνει ότι αν ο πίνακας Ονομα περιέχει το όνομα ενός μαθητή στην τρίτη του θέση, τότε ο πίνακας Σχολείο περιέχει το σχολείο του ίδιου μαθητή στην τρίτη του θέση και ο πίνακας Βαθμός περιέχει το βαθμό του ίδιου μαθητή στην τρίτη του θέση. Αρα, αν ταξινομήσω κάποιον από τους τρεις πίνακες θα πρέπει τη στιγμή που κάνω αντιμετάθεση στα στοιχεία του, να αντιμεταθέτω και τα στοιχεία των άλλων δύο πινάκων. Προσωπικά ονομάζω αυτούς τους πίνακες "συνδεόμενους", και έχω δει ότι έτσι οι μαθητές το κατανοούν καλύτερα.
Syntax: [ Download ] [ Hide ]
!============================================================
! Να γραφεί πρόγραμμα το οποίο να ζητά από το χρήστη:
! τα ονόματα n μαθητών (2-10), το όνομα του σχολείου τους
! και το βαθμό που έγραψαν σε ένα διαγώνισμα και να
! εμφανίζει όλα τα παραπάνω στοιχεία ταξινομημένα κατά
! όνομα μαθητή, όνομα σχολείου ή βαθμό, ανάλογα με την
! επιλογή του χρήστη.
!============================================================
! (panos giannakopoulos)
!============================================================

ΠΡΟΓΡΑΜΜΑ Στοιχεία_Μαθητών
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: i, j, n, Βαθμός[10], temp_Βαθμός
  ΧΑΡΑΚΤΗΡΕΣ: Ονομα[10], temp_Ονομα, Σχολείο[10], temp_Σχολείο, Ταξινόμηση, Answer
ΑΡΧΗ

  ! Εισαγωγή των στοιχείων των μαθητών από το χρήστη.
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΡΑΨΕ 'Παρακαλώ δώσε τον αριθμό των μαθητών για ταξινόμηση:'
    ΔΙΑΒΑΣΕ n
  ΜΕΧΡΙΣ_ΟΤΟΥ  (n >=0)

  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ n
    ΓΡΑΨΕ 'Δώσε το όνομα του μαθητή Νο : ', i
    ΔΙΑΒΑΣΕ Ονομα[i]
    ΓΡΑΨΕ 'Δώσε το σχολείο του μαθητή Νο : ', i
    ΔΙΑΒΑΣΕ Σχολείο[i]
    ΓΡΑΨΕ 'Δώσε το βαθμό του μαθητή Νο : ', i
    ΔΙΑΒΑΣΕ Βαθμός[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
      ΓΡΑΨΕ 'Σε ποιον πίνακα θέλετε να γίνει ταξινόμηση;'
      ΓΡΑΨΕ 'Απάντηση μορφής: Ονομα, Σχολείο, Βαθμό'
      ΔΙΑΒΑΣΕ Ταξινόμηση
    ΜΕΧΡΙΣ_ΟΤΟΥ (Ταξινόμηση='Ονομα') Η (Ταξινόμηση='Σχολείο') Η (Ταξινόμηση='Βαθμό')

    ! Ταξινόμηση των στοιχείων των μαθητών κατά Ονομα.
    ΑΝ Ταξινόμηση='Ονομα' ΤΟΤΕ
      ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ n
        ΓΙΑ j ΑΠΟ n ΜΕΧΡΙ i ΜΕ ΒΗΜΑ -1
          ΑΝ Ονομα[j-1] > Ονομα[j] ΤΟΤΕ
            temp_Ονομα <-- Ονομα[j-1]
            Ονομα[j-1] <-- Ονομα[j]
            Ονομα[j]   <-- temp_Ονομα

            temp_Σχολείο <-- Σχολείο[j-1]
            Σχολείο[j-1] <-- Σχολείο[j]
            Σχολείο[j]   <-- temp_Σχολείο

            temp_Βαθμός <-- Βαθμός[j-1]
            Βαθμός[j-1] <-- Βαθμός[j]
            Βαθμός[j]   <-- temp_Βαθμός
          ΤΕΛΟΣ_ΑΝ
        ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

      ΓΡΑΨΕ 'Τα στοιχεία των μαθητών ταξινομημένα κατά Ονομα είναι:'
      ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ n
        ΓΡΑΨΕ Ονομα[i], ' ', Σχολείο[i], ' ', Βαθμός[i]
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΤΕΛΟΣ_ΑΝ

    ! Ταξινόμηση των στοιχείων των μαθητών κατά Σχολείο.
    ΑΝ Ταξινόμηση='Σχολείο' ΤΟΤΕ
      ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ n
        ΓΙΑ j ΑΠΟ n ΜΕΧΡΙ i ΜΕ ΒΗΜΑ -1
          ΑΝ Σχολείο[j-1] > Σχολείο[j] ΤΟΤΕ
            temp_Ονομα <-- Ονομα[j-1]
            Ονομα[j-1] <-- Ονομα[j]
            Ονομα[j]   <-- temp_Ονομα

            temp_Σχολείο <-- Σχολείο[j-1]
            Σχολείο[j-1] <-- Σχολείο[j]
            Σχολείο[j]   <-- temp_Σχολείο

            temp_Βαθμός <-- Βαθμός[j-1]
            Βαθμός[j-1] <-- Βαθμός[j]
            Βαθμός[j]   <-- temp_Βαθμός
          ΤΕΛΟΣ_ΑΝ
        ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

      ΓΡΑΨΕ 'Τα στοιχεία των μαθητών ταξινομημένα κατά Σχολείο είναι:'
      ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ n
        ΓΡΑΨΕ Ονομα[i], ' ', Σχολείο[i], ' ', Βαθμός[i]
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΤΕΛΟΣ_ΑΝ

    ! Ταξινόμηση των στοιχείων των μαθητών κατά Βαθμό.
    ΑΝ Ταξινόμηση='Βαθμό' ΤΟΤΕ
      ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ n
        ΓΙΑ j ΑΠΟ n ΜΕΧΡΙ i ΜΕ ΒΗΜΑ -1
          ΑΝ Βαθμός[j-1] > Βαθμός[j] ΤΟΤΕ
            temp_Ονομα <-- Ονομα[j-1]
            Ονομα[j-1] <-- Ονομα[j]
            Ονομα[j]   <-- temp_Ονομα

            temp_Σχολείο <-- Σχολείο[j-1]
            Σχολείο[j-1] <-- Σχολείο[j]
            Σχολείο[j]   <-- temp_Σχολείο

            temp_Βαθμός <-- Βαθμός[j-1]
            Βαθμός[j-1] <-- Βαθμός[j]
            Βαθμός[j]   <-- temp_Βαθμός
          ΤΕΛΟΣ_ΑΝ
        ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

      ΓΡΑΨΕ 'Τα στοιχεία των μαθητών ταξινομημένα κατά Βαθμό είναι:'
      ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ n
        ΓΡΑΨΕ Ονομα[i], ' ', Σχολείο[i], ' ', Βαθμός[i]
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΤΕΛΟΣ_ΑΝ

    ΓΡΑΨΕ 'Θέλετε να συνεχίσετε; (ναι/όχι)'
    ΔΙΑΒΑΣΕ Answer
  ΜΕΧΡΙΣ_ΟΤΟΥ (Answer = 'όχι')

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Στοιχεία_Μαθητών
 


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

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


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

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


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

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