postconditional loop -> βρόχος μετασυνθήκης, βρόχος συνθήκης εξόδου

Pink Panther

  • Hero Member
  • *****
    • Posts: 1675
    • Gender:Female
  • Τσα!
Καλημέρα και καλή βδομάδα.

Καμία ιδέα για το πώς μπορούμε να το μεταφράσουμε; Όλη η πρόταση (ο Θεός να την κάνει!) "Postconditional Loop".


Ευχαριστώ.
« Last Edit: 10 Apr, 2007, 17:55:05 by spiros »
Κάθε που νιώθω μοναξιά, σκέφτομαι πως υπάρχεις
Και θέλω να 'ρθω εκεί κοντά, τίποτα να μην πάθεις




Pink Panther

  • Hero Member
  • *****
    • Posts: 1675
    • Gender:Female
  • Τσα!
Είναι λογισμικό οπότε φαντάζομαι "βρόχο".
Κάθε που νιώθω μοναξιά, σκέφτομαι πως υπάρχεις
Και θέλω να 'ρθω εκεί κοντά, τίποτα να μην πάθεις


zephyrous

  • Hero Member
  • *****
    • Posts: 3698
    • Gender:Male
Conditional loop: Βρόχος υπό συνθήκη
Είναι ο βρόχος που μπορεί να γίνει infinite loop (ατέρμονος βρόχος).
Άρα, "δυνάμει ατέρμονος βρόχος", θα έλεγα.
Έφυγααα!



Pink Panther

  • Hero Member
  • *****
    • Posts: 1675
    • Gender:Female
  • Τσα!
Ευχαριστώ πολύ Γιάννη!
Καλή σου μέρα!
Κάθε που νιώθω μοναξιά, σκέφτομαι πως υπάρχεις
Και θέλω να 'ρθω εκεί κοντά, τίποτα να μην πάθεις


fil

  • Full Member
  • ***
    • Posts: 543
    • Gender:Female
  • I Love Backgammon!!!
Conditional loop: Βρόχος υπό συνθήκη
Είναι ο βρόχος που μπορεί να γίνει infinite loop (ατέρμονος βρόχος).
Άρα, "δυνάμει ατέρμονος βρόχος", θα έλεγα.

Έχω την εντύπωση πως εδώ το "postconditional" έχει να κάνει πιο πολύ με τον έλεγχο των συνθηκών (αν είναι αληθείς ή ψευδείς) κατόπιν εκτελέσεως του μπλοκ των εντολών:

Loop - Αποδίδεται στα ελληνικά με τον όρο βρόχος και είναι ένα σύνολο από εντολές που εκτελούνται είτε συνεχώς μέχρι να πάψει να ισχύει κάποια συνθήκη είτε για έναν καθορισμένο αριθμό επαναλήψεων. Οι εντολές για τη δημιουργία βρόχων είναι οι while, do ... while, for και for ... in...
...Ο βρόχος (loop) for ζητάει από τον υπολογιστή να εκτελέσει μια συγκεκριμένη εργασία έναν ορισμένο αριθμό φορών. Ο βρόχος do ... while εκτελεί μια ομάδα εντολών μία φορά τουλάχιστον και μετά ελέγχει μια συνθήκη και αν αυτή είναι αληθής (true), τότε επαναλαμβάνει την ομάδα εντολών...
...if-else Η εντολή if μας βοηθάει στον έλεγχο μίας λογικής έκφρασης (της συνθήκης) και αν είναι αληθής εκτελούνται μία ή περισσότερες εντολές ενώ αν είναι ψευδής δεν εκτελούνται...
Η εντολή ή εντολές που ακολουθούν το while θα εκτελεστούν όσο η συνθήκη είναι αληθής. Ο βρόχος δηλαδή θα τερματιστεί όταν η συνθήκη - που είναι μία boolean έκφραση - γίνει ψευδής.
...Υπάρχουν κάποιες περιπτώσεις στις οποίες θα θέλαμε οι εντολές μέσα στο βρόχο να εκτελεστούν τουλάχιστον μία φορά και στη συνέχεια να ελεγχθεί η συνθήκη εξόδου. Σ’ αυτές τις περιπτώσεις προτιμάται η χρήση της do-while αντί της while...
...Στην do-while πρώτα εκτελούνται οι εντολές και στη συνέχεια ελέγχεται η συνθήκη. Ο βρόχος τερματίζεται αν η συνθήκη βρεθεί ψευδής...
Η συνθήκη ελέγχεται. Αν είναι αληθής, οι εντολές μέσα στο while εκτελούνται και η
συνθήκη ελέγχεται και πάλι. Οι εντολές μέσα στο while εκτελούνται ενόσω η συνθήκη
είναι αληθής. Όταν η συνθήκη γίνει ψευδής, το while τερματίζει, οι εντολές μέσα σε
αυτό αγνοούνται και το πρόγραμμα συνεχίζει την εκτέλεση του μετά το while

και

There are two primary types of loops in any programming language, I'll call them "pre-conditional" and "post-conditional".
The pre-conditional loops execute a conditional expression first, and if and only if that statement evaluates to true, the contents of the loop are executed. After each execution of the loop, the conditional expression is re-evaluated and until it is false, the contents of the loop will continue to execute.
Always ensure that the conditional will eventually evaluate as false, otherwise you will be stuck within an infinite loop which will never stop executing.
The first type of pre-conditional loop is the "while" loop. The keyword while is used to define the condition, then the loop contents follow, contained within brackets similar to if statements.
The next type of pre-conditional loop in C is the for loop. The for loop is useful when you have a defined number of iterations you want your loop to perform, and you have the counter built into the loop itself.
The C programming language also provides a post-conditional loop. The primary difference of the post-conditional loop is that the conditional comparison occurs after the loop executes, so the loop contents will always execute at least once.
This type of loop is created in C using the do keyword, with the while statement and condition following the loop body. (βλέπε..Στην do-while πρώτα εκτελούνται οι εντολές και στη συνέχεια ελέγχεται η συνθήκη)
do … while loop

The do…while loop can be used till a condition returns false. It looks like this:

do{

            // do something here

} while (condition)

This loop runs one time in any case, whether the condition is true or false. After that it will check for the condition.

και

Pre-conditional loop
The statements in the body are executed as long as the condition presented by the Boolean expression is fulfilled (evaluates to true). The condition is tested before every repeat-cycle is started.
Post-conditional loop
The statements in the loop-body are executed, until the by the boolean expression presented condition is fulfilled. The condition is tested after every repeat-cycle. If the loop is interrupted processing proceeds with the statement following the until. The statements in the loop-body are always executed at least once.

Postconditional loop (the actions in the loop body are executed once and the loop condition occurs afterwards)

while() loop begins by testing its condition, and so, the body of a while() loop executes no, one or many times. In comparison, a do—while() loop automatically executes the body of its loop and then tests its condition. As a result, the body of a do—while() loop executes one or more times

The difference between the do…while and the while…do loops is that the code statements within the do…while loop always execute at least once; expression isn't evaluated until the loop has completed its first cycle. Therefore, such a loop executes at least once, regardless of the value of expression. The while loop evaluates the expression first; therefore, the statements associated with it may not execute at all.

Μια δομή επανάληψης η οποία εκτελείται έπ’ αόριστον ονομάζεται ατέρμων βρόχος...

Το BLOCK εντολών εκτελείται όσο ισχύει η συνθήκη ελέγχου. Αυτό σημαίνει
ότι μπορεί να μην εκτελεστεί ποτέ, εάν κατά τον πρώτο έλεγχο η συνθήκη δεν
αληθεύει. Μπορεί, όμως, να εκτελείται και συνεχώς (ατέρμων βρόχος) όταν, για
παράδειγμα το σετ εντολών δεν επηρεάζει την τιμή της μεταβλητής που βρίσκεται στη
συνθήκη ελέγχου. ...

Α, κι απ' ό,τι βλέπω, το "loop" στην περίπτωση αυτή αποδίδεται ως "βρόχος επανάληψης" ή "επαναληπτικός βρόχος".

δομές ελέγχου επανάληψης: μια τρίτη εντολή επανάληψης που χρησιμοποιεί τις λέξεις κλειδιά do-while
• Η διαφορά της από τις προηγούμενες είναι ότι ελέγχει τη συνθήκη στο τέλος και όχι στην αρχή.

• Η σύνταξη της εντολής do-while είναι η παρακάτω:
do
εντολή;
while (συνθήκη);

Υπάρχουν κάποιες περιπτώσεις στις οποίες θα θέλαμε οι εντολές μέσα στο
βρόχο να εκτελεστούν τουλάχιστον μία φορά και στη συνέχεια να ελεγχθεί η
συνθήκη εξόδου
. Σ’ αυτές τις περιπτώσεις προτιμάται η χρήση της do- while αντί της while.
Στην do-while πρώτα εκτελούνται οι εντολές και στη συνέχεια ελέγχεται η συνθήκη. Ο
βρόχος τερματίζεται αν η συνθήκη βρεθεί ψευδής.
« Last Edit: 15 Jan, 2007, 13:41:26 by fil »


Pink Panther

  • Hero Member
  • *****
    • Posts: 1675
    • Gender:Female
  • Τσα!
Καλημέρα Φιλομήλα,

wow! Ευχαριστώ πολύ. Το φαντάστηκα ότι δεν θα μπορούσα να περιοριστώ σε 2 το πολύ 3 λέξεις. "Ατέρμων βρόχο" βάζουμε το "endless loop". Εάν βάλω "βρόχος μετά από συνθήκη" βγάζει κανένα νόημα ή....;
Κάθε που νιώθω μοναξιά, σκέφτομαι πως υπάρχεις
Και θέλω να 'ρθω εκεί κοντά, τίποτα να μην πάθεις


zephyrous

  • Hero Member
  • *****
    • Posts: 3698
    • Gender:Male
Quote
Α, κι απ' ό,τι βλέπω, το "loop" στην περίπτωση αυτή αποδίδεται ως "βρόχος επανάληψης" ή "επαναληπτικός βρόχος".

Φιλομήλα, προφανώς εννοείς τον "ατέρμονο βρόχο", γιατί αυτός έχει πάντοτε αληθή έκφραση (TRUE).
Όλα αυτά που αναφέρεις είναι από τη γλώσσα C, με την οποία πρόσφατα ξεκίνησα μια ερωτική σχέση (μάλλον μας οδηγεί σε γάμο).
Προς το παρόν, τα φώτα μου είναι περιορισμένα. :)
Απλώς έκανα μια πρόταση σύμφωνα με όσα έχω κατανοήσει μέχρι τώρα. ;)


zephyrous

  • Hero Member
  • *****
    • Posts: 3698
    • Gender:Male
Quote
Εάν βάλω "βρόχος μετά από συνθήκη" βγάζει κανένα νόημα ή....;

Χριστίνα, σε πανεπιστημιακό μάθημα διδάσκονται τα εξής:
Βρόχος όσο ικανοποιείται μια συνθήκη
Βρόχος με σταθερό αριθμό επαναλήψεων
Βρόχος μέχρι να ικανοποιηθεί μια συνθήκη
Με άλλα λόγια, έχεις ευελιξία στην περιγραφική απόδοση. ;)


Pink Panther

  • Hero Member
  • *****
    • Posts: 1675
    • Gender:Female
  • Τσα!
Σας ευχαριστώ πολύ και τους δύο. Θα βάλω έναν όρο ενδεικτικά στο γλωσσάρι μέχρι να μπει κάποιος μοδεράτορας ή κάποια μοδερατόρισα και να το αλλάξει προς το καλύτερο όφελος όλων μας.

Κάθε που νιώθω μοναξιά, σκέφτομαι πως υπάρχεις
Και θέλω να 'ρθω εκεί κοντά, τίποτα να μην πάθεις


Pink Panther

  • Hero Member
  • *****
    • Posts: 1675
    • Gender:Female
  • Τσα!
Τελικά έβαλα δύο μεταφράσεις! Δεν πειράζει, ε; ;-))))
Κάθε που νιώθω μοναξιά, σκέφτομαι πως υπάρχεις
Και θέλω να 'ρθω εκεί κοντά, τίποτα να μην πάθεις


zephyrous

  • Hero Member
  • *****
    • Posts: 3698
    • Gender:Male
Ουπς! Χριστίνα, όταν παρέθεσα τις τρεις φράσεις λίγο παραπάνω, δεν εννοούσα ότι αναφέρονται όλες στο postconditional. Sorry. Απλώς ήθελα να δείξω ότι, αν δεν επιλέξεις το "δυνάμει ατέρμονος βρόχος" (ή κάτι αντίστοιχο), μπορείς να κινηθείς μεταξύ περιγραφικών αποδόσεων. :)
Ελπίζω κάποιος πιο σχετικός (π.χ. Μίνα) να μας διαφωτίσει.
« Last Edit: 15 Jan, 2007, 13:49:34 by zephyrous »


Pink Panther

  • Hero Member
  • *****
    • Posts: 1675
    • Gender:Female
  • Τσα!
Ουπς! Συγγνώμη! Είμαι τόσο ζαλισμένη που τώρα που το λες κατάλαβα τι εννοούσες! Ωραία, λοιπόν. Πάω να σβήσω τους όρους από το subject. Ήσουν πολύ ξεκάθαρος στην απάντηση αλλά κάτι που δεν διάβασα προσεχτηκά κάτι που θέλω τόσο πολύ μία μετάφραση για τον όρο, χάθηκα!
Κάθε που νιώθω μοναξιά, σκέφτομαι πως υπάρχεις
Και θέλω να 'ρθω εκεί κοντά, τίποτα να μην πάθεις


fil

  • Full Member
  • ***
    • Posts: 543
    • Gender:Female
  • I Love Backgammon!!!
Ε-Π-Ι-Τ-Ε-Λ-Ο-Υ-Σ!!! Τι πώρωση, θα' σκαγα αν δεν το εντόπιζα!

Η while είναι βρόχος συνθήκης εισόδου, δηλαδή η συνθήκη εξετάζεται πρώτα και μόνο αν είναι αληθής, εκτελούνται οι εντολές του βρόχου.  Υπάρχουν και βρόχοι συνθήκης εξόδου, όπου οι εντολές εκτελούνται πρώτα και μετά ελέγχεται η συνθήκη για έξοδο από το βρόχο.(http://www.edu.physics.uoc.gr/~ph251/files/c/Notes4.htm)

Ο Βρόχος Do While

Είδαμε ότι ο βρόχος while και ο βρόχος for είναι και οι δύο βρόχοι συνθήκης εισόδου. Η C έχει και έναν βρόχο συνθήκης εξόδου, στον οποίο η συνθήκη ελέγχεται μετά από κάθε επανάληψη του βρόχου. Αυτός είναι ο βρόχος do while.

Η πρόταση do while  δημιουργεί έναν βρόχο που επαναλαμβάνεται μέχρι η συνθήκη ελέγχου να γίνει ψευδής ή μηδέν. Ο βρόχος do while είναι ένας βρόχος συνθήκης εξόδου, δηλ. η απόφαση για μια ακόμα επανάληψη παίρνεται μετά από κάθε εκτέλεση του βρόχου. Ένας βρόχος do while εκτελείται πάντα τουλάχιστον μία φορά, αφού ο έλεγχος γίνεται μετά την εκτέλεση του σώματος του βρόχου. Από την άλλη μεριά, ένας βρόχος for ή ένας βρόχος while μπορεί να μην εκτελεστεί καμία φορά, αφού ο έλεγχος γίνεται πριν από την εκτέλεση της εντολής.

Το φαινομενικό αυτό ελάττωμα που έχει ο βρόχος do while, ότι δηλ. εκτελείται τουλάχιστον μία φορά και ίσως και όταν δεν χρειάζεται, είδαμε ότι πολύ εύκολα μπορεί να διορθωθεί με χρήση της εντολής if μέσα στον βρόχο.
(http://dide.flo.sch.gr/Plinet/Tutorials/Tutorials-C-Part-2.html)

Προτιμήστε το βρόχο επανάληψης συνθήκης εισόδου (while) από τον αντίστοιχο συνθήκης εξόδου (do-while) γιατί οδηγεί σε πιο ευανάγνωστο κώδικα (http://anamorfosi.teiser.gr/paradotea/d_3_1/programming1/pps/lecture_11.pps)
« Last Edit: 15 Jan, 2007, 14:03:20 by fil »


zephyrous

  • Hero Member
  • *****
    • Posts: 3698
    • Gender:Male
Εύγε, Φιλ. Άμα μάθω C λίγο καλύτερα, θα σου γράψω ένα μικρό πρόγραμμα για τάβλι (do-while-translating). :)


 

Search Tools