Πρόσληψη δακτυλογράφου(Άσκηση με κλήση πολλών υποπρογραμμάτων)

Ξεκίνησε από nikolasmer, 29 Μαρ 2013, 01:30:23 ΠΜ

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

nikolasmer

Ελπίζω από την εκφώνηση να καταλάβει κανείς το τι θέλω το πρόγραμμα να κάνει! :D
Επίσης θέλω να πιστεύω πως το παρακάτω σίγουρα τρέχει:

ΠΡΟΣΛΑΜΒΑΝΕΤΑΙ <- ΟΝ[ΣΥΝ3(ΓΙΝΟΜΕΝΟ)]

(κλήση συνάρτησης ως δείκτης σε πίνακα, φυσικά με ακέραιο αποτέλεσμα)
Μερεντίτης Νικόλαος
Πληροφορικός

Νίκος Αδαμόπουλος


nikolasmer

Μερεντίτης Νικόλαος
Πληροφορικός

nikolasmer

Προσπάθησα να εκτελέσω το αντίθετο
ΟΝ[ΣΥΝ3(ΓΙΝΟΜΕΝΟ)] <- ΠΡΟΣΛΑΜΒΑΝΕΤΑΙ

αλλά δεν γίνεται. Εφόσον το αποτέλεσμα της κλήσης της συνάρτησης είναι ακέραιος, γιατί μου βγάζει :
Δεν μπορείτε να χρησιμοποιήσετε το όνομα της συνάρτησης «Σ» στην αρχή μιας εντολής, παρά μόνο μέσα σε εκφράσεις.
ο διερμηνευτής;
???
Δεν είχα ιδέα οτι αυτό δεν εκτελείται!!
Μερεντίτης Νικόλαος
Πληροφορικός

nikolasmer

Θέλησα να δημιουργήσω συνάρτηση η οποία να δέχεται ενα πίνακα 5χ5 και τον αριθμό μιας γραμμής και να μου επιστρέφει τη θέση του μέγιστου στοιχείου της γραμμής του πίνακα. Στη συνέχεια σε πρόγραμμα να ταξινομώ κατα αύξουσα σειρά τα μέγιστα στοιχεία κάθε γραμμής του πίνακα, με τη βοήθεια της συνάρτησης. Εφόσον λόγω του παραπάνω μου βγάζει συντακτικό λάθος ο διερμηνευτής της γλώσσας,κατα την αντιμετάθεση των στοιχείων, τροποποιώντας τον κώδικα και χρησιμοποιώντας τις βοηθητικές μεταβλητές Κ και Λ τρέχει. Αλλά τα αποτελέσματα δεν είναι τα αναμενόμενα. Νομίζω πως το πρόβλημα είναι να ξαναεισάγω τις καινούριες τιμές του Κ και Λ στις θέσεις των μέγιστων. Δηλάδή μετά το Τέλος_αν μέσα στην Ταξινόμηση να έχω εντολές του στυλ
ΒΑΘ[J - 1, Σ(ΒΑΘ, J - 1)] <- Κ
ΒΑΘ[J, Σ(ΒΑΘ, J)] <- Λ
πράγμα που προφανώς δε γίνεται και δεν έχω ιδέα το τι μπορώ να κάνω.
Αν μπορεί κάποιος ας βοηθήσει γιατί σκάω :(.

Ο κώδικας:
ΠΡΟΓΡΑΜΜΑ Α2
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: I, J, ΒΑΘ[5, 5], TEMP, Κ, Λ
ΑΡΧΗ
  ΓΙΑ I ΑΠΟ 1 ΜΕΧΡΙ 5
    ΓΙΑ J ΑΠΟ 1 ΜΕΧΡΙ 5
      ΔΙΑΒΑΣΕ ΒΑΘ[I, J] 
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΙΑ I ΑΠΟ 2 ΜΕΧΡΙ 5
    ΓΙΑ J ΑΠΟ 5 ΜΕΧΡΙ I ΜΕ_ΒΗΜΑ -1
      Κ <- ΒΑΘ[J - 1, Σ(ΒΑΘ, J - 1)] 
      Λ <- ΒΑΘ[J, Σ(ΒΑΘ, J)] 
      ΑΝ Κ > Λ ΤΟΤΕ
        TEMP <- Κ
        Κ <- Λ
        Λ <- TEMP
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΙΑ I ΑΠΟ 1 ΜΕΧΡΙ 5
    ΓΡΑΨΕ ΒΑΘ[I, Σ(ΒΑΘ, I)] 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΣΥΝΑΡΤΗΣΗ Σ(Π, ΓΡ): ΑΚΕΡΑΙΑ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ΜΑΧ, Π[5, 5], Θ, J, ΓΡ
ΑΡΧΗ
  ΜΑΧ <- Π[ΓΡ, 1] 
  Θ <- 1
  ΓΙΑ J ΑΠΟ 2 ΜΕΧΡΙ 5
    ΑΝ Π[ΓΡ, J] > ΜΑΧ ΤΟΤΕ
      ΜΑΧ <- Π[ΓΡ, J] 
      Θ <- J
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  Σ <- Θ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
   
Μερεντίτης Νικόλαος
Πληροφορικός

alkisg

Παράθεση από: nikolasmer στις 30 Μαρ 2013, 11:07:39 ΠΜ
Προσπάθησα να εκτελέσω το αντίθετο
ΟΝ[ΣΥΝ3(ΓΙΝΟΜΕΝΟ)] <- ΠΡΟΣΛΑΜΒΑΝΕΤΑΙ

αλλά δεν γίνεται. Εφόσον το αποτέλεσμα της κλήσης της συνάρτησης είναι ακέραιος, γιατί μου βγάζει :
Δεν μπορείτε να χρησιμοποιήσετε το όνομα της συνάρτησης «Σ» στην αρχή μιας εντολής, παρά μόνο μέσα σε εκφράσεις.
ο διερμηνευτής;
???
Δεν είχα ιδέα οτι αυτό δεν εκτελείται!!

Bug του Διερμηνευτή. Το σημειώνω, θα λυθεί στην επόμενη έκδοση η οποία θα βγει μάλλον αρχές Σεπτεμβρίου. Ευχαριστώ. :)

nikolasmer

Άλλο ενα Θέμα Δ για επαναληπτικό διαγώνισμα.
Μήπως θα μπορούσε κάποιος να μου απαντήσει τί Πολυπλοκότητας είναι το πρόγραμμα που δημιουργείται ή γενικότερα πώς υπολογίζω την πολυπλοκότητα ενός αλγορίθμου γιατί είμαι εντελώς ανίδεος;! :-[
Μερεντίτης Νικόλαος
Πληροφορικός

nikolasmer

Μια ενδεικτική λύση του παραπάνω προβλήματος (οχι με τρισδιάστατους πίνακες, για να είναι και μέσα στα πλαίσια της ύλης).
Μερεντίτης Νικόλαος
Πληροφορικός

nikolasmer

Ένα επαναληπτικό διαγώνισμα σε όλη την ύλη.
Οι παρατηρήσεις σας για τυχόν ασάφειες ή παραλήψεις και γενικότερα αστοχίες είναι πολύ σημαντικές για μένα.
Θα ήθελα ενα σχολιασμό πάνω στο Θέμα.
Μερεντίτης Νικόλαος
Πληροφορικός

petrosp13

Θα έλεγα να μην αγγίξεις το θέμα δτων διαφορών διαδικασιών-συναρτήσεων, μια και δεν προσδιορίζεται στο βιβλίο με σαφήνεια
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

nikolasmer

Να το σβήσω και να αφήσω τα άλλα 2 θέματα θεωρίας ή να την αλλάξω εντελώς; Έχω ξεμείνει από ιδέες.
Μερεντίτης Νικόλαος
Πληροφορικός

nikolasmer

Καλημέρα σε όλους.
Ήθελα να ρωτήσω αν το παρακάτω παίζει και κάνει αυτό που πρέπει να κάνει.
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 10
ΚΑΛΕΣΕ ΔΙΑΔ(Χ, Ψ[Ι],Ζ[Ι])
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ


όπου Χ πίνακας ως είσοδο και Ψ  και Ζ στοιχεία άλλων πινάκων ως έξοδο.
Μερεντίτης Νικόλαος
Πληροφορικός

panastros

Παράθεση από: nikolasmer στις 08 Απρ 2013, 12:28:53 ΠΜ
Ένα επαναληπτικό διαγώνισμα σε όλη την ύλη.
Οι παρατηρήσεις σας για τυχόν ασάφειες ή παραλήψεις και γενικότερα αστοχίες είναι πολύ σημαντικές για μένα.
Θα ήθελα ενα σχολιασμό πάνω στο Θέμα.

Στο Α4 και οι δυο για πρέπει να φτάνουν ως το 5. Αλλιώς βγαίνεις εκτός πίνακα...

nikolasmer

Παράθεση από: panastros στις 16 Απρ 2013, 10:49:15 ΠΜ
Στο Α4 και οι δυο για πρέπει να φτάνουν ως το 5. Αλλιώς βγαίνεις εκτός πίνακα...

Έχεις δίκαιο. Στο διερμηνευτή το είχα κάνει για πίνακα 10 θέσεων και αργότερα αποφάσισα να μη βάλω τους μαθητές να ταλαιπωρούνται τόσο. Δε θα το παρατηρούσα.Χίλια ευχαριστώ panastros.
Μερεντίτης Νικόλαος
Πληροφορικός

gthal

Και στη διατύπωση του Α4:
"Να αναφέρεται συνοπτικά τη λειτουργία ..."
εννοείς "Να αναφέρετε συνοπτικά τη λειτουργία ..."
και ακόμα καλύτερα "Να περιγράψετε συνοπτικά τη λειτουργία ..."
Επίσης, ξεκαθάρισε πιο πολύ τι περιμένεις εδώ: η απάντηση "ταξινομεί τον πίνακα" σου αρκεί; ή θέλεις μια απάντηση του στυλ "βρίσκει κάθε φορά το μέγιστο ενός τμήματος του πίνακα και το ανταλλάσσει με το πρώτο στοιχείο ... κλπ"
Φιλικά,
Γιώργος Θαλασσινός