ΠΛΗΡΟΦΟΡΙΚΗ Ι (Python) Ενότητα 5. Λεξικά (Dictionaries)

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΠΛΗΡΟΦΟΡΙΚΗ Ι (Python) Ενότητα 5. Λεξικά (Dictionaries)"

Transcript

1 ΠΛΗΡΟΦΟΡΙΚΗ Ι (Python) Ενότητα 5 Λεξικά (Dictionaries) Τα λεξικά είναι μια μεταβλητή δομή δεδομένων της Python για την αποθήκευση συλλογών δεδομένων της μορφής: κλειδί τιμή. Δηλαδή, κάθε στοιχείο σε ένα λεξικό έχει δύο μέρη: ένα κλειδί και μία τιμή. Το κλειδί χρησιμοποιείται για τον εντοπισμό μιας συγκεκριμένης τιμής. Στην πράξη, τα στοιχεία ενός λεξικού συνήθως αναφέρονται ως ζεύγη κλειδιού-τιμής. Για την ανάκτηση μιας συγκεκριμένης τιμής από ένα λεξικό, χρησιμοποιείται το αντίστοιχο κλειδί που σχετίζεται με την τιμή αυτή. Ουσιαστικά, ένα λεξικό είναι ένα μη-διατεταγμένο σύνολο από ζεύγη κλειδιού-τιμής. Οι τιμές δεν έχουν δείκτες όπως σε μια λίστα, αλλά μοναδικά κλειδιά, τα οποία χρησιμεύουν για τον εντοπισμό τους (ή την αναφορά, πρόσβαση κτλ. σε αυτές). Τα κλειδιά μπορούν να είναι οποιοσδήποτε αμετάβλητος (immutable) τύπος, π.χ. αριθμοί, συμβολοσειρές ή πλειάδες (αρκεί οι πλειάδες να μην περιέχουν κάποιον μεταβλητό τύπο). Δημιουργία Λεξικού Τα λεξικά δημιουργούνται περικλείοντας μέσα σε άγκιστρα, ζευγάρια της μορφής κλειδί:τιμή χωρισμένα μεταξύ με κόμμα: Οι εντολές: και λεξικό = {κλειδί_1:τιμή_1, κλειδί_2:τιμή_2,...} λεξικό = {} λεξικό = dict() δημιουργούν κενό λεξικό. Με την ενσωματωμένη συνάρτηση dict υπάρχει και η δυνατότητα δημιουργίας λεξικού με συγκεκριμένα στοιχεία, ως εξής: λεξικό = dict([(κλειδί_1, τιμή_1), (κλειδί_2, τιμή_2),...]) δηλαδή τα δύο μέρη του κάθε στοιχείου του λεξικού (κλειδί-τιμή) δίνονται μέσα σε πλειάδα και όλες οι πλειάδες αποτελούν στοιχεία λίστας, την οποία η συνάρτηση dict μετατρέπει σε λεξικό. = {'Student 1':8, 'Student 2':3, 'Student 3':6, 'Student 4':10} {'Student 3': 6, 'Student 2': 3, 'Student 1': 8, 'Student 4': 10} >>> prices = dict([('item 1', 19), ('Item 2', 25.5), ('Item 3', 40)]) >>> prices {'Item 3': 40, 'Item 1': 19, 'Item 2': 25.5} ver Τμήμα Μαθηματικών ΕΚΠΑ 1

2 Προσπέλαση τιμής λεξικού Τα στοιχεία των λεξικών δεν είναι αποθηκευμένα με κάποια σειρά, όπως είναι στις λίστες. Άρα δεν υπάρχει η έννοια του δείκτη που υπάρχει στις λίστες. Αντί για αυτό, η τιμή του κάθε στοιχείου προσδιορίζεται από το κλειδί της. Επομένως, η πρόσβαση σε κάποιο στοιχείο γίνεται ως εξής: λεξικό[κλειδί] Αν το συγκεκριμένο κλειδί δεν υπάρχει στο λεξικό, τότε προκαλείται μια εξαίρεση. = {'Student 1':8, 'Student 2':3, 'Student 3':6, 'Student 4':10} {'Student 3': 6, 'Student 2': 3, 'Student 1': 8, 'Student 4': 10} ['Student 2'] 3 ['Student 5'] Traceback (most recent call last): File "<pyshell#6>", line 1, in <module> grades['student 5'] KeyError: 'Student 5' Η επαναληπτική προσπέλαση των στοιχείων ενός λεξικού μπορεί να γίνει με έναν βρόχο for ως εξής: for μεταβλητή in λεξικό: εντολή εντολή... όπου η μεταβλητή αναφέρεται σε κάθε κλειδί του λεξικού. >>> for i in grades: print(i, grades[i]) Student 3 6 Student 2 3 Student 1 8 Student 4 10 Τελεστές in και not in Για να εξασφαλιστεί ότι δεν θα προκληθεί κάποια εξαίρεση σε ένα πρόγραμμα που αναζητάει στοιχεία ενός λεξικού, μπορεί να χρησιμοποιηθεί ο τελεστής in για να ελεγχθεί εάν όντως υπάρχει το προς αναζήτηση κλειδί στο λεξικό, ως εξής: if κλειδί in λεξικό: >>> if 'Student 3' in grades: print(grades['student 3']) 6 ver Τμήμα Μαθηματικών ΕΚΠΑ 2

3 Υπάρχει επίσης ο τελεστής not in που χρησιμοποιείται για να διαπιστωθεί εάν κάποιο κλειδί δεν υπάρχει στο λεξικό, ως εξής: if κλειδί not in λεξικό: >>> if 'Student 5' not in grades: print(το κλειδί Student 5 δε βρέθηκε.) Το κλειδί Student 5 δε βρέθηκε. Προσθήκη και τροποποίηση στοιχείων σε λεξικό Τα λεξικά είναι μεταβλητές δομές δεδομένων. Για την προσθήκη ενός νέου στοιχείου ή την τροποποίηση της τιμής ενός υπάρχοντος στοιχείου, χρησιμοποιείται μια εντολή εκχώρησης της μορφής: λεξικό[κλειδί] = τιμή Αν το κλειδί δεν υπάρχει ήδη στο λεξικό, δημιουργείται νέο στοιχείο. Αν το κλειδί υπάρχει ήδη στο λεξικό, τότε η τιμή του αλλάζει σε τιμή. = {'Student 1':8, 'Student 2':3, 'Student 3':6, 'Student 4':10} {'Student 4': 10, 'Student 3': 6, 'Student 2': 3, 'Student 1': 8} ['Student 2'] = 5 {'Student 4': 10, 'Student 3': 6, 'Student 2': 5, 'Student 1': 8} ['Student 5'] = 9 {'Student 4': 10, 'Student 3': 6, 'Student 2': 5, 'Student 1': 8, 'Student 5': 9} Διαγραφή στοιχείων από λεξικό Για τη διαγραφή στοιχείων από ένα λεξικό, χρησιμοποιείται η εντολή del, ως εξής: del λεξικό[κλειδί] η οποία διαγράφει το στοιχείο με το συγκεκριμένο κλειδί. Αν το κλειδί δεν υπάρχει στο λεξικό, προκαλείται μια εξαίρεση. {'Student 4': 10, 'Student 3': 6, 'Student 2': 5, 'Student 1': 8, 'Student 5': 9} >>> del grades['student 4'] {'Student 3': 6, 'Student 2': 5, 'Student 1': 8, 'Student 5': 9} >>> del grades['student 6'] Traceback (most recent call last): File "<pyshell#9>", line 1, in <module> del grades['student 6'] KeyError: 'Student 6' ver Τμήμα Μαθηματικών ΕΚΠΑ 3

4 Και σε αυτή την περίπτωση, θα μπορούσε να χρησιμοποιηθεί ο τελεστής in με ένα if για να πραγματοποιηθεί η διαγραφή μόνο εάν το συγκεκριμένο κλειδί υπάρχει στο λεξικό, έτσι ώστε αν δεν υπάρχει να μη δημιουργηθεί σφάλμα: if 'Student 6' in grades: del grades['student 6'] Το πλήθος των στοιχείων ενός λεξικού δίνεται από τη συνάρτηση len, όπως και στις λίστες: len(λεξικό) >>> len(grades) 4 Οι τιμές των στοιχείων ενός λεξικού μπορούν να είναι αντικείμενα οποιουδήποτε τύπου (ενώ τα κλειδιά πρέπει να είναι αμετάβλητοι τύποι). Επίσης, ένα λεξικό μπορεί να περιέχει τιμές διαφορετικών τύπων. Στο παρακάτω παράδειγμα, δημιουργείται ένα λεξικό με δύο στοιχεία με τιμές λίστες και στη συνέχεια προστίθεται ένα τρίτο στοιχείο με τιμή πλειάδα: = {'Student1':[5, 6, 9, 10], 'Student2':[4, 3, 7, 6]} {'Student1': [5, 6, 9, 10], 'Student2': [4, 3, 7, 6]} ['Student3'] = (3, 6, 9, 5) {'Student1': [5, 6, 9, 10], 'Student3': (3, 6, 9, 5), 'Student2': [4, 3, 7, 6]} Μέθοδοι για λεξικά Η Python περιέχει κάποιες μεθόδους που χρησιμοποιούνται για τη διαχείριση των λεξικών. Οι πιο σημαντικές είναι οι εξής: items() Επιστρέφει όλα τα κλειδιά ενός λεξικού μαζί με τις αντίστοιχες τιμές τους ως μια αλληλουχία από πλειάδες. Ο τύπος αυτός αλληλουχίας ονομάζεται προβολή λεξικού. values() Επιστρέφει όλες τις τιμές του λεξικού ως μια αλληλουχία τύπου προβολής λεξικού (δηλαδή ως μια αλληλουχία από πλειάδες). keys() Επιστρέφει όλα τα κλειδιά ενός λεξικού ως μια αλληλουχία τύπου προβολής λεξικού. get(κλειδί, προεπιλογή) Επιστρέφει την τιμή που αντιστοιχεί σε ένα συγκεκριμένο κλειδί. Αν το κλειδί δεν υπάρχει, η μέθοδος δεν προκαλεί κάποια εξαίρεση, αλλά επιστρέφει μια προκαθορισμένη τιμή (προεπιλογή). pop(κλειδί, προεπιλογή) Επιστρέφει την τιμή που αντιστοιχεί σε ένα συγκεκριμένο κλειδί και αφαιρεί αυτό το ζεύγος κλειδιού-τιμής από το λεξικό. Αν το κλειδί δεν υπάρχει, επιστρέφει μια προκαθορισμένη τιμή (προεπιλογή). popitem() Επιστρέφει ως πλειάδα ένα τυχαία επιλεγμένο ζεύγος κλειδιού-τιμής και το αφαιρεί από το λεξικό. Μπορεί να εκχωρηθεί σε δύο μεταβλητές, όπου στην πρώτη θα εκχωρηθεί το κλειδί και στη δεύτερη η τιμή. clear() Διαγράφει το περιεχόμενο ενός λεξικού. ver Τμήμα Μαθηματικών ΕΚΠΑ 4

5 Παραδείγματα: = {'Student 1':8, 'Student 2':3, 'Student 3':6} >>> all_items = grades.items() >>> all_items dict_items([('student 3', 6), ('Student 1', 8), ('Student 2', 3)]) >>> for key, value in grades.items(): print(key, value) Student 3 6 Student 1 8 Student 2 3 >>> all_values = grades.values() >>> all_values dict_values([6, 8, 3]) >>> for val in grades.values(): print(val) >>> all_keys = grades.keys() >>> all_keys dict_keys(['student 3', 'Student 1', 'Student 2']) >>> for k in grades.keys(): print(k) Student 3 Student 1 Student 2 >>> grade1 = grades.get('student 1', 'Unknown student') >>> grade1 8 >>> grade4 = grades.get('student 4', 'Unknown student') >>> grade4 'Unknown student' >>> grade1 = grades.pop('student 1', 'Unknown student') >>> grade1 8 {'Student 3': 6, 'Student 2': 3} ['Student 4'] = 10 {'Student 3': 6, 'Student 4': 10, 'Student 2': 3} >>> student, grade = grades.popitem() >>> print(student, grade) Student 3 6 {'Student 4': 10, 'Student 2': 3}.clear() {} ver Τμήμα Μαθηματικών ΕΚΠΑ 5

6 Σύνολα (Sets) Τα σύνολα είναι μια μεταβλητή δομή δεδομένων της Python για την αποθήκευση συλλογών μοναδικών (μη επαναλαμβανόμενων) δεδομένων, όπως δηλαδή στα σύνολα στα μαθηματικά. Τα βασικά χαρακτηριστικά των συνόλων είναι τα εξής: Όλα τα στοιχεία ενός συνόλου είναι μοναδικά. Τα στοιχεία ενός συνόλου δεν είναι διατεταγμένα. Τα στοιχεία ενός συνόλου είναι αμετάβλητοι τύποι, όπως τα κλειδιά ενός λεξικού. Ένα σύνολο μπορεί αν περιέχει στοιχεία διαφορετικών (αμετάβλητων) τύπων. Δημιουργία Συνόλου Τα σύνολα δημιουργούνται με την ενσωματωμένη συνάρτηση set: σύνολο = set() Η εντολή αυτή δημιουργεί ένα κενό σύνολο. Μπορούν επίσης να δημιουργηθούν με τη χρήση άγκιστρων, με συγκεκριμένες τιμές: σύνολο = {τιμή_1, τιμή_2, τιμή_3,...} Κενό σύνολο μπορεί να δημιουργηθεί μόνο με τη συνάρτηση set όπως προαναφέρθηκε, γιατί η χρήση κενών άγκιστρων ({}) δημιουργεί λεξικό και όχι σύνολο. Εάν κατά τη δημιουργία συνόλου με τη χρήση άγκιστρων περιληφθούν πολλαπλά στοιχεία με την ίδια τιμή, αυτά αφαιρούνται και παραμένει ένα μόνο στοιχείο για κάθε τιμή. >>> set1 = set() >>> set1 set() >>> set2 = {1, 2, 3, 2, 4, 3, 1, 2} >>> set2 {1, 2, 3, 4} Η συνάρτηση set μπορεί να δεχτεί ένα όρισμα για τη δημιουργία συνόλου με συγκεκριμένες τιμές. Το όρισμα αυτό θα πρέπει να είναι κάποια αλληλουχία τιμών, όπως λίστα, πλειάδα ή συμβολοσειρά. : ή σύνολο = set([τιμή_1, τιμή_2, τιμή_3,...]) ή σύνολο = set((τιμή_1, τιμή_2, τιμή_3,...)) σύνολο = set('συμβολοσειρά') ver Τμήμα Μαθηματικών ΕΚΠΑ 6

7 Στην τελευταία περίπτωση, κάθε χαρακτήρας της συμβολοσειράς αποτελεί και ένα στοιχείο του συνόλου. Αυτό δημιουργεί πρόβλημα στην περίπτωση που κάποιος θέλει να δημιουργήσει σύνολο όπου το κάθε στοιχείο του να είναι συμβολοσειρά. Οι εντολές: σύνολο = set('συμβολοσειρά_1', 'συμβολοσειρά_2',...) # ΣΥΝΤΑΚΤΙΚΟ ΣΦΑΛΜΑ και σύνολο = set('συμβολοσειρά_1 συμβολοσειρά_2...') # ΛΟΓΙΚΟ ΣΦΑΛΜΑ δεν έχουν το επιθυμητό αποτέλεσμα (δημιουργία συνόλου με στοιχεία 'συμβολοσειρά_1', 'συμβολοσειρά_2' κτλ), γιατί: η 1η εντολή είναι συντακτικά λάθος αφού η συνάρτηση set έχει μία μόνο παράμετρο εισόδου, άρα πρέπει να κληθεί με ένα μόνο όρισμα, ενώ η 2η εντολή δημιουργεί σύνολο με στοιχεία τους χαρακτήρες ολόκληρης της συμβολοσειράς που περικλείεται στα εισαγωγικά. Η σωστή εντολή είναι η εξής: σύνολο = set(['συμβολοσειρά_1', 'συμβολοσειρά_2',...]) δηλαδή το όρισμα της set είναι μια λίστα με στοιχεία τις συμβολοσειρές που θα αποτελέσουν στοιχεία του συνόλου. >>> set3 = set([1, 2, 3, 4, 5]) >>> set4 = set((6, 7, 8, 9, 10)) >>> set3 {1, 2, 3, 4, 5} >>> set4 {8, 9, 10, 6, 7} >>> set5 = set([1, 2, 3, 2, 3, 4]) >>> set5 {1, 2, 3, 4} >>> set6 = set(['hello', 0, 1]) >>> set6 {0, 1, 'Hello'} >>> set7 = set('hello') >>> set7 {'H', 'o', 'l', 'e'} >>> set8 = set('hello there') >>> set8 {'r', 'l', 'e', ' ', 'o', 'h', 't', 'H'} >>> set9 = set(['hello', 'there']) >>> set9 {'there', 'Hello'} Το πλήθος των στοιχείων ενός συνόλου δίνεται από τη συνάρτηση len, όπως και στις λίστες ή τα λεξικά: len(σύνολο) >>> len(set9) 2 ver Τμήμα Μαθηματικών ΕΚΠΑ 7

8 Προσθήκη και διαγραφή στοιχείων συνόλου Τα σύνολα είναι μεταβλητές δομές δεδομένων. Για την προσθήκη ενός νέου στοιχείου χρησιμοποιείται η μέθοδος add: σύνολο.add(στοιχείο) Για την προσθήκη πολλών στοιχείων σε ένα σύνολο, χρησιμοποιείται η μέθοδος update, η οποία δέχεται μια αλληλουχία τιμών, π.χ. μια λίστα ή μια πλειάδα ή μια συμβολοσειρά, και προσθέτει ένα-ένα τα στοιχεία της στο σύνολο: σύνολο.update(αλληλουχία_τιμών) >>> set10 = set([1, 2, 3, 4]) >>> set10 {1, 2, 3, 4} >>> set10.add(5) >>> set10 {1, 2, 3, 4, 5} >>> set10.update([6, 7, 'Hello']) >>> set10 {1, 2, 3, 4, 5, 6, 7, 'Hello'} >>> set10.update('there') >>> set10 {1, 2, 3, 4, 5, 6, 7, 'r', 'Hello', 'e', 'h', 't'} Για τη διαγραφή κάποιου στοιχείου ενός συνόλου χρησιμοποιούνται οι μέθοδοι remove και discard. Και οι δύο μέθοδοι δέχονται το προς διαγραφή στοιχείο και το αφαιρούν από το σύνολο, με τη διαφορά ότι εάν το στοιχείο δεν υπάρχει στο σύνολο, η μέθοδος remove προκαλεί μια εξαίρεση ενώ η μέθοδος discard δεν προκαλεί κάποια εξαίρεση. >>> set11 = {1, 2, 3, 4, 5} >>> set11 {1, 2, 3, 4, 5} >>> set11.remove(3) >>> set11 {1, 2, 4, 5} >>> set11.discard(4) >>> set11 {1, 2, 5} >>> set11.discard(6) >>> set11.remove(6) Traceback (most recent call last): File "<pyshell#72>", line 1, in <module> set11.remove(6) KeyError: 6 Προφανώς, η τροποποίηση ενός στοιχείου δεν έχει κάποια λογική έννοια στα σύνολα. ver Τμήμα Μαθηματικών ΕΚΠΑ 8

9 Προσπέλαση στοιχείων συνόλου Για την προσπέλαση όλων των στοιχείων ενός συνόλου, χρησιμοποιείται ο βρόχος for ως εξής: for μεταβλητή in σύνολο: εντολή εντολή... όπου η μεταβλητή αναφέρεται σε κάθε στοιχείο του συνόλου. >>> set11 {1, 2, 5} >>> for i in set11: print(i) Τελεστές in και not in Με τον τελεστή in μπορεί να ελεγχθεί εάν κάποια τιμή ανήκει σε ένα σύνολο, ενώ με τον τελεστή not in εάν δεν ανήκει. >>> set11 {1, 2, 5} >>> 2 in set11 True >>> 3 in set11 False >>> 3 not in set11 True Πράξεις μεταξύ συνόλων Υπάρχει η δυνατότητα πραγματοποίησης πράξεων μεταξύ συνόλων, είτε με τη χρήση των κατάλληλων μεθόδων είτε με τη χρήση των αντίστοιχων τελεστών, όπως φαίνεται στον παρακάτω πίνακα. Πράξη Μέθοδος Τελεστής Ένωση a.union(b) a b Τομή a.intersection(b) a & b Διαφορά a.difference(b) a - b Συμμετροδιαφορά a.symmetric_difference(b) a ^ b Υποσύνολο a.issubset(b) a <= b Υπερσύνολο a.issuperset(b) a >= b ver Τμήμα Μαθηματικών ΕΚΠΑ 9

10 Παραδείγματα: >>> set1 = {1, 2, 3, 4, 5} >>> set2 = {1, 2, 3, 6, 7} >>> set1.union(set2) {1, 2, 3, 4, 5, 6, 7} >>> set1.intersection(set2) {1, 2, 3} >>> set1.difference(set2) {4, 5} >>> set2.difference(set1) {6, 7} >>> set1.symmetric_difference(set2) {4, 5, 6, 7} >>> set3 = {1, 3, 5, 7} >>> set3.issubset(set1) False >>> set3 = {1, 3, 5} >>> set3.issubset(set1) True >>> set3.issubset(set2) False >>> set1.issuperset(set3) True ver Τμήμα Μαθηματικών ΕΚΠΑ 10

11 Συμβολοσειρές (Strings) Οι συμβολοσειρές ουσιαστικά αποτελούν αλληλουχίες χαρακτήρων. Η Python έχει τη δυνατότητα να χειρίζεται τις συμβολοσειρές με αυτόν τον τρόπο (ως αλληλουχίες χαρακτήρων) και διαθέτει συγκεκριμένες μεθόδους για τη διαχείρισή τους. Η προσπέλαση στα στοιχεία μιας συμβολοσειράς (δηλαδή στους επιμέρους χαρακτήρες της) μπορεί να γίνει είτε με έναν βρόχο for, είτε με τη χρήση δεικτών. Με βρόχο for: for μεταβλητή in συμβολοσειρά: εντολή εντολή... όπου σε κάθε επανάληψη εκχωρείται στη μεταβλητή από ένας χαρακτήρας της συμβολοσειράς. >>> text = 'Hello' >>> for ch in text: print(ch) H e l l o Οι συμβολοσειρές είναι μια αμετάβλητη (immutable) δομή δεδομένων, επομένως τα στοιχεία τους δεν μπορούν να τροποποιηθούν. Αυτό φαίνεται π.χ. στο παρακάτω παράδειγμα: >>> text = 'Hello' >>> for ch in text: ch = 'x' >>> print(text) Hello δηλαδή η εντολή ch = 'x'μέσα στο for δεν άλλαξε κάποιο από τα στοιχεία της συμβολοσειράς. Παράδειγμα: Πρόγραμμα που μετράει τις εμφανίσεις κάποιου χαρακτήρα σε μια συμβολοσειρά: def main(): text = input('πληκτρολόγησε ένα κείμενο: ') t = input('δώσε έναν χαρακτήρα: ') count = 0 for ch in text: if ch==t: count += 1 print('ο χαρακτήρας', t, 'εμφανίζεται', count, 'φορές στο κείμενο.') ver Τμήμα Μαθηματικών ΕΚΠΑ 11

12 Με τη χρήση δεικτών, η προσπέλαση στα στοιχεία μιας συμβολοσειράς μπορεί να γίνει όπως και στις λίστες: συμβολοσειρά[δείκτης] όπου και εδώ, η αρίθμηση των δεικτών ξεκινάει από το 0, ενώ υπάρχουν και οι ίδιες δυνατότητες χρήσης του τελεστή τεμαχισμού : όπως και στις λίστες. Επειδή όμως πρόκειται για αμετάβλητο τύπο δεδομένων, οποιαδήποτε εντολή εκχώρησης τιμής σε κάποιο στοιχείο, προκαλεί σφάλμα. >>> text = 'Hello' >>> text[1] 'e' >>> text[1:3] 'el' >>> text[1:10] 'ello' >>> text[1] = 'x' Traceback (most recent call last): File "<pyshell#15>", line 1, in <module> text[1] = 'x' TypeError: 'str' object does not support item assignment Για τον υπολογισμό του πλήθους των χαρακτήρων μιας συμβολοσειράς, χρησιμοποιείται η συνάρτηση len. >>> text = 'Hello there' >>> index = 0 >>> while index < len(text): print(text[index], end = ' ') index += 1 H e l l o t h e r e Υπάρχει επίσης και εδώ, όπως και στις λίστες, ο τελεστής συνένωσης +, καθώς και ο +=: ή συμβολοσειρά_1 = συμβολοσειρά_2 + συμβολοσειρά_3 συμβολοσειρά_1 += συμβολοσειρά_2 Επειδή όμως οι συμβολοσειρές είναι αμετάβλητος τύπος, εντολές της μορφής: ή συμβολοσειρά_1 = συμβολοσειρά_1 + συμβολοσειρά_2 συμβολοσειρά_1 += συμβολοσειρά_2 που φαινομενικά τροποποιούν τη συμβολοσειρά_1, δεν την τροποποιούν, αλλά δημιουργούν νέα συμβολοσειρά στην οποία αναφέρεται πλέον το όνομα συμβολοσειρά_1. ver Τμήμα Μαθηματικών ΕΚΠΑ 12

13 Τελεστές in και not in Με τον τελεστή in μπορεί να ελεγχθεί εάν μια συμβολοσειρά περιέχεται σε κάποια άλλη συμβολοσειρά, ενώ με τον τελεστή not in εάν δεν περιέχεται. >>> text = 'Hello there' >>> 'hello' in text False >>> 'there' in text True >>> 'Hello' not in text False Μέθοδοι για συμβολοσειρές Η Python περιέχει πολλές μεθόδους που χρησιμοποιούνται για τη διαχείριση συμβολοσειρών. Οι πιο σημαντικές για τον έλεγχο συμβολοσειρών είναι οι εξής: isalnum() Επιστέφει True αν η συμβολοσειρά περιέχει μόνο γράμματα ή αριθμητικά ψηφία. isalpha() Επιστέφει True αν η συμβολοσειρά περιέχει μόνο γράμματα. isdigit() Επιστέφει True αν η συμβολοσειρά περιέχει μόνο αριθμητικά ψηφία. isspace() Επιστέφει True αν η συμβολοσειρά περιέχει μόνο λευκούς χαρακτήρες (δηλαδή κενά, \n και \t). islower() Επιστέφει True αν όλα τα γράμματα της συμβοσειράς είναι πεζά. isupper() Επιστέφει True αν όλα τα γράμματα της συμβοσειράς είναι κεφαλαία. Οι πιο σημαντικές μέθοδοι για τη δημιουργία τροποποιημένων εκδόσεων συμβολοσειρών είναι οι εξής: lower() Επιστέφει ένα αντίγραφο της συμβολοσειράς έχοντας μετατρέψει όλα τα γράμματα σε πεζά. upper() Επιστέφει ένα αντίγραφο της συμβολοσειράς έχοντας μετατρέψει όλα τα γράμματα σε κεφαλαία. strip() Επιστέφει ένα αντίγραφο της συμβολοσειράς έχοντας αφαιρέσει όλους τους αρχικούς και τελικούς λευκούς χαρακτήρες (δηλαδή από την αρχή και από το τέλος). strip(char) Επιστέφει ένα αντίγραφο της συμβολοσειράς έχοντας αφαιρέσει όλες τις αρχικές και τελικές εμφανίσεις της συμβολοσειράς char. lstrip() Επιστέφει ένα αντίγραφο της συμβολοσειράς έχοντας αφαιρέσει όλους τους αρχικούς λευκούς χαρακτήρες, δηλαδή όσους βρίσκονται στην αρχή της συμβολοσειράς. lstrip(char) Επιστέφει ένα αντίγραφο της συμβολοσειράς έχοντας αφαιρέσει όλες τις αρχικές εμφανίσεις της συμβολοσειράς char, δηλαδή αυτές που βρίσκονται στην αρχή της συμβολοσειράς. rstrip() Επιστέφει ένα αντίγραφο της συμβολοσειράς έχοντας αφαιρέσει όλους τους τελικούς λευκούς χαρακτήρες, δηλαδή όσους βρίσκονται στο τέλος της συμβολοσειράς. rstrip(char) Επιστέφει ένα αντίγραφο της συμβολοσειράς έχοντας αφαιρέσει όλες τις τελικές εμφανίσεις της συμβολοσειράς char, δηλαδή αυτές που βρίσκονται στο τέλος της συμβολοσειράς. ver Τμήμα Μαθηματικών ΕΚΠΑ 13

14 Οι πιο σημαντικές μέθοδοι για την αναζήτηση και την αντικατάσταση υπο-συμβολοσειρών σε συμβολοσειρές είναι οι εξής: find(substring) Επιστέφει τον δείκτη της συμβολοσειράς από τον οποίο ξεκινάει η υπο-συμβολοσειρά substring στην πρώτη της εμφάνιση μέσα στη συμβολοσειρά. startswith(substring) Επιστέφει True αν η συμβολοσειρά αρχίζει με την υποσυμβολοσειρά substring. endswith(substring) Επιστέφει True αν η συμβολοσειρά τελειώνει με την υποσυμβολοσειρά substring. replace(old, new) Επιστέφει ένα αντίγραφο της συμβολοσειράς στο οποίο όλες οι εμφανίσεις της υπο-συμβολοσειράς old έχουν αντικατασταθεί από την υπο-συμβολοσειρά new. Άλλα χαρακτηριστικά των συμβολοσειρών Ο τελεστής επανάληψης * λειτουργεί στις συμβολοσειρές όπως ακριβώς και στις λίστες, δηλαδή μπορεί να χρησιμοποιηθεί για να επαναλάβει μια συμβολοσειρά κάποιον συγκεκριμένο αριθμό φορών, ως εξής: συμβολοσειρά * πλήθος_αντιγράφων >>> my_str1 = 'a' * 10 >>> my_str1 'aaaaaaaaaa' >>> my_str2 = 'Hello'*3 >>> my_str2 'HelloHelloHello' Μια συμβολοσειρά μπορεί να διαχωριστεί στις λέξεις που την απαρτίζουν με τη χρήση της μεθόδου split. Η μέθοδος αυτή επιστρέφει μια λίστα με στοιχεία τις λέξεις που απαρτίζουν τη συμβολοσειρά με την οποία καλείται. Εξ ορισμού, η split χρησιμοποιεί ως διαχωριστικά λέξεων τα κενά. Μπορεί όμως να οριστεί και διαφορετικός χαρακτήρας διαχωρισμού, στέλνοντας τον επιθυμητό χαρακτήρα ως όρισμα στη μέθοδο. >>> my_str = 'Hello there!' >>> words = my_str.split() >>> words ['Hello', 'there!'] >>> date_str = '17/12/2015' >>> date = date_str.split('/') >>> date ['17', '12', '2015'] ver Τμήμα Μαθηματικών ΕΚΠΑ 14

Πληροφορική ΙΙ Θεματική Ενότητα 11

Πληροφορική ΙΙ Θεματική Ενότητα 11 Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Πληροφορική ΙΙ Θεματική Ενότητα 11 Συμβολοσειρές Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι (Python) Ενότητα 4

ΠΛΗΡΟΦΟΡΙΚΗ Ι (Python) Ενότητα 4 ΠΛΗΡΟΦΟΡΙΚΗ Ι (Python) Ενότητα 4 Λίστες (Lists) Λίστα (list) στην Python ονομάζεται μια δυναμική δομή δεδομένων (στην πραγματικότητα, ένα αντικείμενο) που περιέχει πολλαπλά δεδομένα. Ουσιαστικά, η λίστα

Διαβάστε περισσότερα

Βασικά Στοιχεία Python 3

Βασικά Στοιχεία Python 3 Βασικά Στοιχεία Python 3 Compiler Lecture s 1.0 documentation Βασικά Στοιχεία Python 3 Στη συνέχεια παρουσιάζονται ορισμένα ενδιαφέροντα στοιχεία της Python 3. Αυτό που ακολουθεί δεν είναι tutorial, αν

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης Κ.Π. Γιαλούρης Στόχοι του σημερινού μαθήματος Χειρισμός εξαιρέσεων Μεταβλητές τύπου Tuple Dictionary Set 2 Χειρισμός εξαιρέσεων-δομή try: Εντολή-try-1 Εντολή- try- 2 Except Error_type : Εντολή exept_1.1

Διαβάστε περισσότερα

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ Διάλεξη 2 Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις Διοργάνωση : ΚΕΛ ΣΑΤΜ Διαφάνειες: Skaros, MadAGu Παρουσίαση: MadAGu Άδεια: Creative Commons 3.0 2 Internal

Διαβάστε περισσότερα

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Λεξικά Χειμερινό Εξάμηνο 2016

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Λεξικά Χειμερινό Εξάμηνο 2016 ΜΥΥ105: Εισαγωγή στον Προγραμματισμό Λεξικά Χειμερινό Εξάμηνο 2016 Γιατί Λεξικά; Στις ακολουθίες (π.χ. λίστες, αλφαριθμητικά) μπορούμε να αναφερόμαστε σε ένα στοιχείο με τον αριθμητικό δείκτη του (π.χ.

Διαβάστε περισσότερα

Θέματα Προγραμματισμού Η/Υ

Θέματα Προγραμματισμού Η/Υ Πρόγραμμα Μεταπτυχιακών Σπουδών Πληροφορική και Υπολογιστική Βιοϊατρική Θέματα Προγραμματισμού Η/Υ Ενότητα 10: Θεματική Ενότητα: Λίστες (Lists) και Πλειάδες (Tuples) ΘΕΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ Θεματική

Διαβάστε περισσότερα

Σημειωματάριο Τετάρτης 18 Οκτ. 2017

Σημειωματάριο Τετάρτης 18 Οκτ. 2017 Σημειωματάριο Τετάρτης 18 Οκτ. 2017 Περισσότερα για λίστες και ανακύκλωση Είδαμε σήμερα διάφορα προβλήματα και λύσεις για λίστες. Είδαμε επίσης την ανακύκλωση while. Στο επόμενο βλέπουμε πώς μπορούμε να

Διαβάστε περισσότερα

ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό. Λεξικά Χειµερινό Εξάµηνο 2014

ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό. Λεξικά Χειµερινό Εξάµηνο 2014 ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό Λεξικά Χειµερινό Εξάµηνο 2014 Γιατί Λεξικά; Στις ακολουθίες (π.χ. λίστες, αλφαριθµητικά) µπορούµε να αναφερόµαστε σε ένα στοιχείο µε τον αριθµητικό δείκτη του (π.χ.

Διαβάστε περισσότερα

ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό. Λίστες και Πλειάδες Χειµερινό Εξάµηνο 2014

ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό. Λίστες και Πλειάδες Χειµερινό Εξάµηνο 2014 ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό Λίστες και Πλειάδες Χειµερινό Εξάµηνο 2014 Δοµές δεδοµένων Μια δοµή δεδοµένων είναι µια δοµηµένη (οργανωµένη) συλλογή στοιχείων (π.χ., ψηφίων, χαρακτήρων, αριθµών,

Διαβάστε περισσότερα

Φύλλο Εργασίας 3. Μια γρήγορη επανάληψη από τα προηγούμενα

Φύλλο Εργασίας 3. Μια γρήγορη επανάληψη από τα προηγούμενα 3 Φύλλο Εργασίας 3 Στο φύλλο εργασιών 3 θα ασχοληθούμε με τις λίστες μια δομή της γλώσσας python που έχει την δομή ενός πίνακα. Θα χρησιμοποιήσουμε τις βασικές εντολές από τις λίστες και θα κατασκευάσουμε

Διαβάστε περισσότερα

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Ακολουθίες: Λίστες και Πλειάδες Χειμερινό Εξάμηνο 2016

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Ακολουθίες: Λίστες και Πλειάδες Χειμερινό Εξάμηνο 2016 ΜΥΥ105: Εισαγωγή στον Προγραμματισμό Ακολουθίες: Λίστες και Πλειάδες Χειμερινό Εξάμηνο 2016 Δομές δεδομένων Μια δομή δεδομένων είναι μια δομημένη (οργανωμένη) συλλογή στοιχείων (π.χ., ψηφίων, χαρακτήρων,

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ

ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στη Python Νικόλαος Ζ. Ζάχαρης Αναπληρωτής

Διαβάστε περισσότερα

Εισαγωγή στον Προγ/μό Υπολογιστών

Εισαγωγή στον Προγ/μό Υπολογιστών Εισαγωγή στον Προγ/μό Υπολογιστών Διάλεξη 1 Εκφράσεις, κλητικές εκφράσεις, ονόματα Περιεχόμενα Εκφράσεις (expressions) Τελεστές (operators) της Python Κλητικές εκφράσεις (call expressions) Ονόματα (names)

Διαβάστε περισσότερα

Προγραμματισμός Υπολογιστών & Εφαρμογές Python. Κ.Π. Γιαλούρης

Προγραμματισμός Υπολογιστών & Εφαρμογές Python. Κ.Π. Γιαλούρης Προγραμματισμός Υπολογιστών & Κ.Π. Γιαλούρης Στόχοι του σημερινού μαθήματος Εξοικείωση με τα περιβάλλοντα της Python Κατανόηση βασικών εννοιών & τεχνικών Τύπος δεδομένων Μεταβλητή Εντολή ανάθεση τιμής

Διαβάστε περισσότερα

Λίστες. Lista=[ red, green, blue ] Το πλήθος των στοιχείων μια λίστας δίνεται από τη συνάρτηση len(): Len(Lista)

Λίστες. Lista=[ red, green, blue ] Το πλήθος των στοιχείων μια λίστας δίνεται από τη συνάρτηση len(): Len(Lista) Λίστες Η πιο σημαντική ακολουθία της Python, μοιάζουν με τους πίνακες των παραδοσιακών γλωσσών αλλά είναι πολύ ποιο ευέλικτες: μπορεί να περιέχουν στοιχεία διαφορετικού τύπου και μας παρέχουν τη δυνατότητα

Διαβάστε περισσότερα

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python Εισαγωγή στην Επιστήμη Υπολογιστών Εισαγωγή στην Python Python scripts Ένα πρόγραμμα στην Python (συχνά αποκαλείται script) αποτελείται από μία ακολουθία ορισμών και εντολών. H ακολουθία των ορισμών και

Διαβάστε περισσότερα

Θέματα Προγραμματισμού Η/Υ

Θέματα Προγραμματισμού Η/Υ Πρόγραμμα Μεταπτυχιακών Σπουδών Πληροφορική και Υπολογιστική Βιοϊατρική Θέματα Προγραμματισμού Η/Υ Ενότητα 4: Θεματική Ενότητα: Είσοδος/έξοδος, μεταβλητές, αναθέσεις ΘΕΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ Θεματική

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 6. Συμβολοσειρές, λίστες, πλειάδες, λεξικά. 6.1 Εισαγωγή

ΚΕΦΑΛΑΙΟ 6. Συμβολοσειρές, λίστες, πλειάδες, λεξικά. 6.1 Εισαγωγή ΚΕΦΑΛΑΙΟ 6 Συμβολοσειρές, λίστες, πλειάδες, λεξικά Σύνοψη Στο κεφάλαιο αυτό θα εμβαθύνουμε στην κατανόηση σημαντικών δομών δεδομένων, όπως οι συμβολοσειρές (strings), οι λίστες (lists), οι πλειάδες (tuples)

Διαβάστε περισσότερα

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Αλφαριθμητικά Χειμερινό Εξάμηνο 2016

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Αλφαριθμητικά Χειμερινό Εξάμηνο 2016 ΜΥΥ105: Εισαγωγή στον Προγραμματισμό Αλφαριθμητικά Χειμερινό Εξάμηνο 2016 Λειτουργίες σε αλφαριθμητικά Μπορούμε να εφαρμόσουμε όλες τις λειτουργίες που έχουμε δει για πλειάδες και λίστες (π.χ. slicing)

Διαβάστε περισσότερα

Βασικά στοιχεία γλώσσας προγραμματισμού. Σπάχος Κυριάκος Καθηγητής Πληροφορικής ΠΕ19

Βασικά στοιχεία γλώσσας προγραμματισμού. Σπάχος Κυριάκος Καθηγητής Πληροφορικής ΠΕ19 Βασικά στοιχεία γλώσσας προγραμματισμού Σπάχος Κυριάκος Καθηγητής Πληροφορικής ΠΕ19 Ας θυμηθούμε ξανά την παλιά μας «αγάπη» Η Python είναι μία σύγχρονη, διερμηνευόμενη, υψηλού επιπέδου γλώσσα γενικής χρήσης

Διαβάστε περισσότερα

Εισαγωγή στον Προγ/μό Υπολογιστών

Εισαγωγή στον Προγ/μό Υπολογιστών Εισαγωγή στον Προγ/μό Υπολογιστών Διάλεξη 7 Ακολουθίες (Sequences) Περιεχόμενα 1. Ακολουθίες 2. Λίστα (list) 3. Επαναληπτικοί υπολογισμοί ακολουθιών 4. Επεξεργασία ακολουθιών 5. Τελεστές ακολουθιών 6.

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στη Python Νικόλαος Ζ. Ζάχαρης Αναπληρωτής

Διαβάστε περισσότερα

Εισαγωγή στην Γλώσσα Προγραμματισμού Python. 12/10/16 1

Εισαγωγή στην Γλώσσα Προγραμματισμού Python. 12/10/16 1 Εισαγωγή στην Γλώσσα Προγραμματισμού Python 12/10/16 costis@teicrete.gr 1 Διάφορες Γλώσσες Προγραμματισμού C or C++ Java Perl Scheme Fortran Python Matlab 12/10/16 costis@teicrete.gr 2 Περίληψη Παρουσίασης

Διαβάστε περισσότερα

Θέματα Προγραμματισμού Η/Υ

Θέματα Προγραμματισμού Η/Υ Πρόγραμμα Μεταπτυχιακών Σπουδών Πληροφορική και Υπολογιστική Βιοϊατρική Θέματα Προγραμματισμού Η/Υ Ενότητα 5: Θεματική Ενότητα: Μεταβλητές και Μαθηματικοί και λογικοί τελεστές ΘΕΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ

Διαβάστε περισσότερα

Θέματα Προγραμματισμού Η/Υ

Θέματα Προγραμματισμού Η/Υ Πρόγραμμα Μεταπτυχιακών Σπουδών Πληροφορική και Υπολογιστική Βιοϊατρική Θέματα Προγραμματισμού Η/Υ Ενότητα 7: Θεματική Ενότητα: Δομές επανάληψης ΘΕΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ Θεματική Ενότητα 7 Δομές επανάληψης

Διαβάστε περισσότερα

Βασικές Ασκήσεις από τα Εργαστήρια της Python. Πέμπτη Εργ. 3 17:15 και 19:15

Βασικές Ασκήσεις από τα Εργαστήρια της Python. Πέμπτη Εργ. 3 17:15 και 19:15 Βασικές Ασκήσεις από τα Εργαστήρια της Python Πέμπτη Εργ. 3 17:15 και 19:15 Αντί να χρησιμοποιούμε πολλές ομοειδείς μεταβλητές του ίδιου τύπου, όπως παραδείγματος χάριν, οι 7 μέσες θερμοκρασίες μίας εβδομάδας,

Διαβάστε περισσότερα

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής Διάλεξη 1 Πράξεις Τελεστές Έλεγχος Ροής Διοργάνωση : ΚΕΛ ΣΑΤΜ Διαφάνειες: Skaros, MadAGu Παρουσίαση: MadAGu Άδεια: Creative Commons 3.0 Αριθμητικοί Τελεστές- Αριθμητικές Πράξεις 2 Internal use only Αριθμητικοί

Διαβάστε περισσότερα

Γλώσσα προγραμματισμού python

Γλώσσα προγραμματισμού python Προηγούμενο Σημειώσεις Επόμενο Γλώσσα προγραμματισμού python Η γλώσσα αυτή γράφτηκε από τον Ολλανδό προγραμματιστή Guido van Rossum στα τέλη της δεκαετίας 1980-90. Η έκδοση 2.0 δημοσιεύτηκε στις 16 Οκτωβρίου

Διαβάστε περισσότερα

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων 2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (Java) Ενότητα 3 ΕΛΕΓΧΟΣ ΡΟΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Ι. Ελεγκτές συνθηκών ή περιπτώσεων:

Διαβάστε περισσότερα

Γράψτε ένα πρόγραμμα που θα προσομοιώνει τη ρίψη ενός νομίσματος και θα εμφανίζει στην οθόνη Κορώνα» ή «Γράμματα».

Γράψτε ένα πρόγραμμα που θα προσομοιώνει τη ρίψη ενός νομίσματος και θα εμφανίζει στην οθόνη Κορώνα» ή «Γράμματα». Εισαγωγικές Δραστηριότητες Δραστηριότητα 1 (Υ) Υπολογίστε την τιμή των παρακάτω αριθμητικών εκφράσεων. Στη συνέχεια επαληθεύστε τα αποτελέσματα που βρήκατε στην κονσόλα της Python. A. 2 + 3 ** 3 * 2 B.

Διαβάστε περισσότερα

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 2 η Τύποι Δεδομένων Δήλωση Μεταβλητών Έξοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα

Διαβάστε περισσότερα

Πληροφορική ΙΙ Θεματική Ενότητα 10

Πληροφορική ΙΙ Θεματική Ενότητα 10 Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Πληροφορική ΙΙ Θεματική Ενότητα 10 Λίστες (Lists) και Πλειάδες (Tuples) Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται

Διαβάστε περισσότερα

Πως θα αποθηκεύσει τη λίστα με τα ψώνια του και θα την ανακτήσει στο Σ/Μ; και πως θα προσθέσει στη λίστα του επιπλέον προϊόντα;

Πως θα αποθηκεύσει τη λίστα με τα ψώνια του και θα την ανακτήσει στο Σ/Μ; και πως θα προσθέσει στη λίστα του επιπλέον προϊόντα; Λίστα για ψώνια Έννοιες: αρχεία- άνοιγμα- εγγραφή διάβασμα Προαπαιτούμενα : δομή επιλογής, επανάληψης, συναρτήσεις, λίστες Ο Άκης, τώρα που έμαθε και τις λίστες στην Python αποφάσισε να φτιάξει μια λίστα

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL 8.1. Εισαγωγή ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PACAL Πως προέκυψε η γλώσσα προγραμματισμού Pascal και ποια είναι τα γενικά της χαρακτηριστικά; Σχεδιάστηκε από τον Ελβετό επιστήμονα της Πληροφορικής Nicklaus Wirth to

Διαβάστε περισσότερα

Πληροφορική ΙΙ Θεματική Ενότητα 7

Πληροφορική ΙΙ Θεματική Ενότητα 7 Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Πληροφορική ΙΙ Θεματική Ενότητα 7 Δομές επανάληψης Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

Κεφάλαιο 5: Δομές δεδομένων

Κεφάλαιο 5: Δομές δεδομένων Κεφάλαιο 5: Δομές δεδομένων Η έννοια της δομής δεδομένων (data structure) είναι πολύ ευρεία στην επιστήμη της Πληροφορικής. Με τον όρο δομή δεδομένων εννοούμε τον τρόπο αποθήκευσης δεδομένων, οργανωμένα

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 8/11/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 8/11/07 Ακαδ έτος 2007-2008 ΠΛΗΡΟΦΟΡΙΚΗ Ι Φερεντίνος 8/11/07 Συμπλήρωμα προηγούμενης εβδομάδας: ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με ΑΜ σε 3, 7, 8 & 9 8/11/07 Τι συμβαίνει όταν στην ίδια έκφραση υπάρχει πάνω από

Διαβάστε περισσότερα

Δομημένος Προγραμματισμός

Δομημένος Προγραμματισμός ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Συναρτήσεις θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Εφαρμοσμένη Πληροφορική ΙΙ (Θ) Είσοδος/Έξοδος Μεταβλητές Τύποι Μεταβλητών Τελεστές και Προτεραιότητα Μετατροπές Μεταξύ Τύπων

Εφαρμοσμένη Πληροφορική ΙΙ (Θ) Είσοδος/Έξοδος Μεταβλητές Τύποι Μεταβλητών Τελεστές και Προτεραιότητα Μετατροπές Μεταξύ Τύπων Εφαρμοσμένη Πληροφορική ΙΙ (Θ) Είσοδος/Έξοδος Μεταβλητές Τύποι Μεταβλητών Τελεστές και Προτεραιότητα Μετατροπές Μεταξύ Τύπων 1 Είσοδος/Έξοδος Είσοδος/Έξοδος ανάλογα με τον τύπο του προγράμματος Πρόγραμμα

Διαβάστε περισσότερα

Η γλώσσα προγραμματισμού Strange

Η γλώσσα προγραμματισμού Strange Προγραμματιστική άσκηση: Η γλώσσα προγραμματισμού Strange Η Strange είναι μια μικρή γλώσσα προγραμματισμού. Παρόλο που οι προγραμματιστικές της ικανότητες είναι μικρές, η εκπαιδευτική αυτή γλώσσα περιέχει

Διαβάστε περισσότερα

ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ΚΑΙ Β ) ΤΡΙΤΗ 13 ΙΟΥΝΙΟΥ 2017

ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ΚΑΙ Β ) ΤΡΙΤΗ 13 ΙΟΥΝΙΟΥ 2017 ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΘΕΜΑ Α ΕΙΔΙΚΟΤΗΤΑΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ΚΑΙ Β ) ΤΡΙΤΗ 13 ΙΟΥΝΙΟΥ 2017 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Α1. Να χαρακτηρίσετε

Διαβάστε περισσότερα

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Μεταβλητές- Τύποι- Τελεστές

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Μεταβλητές- Τύποι- Τελεστές Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Μεταβλητές- Τύποι- Τελεστές Μεταβλητές 2 Δήλωση μεταβλητών Η δήλωση (declaration) πληροφορεί το μεταγλωττιστή για το όνομα και

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008 ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008 - Παράδειγμα με switch (το οποίο δείχνει επίσης πότε σε μια άσκηση χρησιμοποιούμε user-input και System.out.println() για έξοδο και πότε χρησιμοποιούμε είσοδο σε μέθοδο

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 17/1/08

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 17/1/08 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 17/1/08 Constructors (Κατασκευαστές) Ειδικός τύπος μεθόδων που δημιουργούν αντικείμενα μιας κλάσης και: Εκτελούνται κατά την αρχικοποίηση των αντικειμένων

Διαβάστε περισσότερα

ΣΤΗΛΗ Β ΑΠΟΤΕΛΕΣΜΑ 1. float(10) α pow(2,3) β abs(-10) γ int(5.6) δ. 10 ε. 5.6 Μονάδες 8 ΣΤΗΛΗ Α ΣΥΝΑΡΤΗΣΗ

ΣΤΗΛΗ Β ΑΠΟΤΕΛΕΣΜΑ 1. float(10) α pow(2,3) β abs(-10) γ int(5.6) δ. 10 ε. 5.6 Μονάδες 8 ΣΤΗΛΗ Α ΣΥΝΑΡΤΗΣΗ ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΠΑΝΕΛΛΑ ΙΚΕΣ ΕΞΕΤΑΣΕΙΣ HMEΡΗΣΙΩΝ KAI ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ ΠΕΜΠΤΗ 26 ΣΕΠΤΕΜΒΡΙΟΥ 2019 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙ ΩΝ: ΕΠΤΑ (7)

Διαβάστε περισσότερα

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ Εισαγωγή στην γλώσσα προγραμματισμού Ακαδημαϊκό έτος 2016-2017, Εαρινό εξάμηνο Οι σημειώσεις βασίζονται στα συγγράμματα: A byte of Python (ελληνική

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στην Python και στο IDLE

ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στην Python και στο IDLE ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1 Θέμα εργαστηρίου: Εισαγωγή στην Python και στο IDLE Περιεχόμενο εργαστηρίου: - Το περιβάλλον ανάπτυξης προγραμμάτων IDLE - Διαδικασία ανάπτυξης προγραμμάτων Python - Απλά προγράμματα

Διαβάστε περισσότερα

Διορθώσεις σελ

Διορθώσεις σελ Διορθώσεις σελ. 73-74 # Τώρα ο άνθρωπος σκέφτεται έναν αριθμό από 1 έως 1000 Ν = 1000 print Σκέψου έναν αριθμό από το 1 έως το, Ν guesses = 0 found = False first = 1 last = N while not found and guesses

Διαβάστε περισσότερα

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 4 η Τελεστές Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης

Διαβάστε περισσότερα

Πληροφορική ΙΙ Θεματική Ενότητα 3

Πληροφορική ΙΙ Θεματική Ενότητα 3 Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Πληροφορική ΙΙ Θεματική Ενότητα 3 Είσοδος/έξοδος, μεταβλητές, αναθέσεις Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι (Python) Ενότητα 6. Αρχεία (Files)

ΠΛΗΡΟΦΟΡΙΚΗ Ι (Python) Ενότητα 6. Αρχεία (Files) ΠΛΗΡΟΦΟΡΙΚΗ Ι (Python) Ενότητα 6 Αρχεία (Files) Η Python δίνει τη δυνατότητα εγγραφής δεδομένων σε αρχεία, καθώς και ανάγνωσης δεδομένων από αυτά. Ουσιαστικά πρόκειται για την είσοδο δεδομένων σε κάποιο

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 2. Τιμές, τύποι, μεταβλητές, λέξεις-κλειδιά, εντολές. 2.1 Εισαγωγή

ΚΕΦΑΛΑΙΟ 2. Τιμές, τύποι, μεταβλητές, λέξεις-κλειδιά, εντολές. 2.1 Εισαγωγή ΚΕΦΑΛΑΙΟ 2 Τιμές, τύποι, μεταβλητές, λέξεις-κλειδιά, εντολές Σύνοψη Το κεφάλαιο αυτό εισάγει τον αναγνώστη σε βασικές έννοιες που είναι χρήσιμες για την απόκτηση μιας πρώτης εμπειρίας με την Python. Προαπαιτούμενη

Διαβάστε περισσότερα

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 7ο Τμήμα Διοίκησης Επιχειρήσεων Παλαιό ΕΠΔΟ α εξάμηνο Β. Φερεντίνος Δείκτες (Pointers) (1) 142 Κάθε μεταβλητή, εκτός από την τιμή της, έχει και μία συγκεκριμένη διεύθυνση

Διαβάστε περισσότερα

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΩΝ & Δ ΤΑΞΗΣ ΕΣΠΕΡΙΝΩΝ

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΩΝ & Δ ΤΑΞΗΣ ΕΣΠΕΡΙΝΩΝ ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ HMEΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ ΤΡΙΤΗ 13 ΙΟΥΝΙΟΥ 2017 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΠΤΑ (7) ΘΕΜΑ Α Α1. Να χαρακτηρίσετε

Διαβάστε περισσότερα

Στοιχειώδης προγραμματισμός σε C++

Στοιχειώδης προγραμματισμός σε C++ Στοιχειώδης προγραμματισμός σε C++ Σύντομο Ιστορικό. Το πρόγραμμα Hello World. Ο τελεστής εξόδου. Μεταβλητές και δηλώσεις τους. Αντικείμενα, μεταβλητές, σταθερές. Ο τελεστής εισόδου. Θεμελιώδεις τύποι.

Διαβάστε περισσότερα

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #15

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #15 Οι βασικές έννοιες που θα καλύψουμε Ομαδοποίηση αντικειμένων Εισαγωγή στις συλλογές Γενικές κλάσεις Iterators Συλλογές (ειδικά την ArrayList) Συνεχίζουμε την αναφορά στο θέμα της αφαίρεσης (abstraction)

Διαβάστε περισσότερα

Ανάπτυξη και Σχεδίαση Λογισμικού

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο

Διαβάστε περισσότερα

Προγραμματισμός I (Θ)

Προγραμματισμός I (Θ) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός I (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Οκτώβριος 2017 Δρ. Δημήτρης Βαρσάμης Οκτώβριος

Διαβάστε περισσότερα

for for for for( . */

for for for for( . */ Εισαγωγή Στον Προγραµµατισµό «C» Βρόχοι Επανάληψης Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Ο βρόχος for Η εντολή for χρησιµοποιείται

Διαβάστε περισσότερα

alpha Language age (3/5) alpha Language Φροντιστήριο Syntax Directed Translation and

alpha Language age (3/5) alpha Language Φροντιστήριο Syntax Directed Translation and alpha Language (1/5) ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Syntax Directed Translation and alpha Language Στην alpha δεν υπάρχει main() συνάρτηση, ο κώδικας ξεκινάει την εκτέλεση από την αρχή του

Διαβάστε περισσότερα

Αντίρριο, 14/03/2017 Προδιαγραφές Εργαστηριακής Εργασίας για το μάθημα «Μεταγλωττιστές»

Αντίρριο, 14/03/2017 Προδιαγραφές Εργαστηριακής Εργασίας για το μάθημα «Μεταγλωττιστές» Αντίρριο, 14/03/2017 Προδιαγραφές Εργαστηριακής Εργασίας για το μάθημα «Μεταγλωττιστές» Η εργασία έχει ως στόχο τον σχεδιασμό και την υλοποίηση ενός μεταγλωττιστή για την γλώσσα Ciscal, χρησιμοποιώντας

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι Σημειώσεις Python Ενότητα 3 Ν. Φερεντίνος. ΠΛΗΡΟΦΟΡΙΚΗ Ι (Python) Ενότητα 3. Συναρτήσεις

ΠΛΗΡΟΦΟΡΙΚΗ Ι Σημειώσεις Python Ενότητα 3 Ν. Φερεντίνος. ΠΛΗΡΟΦΟΡΙΚΗ Ι (Python) Ενότητα 3. Συναρτήσεις ΠΛΗΡΟΦΟΡΙΚΗ Ι (Python) Ενότητα 3 Συναρτήσεις Συνάρτηση ονομάζεται ένα τμήμα κώδικα (ή υποπρόγραμμα) το οποίο κάνει μια συγκεκριμένη διεργασία και μπορεί να καλείται από ένα πρόγραμμα (ή από μια άλλη συνάρτηση).

Διαβάστε περισσότερα

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Αναζήτηση και Ταξινόμηση Χειμερινό Εξάμηνο 2016

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Αναζήτηση και Ταξινόμηση Χειμερινό Εξάμηνο 2016 ΜΥΥ105: Εισαγωγή στον Προγραμματισμό Αναζήτηση και Ταξινόμηση Χειμερινό Εξάμηνο 2016 Αναζήτηση και Ταξινόμηση Βασικές λειτουργίες σε προγράμματα Αναζήτηση (searching): Βρες ένα ζητούμενο στοιχείο σε μια

Διαβάστε περισσότερα

Πληροφορική ΙΙ Θεματική Ενότητα 4

Πληροφορική ΙΙ Θεματική Ενότητα 4 Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Πληροφορική ΙΙ Θεματική Ενότητα 4 Μεταβλητές και Μαθηματικοί και λογικοί τελεστές Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός

Διαβάστε περισσότερα

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος 2012-13 Κων/νος Φλώρος Απλοί τύποι δεδομένων Οι τύποι δεδομένων προσδιορίζουν τον τρόπο παράστασης των

Διαβάστε περισσότερα

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΣΤΑΘΕΡΕΣ είναι τα μεγέθη που δεν μεταβάλλονται κατά την εκτέλεση ενός αλγόριθμου. Εκτός από τις αριθμητικές σταθερές (7, 4, 3.5, 100 κλπ), τις λογικές σταθερές (αληθής και ψευδής)

Διαβάστε περισσότερα

Εισαγωγή στη γλώσσα προγραμματισμού C++

Εισαγωγή στη γλώσσα προγραμματισμού C++ Εισαγωγή στη γλώσσα προγραμματισμού C++ Περιβάλλον Εργασίας 2 Περιβάλλον Εργασίας 1. Χρήση απλού κειμενογράφου και Μεταγλωττιστή 2. Ολοκληρωμένα Περιβάλλοντα Εργασίας (Integrated Development Environments)

Διαβάστε περισσότερα

Κεφάλαιο. δομές ελέγχου. Περίγραμμα. Στόχοι

Κεφάλαιο. δομές ελέγχου. Περίγραμμα. Στόχοι Κεφάλαιο 3 Λογικές συνθήκες και δομές ελέγχου Περίγραμμα 3.1 Λογικές εκφράσεις 3.2 Δομές ελέγχου ροής 3.3 Επαναλήψιμοι τύποι δεδομένων 3.4 Συμπεριλήψεις 3.5 Γεννητορικές εκφράσεις Στόχοι Το κεφάλαιο αυτό

Διαβάστε περισσότερα

ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ

ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ. ΚΑΤΕΥΘΥΝΣΗ ΔΙΟΙΚΗΣΗΣ ΤΟΥΡΙΣΤΙΚΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ ΚΑΙ ΕΠΙΧΕΙΡΗΣΕΩΝ ΦΙΛΟΞΕΝΙΑΣ Πληροφορική I "Προγραμματισμός" B. Φερεντίνος

Διαβάστε περισσότερα

Δομές Δεδομένων. Ενότητα 1: Εισαγωγή-Υλοποίηση του ΑΤΔ Σύνολο με Πίνακα. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής.

Δομές Δεδομένων. Ενότητα 1: Εισαγωγή-Υλοποίηση του ΑΤΔ Σύνολο με Πίνακα. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Ενότητα 1: Εισαγωγή-Υλοποίηση του ΑΤΔ Σύνολο με Πίνακα Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II Strings Η κλάση String είναι προκαθορισμένη κλάση της Java που μας επιτρέπει να χειριζόμαστε αλφαριθμητικά. Ο τελεστής + μας επιτρέπει

Διαβάστε περισσότερα

Μεταγλωττιστές. Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Μεταγλωττιστές. Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Μεταγλωττιστές Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Δομή Επανάληψης. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Δομή Επανάληψης. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Δομή Επανάληψης Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Δομή Επανάληψης Επανάληψη με αρίθμηση DO = ,

Διαβάστε περισσότερα

ΘΕΜΑ Α. 1. Η δυαδική αναζήτηση χρησιμοποιείται μόνο σε ταξινομημένες συλλογές δεδομένων.

ΘΕΜΑ Α. 1. Η δυαδική αναζήτηση χρησιμοποιείται μόνο σε ταξινομημένες συλλογές δεδομένων. ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΕΠΑΛ (ΟΜΑΔΑ Α ) & ΜΑΘΗΜΑΤΑ ΕΙΔΙΚΟΤΗΤΑΣ ΤΕΤΑΡΤΗ 19/04/2017 - ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΠΕΝΤΕ (5) Α1. Να χαρακτηρίσετε τις προτάσεις που

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #4 2 Γενικά Στο Τετράδιο #4 του Εργαστηρίου θα αναφερθούμε σε θέματα διαχείρισης πινάκων

Διαβάστε περισσότερα

Γιάννης Σαμωνάκης. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 4 - PHP)

Γιάννης Σαμωνάκης. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 4 - PHP) ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 4 - PHP) Γιάννης Σαμωνάκης 1 Περιεχόμενα Τι είναι η PHP Που μπορεί να χρησιμοποιηθεί

Διαβάστε περισσότερα

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ Εισαγωγή στην γλώσσα προγραμματισμού Ακαδημαϊκό έτος 2016-2017, Εαρινό εξάμηνο Οι σημειώσεις βασίζονται στα συγγράμματα: A byte of Python (ελληνική

Διαβάστε περισσότερα

ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ. Στην εξοικείωση με τη διαδικασία κατασκευής ενός Λεξικού Αναλυτή κάνοντας χρήση του lex.

ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ. Στην εξοικείωση με τη διαδικασία κατασκευής ενός Λεξικού Αναλυτή κάνοντας χρήση του lex. ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ 5 Ο Εργαστηριακό Μάθημα Δημιουργία Νέων Λεξικών Αναλυτών Σκοπός: Το μάθημα αυτό αναφέρεται: Στην εξοικείωση με τη διαδικασία κατασκευής ενός Λεξικού Αναλυτή κάνοντας χρήση του lex. Στην

Διαβάστε περισσότερα

Μέρος 2 Κατασκευή Συντακτικού Αναλυτή

Μέρος 2 Κατασκευή Συντακτικού Αναλυτή Αντίρριο, 05/04/2017 Προδιαγραφές Εργαστηριακής Εργασίας για το μάθημα «Μεταγλωττιστές» To δεύτερο μέρος της εργασίας έχει ως στόχο την ανάπτυξη του συντακτικού αναλυτή με χρήση του bison / byacc. Στο

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 1

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 1 ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 1 Σημειώσεις βασισμένες στο βιβλίο Το MATLAB στην Υπολογιστική Επιστήμη και Τεχνολογία Μια Εισαγωγή Περιεχόμενο μαθήματος: Αλγοριθμική επίλυση προβλημάτων Προγραμματισμός

Διαβάστε περισσότερα

Η γλώσσα προγραμματισμού C

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η

Διαβάστε περισσότερα

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python Εισαγωγή στην Επιστήμη Υπολογιστών Εισαγωγή στην Python Β Μέρος Δομή Ελέγχου if-elif-else Επαναληπτική Δομή Ελέγχου while Επαναληπτική Δομή Ελέγχου for Αλληλεπίδραση χρήστη-προγράμματος Συναρτήσεις Η δομή

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 4ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΟΙ ΤΕΛΕΣΤΕΣ ΣΥΓΚΡΙΣΗΣ Με τους τελεστές σύγκρισης, συγκρίνουμε τις

Διαβάστε περισσότερα

ΘΕΜΑΤΑ ΚΑΙ ΛΥΣΕΙΣ. 1) Έστω η λογική συνάρτηση F = A' + Β'. D + B. C' + C. D' (όπου οι τόνοι δηλώνουν συμπληρώματα).

ΘΕΜΑΤΑ ΚΑΙ ΛΥΣΕΙΣ. 1) Έστω η λογική συνάρτηση F = A' + Β'. D + B. C' + C. D' (όπου οι τόνοι δηλώνουν συμπληρώματα). ΘΕΜΑΤΑ ΚΑΙ ΛΥΣΕΙΣ 1) Έστω η λογική συνάρτηση F = A' + Β'. D + B. C' + C. D' (όπου οι τόνοι δηλώνουν συμπληρώματα). i) Σχεδιάστε το αντίστοιχο κύκλωμα. ii) Δημιουργήστε τον πίνακα αλήθειας της συνάρτησης

Διαβάστε περισσότερα

6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ

6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ 6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ 6.1 Η Έννοια του Πίνακα Συχνά είναι προτιμότερο να αντιμετωπίζουμε ένα σύνολο μεταβλητών σαν ενότητα για να απλοποιούμε το χειρισμό τους. Έτσι οργανώνουμε σύνθετα δεδομένα σε

Διαβάστε περισσότερα

String Handling ΓΛΩΣΣΙΚΉ ΤΕΧΝΟΛΟΓΊΑ

String Handling ΓΛΩΣΣΙΚΉ ΤΕΧΝΟΛΟΓΊΑ String Handling ΓΛΩΣΣΙΚΉ ΤΕΧΝΟΛΟΓΊΑ Tokenization Tokenization είναι η διαδικασία διαχωρισμού τμημάτων ενός string από χαρακτήρες εισόδου. Το tokenization συνήθως εφαρμόζεται για την μορφοποίηση της εισόδου

Διαβάστε περισσότερα

ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ ΤΡΙΤΗ 11 ΙΟΥΝΙΟΥ 2019 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ

ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ ΤΡΙΤΗ 11 ΙΟΥΝΙΟΥ 2019 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ ΤΡΙΤΗ 11 ΙΟΥΝΙΟΥ 2019 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΘΕΜΑ Α Α1. Να χαρακτηρίσετε τις προτάσεις που ακολουθούν, γράφοντας στο τετράδιό σας, δίπλα στο

Διαβάστε περισσότερα

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13 Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13 ΙΣΤΟΡΙΚΑ Παρουσιάστηκε το 1970 από το Niklaus Wirth Προγενέστερη γλώσσα ήταν η Algol 60 Είναι δομημένη γλώσσα προγραμματισμού υψηλού

Διαβάστε περισσότερα

Microsoft EXCEL ΛΟΓΙΣΤΙΚΑ ΦΥΛΛΑ ECDL. Περιεχόμενα. Απόκτησε τώρα το δίπλωμα. για να θεωρείσαι Επαγγελματίας! 1 Χρήση της Εφαρμογής.

Microsoft EXCEL ΛΟΓΙΣΤΙΚΑ ΦΥΛΛΑ ECDL. Περιεχόμενα. Απόκτησε τώρα το δίπλωμα. για να θεωρείσαι Επαγγελματίας! 1 Χρήση της Εφαρμογής. Microsoft EXCEL Περιεχόμενα ΛΟΓΙΣΤΙΚΑ ΦΥΛΛΑ 1 Χρήση της Εφαρμογής 2 Κελιά 3 Διαχείριση Φύλλων Εργασίας 4 Τύποι και Συναρτήσεις 5 Μορφοποίηση 6 Γραφήματα 7 Προετοιμασία Εκτυπώσεων Εργασία με υπολογιστικά

Διαβάστε περισσότερα

Θέματα Προγραμματισμού Η/Υ

Θέματα Προγραμματισμού Η/Υ Πρόγραμμα Μεταπτυχιακών Σπουδών Πληροφορική και Υπολογιστική Βιοϊατρική Θέματα Προγραμματισμού Η/Υ Ενότητα 8: Θεματική Ενότητα: Συναρτήσεις ΘΕΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ Θεματική Ενότητα 8 Συναρτήσεις Πληροφορική

Διαβάστε περισσότερα

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ (Οι ερωτήσεις µε κίτρινη υπογράµµιση είναι εκτός ύλης για φέτος) ΕΙΣΑΓΩΓΗ Q1. Οι Πρωταρχικοί τύποι (primitive types) στη Java 1. Είναι όλοι οι ακέραιοι και όλοι οι πραγµατικοί

Διαβάστε περισσότερα

Θέματα Προγραμματισμού Η/Υ

Θέματα Προγραμματισμού Η/Υ Πρόγραμμα Μεταπτυχιακών Σπουδών Πληροφορική και Υπολογιστική Βιοϊατρική Θέματα Προγραμματισμού Η/Υ Ενότητα 6: Θεματική Ενότητα: Λογικοί Τελεστές Έλεγχος ροής ΘΕΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ Θεματική Ενότητα

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 2ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΣΦΑΛΜΑΤΑ ΜΕΤΑΓΛΩΤΤΙΣΗΣ Η γλώσσα C κάνει αυστηρή διάκριση μεταξύ πεζών

Διαβάστε περισσότερα

Κεφ 2. Βασικές Έννοιες Αλγορίθμων

Κεφ 2. Βασικές Έννοιες Αλγορίθμων Κεφ 2. Βασικές Έννοιες Αλγορίθμων 2.7 Τι είναι οι μεταβλητές και τι οι σταθερές; ΑΠΑΝΤΗΣΗ Μεταβλητές: Μια μεταβλητή είναι μια θέση μνήμης του υπολογιστή με συγκεκριμένο όνομα, που χρησιμοποιείται για να

Διαβάστε περισσότερα

ακολουθία (sequence)

ακολουθία (sequence) Λίστες στην Python Η βασικώτερη δομή δεδομένων στην Pyhton είναι η ακολουθία (sequence). Σε κάθε στοιχείο μιας ακολουθίας ανατίθεται ένας ακέραιος που ονομάζεται δείκτης (index) ή θέση του στοιχείου. Ο

Διαβάστε περισσότερα

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 5 Απριλίου 01 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 11: Vectors (διανύσματα)

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 11: Vectors (διανύσματα) ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 11: Vectors (διανύσματα) Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (Java) Ενότητα 11 Vectors (διανύσματα) Τα vectors είναι δυναμικές δομές δεδομένων.

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 Αριθμητική στο δυαδικό σύστημα (γενικά) Συμπληρωματικά για δυαδικό σύστημα Η πρόσθεση στηρίζεται στους κανόνες: 0 + 0 = 0, 0 + 1 = 1, 1

Διαβάστε περισσότερα