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

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

ΕΠΛ 012. JavaScripts

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

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

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

Γλώσσα Προγραμματισμού C

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

Εντολές επιλογής Επαναλήψεις (if, switch, while)

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

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

Β7.1.4 Δομές Επανάληψης. Β Λυκείου Κατεύθυνσης

Μεθόδων Επίλυσης Προβλημάτων

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

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

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

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

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

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

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

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

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

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

Θέματα Προγραμματισμού Η/Υ

Σύντομες εισαγωγικές σημειώσεις για την. Matlab

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

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

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

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

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

8. Συνθήκες ελέγχου, λογικοί τελεστές

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

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

Δομές Επανάληψης. Εισαγωγή στη C++

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

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

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

Κεφάλαιο : Επαναλήψεις (o βρόγχος While) (Διάλεξη 9) Δομές Έλεγχου Προγράμματος

οµές Επιλογής Εντολές if και switch

Κεφάλαιο : Επαναλήψεις (oι βρόχος While) ( ιάλεξη 9) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων

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

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

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

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

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

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

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

Γλώσσα Προγραμματισμού C. Προγραμματισμός HY: Γλώσσα Προγραμματισμού C. Γρήγορος Πίνακας Αναφοράς Σύνταξης. Εισήγηση #4. Επαναληπτικές δομές:

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

ΑΣΚΗΣΗ 3: ΠΡΟΤΑΣΕΙΣ, ΕΚΦΡΑΣΕΙΣ ΚΑΙ ΤΕΛΕΣΤΕΣ

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

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο

Ρητή μετατροπή αριθμητικής τιμής σε άλλο τύπο. Τι θα τυπωθεί στον παρακάτω κώδικα;

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

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

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

for for for for( . */

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

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

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

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

ΑΣΚΗΣΗ 4: ΟΜΕΣ ΒΑΣΙΚΩΝ ΒΡΟΧΩΝ

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

Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις. (Διάλεξη 8)

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

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

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

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

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

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

ιαφάνειες παρουσίασης #2

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

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

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

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής

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

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

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

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

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

Λογικό "και" (AND) μας επιστρέφει 1 αν και οι δύο operands είναι όχι μηδέν, διαφορετικά 0)

Θέματα Προγραμματισμού Η/Υ

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

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

Πανεπιστήμιο Αιγαίου. Χειμερινό εξάμηνο. Σχολή Κοινωνικών Επιστημών Τμήμα Πολιτισμικής Τεχνολογίας Και Επικοινωνίας

4. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Α' μέρος: for)

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος

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

Σκοπός. Προγραμματίζοντας τον Arduino ΙΙ Εντολή Εκχώρησης & Εντολές. Συλλογή & Επεξεργασία Δεδομένων. Πρόγραμμα. Εντολές Επεξεργασίας Δεδομένων

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ

Πληροφορική ΙΙ Θεματική Ενότητα 7

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

ΣΤΗΛΗ Β ΑΠΟΤΕΛΕΣΜΑ 1. float(10) α pow(2,3) β abs(-10) γ int(5.6) δ. 10 ε. 5.6 Μονάδες 8 ΣΤΗΛΗ Α ΣΥΝΑΡΤΗΣΗ

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

Γαβαλάς Δαμιανός

Transcript:

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

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

Τεχνικές εντοπισμού λαθών (debugging) στη Javascript (I)

Τεχνικές εντοπισμού λαθών (debugging) στη Javascript (II) Κατηγορίες λαθών: Συντακτικά λάθη Λογικά λάθη Στις περισσότερες γλώσσες προγραμματισμού τα συντακτικά λάθη εντοπίζονται κατά τη μεταγλώττιση (compilation) H Javascript είναι script γλώσσα, άρα ο κώδικας δεν μεταγλωττίζεται Τυχόν συντακτικά λάθη αναφέρονται από τους browsers που εκτελούν το Javascript κώδικα, που ωστόσο δεν είναι σχεδιασμένοι για να αναφέρουν λάθη (οι περιγραφές λαθών δεν είναι πάντοτε ιδιαίτερα βοηθητικές)

Τεχνικές εντοπισμού λαθών (debugging) στη Javascript (IΙI) Τεχνικές για πιο γρήγορη / αποδοτική αποσφαλμάτωση: Γράφουμε τον κώδικα τμηματικά ελέγχοντας κάθε φορά την ορθή λειτουργία των νέων τμημάτων κώδικα Εξασφαλίζοντας ότι ο κώδικας που έχουμε ήδη γράψει τρέχει σωστά, συνεχίζουμε παρακάτω Απομονώνουμε σε σχόλια ένα τμήμα του κώδικα (ώστε να μην εκτελείται) και ελέγχουμε την ορθότητα του υπολοίπου κώδικα. Αν ο υπόλοιπος κώδικας είναι σωστός, απομονώνουμε σε σχόλια ένα όλο και μικρότερο τμήμα ώστε σιγά-σιγά να εντοπίσουμε την προβληματική γραμμή κώδικα που προκαλεί σφάλμα Χρησιμοποιούμε μηνύματα (π.χ. για να δούμε την τρέχουσα τιμή μεταβλητών), μέσω alerts

Οι τελεστές της Javascript

Τελεστές (operators) Tι είναι οι τελεστές: σύμβολα που εκτελούν έναν υπολογισμό, μία σύγκριση ή μια άλλη πράξη με μία, δύο ή περισσότερες τιμές Εώς τώρα γνωρίσαμε τους τελεστές εκχώρησης (=) και πρόσθεσης (+) Τύποι τελεστών: Μαθηματικοί τελεστές Τελεστές εκχώρησης Τελεστές σύγκρισης Λογικοί τελεστές Bitwise τελεστές

Μαθηματικοί τελεστές Τελεστής Σύμβολο Λειτουργία Πρόσθεση + Προσθέτει τιμές: var sum = a + b + c; Αφαίρεση - Αφαιρεί τιμές: var result = a b; Πολλα/σμός * Πολλα/ζει τιμές: var product = a * b * c; ιαίρεση / ιαιρεί τιμές: var result = a / b; To result μπορεί να είναι δεκαδικός (float), χρειάζεται προηγούμενος έλεγχος ότι b 0. Υπόλοιπο διαίρεσης Αύξηση κατά ένα Μείωση κατά ένα % ίνει το υπόλοιπο διαίρεσης, π.χ. var result = 10 % 3; Το result θα εξισωθεί με 1. ++ Αυξάνει την τιμή μιας μεταβλητής κατά 1. π.χ. αν var a = 7; Τότε η εντολή a++ ή ++α θα αυξήσει την τιμή του a κατά 1 (ισοδυναμεί με α = α + 1) -- Μειώνει την τιμή μεταβλητής κατά 1: α-- ή --α Άρνηση - Αντιστρέφει το πρόσημο, π.χ. α=-5 ή α=-(-10)

Χρήση τελεστών αύξησης (++) και μείωσης (--) Χρήση τελεστή αύξησης πριν τον τελεστέο: var num = 2; var result = ++num; Επειδή ο τελεστής αύξησης (++) τοποθετήθηκε πριν τον τελεστέο (num), ο num θα αυξηθεί πρώτα κατά ένα και στη συνέχεια θα εκχωρηθεί νέα τιμή στη μεταβλητή result, δηλαδή τελικά: num=3, result=3 Χρήση τελεστή αύξησης μετά τον τελεστέο: var num = 2; var result = num++; Επειδή ο τελεστής αύξησης (++) τοποθετήθηκε μετά τον τελεστέο (num), η τιμήτουnum θα εκχωρηθεί πρώτα στη μεταβλητή result και στη συνέχεια ο num θα αυξηθεί κατά ένα, δηλαδή τελικά: result=2, num=3 Η ίδια φιλοσοφία εφαρμόζεται και στους τελεστές μείωσης (--)

Τελεστές εκχώρησης τιμής Τελεστής Σύμβολο Λειτουργία Εκχώρηση τιμής Πρόσθεση και εκχώρηση Αφαίρεση και εκχώρηση Πολλα/σμός και εκχώρηση ιαίρεση και εκχώρηση Υπόλοιπο και εκχώρηση = Εκχωρείται η τιμή της μεταβλητής που βρίσκεται στα δεξιά του τελεστή στη μεταβλητή που βρίσκεται αριστερά του: var a = b; += Προσθέτει την τιμή που βρίσκεται στα δεξιά του τελεστή στην τρέχουσα τιμή της μεταβλητής που βρίσκεται αριστερά του και εκχωρεί το αποτέλεσμα στη μεταβλητή αυτή, π.χ: α=7; a+=5; (ισοδυναμεί με α = α + 5, δηλαδή α=12) -= α=7; a -= 5; *= α=7; a *= 5; /= α=15; a /= 3; %= α=10; a %= 3; α = 2 α = 35 α = 5 α = 1

Τελεστές σύγκρισης Τελεστής Σύμβολο Λειτουργία Ίσο == Επιστρέφει true αν οι τιμές εκατέρωθεν του τελεστή είναι ίσες, διαφορετικά false Άνισο, διάφορο Μεγαλύτερο από Μικρότερο από Μεγαλύτερο ήίσο Μικρότερο ή ίσο!= Επιστρέφει true αν οι τιμές εκατέρωθεν του τελεστή είναι άνισες, διαφορετικά false > Επιστρέφει true ανητιμήαριστεράείναι μεγαλύτερη της τιμής δεξιά του τελεστή < Επιστρέφει true ανητιμήαριστεράείναι μικρότερη της τιμής δεξιά του τελεστή >= Επιστρέφει true ανητιμήαριστεράείναι μεγαλύτερη ή ίση της τιμής δεξιά του τελεστή <= Επιστρέφει true ανητιμήαριστεράείναι μικρότερη ή ίση της τιμής δεξιά του τελεστή

Παραδείγματα με τελεστές σύγκρισης Σύγκριση Επιστρεφόμενη τιμή Σύγκριση (4+2)==(11-5) true (6+1) >= 7 (5-1)!= (6-2) false -1 > 0 Επιστρεφόμενη τιμή true false ab c == abc false Q > q false ( ab + cd ) == ( abc + d ) true quit > Quit true ( ab + cd )!= ( ab + cd ) false A <= a true a = 5; (++a) >= 6 true a = 5; (a--) < 5 false a = 5; a += 2; (a++) == 8 false a = 5; a *= 2; a >= 10 true

Λογικοί τελεστές Τελεστής Σύμβολο Λειτουργία AND && Σύζευξη (λογικό και ). Επιστρέφει true αν οι εκφράσεις που βρίσκονται εκατέρωθεν του τελεστήείναικαιοι ΥΟtrue. Σε οποιαδήποτε άλλη περίπτωση επιστρέφει false OR ιάζευξη (λογικό ή ). Επιστρέφει true ΜΙΑ ΜΟΝΟ ή και οι δύο εκφράσεις που βρίσκονται εκατέρωθεν του τελεστή είναι true. Επιστρέφει false μόνο αν και οι δύο εκφράσεις είναι false NOT! Άρνηση. Επιστρέφει true αν η έκφραση που βρίσκεται δεξιά του τελεστή είναι false, διαφορετικά επιστρέφει false

Παραδείγματα με λογικούς τελεστές Σύγκριση Επιστρεφόμενη τιμή Σύγκριση Επιστρεφόμενη τιμή (5!=6 ) && (7 == 8-1) true! ((6+1) >= 7) false! ((5!=6 ) && (7 == 8-1)) false! (! ((6+1) >= 7)) true (1==1)&& (2 == 2) true ( Q > q ) (1 <= 5) true ((1 == 1 ) && (2 == 3)) (5 > 4) true (1!=1)&& (2!= 2) false a = 5;! ((a++) >= 6) true! (3 == 3) false

ομές ελέγχου στη Javascript: if και switch

ομές ελέγχου (if statement) if (συνθήκη 1) { <Εντολές που εκτελούνται αν ικανοποιείται η συνθήκη 1> } else if (συνθήκη 2) { <Εντολές που εκτελούνται αν ικανοποιείται η συνθήκη 2> } else if...... } else { } <Εντολές που εκτελούνται αν δεν ικανοποιείται καμία από τις παραπάνω συνθήκες>

Απλός έλεγχος με δομή If <html> aaaa <head> <title>ages</title> <script language="javascript"> function process_age(number) { if (number <= 25) return Είμαι νέος"; else return Είμαι γέρος"; } </script> </head> <body> <script language="javascript"> var age1 = 22; var age2 = 35; document.write("<h1>" + process_age(age1) + "</h1>"); document.write("<hr>"); document.write("<h1>" + process_age(age2) + "</h1>"); </script> </body> </html>

Πολλαπλοί έλεγχοι με δομή If <script aaaa language="javascript"> </script> var age = 55; if (age <= 15) document.write("<h1>είμαι παιδί</h1>"); else if (age > 15 && age <=18) document.write("<h1>είμαι έφηβος</h1>"); else if (age > 18 && age <=60) else document.write("<h1>είμαι ενήλικος</h1>"); document.write("<h1>είμαι ηλικιωμένος</h1>");

Φωλιασμένοι (nested) έλεγχοι Μπορείτε να κάνετε τους ίδιους <script aaaa language="javascript"> ελέγχους χωρίς διπλό if; function process_age(a, s) { (χρησιμοποιώντας τον τελεστή &&) if (a < 18) { if (s == "male") return "Είμαι ανήλικος"; else return "Είμαι ανήλικη"; } else { if (s == "male") return "Είμαι ενήλικος"; else return "Είμαι ενήλικη"; } } </script> <script language="javascript"> var age1 = 22; var sex1 = "male"; var age2 = 17; var sex2 = "female"; document.write("<h1>" + process_age(age1, sex1) + "</h1>"); document.write("<hr>"); document.write("<h1>" + process_age(age2, sex2) + "</h1>"); </script>

Σύνθετοι έλεγχοι (Ι) ίσεκτα θεωρούνται τα έτη που πληρούν τις εξής δύο προϋποθέσεις: ιαιρούνται ακριβώς με το 4 Είτε ΕΝ διαιρούνται ακριβώς με το 100 είτε διαιρούνται ακριβώς με το 400 Γράψτε ένα πρόγραμμα Javascript στο οποίο αρχικά ο χρήστης πληκτρολογεί ένα έτος (μέσω ενός prompt) και στη συνέχεια το έτος αυτό περνιέται ως παράμετρος σε μία συνάρτηση (function) που επιστρέφει true αν το έτος είναι δίσεκτο, διαφορετικά false Εκτέλεση

Σύνθετοι έλεγχοι (IΙ) <script language="javascript"> function leap (y) { if ((y % 4 == 0) && ((y % 100!= 0) (y % 400 == 0))) return true; else return false; } </script> <script language="javascript"> var y = window.prompt(" ώσε ένα έτος:", ""); var year = parseint(y); if (leap (year) == true) document.write("<h1>το έτος " + year + " είναι δίσεκτο</h1>"); else document.write("<h1>το έτος " + year + " δεν είναι δίσεκτο</h1>"); </script>

Πολλαπλοί έλεγχοι με τη δομή switch <html> <head> <title>name day!</title> <script language="javascript"> function name_day (name) { switch (name) { case "Γιάννης" : alert ("Γιορτάζεις στις 7 Ιανουαρίου!"); break; case "Κατερίνα" : alert ("Γιορτάζεις στις 25 Νοεμβρίου!"); break; default: alert (" εν ξέρω πότε γιορτάζεις!"); } } </script> </head> <body> <script language="javascript"> var n = window.prompt("γράψε το όνομά σου:", ""); name_day (n); </script> </body> </html> Εκτέλεση

Βρόγχοι (loops): for, while, do.. while

Βρόγχοι Τι είναι; ομές που επιτρέπουν την επαναληπτική εκτέλεση μιας ομάδας εντολών για κάποιες φορές Γιατί είναι χρήσιμοι; Επιτρέπουν να επαναλάβουμε την εκτέλεση κάποιων γραμμών κώδικα που διαφορετικά θα έπρεπε να γράψουμε κατ επανάληψη Χρησιμοποιώντας βρόγχους μπορούμε εύκολα να αλλάξουμε το πλήθος των επαναλήψεων του κώδικα

Βρόγχος for ομή βρόγχου: for (Αρχική τιμή σε μεταβητή; Συνθήκη που πρέπει να ικανοποιείται για να συνεχίσει η εκτέλεση του βρόγχου; Εντολή που εκτελείται σε κάθε επανάληψη) Παράδειγμα: Ημεταβλητήi ονομάζεται μετρητής (counter) for (i=0; i<10; i++) document.write ( Σήμερα είναι Παρασκευή ); ιαφορετικά θα το γράφαμε 10 φορές: document.write ( Σήμερα είναι Παρασκευή ); document.write ( Σήμερα είναι Παρασκευή ); document.write ( Σήμερα είναι Παρασκευή );... document.write ( Σήμερα είναι Παρασκευή );

Τιμωρία!!! Γράψτε για τιμωρία 1000 φορές: «εν θα ξαναπειράξωτοδιπλανό μου!» <script language="javascript"> for (i=1; i<=1000; i++) document.write ("<h1>" + i + ": εν θα ξαναπειράξω το διπλανό μου!</h1>"); </script>

Άρτιοι Περιττοί (με for loop) Τυπώστε τους αριθμούς 0 ως 1000 (αυξάνοντας κάθε φορά κατά 3), τυπώνοντας δίπλα ένα μήνυμα κατά πόσο είναι άρτιοι ή περιττοί for (i=0; i<=1000; i=i+3) if (i % 2 == 0) document.write ("<h1>" + i + ": είναι άρτιος</h1>"); else document.write ("<h1>" + i + ": είναι περιττός</h1>");

O βρόγχος while Ένας βρόγχος while ελέγχει μια συνθήκη και όσο αυτή ικανοποιείται εκτελεί μια ομάδα εντολών (οι εντολές αυτές μπορεί και να μην εκτελεσθούν ποτέ) Χρησιμοποιείται (αντί για το for) όταν δεν ξέρουμε εκ των προτέρων πόσες επαναλήψεις θέλουμε while (συνθήκη) { <εντολές που εκτελούνται όσο ικανοποιείται η συνθήκη> } Αρχικοποίηση counter var counter = 1; while (counter < 10) { document.write("<h1>counter = " + counter + "</h1>"); counter++; Συνθήκη που πρέπει να ικανοποιείται για να εκτελείται ο βρόγχος Ο counter αυξάνεται, διαφορετικά o βρόγχος δεν θα τελειώσει ποτέ!

O βρόγχος while: Παράδειγμα Ο χρήστης θα δίνει (από ένα παράθυρο prompt) ένα αριθμό: πόσα είναι τα πέταλα της μαργαρίτας και θα τυπώνεται τόσες φορές (εναλλάξ) το «Μ αγαπά ε μ αγαπά» var n = window.prompt("πόσαείναιταπέταλατης μαργαρίτας;", "") var number = parseint(n); var counter = 0; while (counter < number) { if (counter % 2 == 0) document.write("<h1>μ' αγαπά!</h1>"); else document.write("<h1> εν μ' αγαπά!</h1>"); counter++; Εκτέλεση

O βρόγχος do while Ένας βρόγχος που χρησιμοποιείται αντί του while για να εξασφαλίσουμε ότι οι εντολές θα εκτελεσθούν τουλάχιστον μία φορά do { <εντολές που εκτελούνται όσο ικανοποιείται η συνθήκη> } while (συνθήκη) var counter = 1; do { document.write("<h1>counter = " + counter + "</h1>"); counter++; } while (counter < 10)

O βρόγχος do while: Παράδειγμα Ο χρήστης θα δίνει (από ένα παράθυρο prompt) αριθμούς οι οποίοι θα τυπώνονται. Αυτό θα επαναλαμβάνεται μέχρι ο χρήστης να δώσει ένα αρνητικό αριθμό var counter = 0; var number; do { counter++; number = parseint(window.prompt(" ώσε ένα αριθμό. Αρνητικό για να σταματήσεις!", "")); document.write("<h1>" + counter + ": Πληκτρολόγησες " + number + "</h1>"); } while (number > 0) Εκτέλεση