E D R , A S I H C RSS

Full text search for "불변식"

불변식


Search BackLinks only
Display context of search results
Case-sensitive searching
  • Yggdrasil/가속된씨플플/2장 . . . . 10 matches
          * 루프불변식(loop invariant): while문이 그 조건식을 검사하는 매 경우에 대하여 참일 것이라고 가정하는 속성. 처음에 이걸 보고, 이런 개념도 있었냐고 생각했음. 루프불변식은 코드는 아니고 주석에 해당하며, while문이 진행되면서 while문의 제일 처음과 끝에서 루프의 내용이 의도한 대로 돌아간 건지를 정의한 문장이다.(말로 설명하기 애매한 듯...) 하여튼 이것을 쓰는 이유는 루프문을 제대로 설계하기 위해서. 아래의 코드는, 책에 있는 코드로, 불변식의 예이다.
         //불변식: 지금까지 r개의 행을 출력함
         //r을 0으로 세팅하면 불변식을 참으로 만든다
         //여기에서 불변식이 참이라고 가정할 수 있다
         //한행을 출력하면 불변식이 거짓이 된다(바로 아랫줄)
         //r을 증가시키면 불변식을 다시 참으로 만든다
         //여기서 불변식이 참이라고 확신할 수 있다
          * 루프 불변식을 이해하기 쉽다.
  • 루프는0부터? . . . . 6 matches
         === 두번째 이유 : 루프 [불변식]을 더 쉽게 표현할 수 있기 때문이다. ===
         0부터 번호를 매기면 불변식이 더 직관적입니다.
         지금까지 r개의 행을 출력했따고 표현할 수 있기 때문입니다. 만약 1부터 번호를 매긴다면? 이제막 r번째 행을 출력하려는 찰나라고 정의할 수도 있겠지만, 그러한 구문은 불변식으로 정당치 않습니다. 왜냐하면, while이 조건식을 마지막으로 검사할때, rows+1이 되기 때문입니다. 이때 우리가 원하는 것은 rows행만을 출력하는 것 입니다. 따라서 우리는 r번째 행을 막 출력 하려던 것이 아닌 셈이 됩니다. 지금까지 r-1개의 행들을 출력했다고 불변식을 정의할 수도 있을 것입니다. 하지만 불변식을 그런식으로 정의 햇다면, r을 0부터 시작시켜 단순화 시키는 것이 더 낫지 않을까요?
         조건식이 r!=rows라면, 루프가 끝날 때 r==rows라는 사실을 알수 있습니다. 불변식은 r개의 행을 출력했따는 사실을 말해 주기 때문에, 정확히 rows개의 행을 출력했다는 것을 알 수 있습니다. 한편, 만약 조건식이 <=rows라면, 그로부터 알 수 있는 사실은 최소한 rows개의 행을 출력했다는 사실 뿐입니다. 따라서 그 이상을 출력했을 수도 있는 것입니다. 0부터 번호를 매기게 되면 정확히 rows번의 반복을 수행했는지 확실히 하고자 할 때, R!=rows를 조건식으로 사용할 수 있습니다. 또한, 반복횟수가 rows번 또는 그 이상이 되기만을 원한다면, r<rows를 사용할 수 있습니다. 만약 1부터 번호를 매기다면 최소 rows번의 반복만을 원할때 r<=rows를 사용할 수 있습니다. 하지만, rows가 정확한 숫자가 되도록 하려면 어떻게 해야 할까요? 그런 경우에는 좀더 복잡한 조건식인 r==rows+1과 같은 방법을 사용 할수 있습니다. 하지만 이렇게 복잡하게 해서 얻을수 있는 이득은 거의 없습니다.
  • AcceleratedC++/Chapter2 . . . . 5 matches
          r이 처음에 0이니까 while에 진입하는 시점에는 cout을 0번 수행했을테고 따라서 r = 0, 수행횟수 = 0 따라서 불변식은 참
          r이 0이고 cout을 한번 수행하면 r = 0, 수행횟수 = 1 따라서 불변식 거짓
          while의 마지막 전에 r을 1 증가시키므로... r = 1, 수행횟수 = 1 따라서 불변식
          따라서 while의 조건식 비교에서도 r = 1, 수행횟수 =1 따라서 불변식 참...
          또 cout 을 수행하게 된다면 r = 1, 수행횟수 = 2니까 불변식 거짓...
  • AcceleratedC++/Chapter11 . . . . 1 match
          '''클래스 불변식(class invariant)'''
Found 4 matching pages out of 7540 total pages (5000 pages are searched)

You can also click here to search title.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
Processing time 0.3496 sec