Γιώργος Μανής Επίκουρος Καθηγητής Τμήματος Μηχανικών Η/Υ και Πληροφορικής 6 Οκτωβρίου 2014

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

Download "Γιώργος Μανής Επίκουρος Καθηγητής Τμήματος Μηχανικών Η/Υ και Πληροφορικής 6 Οκτωβρίου 2014"

Transcript

1 Γιώργος Μανής Επίκουρος Καθηγητής Τμήματος Μηχανικών Η/Υ και Πληροφορικής 6 Οκτωβρίου 2014

2

3 Δομές Δεδομένων της Python strings πλειάδες λίστες λεξικά πίνακες?

4 Strings >>> Hello, world! Hello, world! s= Hello, world! >>>s Hello, world! >>>x= Hello, >>>y= world! >>>x+y Hello, world!

5 Λίστες δημιουργία λίστας >>> list ('Hello') ['H', 'e', 'l', 'l', 'o'] παράθεση >>> x [1, 5, 4, 7, 8, 9] >>> y [7, 8, 9] >>> x+y [1, 5, 4, 7, 8, 9, 7, 8, 9]

6 Λίστες διάβασμα γράψιμο >>> x=[1,2,3] >>> x [1, 2, 3] >>> x[2]=-1 >>> x [1, 2, -1] min-max >>> x=[3,5,2,8,7] >>> min(x) 2

7 Λίστες διαγραφή >>> x=[1,2,3] >>> del x[1] >>> x [1, 3] αντικατάσταση >>> list = [1,2,3,4,5,6] >>> list[3:]=[7,8,9] >>> list [1, 2, 3, 7, 8, 9]

8 Λίστες διαγραφή >>> x=[1,2,3] >>> del x[1] >>> x [1, 3] αντικατάσταση >>> list = [1,2,3,4,5,6] >>> list[3:]=[7,8,9] >>> list [1, 2, 3, 7, 8, 9]

9 Λίστες πρόσθεση στο τέλος >>> lst = [1, 2, 3] >>> lst.append(4) >>> lst [1, 2, 3, 4] μέτρηση στοιχείων >>> ['to', 'be', 'or', 'not', 'to', 'be'].count('to') 2

10 Λίστες πρόσθεση στο τέλος >>> lst = [1, 2, 3] >>> lst.append(4) >>> lst [1, 2, 3, 4] μέτρηση στοιχείων >>> ['to', 'be', 'or', 'not', 'to', 'be'].count('to') 2

11 Λίστες αναζήτηση θέσης >>> a = [1, 5, 4, 7, 8, 9, 7, 8, 9] 3 >>> a.index(7) προσθήκη >>> a = [1, 5, 4, 7, 8, 9, 7, 8, 9, -1] >>> >>> a.insert(2,10) >>> a [1, 5, 10, 4, 7, 8, 9, 7, 8, 9, -1]

12 Λίστες pop >>> a = [1, 5, 10, 4, 7, 8, 9, 7, 8, 9, -1] >>> a.pop() -1 >>> a.pop(2) 10 remove >>> a = [5, 10, 7, 8, 9, 7, 8, 9] >>> a.remove(9) >>> a [5, 10, 7, 8, 7, 8, 9]

13 Πλειάδες Οι πλειάδες δημιουργούνται και δεν τροποποιούνται στη συνέχεια >>> 1, 2, 3 (1, 2, 3) >>> tuple([1, 2, 3]) (1, 2, 3) >>> tuple('abc') ('a', 'b', 'c')

14 Πλειάδες >>> x = 1, 2, 3 >>> x[1] 2 >>> x[0:2] (1, 2) Χρησιμότητα Θα μπορούσαμε να χρησιμοποιούσαμε και λίστες αντί τις πλειάδες Κάποιες λειτουργίες απαιτούν την χρήση τους αντί αυτή των λιστών για να εξασφαλίζουν ότι δε θα τροποποιηθούν

15 Λεξικά χρησιμοποιούν κλειδιά και όχι απλούς δείκτες η αναζήτηση βασίζεται στα κλειδιά, τα οποία είναι πλειάδες π.χ. phonebook = { Αλίκη': '2341', Μπέτυ': '9102', Σεσίλ': '3258'} >>> phonebook[ Αλίκη ] 2341

16 Λεξικά >>> items = [('name', Γιώργος'), ('age', 42)] >>> d = dict(items) >>> d {'age': 42, 'name': Γιώργος'} >>> d['name'] Γιώργος d = dict(name= Γιώργος', age=42) >>> d {'age': 42, 'name': Γιώργος'}

17 Λεξικά >>> d = {} >>> d['name'] = Γιώργος' >>> d['age'] = 42 >>> d {'age': 42, 'name': Γιώργος'} >>> returned_value = d.clear() {} >>> d

18 Λεξικά >>> d = {} >>> d.has_key('name') 0 >>> d['name'] = 'Eric' >>> d.has_key('name') 1 >>> d = {'title': 'Python Web Site', 'url': ' 'spam': 0} >>> d.items() [('url', ' ('spam', 0), ('title', 'Python Web Site')]

19 Λεξικά >>> d = {'x': 1, 'y': 2} 1 >>> d.pop('x') >>> d {'y': 2} >>> d {'url': ' 'spam': 0, 'title': 'Python Web Site'} >>> d.popitem() ('url', ' τυχαίο >>> d {'spam': 0, 'title': 'Python Web Site }

20 Λεξικά >>> d = { 'title': 'Python Web Site', 'url': ' changed': 'Mar 14 22:09:15 MET 2005 } >>> x = {'title': 'Python Language Website'} >>> d.update(x) >>> d {'url': ' 'changed': 'Mar 14 22:09:15 MET 2005, 'title': 'Python Language Website'}

21 Δομές Έλέγχου Η δομή if, elif και else Ο βρόχος while Ο βρόχος for Επαναλήψεις σε λεξικά

22 Μπλοκ κώδικα Ένα μπλοκ κώδικα είναι μία ομάδα εντολών η οποία θα εκτελεστεί αν μία συνθήκη είναι αληθής ή θα εκτελεστεί πολλές φορές (βρόχος) Στην Python, το μπλοκ δημιουργείται γράφοντας το αντίστοιχο μέρος του κώδικα σε εσοχή (βάζοντας διαστήματα μπροστά). Προτείνονται τέσσερα διαστήματα.

23 Μπλοκ κώδικα this is a line this is another line: this is another block continuing the same block the last line of this block out of the inner block Η αρχή του μπλοκ ορίζεται με «:»

24 Συνθήκες Boolean τιμές : True, False Στην Python, οι παρακάτω τιμές θεωρούνται ισοδύναμες με False: False None 0 "" () [] {} Οποιαδήποτε άλλη τιμή θεωρείται ισοδύναμη με True.

25 True και False Βασικά, True σημαίνει 1 και False σημαίνει 0. >>> True True >>> False False >>> True == 1 True >>> False == 0 True >>> True + False

26 Τύπος bool Οι τιμές True και False ανήκουν στον τύπο bool. bool('i think, therefore I am') True >>> bool(42) True >>> bool('') False >>> bool(0) False

27 Η εντολή if name = input('what is your name? ') if name.endswith('gumby'): print('hello, Mr. Gumby )

28 elif και else num = eval(input('enter a number: ')) if num > 0: print('the number is positive') elif num < 0: print('the number is negative') else: print('the number is zero') >>> x = 1 >>> eval('x + 1') 2 >>> eval('x') 1

29 Φωλιασμένα μπλοκ name = input('what is your name? ') if name.endswith('gumby'): if name.startswith('mr.'): print('hello, Mr. Gumby') elif name.startswith('mrs.'): print('hello, Mrs. Gumby') else: print('hello, Gumby') else: print('hello, stranger')

30 Τελεστές σύγκρισης x == y το x ισούται με το y. x < y το x είναι μικρότερο από το y. x > y το x είναι μεγαλύτερο από το y. x >= y το x είναι μεγαλύτερο ή ίσο από το y. x <= y το x είναι μικρότερο ή ίσο από το y. x!= y το x είναι διάφορο του y. x is y x και y είναι το ίδιο αντικείμενο. x is not y x και y είναι διαφορετικά αντικείμενα. x in y το x είναι μέλος της ακολουθίας y. x not in y το x δεν είναι μέλος της ακολουθίας y.

31 Τελεστές σύγκρισης >>> "foo" == "foo" True >>> "foo" == "bar" False >>> "foo" = "foo" SyntaxError: can't assign to literal

32 Ο τελεστής is (τελεστής ταυτότητας) >>> x = y = [1, 2, 3] >>> z = [1, 2, 3] >>> x == y True >>> x == z True >>> x is y True >>> x is z False

33 Ο τελεστής in name = input('what is your name? ') if 's' in name: print('your name contains the letter "s". ) else: print('your name does not contain the letter "s". )

34 Σύγκριση αλφαριθμητικών και ακολουθιών >>> "alpha" < "beta" True [1, 2] < [2, 1] True

35 Boolean τελεστές number = int(input( Δώσε μου αριθμό ανάμεσα στο 1 και το 10: ')) if number <= 10: if number >= 1: print Σωστά!' else: print Λάθος!' else: print Λάθος!'

36 Boolean τελεστές Καλύτερα: number = int(input(' Δώσε μου αριθμό ανάμεσα στο 1 και το 10 : ')) if number <= 10 and number >= 1: print Σωστά!' else: print Λάθος! Ακόμα καλύτερα: if 1<=number<=10:

37 Boolean τελεστές and, or, not όσο πολύπλοκα θέλουμε if ((cash > price) or customer_has_good_credit) and not out_of_stock: give_goods()

38 Ο βρόχος while x = 1 while x <= 100: print(x) x += 1 name = '' while not name: name = input('please enter your name: ') print('hello, %s!' % name)

39 Ο βρόχος for words = ['this', 'is', 'an', 'ex', 'parrot'] for word in words: print(word) numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] for number in numbers: print(number)

40 range for number in range(1,101): print(number) >>>list(range(0,10)) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] Το δεύτερο όριο δεν συμπεριλαμβάνεται.

41 Επαναλήψεις σε λεξικά d = {'x': 1, 'y': 2, 'z': 3} for key in d: print(key, 'corresponds to', d[key]) Εναλλακτικά: d = {'x': 1, 'y': 2, 'z': 3} for key, value in d.items(): print(key, 'corresponds to', value)

42 Αντικατάσταση αλφαριθμητικού for string in strings: if 'xxx' in string: index = strings.index(string) strings[index] = '[censored] Εναλλακτικά: index = 0 for string in strings: if 'xxx' in string: strings[index] = '[censored]' index += 1

43 reversed και sorted >>> sorted([4, 3, 6, 8, 3]) [3, 3, 4, 6, 8] >>> sorted('hello, world!') [' ', '!', ',', 'H', 'd', 'e', 'l', 'l', 'l', 'o', 'o', 'r', 'w'] >>> list(reversed('hello, world!')) ['!', 'd', 'l', 'r', 'o', 'w', ' ', ',', 'o', 'l', 'l', 'e', 'H'] >>> ''.join(reversed('hello, world!')) '!dlrow,olleh'

44 Η εντολή break Θέλω να βρω το μεγαλύτερο τέλειο τετράγωνο μικρότερο του 100. from math import sqrt for n in range(99, 0, -1): root = sqrt(n) if root == int(root): print(n) break Η break μας βγάζει έξω από το βρόχο

45 range με βήμα >>>list(range(99, 0, -1)) [99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1] >>>list(range(0,10,2)) [0, 2, 4, 6, 8]

46 Ο ιδιωματισμός while True/break word = 'dummy' while word: word = input('please enter a word: ') # do something with the word: print('the word was ' + word) Χρειαζόμαστε την αρχική τιμή στη word.

47 O ιδιωματισμός while True/break Εναλλακτικά: word = input('please enter a word: ') while word: # do something with the word: print('the word was ' + word) word = input('please enter a word: ')

48 O ιδιωματισμός while True/break Με χρήση του while True/break: while True: word = input('please enter a word: ') if not word: break # do something with the word: print('the word was ' + word)

49 Χρήση Boolean σημαίας broke_out = False for x in seq: do_something(x) if condition(x): broke_out = True break do_something_else(x) if not broke_out: print "I didn't break out!"

50 Χρήση else στη for from math import sqrt for n in range(99, 81, -1): root = sqrt(n) if root == int(root): print(n) break else: print("didn't find it!")

51 Περισσότερα για λίστες >>> [x*x for x in range(10)] [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] >>> [x*x for x in range(10) if x % 3 == 0] [0, 9, 36, 81] >>> [(x, y) for x in range(3) for y in range(3)] [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]

52 Περισσότερα για λίστες >>> girls = ['alice', 'bernice', 'clarice'] >>> boys = ['chris', 'arnold', 'bob'] >>> [b+'+'+g for b in boys for g in girls if b[0] == g[0]] ['chris+clarice', 'arnold+alice', 'bob+bernice']

53 Η εντολή pass Δεν κάνει τίποτα! if name == 'Ralph': print 'Welcome!' elif name == 'Enid': # Not finished yet... pass elif name == 'Bill Gates': print 'Access Denied'

54 Παραδείγματα Ύψωση σε δύναμη Παραγοντικό Υπολογισμός ψηφίων ακέραιου αριθμού

55 Ύψωση σε δύναμη x = int(input('dose ti vasi: ')) y = int(input('dose ti dynami: ')) value = 1 for i in range(0, y): value *= x print('%d eis tin %d = %d' % (x, y, value))

56 Παραγοντικό n! = n

57 Παραγοντικό ενός αριθμού x = int(input('dose mou ton arithmo: ')) y = 1 for i in range(1,x+1): y *= i print('to paragontiko tou %d einai %d' % (x,y))

58 Υπολογισμός ψηφίων ακέραιου αριθμού Παράδειγμα: 235=2*100+3*10+5 Πρώτο ψηφίο: 235%10=5 235//10=23 Δεύτερο ψηφίο: 23%10=3 23//10=2 Τρίτο ψηφίο: 2%10=2 2//10=0

59 Υπολογισμός αθροίσματος ψηφίων ακέραιου αριθμού n = int(input('dose mou ton arithmo: ')) dsum = 0 while n>0: dsum += n%10 n//=10 print('to athroisma ton psifion tou arithmou einai %d' % dsum)

60 Πίνακες

61 Πίνακες Μπορούμε να χρησιμοποιήσουμε λίστες ως πίνακες. Μονοδιάστατος πίνακας: Α=[1, 2, 3, 4, 5] Διδιάστατος πίνακας: Β=[[1, 2, 3], [4, 5, 6], [7, 8, 9]] Κάθε γραμμή του πίνακα είναι μία λίστα.

62 Αρχικοποίηση πινάκων Μονοδιάστατος πίνακας Ν=5 Α=[0]*Ν Εναλλακτικά: Α=[0 for i in range(n)] Αντί για 0 μπορούμε να βάλουμε και None.

63 Αρχικοποίηση πινάκων Δισδιάστατος πίνακας Ν=3 pinakas=[[0 for i in range(n)] for i in range(n)] pinakas pinakas[0][0] pinakas[0][1] pinakas[0][2] Προσοχή: pinakas[1][0] pinakas[1][1] pinakas[1][2] pinakas[2][0] pinakas[2][1] pinakas[2][2] Είναι pinakas[i][j] και όχι pinakas[i, j] 0 1 2

64 Πρόσθεση πινάκων N = 3 A = [[0.0 for j in range(n)] for i in range(n)] B = [[0.0 for j in range(n)] for i in range(n)] C = [[0.0 for j in range(n)] for i in range(n)] for i in range(n): for j in range(n): A[i][j] = float(input('a[%d][%d]: ' % (i, j))) for i in range(n): for j in range(n): B[i][j] = float(input('b[%d][%d]: ' % (i, j)))

65 Πρόσθεση πινάκων (συνέχεια) for i in range(n): for j in range(n): C[i][j] = A[i][j] + B[i][j] for i in range(n): for j in range(n): print('c[%d][%d]:%7.2f ' % (i, j, C[i][j]), end = '') print('')

66 Πολλαπλασιασμός πινάκων NxN C A B C[ i, j] N 1 A[ i, k] B[ k, j] k 0

67 Πολλαπλασιασμός πινάκων N = 3 A = [[0.0 for j in range(n)] for i in range(n)] B = [[0.0 for j in range(n)] for i in range(n)] C = [[0.0 for j in range(n)] for i in range(n)] for i in range(n): for j in range(n): A[i][j] = float(input('a[%d][%d]: ' % (i, j))) for i in range(n): for j in range(n): B[i][j] = float(input('b[%d][%d]: ' % (i, j)))

68 Πολλαπλασιασμός πινάκων (συνέχεια) for i in range(n): for j in range(n): thiselement = 0.0 for k in range(n): thiselement += A[i][k]*B[k][j] C[i][j] = thiselement for i in range(n): for j in range(n): print('c[%d][%d]:%7.2f ' % (i, j, C[i][j]), end = '') print(' )

69 Ανάστροφος πίνακα N = 3 A = [[0.0 for j in range(n)] for i in range(n)] C = [[0.0 for j in range(n)] for i in range(n)] for i in range(n): for j in range(n): A[i][j] = float(input('a[%d][%d]: ' % (i, j))) for i in range(n): for j in range(n): C[i][j] = A[j][i]

70 Ανάστροφος πίνακα (συνέχεια) for i in range(n): for j in range(n): print('c[%d][%d]:%7.2f ' % (i, j, C[i][j]), end = '') print('')

71 Περισσότεροι Πίνακες σε βιβλιοθήκη

72 Συναρτήσεις

73 Hello world >>> def helloworld(): print('hello World') >>> helloworld() Hello World >>>

74 Hello world >>> def hello(name): return 'Hello, '+name+'!' >>> hello ('world') 'Hello, world!' >>> hello ('George') 'Hello, George!' >>>

75 Fibonacci numbers fib(0) = 1 fib(1) = 1 fib(n)=fib(n-1)+fib(n-2)

76 Fibonacci numbers >>> def fibs(num): result = [0, 1] for i in range(num-2): result.append(result[-2] + result[-1]) return result >>> fibs(10) [0, 1, 1, 2, 3, 5, 8, 13, 21, 34] >>>

77 Τεκμηρίωση >>> def hello(name): 'prints hello, a comma and a name following them' return 'Hello, '+name+'!' >>> hello('george') 'Hello, George!' >>> hello. doc 'prints hello, a comma and a name following them' >>>

78 Τεκμηρίωση >>> from math import sqrt >>> help(sqrt) Help on built-in function sqrt in module math: sqrt(...) sqrt(x) Return the square root of x.

79 Παράμετροι def hello(name): return 'Hello, '+name+'!' >>> x='george' >>> hello(x) 'Hello, George!' >>> x 'George'

80 Παράμετροι def hello(name): name='123' return 'Hello, '+name+'!' >>> x='george' >>> hello(x) 'Hello, 123!' >>> x 'George' >>>

81 Παράμετροι >>> def change(n): n[0] = 'Mr. Gumby' >>> names = ['Mrs. Entity', 'Mrs. Thing'] >>> change(names) >>> names ['Mr. Gumby', 'Mrs. Thing']

82 Παράμετροι def hello_1(greeting, name): print '%s, %s!' % (greeting, name) def hello_2(name, greeting): print '%s, %s!' % (name, greeting) >>> hello_1('hello', 'world') Hello, world! >>> hello_2('hello', 'world') Hello, world!

83 Παράμετροι >>> hello_1(greeting='hello', name='world') Hello, world! >>> hello_1(name='world', greeting='hello') Hello, world! >>> hello_2(greeting='hello', name='world') world, Hello!

84 Παράμετροι Πιο ευανάγνωστος κώδικας >>> store('mr. Brainsample', 10, 20, 13, 5) >>> store(patient='mr. Brainsample', hour=10, minute=20, day=13, month=5)

85 Παράμετροι def hello_3(greeting='hello', name='world'): print '%s, %s!' % (greeting, name) >>> hello_3() Hello, world! >>> hello_3('greetings') Greetings, world! >>> hello_3('greetings', 'universe') Greetings, universe! >>> hello_3(name='gumby') Hello, Gumby!

86 Παράμετροι >>> def hello(greetings='hello, name='world'): print(greetings+', '+name) >>> hello() Hello, world >>> hello(greetings='hi') Hi, world >>> hello(name='mike') Hello, Mike

87 Παράμετροι >>> hello(name='mike,greetings='hi') Hi, Mike >>> hello('hi', 'Mike') Hi, Mike >>> hello('mike', 'Hi') Mike, Hi >>> hello('hi') Hi, world >>> hello('mike') Mike, world

88 Μεταβλητός αριθμός παραμέτρων def print_params(*params): print (params) >>> print_params('testing') ('Testing',) >>> print_params(1, 2, 3) (1, 2, 3)

89 Μεταβλητός αριθμός παραμέτρων def print_params_2(title, *params): print (title) print (params) print_params_2('params:', 1, 2, 3) Params: (1, 2, 3) >>> print_params_2('nothing:') Nothing: ()

90 Μεταβλητός αριθμός παραμέτρων def print_params_3(**params): print (params) >>> print_params_3(x=1, y=2, z=3) {'z': 3, 'x': 1, 'y': 2}

91 Μεταβλητός αριθμός παραμέτρων def print_params_4(x, y, z=3, *pospar, **keypar): print (x, y, z) print (pospar) print (keypar) >>> print_params_4(1, 2, 3, 5, 6, 7, foo=1, bar=2) (5, 6, 7) {'foo': 1, 'bar': 2} >>> print_params_4(1, 2) () {}

92 Κατανομή στις παραμέτρους def add(x, y): return x + y params = (1, 2) >>> add(*params) 3

93 Κατανομή στις παραμέτρους >>> params = {'name': 'Sir Robin', 'greeting': 'Well met'} >>> hello_3(**params) Well met, Sir Robin!

94 Παραδείγματα def story(**kwds): return 'Once upon a time, there was a ' \ '%(job)s called %(name)s.' % kwds >>> print story(job='king', name='gumby') Once upon a time, there was a king called Gumby. >>> print story(name='sir Robin', job='brave knight') Once upon a time, there was a brave knight called Sir Robin.

95 Παραδείγματα def story(**kwds): return 'Once upon a time, there was a ' \ '%(job)s called %(name)s.' % kwds >>> params = {'job': 'language', 'name': 'Python'} >>> print story(**params) Once upon a time, there was a language called Python. >>> del params['job'] >>> print story(job='stroke of genius', **params) Once upon a time, there was a stroke of genius called Python.

96 Παραδείγματα def power(x, y, *others): if others: print ('Received redundant parameters:', others) return pow(x, y) >>> power(2,3) 8 >>> power(3,2) 9 >>> power(y=3,x=2) 8

97 Παραδείγματα def power(x, y, *others): if others: print ('Received redundant parameters:', others) return pow(x, y) >>> params = (5,) * 2 >>> power(*params) 3125 >>> power(3, 3, 'Hello, world') Received redundant parameters: ('Hello, world',) 27

98 Ταξινόμηση

99 Ταξινόμηση Η Python έχει ενσωματωμένη μέθοδο για ταξινόμηση λιστών: >>> seq = [34, 67, 8, 123, 4, 100, 95] >>>seq.sort() >>>seq [4, 8, 34, 67, 95, 100, 123]

100 Η συνάρτηση sorted >>>sorted([4, 3, 6, 8, 3]) [3, 3, 4, 6, 8]

101 Ταξινόμηση με επιλογή (selection sort) def SortIntegerArray(array): n=len(array) for lh in range(0,n): rh=findsmallestinteger(array, lh, n-1) SwapIntegerElements(array, lh, rh) def FindSmallestInteger(array, low, high): spos=low for i in range(low, high+1): if array[i]<array[spos]: spos=i return(spos) def SwapIntegerElements(array, p1, p2): array[p1], array[p2] = array[p2], array[p1]

102 Βubblesort def bubblesort(numbers): array_size=len(numbers) for i in range(array_size-1, -1, -1): for j in range(1,i+1): if numbers[j-1]>numbers[j]: numbers[j-1], numbers[j]=numbers[j], numbers[j-1]

103 Insertionsort def InsertionSort(numbers): array_size=len(numbers) for i in range(1, array_size): index=numbers[i] j=i while (j>0) and numbers[j-1]>index: numbers[j]=numbers[j-1] j=j-1 numbers[j]=index

104 Αναζήτηση στην Python >>>x=[232, 2, 21, 1, 2] >>>21 in x True >>>3 in x False Δεν μου λέει σε ποια θέση της λίστας βρίσκεται το στοιχείο που ψάχνω.

105 Η μέθοδος index >>>[2, 3, 4, 2, 1].index(2) 0 >>>[2, 3, 4, 2, 1].index(5) Traceback (most recent call last): File "<pyshell#24>", line 1, in <module> >>> [2, 3, 4, 2, 1].index(5) ValueError: 5 is not in list

106 Γραμμική Αναζήτηση (Linear Search) Ψάχνουμε την θέση μιας τιμής κλειδί Γραμμική Αναζήτηση (Linear search) Απλούστερη δυνατή Σύγκρινε σειριακά κάθε στοιχείο του πίνακα με την τιμή-κλειδί Χρήσιμο για μικρούς και ΜΗ ταξινομημένους πίνακες

107 linearsearch def linearsearch(a, key): array_size=len(a) for i in range(array_size): if key==a[i]: return I return -1

108 Δυαδική Αναζήτηση (Binary Search) Δυαδική Αναζήτηση Σε ταξινομημένους πίνακες μόνο Συγκρίνει το middle στοιχείο με το ζητούμενο key Αν είναι ίσα βρέθηκε Αν key < middle, ψάχνει στο 1ο μισό του πίνακα Αν key > middle, ψάχνει στο 2ο μισό του πίνακα Επανάληψη Πολύ γρήγορη Στη χειρότερη περίπτωση n βήματα, για 2 n > αριθμό στοιχείων Πίνακας 30 στοιχείων χρειάζεται το πολύ 5 βήματα 2 5 > 30 δηλαδή 5 βήματα

109 binarysearch def binarysearch(a, key, low, high): while low<=high: middle=(low+high)//2 if key==a[middle]: return middle elif key<middle: high=middle-1 else: low=middle+1 return -1

110 Άνοιγμα αρχείων >>>f=open( somefile.txt ) ή >>>f = open(r'c:\text\somefile.txt') To f είναι file object. Αν δεν προσδιορίσω διαφορετικά, το αρχείο έχει ανοιχτεί για ανάγνωση. Αν το αρχείο δεν υπάρχει: Traceback (most recent call last): File "<pyshell#0>", line 1, in? IOError: [Errno 2] No such file or directory: "C:\\text\\somefile.txt"

111 File modes 'r' Read mode 'w' Write mode 'a' Append mode 'b' Binary mode (added to other mode) '+' Read/write mode (added to other mode) Αν δεν προσδιορίσω mode, εννοείται r. r+ σημαίνει ότι το αρχείο ανοίγεται και για ανάγνωση και για εγγραφή. rb σημαίνει ότι ανοίγουμε δυαδικό αρχείο (όχι αρχείο κειμένου).

112 Μέθοδοι αρχείων >>> f = open('somefile.txt', 'w') >>> f.write('hello, ') >>> f.write('world!') >>> f.close() H f.close() χρειάζεται οπωσδήποτε στην εγγραφή γιατί μπορεί ο υπολογιστής να έχει κρατήσει τα δεδομένα που θέλουμε να γράψουμε σε buffer και να μην τα έχει σώσει στο αρχείο.

113 Μέθοδοι αρχείων >>> f = open('somefile.txt', 'r') >>> f.read(4) 'Hell' >>> f.read() 'o, World! Το f.read(4) διαβάζει 4 χαρακτήρες, ενώ το f.read() διαβάζει όλο το υπόλοιπο αρχείο.

114 Τυχαία πρόσβαση Υπάρχει η μέθοδος seek(offset[, whence]). offset είναι ο αριθμός χαρακτήρων που θέλουμε να μετακινηθούμε. Το whence μπορεί να είναι: 0 (default), όπου μετράμε από την αρχή του αρχείου. 1, όπου μετράμε από την τρέχουσα θέση. 2, όπου μετράμε από το τέλος του αρχείου.

115 Τυχαία πρόσβαση >>> f = open('somefile.txt', 'w') >>> f.write(' ') >>> f.seek(5) >>> f.write('hello, World!') >>> f.close() >>> f = open('somefile.txt') >>> f.read() '01234Hello, World!89'

116 Τυχαία πρόσβαση Η μέθοδος tell() μας δίνει την τρέχουσα θέση μέσα στο αρχείο. >>> f = open('somefile.txt') >>> f.read(3) '012' >>> f.read(2) '34' >>> f.tell() 5

117 readline, readlines, writelines Η μέθοδος readline() διαβάζει την επόμενη γραμμή του αρχείου. Το τέλος μίας γραμμής υποδηλώνεται από το \n. Η readline(5) διαβάζει τους 5 πρώτους χαρακτήρες της γραμμής. Η μέθοδος readlines() διαβάζει όλες τις γραμμές του αρχείου και τις επιστρέφει σε μία λίστα. Η μέθοδος writelines() παίρνει μία λίστα από αλφαριθμητικά και τα σώζει στο αρχείο. Πρέπει εμείς να προσθέσουμε τα \n.

118 Παραδείγματα Έστω ότι το αρχείο somefile.txt περιέχει: Welcome to this file There is nothing here except This stupid haiku >>> f = open('somefile.txt') >>> f.read(7) 'Welcome' >>> f.read(4) ' to ' >>> f.close()

119 read() >>> f = open('somefile.txt') >>> print(f.read()) Welcome to this file There is nothing here except This stupid haiku >>> f.close()

120 readline() >>> f = open('somefile.txt') >>> for i in range(3): print(str(i) + ': ' + f.readline(),) 0: Welcome to this file 1: There is nothing here except 2: This stupid haiku >>> f.close()

121 write(string) >>>f = open( somefile.txt', 'w') >>> f.write('this\nis no\nhaiku') >>> f.close() Το αρχείο τώρα περιέχει: this is no haiku

122 writelines(list) >>> f = open('somefile.txt') >>> lines = f.readlines() >>> f.close() >>> lines[1] = "isn't a\n" >>> f = open('somefile.txt', 'w') >>> f.writelines(lines) >>> f.close()

123 writelines(list) Τώρα το αρχείο περιέχει: this isn't a haiku

124 Επαναλήψεις σε αρχεία Έστω μια απλή συνάρτηση: def process(string): print('processing: ', string) f = open(filename) char = f.read(1) while char: process(char) char = f.read(1) f.close()

125 Με while True/break f = open(filename) while True: char = f.read(1) if not char: break process(char) f.close()

126 Διαβάζοντας μία γραμμή τη φορά f = open(filename) while True: line = f.readline() if not line: break process(line) f.close()

127 Διαβάζοντας ολόκληρο το αρχείο f = open(filename) for char in f.read(): process(char) f.close() f = open(filename) for line in f.readlines(): process(line) f.close()

128 Επαναλήψεις με file objects f = open(filename) for line in f: process(line) f.close() Εναλλακτικά: for line in open(filename): process(line)

129 list(open(filename)) Μπορώ να μετατρέψω τα περιεχόμενα του αρχείου σε λίστα χρησιμοποιώντας list(open(filename)) Αντίστοιχα με το list(range(5))

130 Παράδειγμα >>> f = open('somefile.txt', 'w') >>> f.write('first line\n') >>> f.write('second line\n') >>> f.write('third line\n') >>> f.close() >>> lines = list(open('somefile.txt)') >>> lines ['First line\n', 'Second line\n', 'Third line\n']

131 Παράδειγμα (συνέχεια) >>> first, second, third = open('somefile.txt') >>> first 'First line\n' >>> second 'Second line\n' >>> third 'Third line\n'

132 Πίνακες στο numpy με παραδείγματα >>> from numpy import * >>> a = arange(15).reshape(3, 5) >>> a array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14]]) >>> a.shape (3, 5) >>> a.ndim 2

133 Πίνακες στο numpy με παραδείγματα >>> a.dtype.name 'int32' >>> a.itemsize 4 >>> a.size 15 >>> type(a) numpy.ndarray

134 Πίνακες στο numpy με παραδείγματα >>> b = array([6, 7, 8]) >>> b array([6, 7, 8]) >>> type(b) numpy.ndarray

135 Πίνακες στο numpy με παραδείγματα >>> from numpy import * >>> a = array( [2,3,4] ) >>> a array([2, 3, 4]) >>> a.dtype dtype('int32') >>> b = array([1.2, 3.5, 5.1]) >>> b.dtype dtype('float64')

136 Πίνακες στο numpy με παραδείγματα >>> zeros( (3,4) ) array([[0., 0., 0., 0.], [0., 0., 0., 0.], [0., 0., 0., 0.]]) >>> ones( (2,3,4), dtype=int16 ) # dtype can also be specified >>> empty( (2,3) ) array([[ e-262, e-154, e-260], [ e-313, e-307, e+000]])

137 Πίνακες στο numpy με παραδείγματα >>> a = arange(6) # 1d array >>> print a [ ] >>> b = arange(12).reshape(4,3) # 2d array >>> print b [[ 0 1 2] [ 3 4 5] [ 6 7 8] [ ]]

138 Πίνακες στο numpy με παραδείγματα >>> c = arange(24).reshape(2,3,4) # 3d array >>> print c [[[ ] [ ] [ ]] [[ ] [ ] [ ]]]

139 Πίνακες στο numpy με παραδείγματα >>> a = array( [20,30,40,50] ) >>> b = arange( 4 ) >>> b array([0, 1, 2, 3]) >>> c = a-b >>> c array([20, 29, 38, 47])

140 Πίνακες στο numpy με παραδείγματα >>> b**2 array([0, 1, 4, 9]) >>> 10*sin(a) array([ , , , ]) >>> a<35 array([true, True, False, False], dtype=bool)

141 Πίνακες στο numpy με παραδείγματα >>> A = array( [[1,1],... [0,1]] ) >>> B = array( [[2,0],... [3,4]] ) >>> A*B # elementwise product array([[2, 0], [0, 4]]) >>> dot(a,b) # matrix product array([[5, 4], [3, 4]])

142 Παράλληλος προγραμματισμός

143 Παράλληλος προγραμματισμός

144 Παράλληλος προγραμματισμός

145 Παράλληλος προγραμματισμός Εάν χρησιμοποιήσουμε τη pool.map_asynch η λίστα θα περιέχει τις τιμές όπως παρήχθησαν και όχι με τη σειρά που αναλογούν στην λίστα της εισόδου

Γιώργος Μανής Επίκουρος Καθηγητής Τμήματος Μηχανικών Η/Υ και Πληροφορικής 3 Μαϊου 2015

Γιώργος Μανής Επίκουρος Καθηγητής Τμήματος Μηχανικών Η/Υ και Πληροφορικής 3 Μαϊου 2015 Γιώργος Μανής Επίκουρος Καθηγητής Τμήματος Μηχανικών Η/Υ και Πληροφορικής 3 Μαϊου 2015 Δομές Δεδομένων της Python αλφαριθμητικά πλειάδες λίστες λεξικά πίνακες? Strings >>> Hello, world! Hello, world!

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

Γιώργος Μανής Επίκουρος Καθηγητής Τμήματος Μηχανικών Η/Υ και Πληροφορικής Mάρτιος 2015

Γιώργος Μανής Επίκουρος Καθηγητής Τμήματος Μηχανικών Η/Υ και Πληροφορικής Mάρτιος 2015 Γιώργος Μανής Επίκουρος Καθηγητής Τμήματος Μηχανικών Η/Υ και Πληροφορικής Mάρτιος 2015 Python Η Python δημιουργήθηκε το 1990 Ο κύριος στόχος της είναι η αναγνωσιμότητα του κώδικά της και η ευκολία χρήσης

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

Γιώργος Μανής Επίκουρος Καθηγητής Τμήματος Μηχανικών Η/Υ και Πληροφορικής 29 Οκτωβρίου 2014

Γιώργος Μανής Επίκουρος Καθηγητής Τμήματος Μηχανικών Η/Υ και Πληροφορικής 29 Οκτωβρίου 2014 Γιώργος Μανής Επίκουρος Καθηγητής Τμήματος Μηχανικών Η/Υ και Πληροφορικής 29 Οκτωβρίου 2014 Python Η Python δημιουργήθηκε το 1990 Ο κύριος στόχος της είναι η αναγνωσιμότητα του κώδικά της και η ευκολία

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

Γιώργοσ Μανήσ Επίκουροσ Καθηγητήσ Τμήματοσ Μηχανικών Η/Υ και Πληροφορικήσ 2 Ιουλίου 2014

Γιώργοσ Μανήσ Επίκουροσ Καθηγητήσ Τμήματοσ Μηχανικών Η/Υ και Πληροφορικήσ 2 Ιουλίου 2014 Γιώργοσ Μανήσ Επίκουροσ Καθηγητήσ Τμήματοσ Μηχανικών Η/Υ και Πληροφορικήσ 2 Ιουλίου 2014 Python Η Python δθμιουργικθκε το 1990 Ο κφριοσ ςτόχοσ τθσ είναι θ αναγνωςιμότητα του κϊδικά τθσ και θ ευκολία χριςθσ

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

ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό. Έλεγχος Ροής Προγράµµατος Χειµερινό Εξάµηνο 2014

ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό. Έλεγχος Ροής Προγράµµατος Χειµερινό Εξάµηνο 2014 ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό Έλεγχος Ροής Προγράµµατος Χειµερινό Εξάµηνο 2014 Ροή προγράµµατος n n Μέχρι τώρα έχουµε δει προγράµµατα απλής ροής Οι εντολές εκτελούνται η µία µετά την άλλη σύµφωνα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό. Αρχεία Χειµερινό Εξάµηνο 2014 ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό Αρχεία Χειµερινό Εξάµηνο 2014 Διαχείριση αρχείων Ως τώρα έχουµε δει πως µπορούµε να πάρουµε την είσοδο ενός προγράµµατος από το χρήστη και πως να τυπώνουµε την έξοδό

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

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

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

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

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

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

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

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

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

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

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Έλεγχος Ροής Προγράμματος

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Έλεγχος Ροής Προγράμματος ΜΥΥ105: Εισαγωγή στον Προγραμματισμό Έλεγχος Ροής Προγράμματος Ροή προγράμματος Μέχρι τώρα έχουμε δει προγράμματα απλής ροής Οι εντολές εκτελούνται η μία μετά την άλλη σύμφωνα με την ακολουθία γραμμών

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

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

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

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

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

ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό. Έλεγχος Ροής - Παραδείγµατα Χειµερινό Εξάµηνο 2014 ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό Έλεγχος Ροής - Παραδείγµατα Χειµερινό Εξάµηνο 2014 Δίσεκτο έτος Ένα έτος είναι δίσεκτο αν διαιρείται ακριβώς µε το 400 ή διαιρείται ακριβώς µε το 4 και δεν διαιρείται

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

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

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

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

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

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

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

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

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Σφάλματα, εξαιρέσεις, εκσφαλμάτωση Χειμερινό Εξάμηνο 2016 ΜΥΥ105: Εισαγωγή στον Προγραμματισμό Σφάλματα, εξαιρέσεις, εκσφαλμάτωση Χειμερινό Εξάμηνο 2016 Τύποι Σφαλμάτων Συντακτικά λάθη (syntax errors) Λάθη κατά την εκτέλεση (run-time errors) Λογικά σφάλματα 2

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

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

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

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

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

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

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

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

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

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

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

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

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

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Συναρτήσεις

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Συναρτήσεις ΜΥΥ105: Εισαγωγή στον Προγραμματισμό Συναρτήσεις Δόμηση προγράμματος Μέχρι τώρα έχουμε δει πως να χρησιμοποιούμε έτοιμες συναρτήσεις και μεθόδους στα προγράμματά μας (π.χ. le(), max(), prit()) Μπορούμε

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

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

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

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

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

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

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

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

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

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

Διαχείριση Περιεχομένου Παγκόσμιου Ιστού και Γλωσσικά Εργαλεία ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ FILE & PROCESS HANDLING

Διαχείριση Περιεχομένου Παγκόσμιου Ιστού και Γλωσσικά Εργαλεία ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ FILE & PROCESS HANDLING Διαχείριση Περιεχομένου Παγκόσμιου Ιστού και Γλωσσικά Εργαλεία ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ FILE & PROCESS HANDLING Επιλογή δομής δεδομένων Κριτήρια: Μέγεθος του προβλήματος Πως θα χρησιμοποιηθεί Ενέργειες που καθορίζουν

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

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

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

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

Στόχοι και αντικείμενο ενότητας. Πέρασμα Πίνακα σε Συνάρτηση (συν.) Πέρασμα Πίνακα σε Συνάρτηση. #8.. Ειδικά Θέματα Αλγορίθμων

Στόχοι και αντικείμενο ενότητας. Πέρασμα Πίνακα σε Συνάρτηση (συν.) Πέρασμα Πίνακα σε Συνάρτηση. #8.. Ειδικά Θέματα Αλγορίθμων Στόχοι και αντικείμενο ενότητας Πέρασμα Πίνακα σε Συνάρτηση #8.. Ειδικά Θέματα Αλγορίθμων Προβλήματα Αναζήτησης Γραμμική Αναζήτηση (Linear Search) Ενημέρωση Μέτρηση Δυαδική Αναζήτηση (Binary Search) Προβλήματα

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

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

ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό. Σφάλµατα, εξαιρέσεις, εκσφαλµάτωση Χειµερινό Εξάµηνο 2014 ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό Σφάλµατα, εξαιρέσεις, εκσφαλµάτωση Χειµερινό Εξάµηνο 2014 Τύποι Σφαλµάτων Συντακτικά λάθη (syntax errors) Λάθη κατά την εκτέλεση (run-time errors) Λογικά σφάλµατα 2

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

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

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

Κεφάλαιο 12: Είσοδος και έξοδος δεδομένων σε αρχεία

Κεφάλαιο 12: Είσοδος και έξοδος δεδομένων σε αρχεία Κεφάλαιο 12: Είσοδος και έξοδος δεδομένων σε αρχεία Τα δεδομένα που επεξεργαζόμαστε, καθώς και ο κώδικας που τρέχουμε, βρίσκονται αποθηκευμένα στη μνήμη RAM (Random Access Memory) του υπολογιστή. Τα δεδομένα

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

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Είσοδος/Έξοδος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2009-2010 Είσοδος/Έξοδος Μέχρι τώρα όποτε θέλαμε να διαβάσουμε χρησιμοποιούσαμε πάντα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αναζήτηση και ταξινόμηση

Αναζήτηση και ταξινόμηση Αναζήτηση και ταξινόμηση Περιεχόμενα Αναζήτηση (searching): εύρεση ενός στοιχείου σε έναν πίνακα Ταξινόμηση (sorting): αναδιάταξη των στοιχείων ενός πίνακα ώστε να είναι τοποθετημένα με μια καθορισμένη

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

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

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

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

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

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

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

ΘΕΜΑΤΑ ΚΑΙ ΛΥΣΕΙΣ. 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) Δημιουργήστε τον πίνακα αλήθειας της συνάρτησης

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Διάλεξη 18η: Διαχείρηση Αρχείων

Διάλεξη 18η: Διαχείρηση Αρχείων Διάλεξη 18η: Διαχείρηση Αρχείων Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Πρατικάκης (CSD) Αρχεία CS100, 2015-2016 1 / 24 Η βιβλιοθήκη Εισόδου/Εξόδου Στο stdioh

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

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

ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό. Εισαγωγή στην Python Χειµερινό Εξάµηνο 2014 ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό Εισαγωγή στην Python Χειµερινό Εξάµηνο 2014 Εγκατάσταση Από το www.python.org è Downloads Υπάρχουν εκτενείς οδηγίες για όλα τα λειτουργικά (π.χ., Windows, Mac OS X)

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

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

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

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

Ενότητα 3 ΕΙΣΑΓΩΓΗ ΣΤΗ ΓΛΩΣΣΑ PYTHON

Ενότητα 3 ΕΙΣΑΓΩΓΗ ΣΤΗ ΓΛΩΣΣΑ PYTHON Ενότητα 3 ΕΙΣΑΓΩΓΗ ΣΤΗ ΓΛΩΣΣΑ PYTHON Εγκατάσταση της Python Τη γλώσσα Python μπορούμε να την «κατεβάσουμε» από το επίσημο Web Site : https://www.python.org/downloads/ Για τους σκοπούς του μαθήματος θα

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

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

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

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

Γλώσσες Προγραμματισμού Εφαρμογών - ΜΕΠΒ20

Γλώσσες Προγραμματισμού Εφαρμογών - ΜΕΠΒ20 Γλώσσες Προγραμματισμού Εφαρμογών - ΜΕΠΒ20 Διάλεξη 4 Ανακυκλώσεις Παπαϊωάννου Αθανάσιος Π.Μ.Σ. «Εφαρμοσμένη Πληροφορική» Χειμερινό Εξάμηνο 20 16-20 17 Συναρτήσεις: Παράμετρος key/value Μπορούμε να περάσουμε

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

Γλώσσες Προγραμματισμού Εφαρμογών - ΜΕΠΒ20

Γλώσσες Προγραμματισμού Εφαρμογών - ΜΕΠΒ20 Γλώσσες Προγραμματισμού Εφαρμογών - ΜΕΠΒ20 Διάλεξη 2 Τύποι, Υπό Όρους Εκτέλεση Παπαϊωάννου Αθανάσιος Π.Μ.Σ. «Εφαρμοσμένη Πληροφορική» Χειμερινό Εξάμηνο 20 16-20 17 Αριθμητικές Εκφράσεις Τελεστής Πράξη

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

ΗΥ-150. Προγραμματισμός

ΗΥ-150. Προγραμματισμός ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει

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

ΕΠΛ131 Αρχές Προγραμματισμού

ΕΠΛ131 Αρχές Προγραμματισμού ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ131 Αρχές Προγραμματισμού Ακαδημαϊκό Έτος 2016/17 Χειμερινό Εξάμηνο ΕΝΔΙΑΜΕΣΗ ΕΞΕΤΑΣΗ ΗΜΕΡΟΜΗΝΙΑ: 29 Οκτωβρίου 2016 ΔΙΑΡΚΕΙΑ: 10:00πμ 12:30μμ ΑΙΘΟΥΣΕΣ: Κτήριο

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

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

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Εισαγωγή στην Python Χειμερινό Εξάμηνο 2016 ΜΥΥ105: Εισαγωγή στον Προγραμματισμό Εισαγωγή στην Python Χειμερινό Εξάμηνο 2016 H Γλώσσα Python Δημιουργήθηκε από τον Guido van Rossum ο οποίος εξακολουθεί να την εξελίσσει. Benevolent Dictator for Life

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Όλοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα μικρότεροι του 10000 εκτός αν ορίζεται διαφορετικά στη διατύπωση του προβλήματος. Αν κάπου κάνετε κάποιες υποθέσεις

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

ΗΥ-150. Ταξινόµηση και Αναζήτηση

ΗΥ-150. Ταξινόµηση και Αναζήτηση ΗΥ-150 Ταξινόµηση και Αναζήτηση To πρόβληµα της Αναζήτησης οθέντος δεδοµένων, λ.χ. σε Πίνακα (P) Ψάχνω να βρω κάποιο συγκεκριµένο στοιχείο (key) Αν ο πίνακας δεν είναι ταξινοµηµένος Γραµµική Αναζήτηση

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

ΗΥ-150. Προγραμματισμός

ΗΥ-150. Προγραμματισμός ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει

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

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

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

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

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

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

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

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

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

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

print( x is positive ) Στο διερμηνευτή Python, προσοχή στη στοίχιση, διότι γίνεται από το χρήστη:

print( x is positive ) Στο διερμηνευτή Python, προσοχή στη στοίχιση, διότι γίνεται από το χρήστη: 37 ΛΑΜΒΑΝΟΝΤΑΣ ΑΠΟΦΑΣΕΙΣ 1. Εκτέλεση υπό συνθήκη if x >0: print('x is positive') x > = 0 print( x is positive ) Σχήμα: Η λογική του if then Στο διερμηνευτή Python, προσοχή στη στοίχιση, διότι γίνεται από

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ Η/Υ (ΟΜΑΔΑ ΘΕΜΑΤΩΝ A)

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ Η/Υ (ΟΜΑΔΑ ΘΕΜΑΤΩΝ A) ΑΣΚΗΣΗ 1 Δίνεται η λογική συνάρτηση: F = ((A AND B) OR (B AND C) OR (A AND C)) ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ Η/Υ (ΟΜΑΔΑ ΘΕΜΑΤΩΝ A) α) Σχεδιάστε το λογικό κύκλωμα που υλοποιεί τη συνάρτηση F. β) Σχηματίστε τον πίνακα

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

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

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

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

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

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

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

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

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

Λογικές εκφράσεις και μεταβλητές

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

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

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

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

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

Προγραμματισμός Η/Υ. Ενότητα 8: Ειδικά Θέματα Αλγορίθμων

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

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

Προσέξτε πως η παράσταση μπορεί να περιλαμβάνει όχι μόνο μία τιμή ή μια άλλη μεταβλητή αλλά μια ολόκληρη μαθηματική παράσταση, όπως η εξής:

Προσέξτε πως η παράσταση μπορεί να περιλαμβάνει όχι μόνο μία τιμή ή μια άλλη μεταβλητή αλλά μια ολόκληρη μαθηματική παράσταση, όπως η εξής: Νικόλαος Μιχαλοδημητράκης Σημειώσεις C (Εργαστήριο) 3 ο Μέρος 3 ο Μέρος Παραστάσεις και Τελεστές Εντολή καταχώρησης Για να καταχωρήσουμε μία τιμή σε μια μεταβλητή χρησιμοποιούμε τον τελεστή καταχώρησης

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

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής Να γραφεί πρόγραμμα το οποίο δέχεται ως είσοδο μια ακολουθία S από n (n 40) ακέραιους αριθμούς και επιστρέφει ως έξοδο δύο ακολουθίες από θετικούς ακέραιους

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

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

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

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

ΕΠΛ 012. JavaScripts

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

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

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

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

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

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

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

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

Υπολογισμός - Εντολές Ελέγχου

Υπολογισμός - Εντολές Ελέγχου Προγραμματισμός Η/Υ Ι Υπολογισμός - Εντολές Ελέγχου ΕΛΕΥΘΕΡΙΟΣ ΚΟΣΜΑΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2018-2019 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. 1 Περίληψη Σήμερα... θα συνεχίσουμε τη συζήτησή μας για τα βασικά στοιχεία

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

Εισαγωγικό Φροντιστήριο

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

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

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

Εισαγωγή στους Αλγόριθμους και τον Προγραμματισμό. 3η Διάλεξη Είσοδος Δεδομένων Συνθήκες Βρόχοι Παραδείγματα Εισαγωγή στους Αλγόριθμους και τον Προγραμματισμό 3η Διάλεξη Είσοδος Δεδομένων Συνθήκες Βρόχοι Παραδείγματα Τελεστές συντομογραφίας Τελεστές σύντομης ανάθεσης += παράδειγμα: sum+=10; αντί για: sum = sum

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

Πανεπιστήμιο Πελοποννήσου. Σχολή Θετικών Επιστημών & Τεχνολογίας. Τμήμα Επιστήμης & Τεχνολογίας Υπολογιστών. Προγραμματισμός Ι Εργαστήριο

Πανεπιστήμιο Πελοποννήσου. Σχολή Θετικών Επιστημών & Τεχνολογίας. Τμήμα Επιστήμης & Τεχνολογίας Υπολογιστών. Προγραμματισμός Ι Εργαστήριο Πανεπιστήμιο Πελοποννήσου Σχολή Θετικών Επιστημών & Τεχνολογίας Τμήμα Επιστήμης & Τεχνολογίας Υπολογιστών Προγραμματισμός Ι Εργαστήριο 03-12-2012 1 η Εργαστηριακή Άσκηση Να δημιουργήσετε πρόγραμμα που

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

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Διαχείριση

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

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

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

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

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

Πίνακες. FORTRAN και Αντικειμενοστραφής Προγραμματισμός Πίνακες (i) Δομημένη μεταβλητή: αποθηκεύει μια συλλογή από τιμές δεδομένων Πίνακας (array): δομημένη μεταβλητή που αποθηκεύει πολλές τιμές του ίδιου τύπου INTEGER:: pinakas(100)ή INTEGER, DIMENSION(100)::pinakas

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Ολοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα είναι μικρότεροι το 1000 εκτός αν ορίζεται διαφορετικά στη διατύπωση του προβλήματος. Διάρκεια: 3,5 ώρες Καλή

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

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

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

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

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράµµατα «γράφονται» χρησιµοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαµβάνει

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

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης Στόχοι και αντικείμενο ενότητας Έλεγχος ροής προγράμματος (βλ. ενότητα #4) Δομή επανάληψης #5.. Εντολές Επανάληψης Προτάσεις επανάληψης Εντολές while, do while Εντολή for Περί βρόχων (loops) Τελεστές,

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

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

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

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

Προγραμματισμός Υπολογιστών Τάξη Γ Αθανασιάδης Χρήστος ΠΕ19 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

Προγραμματισμός Υπολογιστών Τάξη Γ Αθανασιάδης Χρήστος ΠΕ19 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ 2 στον Προγραμματισμό Υπολογιστών ΘΕΜΑ Α Α1. Να χαρακτηρίσετε τις προτάσεις που ακολουθούν, γράφοντας στο τετράδιό σας, δίπλα στο γράμμα που αντιστοιχεί σε κάθε πρόταση

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

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

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

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

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

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

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

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

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

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

Περιεχόμενα. Πρόλογος... 17

Περιεχόμενα. Πρόλογος... 17 Περιεχόμενα Πρόλογος... 17 Κεφάλαιο 1: Εισαγωγή... 19 Πώς να διαβάσετε αυτό το βιβλίο... 20 Η γλώσσα C Ιστορική αναδρομή... 22 Τα χαρακτηριστικά της C... 23 C Μια δομημένη γλώσσα... 23 C Μια γλώσσα για

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