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

Σχετικά έγγραφα
Δομημένος Προγραμματισμός (ΤΛ1006)

ΕΠΛ 012. JavaScripts

Γιάννης Σαμωνάκης. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 4 - PHP)

Βασικά Στοιχεία της Java

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

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

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

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

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

Βασικά Στοιχεία της Java

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

ικτυακά Πολυμέσα Ι (Β Έτος, 3ο εξ) ιάλεξη #8η: Javascript: Τεχνικές εντοπισμού/διόρθωσης λαθών, τελεστές, δομές ελέγχου, βρόχοι επανάληψης

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

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

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

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

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

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

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

Οι εντολές ελέγχου της ροής ενός προγράμματος.

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

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

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

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

3. Εκφράσεις και έλεγχος ροής

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

Αντικειµενοστρεφής Προγραµµατισµός

Τεχνικές εντοπισμού & διόρθωσης λαθών στη Javascript

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

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

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

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

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

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

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

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

ΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου

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

32-bit signed υποδιαστολής) Double διπλής ακρίβειας 64-bit signed Char unicode character 16-bit Boolean Boolean true or false

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

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι

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

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

Προγραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής

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

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

Εισαγωγή στη JAVA. Εισαγωγή στη Java. Η Java είναι δημιούργημα της SUN MICROSYSTEMS.

Δεδομένα, τελεστές, είσοδος/έξοδος

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

2ο σετ σημειώσεων. 1 Εντολές εκτέλεσης υπό συνθήκη. 19 Μαρτίου 2012

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

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

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ-ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΚΑΔΗΜΑΪΚΟ ΕΠΑΛ- ΚΑΝΙΓΓΟΣ 13- ΤΗΛ

Στοιχειώδης προγραμματισμός σε C++

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ

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

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

Γραπτές εξετάσεις στο μάθημα: ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ (Θ) Εισηγητής: Γεωργίου Χρήστος ΘΕΜΑΤΑ & ΑΠΑΝΤΗΣΕΙΣ. Β. Χαρακτήρας(Αλφαριθμητικά)

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.

alpha Language age (3/5) alpha Language Φροντιστήριο Syntax Directed Translation and

1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

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

Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13)

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

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

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

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

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο)

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011

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

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

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

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

Εφαρμοσμένη Πληροφορική ΙΙ (Θ) Είσοδος/Έξοδος Μεταβλητές Τύποι Μεταβλητών Τελεστές και Προτεραιότητα Μετατροπές Μεταξύ Τύπων

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

4. Επιλογή και Επανάληψη

Εντολές ελέγχου ροής if, for, while, do-while

Ενδεικτική περιγραφή μαθήματος

Τύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )

Δομές ελέγχου ροής προγράμματος

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

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

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

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

Γ7.1 Επανάληψη ύλης Β Λυκείου. Γ Λυκείου Κατεύθυνσης

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

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

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

Εντολές Επανάληψης. int sum = 0, i=1; sum += i++ ; sum += i++ ; Η πράξη αυτή θα πρέπει να επαναληφθεί Ν φορές!

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

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

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

Transcript:

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript Β.1 Τύποι Δεδομένων Όλες οι γλώσσες προγραμματισμού (πρέπει να) υποστηρίζουν πέντε (5) πρωταρχικούς τύπους δεδομένων: char (character) int (integer) float (floating point) double (double floating point) boolean (true/false) Επειδή η γλώσσα JavaScript δεν είναι αυστηρά δομημένη γλώσσα (strongly typed) --δηλ. δεν κάνει κατά την ώρα της μεταγλώττισης αυστηρό έλεγχο των τύπων που χρησιμοποιούνται-- μπορούμε να εκχωρούμε τιμές μεταξύ διαφορετικών τύπων (δίχως ο μεταγλωττιστής να το ελέγχει) με απρόσμενα πολλές φορές αποτελέσματα. Η γλώσσα JavaScript υποστηρίζει τους παρακάτω πρωταρχικούς τύπους δεδομένων: Number (που περιλαμβάνει int, float & double) Boolean (true/false) String (που περιλαμβάνει και τον τύπο char) 1

Β.2 Αναγνωριστικά και Δηλώσεις μεταβλητών Αναγνωριστικό (identifier) είναι μια ακολουθία από γράμματα και ψηφία, όπου ο πρώτος χαρακτήρας είναι γράμμα. Στην JavaScript τα κεφαλαία γράμματα είναι διαφορετικά από τα πεζά (case sensitive). Tα αναγνωριστικά μπορούν να έχουν οποιοδήποτε μήκος και δεν πρέπει γενικώς να περιλαμβάνουν ειδικούς χαρακτήρες, εκτός από ελάχιστες εξαιρέσεις, όπως η κάτω παύλα. Τα αναγνωριστικά μπορούν να χρησιμοποιούνται στις δηλώσεις ονομάτων μεταβλητών, στην ονομασία συναρτήσεων και γενικά σε ονόματα συμβόλων που επιλέγουν οι προγραμματιστές. Δηλώσεις μεταβλητών μπορούν να γίνουν στο σώμα των συναρτήσεων ως τοπικές μεταβλητές (local variables) και έξω από όλες τις συναρτήσεις ως καθολικές μεταβλητές (global variables). Οι δηλώσεις μεταβλητών γίνονται όπως παρακάτω: var a=5, b; var ch= * ; var m; Όπως φαίνεται παραπάνω στη JavaScript μπορούμε να κάνουμε είτε μόνο δηλώσεις ή ταυτόχρονα δηλώσεις και αρχικοποιήσεις μεταβλητών. Β.3 Κυριολεκτικά (Literals) Σταθερές τιμές μπορούμε να εκχωρούμε σε μεταβλητές, όπως φαίνεται παρακάτω: var m = 12; //ακέραιος var ch = "*"; //χαρακτήρας var myf = 12.5; //δεκαδικός Οι δηλώσεις σταθερών για αλφαριθμητικά (κυριολεκτικά αλφαριθμητικά literal strings) γίνονται μέσα διπλά (ή μονά) εισαγωγικά: "-----". Αριθμοί εκχωρούνται χωρίς εισαγωγικά. 2

Στην JavaScript έχουμε κάποιες προκαθορισμένες σταθερές (ακολουθίες διαφυγής) που χρησιμοποιούνται κυρίως μέσα σε εντολές εκτύπωσης για την εκτύπωση ειδικών χαρακτήρων: \n αλλαγή γραμμής \0 Μηδενικός χαρακτήρας (null) \t Οριζόντιος στηλογνώμονας (tab) \" διπλά εισαγωγικά \ απλά εισαγωγικά \\ Ανάποδη κάθετος (backslash) Β.4 Πίνακες (Arrays) και Δομές (Structs) Πίνακας (array) είναι μία διατεταγμένη ακολουθία τιμών του ίδιου πρωταρχικού τύπου δεδομένων (αν και στην JavaScript μπορούμε να χρησιμοποιούμε και στοιχεία διαφορετικού τύπου μέσα στον ίδιο πίνακα). Δηλώσεις πινάκων κάνουμε ως εξής: var dim = new Array(5); //Θέσεις από dim[0] έως dim[4] var dim[]; // δήλωση δίχως διάσταση var b[12,5,7,2] // αυτόματα παράγεται η διάσταση Με την πρώτη δήλωση δηλώνουμε τον πίνακα ως αντικείμενο πίνακα ενώ με τις δύο τελευταίες δηλώσεις δηλώνουμε πίνακες ως κυριολεκτικά. Οι δομές (structs) περικλείουν τιμές διαφορετικών τύπων δεδομένων. Για παράδειγμα, ο ορισμός μιας δομής πελάτη (customer) θα μπορούσε να γίνει όπως παρακάτω: 3

var CUSTOMER = { name: "C. Papadopoulos", // ονοματεπώνυμο age:32, // ηλικία height:1.90; // ύψος }; Β.5 Τελεστές Η JavaScript παρέχει τέσσερις τύπους τελεστών: αριθμητικούς, σύγκρισης (ή συσχεσιακοί), λογικοί και τελεστές χειρισμού bits. Επίσης παρέχεται ο τελεστής εκχώρησης =, που εκχωρεί μία τιμή σε μία μεταβλητή: Β.5.1 Αριθμητικοί τελεστές -, +, *, /, % (mod), --, ++ Οι ++,--, αυξάνουν και μειώνουν αντίστοιχα την τιμή του τελεσταίου δηλαδή της μεταβλητής στην οποία εφαρμόζονται κατά ένα και μπορούν να τοποθετηθούν πριν ή μετά τον τελεσταίο. Στην περίπτωση που χρησιμοποιηθούν μπροστά τότε πρώτα εκτελείται η πράξη και μετά η εκχώρηση, ενώ αν τοποθετηθούν μετά, τότε πρώτα εκτελείται η εκχώρηση και μετά η πράξη. Π.χ.: a=1; b=--a; (Αποτέλεσμα b=0, a=0) a=1; b=a-- (Αποτέλεσμα b=1, a=0) Ο τελεστής + χρησιμοποιείται και ως τελεστής συνένωσης αλφαριθμητικών όταν οι τελεσταίοι είναι strings. Π.χ.: a="hello"; b=" World! "; c=a+b; (Αποτέλεσμα c="hello World!") 4

Β.5.2 Συσχεσιακοί τελεστές > ΜΕΓΑΛΥΤΕΡΟ >= ΜΕΓΑΛΥΤΕΡΟ ή ΙΣΟ < ΜΙΚΡΟΤΕΡΟ <= ΜΙΚΡΟΤΕΡΟ ή ΙΣΟ == ΙΣΟ!= ΔΙΑΦΟΡΟ Β.5.3 Λογικοί τελεστές && AND (ΛΟΓΙΚΟ ΚΑΙ) OR (ΛΟΓΙΚΟ Η)! NOT (ΛΟΓΙΚΟ ΟΧΙ) Β.5.4 Τελεστές χειρισμού bits Οι τελεστές χειρισμού bits εφαρμόζονται στα ψηφία (bits) μιας ψηφιοσυλλαβής (byte): & AND OR ^ XOR ~ συμπλήρωμα ως προς 1 >> shift left << shift right Για παράδειγμα: x=5; x: 0 0 0 0 0 1 0 1 x=x & 255; 255: 1 1 1 1 1 1 1 1 --------------- 0 0 0 0 0 1 0 1 5

Β.6 Παραστάσεις Με την χρήση των παραπάνω τελεστών μπορούμε να ορίζουμε παραστάσεις πράξεων, όπως: i = i + 5; j = j - 12; k = k * 70; Επίσης μπορούν να χρησιμοποιούνται συντμήσεις στον κώδικα των παραστάσεων: i += 5; j -= 12; k *= 70; Β.7 Είσοδος/Έξοδος Για την εκτύπωση σταθερών και μεταβλητών η JavaScript παρέχει τις παρακάτω συναρτήσεις, που συντάσσονται ως εξής: document.write("string") ή document.write(s) document.getelementbyid("myp").innerhtml="string" όπου s μεταβλητή και myp είναι το id ενός <p> tag. Για το διάβασμα και την εκχώρηση σε μεταβλητές τιμές που δίνει ο χρήστης μπορούμε να χρησιμοποιούμε HTML Forms και να εκχωρούμε την ιδιότητα.value των στοιχείων της φόρμας σε JavaScript μεταβλητές. 6

Β.8 Το πρώτο πρόγραμμα στη Javascript Στη HTML υπάρχει το tag <script> απ όπου το πρόγραμμα ξεκινάει να εκτελείται. <!DOCTYPE html> <html lang="en-us"> <head> <title> First Programm in JS </title> <meta charset="utf-8"> </head> <body> <script> document.write("<h1> First JS EXAMPLE IN PED-15 </h1>"); </script> </body> </html> Β.9 Δομές Ελέγχου Οι δομές ελέγχου χρησιμοποιούνται για τον έλεγχο της ροής του προγράμματος. Οι βασικές δομές ελέγχου είναι οι διακλαδώσεις (if then else, switch) και οι επαναλήψεις (while, do-while, for). Β.9.1 Δομή if then else Σύνταξη: If (expr) {stmt; stmt; ---} else {stmt; stmt;---} Παράδειγμα: if (i>0) pos=i; else neg=-i; if (sex== Man ) expectedtimetolive = 80; else expectedtimetolive = 90; FYLO = (sex== Man )? Άνδρας : Γυναίκα ; // Τριαδικός τελεστής συντόμευσης if-then-else Στη μεταβλητή FYLO εκχωρείται η τιμή Άνδρας (sex== Man ) είναι αληθής, αλλιώς εκχωρείται η τιμή Γυναίκα. αν η συνθήκη 7

Β.9.2 Δομή switch Σύνταξη: Switch (expr) { case value1: stmt; break; case value2: stmt; break;...... default: stmt; } Παράδειγμα: var foo1=3, foo2=5, tmp; var operator="+"; switch (operator) { case + : tmp = foo1+foo2; break; case - : tmp = foo1-foo2; break; case * : tmp = foo1*foo2; break; case / : tmp = foo1/foo2; break; default: tmp=0; } Document.write (tmp); // θα επιστρέψει 8 Β.9.3 Δομή while-do Σύνταξη: While (expr) <block> Παράδειγμα: var j=1; while (j<12) { document.write("*"); j++; } 8

Β.9.4 Δομή do-while Σύνταξη: Do <block> While (expr) Tο <block> της Do-While εκτελείται τουλάχιστον μια φορά αντίθετα με την while-do που μπορεί να μην εκτελεστεί καθόλου. var i=1; do { i++; document.write("*"); } while (i<12); Β.9.5 Δομή for Σύνταξη: for (αρχική συνθήκη; Συνθήκη εξόδου; βήμα) <block> Παραδείγματα: for (i=0; i<90; i++) document.write("*"); // Τυπώνει ένα * σε κάθε επανάληψη (loop) της for for (i=1; i<=10; i++) { document.write("*"); } // Τυπώνει 10 αστεράκια 9

Β.10 Εντολές μεταφοράς ελέγχου Β.10.1 Εντολή return Έχει ως αποτέλεσμα την μεταφορά της εκτέλεσης του κώδικα από τη συνάρτηση στο κύριο πρόγραμμα από όπου κλήθηκε η συνάρτηση. Αν το return περιέχει κάποια τιμή ή επιστρεφόμενη μεταβλητή --π.χ. return (i), η τιμή ή η τιμή της μεταβλητής επιστρέφεται από τη συνάρτηση. Β.10.2 Εντολή break Η εντολή break τερματίζει την εκτέλεση μιας επαναληπτικής συνήθως δομής ελέγχου, όταν κάποια συνθήκη γίνει αληθής, ώστε να μην εκτελείται και ο υπόλοιπος κώδικα της δομής ελέγχου. Μία συνηθισμένη χρήση της break είναι στο σώμα της εντολής switch, όπου κάθε περίπτωση ελέγχου (case) έχει μία break, ώστε αν η συνθήκη είναι αληθής να μην εκτελεστούν και τα υπόλοιπα case. 10