Γλώσσες Προγραμματισμού Ι

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

Download "Γλώσσες Προγραμματισμού Ι"

Transcript

1 Γλώσσες Προγραμματισμού Ι Παραδόσεις και εργαστήριο 28/3/2019 και 3/4/2019, Νίκος Παπασπύρου. Εισαγωγή στις γλώσσες σεναρίων (scripting languages) Βλ. π.χ. Κεφάλαιο 13 του βιβλίου Πραγματολογία των Γλωσσών Προγραμματισμού του Michael L. Scott. Κοινά χαρακτηριστικά Χρήση μαζική (batch) αλλά και διαδραστική (interactive) Οικονομία έκφρασης Απουσία δηλώσεων, απλοί κανόνες εμβέλειας Ευέλικτο, δυναμικό σύστημα τύπων Εύκολη πρόσβαση σε άλλα προγράμματα Πολύπλοκο ταίριασμα προτύπων (pattern matching) και επεξεργασία συμβολοσειρών Τύποι δεδομένων υψηλού επιπέδου Περιοχές εφαρμογών Γλώσσες εντολών φλοιού (shell command languages) * {c,tc,k,ba,z}?sh δηλαδή sh, csh, tcsh, ksh, bash, zsh Επεξεργασία κειμένου και παραγωγή εκθέσεων * sed, awk, Perl Μαθηματικά και στατιστική * 3Μ (Maple, Mathematica, Matlab), S, R Γλώσσες συγκόλλησης (glue) και σενάρια γενικού σκοπού * Tcl, Python, Ruby Γλώσσες επέκτασης (extension languages) * JavaScript, Visual Basic, AppleScript, Emacs Lisp Σενάρια στον παγκόσμιο ιστό * CGI (Perl, ) * Server-side embedded (PHP, Visual Basic, ) * Client-side (JavaScript, ) * Applets (Java, ) διάφορες άλλες τεχνολογίες (XSLT, XML, ) * Εισαγωγή στην Python 3 0. Documentation και Anaconda 1. Γεια σου κόσμε! print("hello world!") 2. Μαθαίνω να μετράω Από 0 έως και 9 for i in range(10): Από 17 έως και 41 for i in range(17, 42): Από 17 έως και 41 αλλά μόνο τους περιττούς: 1

2 for i in range(17, 42): if i % 2 == 1: Από 17 έως και 41 με βήμα 2 (πάλι μονο τους περιττούς) for i in range(17, 42, 2): 3. Η στοίχιση (indentation) είναι σημαντική! for i in range(17, 42): if i % 2 == 1: print("just printed an odd number...") for i in range(17, 42): if i % 2 == 1: print("still counting numbers...") for i in range(17, 42): if i % 2 == 1: print("done counting...") 4. Συμβολοσειρές print("in double quotes") print('or in single quotes') print("""multiline strings You must try this!""") print('''one of the simplest programs in Python 3 is: print("hello world!")''') 5. Σχόλια Μίας γραμμής: # this is a comment n = 42 # and so is this Πολλών γραμμών δεν υπάρχουν, αλλά οι συμβολοσειρές δουλεύουν και ως σχόλια: """This string serves the purpose of a multiline comment in the program that follows""" print("hello world!") 6. Εκτελέσιμα προγράμματα Python #!/usr/bin/env python3 print("hello world!") και φροντίστε να είναι εκτελέσιμο το αρχείο όπου θα αποθηκεύσετε το script (chmod +x σε Unix/Linux). Μεταβλητές 1. Untyped (με δυναμικούς τύπους) και χωρίς δηλώσεις μεταβλητών: 2

3 a = 42 print(a+1) a = True print(a+1) 2. Πολλαπλή ανάθεση όπως στη C/C++: a = b = c = 0 print(a, b, c) 3. Πολλαπλή ανάθεση με περισσότερες μεταβλητές στο αριστερό και στο δεξιό μέλος: a, b, c = 1, 2, 3 print(a, b, c) 4. Αντιμετάθεση (swap) στην Python a, b = 17, 42 a, b = b, a # this indeed works! print(a, b) Συναρτήσεις 1. Υπολογισμός του n-οστού όρου της ακολουθίας Fibonacci (1, 1, 2, 3, 5, ) def fib(n): a, b = 0, 1 for i in range(n): return b print(fib(5)) # prints 8 print(fib(1000)) print(len(str(fib(100000)))) # prints a huge number with 209 digits # prints 20899, the number of digits # of the th Fibonacci number 2. Υπολογισμός του μικρότερου αριθμού Fibonacci που είναι μεγαλύτερος του n: def fib(n): a, b = 0, 1 while b <= n: return b print(fib(42)) 3. Οι παράμετροι έχουν δυναμικούς τύπους. Αν μια συνάρτηση θέλει να ελέγξει τους τύπους των παραμέτρων της, μπορεί να το κάνει π.χ. με τη συνάρτηση type. Οι συναρτήσεις int και str μετατρέπουν σε ακέραιο και string αντίστοιχα. def fib(n): convert = False if type(n) == str: n = int(n) convert = True 3

4 a, b = 0, 1 while b <= n: if convert: return str(b) else: return b print(fib(42)) # the result is the number 55 print(fib("42")) # the result is the string "55" 4. Το τελευταίο if στο παραπάνω πρόγραμμα μπορεί να γραφεί: return str(b) if convert else b που είναι αντίστοιχο του τελεστή a? b : c στη C/C++. Στην Python θα το γράφαμε b if a else c. 5. Default τιμές παραμέτρων def fib(n, start_a=0, start_b=1): a, b = start_a, start_b while b <= n: return b print(fib(42)) print(fib(1000, 17, 42)) print(fib(1000, start_b=42, start_a=17)) 6. Εμβέλεια μεταβλητών a = 42 # this a is global def fib(n): a, b = 0, 1 # this a is local while b <= n: return b print(fib(a)) print(a) # prints Εμβέλεια με global μεταβλητές a = 42 # this a is global def reasonable(): print(a) def what(): a = 17 print(a) reasonable() # prints 42 print(a) # prints 42 4

5 what() # prints 17 print(a) # prints 42, what??? Η διαφορά βρίσκεται στο ότι η συνάρτηση reasonable δεν αναθέτει στη μεταβλητή a, ενώ η what αναθέτει. Η ανάθεση κάνει την Python να πιστεύει ότι η μεταβλητή πρέπει να είναι local στη what. Αυτό μπορεί να διορθωθεί με χρήση του global: a = 42 # this a is global def what(): global a a = 17 print(a) what() # prints 17 print(a) # prints 17 Συμβολοσειρές 1. Αποτελούνται από χαρακτήρες s = "hello world" print(s[4]) # prints 'o' 2. Τα περιεχόμενά τους δεν αλλάζουν (strings are immutable) s[4] = 'x' # ERROR! αλλά αυτό είναι ΟΚ (φτιάχνει νέο string): s = s[:4] + "x" + s[5:] 3. Το παραπάνω λάθος (εξαίρεση, μπορεί κανείς να το πιάσει ): try: s[4] = 'x' except TypeError: print("strings are immutable!") 4. Φέτες (slices) print(s[:4]) # "hell" --- from start until 4 print(s[4:]) # "o world" --- from 4 until end print(s[4:8]) # "o wo" --- from 4 until 8 print(s[::2]) # "hlowrd" --- every second char (step = 2) print(s[::-1]) # "dlrow olleh" --- in reverse (step = -1) def palindrome(s): return s == s[::-1] # that was quick... Πλειάδες (tuples) Αντιπαράβαλε με τα παραπάνω (strings): 1. Αποτελούνται από οτιδήποτε 5

6 s = (1, 2, "what", 3) print(s[1]) # prints 2 s = tuple("hello world") print(s[4]) # ('h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd') # prints 'o' 2. Τα περιεχόμενά τους δεν αλλάζουν (tuples are immutable) s[4] = 'x' # ERROR! αλλά αυτό είναι ΟΚ (φτιάχνει νέο tuple): s = s[:4] + ("x",) + s[5:] Προσέξτε το κόμμα στο ("x",) που ορίζει ένα tuple με μήκος Το παραπάνω λάθος (εξαίρεση, μπορεί κανείς να το πιάσει ): try: s[4] = 'x' except TypeError: print("tuples are immutable!") 4. Φέτες (slices) print(s[:4]) print(s[4:]) print(s[4:8]) print(s[::2]) print(s[::-1]) # ('h', 'e', 'l', 'l') # ('o', ' ', 'w', 'o', 'r', 'l', 'd') # ('o', ' ', 'w', 'o') # ('h', 'l', 'o', 'w', 'r', 'd') # ('d', 'l', 'r', 'o', 'w', ' ', 'o', 'l', 'l', 'e', 'h') Λίστες (lists) Αντιπαράβαλε με τα παραπάνω (strings και tuples): 1. Αποτελούνται από χαρακτήρες s = [1, 2, "what", 3] print(s[1]) # prints 2 s = list("hello world") print(s[4]) # ['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'] # prints 'o' 2. Τα περιεχόμενά τους αλλάζουν (lists are mutable) s[4] = 'x' # OK! και αυτό είναι ΟΚ αλλά φτιάχνει νέα λίστα: s = s[:4] + ["x"] + s[5:] 3. Φέτες (slices) print(s[:4]) print(s[4:]) print(s[4:8]) print(s[::2]) # ['h', 'e', 'l', 'l'] # ['o', ' ', 'w', 'o', 'r', 'l', 'd'] # ['o', ' ', 'w', 'o'] # ['h', 'l', 'o', 'w', 'r', 'd'] 6

7 print(s[::-1]) # ['d', 'l', 'r', 'o', 'w', ' ', 'o', 'l', 'l', 'e', 'h'] 4. Μετατροπή λίστας σε string (συνένωση πολλών strings) print("".join(s)) print("-".join(s)) # "hello world" # "h-e-l-l-o- -w-o-r-l-d" Διάβασμα από το standard input 1. Συμβολοσειρά από μία γραμμή name = input() print("your name is:", name) 2. Ακέραιο από μία γραμμή n = int(input()) print("your number was:", n) 3. Δύο λέξεις από μία γραμμή first, last = input().split() print("your first name is", first, "and your last name is", last) Γεννήτριες (generators) 1. List comprehensions b = [i*i for i in range(10)] print(b) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] b = [i*i for i in range(10) if i*i%2==1] print(b) # [1, 9, 25, 49, 81] 2. Διάβασμα δύο αριθμών από μία γραμμή, ξανά [n, m] = [int(word) for word in input().split()] ισοδύναμα n, m = [int(word) for word in input().split()] ή καλύτερα η map είναι σαν την map της ML n, m = map(int, input().split()) 3. Η έκφραση i*i for i in range(10) παραπάνω είναι μία γεννήτρια (generator), όπως και το ίδιο το range(10). Γεννάει μία ακολουθία από τιμές, τις οποίες μπορούμε να τοποθετήσουμε σε μία λίστα ή άλλη δομή δεδομένων, να τις διατρέξουμε με ένα for loop, κ.λπ. Η γεννήτρια αυτή αντιστοιχεί στο μαθηματικό σύνολο {i 2 i {0..9}}. 4. Μπορεί κανείς να φτιάξει μία δική του γεννήτρια, ορίζοντας μία συνάρτηση που αντί για return κάνει yield τις τιμές που γεννάει: def fib(n): a, b = 0, 1 yield a while b <= n: yield b 7

8 for i in fib(42): # prints 0, 1, 1, 2, 3, 5, 8, 13, 21, Οι τιμές μίας γεννήτριες δεν αποθηκεύονται κάπου. Καταναλώνονται όπως γεννιούνται. Μπορούμε επομένως να ορίσουμε άπειρες γεννήτριες: def fib(): a, b = 0, 1 yield a while True: yield b for i in fib(): if i > 10**6: break # prints 0, 1, 1, 2, , Λεξικά (dictionaries) 1. Γνωστά και ως συσχετιστικοί πίνακες (associative arrays). Είναι ουσιαστικά arrays που τα στοιχεία τους προσπελάζονται μέσω κλειδιών (keys) οποιουδήποτε τύπου όχι μόνο με ακέραιους όπως οι συμβολοσειρές, οι πλειάδες και οι λίστες. d = {} d["yes"] = "ναι" d["no"] = "όχι" print(d["yes"]) Το παρακάτω προκαλεί εξαίρεση τύπου KeyError: print(d["maybe"]) 2. Μπορούμε να πιάσουμε την εξαίρεση και να ορίσουμε ένα λεξικό με default τιμές def get(d, key): try: return d[key] except KeyError: return 0 d = {} d[1, 2, 3] = 42 print(get(d, (1, 2, 3))) print(get(d, (4, 5, 6))) # notice how keys are tuples here! 3. Οι τύποι των κλειδιών μπορούν να είναι (σχεδόν) οτιδήποτε: d = { "maybe": "ίσως", "why not?": "γιατί όχι;" } d[1, 2, 3] = "ναι" d[4, 5, 6, 7] = "όχι" 8

9 print(d[4, 5, 6, 7]) Πρέπει όμως είτε να είναι immutable (δηλαδή όχι λίστες ή άλλα λεξικά) είτε να ορίζουν τις μεθόδους hash και eq. 4. Μπορούμε να διατρέξουμε όλα τα κλειδιά ενός λεξικού: for key in d: print(key) και να τυπώσουμε και τις τιμές: for key in d: print(key, d[key]) ή καλύτερα: for key, value in d.items(): print(key, value) Σύνολα 1. Αναπαριστούν μαθηματικά σύνολα με στοιχεία (σχεδόν) οποιουδήποτε τύπου (πρέπει να πληρούν τις ίδιες προϋποθέσεις με τα κλειδιά ενός λεξικού). s = set() s.add(1) s.add(2) s.add(3) print(2 in s) print(4 in s) s.remove(2) print(2 in s) # prints True # prints False # prints False now 2. Πράξεις συνόλων: s1 = set([1, 2, 3]) s2 = {3, 4, 5} # equivalent to set([3, 4, 5]) print(s1 s2) # union: {1, 2, 3, 4, 5} print(s1 & s2) # intersection: {3} print(s1 - s2) # difference: {1, 2} 3. Set comprehensions: s = set(i*i for i in range(10)) # {0, 1, 64, 4, 36, 9, 16, 49, 81, 25} ή ισοδύναμα: s = {i*i for i in range(10)} 4. Τα σύνολα (set) είναι mutable. Υπάρχει και η immutable εκδοχή τους (frozenset) που μπορούν να χρησιμοποιηθούν ως κλειδιά σε λεξικά ή ως στοιχεία σε άλλα σύνολα. s1 = frozenset([1, 2, 3]) s2 = frozenset([4, 5, 6]) s = {s1, s2} # two immutable sets # and a (mutable) set containing them 9

10 Η βιβλιοθήκη της Python 1. Είναι οργανωμένη σε modules. Τα χρησιμοποιούμε με εντολές import. 2. Documentation: 3. Π.χ. το module itertools έχει πολλές χρήσιμες συναρτήσεις για να κατασκευάζουμε γεννήτριες: import itertools # all (6) permutations of elements 1, 2, 3 for l in itertools.permutations([1, 2, 3]): print(l) # all (6) pairs of Daltons for l in itertools.combinations(["joe", "jack", "william", "averel"], 2): print(l) 4. Μπορεί κανείς να ορίζει τα δικά του modules. Η λύση της άσκησης colors Εκφώνηση: Η λύση περιέχει σχόλια χρήσιμα για την κατανόησή της. Επίσης, περιέχει αρκετές πυθωνιές που, αν σας εξάπτουν την περιέργεια, ίσως θα θέλατε να ψάξετε περισσότερο. #!/usr/bin/env python3 # -*- coding: utf-8 -*- # Ένας χρήσιμος τύπος δεδομένων από τη βιβλιοθήκη της Python: # Counter: Συμπεριφέρεται ως λεξικό, μετρώντας πόσες φορές έχει # προστεθεί κάποιο στοιχείο. Ιδανικό για υλοποίηση multisets. from collections import Counter def process(f): """ Διαβάζει την είσοδο του προβλήματος "colors" από το αρχείο `f`, το επιλύει καλώντας τη συνάρτηση `solve` και εκτυπώνει την απάντηση στο standard output. """ N, K = map(int, f.readline().split()) C = list(map(int, f.readline().split())) print(solve(n, K, C)) def solve(n, K, C): """ Επιλύει το πρόβλημα "colors". """ # Αναλλοίωτες: # - 0 <= back <= front <= N # - Ο μετρητής count διατηρεί τις εμφανίσεις κάθε χρώματος στο # διάστημα C[front:back]. front = back = 0 count = Counter() # Η μεταβλητή best περιέχει το μήκος του μικρότερου διαστήματος που 10

11 # έχει βρεθεί μέχρι τώρα, ή μία μεγάλη τιμή (N+1) αν δεν έχει βρεθεί # ακόμη διάστημα με όλα τα χρώματα. best = N+1 # Όσο υπάρχουν ακόμα στοιχεία να προστεθούν μπροστά ή όσο μπορούν να # αφαιρεθούν στοιχεία από την αρχή του διαστήματος. while front < N or len(count) == K: # Αν δεν έχουμε δει όλα τα χρώματα. if len(count) < K: # Προσθέτουμε το μπροστινό στοιχείο. count[c[front]] += 1 front += 1 # Αλλιώς, αν τα έχουμε δει όλα. else: # Ενημερώνουμε την απάντηση. best = min(best, front-back) # Αφαιρούμε το πρώτο στοιχείο από την αρχή. count[c[back]] -= 1 # Φροντίζουμε να αφαιρούμε τις μηδενικές τιμές από το μετρητή # ώστε το len(count) να ισούται με το πόσα χρώματα έχουμε δει. if count[c[back]] == 0: del count[c[back]] back += 1 # Επιστρέφουμε την τιμή του best εκτός αν δεν έχει βρεθεί. return best if best <= N else 0 # Ψάξτε και βρείτε τι κάνει το παρακάτω if... if name == " main ": import sys # Αν έχει δοθεί command line argument... if len(sys.argv) > 1: with open(sys.argv[1], "rt") as f: #... διάβασε από αυτό το αρχείο την είσοδο. process(f) else: # διαφορετικά διάβασε από το standard input. process(sys.stdin) 11

Προγραμματιστικά Εργαλεία και Τεχνολογίες για Επιστήμη Δεδομένων

Προγραμματιστικά Εργαλεία και Τεχνολογίες για Επιστήμη Δεδομένων Προγραμματιστικά Εργαλεία και Τεχνολογίες για Επιστήμη Δεδομένων Παράδοση 20/12/2018, Νίκος Παπασπύρου. Εισαγωγή στις γλώσσες σεναρίων (scripting languages) Βλ. π.χ. Κεφάλαιο 13 του βιβλίου Πραγματολογία

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

Γλώσσες Προγραμματισμού Ι

Γλώσσες Προγραμματισμού Ι Γλώσσες Προγραμματισμού Ι Παραδόσεις και εργαστήριο 10/5/2018 και 17/5/2018, Νίκος Παπασπύρου. Εισαγωγή στις γλώσσες σεναρίων (scripting languages) Βλ. π.χ. Κεφάλαιο 13 του βιβλίου Πραγματολογία των Γλωσσών

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

Εισαγωγή στην Γλώσσα Προγραμματισμού 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 Περίληψη Παρουσίασης

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

Προγραμματιστικά Εργαλεία και Τεχνολογίες για Επιστήμη Δεδομένων

Προγραμματιστικά Εργαλεία και Τεχνολογίες για Επιστήμη Δεδομένων Προγραμματιστικά Εργαλεία και Τεχνολογίες για Επιστήμη Δεδομένων Παράδοση 1/1/2019, Νίκος Παπασπύρου. Εργαστηριακή εξέταση, πρόβλημα bigpair Δίνονται δύο ακολουθίες a(1),..., a(n) και b(1),..., b(m), αποτελούμενες

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

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

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

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

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

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

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

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

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

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

PERL. Δήμος Παύλου Δημήτρης Κουζαπάς

PERL. Δήμος Παύλου Δημήτρης Κουζαπάς PERL Δήμος Παύλου Δημήτρης Κουζαπάς Perl Η Perl είναι μια διερμηνευομένη δυναμική γλώσσα προγραμματισμού. Συνδυάζει χαρακτηριστικά από διάφορες γλώσσες. (C/C++, Awk, Lisp κλπ) Διαδόθηκε λόγω της μεγάλης

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

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

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

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

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

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

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

Γλώσσα Προγραμματισμού C++ Εισαγωγή - Μια πρώτη ματιά

Γλώσσα Προγραμματισμού C++ Εισαγωγή - Μια πρώτη ματιά Γλώσσα Προγραμματισμού C++ Εισαγωγή - Μια πρώτη ματιά Βασικά χαρακτηριστικά αναπτύχθηκε ως επέκταση της C το 1979 υπερσύνολο της C γλώσσα γενικού σκοπού, γρήγορη, Αντικειμενοστραφής προγραμματισμός (Object

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

Σημειωματάαριο Δευτέρας 16 Οκτ. 2017

Σημειωματάαριο Δευτέρας 16 Οκτ. 2017 Σημειωματάαριο Δευτέρας 16 Οκτ. 2017 Λίστες και ανακύκλωση for Είδαμε στην αρχή (ξανά) μερικά βασικά πράγματα για λίστες. Λίστα είναι μια πεπερασμένη ακολουθία από αντικείμενα (αριθμούς, strings, άλλες

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

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή Στόχοι και αντικείμενο ενότητας Η έννοια του Τελεστή #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Εκφράσεις Προτεραιότητα Προσεταιριστικότητα Χρήση παρενθέσεων Μετατροπές Τύπων Υπονοούμενες και ρητές μετατροπές

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

ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ. Python & NLTK: Εισαγωγή

ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ. Python & NLTK: Εισαγωγή ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ Python & NLTK: Εισαγωγή Εισαγωγή Γιατί Python? Παρουσίαση NLTK Πηγές και χρήσιμα εργαλεία Φροντιστήριο σε Python Στο φροντιστήριο: Εισαγωγή στην Python Ζητήματα προγραμματισμού για

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

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() συνάρτηση, ο κώδικας ξεκινάει την εκτέλεση από την αρχή του

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

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

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

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

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

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

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

Εισαγωγή στον Προγραμματισμό Python Μάθημα 4: Συναρτήσεις (functions) και δομοστοιχεία (modules) στην Python

Εισαγωγή στον Προγραμματισμό Python Μάθημα 4: Συναρτήσεις (functions) και δομοστοιχεία (modules) στην Python Εισαγωγή στον Προγραμματισμό Python Μάθημα 4: Συναρτήσεις (functions) και δομοστοιχεία (modules) στην Python Νοέμβριος 2014 Χ. Αλεξανδράκη, Γ. Δημητρακάκης Συναρτήσεις (Functions) Στον προγραμματισμό,

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

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις

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

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

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

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

Γραφικά υπολογιστών Εργαστήριο 4 Εισαγωγή στις λίστες

Γραφικά υπολογιστών Εργαστήριο 4 Εισαγωγή στις λίστες Γραφικά υπολογιστών Εργαστήριο 4 Εισαγωγή στις λίστες Σκοπός της 3ης άσκησης είναι να μάθουμε να φτιάχνουμε και να προσπελαύνουμε λίστες, να δούμε τι διαφορά έχουν από τα tuples και επίσης πώς μπορούμε

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το αντικείμενο input

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

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

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

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

Πληρουορική Γ Γσμμασίοσ

Πληρουορική Γ Γσμμασίοσ Πληρουορική Γ Γσμμασίοσ Προγραμματισμός και Αλγόριθμοι Από το και τημ Χελώμα στημ Ευριπίδης Βραχνός http://evripides.mysch.gr/ 2014 2015 1 Προγραμματισμός Ζάννειο Πρότυπο Πειραματικό Γυμνάσιο Πειραιά Ενότητα:

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

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

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

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

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές

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

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

ΕΠΛ 012. JavaScripts

ΕΠΛ 012. JavaScripts ΕΠΛ 012 JavaScripts Γλώσσα JavaScript (JS) ηµιουργεί δυναµικές ιστοσελίδες και αλληλεπιδράσεις µε το χρήστη εν είναι Java, αλλά είναι αντικειµενοστραφής (απλό µοντέλο υποκειµένων) Objects, properties (τιµές

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

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

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

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

HY340, 2009 Α. Σαββίδης Slide 2 / 143. HY340, 2009 Α. Σαββίδης Slide 3 / 143. HY340, 2009 Α. Σαββίδης Slide 4 / 143

HY340, 2009 Α. Σαββίδης Slide 2 / 143. HY340, 2009 Α. Σαββίδης Slide 3 / 143. HY340, 2009 Α. Σαββίδης Slide 4 / 143 HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ Φροντιστήριο 4ο Παραγωγή Ενδιάμεσου Κώδικα ΔΙΔΑΣΚΩΝ Αντώνιος Σαββίδης

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

PHP 1. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

PHP 1. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών PHP 1 Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

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

Λειτουργικά. Συστήματα Ι. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών

Λειτουργικά. Συστήματα Ι. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών Λειτουργικά Αριστείδης Ηλίας Συστήματα Ι Φ ρ ο ν τ ι σ τ ή ρ ι ο Shell Scripting Εισαγωγή Ένα shell script είναι μια λίστα εντολών που εκτελούνται ακολουθιακά Εκτελούνται ανάλογα με το κέλυφος και για

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

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα

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

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

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

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

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor ΕισαγωγήστουςΗ/Υ PHP Hypertext Preprocessor ΤιείναιηPHP; PHP είναιµία server-based scripting language σχεδιασµένη ειδικά για το web. Σε µία html σελίδα µπορούµε να ενσωµατώσουµε php κώδικα που εκτελείται

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

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

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

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

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο)

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο) Προγραμματισμός Η/Υ Ενότητα 2β: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Κατανόηση της έννοιας του Τελεστή

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

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II HelloWorld.java class HelloWorld public static void main(string args[]) // print message System.out.println( Hello world! ); javac HelloWorld.java

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

3. Εκφράσεις και έλεγχος ροής

3. Εκφράσεις και έλεγχος ροής 3. Εκφράσεις και έλεγχος ροής Τελειώνοντας αυτό το κεφάλαιο θα μπορείτε: Να διακρίνετε ανάμεσα σε μεταβλητές μέλη και αυτόματες μεταβλητές Να περιγράφετε την αρχικοποίηση των μεταβλητών μελών Να αναγνωρίζετε

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

Σημειωματάριο Δευτέρας 9 Οκτ. 2017

Σημειωματάριο Δευτέρας 9 Οκτ. 2017 Σημειωματάριο Δευτέρας 9 Οκτ. 2017 Η δομή ελέγχου if... else... elif Βλέπουμε τώρα πώς μπορούμε να γράψουμε προγράμματα που η εκτέλεσή τους ακολουθεί διαφορετική πορεία ανάλογα με τα δεδομένα. Χωρίς τέτοιες

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

Θέματα Προγραμματισμού Διαδικτύου ~ PHP ~

Θέματα Προγραμματισμού Διαδικτύου ~ PHP ~ Θέματα Προγραμματισμού Διαδικτύου ~ PHP ~ Στελιος Σφακιανάκης Εαρινό 2019 Αυτή η εργασία χορηγείται με άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 1 Server-side programming

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

Γλωσσική Τεχνολογία. Εισαγωγικό Φροντιστήριο

Γλωσσική Τεχνολογία. Εισαγωγικό Φροντιστήριο Γλωσσική Τεχνολογία Εισαγωγικό Φροντιστήριο Project του μαθήματος Εργασία 2 ατόμων Προφορική εξέταση για: Project (80%) Θεωρία (20%) Στο φροντιστήριο: Συζητάμε σχεδιαστικές επιλογές Λύνουμε ζητήματα υλοποίησης

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

Γραφικά υπολογιστών Εργαστήριο 1 Εισαγωγή στην Python

Γραφικά υπολογιστών Εργαστήριο 1 Εισαγωγή στην Python Γραφικά υπολογιστών Εργαστήριο 1 Εισαγωγή στην Python Σκοπός της 1ης άσκησης είναι η εξοικείωση με τη γλώσσα προγραμματισμού Python, την οποία και θα χρησιμοποιήσουμε και στις υπόλοιπες εργαστηριακές ασκήσεις.

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

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

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

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

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι (Python) Ενότητα 5. Λεξικά (Dictionaries) ΠΛΗΡΟΦΟΡΙΚΗ Ι (Python) Ενότητα 5 Λεξικά (Dictionaries) Τα λεξικά είναι μια μεταβλητή δομή δεδομένων της Python για την αποθήκευση συλλογών δεδομένων της μορφής: κλειδί τιμή. Δηλαδή, κάθε στοιχείο σε ένα

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

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 3: Προγραμματισμός σε JAVA I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το

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

Εισαγωγή στην PHP. ΕΣΔ 516 Τεχνολογίες Διαδικτύου. Περιεχόμενα. Περιεχόμενα. ΕΣ 516: Τεχνολογίες ιαδικτύου. ΕΣ 516: Τεχνολογίες ιαδικτύου

Εισαγωγή στην PHP. ΕΣΔ 516 Τεχνολογίες Διαδικτύου. Περιεχόμενα. Περιεχόμενα. ΕΣ 516: Τεχνολογίες ιαδικτύου. ΕΣ 516: Τεχνολογίες ιαδικτύου ΕΣΔ 516 Τεχνολογίες Διαδικτύου Εισαγωγή στην PHP Περιεχόμενα Περιεχόμενα PHP και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις Παράδειγματα 1 Βιβλιογραφία Ενότητας Βιβλιογραφία [Lane 2004]: Chapter

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

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών Java

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

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

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

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Αναφορές Μαθήματα από το lab Υπενθύμιση: Η άσκηση ζητούσε να υλοποιήσετε μία κλάση vector που να διαχειρίζεται διανύσματα οποιουδήποτε

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

Διαχείριση Περιεχομένου Παγκόσμιου Ιστού και Γλωσσικά Εργαλεία ΕΙΣΑΓΩΓΙΚΟ ΦΡΟΝΤΙΣΤΗΡΙΟ

Διαχείριση Περιεχομένου Παγκόσμιου Ιστού και Γλωσσικά Εργαλεία ΕΙΣΑΓΩΓΙΚΟ ΦΡΟΝΤΙΣΤΗΡΙΟ Διαχείριση Περιεχομένου Παγκόσμιου Ιστού και Γλωσσικά Εργαλεία ΕΙΣΑΓΩΓΙΚΟ ΦΡΟΝΤΙΣΤΗΡΙΟ Project του μαθήματος Εργασία 2 ατόμων Προφορική εξέταση για: Project (80%) Θεωρία (20%) Στο φροντιστήριο: Συζητάμε

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

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

ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό. Επαναληπτικές Ασκήσεις Χειµερινό Εξάµηνο 2014 ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό Επαναληπτικές Ασκήσεις Χειµερινό Εξάµηνο 2014 Λίστες όρισµα 2 λίστες και θα επιστρέφει το γινόµενo των 2 «µεσαίων» στοιχείων τους. Π.χ. L1 = [5,1,3,2,4], L2 = [9,2,1,8,0]

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

Γ7.2 Συμβολοσειρές (Strings) Γ Λυκείου Κατεύθυνσης

Γ7.2 Συμβολοσειρές (Strings) Γ Λυκείου Κατεύθυνσης Γ7.2 Συμβολοσειρές (Strings) Γ Λυκείου Κατεύθυνσης Εισαγωγή Στη C++ υπάρχει η δυνατότητα να δηλώσουμε μία συμβολοσειρά ως αντικείμενο, χρησιμοποιώντας τη βιβλιοθήκη . Επειδή οι συμβολοσειρές είναι

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

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

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

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

Επεξεργασία κειμένου και συμβολοσειρών σε C

Επεξεργασία κειμένου και συμβολοσειρών σε C Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr)

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

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript Β.1 Τύποι Δεδομένων Όλες οι γλώσσες προγραμματισμού (πρέπει να) υποστηρίζουν πέντε (5) πρωταρχικούς τύπους δεδομένων: char (character) int (integer)

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

lab13grades 449 PASS 451 PASS PASS FAIL 1900 FAIL Page 1

lab13grades 449 PASS 451 PASS PASS FAIL 1900 FAIL Page 1 ΑΕΜ ΒΑΘΜΟΣ 449 PASS 451 PASS 476-1733 PASS 1779-1899 FAIL 1900 FAIL Page 1 1901 PASS 1904 PASS 1908 PASS 1909 PASS 1910 - Page 2 1911 PASS 1914 Οριακό PASS 1915 PASS 1926 PASS Page 3 1927 PASS 1928 Οριακό

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

ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β

ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β 1. (10 μον.) Απαντήστε σωστό ή λάθος στις παρακάτω ερωτήσεις (αʹ) _2togo είναι έγκυρο όνομα μεταβλητής (βʹ) Αν p είναι δείκτης στο πρώτο στοιχείο

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

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

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

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

Εισαγωγή στον Προγραμματισμό με την Python 3. Βασίλης Βασιλάκης Γιώργος Μπουκέας

Εισαγωγή στον Προγραμματισμό με την Python 3. Βασίλης Βασιλάκης Γιώργος Μπουκέας Εισαγωγή στον Προγραμματισμό με την Python 3 Βασίλης Βασιλάκης vassilakis1978@gmail.com Γιώργος Μπουκέας boukeas@gmail.com Απρίλιος 2015 Γιατί Python; (στην εκπαίδευση) Προγραμματιστικά Χαρακτηριστικά

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

Προγραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Δείκτες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Τι είναι ο δείκτης Ένας δείκτης είναι μια μεταβλητή που περιέχει μια διεύθυνση μνήμης. Θυμηθείτε πως

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 Κατασκευαστές (Constructors) Ειδικός τύπος μεθόδων, οι οποίες: - είναι public και έχουν το ίδιο όνομα με αυτό της κλάσης - χρησιμοποιούνται για να αρχικοποιήσουν κάποιες

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

Εξαιρέσεις Εισαγωγή. Εξαιρέσεις. ηµήτρης Λεβεντέας

Εξαιρέσεις Εισαγωγή. Εξαιρέσεις. ηµήτρης Λεβεντέας Εισαγωγή Εξαιρέσεις ηµήτρης Λεβεντέας 20 Μαΐου 2010 Εισαγωγή Ορισµός Τι είναι Ορισµός Ο χειρισµός εξαιρέσεων είναι µια κατασκευή η οποία µας επιτρέπει να χειριστούµε ειδικές συνθήκες που αλλάζουν την ϕυσιολογική

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

Εισαγωγή στους Η/Υ και τις Εφαρμογές Ενότητα 5: Επεξεργασία δεδομένων με τη γλώσσα προγραμματισμού python Υπο-ενότητα 5.2: Συμβολοσειρές-Έλεγχος Ροής

Εισαγωγή στους Η/Υ και τις Εφαρμογές Ενότητα 5: Επεξεργασία δεδομένων με τη γλώσσα προγραμματισμού python Υπο-ενότητα 5.2: Συμβολοσειρές-Έλεγχος Ροής Εισαγωγή στους Η/Υ και τις Εφαρμογές Ενότητα 5: Επεξεργασία δεδομένων με τη γλώσσα προγραμματισμού python Υπο-ενότητα 5.2: Συμβολοσειρές-Έλεγχος Ροής Μανώλης Τζαγκαράκης, Βικτωρία Δασκάλου Σχολή Οργάνωσης

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Λύβας Χρήστος chrislibas@ssl-unipi.gr Μανουσόπουλος Χρήστος cman@unipi.gr Αρχική επιμέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος >_ ΔΕΣΜΕΥΜΕΝΑ ΟΝΟΜΑΤΑ +- Υπάρχουν ορισμένες

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

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,

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

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

Σημειωματάριο Τετάρτης 25 Οκτ. 2017 Σημειωματάριο Τετάρτης 25 Οκτ. 2017 Ένα πρόγραμμα που παίζει κρεμάλα Σήμερα φτιάξαμε ένα πρόγραμμα που παίζει "κρεμάλα" με το χρήστη. Το πρόγραμμα hangman.py link (http://fourier.math.uoc.gr/~mk/prog1718/files/hangman.py))

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

Σημειωματάριο Δευτέρας 30 Οκτ. 2017

Σημειωματάριο Δευτέρας 30 Οκτ. 2017 Σημειωματάριο Δευτέρας 30 Οκτ. 2017 Συναρτήσεις (functions) Μια συνάρτηση στην Python είναι κομμάτι κώδικα που φέρει το δικό του όνομα (ακολουθεί τη λέξη κλειδί def στον ορισμό της συνάρτησης, έχει τα

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

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

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

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

Βασικές Ασκήσεις από τα Εργαστήρια της PYTHON (εβδομάδα 5)

Βασικές Ασκήσεις από τα Εργαστήρια της PYTHON (εβδομάδα 5) Βασικές Ασκήσεις από τα Εργαστήρια της PYTHON (εβδομάδα 5) Η Python επιτρέπει να χρησιμοποιούμε πολλές μεταβλητές οποιουδήποτε τύπου στην αριστερή πλευρά μίας καταχώρισης, αρκεί ο αριθμός των τιμών ή μεταβλητών

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

Προγραμματισμός Η/Υ (ΤΛ2007 )

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16

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

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Τμημα Πληροφορικης και Τηλεματικης Τσάμη Παναγιώτα ΑΜ: 20833 ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Άσκηση 1 Αθήνα 13-12-2011 Αναφορά Ενότητα 1 A Δημιουργήστε στο φλοιό 3 εντολές (alias) που η

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 ❶ Προετοιµασία για το 1 ο Εργαστήριο

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

Συµβολοσειρές - Strings

Συµβολοσειρές - Strings Συµβολοσειρές - Strings 1 Συµβολοσειρέςστην C/C++ 2 Χαρακτήρες 'a', 'z', '0', Χαρακτήρες σαν int 'z' επίσης αναπαριστά την ακεραία τιµή του χαρακτήρα z Strings-Συµβολοσειρές Σειρές από χαρακτήρες σαν µια

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

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

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

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

Εισαγωγή στην PHP. ΕΣΔ 232 Διαχείριση Δεδομένων στη Κοινωνία της Πληροφορίας. Περιεχόμενα. Περιεχόμενα

Εισαγωγή στην PHP. ΕΣΔ 232 Διαχείριση Δεδομένων στη Κοινωνία της Πληροφορίας. Περιεχόμενα. Περιεχόμενα ΕΣΔ 232 Διαχείριση Δεδομένων στη Κοινωνία της Πληροφορίας Εισαγωγή στην PHP Περιεχόμενα Περιεχόμενα PHP και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις Παράδειγματα 1 Βιβλιογραφία Ενότητας Βιβλιογραφία

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

Ενότητα: Δυαδική Αναζήτηση Σχέδιο Δραστηριότητας: Παιχνίδι: Βρες τον αριθμό

Ενότητα: Δυαδική Αναζήτηση Σχέδιο Δραστηριότητας: Παιχνίδι: Βρες τον αριθμό Ενότητα: Δυαδική Αναζήτηση Σχέδιο Δραστηριότητας: Παιχνίδι: Βρες τον αριθμό 1 Εισαγωγή Σκεφτείτε έναν αριθμό από το 1 έως το 1000 και απαντήστε στην ερώτηση: Ο αριθμός που σκεφτήκατε είναι μεγαλύτερος

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

Στο εργαστήριο θα μελετηθούν: Διδάσκων: Γιώργος Χατζηπολλάς. Εργαστήριο 2: Εργαλεία Συστήματος UNIX. Ομάδες για παρουσίαση

Στο εργαστήριο θα μελετηθούν: Διδάσκων: Γιώργος Χατζηπολλάς. Εργαστήριο 2: Εργαλεία Συστήματος UNIX. Ομάδες για παρουσίαση Εργαστήριο 2: Εργαλεία Συστήματος UNIX Στο εργαστήριο θα μελετηθούν: Ομάδες για παρουσίαση sed (Stream EDitor) Παραδείγματα χρήσης sed Διδάσκων: Γιώργος Χατζηπολλάς 2-1 Ομάδες Παρουσίασης Group Name Description

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Έλεγχος ισότητας για Strings: Διαβάζουμε το String option και θέλουμε ένα loop να συνεχίσει

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

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2)

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2) Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Οργάνωση Προγράµµατος Header Files Μετάφραση και σύνδεση αρχείων προγράµµατος ΕΠΛ 132 Αρχές Προγραµµατισµού

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java Είσοδος Χρησιμοποιούμε την κλάση Scanner της Java import java.util.scanner; Αρχικοποιείται με το ρεύμα εισόδου: Scanner in = new Scanner(System.in);

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

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

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

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

Η ΑΕΠΠ IN A GLANCE! ΦΡΟΝΤΙΣΤΗΡΙΑ ΠΟΛΥΜΕΝΗ

Η ΑΕΠΠ IN A GLANCE! ΦΡΟΝΤΙΣΤΗΡΙΑ ΠΟΛΥΜΕΝΗ Η ΑΕΠΠ IN A GLANCE! Κατανομή μονάδων: 40 μονάδες το 1 ο Θέμα, από 20 τα υπόλοιπα τρία. Μην χαίρεστε όμως γιατί η «καθαρή» θεωρία περιορίζεται συνήθως- σε 5 ερωτήσεις σωστού ή λάθους και σε 1-2 ερωτήσεις

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

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή Στο εργαστήριο αυτό θα μάθουμε για τη χρήση συναρτήσεων με σκοπό την κατασκευή αυτόνομων τμημάτων προγραμμάτων που υλοποιούν μία συγκεκριμένη διαδικασία, τα οποία

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

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

Σημειωματάριο Τετάρτης 4 Οκτ. 2017 Σημειωματάριο Τετάρτης 4 Οκτ. 2017 Strings (λέξεις) Ένας από τους κύριους τύπους δεδομένων στην Python είναι τα strings (κείμενα, λέξεις). Όταν γράφουμε ένα κείμενο σε απλά ή διπλά εισαγωγικά τότε αυτό

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

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

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

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

4 η Διάλεξη Python - Συναρτήσεις

4 η Διάλεξη Python - Συναρτήσεις 4 η Διάλεξη Python - Συναρτήσεις Συναρτήσεις Οι συναρτήσεις µας επιτρέπουν την ομαδοποίηση κώδικα που επιτελεί µια συγκεκριμένη λειτουργία και, κατά συνέπεια, την ευκολότερη επαναχρησιμοποίησή του. Επιπλέον,

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

Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας

Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας Αυτό-αξιολόγηση 1η: 08/02/2006 1

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

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

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

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

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

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

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

Δομημένος Προγραμματισμός (ΤΛ1006)

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

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

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

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

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

Σημειωματάριο Δευτέρας 23 Οκτ. 2017

Σημειωματάριο Δευτέρας 23 Οκτ. 2017 Σημειωματάριο Δευτέρας 23 Οκτ. 2017 Ένα μεγάλο πρόγραμμα διαχείρισης πληροφορίας σε λίστες Σήμερα γράψαμε ένα μεγάλο πρόβλημα απλής διαχείρισης μιας μικρής βάσης δεδομένων. Η πληροφορία με την οποία ξεκινάμε

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ I

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ I ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ I Πιτροπάκης Νικόλαος Υποψήφιος Διδάκτορας Contact: npitrop@unipi.gr Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact: nifantop@unipi.gr If at first you don't succeed, call it version

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

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Συναρτήσεις Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Συναρτήσεις Ως τώρα γράφαμε όλα τα προγράμματα μας μέσα στην main..1

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