SlideShare une entreprise Scribd logo
1  sur  18
Κεφ. 9 Πίνακες
                    Περιεχόμενα

Μονοδιάστατοι πίνακες
Πότε πρέπει να χρησιμοποιούνται πίνακες
Πολυδιάστατοι πίνακες
Τυπικές επεξεργασίες πινάκων




Ιωάννου Γιαννάκης
&9.1 Μονοδιάστατοι Πίνακες
   Πολλά προβλήματα απλά επεξεργάζονται μία σειρά δεδομένων διαβάζουν ένα
    δεδομένο και το εκχωρούν σε μία μεταβλητή.
Παράδειγμα
Πρόγραμμα το οποίο διαβάζει τις θερμοκρασίες 30 ημερών και υπολογίζει την μέση
   θερμοκρασία.




   Αν ζητείται και ο αριθμός των ημερών που η θερμοκρασία ήταν κατώτερη της
    μέσης, τότε η σύγκριση αυτή πρέπει να γίνει μετά τον υπολογισμό της μέσης
    θερμοκρασίας.
   Αυτό σημαίνει ότι όλες οι θερμοκρασίες πρέπει να επαναεισαχθούν για να
    συγκριθούν με τη μέση.
&9.1 Μονοδιάστατοι Πίνακες
   Μία άλλη λύση είναι να καταχωρηθεί κάθε θερμοκρασία σε διαφορετική
    μεταβλητή, έτσι ώστε κάθε τιμή που εισάγεται να διατηρείται στη μνήμη
    και να μπορεί να συγκριθεί με τη μέση, αφού αυτή υπολογιστεί.
   Τότε πρέπει να δημιουργηθούν 30 διαφορετικές μεταβλητές
    Θερμοκρασία1, Θερμοκρασία2,..., Θερμοκρασία30.
   Για να γραφεί το πρόγραμμα χρειάζονται τριάντα εντολές ΔΙΑΒΑΣΕ και
    τριάντα εντολές ΑΝ.
   Αν και αυτή η λύση είναι σωστή και πρακτική για μικρό αριθμό
    δεδομένων, προφανώς δεν εξυπηρετεί την επεξεργασία μεγάλου αριθμού
    δεδομένων.
&9.1 Μονοδιάστατοι Πίνακες
    Η λύση είναι η χρήση μεταβλητής με δείκτες, έννοια που
    είναι γνωστή από τα μαθηματικά και υλοποιείται στον
    προγραμματισμό με τη δομή δεδομένων του πίνακα.
   Χρησιμοποιείται λοιπόν μόνο ένα όνομα Θερμοκρασία, που
    αναφέρεται και στις τριάντα διαφορετικές θερμοκρασίες.
   Το όνομα του πίνακα καθορίζει μία ομάδα διαδοχικών θέσεων
    στη μνήμη.
&9.1 Μονοδιάστατοι Πίνακες
   Κάθε συγκεκριμένη θέση μνήμης καλείται στοιχείο του
    πίνακα και προσδιορίζεται από την τιμή ενός δείκτη, όπως
    φαίνεται και στο σχήμα:
&9.1 Μονοδιάστατοι Πίνακες
   Οι πίνακες που χρησιμοποιούν ένα μόνο δείκτη για την αναφορά των στοιχείων
    τους, ονομάζονται μονοδιάστατοι πίνακες.
   Το όνομα του πίνακα μπορεί να είναι οποιοδήποτε δεκτό όνομα της ΓΛΩΣΣΑΣ και
    ο δείκτης είναι μία ακέραια έκφραση, σταθερή ή μεταβλητή που περικλείεται μέσα
    στα σύμβολα [ και ].
   Το στοιχείο Θερμοκρασία[i] αναφέρεται στο i-οστό στοιχείο του πίνακα.
   Κάθε πίνακας πρέπει υποχρεωτικά να περιέχει δεδομένα του ιδίου τύπου. Ο τύπος
    του πίνακα δηλώνεται μαζί με τις άλλες μεταβλητές του προγράμματος στο τμήμα
    δήλωσης μεταβλητών.
   Θα πρέπει επίσης να δηλώνεται και ο αριθμός των στοιχείων που περιέχει ή
    καλύτερα ο μεγαλύτερος αριθμός που μπορεί να έχει και αυτό για να δεσμευτούν οι
    αντίστοιχες συνεχόμενες θέσεις μνήμης.
&9.1 Μονοδιάστατοι Πίνακες
&9.1 Μονοδιάστατοι Πίνακες
Παράδειγμα 1
Να γραφεί πρόγραμμα που να διαβάζει την θερμοκρασία 30 ημερών και να υπολογίζει
   τη μέση θερμοκρασία καθώς και τον αριθμό των ημερών με θερμοκρασία
   κατώτερη της μέσης.
&9.1 Μονοδιάστατοι Πίνακες
Παράδειγμα 2
Να γραφεί πρόγραμμα το οποίο να υπολογίζει τα βασικά στατιστικά μεγέθη, τη μέση
   τιμή, την τυπική απόκλιση και τη διάμεσο τιμή Ν ακεραίων αριθμών, όπου το Ν
   είναι από 2 μέχρι 100.




Για να βρεθεί η διάμεσος τιμή πρέπει υποχρεωτικά οι αριθμοί να ταξινομηθούν κατά
    αύξουσα σειρά. Τότε η διάμεσος τιμή, είναι η τιμή για την οποία οι μισοί αριθμοί
    είναι μικρότεροι και οι άλλοι μισοί μεγαλύτεροι. Στην περίπτωση που το πλήθος
    των αριθμών είναι περιττό, τότε η διάμεσος είναι ο μεσαίος, ενώ στην περίπτωση
    που είναι άρτιο, τότε η διάμεσος είναι το ημιάθροισμα των δύο μεσαίων αριθμών.
&9.1 Μονοδιάστατοι Πίνακες
&9.1 Μονοδιάστατοι Πίνακες
&9.2 Πότε πρέπει να χρησιμοποιούνται
               πίνακες
   Η χρήση πινάκων είναι ένας τρόπος για τη διαχείριση πολλών δεδομένων
    ιδίου τύπου.

Μειονεκτήματα από τη χρήση πινάκων:
 Οι πίνακες απαιτούν μνήμη. Κάθε πίνακας δεσμεύει από την αρχή του
  προγράμματος πολλές θέσεις μνήμης.
 Οι πίνακες περιορίζουν τις δυνατότητες του προγράμματος. Αυτό γιατί οι
  πίνακες είναι στατικές δομές και το μέγεθος τους πρέπει να δηλώνεται
  στην αρχή του προγράμματος, ενώ παραμένει υποχρεωτικά σταθερό κατά
  την εκτέλεση του προγράμματος.

Η απόφαση για τη χρήση ή όχι πίνακα για τη διαχείριση των δεδομένων είναι
   κυρίως θέμα εμπειρίας στον προγραμματισμό.
&9.3 Πολυδιάστατοι Πίνακες
Έστω ότι οι θερμοκρασίες δίνονται από τον παρακάτω δισδιάστατο
  πίνακα 30x10:




Ο πίνακας αυτός έχει θερμοκρασίες για 30 ημέρες για δέκα
   διαφορετικές πόλεις. Για να καθοριστεί κάθε στοιχείο χρειάζονται
   δύο δείκτες, ο ένας για την ημέρα και ο δεύτερος για την πόλη.
Για την επεξεργασία των θερμοκρασιών μπορεί να χρησιμοποιηθεί
   ένας δισδιάστατος πίνακας, στον οποίο ο πρώτος δείκτης δείχνει τη
   γραμμή και ο δεύτερος τη στήλη. Π.χ. το στοιχείο
   Θερμοκρασία[30,1] έχει τιμή 27.
&9.3 Πολυδιάστατοι Πίνακες
Παράδειγμα 3
Να γραφεί πρόγραμμα που να
  υπολογίζει τη μέση θερμοκρασία
  κάθε πόλης για τον προηγούμενο
  πίνακα θερμοκρασιών (δίδονται
  30 θερμοκρασίες 10 πόλεων).
  Επίσης, για κάθε πόλη, να
  υπολογίζει πόσες ημέρες η
  θερμοκρασία ήταν κατώτερη από
  την αντίστοιχη μέση.
&9.3 Πολυδιάστατοι Πίνακες
Παράδειγμα 4

Να γραφεί πρόγραμμα το οποίο:
a.   Να διαβάζει τα ονόματα δέκα κινηματογράφων και τις
     αντίστοιχες εισπράξεις τους για κάθε ημέρα μίας
     εβδομάδας.
b.   Να υπολογίζει και να εκτυπώνει το άθροισμα των
     εισπράξεων κάθε κινηματογράφου, καθώς και τον
     κινηματογράφο με τη μέγιστη συνολική είσπραξη.
c.   Να υπολογίζει και να εκτυπώνει το άθροισμα των
     εισπράξεων κάθε ημέρας, καθώς και την ημέρα με τη
     μέγιστη συνολική είσπραξη.
&9.3 Πολυδιάστατοι Πίνακες
&9.3 Πολυδιάστατοι Πίνακες
&9.4 Τυπικές επεξεργασίες Πινάκων
  Υπολογισμός αθροισμάτων στοιχείων του πίνακα
Πολύ συχνά απαιτείται ο υπολογισμός του αθροίσματος στοιχείων του
   πίνακα που έχουν κοινά χαρακτηριστικά.
 Εύρεση του μέγιστου ή του ελάχιστου στοιχείου
Αν ο πίνακας είναι ταξινομημένος, τότε πρέπει να συγκριθούν τα
   στοιχεία ένα προς ένα, για να βρεθεί το μέγιστο ή το ελάχιστο. Αν
   είναι ταξινομημένος, τότε το μέγιστο ή το ελάχιστο βρίσκονται στα
   δύο ακριανά στοιχεία του πίνακα.
 Ταξινόμηση των στοιχείων του πίνακα

Στο κεφάλαιο 3 είδαμε τη μέθοδο της ευθείας ανταλλαγής. Αυτή είναι
   από τις απλούστερες αλλά δεν είναι η πιο αποδοτική.
 Αναζήτηση ενός στοιχείου του πίνακα
Δύο είναι οι πλέον διαδεδομένοι αλγόριθμοι αναζήτησης:
    – Η σειριακή αναζήτηση
    Είναι οι πιο απλή και η λιγότερη αποδοτική. Χρησιμοποιείται σε μη
       ταξινομημένους πίνακες.
    – Η δυαδική αναζήτηση
    Είναι αποδοτικότερη και χρησιμοποιείται σε ταξινομημένους πίνακες
 Συγχώνευση δύο πινάκων
Σκοπός της συγχώνευσης είναι η δημιουργία από τα στοιχεία δύο (ή
  περισσότερων) ταξινομημένων πινάκων ενός άλλου ταξινομημένου
  πίνακα.

Contenu connexe

Tendances

πληρης θεωρια αεππ ερωτησεις απαντησεις
πληρης θεωρια αεππ ερωτησεις απαντησειςπληρης θεωρια αεππ ερωτησεις απαντησεις
πληρης θεωρια αεππ ερωτησεις απαντησεις
Anastasios Timotheidis
 
Διαγώνισμα Πληροφορικής Β Γυμνασίου
Διαγώνισμα Πληροφορικής Β Γυμνασίου Διαγώνισμα Πληροφορικής Β Γυμνασίου
Διαγώνισμα Πληροφορικής Β Γυμνασίου
Fotini Pog
 
Λειτουργικα Συστήματα - Μάθημα 1- Εισαγωγή
Λειτουργικα Συστήματα - Μάθημα 1- ΕισαγωγήΛειτουργικα Συστήματα - Μάθημα 1- Εισαγωγή
Λειτουργικα Συστήματα - Μάθημα 1- Εισαγωγή
edioudi
 
ΑΕΠΠ: 21ο Φύλλο Ασκήσεων
ΑΕΠΠ: 21ο Φύλλο ΑσκήσεωνΑΕΠΠ: 21ο Φύλλο Ασκήσεων
ΑΕΠΠ: 21ο Φύλλο Ασκήσεων
Nikos Michailidis
 

Tendances (20)

Αλγοριθμική Δομή Επιλογής
Αλγοριθμική Δομή ΕπιλογήςΑλγοριθμική Δομή Επιλογής
Αλγοριθμική Δομή Επιλογής
 
Δομή Επανάληψης
Δομή ΕπανάληψηςΔομή Επανάληψης
Δομή Επανάληψης
 
εντολές και-δομές-αλγορίθμου
εντολές και-δομές-αλγορίθμουεντολές και-δομές-αλγορίθμου
εντολές και-δομές-αλγορίθμου
 
2.2.7.2 δομή ακολουθίας
2.2.7.2 δομή ακολουθίας2.2.7.2 δομή ακολουθίας
2.2.7.2 δομή ακολουθίας
 
Aσκήσεις Python (θεωρία)
Aσκήσεις Python (θεωρία)Aσκήσεις Python (θεωρία)
Aσκήσεις Python (θεωρία)
 
ΑΕΠΠ, Δομή Επανάληψης, Μεθοδολογία & υποδειγματικά λυμένες ασκήσεις
ΑΕΠΠ, Δομή Επανάληψης, Μεθοδολογία & υποδειγματικά λυμένες ασκήσειςΑΕΠΠ, Δομή Επανάληψης, Μεθοδολογία & υποδειγματικά λυμένες ασκήσεις
ΑΕΠΠ, Δομή Επανάληψης, Μεθοδολογία & υποδειγματικά λυμένες ασκήσεις
 
Φύλλο Εργασίας για Λογικές Εκφράσεις & Δομή Επιλογής
Φύλλο Εργασίας για Λογικές Εκφράσεις & Δομή ΕπιλογήςΦύλλο Εργασίας για Λογικές Εκφράσεις & Δομή Επιλογής
Φύλλο Εργασίας για Λογικές Εκφράσεις & Δομή Επιλογής
 
πληρης θεωρια αεππ ερωτησεις απαντησεις
πληρης θεωρια αεππ ερωτησεις απαντησειςπληρης θεωρια αεππ ερωτησεις απαντησεις
πληρης θεωρια αεππ ερωτησεις απαντησεις
 
Ασκήσεις στο δομή ακολουθίας
Ασκήσεις στο δομή ακολουθίαςΑσκήσεις στο δομή ακολουθίας
Ασκήσεις στο δομή ακολουθίας
 
ΠΛΗ10 ΜΑΘΗΜΑ 1.3
ΠΛΗ10 ΜΑΘΗΜΑ 1.3ΠΛΗ10 ΜΑΘΗΜΑ 1.3
ΠΛΗ10 ΜΑΘΗΜΑ 1.3
 
Διαγώνισμα Πληροφορικής Β Γυμνασίου
Διαγώνισμα Πληροφορικής Β Γυμνασίου Διαγώνισμα Πληροφορικής Β Γυμνασίου
Διαγώνισμα Πληροφορικής Β Γυμνασίου
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 7 - ΠΙΝΑΚΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 7 - ΠΙΝΑΚΕΣΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 7 - ΠΙΝΑΚΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 7 - ΠΙΝΑΚΕΣ
 
2.1 - Problem
2.1 - Problem2.1 - Problem
2.1 - Problem
 
Μέχρις_ότου - Σύγκριση με Όσο...επανάλαβε - Γενικές Παρατηρήσεις
Μέχρις_ότου - Σύγκριση με Όσο...επανάλαβε - Γενικές ΠαρατηρήσειςΜέχρις_ότου - Σύγκριση με Όσο...επανάλαβε - Γενικές Παρατηρήσεις
Μέχρις_ότου - Σύγκριση με Όσο...επανάλαβε - Γενικές Παρατηρήσεις
 
Απλή και σύνθετη δομή επιλογής
Απλή και σύνθετη δομή επιλογήςΑπλή και σύνθετη δομή επιλογής
Απλή και σύνθετη δομή επιλογής
 
Python Κεφ. 1.4 Δομή Επανάληψης
Python Κεφ. 1.4 Δομή ΕπανάληψηςPython Κεφ. 1.4 Δομή Επανάληψης
Python Κεφ. 1.4 Δομή Επανάληψης
 
Λειτουργικα Συστήματα - Μάθημα 1- Εισαγωγή
Λειτουργικα Συστήματα - Μάθημα 1- ΕισαγωγήΛειτουργικα Συστήματα - Μάθημα 1- Εισαγωγή
Λειτουργικα Συστήματα - Μάθημα 1- Εισαγωγή
 
ΑΕΠΠ: 21ο Φύλλο Ασκήσεων
ΑΕΠΠ: 21ο Φύλλο ΑσκήσεωνΑΕΠΠ: 21ο Φύλλο Ασκήσεων
ΑΕΠΠ: 21ο Φύλλο Ασκήσεων
 
Πρόβλημα
ΠρόβλημαΠρόβλημα
Πρόβλημα
 
Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 2 2 7_3
Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 2 2 7_3Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 2 2 7_3
Εισαγωγή στις αρχές της επιστήμης των ΗΥ Κεφ 2 2 7_3
 

En vedette

κινηματογραφικο εργαστήρι πολιτιστικό πρόγραμμα
κινηματογραφικο εργαστήρι   πολιτιστικό πρόγραμμακινηματογραφικο εργαστήρι   πολιτιστικό πρόγραμμα
κινηματογραφικο εργαστήρι πολιτιστικό πρόγραμμα
oknavas
 
Classificação seniores 2015
Classificação seniores 2015Classificação seniores 2015
Classificação seniores 2015
Bruno Ferreira
 
Sistem pendidikan berorientasikan peperksn latest
Sistem pendidikan berorientasikan peperksn latestSistem pendidikan berorientasikan peperksn latest
Sistem pendidikan berorientasikan peperksn latest
روقيه عثمان
 
05 service design innovation
05 service design innovation05 service design innovation
05 service design innovation
JY LEE
 
Accident investigation
Accident investigationAccident investigation
Accident investigation
Jim Willson
 

En vedette (17)

κινηματογραφικο εργαστήρι πολιτιστικό πρόγραμμα
κινηματογραφικο εργαστήρι   πολιτιστικό πρόγραμμακινηματογραφικο εργαστήρι   πολιτιστικό πρόγραμμα
κινηματογραφικο εργαστήρι πολιτιστικό πρόγραμμα
 
Recruiting Optimization Roadshow - Daniel Chait, Greenhouse
Recruiting Optimization Roadshow - Daniel Chait, GreenhouseRecruiting Optimization Roadshow - Daniel Chait, Greenhouse
Recruiting Optimization Roadshow - Daniel Chait, Greenhouse
 
Pxs nov2016-company-presentation
Pxs nov2016-company-presentationPxs nov2016-company-presentation
Pxs nov2016-company-presentation
 
Solar Water Heater Manufacturer In Pune - Siddhakala Renewable Energy System
Solar Water Heater Manufacturer In Pune - Siddhakala Renewable Energy SystemSolar Water Heater Manufacturer In Pune - Siddhakala Renewable Energy System
Solar Water Heater Manufacturer In Pune - Siddhakala Renewable Energy System
 
CMT attestation AGA KHAN 2003
CMT attestation AGA KHAN 2003CMT attestation AGA KHAN 2003
CMT attestation AGA KHAN 2003
 
Classificação seniores 2015
Classificação seniores 2015Classificação seniores 2015
Classificação seniores 2015
 
Pyxis tanker company presentation - march 2016 - final
Pyxis tanker   company presentation - march 2016 - finalPyxis tanker   company presentation - march 2016 - final
Pyxis tanker company presentation - march 2016 - final
 
GRI SW
GRI  SWGRI  SW
GRI SW
 
Employer Branding – how to win the «war for talents» on Web 2.0
Employer Branding – how to win the «war for talents» on Web 2.0Employer Branding – how to win the «war for talents» on Web 2.0
Employer Branding – how to win the «war for talents» on Web 2.0
 
Projeto estágio III
Projeto estágio III Projeto estágio III
Projeto estágio III
 
Urban sustainable vegetation management RS presentation slideshare
Urban sustainable vegetation management RS presentation slideshareUrban sustainable vegetation management RS presentation slideshare
Urban sustainable vegetation management RS presentation slideshare
 
Sistem pendidikan berorientasikan peperksn latest
Sistem pendidikan berorientasikan peperksn latestSistem pendidikan berorientasikan peperksn latest
Sistem pendidikan berorientasikan peperksn latest
 
05 service design innovation
05 service design innovation05 service design innovation
05 service design innovation
 
Accident investigation
Accident investigationAccident investigation
Accident investigation
 
Project (entrepreneur interview)
Project (entrepreneur interview)Project (entrepreneur interview)
Project (entrepreneur interview)
 
Dory.Wms
Dory.WmsDory.Wms
Dory.Wms
 
Διαδραστικοί Πίνακες
Διαδραστικοί ΠίνακεςΔιαδραστικοί Πίνακες
Διαδραστικοί Πίνακες
 

Plus de Ιωάννου Γιαννάκης

Plus de Ιωάννου Γιαννάκης (20)

Karel The Robot
Karel The RobotKarel The Robot
Karel The Robot
 
MakeCode.ppt
MakeCode.pptMakeCode.ppt
MakeCode.ppt
 
App inventor2
App inventor2App inventor2
App inventor2
 
Pencil code
Pencil codePencil code
Pencil code
 
Cloud computing
 Cloud computing Cloud computing
Cloud computing
 
Proxy server
Proxy serverProxy server
Proxy server
 
Alice 3
Alice 3Alice 3
Alice 3
 
Εισαγωγή στο Alice 3
Εισαγωγή στο Alice 3Εισαγωγή στο Alice 3
Εισαγωγή στο Alice 3
 
11 συγχρονισμός ώρας συστήματος
11 συγχρονισμός ώρας συστήματος11 συγχρονισμός ώρας συστήματος
11 συγχρονισμός ώρας συστήματος
 
Σωληνώσεις cat sort tee
Σωληνώσεις cat sort teeΣωληνώσεις cat sort tee
Σωληνώσεις cat sort tee
 
Παρακολούθηση διεργασιών
Παρακολούθηση διεργασιώνΠαρακολούθηση διεργασιών
Παρακολούθηση διεργασιών
 
Eντολή Chmod
Eντολή ChmodEντολή Chmod
Eντολή Chmod
 
Eντολές More less head tail
Eντολές More less head tailEντολές More less head tail
Eντολές More less head tail
 
Εντολές lp wc grep
Εντολές lp wc grepΕντολές lp wc grep
Εντολές lp wc grep
 
10 εντολές cp mv rm ln
10 εντολές cp mv rm ln10 εντολές cp mv rm ln
10 εντολές cp mv rm ln
 
09 εντολές mkdir rmdir
09 εντολές mkdir rmdir09 εντολές mkdir rmdir
09 εντολές mkdir rmdir
 
08 εντολή cd
08 εντολή cd08 εντολή cd
08 εντολή cd
 
07 εντολές pwd ls
07 εντολές pwd ls07 εντολές pwd ls
07 εντολές pwd ls
 
06 εντολές clear cal date finger
06 εντολές clear cal date finger06 εντολές clear cal date finger
06 εντολές clear cal date finger
 
05 απόλυτη σχετική διαδρομή
05 απόλυτη  σχετική διαδρομή05 απόλυτη  σχετική διαδρομή
05 απόλυτη σχετική διαδρομή
 

Dernier

5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
Athina Tziaki
 

Dernier (9)

Μαθητικές καταλήψεις
Μαθητικές                                  καταλήψειςΜαθητικές                                  καταλήψεις
Μαθητικές καταλήψεις
 
ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ  : ΕΠΑΝΑΛΗΨΗ 2024ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ  : ΕΠΑΝΑΛΗΨΗ 2024
ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
 
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 1ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ  ΜΕΡΟΣ 1ο ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ  ΜΕΡΟΣ 1ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 1ο
 
Σουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνηΣουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνη
 
Σεβασμός .
Σεβασμός                                   .Σεβασμός                                   .
Σεβασμός .
 
Μαθητικά συμβούλια .
Μαθητικά συμβούλια                                  .Μαθητικά συμβούλια                                  .
Μαθητικά συμβούλια .
 
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
 
-Διψήφιοι αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη
-Διψήφιοι  αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη-Διψήφιοι  αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη
-Διψήφιοι αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη
 
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2οΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
 

Κεφ. 9 Πίνακες

  • 1. Κεφ. 9 Πίνακες Περιεχόμενα Μονοδιάστατοι πίνακες Πότε πρέπει να χρησιμοποιούνται πίνακες Πολυδιάστατοι πίνακες Τυπικές επεξεργασίες πινάκων Ιωάννου Γιαννάκης
  • 2. &9.1 Μονοδιάστατοι Πίνακες  Πολλά προβλήματα απλά επεξεργάζονται μία σειρά δεδομένων διαβάζουν ένα δεδομένο και το εκχωρούν σε μία μεταβλητή. Παράδειγμα Πρόγραμμα το οποίο διαβάζει τις θερμοκρασίες 30 ημερών και υπολογίζει την μέση θερμοκρασία.  Αν ζητείται και ο αριθμός των ημερών που η θερμοκρασία ήταν κατώτερη της μέσης, τότε η σύγκριση αυτή πρέπει να γίνει μετά τον υπολογισμό της μέσης θερμοκρασίας.  Αυτό σημαίνει ότι όλες οι θερμοκρασίες πρέπει να επαναεισαχθούν για να συγκριθούν με τη μέση.
  • 3. &9.1 Μονοδιάστατοι Πίνακες  Μία άλλη λύση είναι να καταχωρηθεί κάθε θερμοκρασία σε διαφορετική μεταβλητή, έτσι ώστε κάθε τιμή που εισάγεται να διατηρείται στη μνήμη και να μπορεί να συγκριθεί με τη μέση, αφού αυτή υπολογιστεί.  Τότε πρέπει να δημιουργηθούν 30 διαφορετικές μεταβλητές Θερμοκρασία1, Θερμοκρασία2,..., Θερμοκρασία30.  Για να γραφεί το πρόγραμμα χρειάζονται τριάντα εντολές ΔΙΑΒΑΣΕ και τριάντα εντολές ΑΝ.  Αν και αυτή η λύση είναι σωστή και πρακτική για μικρό αριθμό δεδομένων, προφανώς δεν εξυπηρετεί την επεξεργασία μεγάλου αριθμού δεδομένων.
  • 4. &9.1 Μονοδιάστατοι Πίνακες  Η λύση είναι η χρήση μεταβλητής με δείκτες, έννοια που είναι γνωστή από τα μαθηματικά και υλοποιείται στον προγραμματισμό με τη δομή δεδομένων του πίνακα.  Χρησιμοποιείται λοιπόν μόνο ένα όνομα Θερμοκρασία, που αναφέρεται και στις τριάντα διαφορετικές θερμοκρασίες.  Το όνομα του πίνακα καθορίζει μία ομάδα διαδοχικών θέσεων στη μνήμη.
  • 5. &9.1 Μονοδιάστατοι Πίνακες  Κάθε συγκεκριμένη θέση μνήμης καλείται στοιχείο του πίνακα και προσδιορίζεται από την τιμή ενός δείκτη, όπως φαίνεται και στο σχήμα:
  • 6. &9.1 Μονοδιάστατοι Πίνακες  Οι πίνακες που χρησιμοποιούν ένα μόνο δείκτη για την αναφορά των στοιχείων τους, ονομάζονται μονοδιάστατοι πίνακες.  Το όνομα του πίνακα μπορεί να είναι οποιοδήποτε δεκτό όνομα της ΓΛΩΣΣΑΣ και ο δείκτης είναι μία ακέραια έκφραση, σταθερή ή μεταβλητή που περικλείεται μέσα στα σύμβολα [ και ].  Το στοιχείο Θερμοκρασία[i] αναφέρεται στο i-οστό στοιχείο του πίνακα.  Κάθε πίνακας πρέπει υποχρεωτικά να περιέχει δεδομένα του ιδίου τύπου. Ο τύπος του πίνακα δηλώνεται μαζί με τις άλλες μεταβλητές του προγράμματος στο τμήμα δήλωσης μεταβλητών.  Θα πρέπει επίσης να δηλώνεται και ο αριθμός των στοιχείων που περιέχει ή καλύτερα ο μεγαλύτερος αριθμός που μπορεί να έχει και αυτό για να δεσμευτούν οι αντίστοιχες συνεχόμενες θέσεις μνήμης.
  • 8. &9.1 Μονοδιάστατοι Πίνακες Παράδειγμα 1 Να γραφεί πρόγραμμα που να διαβάζει την θερμοκρασία 30 ημερών και να υπολογίζει τη μέση θερμοκρασία καθώς και τον αριθμό των ημερών με θερμοκρασία κατώτερη της μέσης.
  • 9. &9.1 Μονοδιάστατοι Πίνακες Παράδειγμα 2 Να γραφεί πρόγραμμα το οποίο να υπολογίζει τα βασικά στατιστικά μεγέθη, τη μέση τιμή, την τυπική απόκλιση και τη διάμεσο τιμή Ν ακεραίων αριθμών, όπου το Ν είναι από 2 μέχρι 100. Για να βρεθεί η διάμεσος τιμή πρέπει υποχρεωτικά οι αριθμοί να ταξινομηθούν κατά αύξουσα σειρά. Τότε η διάμεσος τιμή, είναι η τιμή για την οποία οι μισοί αριθμοί είναι μικρότεροι και οι άλλοι μισοί μεγαλύτεροι. Στην περίπτωση που το πλήθος των αριθμών είναι περιττό, τότε η διάμεσος είναι ο μεσαίος, ενώ στην περίπτωση που είναι άρτιο, τότε η διάμεσος είναι το ημιάθροισμα των δύο μεσαίων αριθμών.
  • 12. &9.2 Πότε πρέπει να χρησιμοποιούνται πίνακες  Η χρήση πινάκων είναι ένας τρόπος για τη διαχείριση πολλών δεδομένων ιδίου τύπου. Μειονεκτήματα από τη χρήση πινάκων:  Οι πίνακες απαιτούν μνήμη. Κάθε πίνακας δεσμεύει από την αρχή του προγράμματος πολλές θέσεις μνήμης.  Οι πίνακες περιορίζουν τις δυνατότητες του προγράμματος. Αυτό γιατί οι πίνακες είναι στατικές δομές και το μέγεθος τους πρέπει να δηλώνεται στην αρχή του προγράμματος, ενώ παραμένει υποχρεωτικά σταθερό κατά την εκτέλεση του προγράμματος. Η απόφαση για τη χρήση ή όχι πίνακα για τη διαχείριση των δεδομένων είναι κυρίως θέμα εμπειρίας στον προγραμματισμό.
  • 13. &9.3 Πολυδιάστατοι Πίνακες Έστω ότι οι θερμοκρασίες δίνονται από τον παρακάτω δισδιάστατο πίνακα 30x10: Ο πίνακας αυτός έχει θερμοκρασίες για 30 ημέρες για δέκα διαφορετικές πόλεις. Για να καθοριστεί κάθε στοιχείο χρειάζονται δύο δείκτες, ο ένας για την ημέρα και ο δεύτερος για την πόλη. Για την επεξεργασία των θερμοκρασιών μπορεί να χρησιμοποιηθεί ένας δισδιάστατος πίνακας, στον οποίο ο πρώτος δείκτης δείχνει τη γραμμή και ο δεύτερος τη στήλη. Π.χ. το στοιχείο Θερμοκρασία[30,1] έχει τιμή 27.
  • 14. &9.3 Πολυδιάστατοι Πίνακες Παράδειγμα 3 Να γραφεί πρόγραμμα που να υπολογίζει τη μέση θερμοκρασία κάθε πόλης για τον προηγούμενο πίνακα θερμοκρασιών (δίδονται 30 θερμοκρασίες 10 πόλεων). Επίσης, για κάθε πόλη, να υπολογίζει πόσες ημέρες η θερμοκρασία ήταν κατώτερη από την αντίστοιχη μέση.
  • 15. &9.3 Πολυδιάστατοι Πίνακες Παράδειγμα 4 Να γραφεί πρόγραμμα το οποίο: a. Να διαβάζει τα ονόματα δέκα κινηματογράφων και τις αντίστοιχες εισπράξεις τους για κάθε ημέρα μίας εβδομάδας. b. Να υπολογίζει και να εκτυπώνει το άθροισμα των εισπράξεων κάθε κινηματογράφου, καθώς και τον κινηματογράφο με τη μέγιστη συνολική είσπραξη. c. Να υπολογίζει και να εκτυπώνει το άθροισμα των εισπράξεων κάθε ημέρας, καθώς και την ημέρα με τη μέγιστη συνολική είσπραξη.
  • 18. &9.4 Τυπικές επεξεργασίες Πινάκων  Υπολογισμός αθροισμάτων στοιχείων του πίνακα Πολύ συχνά απαιτείται ο υπολογισμός του αθροίσματος στοιχείων του πίνακα που έχουν κοινά χαρακτηριστικά.  Εύρεση του μέγιστου ή του ελάχιστου στοιχείου Αν ο πίνακας είναι ταξινομημένος, τότε πρέπει να συγκριθούν τα στοιχεία ένα προς ένα, για να βρεθεί το μέγιστο ή το ελάχιστο. Αν είναι ταξινομημένος, τότε το μέγιστο ή το ελάχιστο βρίσκονται στα δύο ακριανά στοιχεία του πίνακα.  Ταξινόμηση των στοιχείων του πίνακα Στο κεφάλαιο 3 είδαμε τη μέθοδο της ευθείας ανταλλαγής. Αυτή είναι από τις απλούστερες αλλά δεν είναι η πιο αποδοτική.  Αναζήτηση ενός στοιχείου του πίνακα Δύο είναι οι πλέον διαδεδομένοι αλγόριθμοι αναζήτησης: – Η σειριακή αναζήτηση Είναι οι πιο απλή και η λιγότερη αποδοτική. Χρησιμοποιείται σε μη ταξινομημένους πίνακες. – Η δυαδική αναζήτηση Είναι αποδοτικότερη και χρησιμοποιείται σε ταξινομημένους πίνακες  Συγχώνευση δύο πινάκων Σκοπός της συγχώνευσης είναι η δημιουργία από τα στοιχεία δύο (ή περισσότερων) ταξινομημένων πινάκων ενός άλλου ταξινομημένου πίνακα.