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

Σχετικά έγγραφα
Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

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

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

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

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Ανάπτυξη και Σχεδίαση Λογισμικού

Διαδικασία Ανάπτυξης Λογισμικού

Δεδομένα, Τύποι και Τιμές

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

Προγραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών

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

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

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης

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

Απλά Προγράμματα. Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων

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

ΑΣΚΗΣΗ 2: ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΣΤΗ C

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

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

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

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι

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

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

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

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

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

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

Βασικές Αρχές Προγραμματισμού

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

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

Εισαγωγή στον Προγραµµατισµό «C»

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

a = 10; a = k; int a,b,c; a = b = c = 10;

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

Κεφάλαιο 6: Συναρτήσεις IΙΙ Αρθρωτός Προγραμματισμός. Δείκτες (Διάλεξη 14)

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

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Οικονόμου Βαγγέλησ Διάλεξη Νο 2. Δομημένοσ Προγραμματιςμόσ - Διάλεξη 2

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

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

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΚΑΙ ΠΙΝΑΚΕΣ

Τύποι Δεδομένων Είσοδος/Έξοδος

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7) Είσοδος/ Έξοδος

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

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7)

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμό για ΗΜΥ

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

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

Κεφάλαιο 6: Συναρτήσεις IΙΙ Αρθρωτός Προγραμματισμός. (Διάλεξη 14) Παράδειγμα: Αλλαγή τιμής μεταβλητής μόνο τοπικά

scanf() scanf() stdin scanf() printf() int float double %lf float

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

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

Εισαγωγή στον προγραμματισμό. Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 2

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

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ )

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

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

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Βήματα: μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων. Δομές Δεδομένων + Αλγόριθμοι = Προγράμματα

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

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

Μεταβλητές τύπου χαρακτήρα

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

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

Η δήλωση πού δηµιουργεί αποθήκευση τών δεδοµένων ονοµαζεται ορισµός τής µεταβλητής.

ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 3 Επανάληψη Γ μέρος

Δομή Προγράμματος C++, Χειρισμός Μεταβλητών και Συναρτήσεις Εισόδου - Εξόδου

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

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

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting)

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

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

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

Προγραμματισμός Ι (ΗΥ120)

TMHMA TEXNΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛ/ΝΙΩΝ Προγραμματισμός Ι ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ , Α ΕΞΑΜΗΝΟ Βασίλης Μποζαντζής. Βασίλης Μποζαντζής

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

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

Στόχοι και αντικείμενο ενότητας. Συντακτικό Γλώσσας. Αλφάβητο. #2.. Εισαγωγή στη C (Μέρος Πρώτο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

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

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

Εντολές εισόδου - εξόδου. Εισαγωγή στη C++

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

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

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

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

ΦΥΛΛΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ 1

Προγραμματισμός Ι (ΗΥ120)

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

Α Β Γ static; printf("%c\n", putchar( A +1)+2); B DB BD. int i = 0; while (++i); printf("*");

Προγραμματισμός Ι (ΗΥ120)

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

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Transcript:

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 2ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1

ΣΦΑΛΜΑΤΑ ΜΕΤΑΓΛΩΤΤΙΣΗΣ Η γλώσσα C κάνει αυστηρή διάκριση μεταξύ πεζών και κεφαλαίων. Ο μεταγλωττιστής ενδέχεται να δείξει μηνύματα λάθους ή προειδοποιήσεις για συγκεκριμένες γραμμές. Το πραγματικό σφάλμα μπορεί να βρίσκεται σε προηγούμενες γραμμές! Διορθώνουμε τα σφάλματα ένα-ένα και τρέχουμε κάθε φορά ξανά το μεταγλωττιστή. Ο μεταγλωττιστής εντοπίζει μόνο τυπογραφικά ή συντακτικά σφάλματα, όχι λογικά σφάλματα (!) 2

ΛΟΓΙΚΑ ΣΦΑΛΜΑΤΑ Ένα πρόγραμμα είναι πολύ πιθανό να περιέχει λογικά σφάλματα (bugs). Καθώς αυτά δεν ανιχνεύονται από το μεταγλωττιστή, το πρόγραμμα θα τρέξει, αλλά τα αποτελέσματα θα είναι μη-αναμενόμενα. Τότε χρειάζεται αποσφαλμάτωση (debugging). Δεν αρκεί να τρέξει ένα πρόγραμμα. Πρέπει να ελέγχουμε πάντοτε τα αποτελέσματα για να σιγουρευτούμε πως εκτελέστηκαν ακριβώς οι εντολές που είχαμε κατά νου. Δε φταίει ποτέ ο υπολογιστής εάν ένα πρόγραμμα δεν έβγαλε σωστό αποτέλεσμα, αλλά πάντοτε ο προγραμματιστής. 3

#include <stdio.h> #define NUM 10 int main(void) { int a, b, c; a = 20 + NUM; b = 50 - NUM; c = a*b; ΔΗΛΩΣΗ ΣΤΑΘΕΡΑΣ printf( %d %d %d\n,a, b, c); } return 0; Η οδηγία #define ορίζει μια σταθερά και καθορίζει την τιμή της. 4

#include <stdio.h> #define NUM 10 int main(void) { int a, b, c; a = 20 + NUM; b = 50 - NUM; c = a*b; ΔΗΛΩΣΗ ΜΕΤΑΒΛΗΤΩΝ printf( %d %d %d\n,a, b, c); } return 0; Η εντολή int a, b, c; ορίζει τρεις νέες μεταβλητές τύπου int (integer - ακέραιος). 5

ΚΑΘΟΡΙΣΜΟΣ ΤΙΜΗΣ ΜΙΑΣ ΜΕΤΑΒΛΗΤΗΣ #include <stdio.h> #define NUM 10 int main(void) { int a, b, c; a = 20 + NUM; b = 50 - NUM; c = a*b; printf( %d %d %d\n,a, b, c); } return 0; Με το = καθορίζουμε την τιμή που λαμβάνει μια μεταβλητή. 6

ΚΑΘΟΡΙΣΜΟΣ ΤΙΜΗΣ ΜΙΑΣ ΜΕΤΑΒΛΗΤΗΣ #include <stdio.h> #define NUM 10 int main(void) { int a, b, c; a = 20 + NUM; b = 50 - NUM; c = a*b; printf("%d %d %d\n", a, b, c); } return 0; Με την printf τυπώνουμε τις τιμές που λαμβάνουν οι μεταβλητές a, b, c. Η μορφοποίηση για int είναι %d. 7

ΜΕΤΑΓΛΩΤΤΙΣΗ ΚΑΙ ΕΚΤΕΛΕΣΗ ME RexTester 8

ΜΕΤΑΓΛΩΤΤΙΣΗ ΚΑΙ ΕΚΤΕΛΕΣΗ ME CodingGround 9

ΜΕΤΑΓΛΩΤΤΙΣΗ ΚΑΙ ΕΚΤΕΛΕΣΗ ME CodeLite 10

ΜΝΗΜΗ RAM ΥΠΟΛΟΓΙΣΤΗ Η μνήμη (RAM - random access memory) ενός υπολογιστή αποτελείται από πολλές θέσεις αποθήκευσης δεδομένων με διαδοχική αρίθμηση. Το τυπικό μέγεθος μνήμης ακέραιου αριθμού είναι 8 bit = 1 byte, π.χ. Ένας υπολογιστής με 2GB RAM έχει μνήμη: 2 * 1024 * 1.024 * 1024 = 2.147.483.648 bytes 11

ΜΝΗΜΗ RAM ΥΠΟΛΟΓΙΣΤΗ Κάθε θέση μνήμης μπορεί να έχει ένα όνομα και ένα περιεχόμενο. Μεταβλητή ονομάζεται μία θέση μνήμης που της δίνουμε ένα συγκεκριμένο όνομα. Η τιμή μίας μεταβλητής είναι το περιεχόμενο αυτής της θέσης μνήμης (μπορεί να αλλάξει πολλές φορές κατά τη διάρκεια εκτέλεσης του προγράμματος). 12

ΟΝΟΜΑΤΑ ΜΕΤΑΒΛΗΤΩΝ Μπορεί να αποτελείται από πεζά και κεφαλαία γράμματα του λατινικού αλφαβήτου, από ψηφία, καθώς και του _ (underscore). Ο πρώτος χαρακτήρας πρέπει να είναι γράμμα ή _. Η γλώσσα C κάνει διάκριση μεταξύ των πεζών και κεφαλαίων γραμμάτων (case sensitive). Οι δεσμευμένες λέξεις της C απαγορεύεται να χρησιμοποιηθούν ως ονόματα μεταβλητών. 13

ΔΕΣΜΕΥΜΕΝΕΣ ΛΕΞΕΙΣ ΤΗΣ C Οι ακόλουθες λέξεις είναι δεσμευμένες από τη C για δικές της εντολές και δεν πρέπει να δηλώνονται ως ονόματα μεταβλητών: 14

ΔΗΛΩΣΗ ΜΕΤΑΒΛΗΤΩΝ Η δήλωση μιας μεταβλητής γίνεται συνήθως στην αρχή του προγράμματος (οπωσδήποτε όμως πριν αυτή χρησιμοποιηθεί) με τον ακόλουθο τρόπο: τύπος_δεδοµένων όνοµα_µεταβλητής; π.χ. int a; Κάθε μεταβλητή έχει έναν συγκεκριμένο τύπο δεδομένων. Η εκχώρηση της τιμής στη μεταβλητή μπορεί να γίνει και με τη δήλωσή της: π.χ. int a=100; 15

ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ 16

ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Για τον τύπο char, oι αριθμοί αντιστοιχούν στη θέση των χαρακτήρων στον πίνακα ASCII. 17

ΠΙΝΑΚΑΣ ΧΑΡΑΚΤΗΡΩΝ ASCII 18

ΠΑΡΑΔΕΙΓΜΑ ΕΚΤΥΠΩΣΗΣ ΧΑΡΑΚΤΗΡΑ ASCII 19

ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Το μέγεθος της μνήμης που δεσμεύει ένας τύπος δεδομένων μπορεί να διαφέρει από υπολογιστή σε υπολογιστή (π.χ. ο τύπος int μπορεί να δεσμεύει 2 bytes σε κάποιον υπολογιστή και όχι 4 bytes). Ο τελεστής sizeof μας δίνει την πληροφορεί για το πόσες οκτάδες δεσμεύει ένας τύπος δεδομένων στον υπολογιστή (θα τον δούμε στη συνέχεια). Χρησιμοποιούμε τον τύπο float μόνο όταν η ακρίβεια των δεκαδικών ψηφίων δεν είναι τόσο σημαντική. Για ακρίβεια πολλών δεκαδικών ψηφίων, χρησιμοποιούμε τον τύπο double. 20

ΕΚΧΩΡΗΣΗ ΤΙΜΩΝ ΣΕ ΜΕΤΑΒΛΗΤΕΣ Για μεταβλητές τύπου float ή double χρησιμοποιείται η τελεία (.) για το δεκαδικό μέρος και όχι το κόμμα (,) π.χ. float a = 1.24; Αν μπροστά από μία ακέραια τιμή υπάρχει το ψηφίο 0, τότε αυτή η τιμή ερμηνεύεται σαν οκταδικός αριθμός π.χ. int a = 0100; -> a=64 Αν μπροστά από μία ακέραια τιμή υπάρχει το 0x ή το 0X, τότε αυτή η τιμή ερμηνεύεται σαν δεκαεξαδικός αριθμός π.χ. int a = 0x10; -> a=16 21

ΕΚΧΩΡΗΣΗ ΤΙΜΩΝ ΣΕ ΜΕΤΑΒΛΗΤΕΣ Εάν η τιμή της μεταβλητής αλλάξει στη διάρκεια εκτέλεσης του προγράμματος, ισχύει πάντα η πιο πρόσφατη εκχώρηση τιμής: π.χ. το παραπάνω πρόγραμμα θα τυπώσει Value = 3. 22

ΕΚΧΩΡΗΣΗ ΤΙΜΩΝ ΣΕ ΜΕΤΑΒΛΗΤΕΣ Η τιμή που εκχωρείται σε μια μεταβλητή πρέπει να αντιστοιχεί στον τύπο της, αλλιώς αποκόπτεται (δε στρογγυλοποιείται) ή μετατρέπεται. π.χ. int a = 5.7; -> a = 5 (αποκοπή) π.χ. double x = 5; -> x = 5.0 (μετατροπή) Η τιμή που εκχωρείται σε μια μεταβλητή πρέπει να είναι μέσα στο επιτρεπτό εύρος τιμών. π.χ. short x = 40000; -> x = -25536 (λάθος) π.χ. char ch = 130; -> (δεν υπάρχει στον πίνακα ASCII!) 23

ΕΠΙΣΤΗΜΟΝΙΚΗ ΣΗΜΕΙΟΓΡΑΦΙΑ Σε μεταβλητές τύπου int, float, long, double (και οι αντίστοιχες unsigned) μπορούμε να εκχωρήσουμε τιμές στην επιστημονική σημειογραφία, χρησιμοποιώντας το e ή το E για να δηλώσουμε τη δύναμη του 10. π.χ. double x = 5.2e-2; -> x = 0.052 π.χ. double x = 46E-3; -> x = 0.046 24

ΣΤΑΘΕΡΕΣ Αν θέλουμε μια μεταβλητή να έχει πάντα σταθερή τιμή, τη δηλώνουμε ως const. π.χ. const int a = 100; Η τιμή εκχωρείται υποχρεωτικά κατά τη δήλωση και δε μπορεί να αλλάξει αργότερα. Εναλλακτικά, μπορούμε να δηλώσουμε σταθερές μέσω της μακροεντολής #define. π.χ. #define A 100 (στην αρχή του προγράμματος, με κεφαλαία και χωρίς ;). 25

Η ΣΥΝΑΡΤΗΣΗ printf Η γενική μορφή της printf είναι printf( μορφοποίηση, μεταβλητή1, μεταβλητή2, ); Η μορφοποίηση μπορεί να περιέχει: λέξεις και χαρακτήρες, π.χ. Value = ακολουθίες διαφυγής π.χ. \n προσδιοριστικά μετατροπής π.χ. %d 26

ΑΚΟΛΟΥΘΙΕΣ ΔΙΑΦΥΓΗΣ 27

ΠΑΡΑΔΕΙΓΜΑ ΣΤΟ CodingGround 28

ΠΑΡΑΔΕΙΓΜΑ ΣΤΟ CodeLite ΠΡΟΣΟΧΗ: Η σωστή εκτύπωση των ακολουθιών διαφυγής εξαρτάται και από την κωδικοποίηση του terminal στο οποίο εκτυπώνουμε. Π.χ. ο μεταγλωττιστής CodeLite έχει ένα ενσωματωμένο terminal που (τουλάχιστον στο OS X) δεν είναι πλήρως συμβατό με ASCIΙ, με αποτέλεσμα τη λανθασμένη εκτύπωση των \b και \r (!) Όμοιο πρόβλημα εμφανίζει το RexTester. 29

ΠΡΟΣΔΙΟΡΙΣΤΙΚΑ ΜΕΤΑΤΡΟΠΗΣ 30

ΠΑΡΑΔΕΙΓΜΑ 31

ΕΚΤΥΠΩΣΗ ΤΙΜΩΝ ΜΕΤΑΒΛΗΤΩΝ Δηλώνουμε τις μεταβλητές που θέλουμε να εκτυπωθούν οι τιμές τους μετά τη μορφοποίηση (" ") με τη χρήση κόμματος (,). Πολλές μεταβλητές διαχωρίζονται μεταξύ τους με κόμμα. Οι μεταβλητές αντιστοιχίζονται μία-προς-μία, από αριστερά προς τα δεξιά, με τα προσδιοριστικά μετατροπής που δηλώσαμε μέσα στη μορφοποίηση (" "). ΠΡΟΣΟΧΗ: Αν οι μεταβλητές είναι λιγότερες από τα προσδιοριστικά μετατροπής, τότε για τα επιπλέον προσδιοριστικά εμφανίζοουν τυχαίες τιμές! Αντίστοιχα, αν οι μεταβλητές είναι περισσότερες από τα προσδιοριστικά μετατροπής, τότε δεν εκτυπώνονται οι τιμές τους! 32

ΠΑΡΑΔΕΙΓΜΑ 33

ΚΑΘΟΡΙΣΜΟΣ ΑΚΡΙΒΕΙΑΣ ΣΤΗΝ ΕΚΤΥΠΩΣΗ O καθορισμός του αριθμού των δεκαδικών ψηφίων που θα εκτυπωθούν για έναν πραγματικό αριθμό γίνεται π.χ. ως %.3 -> 3 δεκαδικά ή %. -> κανένα δεκαδικό. Παραδείγματα: (ισοδύναμος τρόπος) (έγινε στρογγυλοποίηση) 34

ΠΛΑΤΟΣ ΠΕΔΙΟΥ Το πλάτος πεδίου είναι ο συνολικός αριθμός των χαρακτήρων που καταλαμβάνει η εκτύπωση στην οθόνη, με στοίχιση του αριθμού δεξιά. Αν τα συνολικά ψηφία του αριθμού ξεπερνούν το πλάτος πεδίου, τότε στην πράξη το πλάτος πεδίου αγνοείται. (ισοδύναμος τρόπος) (αριστερό περιθώριο) 35