Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Βρόχος Do … Loop Σκοπός Μαθήματος Χρήση Do… Loop για την εκτέλεση μιας ομάδας εντολών μέχρι να εκπληρωθεί μια συγκεκριμένη συνθήκη. Αθήνα, 2015.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Βρόχος Do … Loop Σκοπός Μαθήματος Χρήση Do… Loop για την εκτέλεση μιας ομάδας εντολών μέχρι να εκπληρωθεί μια συγκεκριμένη συνθήκη. Αθήνα, 2015."— Μεταγράφημα παρουσίασης:

1 Βρόχος Do … Loop Σκοπός Μαθήματος Χρήση Do… Loop για την εκτέλεση μιας ομάδας εντολών μέχρι να εκπληρωθεί μια συγκεκριμένη συνθήκη. Αθήνα, 2015

2 Επαναληπτικές Εντολές
Η Visual Basic υποστηρίζει επαναλήψεις ενός συνόλου εντολών: Για προκαθορισμένο αριθμό επαναλήψεων (For … Next). Όσο μια συνθήκη είναι αληθής (Do While ή Do Loop While). Μέχρι μια συνθήκη να γίνει αληθής (Do Until ή Do Loop Until).

3 Do … Loop Εναλλακτικός βρόχος του For…Next, είναι ο βρόχος Do…Loop, με τον οποίο εκτελούμε μια σειρά εντολών έως ότου μία συγκεκριμένη συνθήκη μέσα στον βρόχο είναι αληθής ή ψευδής. Ένας βρόχος Do…Loop μπορεί να περιέχει μια ή περισσότερες εντολές.

4 Do … Loop Αυτός ο τύπος βρόχων είναι χρήσιμος όταν δεν γνωρίζουμε τον ακριβή αριθμό των επαναλήψεων των εντολών. Ο βρόχος Do… Loop έχει διάφορες μορφές (τύπους).

5 Do While … Loop Τύπος 1: Do While Συνθήκη Εντολή(ές) Loop

6 1. Do While … Loop Συντακτικό Λειτουργικότητα Do While συνθήκη
εντολή-a1 εντολή-am Loop Λειτουργικότητα Εν όσω ικανοποιείται η συνθήκη να εκτελείς τις εντολές εντολή-a1 εντολή-am

7 1. Do While … Loop Λογικό Διάγραμμα Συντακτικό Do While συνθήκη
εντολή-a1 εντολή-am Loop συνθήκη εντολή-a1 εντολή-am ΝΑΙ ΟΧΙ Λογικό Διάγραμμα

8 Πρόγραμμα (προηγούμενο μάθημα)
Διαβάζει ένα βαθμό. Τυπώνει το βαθμό. Αν ο βαθμός είναι έγκυρος τυπώνει ένα από τα μηνύματα ΕΥΓΕ, ΠΕΡΑΣΕΣ!!! ή ΚΟΠΗΚΕΣ! ΔΙΑΒΑΣΕ ΠΕΡΙΣΣΟΤΕΡΟ!" Στην αντίθετη περίπτωση (αν ο βαθμός είναι άκυρος) τυπώνει το μήνυμα ΜΗ ΕΓΚΥΡΟΣ ΒΑΘΜΟΣ!!! Στο τέλος τυπώνει το μήνυμα ΤΕΛΟΣ ΑΞΙΟΛΟΓΗΣΗΣ.

9 ΚΟΠΗΚΕΣ! ΔΙΑΒΑΣΕ ΠΕΡΙΣΣΟΤΕΡΟ!
Τώρα Θέλομε … Το πρόγραμμα να τρέχει μέχρι να διαβάσει έγκυρο βαθμό και ακολούθως να βγάλει ένα από τα μηνύματα ΕΥΓΕ, ΠΕΡΑΣΕΣ!!! ή ΚΟΠΗΚΕΣ! ΔΙΑΒΑΣΕ ΠΕΡΙΣΣΟΤΕΡΟ! Στο τέλος τυπώνει το μήνυμα ΤΕΛΟΣ ΑΞΙΟΛΟΓΗΣΗΣ.

10 Επαναληπτική Εντολή Do … Loop ΚΟΠΗΚΕΣ! ΔΙΑΒΑΣΕ ΠΕΡΙΣΣΟΤΕΡΟ!
Να γραφεί πρόγραμμα το οποίο, αφού διασφαλίσει ότι διάβασε έγκυρο βαθμό (βαθμός στο διάστημα [0, 10]), τυπώνει το βαθμό και ένα από τα μηνύματα ΕΥΓΕ, ΠΕΡΑΣΕΣ!!! ή ΚΟΠΗΚΕΣ! ΔΙΑΒΑΣΕ ΠΕΡΙΣΣΟΤΕΡΟ! Στο τέλος τυπώνει το μήνυμα ΤΕΛΟΣ ΑΞΙΟΛΟΓΗΣΗΣ.

11 1. Do While … Loop: Επιλογή Συνθήκης
συνθήκη εντολή-a1 εντολή-am ΝΑΙ ΟΧΙ Do While … Loop ΕΓΚΥΡΟΣ ΒΑΘΜΟΣ (bathmos >= 0) And (bathmos <= 10) (bathmos < 0) Or (bathmos > 10) ΑΚΥΡΟΣ ΒΑΘΜΟΣ

12 1. Do While … Loop Private Sub Command1_Click() Dim bathmos As Single
bathmos = InputBox("ΔΩΣΕ ΒΑΘΜΟ ΣΤΟ ΔΙΑΣΤΗΜΑ [0, 10] ") Print "ΒΑΘΜΟΣ ΠΟΥ ΔΟΘΗΚΕ: " & bathmos Do While (bathmos < 0) Or (bathmos > 10) ‘ EΛΕΓΧΟΣ ΑΚΥΡΟΥ ΒΑΘΜΟΥ Loop If bathmos >= 5 Then Print " ΕΥΓΕ, ΠΕΡΑΣΕΣ!!!" Else Print " ΚΟΠΗΚΕΣ! ΔΙΑΒΑΣΕ ΠΕΡΙΣΣΟΤΕΡΟ!" End If Print "ΤΕΛΟΣ ΑΞΙΟΛΟΓΗΣΗΣ" End Sub

13 Παράδειγμα 1 : Do … Loop Να γραφεί πρόγραμμα το οποίο δέχεται σαν είσοδο ένα όνομα και το εμφανίζει στην οθόνη. Η διαδικασία αυτή να επαναλαμβάνεται συνεχώς για διάφορα ονόματα και να τερματίζεται με τη λέξη "Τέλος".

14 Παράδειγμα 1.1: Do … Loop Dim Name As String Name = "Μαρία"
Do While Name <> "Τέλος" Name = InputBox("Δώσε όνομα ή Τέλος για έξοδο") Print Name Loop

15 Παράδειγμα 1.2 : Do … Loop Dim Name As String Name = "Μαρία"
Do While Name <> "Τέλος" Name = InputBox("Δώσε όνομα ή Τέλος για έξοδο") If Name <> "Τέλος" Then Print Name End If Loop

16 Παράδειγμα 1.3: Do … Loop Dim Name As String
Name = InputBox("Δώσε όνομα ") Do While Name <> "Τέλος“ Print Name Name = InputBox("Δώσε όνομα ή Τέλος για έξοδο") Loop

17 Do … Loop While Τύπος 2: Do Εντολή(ές) Loop While Συνθήκη

18 2. Do … Loop While Συντακτικό Λειτουργικότητα Να εκτελείς τις εντολές
εντολή-a1 εντολή-am Loop While συνθήκη Λειτουργικότητα Να εκτελείς τις εντολές εντολή-a1 εντολή-am εν όσω ικανοποιείται η συνθήκη

19 2. Do … Loop While Λογικό Διάγραμμα Συντακτικό Do εντολή-a1 …
εντολή-am ΝΑΙ ΟΧΙ Λογικό Διάγραμμα συνθήκη Συντακτικό Do εντολή-a1 εντολή-am Loop While συνθήκη

20 2. Do … Loop While: Επιλογή Συνθήκης
εντολή-a1 εντολή-am ΝΑΙ ΟΧΙ Do … Loop While συνθήκη ΕΓΚΥΡΟΣ ΒΑΘΜΟΣ (bathmos >= 0) And (bathmos <= 10) (bathmos < 0) Or (bathmos > 10) ΑΚΥΡΟΣ ΒΑΘΜΟΣ

21 2. Do … Loop While Option Explicit Dim bathmos As Single
Private Sub Command1_Click() Do bathmos = InputBox("ΔΩΣΕ ΒΑΘΜΟ ΣΤΟ ΔΙΑΣΤΗΜΑ [0, 10] ") Print "ΒΑΘΜΟΣ ΠΟΥ ΔΟΘΗΚΕ: " & bathmos Loop While (bathmos < 0) Or (bathmos > 10) 'ΕΛΕΓΧΟΣ ΑΚΥΡΟΥ ΒΑΘΜΟΥ If bathmos >= 5 Then Print "ΕΥΓΕ, ΠΕΡΑΣΕΣ!!!" Else Print "ΚΟΠΗΚΕΣ! ΔΙΑΒΑΣΕ ΠΕΡΙΣΣΟΤΕΡΟ!" End If Print "ΤΕΛΟΣ ΑΞΙΟΛΟΓΗΣΗΣ" End Sub

22 Διαφορές μεταξύ των δυο Εντολών
συνθήκη εντολή-a1 εντολή-am ΝΑΙ ΟΧΙ 1. Do While … Loop εντολή-a1 εντολή-am ΝΑΙ ΟΧΙ 2. Do … Loop While συνθήκη

23 Παράδειγμα 2 : Do … Loop Dim Name As String Do
Name = InputBox("Δώσε όνομα ή Τέλος για έξοδο") If Name <> "Τέλος" Then Print Name End If Loop While Name <> "Τέλος"

24 Παράδειγμα 3: Do … Loop Να γραφεί πρόγραμμα για τη μετατροπή θερμοκρασιών από Φαρενάϊτ σε Κελσίου βάσει του τύπου: Κελσίου = (Φαρενάϊτ + 40)*5 /9 – 40

25 Παράδειγμα 3: Do … Loop Το πρόγραμμα θα πρέπει να ζητά από το χρήστη δεδομένα (θερμοκρασία σε Φαρενάϊτ) με τη χρήση της συνάρτησης InputBox, να μετατρέπει τη θερμοκρασία και να εμφανίζει το αποτέλεσμα σε ένα πλαίσιο μηνύματος. Η διαδικασία να επαναλαμβάνεται συνεχώς και να τερματίζεται με την κενή ακολουθία χαρακτήρων.

26 Dim FTemp As Single, Celsius As Single Do
Παράδειγμα 3: Do … Loop Dim FTemp As Single, Celsius As Single Do FTemp=InputBox("Θερμοκρασία σε Φαρενάιτ") If FTemp <> "" Then Celsius = Int((FTemp + 40)*5 /9 - 40) MsgBox(Celsius), ,"Θερμοκρασία σε Κελσίου" End If Loop While FTemp <> ""

27 Παράδειγμα 4: Ατέρμονος βρόχος
Do Number=InputBox("Δώσε τον αριθμό που θα υψωθεί στο τετράγωνο ή -1 για έξοδος") Number=Number* Number Print Number Loop While Number>=0

28 Άσκηση 1 Να γραφεί πρόγραμμα όπου για κάθε παραγωγό ενός συνεταιρισμού διαβάζει το όνομά του και την ποσότητα του προϊόντος που παρήγαγε. Η εισαγωγή στοιχείων τερματίζεται όταν αντί για όνομα, δοθεί η συνθηματική λέξη “end”. Το πρόγραμμα να εμφανίζει τη μέση ποσότητα προϊόντος ανά παραγωγό.

29 Άσκηση 1 sum =0 counter = 0 Do
Name = InputBox("Δώσε όνομα ή end για τέλος") posotita = InputBox("Δώσε ποσότητα") sum = sum + posotita counter = counter + 1 Loop While Name <> "end" Print "Η μέση ποσότητα είναι: "; sum / counter

30 Άσκηση 1 sum =0 counter = 0 Do
Name = InputBox("Δώσε όνομα ή end για τέλος") If Name <> "end" Then posotita = InputBox("dose posotita") sum = sum + posotita counter = counter + 1 End If Loop While Name <> "end" Print "Η μέση ποσότητα είναι: "; sum / counter

31 Do … Loop Ο βρόχος Do… Loop μπορεί να χρησιμοποιήσει τη δεσμευμένη λέξη Until για επανάληψη εκτέλεσης των εντολών του βρόχου μέχρι (Until) την επαλήθευση μιας συγκεκριμένης συνθήκης. Οι βρόχοι που χρησιμοποιούν τη λέξη Until μοιάζουν σε πολύ μεγάλο βαθμό με αυτούς που χρησιμοποιούν τη λέξη While με τη διαφορά ότι η συνθήκη περιλαμβάνει συνήθως τον αντίθετο τελεστή.

32 Do Until … Loop Τύπος 3: Do Until Συνθήκη Εντολή(ές) Loop

33 3. Εντολή Do Until … Loop Συντακτικό Λειτουργικότητα
εντολή-a1 εντολή-am Loop Λειτουργικότητα Μέχρις ότου ικανοποιηθεί η συνθήκη να εκτελείς τις εντολές εντολή-a1 εντολή-am

34 3. Εντολή Do Until … Loop Λογικό Διάγραμμα Συντακτικό Do Until συνθήκη
εντολή-a1 εντολή-am ΝΑΙ ΟΧΙ Λογικό Διάγραμμα Συντακτικό Do Until συνθήκη εντολή-a1 εντολή-am Loop

35 3. Do Until … Loop: Επιλογή Συνθήκης
συνθήκη εντολή-a1 εντολή-am ΝΑΙ ΟΧΙ Do Until … Loop ΕΓΚΥΡΟΣ ΒΑΘΜΟΣ (bathmos >= 0) And (bathmos <= 10) (bathmos < 0) Or (bathmos > 10) ΑΚΥΡΟΣ ΒΑΘΜΟΣ

36 3. Do Until … Loop Private Sub Command1_Click() Dim bathmos As Single
bathmos = InputBox("ΔΩΣΕ ΒΑΘΜΟ ΣΤΟ ΔΙΑΣΤΗΜΑ [0, 10] ") Print "ΒΑΘΜΟΣ ΠΟΥ ΔΟΘΗΚΕ: " & bathmos Do Until (bathmos >= 0) And (bathmos <= 10) 'ΕΛΕΓΧΟΣ ΕΓΚΥΡΟΥ ΒΑΘΜΟΥ Loop If bathmos >= 5 Then Print "ΕΥΓΕ, ΠΕΡΑΣΕΣ!!!" Else Print "ΚΟΠΗΚΕΣ! ΔΙΑΒΑΣΕ ΠΕΡΙΣΣΟΤΕΡΟ!" End If Print "ΤΕΛΟΣ ΑΞΙΟΛΟΓΗΣΗΣ" End Sub

37 Do … Loop Dim Name As String Name = "Μαρία" Do Until Name="Τέλος"
Name = InputBox("Δώσε όνομα ή Τέλος για έξοδο") If Name <> "Τέλος" Then Print Name End If Loop

38 Do … Loop Until Τύπος 4: Do Εντολή(ές) Loop Until Συνθήκη

39 4. Do … Loop Until Συντακτικό Λειτουργικότητα Do
εντολή-a1 εντολή-am Loop Until συνθήκη Λειτουργικότητα Να εκτελείς τις εντολές εντολή-a1 εντολή-am μέχρις ότου ικανοποιηθεί η συνθήκη

40 4. Do … Loop Until Λογικό Διάγραμμα Συντακτικό Do εντολή-a1 …
εντολή-am ΝΑΙ ΟΧΙ Λογικό Διάγραμμα συνθήκη Συντακτικό Do εντολή-a1 εντολή-am Loop Until συνθήκη

41 4. Do Loop … Until: Επιλογή Συνθήκης
εντολή-a1 εντολή-am ΝΑΙ ΟΧΙ Do Loop … Until συνθήκη ΕΓΚΥΡΟΣ ΒΑΘΜΟΣ (bathmos >= 0) And (bathmos <= 10) (bathmos < 0) Or (bathmos > 10) ΑΚΥΡΟΣ ΒΑΘΜΟΣ

42 4. Do … Loop Until Private Sub Command1_Click() Dim bathmos As Single
bathmos = InputBox("ΔΩΣΕ ΒΑΘΜΟ ΣΤΟ ΔΙΑΣΤΗΜΑ [0, 10] ") Print "ΒΑΘΜΟΣ ΠΟΥ ΔΟΘΗΚΕ: " & bathmos Loop Until (bathmos >= 0) And (bathmos <= 10) ' ΕΛΕΓΧΟΣ ΕΓΚΥΡΟΥ ΒΑΘΜΟΥ If bathmos >= 5 Then Print "ΕΥΓΕ, ΠΕΡΑΣΕΣ!!!" Else Print "ΚΟΠΗΚΕΣ! ΔΙΑΒΑΣΕ ΠΕΡΙΣΣΟΤΕΡΟ!" End If Print "ΤΕΛΟΣ ΑΞΙΟΛΟΓΗΣΗΣ" End Sub

43 Do … Loop Dim Name As String Do
Name = InputBox("Δώσε όνομα ή Τέλος για έξοδο") If Name <> "Τέλος" Then Print Name End If Loop Until Name="Τέλος"

44 Άσκηση 2 Να γραφεί πρόγραμμα όπου για κάθε παραγωγό ενός συνεταιρισμού δέχεται σαν είσοδο το όνομά του και την ποσότητα του προϊόντος σε κιλά που παρήγαγε. Η τιμή του προϊόντος είναι 2 € /κιλό. Η εισαγωγή στοιχείων τερματίζεται όταν αντί για όνομα, δοθεί η συνθηματική λέξη “end”. Το πρόγραμμα εμφανίζει : Το όνομα κάθε παραγωγού και το ποσό που αυτός εισέπραξε Το ποσό που εισέπραξαν συνολικά οι παραγωγοί. Τη μέση είσπραξη ανά παραγωγό.

45 Άσκηση 2 Dim Name As String Dim Posotita As Single Dim Poson As Single
Dim Sum As Single Dim Counter As Integer Sum = 0 Counter = 0

46 Άσκηση 2 Do Name = InputBox("Ονοματεπώνυμο")
If Name <> "Telos" Then posotita = InputBox("Ποσότητα παραγωγής") counter=counter +1 poson = 2 * posotita sum = sum + poson Print Name, "Ποσό είσπραξης="; poson End If Loop While Name <> "Telos"

47 Άσκηση 2 Print "Συνολικό ποσό είσπραξης"; sum
Print "Συνολικό ποσό είσπραξης"; sum/counter

48 Άσκηση 3 Σε ένα θερμοκήπιο γίνεται καταγραφή των παραγγελιών. Το  θερμοκήπιο παράγει άνθη, και συγκεκριμένα τριαντάφυλλα, γαρίφαλα και τουλίπες. Για κάθε πελάτη καταγράφονται ο κωδικός του (θετικός ακέραιος), το ονοματεπώνυμό του, και ο αριθμός των λουλουδιών που θέλει να παραγγείλει, από κάθε είδος. Κάθε τριαντάφυλλο κοστίζει 0,5 €, κάθε γαρίφαλο 0.3 € και κάθε τουλίπα 0,6 €.

49 Άσκηση 3 Να γραφεί πρόγραμμα το οποίο:
1. Διαβάζει από το πληκτρολόγιο τα στοιχεία του κάθε πελάτη, καθώς και 3 αριθμούς, που αντιστοιχούν  στον αριθμό των λουλουδιών που θέλει να παραγγείλει, από κάθε είδος. 2. Για κάθε πελάτη υπολογίζει το ποσό που πρέπει να πληρώσει για την παραγγελία του και εμφανίζει στην οθόνη το όνομα του πελάτη, τον κωδικό του και το ποσό αυτό. Η εισαγωγή των δεδομένων τελειώνει όταν ο χρήστης δώσει την τιμή -1 αντί για κωδικό πελάτη.

50 Άσκηση 3 Μετά το τέλος της εισαγωγής των δεδομένων το πρόγραμμα:
3. Υπολογίζει και εμφανίζει το συνολικό ποσό που πρέπει να εισπράξει το θερμοκήπιο από τις παραγγελίες. 4. Υπολογίζει και εμφανίζει το συνολικό αριθμό λουλουδιών από κάθε είδος, που έχουν παραγγελθεί. 5. Υπολογίζει και εμφανίζει τη μεγαλύτερη παραγγελία σε τριαντάφυλλα. 6. Αν ο συνολικός αριθμός λουλουδιών που παραγγέλθηκαν είναι πάνω από , το πρόγραμμα εμφανίζει στην οθόνη το μήνυμα, "Αδυναμία ικανοποίησης των παραγγελιών"

51 Άσκηση 4 Στους παραγωγούς των ενεργειακών φυτών γλυκού σόργου και ελαιοκράμβης χορηγήθηκε οικονομική ενίσχυση για το έτος Να γραφεί πρόγραμμα το οποίο: Α. Για κάθε παραγωγό: Διαβάζει (α) τον ονοματεπώνυμό του (name), (β) τον αριθμό στρεμμάτων (strem) που καλλιεργεί και (γ) το είδος (eidos) της καλλιέργειας (1 για σόργο και 2 για κράμβη). Υποθέτουμε ότι κάθε παραγωγός καλλιεργεί μόνο ένα είδος. Υπολογίζει το χρηματικό ποσό που θα εισπράξει ως ενίσχυση σύμφωνα με τον παρακάτω πίνακα:

52 Άσκηση 4 Καλλιέργεια Ποσό σε € ανά στρέμμα 1 - Σόργο 10 €
2 – Ελαιοκράμβη 20 €

53 Άσκηση 4 Εμφανίζει το ονοματεπώνυμο του παραγωγού και το χρηματικό ποσό που θα εισπράξει. Η εισαγωγή των δεδομένων επαναλαμβάνεται μέχρι να δοθεί ως ονοματεπώνυμο παραγωγού η τιμή «Τέλος». Β. Μετά το τέλος της εισαγωγής των δεδομένων, το πρόγραμμα: Υπολογίζει και εμφανίζει το μέσο όρο του αριθμού των στρεμμάτων σόργου που καλλιεργήθηκαν. Υπολογίζει και εμφανίζει το συνολικό χρηματικό ποσό που θα εισπράξουν οι παραγωγοί που καλλιέργησαν ελαιοκράμβη. Υπολογίζει και εμφανίζει το συνολικό αριθμό στρεμμάτων που καλλιεργήθηκαν.


Κατέβασμα ppt "Βρόχος Do … Loop Σκοπός Μαθήματος Χρήση Do… Loop για την εκτέλεση μιας ομάδας εντολών μέχρι να εκπληρωθεί μια συγκεκριμένη συνθήκη. Αθήνα, 2015."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google