Εισαγωγή στο προγραμματιστικό περιβάλλον ANSI

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

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Προγραμματισμός Υπολογιστών με C++

Εισαγωγή ΕΙΣΑΓΩΓΗ. Γεώργιος Παπαϊωάννου ( )

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

ΑΣΚΗΣΗ 1: TO ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ DEV-C++

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

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

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

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

Προγραµµατισµός Ι Εισαγωγή Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Προγραµµατισµός Ι Νικόλαος Δ. Τσελίκας

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

ΚΕΦΑΛΑΙΟ 6. Περιβάλλοντα Ανάπτυξης Εφαρμογών. ΚΕΦΑΛΑΙΟ 6 Περιβάλλοντα Ανάπτυξης Εφαρμογών. Α Γενικού Λυκείου

Κεφάλαιο 1 Εισαγωγή στη C

Εισαγωγή. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής

ΕΡΓΑΣΤΗΡΙΟ 4: Μεταβλητές, Δομές Ελέγχου και Επανάληψης

ΚΕΦΑΛΑΙΟ 1. Εισαγωγή στην Python. 1.1 Εισαγωγή

ΕΡΓΑΣΤΗΡΙΟ 8: Πολυδιάστατοι Πίνακες και Δυναμική Δέσμευση Μνήμης

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

Προγραμματισμός Χειμερινό Εξάμηνο 2014

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

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

Εγκατάσταση του Arduino IDE

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

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

Χειµερινό Εξάµηνο 2013

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα

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

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

Προγραμματισμός Χειμερινό Εξάμηνο 2017

MIPS Interactive Learning Environment. MILE Simulator. Version 1.0. User's Manual

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο

Προγραμματισμός. Εαρινό Εξάμηνο 2011

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

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

CYGWIN Οδηγίες Χρήσης (Συγγραφέας: Γιώργος ούκας)

Βασίλειος Κοντογιάννης ΠΕ19

Προγραμματισμός Ι. Εργαστήριο 1 ο Περιβάλλον Εργασίας. Νικόλαος Δ. Τσελίκας Κυριακή Θ. Σεκλού

Περί Προγραμματισμού και Γλωσσών Προγραμματισμού

Ιδιότητες αντικειμένων, συγγραφή κώδικα, συντακτικά λάθη

H ΓΛΩΣΣΑ C. Μάθηµα 1: Το Πρώτο µας Πρόγραµµα σε C. ηµήτρης Ψούνης

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

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

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών

Εισαγωγικό εργαστήριο C

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

ΕΡΓΑΣΤΗΡΙΟ 2: Unix Tutorial

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

Ηλεκτρονικοί Υπολογιστές

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

Εργαστήριο 08 Δημιουργία 1 ου Συντακτικού Αναλυτή

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE)

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE)

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

Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Γενικά περί υπολογιστών

4. Συντακτικό μιας γλώσσας είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή.

ΕΡΓΑΣΤΗΡΙΟ 1 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Τµήµα Πληροφορικής και Τηλεπικοινωνιών

Hase οδηγίες χρήσης.

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ & ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΑΝΑΠΤΥΞΗΣ BloodShed Dev-C++

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝΩ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον

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

Ανάπτυξη Plugins για το AgentSheets

Σύντοµο Εγχειρίδιο Χρήσης. του Λογισµικού Στατιστικής Επεξεργασίας. SPSS for Windows v. 8.0

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

Κεφ. 1: Εισαγωγή στην έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος

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

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

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

Μεταφραστής (Compiler)

Σύντομη εισαγωγή στο Unix

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Προγραμματισμός

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. UNIX Μέρος 1

Linux με τη χρήση κονσόλας

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Δομή του προγράμματος. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

2.1. Οι λογαριασµοί χρηστών Σύνδεση (login) και αποσύνδεση (logout)

ΕΡΓΑΣΤΗΡΙΑΚΗ ΕΦΑΡΜΟΓΗ 4 TΟ ΡΟΜΠΟΤΙΚΟ ΟΧΗΜΑ ROGUE BLUE

Κεφάλαιο : Εισαγωγή στην C: (Διαλέξεις 3-4)

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

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Χειμερινό Εξάμηνο

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

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

ΘΕΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;

Εισαγωγή στο περιβάλλον Code::Blocks

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διεργασίες και Νήματα Εργαστηριακές Ασκήσεις

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

Βιβλιοθήκες Αφηρημένοι τύποι δεδομένων. Προγραμματισμός II 1

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

Κεφάλαιο 6 Εισαγωγή στον Προγραμματισμό. 26-Jun-15 ΑΕΠΠ - Καραμαούνας Π. 1

Transcript:

Εργαστήριο 1ο Εισαγωγή στο προγραμματιστικό περιβάλλον ANSI Σε αυτό το κεφάλαιο θα ασχοληθούμε με την περιγραφή της διαδικασίας μεταγλώττισης ενός προγράμματος C κάνοντας χρήση του μεταγλωττιστή gcc σε περιβάλλον Linux ή στον εξομοιωτή τερματικού Cygwin στα windows. Στάδια ανάπτυξης ενός προγράμματος Τα στάδια ανάπτυξης ενός προγράμματος C είναι η δημιουργία, η μεταγλώττιση και η εκτέλεση. Παρακάτω βλέπουμε αναλυτικά καθένα από αυτά. Δημιουργία Δημιουργείτε ένα αρχείο που περιέχει ένα πλήρες πρόγραμμα. Μπορείτε να χρησιμοποιήσετε οποιοδήποτε συντάκτη κειμένου γνωρίζετε. Παραδείγματα τέτοιων συντακτών σε Linux είναι οι vi, gvim, gedit, kedit. Καθώς και πιο εξελιγμένη όπως ο Notepad++ και ο sublime. Ένα πρόγραμμα πηγαίου κώδικα σε c θα πρέπει να τελειώνει σε κατάληξη ''.c'', π.χ. myprog.c. Μεταγλώττιση Υπάρχουν αρκετοί μεταγλωττιστές της C. Ο GNU μεταγλωττιστής C gcc είναι δημοφιλής και διαθέσιμος σε πολλές πλατφόρμες. Στο Linux συνήθως υπάρχουν διαθέσιμα διάφορα συνώνυμα όπως cc, c++, g++ καθώς και τα c89, c99 (που ακολουθούν το αντίστοιχα ANSI πρότυπα) και o προεπεξεργαστής cpp. Η καλύτερη πηγή πληροφόρησης είναι οι σελίδες εγχειριδίου του μεταγλωττιστή, δηλαδή εισάγουμε την εντολή man gcc είτε info gcc ή χρησιμοποιούμε την γραφική διεπαφή λήψης βοήθειας του συστήματος. Επίσης, υπάρχει δυνατότητα πρόσβασης στο online εγχειρίδιο στην παρακάτω διεύθυνση, http://www.gnu.org/software/gcc/ Για τη μεταγλώττιση απλά καλούμε το μεταγλωττιστή με την εντολή gcc ακολουθούμενη από το όνομα του προς μεταγλώττιση προγράμματος. Ο μεταγλωττιστής διαθέτει πληθώρα επιλογών, δείτε τις σελίδες εγχειριδίου για λεπτομέρειες. Η απλούστερη λοιπόν μορφή είναι: gcc program.c όπου program.c είναι το όνομα του αρχείου κειμένου του προγράμματος. 1

Αν υπάρχουν προφανή συντακτικά λάθη στο πρόγραμμα, ο μεταγλωττιστής τα αναγνωρίζει και τα εμφανίζει στην πρότυπη έξοδο. Φυσικά, υπάρχουν σφάλματα που ο μεταγλωττιστής δεν μπορεί να αναγνωρίσει, όπως τα λογικά σφάλματα. Αν η μεταγλώττιση είναι επιτυχής, το εκτελέσιμο αποθηκεύεται στον τρέχοντα κατάλογο με όνομα a.out εκτός αν χρησιμοποιηθεί η επιλογή - o : τότε χρησιμοποιείται το όνομα που ακολουθεί τη επιλογή - o. Είναι πιό βολικό να χρησιμοποιούμε την επιλογή - o όπως, gcc - o program program.c που θέτει το εκτελέσιμο στο αρχείο program (ή οτι όνομα βάλετε μετά το όρισμα "- o") αντί για το αρχείο a.out. Εκτός από τη λύση της γραμμής εντολών, υπάρχουν αρκετά IDE's (Integrated Development Environments). Παραδείγματα τέτοιων προγραμμάτων είναι τα, MS Visual Studio Eclipse, https://www.eclipse.org/ QTCreator, http://en.wikipedia.org/wiki/qt_creator Dev C++, http://www.bloodshed.net/devcpp.html Codelite, http://codelite.org/ κ.α. Στην παρακάτω εικόνα φαίνεται ένα στιγμιότυπο του περιβάλλοντος ανάπτυξης προγραμμάτων σε C, Codelite. Τα περιβάλλοντα αυτά παρέχουν εκτενή εγχειρίδια και online help, των οποίων η ανάλυση ξεφεύγει από τους σκοπούς αυτού του κειμένου. Πολλά από αυτά τα περιβάλλοντα αναγνωρίζουν την ύπαρξη της gcc και τη χρησιμοποιούν ως back- 2

end. Έτσι τα περισσότερα που αναφέρονται στο κείμενο μπορούν να επιτευχθούν και μέσω των IDE's. Εμείς στο παρόν εργαστηριακό σύγγραμμα αλλά και σε όλα τα εργαστήρια του εξαμήνου θα ασχοληθούμε με τη χρήση μόνο του μεταγλωττιστή gcc μέσω της γραμμής εντολών του UNIX/Linux (και του εξομοιωτή Cygwin για περιβάλλον Windows). Εκτέλεση Το επόμενο στάδιο είναι η εκτέλεση του εκτελέσιμου. Στο UNIX / Linux, απλά εισάγουμε στη γραμμή εντολής το όνομα του εκτελέσιμου program (ή a.out). Για να τρέξεμε το πρόγραμμα που έχει προκύψει θα γράψετε στην γραμμή εντολών,./program ή./a.out Κατά την εκτέλεση του προγράμματος τα αποτελέσματα εμφανίζονται στην πρότυπη έξοδο (οθόνη). Σε περίπτωση λογικών σφαλμάτων ή συντακτικών σφαλμάτων θα λάβετε λάθος ή καθόλου έξοδο. Σε αυτή την περίπτωση επιστρέφουμε στο κείμενο του προγράμματος, διορθώνουμε, μεταγλωττίζουμε ξανά, και εκτελούμε το νέο εκτελέσιμο. Παρακάτω παραθέτουμε, μέσω εικόνων, τα στάδια ανάπτυξης ενός προγράμματος στη C, με χρήση του μεταγλωττιστή gcc. 1. Άνοιξε ένα τερματικό στο Linux (ή το Cygwin στα Windows). Γράψε την εντολή gcc version για να ελέγξεις αν υπάρχει εγκατεστημένο το gcc στον υπολογιστή σου. 2. Δημιούργησε ένα φάκελο εργασίας Στο παράδειγμα της παραπάνω εικόνας γίνεται δημιουργία φακέλου με το όνομα CCPP με χρήση της εντολής mkdir. 3

3. Είσοδος στο φάκελο που δημιουργήσαμε παραπάνω 4. Κάνουμε χρήση ενός επεξεργαστή κειμένου όπως nano, gedit, vi, notepad++, sublime για παράδειγμα. Τα δύο τελευταία είναι και σε περιβάλλον windows. (α) Έναρξη του επεξεργαστή nano (Linux) (β) Έναρξη του επεξεργαστή gedit (Linux, gnome GUI) (γ) Έναρξη του επεξεργαστή notepad (Windows) 5. Εισάγουμε τον κώδικα του προγράμματος και αποθηκεύουμε το αρχείο 4

6. Κάνουμε μεταγλώττιση του προγράμματος που εισαγάγαμε παραπάνω 7. Εκτέλεση του εκτελέσιμου αρχείου που έχει προκύψει. Ασκήσεις 1. Εισάγετε, μεταγλωττίστε και εκτελέστε το ακόλουθο πρόγραμμα: #include <stdio.h> main() { int i; printf("\t Number \t\t Square of Number\n\n"); for (i=0; i<=25;++i) printf("\t %d \t\t\t %d \n",i,i*i); } 2. Το παρακάτω πρόγραμμα χρησιμοποιεί βιβλιοθήκη μαθηματικών. Εκτελέστε το σωστά. #include <stdio.h> #include <math.h> main() { int i; printf("\t Number \t\t Square Root of Number\n\n"); for (i=0; i<=360; ++i) printf("\t %d \t\t\t %f \n",i, sqrt((double) i)); } 5