Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

καλησέρα!!! έχω ένα πρόβλημα σε μια ασκηση στην visual basic.

 

έχω αυτόν τον κώδικα και τα αποτελέσματα... και έχω μπερδευτει..δεν μπορω να καταλάβω πως βγαίνει το αποτέλεσμα.

 

Private Sub Command1_Click()

Dim i, x As Integer

x = 6

For i = 2 To 42 Step 6

If i - 5 < 29 - x Then

MsgBox (CStr(i + 3))

Else

MsgBox (CStr(i * 2))

End If

Next

End Sub

 

τα αποτελέσματα είναι: 5, 11, 17, 23, 52, 64, 76

 

αν μπορεί να μου πει κάποιος την μεθοδολογία.....ειναι αναγκη .

ευχαριστώ!!!!

Δημοσ.

>Private Sub Command1_Click()
Dim i, x As Integer
x = 6
For i = 2 To 42 Step 6 'Το i θα ξεκινήσει από το 2 και θα αυξάνεται κατά 6. Αυτό θα επαναλαμβάνεται όσο η τιμή του i είναι μικρότερη ή ίση από το 42
   If i - 5 < 29 - x Then 'Το x είναι σταθερά, οπότε έχουμε if i<29-6+5 δηλαδή if i<28
       MsgBox (CStr(i + 3)) 'Εμφάνισε μήνυμα με το αποτέλεσμα της πράξης i+3
   Else
       MsgBox (CStr(i * 2))  'Εμφάνισε μήνυμα με το αποτέλεσμα της πράξης i*2
   End If
Next
End Sub

 

Οπότε κατά σειρά έχουμε:

i=2 -> το i είναι μικρότερο από 28, οπότε εμφάνισε το i+3 = 5

Πρόσθεσε στο i το 6 ->i=2+6=8

i=8 -> το i είναι μικρότερο από 28, οπότε εμφάνισε το i+3 = 11

Πρόσθεσε στο i το 6 ->i=8+6=14

i=14 -> το i είναι μικρότερο από 28, οπότε εμφάνισε το i+3 = 17

Πρόσθεσε στο i το 6 ->i=14+6=20

i=20 -> το i είναι μικρότερο από 28, οπότε εμφάνισε το i+3 = 23

Πρόσθεσε στο i το 6 ->i=20+6=26

i=26 -> το i είναι μικρότερο από 28, οπότε εμφάνισε το i+3 = 29 (Εδώ μάλλον μας έχεις πει κάτι λάθος)

Πρόσθεσε στο i το 6 ->i=26+6=32

i=32 -> το i είναι μεγαλύτερο από 28, οπότε εμφάνισε το i*2 = 64

Πρόσθεσε στο i το 6 ->i=32+6=38

i=38 -> το i είναι μεγαλύτερο από 28, οπότε εμφάνισε το i*2 = 76

Πρόσθεσε στο i το 6 ->i=38+6=44

i=44 -> το i είναι μεγαλύτερο από 42, επομένως βγαίνουμε από το loop και τελειώνει η συνάρτηση

Δημοσ.

For i = 2 To 42 Step 6

Το i αρχίζει με τιμή 2 και αυξάνεται κατά 6 κάθε φορά δηλαδή 2, 8, 14, 20 ....

Για την πρώτη φορά

If i - 5 (2-5=(-)3)< 29 - x(29-6=23 ) Then - αληθεύει οπότε

MsgBox (CStr(i + 3)) i(2) =3 = 5

 

Για την πρώτη φορά

If i - 5 (8-5=3)< 29 - x(29-6=23 ) Then - αληθεύει και πάλι οπότε

MsgBox (CStr(i + 3)) i(8) =3 = 11

 

και πάει λέγοντας,κάποια στιγμή το i θα είναι ποιο μεγάλο από το 23 οπότε το i πάει επί 2.

Δημοσ.

@dewn735, @TheELF 10000000 ευχαριστώ!!!!

 

εγώ στο i+3 έβαζα το αποτέλεσμα i-5 αντί για το αρχικο i........ anyway και πάλι ευχαριστώ :-D :-D :-D :-D :-D

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...