ΙΩΑΝΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΥ 1ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 5 ΟΚΤΩΒΡΙΟΥ 2012 ΑΙΘΟΥΣΑ Β4 11.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Τεχνολογίες Web Απαραίτητες γνώσεις για την υλοποίηση της άσκησης.
Advertisements

Επιμέλεια: Τίκβα Χριστίνα
ΕΙΣΑΓΩΓΗ ΣΤΗΝ PHP. Τι θα μάθουμε;  Να καταλάβουμε τι είναι η PHP και πώς δουλεύουν τα PHP scripts  Τι χρειάζεται για να ξεκινήσουμε με την PHP  Να.
7.3.8 Μεταφραστές Ελληνογαλλική Σχολή Καλαμαρί - Τίκβα Χριστίνα.
ΙΩΑΝΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΥ 2ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 26 ΟΚΤΩΒΡΙΟΥ 2012 ΑΙΘΟΥΣΑ Β4 11.
ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ Εισαγωγικό Φροντιστήριο.
5η Συνάντηση Εκπαιδευτικών Πληροφορικής στη Δυτική Μακεδονία Πτολεμαΐδα, 29 Σεπτ 2005 Δημιουργία Δυναμικών Ιστοσελίδων με PHP και Dreamweaver MX Στυλιάδης.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Πρώτο Αρχιτεκτονική.
Τι είναι ο υπολογιστής; Τι είναι ο προγραμματισμός
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
Message Passing Interface (MPI)
ΜΑΘ-3122/106 Προγραμματισμός
29/11/2004Εισαγωγή στο OpenMP1 OpenMP Αθήνα, Νοέμβριος 2004 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
1/12/2003Εισαγωγή στο OpenMP1 OpenMP Αθήνα, Νοέμβριος 2003 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
Λειτουργικά Συστήματα
Συναρτήσεις Κληση/Επιστροφη Παραμετροι
24/11/2003Message Passing Interface (MPI)1 Αθήνα, Νοέμβριος 2003 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
22/11/2004Message Passing Interface (MPI)1 Αθήνα, Νοέμβριος 2004 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
Περίληψη Αρχιτεκτονική Μικροεπεξεργαστών MIPS-32
Αγγίσταλης Κωνσταντίνος Α.Μ 739
Μήτρες (templates)  Μία μήτρα είναι ένα κομμάτι κώδικα που περιέχει παραμέτρους οι οποίες δέχονται ως τιμές τύπους δεδομένων.  Είναι ένας μηχανισμός.
ΗΥ-150 Προγραμματισμός Εντολές Ελέγχου Ροής.
Μέλη ομάδας Μαρία Στυλιανού Νίκος Οδυσσέως Γεωργία Χριστοδουλίδου
Εισαγωγή στο UNIX και άλλα εργαλεία Pedro Trancoso Γιαννάκης Σαζεϊδης.
ΙΩΑΝΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΥ 2ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 11 ΟΚΤΩΒΡΙΟΥ 2012 ΑΙΘΟΥΣΑ Β4 1.
Λειτουργικά Συστήματα
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Δομημένος Προγραμματισμός και Δομές.
ΙΩΑΝΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΥ 3ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 19 ΟΚΤΩΒΡΙΟΥ 2012 ΑΙΘΟΥΣΑ Β4 1.
Νήματα Οι διεργασίες έχουν τα παρακάτω συστατικά:
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 6: Το Γραφικό Περιβάλλον Επικοινωνίας (Γ. Π. Ε
Π ΑΡΑΛΛΗΛΗ / ΚΑΤΑΝΕΜΗΜΕΝΗ ΕΠΕΞΕΡΓΑΣΙΑ ΚΑΙ ΕΦΑΡΜΟΓΕΣ Εισαγωγή στο OpenMP.
Τα πρώτα βήματα με το Τερματικό Τι είναι το τερματικό? Το τερματικό (terminal) που συχνά λέγεται και γραμμή εντολών (command line) ή κέλυφος (shell) ή.
ΗΥ 150 – ΠρογραμματισμόςΞενοφών Ζαμ π ούλης ΗΥ-150 Προγραμματισμός Αλγόριθμοι και Προγράμματα.
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων. Πίνακας Συμβόλων (Symbol Table) (Ι)  Είναι μια δομή στην οποία αποθηκεύονται τα ονόματα ενός προγράμματος και.
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
Ντίρλης Νικόλαος- ΕΤΥ 3ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 25 ΟΚΤΩΒΡΙΟΥ 2013 ΑΙΘΟΥΣΑ Β4 1.
1 Ολυμπιάδα Πληροφορικής Μάθημα 7. 2 Στόχοι μαθήματος Δημιουργία συναρτήσεων από το χρήστη Δομή προγράμματος με συναρτήσεις Συναρτήσεις και παράμετροι.
Εργαστήριο Λειτουργικών Συστημάτων Φροντιστήριο 1 ο – Εισαγωγή στο MINIX 3 Ντίρλης Νικόλαος.
Ολυμπιάδα Πληροφορικής
Ολυμπιάδα Πληροφορικής
ΣΥΝΑΡΤΗΣΕΙΣ.
Τμήμα Πληροφορικής Πανεπιστημίου Κύπρου ΕΠΛ 371 – Προγραμματισμός Συστημάτων Ονόματα: Αντώνης Μαυρής, Γιώργος Ματθαίου, Χρίστος Κυριάκου Ταυτότητες: ,
Message Passing Interface (MPI) Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων Αθήνα, Δεκέμβριος 2002.
Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 1 Εβδομάδα 11: Εκτέλεση Java χωρίς το BlueJ.
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων Φροντιστήριο - 30/04/2009.
ΠΛΗΡΟΦΟΡΙΑΚΑ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΑ ΣΥΣΤΗΜΑΤΑ 2η Εργασία Μαθήματος Γιώργος Γιαγλής Οικονομικό Πανεπιστήμιο Αθηνών Τμήμα Διοικητικής Επιστήμης & Τεχνολογίας.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Αρχεία.
HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΩΝ Αντώνιος Σαββίδης.
1 ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Πίνακας Συμβόλων Symbol Table.
1 Εισαγωγή στη Java Χρήσιμες Διευθύνσεις Χαρακτηριστικά της Java Εργαλεία της Java Εργαλεία της Java Μεταγλώττιση στοιχειωδών εφαρμογών.
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
Βάσεις Δεδομένων Εργαστήριο ΙΙ Τμήμα Πληροφορικής ΑΠΘ
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Εαρινό Εξάμηνο
ΘΠ06 - Μεταγλωττιστές Εισαγωγή στον Bison Φροντιστήριο - 23/03/2010.
Έλεγχος Ονομάτων (Name Control) Για ένα πρόγραμμα που αποτελείται από πολλά τμήματα κάποια από τα οποία έχουν πιθανώς γραφτεί από άλλους προγραμματιστές.
Εισαγωγή στην Πληροφορική και στην διαχείριση μεγάλου όγκου δεδομένων Γρηγόριος Αμούτζιας Επικ. Καθηγητής Βιοπληροφορικής στη Γενωμική Τμήμα Βιοχημείας.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Συναρτήσεις.
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΗΥ150 – ΠρογραμματισμόςΞ. Ζαμπούλης ΗΥ-150 Προγραμματισμός Αρχεία.
ΕΙΣΑΓΩΓΙΚΟ ΦΡΟΝΤΙΣΤΗΡΙΟ Διαχείριση Περιεχομένου Παγκόσμιου Ιστού και Γλωσσικά Εργαλεία.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Αλφαριθμητικά (Strings)
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Συναρτήσεις (μέρος δεύτερο) και Μεταβλητές.
ΗΥ 150 – ΠρογραμματισμόςΞενοφών Ζαμ π ούλης ΗΥ -150 Προγραμματισμός Αλγόριθμοι και Προγράμματα.
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
Προγραμματισμός Ι Εισαγωγικά θέματα.
Εισαγωγή στη Java Χαρακτηριστικά της Java Εργαλεία της Java
ΗΥ-150 Προγραμματισμός Αναδρομή (1/2).
Εισαγωγή στη Java (Μέρος Α’)
Μεταγράφημα παρουσίασης:

ΙΩΑΝΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΥ 1ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 5 ΟΚΤΩΒΡΙΟΥ 2012 ΑΙΘΟΥΣΑ Β4 11

 Εξοικείωση µε θεμελιώδεις έννοιες και µηχανισµούς που προσφέρει το λειτουργικό σύστηµα UNIX και τα UNIX-like συστήµατα ◦ δηµιουργία/διαχείριση διεργασιών ◦ επικοινωνία διεργασιών  Γλώσσα προγραµµατισµού C  Κλήση συστήµατος fork  Χρήση Sockets  Μοντέλο Πελάτη-Εξυπηρέτη (Client-Server model)  Χρήση Shared memory  Χρήση Semaphores  Χρήση Signals  - 2 -

 2 ή 3 ασκήσεις  Συνολικά 40% του τελικού βαθµού στο μάθηµα  Η 1η άσκηση θα αναρτηθεί τις επόµενες ηµέρες  - 3 -

 Οι ασκήσεις ϑα είναι σε οµάδες των 2-3 ατόµων  Παραδίδονται ηλεκτρονικά µέσω της σελίδας του µαθήµατος  Η ηµεροµηνία παράδοσης θα ανακοινώνεται µαζί µε την άσκηση  Σε περίπτωση που µια άσκηση παραδοθεί µε καθυστέρηση θα  υπάρχει µείωση βαθµού - 10% για κάθε µέρα  - 4 -

 Σε περίπτωση που εντοπιστεί αντιγραφή, ο βαθµός στο µάθηµα θα µηδενιστεί για όλους όσους εµπλέκονται στην αντιγραφή  Αν ο κώδικας µιας άσκησης δεν κάνει compile η άσκηση αυτή θα µηδενίζεται  Η υλοποίηση κάθε άσκησης θα πρέπει να χρησιµοποιεί τα βασικά εργαλεία που θα παρουσιάζονται στο αντίστοιχο φροντιστήριο  - 5 -

 Ο κώδικας πρέπει να έχει επαρκή σχόλια  Στρατηγικά σχόλια – επεξήγηση σε υψηλό επίπεδο στην αρχή κάθε function ◦ Λάθος παράδειγμα σχόλιου:  i=i+1  //Η μεταβλητή i αυξάνεται κατά 1 ◦ Σωστό σχόλιο  i=i+1  // Ο αριθμός των διεργασιών που κάνουν αυξάνεται για να.  - 6 -

 Τακτικά σχόλια – επεξήγηση του πηγαίου κώδικα  Επαρκή σχόλια = 60% των συνολικών γραµµών είναι σχόλια (∼ 1-2 γραµµές σχόλια για κάθε 1 γραµµή πηγαίου κώδικα)  Μερικά σχόλια = < 60 % των συνολικών γραµµών – -1 βαθµός  Καθόλου σχόλια – -2 βαθµοί  ∆οµή πηγαίου κώδικα ◦ Σωστή χρήση tabs-spaces ◦ Μη οµοιόµορφη / καθόλου – -1 βαθµός ◦ Σωστή δοµή σε συναρτήσεις / υπο-αρχεία  - 7 -

 Με την χρήση εικονικών μηχανών  Κατέβασμα του virtualbox ◦  Κατέβασμα έτοιμου στημένου συστήματος linux ◦ Ubuntu image από εδώ: ◦ es/Ubuntu%20Linux/12.04/ubuntu_12.04-x86.7z es/Ubuntu%20Linux/12.04/ubuntu_12.04-x86.7z ◦ Username: ubuntu password: reverse  Μεταφορά αρχείων από/προς την εικονική μηχανή  - 8 -

 Απαραίτητο εργαλείο για: ◦ Δημιουργία εκτελέσιμων αρχείων από τον πηγαίο κώδικα  Χρήσιμο για: ◦ Περιήγηση στους φακέλους ◦ Συγγραφή πηγαίου κώδικα  Στο ubuntu βρίσκεται στο Applications- >Accessories->Terminal  Βασικά πλήκτρα: ◦ «κάτω βελάκι», «πάνω βελάκι», «μια φορά πάτημα tab», «δύο γρήγορες φορές πάτημα tab»  - 9 -

 cd ◦ cd.. (ανέβα ένα επίπεδο πάνω) ◦ cd ~ (πήγαινέ με στο home dir μου) ◦ pwd (που βρίσκομαι)  ls  mkdir, rmdir, mv, rm, cp  man ◦ Οδηγίες για τα πάντα… ◦ Πχ man read, man write, man open 

 Μπορείτε να χρησιμοποιήσετε GUI ◦ Text editor ◦ Applications->Accessories->Text Editor  Μπορείτε να γράφετε σε vi μέσω terminal  Και στις δυο περιπτώσεις, σημαντικό είναι το syntax highlighting ◦ Κάνει τον κώδικα πιο ευανάγνωστο 

 1. Compile (Μεταγλώττιση):  file1.c =>file1.o  2. Link:  file1.o + file2.o => exec 

 Το χρησιμοποιούμε για να παράγουμε τα εκτελέσιμα αρχεία από τον πηγαίο κώδικα  Βασική εντολή (compile και link): ◦ gcc -Wall helloworld.c -o helloworld ◦ Σημαίνει: «κάνε compile και link το helloworld.c και φτιάξε το εκτελέσιμο helloworld» ◦ Για να «τρέξω» το helloworld γράφω: ◦./helloworld ◦ (μαζί με το./ )  #include<stdio.h> int main(int argc, char **argv) { printf("Hello World\n"); printf("Hello World\n"); return 0; return 0;} helloworld.c

 Το χρησιμοποιούμε για να παράγουμε τα εκτελέσιμα αρχεία από τον πηγαίο κώδικα  Βασική εντολή (πρώτα compile και μετά link)  gcc -Wall -c helloworld.c  gcc helloworld.o -o helloworld  Το τρέχω πάλι με: ./helloworld  #include<stdio.h> int main(int argc, char **argv) { printf("Hello World\n"); printf("Hello World\n"); return 0; return 0;} helloworld.c

 #include #include void hello(const char *name) { printf("Hello %s!\n", name); } hello.c void hello(const char *); int main(int argc, char **argv) {hello("World"); return 0; } main.c terminal $ gcc -Wall -c main.c $ gcc -Wall -c hello.c $ gcc main.o hello.o -o hello $./hello Hello World!

 Διεπαφή προς άλλα κομμάτια κώδικα (API)  Περιέχουν πρότυπα και δηλώσεις ◦ Συναρτήσεις ◦ Καθολικές (global) μεταβλητές .h αρχεία  preprocessor: #include "header.h" 

 void hello(const char *); hello.h #include #include void hello(const char *name) { printf("Hello %s!\n", name); } hello.c #include "hello.h" int main(int argc, char **argv) {hello("World"); return 0; } main.c

 int main(int argc, char **argv) ◦ argc: Αριθμός ορισμάτων προγράμματος ◦ argv: Πίνακας με τα ορίσματα ◦ argv[0]: Το όνομα του προγράμματος  Παράδειγμα: αρχείο args.c  #include #include int main(int argc, char **argv) { int i; for (i=0; i<argc; i++) printf("%d %s\n", i, argv[i]); return 0; } $./args arg1 arg2 0./args 1 arg1 2 arg2 args.c terminal