Προγραμματισμός PASCAL

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
GB ( ) 5 1 ( ) ( ) ( /cm 2 ) 0.2 /30min·φ90 (5 /m 3 ) 0.4 /30min·φ90 (10 /m 3 ) /30min·φ90 (25 /m 3 )
Advertisements

(READ – WRITE) ΚΑΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ (INTEGER,REAL,CHAR)
Προγραμματισμός PASCAL
ΠΙΝΑΚΕΣ ΜΑΘΗΜΑ 6.
ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΥΠΟΡΟΥΤΙΝΕΣ
Το πρόγραμμα Turbo Pascal TPW1.5
Πίνακες.
Πίνακες-Αλφαριθμητικά
Εισαγωγή στους Η/Υ Πίνακες.
Πινακες (Arrays) Σημασια Συνταξη Αρχικοποιηση Προσβαση Παραμετροι
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ Διάλεξη 2: Πίνακες και δυναμικά δεδομένα στη FORTRAN 90 Εαρινό εξάμηνο 2009 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ.
ΜΑΘ3122/106 Γλώσσα Προγραμματισμού
Προγραμματισμός Ι Πίνακες •Ο πίνακας είναι μία συλλογή μεταβλητών ίδιου τύπου, οι οποίες είναι αποθηκευμένες σε διαδοχικές θέσεις μνήμης. Χρησιμοποιείται.
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
ΘΕΩΡΙΑ ΔΙΑΛΕΞΗ 4 Αριθμητικές εκφράσεις και πράξεις Εντολές ανάθεσης
Μάθημα : Βασικά Στοιχεία της Γλώσσας Java
ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΙΑΔΙΚΑΣΤΙΚΟ ΠΡΟΓΡΑΜMΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ – ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ Διάλεξη 4: Δείκτες, συναρτήσεις και διαδικασίες Εαρινό εξάμηνο 2009 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ.
HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΟΝΤΕΣ Αντώνιος Σαββίδης, Χρήστος.
Διαφάνειες παρουσίασης #5
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Αλγόριθμοι Ταξινόμησης
Προγραμματισμός PASCAL
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ
Δομές Διακλάδωσης.
ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ(ΒΡΟΧΟΙ)
Παράδειγμα 5: Θερμοκρασίες
Παράδειγμα 1: Κόστος Υπολογιστών Το πρόγραμμα υπολογίζει το συνολικό κόστος παραγγελιών υπολογιστών.Το πρόγραμμα διαβάζει από το πληκτρολόγιο την ποσότητα.
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος ε
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος α
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος δ
Page  1 Ο.Παλιάτσου Γαλλική Επανάσταση 1 ο Γυμνάσιο Φιλιππιάδας.
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Δομημένος Προγραμματισμός και Δομές.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ Διάλεξη 3: Δείκτες Εαρινό εξάμηνο 2009 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ι. Σαρρής, τηλ.
© GfK 2012 | Title of presentation | DD. Month
+21 Προσδοκίες οικονομικής ανάπτυξης στην Ευρώπη Δεκέμβριος 2013 Δείκτης > +20 Δείκτης 0 να +20 Δείκτης 0 να -20 Δείκτης < -20 Σύνολο στην Ευρωπαϊκή Ένωση:
Γενική μορφή προγράμματος Pascal
Εισαγωγή στον Προγραμματισμό (στη γλώσσα Java)
Προγραμματισμός ΙΙ Διάλεξη #7: Περισσότερες Δομές Ελέγχου Δρ. Νικ. Λιόλιος.
Προγραμματισμός ΙΙ Διάλεξη #6: Απλές Δομές Ελέγχου Δρ. Νικ. Λιόλιος.
HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ
Ολυμπιάδα Πληροφορικής
Προγραμματισμός PASCAL
Διαφάνειες παρουσίασης #3
Προγραμματισμός ΙΙ Διάλεξη #5: Εντολές Ανάθεσης Εντολές Συνθήκης Δρ. Νικ. Λιόλιος.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Lists– Λίστες 1. Αυτό-αναφορικές δομές Τα μέλη μίας δομής μπορεί να είναι οποιουδήποτε τύπου, ακόμα και δείκτες σε δομές του ίδιου τύπου. Χρησιμοποιώντας.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακός Λογισμός.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Αρχεία.
Διαφάνειες παρουσίασης Πίνακες (συνέχεια) Αριθμητικοί υπολογισμοί Αναδρομή.
MΑΘ 106/3122Ξενοφών Ζαμπούλης ΜΑΘ 106/3122 Γλώσσα Προγραμματισμού Δείκτες (Pointers)
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Τάξεις και Αφαίρεση Δεδομένων.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Διαφάνειες παρουσίασης #2
Διαφάνειες παρουσίασης Ορθότητα (συνέχεια) Τακτικοί τύποι και τύποι υποπεριοχής Πίνακες.
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Εισαγωγή στους Η/Υ PHP Hypertext Preprocessor 3. Διατάξεις (arrays) Σε μία μεταβλητή αποθηκεύαμε μόνο μία τιμή. Αν θέλουμε να αποθηκεύσουμε περισσότερες.
1 Προγραμματισμός Ι Ενότητα 6 : Υποπρογράμματα III Αλέξανδρος Τζάλλας Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
ΔΠΘ-ΤΜΗΜΑ ΜΠΔ: ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ Η/Υ 1 Εισαγωγή στη γλώσσα Προγραμματισμού C ΠΙΝΑΚΕΣ (arrays)
1 Προγραμματισμός Ι Ενότητα 7 : Πίνακες I Αλέξανδρος Τζάλλας Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Η Γλώσσα Pascal Εντολή If
Ενισχυτική διδασκαλία
Ειδικά Θέματα στον Προγραμματισμό Υπολογιστών
Η Γλώσσα Pascal Υποπρογράμματα
ΓΛΩΣΣΕΣ & ΕΡΓΑΛΕΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ
Κεφάλαιο 7 10/11/2018 Ξένιος Αντωνιάδης.
Μεταγράφημα παρουσίασης:

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

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

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

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

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

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

Πίνακες VAR <όνομα πίνακα> : ARRAY [<διάσταση>] OF <τύπος τιμών>; Σύνταξη: Παράδειγμα: VAR Numbers : ARRAY [1..10] OF Integer; Numbers 6 3 8 4 7 -32 12 99 Δείκτες  1 2 5 9 10

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

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

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

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

Παραδείγματα Ορισμού Πινάκων VAR A : Array [1..100] of boolean; B : Array [-3..5] of integer; C : Array [100..1000] of -5..7; D : Array [’A’..’F’] of real; E : Array [1..10] of ’a’..’z’; A True False … 1 2 3 4 5 100 B -5 87 2 -12 123 7 9 -3 -2 -1 1 3 4 5 C -2 7 -1 -3 2 … 100 101 102 103 104 105 1000 D 1.2 0.02 231.0 66.12 78.01 -2.4 ’A’ ’B’ ’C’ ’D’ ’E’ ’F’ E ’c’ ’r’ ’a’ ’v’ ’d’ ’f’ ’p’ 1 2 3 4 5 6 7 8 9 10

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

Παράδειγμα 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]; writeln(A[i]) End. 5 16 17 18 19 20 Output: A 5 16 17 18 19 20 1 2 3 4 6 7 8 9 10 A 11 12 13 14 15 16 17 18 19 20 1 2 3 4 5 6 7 8 9 10 A 1 2 3 4 5 6 7 8 9 10

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

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

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

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

Άσκηση 1