Εισαγωγή στα Λειτουργικά Συστήματα

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

Download "Εισαγωγή στα Λειτουργικά Συστήματα"

Transcript

1 Εισαγωγή στα Λειτουργικά Συστήματα S E T Δ Ι Α Φ Α Ν Ε Ι Ω Ν 1 3 S H E L L S C R I P T S : T E S T, I F Α Ν Τ Ω Ν Η ς Σ Ι Δ Η Ρ Ο Π Ο Υ Λ Ο ς

2 Διεργασίες: Γονείς και Παιδιά Κάθε διεργασία κάνοντας exit επιστρέφει έναν κωδικό εξόδου. Είτε με exit(0), exit(1) etc. Είτε με return(κωδικός) από την συνάρτηση main() Γι αυτό ο τύπος της main στη γλώσσα C είναι: int main(int argc, char **argv) Όταν μια διεργασία κάνει exit (ή τερματίζεται για οποιοδήποτε λόγο) τότε πηγαίνει το αντίστοιχο signal στην γονική διεργασία (SIGCHLD) 2

3 Διεργασίες: Γονείς και Παιδιά H γονική διεργασία πρέπει να κάνει collect το παιδί που τερματίστηκε. Μέχρι ο γονέας να κάνει collect, η τερματισμένη διεργασία παραμένει στον πίνακα διεργασιών με status: Zombie. To collect γίνεται με τις system calls: wait, waitpid (είναι υλοποιημένες στη C, αλλά υπάρχουν αντίστοιχες συναρτήσεις σε όλες τις γλώσσες προγραμματισμού) H wait επιστρέφει στον γονέα τον exit code του παιδιού που τερματίστηκε. 3

4 Διεργασίες:Κωδικός εξόδου Υπάρχει η σύμβαση, όταν η εκτέλεση του προγράμματος ήταν πετυχημένη (δεν συνέβη κάποιο σφάλμα) η διεργασία επιστρέφει 0. Διαφορετικά επιστρέφει έναν ακέραιο που εκφράζει το σφάλμα. Ο κωδικός εξόδου (exit code) συνήθως αναφέρεται και ως "error code" ή "exit status". Όταν η γονική διεργασία είναι το shell, χρησιμοποιεί το exit code του παιδιού που τερματίστηκε για να "καταλάβει" αν η διεργασία εκτελέστηκε σωστά. 4

5 Διεργασίες:Κωδικός εξόδου Στο manual page κάθε εντολής περιγράφεται κάθε περίπτωση και ποιους κωδικούς σφάλματος επιστρέφει η εντολή. Βλέπουμε δίπλα απόσπασμα από το manual της εντολής ls. 5

6 Διεργασίες:Κωδικός εξόδου Βλέπουμε απόσπασμα από το manual της εντολής grep. 6

7 shell & exit codes Το shell διαβάζει τον κωδικό που επέστρεψε η κάθε εντολή και τον αποθηκεύει στην μεταβλητή $?. Το $? περιέχει κάθε φορά το exit code της τελευταίας εντολής που εκτελέστηκε από το shell. skyblue_asidirop_216_$ls -l /tmp > /dev/null skyblue_asidirop_217_$echo $? 0 skyblue_asidirop_218_$ls -l /tmdddp > /dev/null ls: /tmdddp: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος skyblue_asidirop_219_$echo $? 2 skyblue_asidirop_220_$echo $? 0 skyblue_asidirop_221_$ 7

8 shell & exit codes 8 περιέχει τον κωδικό εξόδου της ls περιέχει τον κωδικό εξόδου της προηγούμενης echo

9 shell & exit codes Για κάθε εντολή το shell προσπαθεί να βρεί τον κωδικό εξόδου. Μπορούμε να ομαδοποιήσουμε εντολές μέσα σε μια λογική συνθήκη, και το shell υπολογίζει τον κωδικό εξόδου για την ομάδα εντολών. Σε αυτόν τον συνδυασμό εντολών μπορούμε να χρησιμοποιήσουμε: Λογικό OR ( ) Λογικό AND ( && ) Λογικό NOT (! ) 9

10 shell & exit codes Σύνταξη: εντολή1 ΛΤ εντολή2 ΛΤ εντολή3 (ΛΤ = Λογικός τελεστής)! εντολή 10 Και οι 2 εντολές επέστρεψαν true. Το αποτέλεσμα της AND είναι true (0) asidirop@dellpc:~$ ls -l out-0013.pdf && stat out-0013.pdf -rw-r asidirop asidirop :25 out-0013.pdf File: `out-0013.pdf' Size: Blocks: 1672 IO Block: 4096 regular file Device: 808h/2056d Inode: Links: 1 Access: (0640/-rw-r-----) Uid: ( 1000/asidirop) Gid: ( 1000/asidirop) Access: :48: Modify: :25: Change: :42: asidirop@dellpc:~$

11 shell & exit codes true && false = false 11 H 2 η εντολή επέστρεψε false (1). Το αποτέλεσμα της AND είναι false (1) asidirop@dellpc:~$ ls -l out-0013.pdf && stat xzy -rw-r asidirop asidirop :25 out-0013.pdf stat: cannot stat `xzy': No such file or directory 1 asidirop@dellpc:~$

12 shell & exit codes false && false = false false && true = false false && anything = false Στην περίπτωση που το 1 ο σκέλος μιας AND είναι false, τότε οτιδήποτε και να είναι το 2 ο, το αποτέλεσμα της λογικής έκφρασης είναι false. Άρα δεν χρειάζεται να υπολογιστεί (να ληφθεί υπόψη) το 2 ο σκέλος. Αν η 1 η εντολή δώσει λάθος, τότε δεν εκτελείται η επόμενη (με &&) 12 H 1 η εντολή επέστρεψε false (2). Το αποτέλεσμα της AND είναι false (2) asidirop@dellpc:~$ ls -l zxy && stat out-0013.pdf ls: cannot access zxy: No such file or directory 2 asidirop@dellpc:~$

13 shell & exit codes Το && χρησιμοποιείται όταν θέλουμε να εκτελέσουμε μια σειρά εντολών στις οποίες θέλουμε να προχωράμε στην επόμενη μόνο αν η προηγούμενη εκτελέστηκε σωστά. 13 δεν έχει νόημα να εκτελεστεί η 2 η εντολή αν η 1 η δώσει σφάλμα. asidirop@dellpc:~$ file='os.txt' asidirop@dellpc:~$ ls -l "$file" && wc -l "$file" -rw-r--r-- 1 asidirop asidirop :19 os.txt 135 os.txt asidirop@dellpc:~$ file='os2.txt' asidirop@dellpc:~$ ls -l "$file" && wc -l "$file" ls: cannot access os2.txt: No such file or directory asidirop@dellpc:~$

14 shell & exit codes Το && χρησιμοποιείται όταν θέλουμε να εκτελέσουμε μια σειρά εντολών στις οποίες θέλουμε να προχωράμε στην επόμενη μόνο αν η προηγούμενη εκτελέστηκε σωστά. ls -l "$file" && wc -l "$file" && echo "OK all" -rw-r--r-- 1 asidirop asidirop :19 os.txt 135 os.txt OK all asidirop@dellpc:~$ file='os2.txt' asidirop@dellpc:~$ ls -l "$file" && wc -l "$file" && echo "OK all" ls: cannot access os2.txt: No such file or directory 2 asidirop@dellpc:~$ 14

15 shell & exit codes Το χρησιμοποιείται όταν θέλουμε να εκτελέσουμε μια μόνο εντολή από μια σειρά εντολών. 15 Η 1 η εντολή έδωσε false, η 2 η εντολή έδωσε true, το αποτέλεσμα είναι true. asidirop@dellpc:~$ ls out-* out-0011.pdf out-0013.pdf out-0013.txt asidirop@dellpc:~$ ls -l out-0011.txt ls -l out-0011.pdf ls: cannot access out-0011.txt: No such file or directory -rw-r asidirop asidirop :59 out-0011.pdf 0

16 shell & exit codes false false = false false true = true true false = true true true = true 16 true any = true Η 1 η εντολή έδωσε true, το αποτέλεσμα της OR είναι true. asidirop@dellpc:~$ ls out-* out-0011.pdf out-0013.pdf out-0013.txt asidirop@dellpc:~$ ls -l out-0013.txt ls -l out-0013.pdf -rw-r--r-- 1 asidirop asidirop :39 out-0013.txt 0 asidirop@dellpc:~$

17 shell & exit codes Αν η 1 η εντολή εκτελεστεί σωστά, τότε δεν εκτελούνται οι υπόλοιπες. αν η 1 η εντολή δεν εκτελεστεί σωστά, τότε εκτελείται και η επόμενη. 17 asidirop@dellpc:~$ file='os.txt' asidirop@dellpc:~$ wc -l "$file" echo "File $file NOT FOUND" 135 os.txt asidirop@dellpc:~$ file='os2.txt' asidirop@dellpc:~$ wc -l "$file" echo "File $file NOT FOUND" wc: os2.txt: No such file or directory File os2.txt NOT FOUND asidirop@dellpc:~$

18 Το! είναι το λογικό ΝΟΤ. shell & exit codes ΠΡΟΣΟΧΗ: πρέπει να υπάρχει κενό μετά το!. πχ αν γράψουμε!wc σημαίνει επανάληψη της τελευταίας εντολής που ξεκινούσε με wc. file='os2.txt' wc -l "$file" && echo "File $file NOT FOUND" wc: os2.txt: No such file or directory File os2.txt NOT FOUND file='os.txt' wc -l "$file" && echo "File $file NOT FOUND" 135 os.txt 18

19 shell & exit codes με διασωλήνωση Στην περίπτωση της διασωλήνωσης δεν υπολογίζεται το συνολικό "exit status" όλων των εντολών, αλλά στο $? αποθηκεύεται μόνο της τελευταίας. 19 ls /tt wc ls: cannot access /tt: No such file or directory asidirop@dellpc:~$ ls wc -ppp wc: invalid option -- 'p' Try `wc --help' for more information. 1 asidirop@dellpc:~$

20 Η εντολή if Σύνταξη: If entolh-elegxou ; then Commands. elif entolh-elegxou ; then Commands. elif entolh-elegxou ; then Commands. else Commands. fi Τα τμήματα 'elif' μπορούν να είναι όσα επιθυμούμε, όπως επίσης και κανένα. Το τμήμα 'else' μπορεί να είναι το πολύ ένα ή κανένα. Υποχρεωτικά το block της if τερματίζει-ολοκληρώνεται με το fi. 20

21 Η εντολή if 21 Μπορούμε να συντάξουμε μια εντολή if στην γραμμή εντολών (όμως πρακτικά είναι λίγο δύσκολος ο χειρισμός εντολής με πολλές γραμμές) Στο παρακάτω, εκτελείται η εντολή ls "$dir", και εφόσον εκτελείται σωστά (επιστρέφει true/0) μπαίνουμε και στο block "then". dir="/tmp" if ls "$dir" ; then > echo "OK" > fi file1 file2 file3 file4 OK

22 Η εντολή if Στο παρακάτω, εκτελείται η εντολή ls "$dir", και εφόσον εκτελείται σωστά (επιστρέφει true/0) μπαίνουμε και στο block "then". To block "else" προφανώς δεν εκτελείται. dir="/tmp" if ls "$dir" ; then > echo "OK" > else > echo "NOT OK" > fi file1 file2 file3 file4 OK asidirop@dellpc:~$ 22

23 Η εντολή if Στο παρακάτω, εκτελείται η εντολή ls "$dir", και ΔΕΝ εκτελείται σωστά (επιστρέφει false/!=0) προφανώς εκτελείται το block "else". 23 dir='/sdfd' if ls "$dir" ; then > echo "OK" > else > echo "NOT OK" > fi ls: cannot access /sdfd: No such file or directory NOT OK asidirop@dellpc:~$

24 Η εντολή test 24 Συνήθως, θέλουμε να ελέγξουμε το αποτέλεσμα μιας αριθμητικής συνθήκης ή μια σύγκριση από strings. H if από μόνη της δεν είναι ικανή να κάνει αυτούς τους ελέγχους. Υπάρχει η εντολή test, η οποία δέχεται ως όρισμα μια συνθήκη-έλεγχο και επιστέφει ως exit code true (0) αν η συνθήκη είναι αληθής false ( >0) αν η συνθήκη είναι ψευδής

25 Η εντολή test Η εντολή test μπορεί να πραγματοποιήσει διάφορες κατηγορίες ελέγχων: σε strings σε ακεραίους σε αρχεία (file system) να υπολογίσει λογικούς τελεστές (AND, OR, NOT) 25

26 Έλεγχοι σε strings Η εντολή test 26 Expression Description -z string True if string is empty. -n string True if string is not empty. string1 = string2 True if string1 equals string2. string1!= string2 True if string1 does not equal string2. true false true asidirop@dellpc:~$ test HELLO = HELLO 0 asidirop@dellpc:~$ test HELLO = AAAA 1 asidirop@dellpc:~$ test -z '' 0 asidirop@dellpc:~$

27 Έλεγχοι σε ακεραίους Η εντολή test 27 Expression INTEGER1 -eq INTEGER2 INTEGER1 -ge INTEGER2 INTEGER1 -gt INTEGER2 INTEGER1 -le INTEGER2 INTEGER1 -lt INTEGER2 INTEGER1 -ne INTEGER2 Description INTEGER1 is equal (=) to INTEGER2 INTEGER1 is greater than or equal (>=) to INTEGER2 INTEGER1 is greater than (>) INTEGER2 INTEGER1 is less than or equal (<=) to INTEGER2 INTEGER1 is less than (<) INTEGER2 INTEGER1 is not equal (!=) to INTEGER2

28 Η εντολή test 5>10 false 50>10 true 5==005 true '5'=='005' false false (2) με σφάλμα 28 test 5 -gt 10 1 asidirop@dellpc:~$ test 50 -gt 10 0 asidirop@dellpc:~$ test '5' -eq '005' 0 asidirop@dellpc:~$ test '5' = '005' 1 asidirop@dellpc:~$ test '5' -eq '005x' bash: test: 005x: integer expression expected 2 asidirop@dellpc:~$

29 Η εντολή test 29 Έλεγχοι σε αρχεία (Περισσότεροι έλεγχοι στο manual page της test) Expression Description -d file True if file is a directory. -e file True if file exists. -f file True if file exists and is a regular file. -L file True if file is a symbolic link. -r file True if file is a file readable by you. -w file True if file is a file writable by you. -x file True if file is a file executable by you. -s file true if file exists and has a size greater than zero. file1 -nt file2 file1 -ot file2 True if file1 is newer than (according to modification time) file2 True if file1 is older than file2

30 Η εντολή test υπάρχει? true είναι αρχείο? false είναι κατάλογος? true έχω δικαίωμα read? true έχω δικαίωμα read? true έχω δικαίωμα write? false 30 test -e Documents 0 asidirop@dellpc:~$ test -f Documents 1 asidirop@dellpc:~$ test -d Documents 0 asidirop@dellpc:~$ test -r Documents 0 asidirop@dellpc:~$ test -r /bin 0 asidirop@dellpc:~$ test -w /bin 1 asidirop@dellpc:~$

31 Η εντολή test 31 Λογικοί τελεστές Expression Description! unary negation operator. -a binary and operator. -o binary or operator (-a has higher precedence than -o). ( expr ) parentheses for grouping. a>3 AND a<100 true a>3 AND a<100 false asidirop@dellpc:~$ a=5 asidirop@dellpc:~$ test "$a" -gt 3 -a "$a" -lt asidirop@dellpc:~$ a=1 asidirop@dellpc:~$ test "$a" -gt 3 -a "$a" -lt 100 1

32 Η εντολή test H test (όπως και η expr) θέλει κάθε τελεστής/τελεστέος να είναι διαφορετικό όρισμα. 32!!!! δεν δούλεψε σωστά false!!!! δεν δούλεψε σωστά asidirop@dellpc:~$ test "HELLO"="HELLO2" 0 asidirop@dellpc:~$ test "HELLO" = "HELLO2" 1 asidirop@dellpc:~$ test 5-gt 1 bash: test: 5-gt: unary operator expected 2 asidirop@dellpc:~$

33 Η εντολή test 33 Οι ( ) έχουν ειδική σημασία για το shell. Για να τις χρησιμοποιήσουμε στην test, πρέπει να αναιρέσουμε την ειδική σημασία.!!!! δεν δούλεψε σωστά δούλεψε σωστά asidirop@dellpc:~$ b=1 asidirop@dellpc:~$ a=5 asidirop@dellpc:~$ test ( "$a" -gt 1 -a "$a" -lt 100 ) -o "$b" -ne 0 bash: syntax error near unexpected token `"$a"' 2 asidirop@dellpc:~$ test \( "$a" -gt 1 -a "$a" -lt 100 \) -o "$b" -ne 0 0 asidirop@dellpc:~$

34 Η εντολή test προσοχή αν κάποια μεταβλητή δεν έχει τιμή: 34 δεν δούλεψε σωστά, σαν να έγραψα: test = "HELLO" δούλεψε σωστά false δούλεψε σωστά true asidirop@dellpc:~$ test $w = "HELLO" bash: test: =: unary operator expected 2 asidirop@dellpc:~$ test "$w" = "HELLO" 1 asidirop@dellpc:~$ w='hello' asidirop@dellpc:~$ test "$w" = "HELLO" 0 asidirop@dellpc:~$

35 Η εντολή test προσοχή με την χρήση αριθμών: 35 δεν δούλεψε σωστά, σαν να έγραψα: test -eq 0 δεν δούλεψε σωστά, σαν να έγραψα: test "" -eq 0 δούλεψε σωστά μετά από αρχικοποίηση τη w true asidirop@dellpc:~$ test $w -eq 0 bash: test: -eq: unary operator expected 2 asidirop@dellpc:~$ test "$w" -eq 0 bash: test: : integer expression expected 2 asidirop@dellpc:~$ w=0 asidirop@dellpc:~$ test "$w" -eq 0 0 asidirop@dellpc:~$

36 test & if H test συνήθως χρησιμοποιείται σε συνδυασμό με την if: FILE: test_test1 36 if test -f ~/.bash_profile ; then else fi echo "You have a.bash_profile." echo "OOOps! You have no.bash_profile!"

37 test & if H test συνήθως χρησιμοποιείται σε συνδυασμό με την if: 37 FILE: test_test2 echo -n "give a number less than 10: " read a if test "$a" ge 10 ; then echo "You gave wrong number" else echo "OK. You gave $a" fi

38 test & if Αν το προηγούμενο ήταν γραμμένο σε κάποια άλλη γλώσσα προγραμματισμού (java,c,c++,javascript, κτλ.) η if θα συντάσσονταν: if(a>=10)... H χρήση της λέξης test καθώς και το ότι δεν είναι εμφανές που τελειώνει η συνθήκη -- δεν υπάρχει παρένθεση που κλείνει, δυσκολεύει τους προγραμματιστές FILE: test_test2 που έχουν συνηθίσει σε άλλες γλώσσες. read a 38 echo -n "give a number less than 10: " if test "$a" ge 10 ; then else fi echo "You gave wrong number" echo "OK. You gave $a"

39 [ = test H [ είναι εντολή και είναι ισοδύναμη με την εντολή test. Η εντολή [ περιμένει η τελευταία παράμετρος που θα της δώσουμε να είναι το string ] (για λόγους συμμετρίας και ομορφιάς), αλλιώς μας δίνει μήνυμα λάθους. FILE: test_test3 echo -n "give a number less than 10: " read a if [ "$a" ge 10 ]; then else fi 39 echo "You gave wrong number" echo "OK. You gave $a"

40 [ = test Μια εντολή από τα ορίσματά της χωρίζεται με space. Άρα μετά την [ πρέπει να υπάρχει space. FILE: test_test3 echo -n "give a number less than 10: " read a if [ "$a" ge 10 ]; then else fi 40 Στο παράδειγμα το "10" είναι το 3 ο όρισμα και η "]" είναι το 4 ο. Τα ορίσματα μεταξύ τους χωρίσονται με space. Άρα πριν την τελευταία ] πρέπει να υπάρχει space. echo "You gave wrong number" echo "OK. You gave $a"

41 [ = test 41 Πρέπει να υπάρχουν spaces... asidirop@dellpc:~$ a=20 asidirop@dellpc:~$ [ "$a" -ge 10 ] 0 asidirop@dellpc:~$ ["$a" -ge 10 ] [1: command not found asidirop@dellpc:~$ [ "$a" -ge 10] bash: [: missing `]' asidirop@dellpc:~$ [ "$a" -ge10 ] bash: [: 1: unary operator expected asidirop@dellpc:~$ Διαφορετικά θα γίνει εσφαλμένη ερμηνεία από το shell και έπειτα από την test

42 [ = test Ομοίως όταν η [ χρησιμοποιείται με την if επιπλέον πρέπει να υπάρχει space μετά την if και πριν την [ 42 asidirop@dellpc:~$ a=20 asidirop@dellpc:~$ if [ "$a" -ge 10 ] ; then echo "something"; fi something asidirop@dellpc:~$ if ["$a" -ge 10 ] ; then echo "something"; fi [20: command not found asidirop@dellpc:~$ if [ "$a" -ge 10] ; then echo "something"; fi bash: [: missing `]' asidirop@dellpc:~$ if [ "$a" -ge10 ] ; then echo "something"; fi bash: [: 20: unary operator expected asidirop@dellpc:~$

43 Συνήθη έλεγχοι 43 Θέλουμε να κάνουμε ένα script το οποίο θα δέχεται ακριβώς 2 παραμέτρους Το μήνυμα σφάλματος πρέπει να το στείλουμε την τυπική έξοδο λαθών Πρέπει να κάνουμε exit με κωδικό σφάλματος, ώστε το λειτουργικό και το shell να καταλάβει ότι κάτι δεν πήγε καλά. FILE: test_test4 if [ "$#" -ne 2 ] ; then echo "Wrong number of args." 1>&2 echo "You must give 2 args." 1>&2 exit 1 fi

44 Συνήθη έλεγχοι 44 Το 1 ο όρισμα θέλουμε να είναι όνομα αρχείου (διαδρομή προς αρχείο) Το μήνυμα σφάλματος πρέπει να το στείλουμε την τυπική έξοδο λαθών Πρέπει να κάνουμε exit με κωδικό σφάλματος. Αυτός μπορεί να είναι διαφορετικός σε κάθε περίπτωση σφάλματος. FILE: test_test4 if [! -f "$1" ] ; then echo "$1 is not a file." 1>&2 exit 2 fi

45 Το 2 ο όρισμα θέλουμε να είναι όνομα καταλόγου (διαδρομή προς κατάλογο) Συνήθη έλεγχοι 45 FILE: test_test4 Πρέπει να κάνουμε exit με κωδικό σφάλματος. if [! -d "$2" ] ; then echo "$2 is not a directory." 1>&2 exit 3 fi

46 Συνήθη έλεγχοι FILE: test_test4 46 if [ "$#" -ne 2 ] ; then echo "Wrong number of args." 1>&2 echo "You must give 2 args." 1>&2 exit 1 fi if [! -f "$1" ] ; then echo "$1 is not a file." 1>&2 exit 2 fi if [! -d "$2" ] ; then echo "$2 is not a directory." 1>&2 exit 3 fi echo "File: $1" echo "Directory: $2"

47 Συνήθη έλεγχοι FILE: test_test4 47 if [ "$#" -ne 2 ] ; then echo "Wrong number of args." 1>&2 echo "You must give 2 args." 1>&2 exit 1 fi file="$1" dir="$2" if [! -f "$file" ] ; then echo "$file is not a file." 1>&2 exit 2 fi if [! -d "$dir" ] ; then echo "$dir is not a directory." 1>&2 exit 3 fi echo "File: $file" echo "Directory: $dir"

48 Αριθμητικές παραστάσεις στο bash Σε προηγούμενο μάθημα αναφέρθηκαν οι αριθμητικές πράξεις που μπορεί να διεκπεραιώσει το bash. πράξη id++ id-- ++id --id 48 εξήγηση variable post-increment and post-decrement variable pre-increment and pre-decrement - + unary minus and plus! ~ logical and bitwise negation ** exponentiation *,/, % multiplication, division, remainder +, - addition, subtraction <<, >> left and right bitwise shifts <=,>=, <, > comparison ==,!= equality and inequality &, ^, &&, expr?expr:exp r = *= /= %= += -= <<= >>= &= ^= = bitwise AND, bitwise exclusive OR, bitwise OR logical AND, logical OR conditional operator assignment

49 Αριθμητικές παραστάσεις στο bash 49 όταν μέσα στις (( )) περιέχεται έλεγχος, τότε επιστρέφεται ως 'exit status' το αποτέλεσμα του ελέγχου. ((5>10)) false true true αριθμητική σύγκριση true αριθμητική σύγκριση false η μεταβλητή test=0 true 1 asidirop@dellpc:~$ ((50>10)) 0 asidirop@dellpc:~$ ((5==05)) 0 asidirop@dellpc:~$ (('5'=='05')) 0 asidirop@dellpc:~$ (('test'==5)) 1 asidirop@dellpc:~$ (('test'==0)) 0 asidirop@dellpc:~$

50 Αριθμητικές παραστάσεις στο bash 50 εφόσον τα (( )) επιστρέφουν exit status, Μπορούν να χρησιμοποιηθούν και μέσα στην if. false μπαίνει στο else. true μπαίνει στο then. if (( 5>10)) ; then > echo "gt" > else > echo "le" > fi le asidirop@dellpc:~$ if (( 50>10)) ; then > echo "gt" > else > echo "le" > fi gt asidirop@dellpc:~$

51 Αριθμητικές παραστάσεις στο bash Στην περίπτωση χρήσης των (( )), δεν απαιτείται η ύπαρξη κενών διαστημάτων πριν και μετά τις (( )), διότι οι (( )) είναι ειδικοί χαρακτήρες. μέσα στις (( )) δεν απαιτείται η ύπαρξη κενών διαστημάτων διότι το εσωτερικό γίνεται parse (ερμηνεύεται) ως αριθμητική παράσταση από το bash. 51 if (( 50 > 10 )) ; then echo "gt"; else echo "le"; fi gt asidirop@dellpc:~$ if((50>10)); then echo "gt"; else echo "le"; fi gt asidirop@dellpc:~$

52 Συνήθη έλεγχοι Στo παράδειγμα στο οποίο ζητούνται 2 ορίσματα, ο πρώτος έλεγχος (αριθμητικός) θα μπορούσε να γίνει με την χρήση (( )). Οι υπόλοιποι ΌΧΙ. δεν είναι αριθμητικοί έλεγχοι. 52 FILE: test_test4 if (( $#!= 2 )) ; then echo "Wrong number of args." 1>&2 echo "You must give 2 args." 1>&2 exit 1 fi file="$1" dir="$2" if [! -f "$file" ] ; then echo "$file is not a file." 1>&2 exit 2 fi if [! -d "$dir" ] ; then echo "$dir is not a directory." 1>&2 exit 3 fi echo "File: $file" echo "Directory: $dir"

53 bash και [[ ]] Για τους υπόλοιπους ελέγχους που μπορεί να πραγματοποιήσει η εντολή test, δηλαδή η εντολή [, το bash έχει αντίστοιχη εσωτερική εντολή (built-in): την [[ ]]. η χρήση των [[ ]] είναι παρόμοια με την χρήση των [ ], μόνο που τους ελέγχους τους κάνει το ίδιο το shell και δεν εκτελείται η επιπλέον εντολή (η test). άρα η χρήση των [[ ]] υπερτερεί στην ταχύτητα εκτέλεσης. Η χρήση των κενών διαστημάτων είναι πάλι υποχρεωτική. 53 asidirop@dellpc:~$ if [[ -d WORKING.ods ]]; then echo "dir exists";fi asidirop@dellpc:~$ if [[ -f WORKING.ods ]]; then echo "file exists";fi file exists asidirop@dellpc:~$ if[[ -f WORKING.ods ]]; then echo "file exists";fi bash: syntax error near unexpected token `then' asidirop@dellpc:~$

Εισαγωγή στα Λειτουργικά Συστήματα

Εισαγωγή στα Λειτουργικά Συστήματα Εισαγωγή στα Λειτουργικά Συστήματα S E T Δ Ι Α Φ Α Ν Ε Ι Ω Ν 1 2 S H E L L S C R I P T S A R G U M E N T S + F O R Α Ν Τ Ω Ν Η ς Σ Ι Δ Η Ρ Ο Π Ο Υ Λ Ο ς Χρήση Command-Line Parameters Κάθε φορά που το κέλυφος

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

Shell Scripts: loops / if / test

Shell Scripts: loops / if / test Shell Scripts: loops / if / test Loops with for while until for variable in list_of_values ne while εντολή (επιτυχής) ne until εντολή (επιτυχής) ne For in exi times apo ayti ti lista in 1 2 alla kai alles

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

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

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

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

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

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

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

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

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

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

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

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

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

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα Λειτουργικά Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:04 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

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

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

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

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

ΑΣΚΗΣΗ 2 -ΑΚΥΡΩΣΗ ΣΗΜΑΣΙΑΣ ΕΙΔΙΚΩΝ ΧΑΡΑΚΤΗΡΩΝ

ΑΣΚΗΣΗ 2 -ΑΚΥΡΩΣΗ ΣΗΜΑΣΙΑΣ ΕΙΔΙΚΩΝ ΧΑΡΑΚΤΗΡΩΝ -n δεν αφήνει γραμμή SCRIPTS FILES ΟΛΑ ΤΑ SCRIPT les πρέπει να είναι ΕΚΤΕΛΕΣΙΜΑ: chmod +x myscript Παράδειγμα ενός απλού script με όνομα myscript "This is my rst script" -n "I am the user: " whoami Summary7

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

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

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

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

Εισαγωγή στη Matlab 2 Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής

Εισαγωγή στη Matlab 2 Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής Εισαγωγή στη Matlab 2 Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής email: dzavanti@cs.uoi.gr Περιεχόμενα Ορισμοί Λογικοί τελεστές f0r loops while loops if else

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

Δημιουργία & Τερματισμός Διεργασιών. Προγραμματισμός II 1

Δημιουργία & Τερματισμός Διεργασιών. Προγραμματισμός II 1 Δημιουργία & Τερματισμός Διεργασιών Προγραμματισμός II 1 lalis@inf.uth.gr Δημιουργία νέας διεργασίας pid_t fork() Η fork δεν έχει παραμέτρους Δημιουργεί μια νέα διεργασία που είναι ένα αντίγραφο της διεργασίας

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

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

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

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

Δημιουργία & Τερματισμός Διεργασιών. Προγραμματισμός II 1

Δημιουργία & Τερματισμός Διεργασιών. Προγραμματισμός II 1 Δημιουργία & Τερματισμός Διεργασιών Προγραμματισμός II 1 lalis@inf.uth.gr Δημιουργία νέας διεργασίας pid_t fork() Η fork δεν έχει παραμέτρους Δημιουργεί μια νέα διεργασία που είναι ένα αντίγραφο της διεργασίας

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

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

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

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

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

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

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

ΟΛΑ ΤΑ SCRIPT files πρέπει να είναι ΕΚΤΕΛΕΣΙΜΑ: $*, : ΟΛΑ - Η λίστα (ο πίνακας) με τα ορίσματα $# πλήθος παραμέτρων. one two third parameter

ΟΛΑ ΤΑ SCRIPT files πρέπει να είναι ΕΚΤΕΛΕΣΙΜΑ: $*, : ΟΛΑ - Η λίστα (ο πίνακας) με τα ορίσματα $# πλήθος παραμέτρων. one two third parameter SCRIPTS FILES ΟΛΑ ΤΑ SCRIPT les πρέπει να είναι ΕΚΤΕΛΕΣΙΜΑ: LAB8 chmod +x myscript $*, $@ : ΟΛΑ - Η λίστα (ο πίνακας) με τα ορίσματα $# πλήθος παραμέτρων Σχόλια AΣΚΗΣΗ 1 - for και παράμετροι εντολής (script

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

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

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

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

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

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

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

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

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

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

Μερικές άλλες χρήσιμες εντολές

Μερικές άλλες χρήσιμες εντολές 1 Μερικές άλλες χρήσιμες εντολές whoami (Εμφανίζει το όνομα του τρέχοντος χρήστη) pwd (Εμφανίζει το όνομα του τρέχοντος καταλόγου) cat text file name (Παρουσιάζει στην οθόνη το περιεχόμενο ενός αρχείου

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

Μερικές άλλες χρήσιμες εντολές

Μερικές άλλες χρήσιμες εντολές 1 Μερικές άλλες χρήσιμες εντολές whoami (Εμφανίζει το όνομα του τρέχοντος χρήστη) pwd (Εμφανίζει το όνομα του τρέχοντος καταλόγου) less (Το ίδιο με την εντολή «cat», αλλά επιτρέπει την κύλιση στο κείμενο.

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

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

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

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

Αβδέλαρου Κωνσταντίνα

Αβδέλαρου Κωνσταντίνα ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΜΑΤΙΚΗΣ Αβδέλαρου Κωνσταντίνα 1 η Εργασία στο μάθημα Λειτουργικά Συστήματα Ταύρος, 9 Δεκεμβρίου 2014 Άσκηση 1.1 Το shell script που δημιουργήθηκε είναι:

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

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

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

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

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

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

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

HY150a Φροντιστήριο 3 24/11/2017

HY150a Φροντιστήριο 3 24/11/2017 HY150a Φροντιστήριο 3 24/11/2017 1 Assignment 3 Overview Το πρόγραμμα ζητείται να διαβάζει μια λίστα δεδομένων που περιγράφει τα διαθέσιμα τμήματα μνήμης (blocks) ενός ΗΥ. Το πρόγραμμα ζητείται να μεταφορτώνει

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

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη.

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη. Εργαστήριο 4: 4.1 Η Δομή Ελέγχου if Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη. Γενική Μορφή: Παρατηρήσεις:

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

Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος

Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος Εργαστήριο Οργάνωσης Η/Υ Δαδαλιάρης Αντώνιος dadaliaris@uth.gr Σχόλια: - - This is a single line comment - - There is no alternative way to write multi-line comments Αναγνωριστικά: Τα αναγνωριστικά

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

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

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

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

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

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

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

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

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

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

ΜΑΘΗΜΑ: ΕΙΑΓΩΓΗ ΣΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (UNIX) ΕΡΓΑΣΤΗΡΙΟ. 9o ΕΡΓΑΣΤΗΡΙΟ

ΜΑΘΗΜΑ: ΕΙΑΓΩΓΗ ΣΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (UNIX) ΕΡΓΑΣΤΗΡΙΟ. 9o ΕΡΓΑΣΤΗΡΙΟ 9o ΕΡΓΑΣΤΗΡΙΟ ΣΤΟΧΟΣ σενάρια φλοιού ΑΣΚΗΣΗ 1 Να γράψετε ένα σενάριο φλοιού (shell script) που : 1. θα δέχεται ως ορίσματα εισόδου : το όνομα ενός καταλόγου (να ελέγξετε την ύπαρξη του καταλόγου). μια επέκταση

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

Λειτουργικά Συστήματα. Shell Programming

Λειτουργικά Συστήματα. Shell Programming Λειτουργικά Συστήματα Shell Programming Resources Μπορείτε να βρείτε ένα καταπληκτικό tutorial για το bash shell στο: http://linuxcommand.org/ 2 Γενικά Το κέλυφος (shell) προσφέρει ένα εναλλακτικό περιβάλλον

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

Η γλώσσα C. Δείκτες (pointers)

Η γλώσσα C. Δείκτες (pointers) Η γλώσσα C Δείκτες (pointers) Δείκτες - Pointers Δείκτης: τι είναι; Μια μεταβλητή που περιέχει τη διεύθυνση μιας άλλης μεταβλητής 1000 1028 Μεταβλητή p int c = 10; int *p; p = &c; 1028 10 Μεταβλητή c *p

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

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

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

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

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος http://www.teiser.gr/icd/staff/lantzos lantzos@teiser.gr 1 Πώς δημιουργούμε πρόγραμμα Η/Υ; 1. Ανάλυση του προβλήματος 2. Επινόηση & Σχεδιασμός

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

Κεφάλαιο 4ο: Εντολές επιλογής

Κεφάλαιο 4ο: Εντολές επιλογής Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 4ο: Εντολές επιλογής Μέχρι τώρα παρατηρήσαµε ότι τα προβλήµατα που αντιµετωπίσαµε είχαν σειριακή κίνηση, δηλαδή η µία εντολή

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

Εισαγωγή στην πληροφορική

Εισαγωγή στην πληροφορική Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Εισαγωγή στην πληροφορική Βασίλειος Βεσκούκης Δρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Η γλώσσα προγραμματισμού

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

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

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

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

Πίνακες: μια σύντομη εισαγωγή. Πίνακες χαρακτήρων: τα "Αλφαριθμητικά"

Πίνακες: μια σύντομη εισαγωγή. Πίνακες χαρακτήρων: τα Αλφαριθμητικά Πίνακες: μια σύντομη εισαγωγή Πίνακες χαρακτήρων: τα "Αλφαριθμητικά" Πίνακες(Arrays): έννοιες και ορισμοί Ορισμός: Πίνακας (array) = σύνολο μεταβλητών του ιδίου τύπου (int, float, char,...) με ένα κοινό

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

Υπολογισμός - Εντολές Επανάληψης

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

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

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τι χρειάζεται η εντολή IF ΕΝΤΟΛΗ IF. Παράδειγμα #1. Παράδειγμα #1

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τι χρειάζεται η εντολή IF ΕΝΤΟΛΗ IF. Παράδειγμα #1. Παράδειγμα #1 ΥΠΟΛΟΓΙΣΤΕΣ Ι Τι χρειάζεται η εντολή IF ΕΝΤΟΛΗ IF Μέχρι τώρα είδαμε ότι οι εντολές ενός προγράμματος εκτελούνται από την αρχή έως το τέλος διαδοχικά η μία μετά την άλλη Υπάρχουν προγράμματα όπου χρειάζεται

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

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

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

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

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

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

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

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

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

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

Διάλεξη 7 Εργαλεία Ωφελιμότητας Unix: Αwk

Διάλεξη 7 Εργαλεία Ωφελιμότητας Unix: Αwk ΕΠΛ371 - Προγραμματισμός Συστημάτων Διάλεξη 7 Εργαλεία Ωφελιμότητας Unix: Αwk Δημήτρης Ζεϊναλιπούρ 7-1 Επεξεργασία Ρεύματος sed (Stream EDitor) awk (Alfred Aho, Peter Weinberger, and Brian Kernighan) Δημιουργείται

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

Εισαγωγή στα Λειτουργικά Συστήματα

Εισαγωγή στα Λειτουργικά Συστήματα Εισαγωγή στα Λειτουργικά Συστήματα S E T Δ Ι Α Φ Α Ν Ε Ι Ω Ν 10 S C R I P T S Α Ν Τ Ω Ν Η Σ Σ Ι Δ Η Ρ Ο Π Ο Υ Λ Ο Σ Φλοιός (Shell) 2 Είναι το πρόγραμμα που διερμηνεύει (interpreter) τις εντολές που εισάγονται

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

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ενότητα 12: Συνοπτική Παρουσίαση Ανάπτυξης Κώδικα με το Matlab Σαμαράς Νικόλαος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

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

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

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

ΚΕΦΑΛΑΙΟ 3. Εκφράσεις, τελεστές, σχόλια. 3.1 Εισαγωγή

ΚΕΦΑΛΑΙΟ 3. Εκφράσεις, τελεστές, σχόλια. 3.1 Εισαγωγή ΚΕΦΑΛΑΙΟ 3 Εκφράσεις, τελεστές, σχόλια Σύνοψη Στο κεφάλαιο αυτό εισάγουμε τον τρόπο τέλεσης πράξεων μεταξύ μεταβλητών και σταθερών, εκφράσεις μεταξύ αυτών καθώς και το σχολιασμό της λογικής ενός προγράμματος.

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

Εργαστήριο Λειτουργικών Συστημάτων. Shell Programming

Εργαστήριο Λειτουργικών Συστημάτων. Shell Programming Εργαστήριο Λειτουργικών Συστημάτων Shell Programming Resources Μπορείτε να βρείτε ένα καταπληκτικό tutorial για το bash shell στο: http://linuxcommand.org/ 2 Γενικά Το κέλυφος (shell) προσφέρει ένα εναλλακτικό

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

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

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

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

Προγραμματισμός Ι (HY120)

Προγραμματισμός Ι (HY120) Προγραμματισμός Ι (HY120) #5 εκτέλεση υπό συνθήκη 1 Σπύρος Λάλης Ροή εκτέλεσης Μέχρι στιγμής η ροή εκτέλεσης του κώδικα είναι αυστηρά γραμμική Οι εντολές που γράφουμε στον κώδικα μας εκτελούνται μια προς

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

Προγραμματισμός ΗΥ και Υπολογιστική Φυσική. Χρήστος Γκουμόπουλος

Προγραμματισμός ΗΥ και Υπολογιστική Φυσική. Χρήστος Γκουμόπουλος Προγραμματισμός ΗΥ και Υπολογιστική Φυσική Χρήστος Γκουμόπουλος Προγραμματισμός ΗΥ και Υπολογιστική Φυσική Χρήστος Γκουμόπουλος Προγραμματισμός ΗΥ και Υπολογιστική Φυσική Χρήστος Γκουμόπουλος Προγραμματισμός

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

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

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

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

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

Προγραμματισμός Ι. Προεπεξεργαστής. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Προεπεξεργαστής Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Διαδικασία Μεταγλώττισης πρόγραµµα επεξεργασίας κειµένου if a

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

Λειτουργικά Συστήματα. Άσκηση Πράξη. Shell Programming

Λειτουργικά Συστήματα. Άσκηση Πράξη. Shell Programming Λειτουργικά Συστήματα Άσκηση Πράξη Shell Programming Resources Μπορείτε να βρείτε ένα καταπληκτικό tutorial για το bash shell στο: http://linuxcommand.org/ 2 Γενικά Το κέλυφος (shell) προσφέρει ένα εναλλακτικό

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

wc -l <file1 10 ή να μετρήσω πόσες γραμμές δίνει μια οποιαδήποτε άλλη εντολή π.χ. η finger : finger wc -l 8

wc -l <file1 10 ή να μετρήσω πόσες γραμμές δίνει μια οποιαδήποτε άλλη εντολή π.χ. η finger : finger wc -l 8 Τελευταίες σημειώσεις - 2016 Μεταβλητές Βάζουμε μεταβλητές πχ για πιο ευκρινές πρόγραμμα (προτιμήστε μικρά γράμματα και όχι ονόματα εντολών) πχ. filename="$1" (αποφύγετε το file="$1" υπάρχει εντολή file

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

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εντολές ελέγχου ροής προγράμματος (if-else & switch) Η εντολή if-else Η εντολή if-else υπάρχει σχεδόν σε όλες τις γλώσσες προγραμματισμού. Χρησιμοποιείται για τον έλεγχο της

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

Ενδεικτικές λύσεις και στατιστικά

Ενδεικτικές λύσεις και στατιστικά Προγραμματισμός 1 Σύντομο Quiz 25/9/9 Ενδεικτικές λύσεις και στατιστικά Ερώτηση 1: Γράψτε παρακάτω συνάρτηση η οποία δέχεται ως παραμέτρους ένα string και ένα χαρακτήρα και επιστρέφει τον αριθμό των εμφανίσεων

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

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

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

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

A2. Να γράψετε για κάθε περίπτωση τον αριθμό της πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή.

A2. Να γράψετε για κάθε περίπτωση τον αριθμό της πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή. ΜΑΘΗΜΑ / ΤΑΞΗ : ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ/Γ' ΕΠΑ.Λ. ΗΜΕΡΟΜΗΝΙΑ: 17-1-2016 ΕΠΙΜΕΛΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ: Ι.ΜΙΧΑΛΕΑΚΟΣ-Χ.ΠΑΠΠΑ-Α.ΚΑΤΡΑΚΗ ΘΕΜΑ Α Α1. Να χαρακτηρίσετε τις προτάσεις που ακολουθούν, γράφοντας δίπλα

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 23 ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 2ο Τμήμα Διοίκησης Επιχειρήσεων α εξάμηνο Β. Φερεντίνος I/O 24 Βασική βιβλιοθήκη συναρτήσεων εισόδου/εξόδου #include Η συνάρτηση εξόδου printf printf("συμβολοσειρά

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java Βρόγχοι Το if-then Statement Στην Java το if-then statement έχει το εξής συντακτικό Η παρένθεση είναι απαραίτητη if (condition) if-code block

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

Παίρνοντας Αποφάσεις 1

Παίρνοντας Αποφάσεις 1 Παίρνοντας Αποφάσεις 1 Στόχοι μαθήματος Συγκριτικοί/ Λογικοί Τελεστές Η εντολή IF Η εντολή switch 2 Συγκριτικοί Τελεστές == ίσο!= διάφορο / άνισο > μεγαλύτερο < μικρότερο >= μεγαλύτερο ή ίσο

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

Εκφώνηση άσκησης. Η Κρεμάλα σαν παιχνίδι. Ανάλυση. Μέρος Α Αναφoρά, ανάλυση τακτικής. Υλοποίηση του παιχνιδιού «Κρεμάλα»

Εκφώνηση άσκησης. Η Κρεμάλα σαν παιχνίδι. Ανάλυση. Μέρος Α Αναφoρά, ανάλυση τακτικής. Υλοποίηση του παιχνιδιού «Κρεμάλα» ΚΡΕΜΑΛΑ Project 7 1 Εκφώνηση άσκησης Υλοποίηση του παιχνιδιού «Κρεμάλα» Το Project αυτό συνίσταται στην κατασκευή ενός προγράμματος σεναρίου κελύφους, που θα υλοποιεί το γνωστό παιχνίδι «Κρεμάλα» με δυνατότητα

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

ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL

ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL ΓΕΝΙΚΗ ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ Program Ονομα_προγραμματος; «πρόγραμμα» Πρόγραμμα 1 Program Lesson1_Program1; Write('Hello World!!!'); {σχόλια} Επεξήγηση Προγράμματος Program Lesson1_Program1;

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

Λειτουργικά Συστήματα (ΗΥ-345) Χειμερινό Εξάμηνο

Λειτουργικά Συστήματα (ΗΥ-345) Χειμερινό Εξάμηνο Λειτουργικά Συστήματα (ΗΥ-345) Χειμερινό Εξάμηνο 2018-2019 Άσκηση 1 Φροντιστήριο: 05/10/2018 Παράδοση: 18/10/2018 Υλοποίηση Linux C Shell ΤΑ : shevtsov(shevtsov@csd.uoc.gr) Ώρες Γραφείου : Δευτέρα 14:00-16:00

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

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

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

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

Γ τάξη Τεχνολογικής Κατεύθυνσης Ενιαίου Λυκείου ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. ΔΟΜΗ ΕΠΙΛΟΓΗΣ Διδάσκων: ΔΟΥΡΒΑΣ ΙΩΑΝΝΗΣ

Γ τάξη Τεχνολογικής Κατεύθυνσης Ενιαίου Λυκείου ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. ΔΟΜΗ ΕΠΙΛΟΓΗΣ Διδάσκων: ΔΟΥΡΒΑΣ ΙΩΑΝΝΗΣ Γ τάξη Τεχνολογικής Κατεύθυνσης Ενιαίου Λυκείου ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΟΜΗ ΕΠΙΛΟΓΗΣ Διδάσκων: ΔΟΥΡΒΑΣ ΙΩΑΝΝΗΣ Κεφάλαιο 2 : Δομή Επιλογής Εντολές επιλογής Εντολή ΑΝ. Εντολές

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

Διάλεξη 5η: Εντολές Επανάληψης

Διάλεξη 5η: Εντολές Επανάληψης Διάλεξη 5η: Εντολές Επανάληψης Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Εντολές Επανάληψης CS100, 2015-2016

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

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

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

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

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

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

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

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

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

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

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

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

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

Λογικός τύπος Τελεστές σύγκρισης Λογικοί τελεστές Εντολές επιλογής Εμβέλεια Μαθηματικές συναρτήσεις Μιγαδικός τύπος ΔΕΥΤΕΡΗ ΔΙΑΛΕΞΗ

Λογικός τύπος Τελεστές σύγκρισης Λογικοί τελεστές Εντολές επιλογής Εμβέλεια Μαθηματικές συναρτήσεις Μιγαδικός τύπος ΔΕΥΤΕΡΗ ΔΙΑΛΕΞΗ ΔΕΥΤΕΡΗ ΔΙΑΛΕΞΗ Λογικός τύπος ( ) Ο τύπος είναι κατάλληλoς για την αναπαράσταση ποσοτήτων που μπορούν να πάρουν δύο μόνο τιμές (π.χ. ναι/όχι, αληθές/ψευδές, ). Τιμές ή Δήλωση Εκχώρηση Ισοδυναμία με ακέραιους

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

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

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

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

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

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

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

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

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

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

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

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

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

make Προγραμματισμός II 1

make Προγραμματισμός II 1 make Προγραμματισμός II 1 lalis@inf.uth.gr myprog.c preprocessor (cc1) /tmp/cczxt.i assembler (as) compiler (cc1) /tmp/cczxt.o /tmp/cczxt.s linker (ld) myprog Προγραμματισμός II 2 lalis@inf.uth.gr Δοκιμάστε

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ 1. Ποιες από τις παρακάτω εντολές είναι σωστές; α) if A + B

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

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

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

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

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

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

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

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

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

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

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6)

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6) ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ HMEΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ ΠΑΡΑΣΚΕΥΗ 22 ΣΕΠΤΕΜΒΡΙΟΥ 2017 ΘΕΜΑ Α ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ:

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

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

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

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

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

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

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

Προγραμματισμός Ι (HY120)

Προγραμματισμός Ι (HY120) Προγραμματισμός Ι (HY120) #6 εκτέλεση σε επανάληψη 1 Σπύρος Λάλης Εκτέλεση σε επανάληψη: while while () lexpr body true false Όσο η λογική συνθήκη επανάληψης lexpr αποτιμάται σε μια τιμή

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

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ 9.1 Εντολές Εισόδου/εξόδου Στην Pascal, 1. Tα δεδομένα των προγραμμάτων λαμβάνονται: είτε από το πληκτρολόγιο είτε από ένα αρχείο με τη χρήση των διαδικασιών read και readln,

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

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD) Η Γλώσσα Pascal Χαρακτηριστικά Τύποι Δεδοµένων Δοµή προγράµµατος 1. Βασικές έννοιες Χαρακτηριστικά της γλώσσας Pascal Γλώσσα προγραµµατισµού Συντακτικό Σηµασιολογία Αλφάβητο της γλώσσας Pascal (Σύνολο

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

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα Λειτουργικά Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:03 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

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

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

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

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

Pascal, απλοί τύποι, τελεστές και εκφράσεις

Pascal, απλοί τύποι, τελεστές και εκφράσεις Pascal, απλοί τύποι, τελεστές και εκφράσεις 15 Νοεμβρίου 2011 1 Γενικά Στην standard Pascal ορίζονται τέσσερις βασικοί τύποι μεταβλητών: integer: Παριστάνει ακέραιους αριθμούς από το -32768 μέχρι και το

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

Τυπικές χρήσεις της Matlab

Τυπικές χρήσεις της Matlab Matlab Μάθημα 1 Τι είναι η Matlab Ολοκληρωμένο Περιβάλλον Περιβάλλον ανάπτυξης Διερμηνευμένη γλώσσα Υψηλή επίδοση Ευρύτητα εφαρμογών Ευκολία διατύπωσης Cross platform (Wintel, Unix, Mac) Τυπικές χρήσεις

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

Λύβας Χρήστος Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος

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

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

Προεπεξεργαστής της C. C Preprocessor. Προγραμματισμός II 1

Προεπεξεργαστής της C. C Preprocessor. Προγραμματισμός II 1 Προεπεξεργαστής της C C Preprocessor Προγραμματισμός II 1 lalis@inf.uth.gr Τι κάνει ο προεπεξεργαστής; Ο προεπεξεργαστής (pre-proccesor) της C είναι ένα πρόγραμμα που μετασχηματίζει τον πηγαίο κώδικα προτού

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

Εισαγωγή στο Bison. Μεταγλωττιστές, Χειμερινό εξάμηνο

Εισαγωγή στο Bison. Μεταγλωττιστές, Χειμερινό εξάμηνο Εισαγωγή στο Bison Μεταγλωττιστές, Χειμερινό εξάμηνο 2014-2015 Συντακτική Ανάλυση Αποτελεί την δεύτερη φάση της μετάφρασης. Εύρεση της σχέσης που υπάρχει των λεκτικών μονάδων ενός προγράμματος. Παράδειγμα

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

Δομές ελέγχου & επανάληψης

Δομές ελέγχου & επανάληψης 3 Δομές ελέγχου & επανάληψης Τι θα δούμε σε αυτό το μάθημα 1. δομές ελέγχου 1. η δομή if 2. η δομή switch 2. δομές επανάληψης 1. η δομή while 2. η δομή do...while 3. η δομή for 3. break και continue 4.

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