zerobinary

July 4th, 2007, 04:53 AM

i don't get what is loop invariant mean

can someone plz help me

can someone plz help me

View Full Version : c++ vocabulary

zerobinary

July 4th, 2007, 04:53 AM

i don't get what is loop invariant mean

can someone plz help me

can someone plz help me

hod139

July 4th, 2007, 07:39 PM

Here is wikipedia's definition: http://en.wikipedia.org/wiki/Loop_invariant

What don't you get?

What don't you get?

zerobinary

July 4th, 2007, 08:13 PM

i don't get what is invariant and

this means a loop invariant is an invariant used to prove properties of loops.

so loop invariant is something that is not changing ???????

and that do they mean by a predicate that will always keeps its truth value throughout a specific sequence of operations, is called (an) invariant to that sequence.

this means a loop invariant is an invariant used to prove properties of loops.

so loop invariant is something that is not changing ???????

and that do they mean by a predicate that will always keeps its truth value throughout a specific sequence of operations, is called (an) invariant to that sequence.

Paul820

July 5th, 2007, 01:21 AM

zerobinary, it tells you in the book what an invariant is. It's chapter 2 - section 2.3.2 'Designing a while statement'. If you read that section he tells you all you need to know.

zerobinary

July 5th, 2007, 04:19 AM

i did he say is something unchange but the point is i don't quite get what did he meant

and i have read it 3 time just don't understand

i know i sounds like a lie but it is the truth i seriously don't get what does he means plz come back and help me plz

I asked because after reading that section i don't get it

they say loop invariant which is a property that we assert will be true about a while each time it is about to test its condition which I still don't get it after reading it more than 3 times plz come back and help

i need ur help and is invariant same as loop invariant because it looks kind of the same in accelerated c++

they give us an example like this in the book

but i still don't get it

//invariant:we have written r rows so far

int r=0

while (r!=rows) {

//we can assume that the invariant is true here

//writing a row of output makes the invariant false

std::cout<<std::endl;

//incrementing r makes the invariant true again

++r;

}

basically i don't get what does their comment mean

and i have read it 3 time just don't understand

i know i sounds like a lie but it is the truth i seriously don't get what does he means plz come back and help me plz

I asked because after reading that section i don't get it

they say loop invariant which is a property that we assert will be true about a while each time it is about to test its condition which I still don't get it after reading it more than 3 times plz come back and help

i need ur help and is invariant same as loop invariant because it looks kind of the same in accelerated c++

they give us an example like this in the book

but i still don't get it

//invariant:we have written r rows so far

int r=0

while (r!=rows) {

//we can assume that the invariant is true here

//writing a row of output makes the invariant false

std::cout<<std::endl;

//incrementing r makes the invariant true again

++r;

}

basically i don't get what does their comment mean

nitro_n2o

July 5th, 2007, 10:55 AM

First of all a predicate is a term used in Logic, which means a statement that is either true or false..

An invariant is not something essential to completely understand in order to program. It's mainly used to verify the correctness of your program in terms of logic and computations. You need this when you are trying to mathematically prove that your program will do what it should do. (YES,it's PAIN)

Simply, and invariant is something you assume it has a certain value, most of the time the value TRUE, before executing the loop and it should hold the same value when the loop is over.

In the while loop example you posted, i think wht they r trying to say is that "r" denotes the number of rows (lines) written to the screen in total..

Assuming that you haven't written anything you started with r=0 (TRUE), then without looking at the loop if you state that r is an invariant that represents number of line written, everybody should believe it.... Why? because, in your implementation you output a line and increment r. Thus, regardless whatever you do, "r" will be the number of line written by the loop

Hope that helps

An invariant is not something essential to completely understand in order to program. It's mainly used to verify the correctness of your program in terms of logic and computations. You need this when you are trying to mathematically prove that your program will do what it should do. (YES,it's PAIN)

Simply, and invariant is something you assume it has a certain value, most of the time the value TRUE, before executing the loop and it should hold the same value when the loop is over.

In the while loop example you posted, i think wht they r trying to say is that "r" denotes the number of rows (lines) written to the screen in total..

Assuming that you haven't written anything you started with r=0 (TRUE), then without looking at the loop if you state that r is an invariant that represents number of line written, everybody should believe it.... Why? because, in your implementation you output a line and increment r. Thus, regardless whatever you do, "r" will be the number of line written by the loop

Hope that helps

Paul820

July 5th, 2007, 01:09 PM

zerobinary, nirto_n2o has explained it for you. Don't worry about it too much. It's not imperative that you learn it but it does help. If you need some more help just ask. I will try to answer the best i can.

zerobinary

July 5th, 2007, 08:35 PM

thx for the help u has offered me and thx i have finally understand what does it mean and thank u for taking ur precious moment to help me

Powered by vBulletin® Version 4.2.2 Copyright © 2019 vBulletin Solutions, Inc. All rights reserved.