Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Γ΄ Λυκείου => Μονοδιάστατοι πίνακες => Μήνυμα ξεκίνησε από: Vagelis στις 27 Δεκ 2002, 12:27:58 ΜΜ

Τίτλος: Ασκήσεις στους πίνακες
Αποστολή από: Vagelis στις 27 Δεκ 2002, 12:27:58 ΜΜ
Προτείνετε ασκήσεις... Άλυτες ή λυμένες
Τίτλος: Re: Ασκήσεις στους πίνακες
Αποστολή από: Λευτέρης Δουκέρης στις 22 Ιαν 2003, 08:34:09 ΜΜ
Α) Έχω δύο μονοδιάστατους πίνακες Α , Β 20 θέσεων . Ο Α έχει κωδικούς και ο Β έχει ποσότητα του είδους που αντιστοιχεί σε κάθε κωδικό . Να γίνει λογικό διάγραμμα και πρόγραμμα που να εισάγει ένα κωδικό Χ , θα βρίσκει αν υπάρχει στον πίνακα και θα τυπώνει κωδικό και ποσότητα . Αν δεν υπάρχει ο κωδικός θα βγαίνει το ανάλογο μήνυμα .

β)  ΝΑ γινουν τα παραπανω αν ο πινακασ ήταν δισδιάστατος 2X20 (στοιχεια στον πινακα ίδιου τύπου -αριθμητικα)
Τίτλος: Re: Ασκήσεις στους πίνακες
Αποστολή από: Λευτέρης Δουκέρης στις 22 Ιαν 2003, 08:37:34 ΜΜ
Δίνεται ένας πίνακας 10 θέσεων που κάποια στοιχεία του είναι μηδέν . Να δημιουργηθεί ο πίνακας Β τέτοιος ώστε να ισχύουν τα παρακάτω

π.χ
Πινακας Α
1  333      0  12  0      34  67      0      0      66

Πίνακας Β
0  0  0      0  1  333       12  34      67      66

Τίτλος: Re: Ασκήσεις στους πίνακες
Αποστολή από: Λευτέρης Δουκέρης στις 22 Ιαν 2003, 08:39:25 ΜΜ
Σε μια εταιρία εργάζονται 200 υπάλληλοι και είναι γνωστός ο μισθός του καθένα . Να εισάγονται οι μισθοί σε πίνακα και να βρεθούν οι 2 μεγαλύτεροι και οι 2 μικρότεροι μισθοί . Αν η εταιρία θέλει να κάνει αύξηση μισθών 5% να δημιουργείται πίνακας που να περιέχει τους νέους μισθούς μετά την αύξηση και ενας ακόμα πίνακας που θα έχει μόνο την αύξηση
Τίτλος: Re: Ασκήσεις στους πίνακες
Αποστολή από: Λευτέρης Δουκέρης στις 22 Ιαν 2003, 08:45:33 ΜΜ
Να γίνει πρόγραμμα που να διαγράφει το στοιχείο ν που θα διαβάζεται από το πληκτρολόγιο (το ν δείχνει την θέση του στοιχείου , που θα διαγραφεί) . ο αρχικός  πίνακας είναι μονοδιάστατος 100 θέσεων , ο νέος πίνακας θα είναι 99 θέσεων αφου θα έχει διαγραφεί ένα στοιχείο του. να γίνεται έλεγχος αν το ν είναι μέσα στα όρια του πίνακα 1<=ν<=100
Τίτλος: Ασκήση στους πίνακες
Αποστολή από: Κων/νος Μανολοπουλος στις 18 Φεβ 2003, 04:41:02 ΜΜ
Nα γράψτε προγραμμα σε Γλώσσα το οποίο
θα διαβαζει μια προταση 20 χαρκτήρων και θα
τυπωνει τη συχνότητα εμφάνισης καθε γράμματος
Τίτλος: Re: Ασκήσεις στους πίνακες
Αποστολή από: Laertis στις 01 Μαρ 2003, 11:13:56 ΜΜ
Σε ένα μονοδιάστατο πίνακα Β υπάρχουν καταχωρισμένες οι βαθμολογίες ενός μαθητή σε 14 μαθήματα και σε έναν δεύτερο πίνακα Κ αντίστοιχα ο κωδικός κάθε μαθήματος. Να γραφεί αλγόριθμος που να βρίσκει και να εμφανίζει ττον κωδικό των μαθημάτων  με την υψηλότερη και χαμηλότερη βαθμολογία του μαθητή.
Τίτλος: Re: Ασκήσεις στους πίνακες
Αποστολή από: Laertis στις 01 Μαρ 2003, 11:16:09 ΜΜ
Στον Πανελλήνιο Διαγωνισμό Πληροφορικής συμμετείχαν 200 υποψήφιοι. Να γραφεί αλγόριθμος που :

α) να αποθηκεύει τα αποτελέσματα σε έναν μονοδιάστατο πίνακα Β και τα ονόματα των υποψηφίων σε έναν δεύτερο μονοδιάστατο πίνακα Ο, κατ&#8217; αντιστοιχία
β) να ταξινομεί τους δύο πίνακες με βάση τη βαθμολογία κάθε διαγωνιζομένου
γ) να εμφανίζει τα ονόματα των 8 υποψηφίων με την καλύτερη βαθμολογία που προκρίνονται στην Ολυμπιάδα Πληροφορικής.
Τίτλος: Re: Ασκήσεις στους πίνακες
Αποστολή από: Laertis στις 01 Μαρ 2003, 11:21:09 ΜΜ
Μια ομάδα μπάσκετ έχει 12 παίκτες και συμμετέχει σε 18 αγώνες της αγωνιστικής περιόδου. Να γραφεί αλγόριθμος που :

α) να αποθηκεύει το όνομα κάθε παίκτη σε έναν μονοδιάστατο πίνακα Ο
β) να αποθηκεύει τους πόντους που πέτυχαν οι παίκτες στην συγκεκριμένη  
    αγωνιστική περίοδο, σε έναν δισδιάστατο πίνακα Π
γ) να υπολογίζει και να εμφανίζει το όνομα του παίκτη με το μεγαλύτερο μέσο όρο
    πόντων σε όλους τους αγώνες
Τίτλος: Re: Ασκήσεις στους πίνακες
Αποστολή από: mxeg στις 18 Μαρ 2003, 02:37:57 ΜΜ
Μια επιχείρηση απασχολεί 150 υπαλλήλους και δυο από τα στοιχεία που διαθέτει είναι τα ονόματα και οι μισθοί τους σε Ευρώ. Να γραφεί αλγόριθμος που θα εμφανίζει τους 5 μικρότερους μισθούς μαζί με τα ονόματα των υπαλλήλων που έχουν αυτούς τους μισθούς.
( Υποθέστε ότι οι μισθοί είναι όλοι διαφορετικοί)
ΕΥΚΟΛΗ ΑΣΚΗΣΗ
Τίτλος: Re: Ασκήσεις στους πίνακες
Αποστολή από: pfan στις 19 Μαρ 2003, 06:08:23 ΜΜ
Στο τύπο των ασκήσεων που ζητάει να βρεθούν οι 5 καλύτεροι (ή χειρότεροι) θα πρέπει να διευκρινιστεί αν υπάρχει πιθανότητα ο 5ος να έχει ισοβαθμία με τον 6ο κ.ο.κ.
Τίτλος: Re: Ασκήσεις στους πίνακες
Αποστολή από: mxeg στις 20 Μαρ 2003, 11:24:10 ΠΜ
Να γίνει αλγόριθμος που να δέχεται τα ονόματα και τους βαθμούς ενός διαγωνισμού 200 μαθητών για το μάθημα ανάπτυξη εφαρμογών σε προγραμματιστικό
περιβάλλον (με άριστα το 100) και στη συνέχεια
Α. Να βρίσκει και να τυπώνει τα ονόματα αυτών που έχουν γράψει πάνω από 90
Β. Να εμφανίζει τον βαθμό που παρατηρήθηκε τις περισσότερες φορές.
Τίτλος: Re: Ασκήσεις στους πίνακες
Αποστολή από: Sergio στις 28 Μαρ 2003, 10:37:20 ΜΜ
Ασκήσεις σαν αυτή του συναδέλφου mxeg πιο πριν (Απάντηση #9 εστάλη: Μάρτος 18th, 2003, 7:37pm» προσφέρονται για εξάσκηση των μαθητών και καλύτερη κατανόηση (εμβάθυνση) στον τρόπο λειτουργίας του αλγόριθμου της φυσσαλίδας.

Με αφορμή μια τέτοια άσκηση "...θα εμφανίζει τους 5 μικρότερους μισθούς ..." μπορεί ο μαθητής να παρακινηθεί να παρατηρήσει ότι είναι περιττό (και μάταιο) να ταξινομήσουμε ολόκληρο τον πίνακα όταν το μόνο που ενδιαφέρει είναι ...οι πέντε μικρότεροι.  Σε αυτό το σημείο μπορούμε να εξηγήσουμε (ή να θυμίσουμε από το μάθημα) ότι στον αλγόριθμο της φυσσαλίδας, κάθε επανάληψη του εξωτερικού βρόχου, εξασφαλίζει την 'άνοδο' της επόμενης φυσσαλίδας... στη θέση .... (i-1)

     |  Φυσσαλίδα στη
  i  |  θέση (του πίνακα)
-------------------------
  2  |                        1
  3  |                        2
  4  |                        3
  5  |                        4
.

. κ.ο.κ.

Δηλ. μετά από κάθε μία επανάληψη, στην 'κορυφή' του πίνακα θα προστίθεται ακόμα μία φυσσαλίδα, η επόμενη στη σειρά.  

Έτσι μπορεί να οδηγηθεί στη σκέψη ότι δεν είναι απαραίτητη η εκτέλεση όλων των επαναλήψεων του εξωτερικού βρόχου...αρκεί να γίνουν τόσες επαναλήψεις όσα  (μικρότερα ή μεγαλύτερα) στοιχεία θέλουμε να βρούμε.

Στο συγκεκριμένο πρόβλημα, επομένως, θα αρκεί η λύση:

ΓΙΑ  i ΑΠΟ  2 ΜΕΧΡΙ  6
  ΓΙΑ j ΑΠΟ 150 ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ -1
    αντιμετάθεσε μισθός[j], μισθός[j-1]
    αντιμετάθεσε όνομα[j], όνομα[j-1]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Αυτό το σκεπτικό μπορεί να εφαρμοστεί σε πολλές παρόμοιες ασκήσεις οπότε να αποφεύγεται η ανώφελη ταξινόμηση του συνόλου των στοιχείων, όπως στη επόμενη άσκηση:

_______________________________________________________________________
Το άγημα που θα εκπροσωπήσει μία στρατιωτική μονάδα στην παρέλαση της 25ης Μαρτίου αποτελείται από τους 40 ψηλότερους οπλίτες της μονάδας.  Κατασκευάστε πρόγραμμα που θα ζητάει το όνομα και το ύψος για κάθε ένα από του 2200 οπλίτες της μονάδας και θα εμφανίζει τα ονόματα αυτών που θα αποτελέσουν το άγημα της παρέλασης.  Φροντίστε ώστε η λύση που θα δώσετε να ΜΗΝ ΤΑΞΙΝΟΜΕΙ ΤΟ ΣΥΝΟΛΟ των στοιχείων προκειμένου να επιλέξει μόνο αυτούς που 'επιλέγονται'
Τίτλος: Re: Ασκήσεις στους πίνακες
Αποστολή από: mxeg στις 31 Μαρ 2003, 08:56:15 ΠΜ
όσον αφορά την  « Απάντηση #12 εστάλη: Μάρτος 28th, 2003, 10:37pm »
η παρατήρησή σου είναι σωστή, μου αρκεί όμως ο μαθητής να σκεφτεί την ταξινόμηση
Τίτλος: Re: Ασκήσεις στους πίνακες
Αποστολή από: bugman στις 28 Απρ 2003, 07:07:42 ΜΜ
Τα γράφω με τον δικό μου τρόπο (μην βαράτε είμαι ένας απλός τεχνολόγος πετρελαίων!)
Περί της άσκησης με τα 150 ονόματα, μισθοί και τους ζητούμενους 5 μικρότερους μισθούς.
Από ό,τι βλέπω ξεχάσατε το βασικότερο: Θα πρέπει να κοιτάμε και την ταχύτητα. Π.χ. αν τα ονόματα διαβάζονται από τον δίσκο τότε αυτή είναι μια αργή διαδικασία, ενώ αν είναι όλα τα ονόματα στην μνήμη, η ταξινόμηση με quick sort στην μνήμη είναι πάρα μα πάρα πολύ γρήγορη! Με απλά λόγια το ζήτημα είναι να δεις τα 150 ή 150.000 ονόματα μια φορά (με μια Για ) και να δημιουργήσεις μια **ουρά** που θα έχεις τις πέντε μικρότερες τιμές!
άν έχουμε ένα σύνολο με μισθός[κ], όνομα[κ] οπου κ=1 εως 150
φτιάχνουμε ένα δεύτερο σύνολο μισθός2[λ], όνομα2[λ] οπου λ=1 εως 5
μεταβλητές χειρισμού:
Μ = δείκτης ζεύγους μισθού-ονόματος (2..150) διότι το 1 το έχουμε αντιγράψει στο 2ο σύνολο από την αρχή
Ν= μέγεθος δεύτερου σύνολου (1..5)

μισθός2(1)<--μισθός(1)
όνομα2(1)<--όνομα(1)
Ν<--1
Για Μ από 2 ΕΩΣ 150
Αν μισθός(Μ)<μισθός2(1) τότε
Αν Ν<5 τοτε Ν=Ν+1:μισθός2(Ν)<--μισθός(Μ): όνομα2(Ν)<--όνομα(Μ):ΤαξινόμησηΦυσαλίδας(Ν)
Αλλιώς  μισθός2(1)<--μισθός(Μ): όνομα2(1)<--όνομα(Μ):ΤαξινόμησηΦυσαλίδας(5)
τελος_αν
τελος_αν
τέλος_επανάληψης

Η χειρότερη περίπτωση είναι: να είναι ολα τα στοιχεία γραμμένα από το μεγαλύτερο προς το μικρότερο!
--Έχω γράψει μόνο την φιλοσοφία και όχι τα επιμέρους όπως η διαδικασία της φυσαλλίδας ή ότι άλλο ΄για την περίπτωση--

Επιπλέον αυτό δουλεύει και για απροσδιόριστο αριθμό ονομάτων-τιμών (αρκεί να ορίσουμε ένα συνθηματικό π.χ. κενό όνομα για τέλος εισαγωγής)


Τίτλος: Re: ΑΠΑΝΤΗΣΗ ΣΤΗΝ ΠΑΡΑΠΑΝΩ ΑΣΚΗΣΗ ΤΟΥ  Κων/νου Μαν
Αποστολή από: mxeg στις 07 Απρ 2004, 11:20:08 ΜΜ
 ΑΠΑΝΤΗΣΗ ΣΤΗΝ ΠΑΡΑΠΑΝΩ ΑΣΚΗΣΗ ΤΟΥ  Κων/νου Μανολοπουλου
Nα γράψτε προγραμμα σε Γλώσσα το οποίο
θα διαβαζει μια προταση 20 χαρκτήρων και θα  
τυπωνει τη συχνότητα εμφάνισης καθε γράμματος

!υποθέτουμε ότι η χαρακτήρες βρίσκονται σ ένα πίνακα (Α) μονοδιάστατο
!βρίσκουμε τα διαφορετικά στοιχεία και τα καταχωρούμε σ ένα  πίνακα (Β)

ΠΡΟΓΡΑΜΜΑ ΣΥΧΝΟΤΗΤΑ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ:ΠΛΗΘΟΣ[20],Ι,Κ,ΘΕΣΗ
  ΧΑΡΑΚΤΗΡΕΣ:Α[20],Β[20],
  ΛΟΓΙΚΗ:ΒΡΕΘΗΚΕ
ΑΡΧΗ
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 20
    ΓΡΑΨΕ ' ΔΩΣΕ ΤΟΝ',Ι,'ΧΑΡΑΚΤΗΡΑ '
    ΔΙΑΒΑΣΕ Α[Ι]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  Β[1] <-- Α[1]
  ΘΕΣΗ <-- 1
  ΓΙΑ Ι ΑΠΟ 2 ΜΕΧΡΙ 20
    Κ <-- 1
    ΒΡΕΘΗΚΕ <-- ΨΕΥΔΗΣ
    ΟΣΟ (Κ<=ΘΕΣΗ) ΚΑΙ (ΒΡΕΘΗΚΕ=ΨΕΥΔΗΣ) ΕΠΑΝΑΛΑΒΕ
      ΑΝ Α[Ι]=Β[Κ] ΤΟΤΕ
        ΒΡΕΘΗΚΕ <-- ΑΛΗΘΗΣ
      ΑΛΛΙΩΣ
        Κ <-- Κ+1
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΑΝ ΒΡΕΘΗΚΕ=ΨΕΥΔΗΣ ΤΟΤΕ
      ΘΕΣΗ <-- ΘΕΣΗ+1
      Β[ΘΕΣΗ] <-- Α[Ι]
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
!Ο ΠΙΝΑΚΑΣ (Β) ΠΕΡΙΕΧΕΙ ΤΟΥΣ ΜΟΝΑΔΙΚΟΥΣ ΧΑΡΑΚΤΗΡΕΣ
!ΥΠΟΛΟΓΙΖΩ ΤΩΡΑ ΤΗΝ ΣΥΧΝΟΤΗΤΑ ΤΩΝ ΓΡΑΜΜΑΤΩΝ
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ ΘΕΣΗ
    ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 20
      ΑΝ Α[Κ]=Β[Ι] ΤΟΤΕ
        ΠΛΗΘΟΣ[Ι] <-- ΠΛΗΘΟΣ[Ι]+1
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ ΘΕΣΗ
    ΓΡΑΨΕ Β[Ι],' ',ΠΛΗΘΟΣ[Ι]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ    


Τίτλος: Re: Ασκήσεις στους πίνακες ΑΠΑΝΤΗΣΗ ΣΤΗΝ ΠΑΡΑΠΑΝΩ
Αποστολή από: Μαρουλάκης Χαράλαμπος στις 07 Απρ 2004, 11:28:48 ΜΜ
 ΑΠΑΝΤΗΣΗ ΣΤΗΝ ΠΑΡΑΠΑΝΩ ΑΣΚΗΣΗ ΤΟΥ  Κων/νου Μανολοπουλου
Nα γράψτε προγραμμα σε Γλώσσα το οποίο
θα διαβαζει μια προταση 20 χαρκτήρων και θα  
τυπωνει τη συχνότητα εμφάνισης καθε γράμματος

!υποθέτουμε ότι η χαρακτήρες βρίσκονται σ ένα πίνακα (Α) μονοδιάστατο
!βρίσκουμε τα διαφορετικά στοιχεία και τα καταχωρούμε σ ένα  πίνακα (Β)

ΠΡΟΓΡΑΜΜΑ ΣΥΧΝΟΤΗΤΑ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ:ΠΛΗΘΟΣ[20],Ι,Κ,ΘΕΣΗ
  ΧΑΡΑΚΤΗΡΕΣ:Α[20],Β[20],
  ΛΟΓΙΚΗ:ΒΡΕΘΗΚΕ
ΑΡΧΗ
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 20
    ΓΡΑΨΕ ' ΔΩΣΕ ΤΟΝ',Ι,'ΧΑΡΑΚΤΗΡΑ '
    ΔΙΑΒΑΣΕ Α[Ι]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  Β[1] <-- Α[1]
  ΘΕΣΗ <-- 1
  ΓΙΑ Ι ΑΠΟ 2 ΜΕΧΡΙ 20
    Κ <-- 1
    ΒΡΕΘΗΚΕ <-- ΨΕΥΔΗΣ
    ΟΣΟ (Κ<=ΘΕΣΗ) ΚΑΙ (ΒΡΕΘΗΚΕ=ΨΕΥΔΗΣ) ΕΠΑΝΑΛΑΒΕ
      ΑΝ Α[Ι]=Β[Κ] ΤΟΤΕ
        ΒΡΕΘΗΚΕ <-- ΑΛΗΘΗΣ
      ΑΛΛΙΩΣ
        Κ <-- Κ+1
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΑΝ ΒΡΕΘΗΚΕ=ΨΕΥΔΗΣ ΤΟΤΕ
      ΘΕΣΗ <-- ΘΕΣΗ+1
      Β[ΘΕΣΗ] <-- Α[Ι]
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
!Ο ΠΙΝΑΚΑΣ (Β) ΠΕΡΙΕΧΕΙ ΤΟΥΣ ΜΟΝΑΔΙΚΟΥΣ ΧΑΡΑΚΤΗΡΕΣ
!ΥΠΟΛΟΓΙΖΩ ΤΩΡΑ ΤΗΝ ΣΥΧΝΟΤΗΤΑ ΤΩΝ ΓΡΑΜΜΑΤΩΝ
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ ΘΕΣΗ
    ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 20
      ΑΝ Α[Κ]=Β[Ι] ΤΟΤΕ
        ΠΛΗΘΟΣ[Ι] <-- ΠΛΗΘΟΣ[Ι]+1
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ ΘΕΣΗ
    ΓΡΑΨΕ Β[Ι],' ',ΠΛΗΘΟΣ[Ι]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ    
Τίτλος: Re: Ασκήσεις στους πίνακες
Αποστολή από: nekis στις 20 Δεκ 2004, 11:26:58 ΠΜ
 :-/ Αγαπητοί συναγωνιστές, έχω να προτείνω μια άσκηση για συζήτηση.

Σε μια σκακιέρα (δισδιάστατος α[8,8] )τοποθετούμε αρχικά έναν λευκό ίππο και δεχόμαστε είσοδο για τη θέση ενός μαύρου ίππου. Η έξοδος του αλγόριθμου είναι αν τα δυο κομμάτια "τρώγονται".

Θεωρώ ότι η άσκηση μπορεί να επεκταθεί σε πολλές άλλες εκδοχές  και με άλλα κομμάτια.