Βοήθεια/Απορίες στην ΑΕΠΠ - Ασκήσεις

Τι πιστεύετε για την ΑΕΠΠ;

Αποτελέσματα της δημοσκόπησης (Ψήφισαν 53)
  • Εύκολη

    Ψήφοι: 30 56.6%
  • Δύσκολη

    Ψήφοι: 23 43.4%
  • ΔΞ/ΔΑ

    Ψήφοι: 0 0.0%

Chris1993

Περιβόητο μέλος

Ο Χρήστος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 31 ετών, Μεταπτυχιούχος και μας γράφει απο Αθήνα (Αττική). Έχει γράψει 4,920 μηνύματα.
Σ'ευχαριστώ πολύ αλλά εννοούσα όταν σε ένα πρόγραμμα έχει τουλάχιστον ένα τέτοιο ζευγάρι ΓΡΑΨΕ-ΔΙΑΒΑΣΕ το ένα κάτω από το άλλο για παράδειγμα

ΠΡΟΓΡΑΜΜΑ πίτσα
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: i, τμχ
ΠΡΑΓΜΑΤΙΚΕΣ: ποσό
ΧΑΡΑΚΤΗΡΕΣ: απάντηση, υλικό
ΑΡΧΗ
! Αρχικά μηδενίζουμε το πληρωτέο ποσό
ποσό <- 0

ΓΡΑΨΕ 'Πόσες πίτσες θα παραγγείλετε;'
ΔΙΑΒΑΣΕ τμχ

! Ξεκινάμε μια επανάληψη τόσες φορές όσες είναι και οι πίτσες.
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ τμχ

! Κάθε πίτσα κοστίζει 5 ευρώ. Επομένως αύξησε το πληρωτέο ποσό κατά 5
ποσό <- ποσό + 5
ΓΡΑΨΕ 'Πίτσα #', i

ΓΡΑΨΕ 'Θέλετε κάποιο υλικό;'
ΔΙΑΒΑΣΕ απάντηση
! Ξεκίνα μια δεύτερη επανάληψη για τα υλικά της κάθε πίτσας
! Ο αριθμός των υλικών είναι άγνωστος, για το λόγο ΔΕΝ χρησιμοποιώ εντολή ΓΙΑ
ΟΣΟ απάντηση <> 'ΟΧΙ' ΕΠΑΝΑΛΑΒΕ
ΓΡΑΨΕ 'Εισαγετε το υλικό:'
ΔΙΑΒΑΣΕ υλικό
! Ανάλογα με το υλικό που διαβάσαμε, αυξάνουμε το πληρωτέο ποσό
ΕΠΙΛΕΞΕ υλικό
ΠΕΡΙΠΤΩΣΗ 'τυρί'
ποσό <- ποσό + 1
ΠΕΡΙΠΤΩΣΗ 'ντομάτα', 'πιπεριές', 'μανιτάρια'
ποσό <- ποσό + 0,50
ΠΕΡΙΠΤΩΣΗ 'καλαμπόκι', 'ελιές'
ποσό <- ποσό + 0,20
ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ

ΓΡΑΨΕ 'Θέλετε κάποιο άλλο υλικό;'
ΔΙΑΒΑΣΕ απάντηση
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΡΑΨΕ 'Η συνολική σας χρέωση είναι ', ποσό, ' ευρώ'
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Καταρχάς να σου υπενθυμίσω ότι τα σχόλια είναι προαιρετικά.

Αυτά είναι πολύ εισαγωγικά.
Και θέλει να σας βάλει στο νόημα του τι κάνει το πρόγραμμα.

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

Γενικά,οι ασκήσεις θα σου λένε τι ακριβώς να διαβάσεις και να εμφανίσεις.
Εσύ μόνο θα υλοποιείς το πρόγραμμα ή τον αλγόριθμο ώστε να διαβάσει τα δεδομένα, να κάνει τους σωστούς υπολογισμούς και να εμφανίζει τα αποτελέσματα.
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 10 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

ΙωάνναΚ19

Νεοφερμένος

Η ΙωάνναΚ19 αυτή τη στιγμή δεν είναι συνδεδεμένη. Είναι 30 ετών. Έχει γράψει 14 μηνύματα.
Καταρχάς να σου υπενθυμίσω ότι τα σχόλια είναι προαιρετικά.

Αυτά είναι πολύ εισαγωγικά.
Και θέλει να σας βάλει στο νόημα του τι κάνει το πρόγραμμα.

Δηλαδή τι εμφανίζεται στην οθόνη και πώς.
Και πως μπορούμε να δώσουμε δεδομένα στο πρόγραμμα.

Γενικά,οι ασκήσεις θα σου λένε τι ακριβώς να διαβάσεις και να εμφανίσεις.
Εσύ μόνο θα υλοποιείς το πρόγραμμα ή τον αλγόριθμο ώστε να διαβάσει τα δεδομένα, να κάνει τους σωστούς υπολογισμούς και να εμφανίζει τα αποτελέσματα.

Δηλαδή εννοείς ότι γράφουμε το ζευγάρι αυτό κάθε φορά που πρέπει να εισάγουμε δεδομένα στο πρόγραμμα? Αλλά τι στο περίπου θα ρωτάει η άσκηση ώστε να καταλάβουμε ότι πρέπει να εισάγουμε δεδομένα και συνεπώς να γράψουμε το ζευγάρι ΓΡΑΨΕ-ΔΙΑΒΑΣΕ?
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 10 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Chris1993

Περιβόητο μέλος

Ο Χρήστος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 31 ετών, Μεταπτυχιούχος και μας γράφει απο Αθήνα (Αττική). Έχει γράψει 4,920 μηνύματα.
Δηλαδή εννοείς ότι γράφουμε το ζευγάρι αυτό κάθε φορά που πρέπει να εισάγουμε δεδομένα στο πρόγραμμα? Αλλά τι στο περίπου θα ρωτάει η άσκηση ώστε να καταλάβουμε ότι πρέπει να εισάγουμε δεδομένα και συνεπώς να γράψουμε το ζευγάρι ΓΡΑΨΕ-ΔΙΑΒΑΣΕ?

Μην το παίρνεις έτσι σαν ζευγάρι.
Το ΓΡΑΨΕ κατά 99,9% το χρησιμοποιείς για να εμφανίσεις τιμές δεδομένων, όχι για ερωτήσεις.

Προσωπικά δεν έχω τύχει σε άσκηση που σου λέει πρίν από κάθε εντολή ΔΙΑΒΑΣΕ να κάνεις επεξηγηματική εντολή ΓΡΑΨΕ γιατί ουσιαστικά αυτό είναι!

Οι εντολές αυτές ΓΡΑΨΕ δεν επηρεάζουν το αποτέλεσμα- είναι απλά επεξηγηματικής φύσεως για να κατανοήσεις το όλο story. Είναι καθαρά προαιρετικές όπως και τα σχόλια.
Μόνο όταν θα σου λέει η άσκηση να εμφανίσεις κάτι θα χρησιμοποιείς την εντολή ΓΡΑΨΕ.

Δεν ξέρω αν γίνομαι κατανοητός.
Θα το καταλάβεις πάντως με τις ασκήσεις.

Αν έχεις κάποιο θέμα ως προς τις ασκήσεις, post-αρε εδώ.
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 10 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Τελευταία επεξεργασία:

ΙωάνναΚ19

Νεοφερμένος

Η ΙωάνναΚ19 αυτή τη στιγμή δεν είναι συνδεδεμένη. Είναι 30 ετών. Έχει γράψει 14 μηνύματα.
Μην το παίρνεις έτσι σαν ζευγάρι.
Το ΓΡΑΨΕ κατά 99,9% το χρησιμοποιείς για να εμφανίσεις τιμές δεδομένων, όχι για ερωτήσεις.

Προσωπικά δεν έχω τύχει σε άσκηση που σου λέει πρίν από κάθε εντολή ΔΙΑΒΑΣΕ να κάνεις επεξηγηματική εντολή ΓΡΑΨΕ γιατί ουσιαστικά αυτό είναι!

Οι εντολές αυτές ΓΡΑΨΕ δεν επηρεάζουν το αποτέλεσμα- είναι απλά επεξηγηματικής φύσεως για να κατανοήσεις το όλο story. Είναι καθαρά προαιρετικές όπως και τα σχόλια.
Μόνο όταν θα σου λέει η άσκηση να εμφανίσεις κάτι θα χρησιμοποιείς την εντολή ΓΡΑΨΕ.

Δεν ξέρω αν γίνομαι κατανοητός.
Θα το καταλάβεις πάντως με τις ασκήσεις.

Αν έχεις κάποιο θέμα ως προς τις ασκήσεις, post-αρε εδώ.

Η αλήθεια είναι πως κάτι έπιασα δηλαδή θα το έχω υπ' όψιν στις ασκήσεις με τους πίνακες, οι οποίες με δυσκολεύουν αρκετά και αγχώνομαι γιατί είναι standart-άκι 3ο-4ο θέμα πανελλήνιες. Επίσης έχω ένα άλλο θέμα στις ασκήσεις με πίνακες. Σε πολλές λυμένες ασκήσεις που μελέτησα ενώ δεν το λένε καθαρά ότι χρειάζεται να βρούμε το άθροισμα των στοιχείων ενός πίνακα το χρησιμοποιούν συνέχεια και δεν μπορώ να καταλάβω γιατί. για παράδειγμα η εξής άσκηση:
(σου στέλνω link γιατί ήταν αδύνατο να την αντιγράψω μαζί με την εκφώνηση γιατί είναι σε μορφή pdf)

https://taexeiola.blogspot.gr/2013/09/aepp-programmatismos-2-g-lykeiou.html

σελ. εγγράφου 132 ή pdf 59 άσκηση 4 (λυμένη)
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 10 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

giannisss

Νεοφερμένος

Ο giannisss αυτή τη στιγμή δεν είναι συνδεδεμένος. Έχει γράψει 36 μηνύματα.
καλησπερα σας , μια ερωτηση θα ηθελα να κανω μιας και δεν κανω φροντιστηριο και δεν εχω καποιον να μου εξηγησει , εαν σου δινει πχ οτι το αρχικο σου ποσο ειναι 1500 και αυξανεται κατα 10% καθε χρονο , δεν θα υπαρχει διαβασε χ σωστα ?? εστω οτι θελουμε να παμε μεχρι 10000 ο αλγοριθμος θα ειναι
ΑΛΓΟΡΙΘΜΟΣ ΑΣΚ
S<---- 0
οσο χ<=10000 τοτε
χ<---- 1500+1500*10/100
S<---- S+1
τελος_επαναληψης
ΤΕΛΟΣ_ΑΣΚ
ετσι θα γινει ?? :(
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 10 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Chris1993

Περιβόητο μέλος

Ο Χρήστος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 31 ετών, Μεταπτυχιούχος και μας γράφει απο Αθήνα (Αττική). Έχει γράψει 4,920 μηνύματα.
καλησπερα σας , μια ερωτηση θα ηθελα να κανω μιας και δεν κανω φροντιστηριο και δεν εχω καποιον να μου εξηγησει , εαν σου δινει πχ οτι το αρχικο σου ποσο ειναι 1500 και αυξανεται κατα 10% καθε χρονο , δεν θα υπαρχει διαβασε χ σωστα ?? εστω οτι θελουμε να παμε μεχρι 10000 ο αλγοριθμος θα ειναι
ΑΛΓΟΡΙΘΜΟΣ ΑΣΚ
S<---- 0
οσο χ<=10000 τοτε
χ<---- 1500+1500*10/100
S<---- S+1
τελος_επαναληψης
ΤΕΛΟΣ_ΑΣΚ
ετσι θα γινει ?? :(


1ο λάθος : Είναι ΟΣΟ .... ΕΠΑΝΑΛΑΒΕ και όχι ΟΣΟ...ΤΟΤΕ
2ο λάθος : Πριν ξεκινήσεις την ΟΣΟ...ΕΠΑΝΑΛΑΒΕ πρέπει να εκχωρήσεις τιμή στο x. Αν ξέρεις ότι είναι 1500 τότε γράφεις πριν την ΟΣΟ :

x <-- 1500

Αν δεν λέει ποιά ακριβώς είναι η τιμή, τότε προφανώς θα σου λέει να τη διαβάσεις.
Οπότε θα χρησιμοποιήσεις την εντολή ΔΙΑΒΑΣΕ ( και συγκεκριμένα ΔΙΑΒΑΣΕ x )

Απο εκεί και πέρα επειδή κάτι έχεις μπερδέψει, πρέπει να μου γράψεις την εκφώνηση της άσκησης αυτής για να σου πω!

Η αλήθεια είναι πως κάτι έπιασα δηλαδή θα το έχω υπ' όψιν στις ασκήσεις με τους πίνακες, οι οποίες με δυσκολεύουν αρκετά και αγχώνομαι γιατί είναι standart-άκι 3ο-4ο θέμα πανελλήνιες. Επίσης έχω ένα άλλο θέμα στις ασκήσεις με πίνακες. Σε πολλές λυμένες ασκήσεις που μελέτησα ενώ δεν το λένε καθαρά ότι χρειάζεται να βρούμε το άθροισμα των στοιχείων ενός πίνακα το χρησιμοποιούν συνέχεια και δεν μπορώ να καταλάβω γιατί. για παράδειγμα η εξής άσκηση:
(σου στέλνω link γιατί ήταν αδύνατο να την αντιγράψω μαζί με την εκφώνηση γιατί είναι σε μορφή pdf)

https://taexeiola.blogspot.gr/2013/09/aepp-programmatismos-2-g-lykeiou.html

σελ. εγγράφου 132 ή pdf 59 άσκηση 4 (λυμένη)

Όσο αφορά την άσκηση 4 η εκφώνηση είναι η εξής :

Κατα τη διάρκεια ενός πρωταλθήματος μπάσκετ καταγράφεται ο αριθμός των πόντων που έχουν πετύχει 5 παίχτες σε 5 διαφορετικά παιχνίδια καθώς και τα ονόματα των παιχτών.Να γραφεί πρόγραμμα που θα υπολογίζει και θα εμφανίζει το όνομα του παίχτη που έχει πετύχει το μεγαλύτερο αριθμό πόντων από όλα τα παιχνίδια.

Απάντηση :

Πρέπει να διαβάσουμε τα ονόματα των 5 παιχτών και τους πόντους τους σε κάθε ένα από τα 5 παιχνίδια που έπαιξαν.
(Παραλείπω την δήλωση)

Άρα,

Code:
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5
  ΔΙΑΒΑΣΕ ΟΝ[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5
  ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 5
     ΔΙΑΒΑΣΕ ΠΟΝΤΟΙ[i,j]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Μετά τι μας ζητάει να κάνουμε;
Να υπολογίσουμε και θα εμφανίσουμε το όνομα του παίχτη με το μεγαλύτερο αριθμό πόντων συνολικά από τα 5 παιχνίδια.
Στον πίνακα ΠΟΝΤΟΙ [i,j] έχουμε τους πόντους κάθε παίχτη σε κάθε παιχνίδι.
Το 1ο βήμα λοιπόν είναι να πάμε και να βρούμε, το άθροισμα των πόντων κάθε ενός παίχτη στα 5 παιχνίδια. Αλλά παράλληλα θέλουμε να βρούμε τον παίχτη με τον μέγιστο αριθμό πόντων. (Θα βάλουμε λοιπόν ως max αρνητικό αριθμό αρχικά που σίγουρα θα ξεπεραστεί και για να μην χάσουμε λόγω της επανάληψης τη θέση του παίχτη με τους μέγιστους πόντους, κάθε φορά που το S θα είναι μεγαλύτερο από το προηγούμενο max θα εκχωρούμε στη μεταβλητή max_i τη θέση του παίχτη (το i δηλαδή) ώστε τελικά να βρούμε το όνομά του με τη χρήση του πίνακα ΟΝ )
Άρα,

Code:
max <--  -1
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5
   S <-- 0
   ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 5
      S <-- S + ΠΟΝΤΟΙ [i,j]
   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
   ΑΝ S > max ΤΟΤΕ
      max <-- S
      max_i <-- i 
   ΤΕΛΟΣ_ΑΝ 
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

(Προσπάθησα να μην χρησιμοποιήσω νέο πίνακα και σε μπερδέψω - επίσης η εκφώνηση είναι ελλειπής αφού δεν διασαφηνίζεται αν υπάρχει ισοβαθμία στο max-υποθέτω ότι δεν υπάρχει λοιπόν στη λύση μου)

Οπότε αφού έχουμε βρει ποιός παίχτης μάζεψε τους μέγιστους πόντους και βρήκαμε και το max, πάμε να τα εμφανίσουμε.
Code:
ΓΡΑΨΕ "Ο μεγαλύτερος αριθμός πόντων είναι ", max , "και τους πέτυχε ο", ON[max_i]
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Πάντως σε αυτή την άσκηση κάνει μπαμ ότι θέλει άθροισμα.
Αν δεν κατάλαβες κάτι μου λες!
Ναι, οι πίνακες είναι στανταράκι, και όσο πάει αυξάνουν τη δυσκολία αυτών που βάζουν!
Αν λύνεις πολλές ασκήσεις έχεις το 80-85 στη τσέπη! (Εγώ είχα γράψει 94-98 [19,2] λόγω θεωρίας κιόλας)
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 10 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Τελευταία επεξεργασία:

t00nS

Εκκολαπτόμενο μέλος

Ο t00nS αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Μαθητής Γ' λυκείου. Έχει γράψει 329 μηνύματα.
εχω κολήσει σε ένα ερώτημα:
Σε έναν διαγωνισμό κρασιού συμμετέχουν 20 πόλεις.Στον διαγωνισμό αυτό κάθε πόλη μπορεί να βαθμολογεί τις υπόλοιπες εκτός του εαυτού της.Να γράψετε αλγόριθμο που θα διαβάζει: τη βαθμολογία που δίνει κάθε πόλη στις υπόλοιπες την οποία να την καταχωρίζει σε πίνακα 20χ20, όπου η κύρια διαγώνιος της θα περιέχει την τιμή 0(αφού καμια πολη δεν μπορει να βαθμολογησει τον εαυτό της
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 10 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Chris1993

Περιβόητο μέλος

Ο Χρήστος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 31 ετών, Μεταπτυχιούχος και μας γράφει απο Αθήνα (Αττική). Έχει γράψει 4,920 μηνύματα.
εχω κολήσει σε ένα ερώτημα:
Σε έναν διαγωνισμό κρασιού συμμετέχουν 20 πόλεις.Στον διαγωνισμό αυτό κάθε πόλη μπορεί να βαθμολογεί τις υπόλοιπες εκτός του εαυτού της.Να γράψετε αλγόριθμο που θα διαβάζει: τη βαθμολογία που δίνει κάθε πόλη στις υπόλοιπες την οποία να την καταχωρίζει σε πίνακα 20χ20, όπου η κύρια διαγώνιος της θα περιέχει την τιμή 0(αφού καμια πολη δεν μπορει να βαθμολογησει τον εαυτό της

Πάμε βήμα βήμα!
Αρχικά διαβάζουμε τη βαθμολογία που δίνει κάθε πόλη στις υπόλοιπες, αλλά προσέχουμε ότι όταν θα έρθει η ώρα να καταχωρήσουμε τη βαθμολογία μιας χώρας στον εαυτό της πρέπει να βάλουμε 0. Πότε συμβαίνει αυτό? Όταν φυσικά i=j

Γιατί έστω ότι έχουμε

i=1 ΠΑΡΙΣΙ
i=2 ΑΘΗΝΑ
i=3 ΡΩΜΗ
i=4 ΜΑΔΡΙΤΗ
..................
i=20

(προσοχή, εδώ δίνω παραδείγματα πόλεων που "κρύβονται" πίσω από κάθε αριθμό στον πίνακα γιατί ο Πίνακας ΒΑΘΜ[i,j] περιέχει μόνο βαθμούς.)


Το ΒΑΘΜ[1,1] θα είναι πόσο βαθμολόγησε το ΠΑΡΙΣΙ το ΠΑΡΙΣΙ.
Το ΒΑΘΜ[2,2] θα είναι πόσο βαθμολόγησε η ΑΘΗΝΑ την ΑΘΗΝΑ.
Το ΒΑΘΜ [3,4] θα είναι πόσο βαθμολόγησε η ΡΩΜΗ την ΜΑΔΡΙΤΗ.
και πάει λέγοντας....


Άρα,

Code:
Αλγόριθμος ΚΡΑΣΙΑ
 Για i από 1 μέχρι 20
  Για j από 1 μέχρι 20
    Αν i=j τότε 
     ΒΑΘΜ[i,j] <-- 0
    αλλιώς 
     Διάβασε ΒΑΘΜ[i,j]
    τέλος_αν
  τέλος_επανάληψης
 τέλος_επανάληψης
Τέλος ΚΡΑΣΙΑ
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 10 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Τελευταία επεξεργασία:

ΙωάνναΚ19

Νεοφερμένος

Η ΙωάνναΚ19 αυτή τη στιγμή δεν είναι συνδεδεμένη. Είναι 30 ετών. Έχει γράψει 14 μηνύματα.
1ο λάθος : Είναι ΟΣΟ .... ΕΠΑΝΑΛΑΒΕ και όχι ΟΣΟ...ΤΟΤΕ
2ο λάθος : Πριν ξεκινήσεις την ΟΣΟ...ΕΠΑΝΑΛΑΒΕ πρέπει να εκχωρήσεις τιμή στο x. Αν ξέρεις ότι είναι 1500 τότε γράφεις πριν την ΟΣΟ :

x <-- 1500

Αν δεν λέει ποιά ακριβώς είναι η τιμή, τότε προφανώς θα σου λέει να τη διαβάσεις.
Οπότε θα χρησιμοποιήσεις την εντολή ΔΙΑΒΑΣΕ ( και συγκεκριμένα ΔΙΑΒΑΣΕ x )

Απο εκεί και πέρα επειδή κάτι έχεις μπερδέψει, πρέπει να μου γράψεις την εκφώνηση της άσκησης αυτής για να σου πω!



Όσο αφορά την άσκηση 4 η εκφώνηση είναι η εξής :

Κατα τη διάρκεια ενός πρωταλθήματος μπάσκετ καταγράφεται ο αριθμός των πόντων που έχουν πετύχει 5 παίχτες σε 5 διαφορετικά παιχνίδια καθώς και τα ονόματα των παιχτών.Να γραφεί πρόγραμμα που θα υπολογίζει και θα εμφανίζει το όνομα του παίχτη που έχει πετύχει το μεγαλύτερο αριθμό πόντων από όλα τα παιχνίδια.

Απάντηση :

Πρέπει να διαβάσουμε τα ονόματα των 5 παιχτών και τους πόντους τους σε κάθε ένα από τα 5 παιχνίδια που έπαιξαν.
(Παραλείπω την δήλωση)

Άρα,

Code:
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5
  ΔΙΑΒΑΣΕ ΟΝ[i]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5
  ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 5
     ΔΙΑΒΑΣΕ ΠΟΝΤΟΙ[i,j]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Μετά τι μας ζητάει να κάνουμε;
Να υπολογίσουμε και θα εμφανίσουμε το όνομα του παίχτη με το μεγαλύτερο αριθμό πόντων συνολικά από τα 5 παιχνίδια.
Στον πίνακα ΠΟΝΤΟΙ [i,j] έχουμε τους πόντους κάθε παίχτη σε κάθε παιχνίδι.
Το 1ο βήμα λοιπόν είναι να πάμε και να βρούμε, το άθροισμα των πόντων κάθε ενός παίχτη στα 5 παιχνίδια. Αλλά παράλληλα θέλουμε να βρούμε τον παίχτη με τον μέγιστο αριθμό πόντων. (Θα βάλουμε λοιπόν ως max αρνητικό αριθμό αρχικά που σίγουρα θα ξεπεραστεί και για να μην χάσουμε λόγω της επανάληψης τη θέση του παίχτη με τους μέγιστους πόντους, κάθε φορά που το S θα είναι μεγαλύτερο από το προηγούμενο max θα εκχωρούμε στη μεταβλητή max_i τη θέση του παίχτη (το i δηλαδή) ώστε τελικά να βρούμε το όνομά του με τη χρήση του πίνακα ΟΝ )
Άρα,

Code:
max <--  -1
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5
   S <-- 0
   ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 5
      S <-- S + ΠΟΝΤΟΙ [i,j]
   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
   ΑΝ S > max ΤΟΤΕ
      max <-- S
      max_i <-- i 
   ΤΕΛΟΣ_ΑΝ 
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

(Προσπάθησα να μην χρησιμοποιήσω νέο πίνακα και σε μπερδέψω - επίσης η εκφώνηση είναι ελλειπής αφού δεν διασαφηνίζεται αν υπάρχει ισοβαθμία στο max-υποθέτω ότι δεν υπάρχει λοιπόν στη λύση μου)

Οπότε αφού έχουμε βρει ποιός παίχτης μάζεψε τους μέγιστους πόντους και βρήκαμε και το max, πάμε να τα εμφανίσουμε.
Code:
ΓΡΑΨΕ "Ο μεγαλύτερος αριθμός πόντων είναι ", max , "και τους πέτυχε ο", ON[max_i]
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Πάντως σε αυτή την άσκηση κάνει μπαμ ότι θέλει άθροισμα.
Αν δεν κατάλαβες κάτι μου λες!
Ναι, οι πίνακες είναι στανταράκι, και όσο πάει αυξάνουν τη δυσκολία αυτών που βάζουν!
Αν λύνεις πολλές ασκήσεις έχεις το 80-85 στη τσέπη! (Εγώ είχα γράψει 94-98 [19,2] λόγω θεωρίας κιόλας)

Όλα OK θα σου έστελνα αναλυτικά τι κατάλαβα αλλά έκανα βλακεία και κατά λάθος σβήστηκε όλη μου η απάντηση αλλά την μελέτησα άλλη μία φορά μαζί με αυτά που μου είπες και από το διαδικτυακό βοήθημα που την ξαναείδα και όλα OK. έπιασα το point και εσύ δεν χρειάστηκε να διαβάσεις όλο τ κείμενο που είχα γράψει. Και πάλι ευχαριστώ Chris1993
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 10 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Chris1993

Περιβόητο μέλος

Ο Χρήστος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 31 ετών, Μεταπτυχιούχος και μας γράφει απο Αθήνα (Αττική). Έχει γράψει 4,920 μηνύματα.
Όλα OK θα σου έστελνα αναλυτικά τι κατάλαβα αλλά έκανα βλακεία και κατά λάθος σβήστηκε όλη μου η απάντηση αλλά την μελέτησα άλλη μία φορά μαζί με αυτά που μου είπες και από το διαδικτυακό βοήθημα που την ξαναείδα και όλα OK. έπιασα το point και εσύ δεν χρειάστηκε να διαβάσεις όλο τ κείμενο που είχα γράψει. Και πάλι ευχαριστώ Chris1993

Πραγματικά ότι απορία έχεις μπορείς να μου στέλνεις είτε εδώ είτε σε personal message!
Αν το κατάλαβες όντως, τέλεια!!
Τίποτα!
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 10 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

ΙωάνναΚ19

Νεοφερμένος

Η ΙωάνναΚ19 αυτή τη στιγμή δεν είναι συνδεδεμένη. Είναι 30 ετών. Έχει γράψει 14 μηνύματα.
Πραγματικά ότι απορία έχεις μπορείς να μου στέλνεις είτε εδώ είτε σε personal message!
Αν το κατάλαβες όντως, τέλεια!!
Τίποτα!

Τώρα είμαι στα υποπρογράμματα και συγκεκριμένα στις συναρτήσεις. Διαβάζω και λύνω λυμένες ασκήσεις. Όπως ξέρουμε για ένα πρόβλημα στην ΑΕΠΠ υπάρχουν πολλές λύσεις. Για παράδειγμα:

Να γραφεί πραγματική συνάρτηση με το όνομα ΜΕΓ3(Α,Β,Γ) που θα δέχεται τρεις
πραγματικούς αριθμούς και επιστρέφει τον μέγιστο τους.

Η δική μου λύση είναι η εξής

ΣΥΝΑΡΤΗΣΗ ΜΕΓ3(Α,Β,Γ):ΠΡΑΓΜΑΤΙΚΗ
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ:Α,Β,Γ
ΑΡΧΗ
ΜΕΓ3<-Α
ΑΝ Β>ΜΕΓ3 ΤΟΤΕ
ΑΝ Β>Γ ΤΟΤΕ
Β<-ΜΕΓ3
ΑΛΛΙΩΣ
Γ<-ΜΕΓ3
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Η λύση του ηλεκτρονικού βοηθήματος είναι η εξής:

ΣΥΝΑΡΤΗΣΗ ΜΕΓ3(Α,Β,Γ):ΠΡΑΓΜΑΤΙΚΗ
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ: Α,Β,Γ
ΑΡΧΗ
ΜΕΓ3<-Α
ΑΝ Β>ΜΕΓ3 ΤΟΤΕ
ΜΕΓ3<-Β
ΤΕΛΟΣ_ΑΝ
ΑΝ Γ>ΜΕΓ3 ΤΟΤΕ
ΜΕΓ3<-Γ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Η δική μου είναι λάθος ή είναι απλά διαφορετική?
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 10 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Πληροφορικάριος

Δραστήριο μέλος

Ο Πληροφορικάριος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Φοιτητής και μας γράφει απο Αθήνα (Αττική). Έχει γράψει 623 μηνύματα.
Η δική μου λύση είναι η εξής

ΣΥΝΑΡΤΗΣΗ ΜΕΓ3(Α,Β,Γ):ΠΡΑΓΜΑΤΙΚΗ
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ:Α,Β,Γ
ΑΡΧΗ
ΜΕΓ3<-Α
ΑΝ Β>ΜΕΓ3 ΤΟΤΕ
ΑΝ Β>Γ ΤΟΤΕ
Β<-ΜΕΓ3
ΑΛΛΙΩΣ
Γ<-ΜΕΓ3
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Η δική μου είναι λάθος ή είναι απλά διαφορετική?

Λάθος είναι. Αν για παράδειγμα το Α<Β τότε δεν συγκρίνεις καθόλου το Γ. Μπορεί να σε βοηθήσει αν "τρέξεις" στο χαρτί κάποια παραδείγματα.
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 10 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Chris1993

Περιβόητο μέλος

Ο Χρήστος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 31 ετών, Μεταπτυχιούχος και μας γράφει απο Αθήνα (Αττική). Έχει γράψει 4,920 μηνύματα.
Να γραφεί πραγματική συνάρτηση με το όνομα ΜΕΓ3(Α,Β,Γ) που θα δέχεται τρεις
πραγματικούς αριθμούς και επιστρέφει τον μέγιστο τους.

Η δική μου λύση είναι η εξής

ΣΥΝΑΡΤΗΣΗ ΜΕΓ3(Α,Β,Γ):ΠΡΑΓΜΑΤΙΚΗ
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ:Α,Β,Γ
ΑΡΧΗ
ΜΕΓ3<-- Α
ΑΝ Β>ΜΕΓ3 ΤΟΤΕ
ΑΝ Β>Γ ΤΟΤΕ
Β<-ΜΕΓ3
ΑΛΛΙΩΣ
Γ<-ΜΕΓ3
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ


Η δική μου είναι λάθος ή είναι απλά διαφορετική?

Διόρθωση πρώτου λάθους :
Εκχώρησες στο Β το ΜΕΓ3, οπότε και ας ήταν το Β>ΜΕΓ3, δεν τροποποίησες την τιμή του ΜΕΓ3.
Εμείς τι θέλουμε;
Άν ο αριθμός Β είναι μεγαλύτερος από το μέγιστο τότε η μεταβλητή ΜΕΓ3 θα παίρνει την τιμή του Β, οπότε :

Code:
Αν Β>ΜΕΓ3 τότε
  ΜΕΓ3 <--- Β
τέλος_αν

Διόρθωση δεύτερου λάθους :

Δεν μας χρησιμεύει καθόλου η χρήση της αν τότε-αλλιώς γιατί δεν συγκρίνουμε καθόλου το Γ.
Οπότε αναγκαστικά φτιάχεις και δεύτερη αν..τότε συγκρίνοντας το ΜΕΓ3 με το Γ.

Code:
Αν Γ>ΜΕΓ3 τότε
  ΜΕΓ3 <-- Γ
τέλος_αν

Άρα το τελικό υποπρόγραμμα θα είναι αυτό :

Code:
ΣΥΝΑΡΤΗΣΗ ΜΕΓ3(Α,Β,Γ):ΠΡΑΓΜΑΤΙΚΗ
ΜΕΤΑΒΛΗΤΕΣ
    ΠΡΑΓΜΑΤΙΚΕΣ:Α,Β,Γ
ΑΡΧΗ
 ΜΕΓ3 <-- Α 
   ΑΝ Β > ΜΕΓ3 ΤΟΤΕ
     ΜΕΓ3 <-- Β
   ΤΕΛΟΣ_ΑΝ
   ΑΝ Γ > ΜΕΓ3 ΤΟΤΕ
     ΜΕΓ3 <-- Γ
   ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Πρέπει να τα προσέχεις αυτά.
Αν το ερώτημα αυτό είχε 5 μόρια, το πιο πιθανό είναι να έπαιρνες 1-2.
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 10 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Τελευταία επεξεργασία:

ΙωάνναΚ19

Νεοφερμένος

Η ΙωάνναΚ19 αυτή τη στιγμή δεν είναι συνδεδεμένη. Είναι 30 ετών. Έχει γράψει 14 μηνύματα.
Λάθος είναι. Αν για παράδειγμα το Α<Β τότε δεν συγκρίνεις καθόλου το Γ. Μπορεί να σε βοηθήσει αν "τρέξεις" στο χαρτί κάποια παραδείγματα.

Άρα η λύση του βοηθήματος είναι και η μοναδική; Δηλαδή δεν υπάρχει λύση με εμφωλευμένη Αν? Αν υπάρχει μπορείς να μου την γράψεις?
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 10 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Chris1993

Περιβόητο μέλος

Ο Χρήστος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 31 ετών, Μεταπτυχιούχος και μας γράφει απο Αθήνα (Αττική). Έχει γράψει 4,920 μηνύματα.
Άρα η λύση του βοηθήματος είναι και η μοναδική; Δηλαδή δεν υπάρχει λύση με εμφωλευμένη Αν? Αν υπάρχει μπορείς να μου την γράψεις?

Δεν είναι η μοναδική αλλά είναι η βέλτιστη.
Γίνεται και με εμφωλευμένες ΑΝ αλλά το κάνουν περίπλοκο.
Σου έχω γράψει παραπάνω τις διορθώσεις.

Ορίστε η λύση με εμφωλευμένες ΑΝ :

Code:
ΣΥΝΑΡΤΗΣΗ ΜΕΓ3(Α,Β,Γ):ΠΡΑΓΜΑΤΙΚΗ
ΜΕΤΑΒΛΗΤΕΣ
    ΠΡΑΓΜΑΤΙΚΕΣ:Α,Β,Γ
ΑΡΧΗ
 ΑΝ Α > Β ΤΟΤΕ
  ΜΕΓ <-- Α
  ΑΝ Γ > ΜΕΓ3 ΤΟΤΕ
    ΜΕΓ3 <-- Γ
  ΤΕΛΟΣ_ΑΝ
 ΑΛΛΙΩΣ 
    ΜΕΓ3 <-- Β
    ΑΝ Γ > ΜΕΓ3 ΤΟΤΕ
       ΜΕΓ3 <-- Γ
    ΤΕΛΟΣ_ΑΝ
 ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 10 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Τελευταία επεξεργασία:

Πληροφορικάριος

Δραστήριο μέλος

Ο Πληροφορικάριος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Φοιτητής και μας γράφει απο Αθήνα (Αττική). Έχει γράψει 623 μηνύματα.
Άρα η λύση του βοηθήματος είναι και η μοναδική; Δηλαδή δεν υπάρχει λύση με εμφωλευμένη Αν? Αν υπάρχει μπορείς να μου την γράψεις?

Υπάρχουν πολλές. Καλή λύση είναι η σύντομη και απλή. Μια άλλη:

Code:
Μ<-Α
ΑΝ Β>Α Ή Γ>Α ΤΟΤΕ 
     ΑΝ Β>Γ ΤΟΤΕ  
               Μ<-Β
    ΑΛΛΙΩΣ
               Μ<-Γ
      ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 10 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

ΙωάνναΚ19

Νεοφερμένος

Η ΙωάνναΚ19 αυτή τη στιγμή δεν είναι συνδεδεμένη. Είναι 30 ετών. Έχει γράψει 14 μηνύματα.
Υπάρχουν πολλές. Καλή λύση είναι η σύντομη και απλή. Μια άλλη:

Code:
Μ<-Α
ΑΝ Β>Α Ή Γ>Α ΤΟΤΕ 
     ΑΝ Β>Γ ΤΟΤΕ  
               Μ<-Β
    ΑΛΛΙΩΣ
               Μ<-Γ
      ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ

Ευχαριστώ Πληροφορικάριε. Η αλήθεια είναι πως όντως με την χρήση εμφωλευμένης Αν γίνεται πολύ σύνθετο και δυσνόητο. Την τελευταία λύση που μου έστειλες δεν θα την σκεφτόμουν ποτέ. Τώρα, μπήκα στις διαδικασίες που ομολογώ πως είναι μακράν πιο περίπλοκες από τις συναρτήσεις. Σου στέλνω την εξής άσκηση που δεν πολυκαταλαβαίνω το σκεπτικό της διαδικασίας.

Μία αίθουσα κινηματογράφου αποτελείται από 15 σειρές καθισμάτων. Κάθε σειρά καθισμάτων περιλαμβάνει 30 καθίσματα.
Η 1η σειρά βρίσκεται μπροστά στην αίθουσα, ενώ αντίστοιχα η 15η στο πίσω μέρος της αίθουσας.
Για τον λόγο αυτό υπάρχει ένας πίνακας ΘΕΣΕΙΣ[15, 30] που αναπαριστά τις μέχρι τώρα δεσμευμένες θέσεις. Έτσι, το στοιχείο ΘΕΣΕΙΣ[i,j] αναπαριστά την j θέση της i σειράς. Τιμή 0 σε αυτό το στοιχείο σημαίνει πως η θέση δεν έχει ακόμη δεσμευθεί, ενώ τιμή 1 σημαίνει πως η θέση είναι δεσμευμένη.
Να γίνει πρόγραμμα το οποίο:

1) Θα γεμίζει τον πίνακα ΘΕΣΕΙΣ με μηδενικά (0).
2) Για κάθε πελάτη,
α) θα διαβάζει τον αριθμό των εισιτηρίων που θέλει να αγοράσει. Κατά την ανάγνωση να πραγματοποιείται έλεγχος εγκυρότητας ώστε ο αριθμός των εισιτηρίων να είναι μεταξύ 1 και 4 ή -1.
β) θα καλεί το υποπρογράμματος ΒΡΕΣ_ΚΑΛΥΤΕΡΕΣ_ΘΕΣΕΙΣ με την βοήθεια του οποίου θα εμφανίζει σε ποια σειρά και σε ποιες θέσεις έγινε η κράτηση ή κατάλληλο μήνυμα σε περίπτωση που ήταν αδύνατο να βρεθούν θέσεις μέσα στην αίθουσα,
γ) να ενημερώνει τις κατάλληλες θέσεις του πίνακα ΘΕΣΕΙΣ εφόσον πραγματοποιήθηκε η κράτηση
δ) να σταματάει όταν η αίθουσα γεμίσει ή δοθεί η τιμή -1 για αριθμό εισιτηρίων
3) Να εμφανίζει τον αριθμό των αδιάθετων θέσεων.
4) Να γίνει το υποπρόγραμμα ΒΡΕΣ_ΚΑΛΥΤΕΡΕΣ_ΘΕΣΕΙΣ που θα δέχεται τον πίνακα ΘΕΣΕΙΣ και τον αριθμό των εισιτηρίων προς κράτηση. Το υποπρόγραμμα θα αναζητά τις καλύτερες διαδοχικές θέσεις και θα πρέπει να βρίσκονται όλες στην ίδια σειρά, ξεκινώντας πάντα από την τελευταία σειρά. Το υποπρόγραμμα να επιστρέφει τον αριθμό της σειράς και την πρώτη θέση από από το σύνολο των θέσεων που εντοπίστηκαν προς κράτηση. Αν δεν βρέθηκαν θέσεις, τότε να επιστρέφει 0 και 0 για αριθμό σειράς και θέσεις αντίστοιχα.

ΠΡΟΓΡΑΜΜΑ κινηματογράφος
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: i, j, ΘΕΣΕΙΣ[15, 30], σειρά, θέση, εισ, διατέθηκαν

ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 15
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 30
ΘΕΣΕΙΣ[i, j] <- 0
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

διατέθηκαν <- 0
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΔΙΑΒΑΣΕ εισ
ΜΕΧΡΙΣ_ΟΤΟΥ εισ >= 1 ΚΑΙ εισ <= 4 Η εισ = -1
ΑΝ εισ > 0 ΤΟΤΕ
ΚΑΛΕΣΕ ΒΡΕΣ_ΚΑΛΥΤΕΡΕΣ_ΘΕΣΕΙΣ(ΘΕΣΕΙΣ, εισ, σειρά, θέση)
ΑΝ σειρά <> 0 ΚΑΙ θέση <> 0 ΤΟΤΕ
ΓΡΑΨΕ "Βρέθηκαν εισιτήρια στην σειρά ", σειρά, " από την θέση ", θέση, " μέχρι την θέση ", (θέση + εισ - 1)
ΓΙΑ j ΑΠΟ θέση ΜΕΧΡΙ θέση + εισ - 1
ΘΕΣΕΙΣ[σειρά, j] <- 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
διατέθηκαν <- διατέθηκαν + εισ
ΑΛΛΙΩΣ
ΓΡΑΨΕ "Δεν βρέθηκαν ", εισ, " διαδοχικές θέσεις σε κάποια σειρά"
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΜΕΧΡΙΣ_ΟΤΟΥ διατέθηκαν = 15*30 Η εισ = -1

ΓΡΑΨΕ "Έμειναν αδιάθετες ", 15*30 - διατέθηκαν, " θέσεις!"
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ κινηματογράφος

ΔΙΑΔΙΚΑΣΙΑ ΒΡΕΣ_ΚΑΛΥΤΕΡΕΣ_ΘΕΣΕΙΣ(ΘΕΣΕΙΣ, εισ, σειρά, θέση)
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: i, j, ΘΕΣΕΙΣ[15, 30], σειρά, θέση, εισ, κ, πλ
ΛΟΓΙΚΕΣ: βρέθηκε, βρέθηκε2
ΑΡΧΗ
σειρά <- 0
θέση <- 0

i <- 15
βρέθηκε <- ΨΕΥΔΗΣ
ΟΣΟ (i >= 1 ΚΑΙ βρέθηκε = ΨΕΥΔΗΣ) ΕΠΑΝΑΛΑΒΕ
j <- 1
πλ <- 0
ΟΣΟ j <= 30 ΚΑΙ βρέθηκε = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ
ΑΝ ΘΕΣΕΙΣ[i, j] = 0 ΤΟΤΕ
πλ <- πλ + 1
ΑΝ πλ = εισ ΤΟΤΕ
βρέθηκε <- ΑΛΗΘΗΣ
σειρά <- i
θέση <- j - εισ + 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
j <- j + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
i <- i - 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Πρώτον, το "κ" που βάζει στις μεταβλητές δεν το χρησιμοποιεί καν. Δεύτερον, όταν λέει πως "ΑΝ ΘΕΣΕΙΣ[i,j]=0 ΤΟΤΕ
πλ<--πλ+1"
εννοεί πως αν υπάρχει κενή θέση τότε την προσθέτουμε στο πλήθος των θέσεων που εντοπίστηκαν προς κράτηση?
Και συνεχίζει "ΑΝ πλ=εισ ΤΟΤΕ
βρέθηκε<--ΑΛΗΘΗΣ
σειρά<--i
θέση<--j-εισ+1"
Αυτό το κομμάτι δεν το καταλαβαίνω καθόλου. Μπορείς να μου το εξηγήσεις?
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 10 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Πληροφορικάριος

Δραστήριο μέλος

Ο Πληροφορικάριος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι Φοιτητής και μας γράφει απο Αθήνα (Αττική). Έχει γράψει 623 μηνύματα.
Πρώτον, το "κ" που βάζει στις μεταβλητές δεν το χρησιμοποιεί καν.

Σβήστο.

Δεύτερον, όταν λέει πως "ΑΝ ΘΕΣΕΙΣ[i,j]=0 ΤΟΤΕ
πλ<--πλ+1"
εννοεί πως αν υπάρχει κενή θέση τότε την προσθέτουμε στο πλήθος των θέσεων που εντοπίστηκαν προς κράτηση?

Ναι.

Και συνεχίζει "ΑΝ πλ=εισ ΤΟΤΕ
βρέθηκε<--ΑΛΗΘΗΣ
σειρά<--i
θέση<--j-εισ+1"
Αυτό το κομμάτι δεν το καταλαβαίνω καθόλου. Μπορείς να μου το εξηγήσεις?

Αν το πλήθος των ελεύθερων θέσεων(πλ) στην γραμμή i είναι ίσο με το πλήθος την εισιτηρίων που που ζητάει ο πελάτης(εισ)
τότε βρέθηκαν οι θέσεις(βρέθηκε<--ΑΛΗΘΗΣ), σημειώνεται η σειρά που βρέθηκαν(σειρά<--i η σειρά μπορεί να είναι είναι από 1 έως 15) και τέλος σημειώνεται η πρώτη θέση που βρέθηκε στην σειρά i (θέση<--j-εισ+1).

Αν για παράδειγμα ο πελάτης ζήτησε 4 θέσεις και είναι κενές οι 4 πρώτες θέσεις μίας i γραμμής τότε: θέσης<-4-4+1 άρα στην πρώτη θέση της i γραμμής.
Αν ο πελάτης ζήτησε 2 θέσεις και είναι κενές η 6 και 7 τότε: θέσης<-7-2+1 άρα η 6η θέση της i γραμμής.

Η συγκινημένη λύση μπορεί να θεωρηθεί και λάθος νομίζω γιατί αν βρεθούν μη διαδοχικές θέσης θα δώσει λάθος αποτέλεσμα.
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 10 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Unforgiven21

Νεοφερμένος

Ο Unforgiven21 αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 27 ετών. Έχει γράψει 115 μηνύματα.






Παιδια όποιος μπορεσει να κανει αυτο το διαγωνισμα παρακαλω...ειναι επειγον.....θα περιμενω...ευχαριστω
οτι δε φαινεται στην εικονα ρωτηστε με...
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 10 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Unforgiven21

Νεοφερμένος

Ο Unforgiven21 αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 27 ετών. Έχει γράψει 115 μηνύματα.
καποιος;;;;;;;
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 10 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Χρήστες Βρείτε παρόμοια

Top