Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Προγραμματισμός PASCAL Μονοδιάστατοι Πίνακες (Arrays) Ανδρέας Σάββα.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Προγραμματισμός PASCAL Μονοδιάστατοι Πίνακες (Arrays) Ανδρέας Σάββα."— Μεταγράφημα παρουσίασης:

1 Προγραμματισμός PASCAL Μονοδιάστατοι Πίνακες (Arrays) Ανδρέας Σάββα

2 2 Πίνακες (Arrays) Βαγόνι:[1][2][3][4][5][6] 2 ανθρώπους 14 ανθρώπους 6 ανθρώπους 10 ανθρώπους 8 ανθρώπους 3 ανθρώπους Βαγόνι[1] = 2, Βαγόνι[2] = 14, Βαγόνι[5] = 8

3 3 Πως θα μου στείλετε επιστολή; Τι θα γράψετε στο φάκελο; Οδός Μεγάλου Αλεξάνδρου Οδός Ελευθερίας Andreas Savva Eleftherias 4 Nicosia Το σπίτι μου Eleftherias[1] Eleftherias[2] Eleftherias[3] Eleftherias[7]

4 4 Υπόγειο ή Όροφος -1 Akropoli[-1] Πολυκατοικία ΑΚΡΟΠΟΛΗ ΑΚΡΟΠΟΛΗ 1ος Όροφος 2ος Όροφος 3ος Όροφος 4ος Όροφος 5ος Όροφος Ισόγειο ή Όροφος 0 Akropoli[0] Akropoli[1] Akropoli[2] Akropoli[3] Akropoli[4]Akropoli[5] Ασανσέρ

5 5 Τι είναι Πίνακας  Είναι μια ομάδα διαδοχικών θέσεων μνήμης, η οποία αποθηκεύει τιμές του ίδιου τύπου.  Κάθε συγκεκριμένη θέση του πίνακα ονομάζεται στοιχείο και προσδιορίζεται από ένα δείκτη.  Όλα τα στοιχεία του πίνακα έχουν κοινό όνομα (το όνομα του πίνακα) αλλά έχουν διαφορετικό δείκτη. Numbers63747 Δείκτες 12345 Numbers[ 1 ] Numbers[ 2 ] Numbers[ 3 ] Numbers[ 4 ] Numbers[ 5 ]

6 6 Παράδειγμα Πίνακα Number67907 Δείκτες [1][1][1][1] [2][2][2][2] [3][3][3][3] [4][4][4][4] [5][5][5][5] Όνομα πίνακα Τιμές Number[1]  6 Number[2]  7 Number[3]  9 Number[4]  0 Number[5]  7

7 7 Πίνακες VAR διάσταση> : ARRAY [ ] OF ; Σύνταξη: Παράδειγμα: VAR Numbers : ARRAY [1..10] OF Integer; Numbers : ARRAY [1..10] OF Integer; Numbers Δείκτες 

8 8 Παραδείγματα  DaysInMonth[5]  31  IdiktitisSpitiou[3]  ’Γιώργος’ VAR DaysInMonth : ARRAY [1..12] OF Integer; DaysInMonth : ARRAY [1..12] OF Integer; IdioktitisSpitiou : ARRAY [1..5] OF String; IdioktitisSpitiou : ARRAY [1..5] OF String; DaysInMonth Δείκτες  IdioktitisSpitiou ’Σάββας’ ’Κώστας’’Γιωργος’’Παύλος’’Μάριος’ Δείκτες 12345

9 9 Προσοχή λάθος  Το πιο κάτω είναι λάθος. Γιατί; VAR DaysInMonth : ARRAY [12.. 1] OF Integer; Ελάχιστ η Τιμή Μέγιστη Τιμή

10 10 Πίνακες ορισμένοι από τον Χρήστη TYPE διάσταση> = ARRAY [ ] OF ; Σύνταξη: Παράδειγμα: TYPE List = ARRAY [1..5] OF Integer; List = ARRAY [1..5] OF Integer;VAR Ν1, N2 : List; Ν1, N2 : List;Begin N1[3] := 4; N1[3] := 4; N1[1] := N1[3]; N1[1] := N1[3]; N2[5] := N1[1]; N2[5] := N1[1];End. N N

11 11 Δήλωση Πίνακα TYPE MyArray = Array [ ] of integer; MyArray = Array [ ] of integer; Παράδειγμα: TYPE Month = ; Month = ; MyArray = Array [ Month ] of integer; MyArray = Array [ Month ] of integer; είναι το ίδιο με:

12 12 Παραδείγματα Ορισμού Πινάκων ATrueTrueFalseTrueFalse…False 12345…100 B D ’A’’B’’C’’D’’E’’F’ VAR A A : Array [1..100] of boolean; B B : Array [-3..5] of integer; C C : Array [ ] of -5..7; D D : Array [’A’..’F’] of real; E E : Array [1..10] of ’a’..’z’;C … …1000 E’c’’r’’a’’v’’a’’a’’d’’f’’p’’f’

13 13 Παραδείγματα Ορισμού Πινάκων TYPE Season = (Winter, Spring, Summer, Autumn) Day = (Mon, Tue, Wed, Thu, Fri, Sat, Sun); Color = (Red, Green, Blue); VAR A A : Array [1..5] of Day; B B : Array [’D’..’K’] of Color; C C : Array [Tue..Fri] of Season; D D : Array [Color] of Color; AFriMonFriTueWed BRedGreenRedBlueRedBlueGreenGreen’D’’E’’F’’G’’H’’I’’J’’K’ DGreenBlueGreenRedGreenBlue CSummerWinterSummerSpringTueWedThuFri

14 14 Παράδειγμα Program DisplayMonths; uses wincrt;CONST Max = 10;TYPE MyArray = Array[1..Max] of integer;VAR A : MyArray; i : integer; Begin (* main *) for i := 1 to Max do A[i] := i + 10; for i := 1 to Max DIV 2 do A[i] := A[i+5] – A[i]; for i := 1 to Max do writeln(A[i]) End Output: A A A

15 15 Πίνακες σαν Τυπικές Παράμετροι m : MonthSalary Procedure Display (m : MonthSalary); Procedure Display (m : Array[1..12] of Salary); TYPE Salary = Real; Salary = Real; MonthSalary = Array[1..12] of Salary; MonthSalary = Array[1..12] of Salary;  

16 16 Σημαντικές Εφαρμογές Πινάκων For i := 1 to Max do Read(A[i]); Read(A[i]); For i := 1 to Max do For i := 1 to Max do A[i] := 0; A[i] := 0;ή For i := 1 to Max do For i := 1 to Max do Word[i] := ’ ’; Word[i] := ’ ’; For i := 1 to Max do Write(A[i]); Write(A[i]); A := B; A := B;ή FOR i := 1 to Max DO FOR i := 1 to Max DO A[i] := B[i]; A[i] := B[i]; ή ανάποδη αντιγραφή FOR i := 1 TO 10 DO FOR i := 1 TO 10 DO A[Max-i+1] := B[i]; A[Max-i+1] := B[i]; Αντιγραφή Πίνακα: Τοποθέτηση αρχικών τιμών: Εισαγωγή τιμών: Τύπωμα τιμών:

17 17 Σημαντικές Εφαρμογές Πινάκων i := 1; Found := False; While NOT Found and (i <= Max) do Begin Begin Found := A[i] = SearchingKey; Found := A[i] = SearchingKey; i := i + 1 i := i + 1 End; End; If Found then Writeln(SearchingKey, ’ is found’) Writeln(SearchingKey, ’ is found’)Else Writeln(SearchingKey, ’ is not found’); Sum := 0; FOR i := 1 to Max DO Sum := Sum + A[i]; Sum := Sum + A[i]; Writeln(’The sum is ’, Sum); Άθροισμα τιμών του πίνακα: Αναζήτηση:

18 18 String – Πίνακας από χαρακτήρες Var i, Count : integer; i, Count : integer; Name : String; Name : String;... Count := 0; Count := 0; For i := 1 to Length(Name) do For i := 1 to Length(Name) do If Name[i] = ’A’ then If Name[i] = ’A’ then Count := Count + 1; Count := Count + 1; Writeln(’Character -A- found ’, Count, ’ times’) Writeln(’Character -A- found ’, Count, ’ times’) Length(String)  integer Συνάρτηση Length – Επιστρέφει το μέγεθος του string Παράδειγμα που τυπώνει πόσα ’A’ έχει το string Name: Π.χ. Π.χ. Length(’I like school’)  13  12

19 19 Άσκηση 1


Κατέβασμα ppt "Προγραμματισμός PASCAL Μονοδιάστατοι Πίνακες (Arrays) Ανδρέας Σάββα."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google