Οι βρόχοι είναι μία από τις βασικές έννοιες της προγραμματισμού. Εξασφαλίζουν ότι ορισμένα τμήματα κώδικα εκτελούνται επανειλημμένα υπό μια συγκεκριμένη συνθήκη. Με τους βρόχους while στη γλώσσα R, ένα τμήμα επαναλαμβάνεται έως ότου η προηγουμένως καθορισμένη συνθήκη καταστεί ψευδής.

Σε τι χρησιμοποιούνται οι βρόχοι while στη γλώσσα R;

Οι βρόχοι while χρησιμοποιούνται για την επαναλαμβανόμενη εκτέλεση ενός τμήματος κώδικα ανάλογα με μια συνθήκη. Όσο η συνθήκη αυτή ισχύει, ο κώδικας στον βρόχο while εκτελείται.

Οι βρόχοι χρησιμοποιούνται συχνά στην προγραμματιστική γλώσσα R για να μάθουμε για τα στοιχεία μιας λίστας R και να εκτελέσουμε συγκεκριμένες ενέργειες σε αυτά ξεχωριστά. Για παράδειγμα, μπορείτε να εμφανίσετε οποιαδήποτε συμβολοσειρά στην οθόνη από μια λίστα συμβολοσειρών R. Επιπλέον, οι βρόχοι while στη γλώσσα R χρησιμοποιούνται για την υπό όρους εκτέλεση κώδικα. Βρόχοι όπως ο βρόχος while αποτελούν τη βάση πολλών γνωστών αλγορίθμων ταξινόμησης που οργανώνουν μια βάση δεδομένων σύμφωνα με συγκεκριμένα κριτήρια.

Δομή και σύνταξη των βρόχων while στη γλώσσα R

Η σύνταξη των βρόχων while στην R είναι παρόμοια με αυτή των βρόχων while στις περισσότερες άλλες γλώσσες προγραμματισμού. Στην κεφαλίδα του βρόχου, η οποία εισάγεται με τη λέξη-κλειδί while, η συνθήκη καθορίζεται σε παρένθεση. Η τελευταία πρέπει να είναι αληθής για να εκτελεστεί το σώμα του βρόχου. Αυτό το σώμα δεν είναι τίποτα περισσότερο από το δικό του μπλοκ κώδικα μετά την κεφαλίδα του βρόχου, που περικλείεται σε αγκύλες.

Για να το επεξηγήσουμε, δημιουργήσαμε ένα παράδειγμα. Αυτό το παράδειγμα βρόχου R δείχνει έναν βρόχο while που εξάγει τιμές από 1 έως 10:

x <- 1
while (x <= 10) {
    print(x)
    x <- x + 1
}
R

Παράδειγμα Bubblesort σε R

Το Bubblesort είναι ένας κλασικός αλγόριθμος ταξινόμησης που χρησιμοποιείται για την ταξινόμηση στοιχείων ενός διανύσματος R ή ενός πίνακα στο R σε αύξουσα σειρά. Σε αυτόν τον αλγόριθμο ταξινόμησης, χρησιμοποιείται ένας βρόχος while για την εκτέλεση του κώδικα ταξινόμησης έως ότου ταξινομηθούν όλα τα στοιχεία του διανύσματος:

bubblesort <- function(x) {
    swapped <- TRUE
    n <- length(x) - 1
    while (swapped) {
        swapped <- FALSE
        for (i in 1:n) {
            if (x[i] > x[i+1]) {
                tmp <- x[i]
                x[i] <- x[i+1]
                x[i+1] <- tmp
                swapped <-TRUE
                }
        }
    }
    return(x)
}
R

Στον παραπάνω κώδικα, δημιουργείται μια συνάρτηση R που ονομάζεται bubblesort. Αυτή εξασφαλίζει ότι ένας αριθμητικός διάνυσμα ταξινομείται σε αύξουσα σειρά. Ο βρόχος while χρησιμοποιείται για την εκτέλεση της διαδικασίας ανταλλαγής, η οποία είναι απαραίτητη για το Bubblesort, μέχρι να ολοκληρωθεί η ταξινόμηση.

Διακοπή βρόχου while στη γλώσσα R

Για να βγείτε πρόωρα από έναν βρόχο while υπό μια συγκεκριμένη συνθήκη, μπορείτε να χρησιμοποιήσετε τη λέξη-κλειδί «break». Αυτό εξασφαλίζει ότι ο βρόχος εγκαταλείπεται και δεν επαναλαμβάνεται. Ακολουθεί ένα παράδειγμα της δήλωσης «break» για να το εξηγήσουμε:

x <- 10
while (x >= 0) {
    print(x)
    if (x == 5) {
        break
        }
        x <- x - 1
}
R

Ο παραπάνω βρόχος εμφανίζει στην οθόνη τους αριθμούς από το 10 έως το 5. Όταν η μεταβλητή «x» φτάσει στην τιμή 5, εκτελείται η συνθήκη «if» της γλώσσας R και ο βρόχος τερματίζεται πρόωρα με την κλήση της εντολής «break».

Άλλα βρόχοι στο R

Ο βρόχος while στην R δεν είναι ο μόνος τύπος βρόχου στην R. Υπάρχει επίσης ο βρόχος for, ο οποίος συχνά θεωρείται ως ένας τύπος βρόχου μέτρησης, και ο βρόχος repeat, ο οποίος χρησιμοποιείται για την εκτέλεση κώδικα πολλές φορές, ανεξάρτητα από μια συνθήκη. Οι βρόχοι repeat πρέπει να τερματίζονται με τη λέξη-κλειδί «break», διαφορετικά είναι ατέρμονες βρόχοι.

Για βρόχο σε R

Οι βρόχοι for χρησιμοποιούνται όταν ο αριθμός των επαναλήψεων είναι γνωστός εκ των προτέρων. Ο αριθμός των επαναλήψεων καθορίζεται ρητά στην κεφαλίδα του βρόχου. Ένας βρόχος for που εξάγει αριθμούς από το 1 έως το 5 έχει την εξής μορφή:

for (z in 1:5) {
print(i)
}
R

Επανάληψη βρόχου σε R

Οι επαναληπτικοί βρόχοι στο R χρησιμοποιούνται για την εκτέλεση κώδικα πολλές φορές, ανεξάρτητα από κάποια συνθήκη. Αν δεν είστε αρχάριος στην προγραμματιστική, πιθανότατα γνωρίζετε τους βρόχους do-while από άλλες γλώσσες προγραμματισμού, όπως η Java. Στο R δεν υπάρχει ρητός βρόχος do-while, όπου ένα κομμάτι κώδικα εκτελείται τουλάχιστον μία φορά. Ωστόσο, η λειτουργικότητα αυτή μπορεί να υλοποιηθεί εύκολα με επαναληπτικούς βρόχους:

x <- 1
repeat {
    print(x)
    if (x >= 10) {
        break
        }
x <- x + 1
}
R

Το παραπάνω παράδειγμα κώδικα εμφανίζει αριθμούς από το 1 έως το 10. Ο κώδικας εκτελείται τουλάχιστον μία φορά (σε έναν κλασικό βρόχο do-while στο «do codeblock») πριν από την εντολή «if», η οποία τερματίζει τον βρόχο εάν η καθορισμένη συνθήκη είναι αληθής. be736e550b1141b116c6745223aecfd7

d1d76d85f27f41c7f98c49bcb7641848

Go to Main Menu