PC_MAGAS Δημοσ. 16 Ιουνίου 2022 Δημοσ. 16 Ιουνίου 2022 Στο https://www.tutorialspoint.com/difference-between-for-and-while-loop δείχνει μια διαφορά μεταξύ for loop και while loop Όμως προσπαθώ να σκαρφιστώ ένα παράδειγμα που αναναδυκνύει την διαφορά και να δείχνει ότι και τα 2 έχουν μια χρησιμότητα. Όμως το μυαλό μου έχει βγάλει καπνούς. Έχετες ιδέα πως μπορώ να αναδείξω την διαφορά μςεταξύ for loop και while loop. Δηλαδή ψάχνω ένα κομμάτι κώδικα που δεν μπορεί να λυθεί με for loop αλλά μόνο με while loop. H γλώσσα είναι η PHP.
MastroGiannis Δημοσ. 17 Ιουνίου 2022 Δημοσ. 17 Ιουνίου 2022 For loop It is used only when the number of iterations is known beforehand. While condition It is used only when the number of iterations isn’t known. Το while (condition is true) νομίζω πως δεν μπορείς να το πετύχεις με τη for loop. Για παράδειγμα, το while(!feof($fp)) {...} νομίζω πως δεν μπορεί να αντικατασταθεί με τη for loop.
macabre_sunsets Δημοσ. 17 Ιουνίου 2022 Δημοσ. 17 Ιουνίου 2022 (επεξεργασμένο) 44 λεπτά πριν, MastroGiannis είπε Το while (condition is true) νομίζω πως δεν μπορείς να το πετύχεις με τη for loop. Για παράδειγμα, το while(!feof($fp)) {...} νομίζω πως δεν μπορεί να αντικατασταθεί με τη for loop. Αν και δεν είναι ιδιαίτερο "σωστό", θα μπορούσε ίσως να γίνει κάπως έτσι: for ($i = 0; $i <= 1; $i++) { ... $i = (int)feof($fp); } Επεξ/σία 17 Ιουνίου 2022 από macabre_sunsets
Lanike71 Δημοσ. 17 Ιουνίου 2022 Δημοσ. 17 Ιουνίου 2022 Σε μία κατάσταση τυχαιότητας: Για παράδειγμα, χρήστης δίνει κάποιο αριθμό, όσο δεν είναι ο σωστός, τότε ξανά από την αρχή η διαδικασία.
DrKo Δημοσ. 17 Ιουνίου 2022 Δημοσ. 17 Ιουνίου 2022 (επεξεργασμένο) 8 ώρες πριν, MastroGiannis είπε For loop It is used only when the number of iterations is known beforehand. for (;;) {} Επεξ/σία 17 Ιουνίου 2022 από DrKo 1
k33theod Δημοσ. 17 Ιουνίου 2022 Δημοσ. 17 Ιουνίου 2022 13 ώρες πριν, PC_MAGAS είπε Στο https://www.tutorialspoint.com/difference-between-for-and-while-loop δείχνει μια διαφορά μεταξύ for loop και while loop Όμως προσπαθώ να σκαρφιστώ ένα παράδειγμα που αναναδυκνύει την διαφορά και να δείχνει ότι και τα 2 έχουν μια χρησιμότητα. Όμως το μυαλό μου έχει βγάλει καπνούς. Έχετες ιδέα πως μπορώ να αναδείξω την διαφορά μςεταξύ for loop και while loop. Δηλαδή ψάχνω ένα κομμάτι κώδικα που δεν μπορεί να λυθεί με for loop αλλά μόνο με while loop. H γλώσσα είναι η PHP. Νομίζω δεν υπάρχει περίπτωση που δεν μπορούν να ενναλλαχθούν οπότε μάλλον άδικα ψάχνεις. To while είναι πιο γενικό (μία παράμετρος) οπότε πιο ευέλικτο (προσωπική γνώμη) ενώ το for τρεις παραμέτρους στην τυπική χρήση. Είναι θέμα έκφρασης μόνο γιαυτόν που γράφει και αναγνωσιμότητας γιαυτόν που διαβάζει πχ στο παρακάτω το while είναι πιο "σωστό" while ($input != "exit") {} for(;$input!="exit";) Το for επίσης έχει σε πολλές γλώσσες έχει επεκταθεί συντακτικά για να καταναλώνει iterables px for i in iterable for (i of iterable) η τα διάφορα foreach foreach (iterable_expression as $key => $value) μπορούν να γραφούν και με while αλλά 2
pcmasterrace123 Δημοσ. 17 Ιουνίου 2022 Δημοσ. 17 Ιουνίου 2022 (επεξεργασμένο) 16 ώρες πριν, PC_MAGAS είπε Στο https://www.tutorialspoint.com/difference-between-for-and-while-loop δείχνει μια διαφορά μεταξύ for loop και while loop Όμως προσπαθώ να σκαρφιστώ ένα παράδειγμα που αναναδυκνύει την διαφορά και να δείχνει ότι και τα 2 έχουν μια χρησιμότητα. Όμως το μυαλό μου έχει βγάλει καπνούς. Έχετες ιδέα πως μπορώ να αναδείξω την διαφορά μςεταξύ for loop και while loop. Δηλαδή ψάχνω ένα κομμάτι κώδικα που δεν μπορεί να λυθεί με for loop αλλά μόνο με while loop. H γλώσσα είναι η PHP. Δεν νομίζω να βρεις κάποια περίπτωση ,ίσως σε κάποια συγκεκριμένη γλώσσα προγραμματισμού να υπάρχει κάποιο παράδειγμα (πχ. να μην μπορείς να κάνεις for(;;){}). Αλλά αυτό θα ήταν περισσότερο gimmick. Επεξ/σία 17 Ιουνίου 2022 από pcmasterrace123
vs_skg Δημοσ. 17 Ιουνίου 2022 Δημοσ. 17 Ιουνίου 2022 18 ώρες πριν, PC_MAGAS είπε Στο https://www.tutorialspoint.com/difference-between-for-and-while-loop δείχνει μια διαφορά μεταξύ for loop και while loop Όμως προσπαθώ να σκαρφιστώ ένα παράδειγμα που αναναδυκνύει την διαφορά και να δείχνει ότι και τα 2 έχουν μια χρησιμότητα. Όμως το μυαλό μου έχει βγάλει καπνούς. Έχετες ιδέα πως μπορώ να αναδείξω την διαφορά μςεταξύ for loop και while loop. Δηλαδή ψάχνω ένα κομμάτι κώδικα που δεν μπορεί να λυθεί με for loop αλλά μόνο με while loop. H γλώσσα είναι η PHP. Η χρησιμοτητα δεν πηγαζει απο καποια αμοιβαιως αποκλειστικη λειτουργικοτητα οπως ειπαν, αλλα απο την εκαστοτε μειωση του γνωστικου φορτιου (cognitive load) του προγραμματιστη και του αναγνωστη πχ γινεται while iterable_consumed == False do stuff if end_reached iterable consumed = True αλλα αναμφιβολα το for item in iterable: do stuff ειναι καλυτερο
DrKo Δημοσ. 17 Ιουνίου 2022 Δημοσ. 17 Ιουνίου 2022 20 ώρες πριν, PC_MAGAS είπε Στο https://www.tutorialspoint.com/difference-between-for-and-while-loop δείχνει μια διαφορά μεταξύ for loop και while loop Όμως προσπαθώ να σκαρφιστώ ένα παράδειγμα που αναναδυκνύει την διαφορά και να δείχνει ότι και τα 2 έχουν μια χρησιμότητα. Όμως το μυαλό μου έχει βγάλει καπνούς. Έχετες ιδέα πως μπορώ να αναδείξω την διαφορά μςεταξύ for loop και while loop. Δηλαδή ψάχνω ένα κομμάτι κώδικα που δεν μπορεί να λυθεί με for loop αλλά μόνο με while loop. H γλώσσα είναι η PHP. Ίσως η μόνη περίπτωση που μπορείς να βρεις διαφορά και κάτι να μην γίνεται με for ενώ να γίνεται με while, είναι η χρήση το `do while`. Το `while do` είναι ακριβώς ίδιο με το for. Θα μπορούσε κανείς να προσομοιώσει το `do while` με κάποιες γραμμές πριν το for, αλλά εάν παίξουμε αυτό το παιχνίδι σκέψης, νομίζω πως το for δεν μπορεί να κάνει αυτό που κάνει το `do while`. Συνεχίζοντας όμως την ερώτηση σου, ξέρει κανείς ποιο ήταν πρώτο και γιατί ήρθε το δεύτερο; Δηλαδή, ήταν πρώτο το while και μετά ήρθε το for; Ή το αντίστροφο; Και γιατί ήρθε το δεύτερο; Τι ανάγκη κάλυψε τότε; Και μία ακόμα ερώτηση: Στο condition evaluation part του for, μπορεί να γίνει κλήση συνάρτησης; Φαντάζομαι ένα σενάριο όπως: while(check_if_we_continue()){ ..... } Θα μπορούσε αυτό να γραφτεί με for σαν: for(;check_if_we_continue();){ } ?
PC_MAGAS Δημοσ. 19 Ιουνίου 2022 Μέλος Δημοσ. 19 Ιουνίου 2022 (επεξεργασμένο) Τελικά, το έκανα ποιο απλό, έκανα 2 loops 1 με for και 1 με while και βλέπεις διαφορές στο output. $i=0; while($i < 10){ echo $i; $i++;} while($i < 20){ echo $i; $i++;} Και με for for($i=0;$i<10;$i++){echo $i;} for($i=0;$i<20;$i++){echo $i;} Εκτυπώνω τα output και παίζω spot the difference στην τάξη. Δηλαδή ήθελα να δείξω ότι το for συμπεριφέρετε ελαφρώς διαφορετικά από το while. Επεξ/σία 19 Ιουνίου 2022 από PC_MAGAS
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα