= 2장 = == 잘 모르던 용어, 개념정리 == * 블록: 중괄호로 감싸인 연속적인 구문들 * 루프불변식(loop invariant): while문이 그 조건식을 검사하는 매 경우에 대하여 참일 것이라고 가정하는 속성. 처음에 이걸 보고, 이런 개념도 있었냐고 생각했음. 루프불변식은 코드는 아니고 주석에 해당하며, while문이 진행되면서 while문의 제일 처음과 끝에서 루프의 내용이 의도한 대로 돌아간 건지를 정의한 문장이다.(말로 설명하기 애매한 듯...) 하여튼 이것을 쓰는 이유는 루프문을 제대로 설계하기 위해서. 아래의 코드는, 책에 있는 코드로, 불변식의 예이다. {{{~cpp //불변식: 지금까지 r개의 행을 출력함 int r=0; //r을 0으로 세팅하면 불변식을 참으로 만든다 while(r!=rows) { //여기에서 불변식이 참이라고 가정할 수 있다 //한행을 출력하면 불변식이 거짓이 된다(바로 아랫줄) std::cout< #include using std::cin; using std::cout; using std::endl; using std::string; int main() { int pad_rows, pad_cols; cout<<"Please input blank of rows and cols:"; cin>>pad_rows; cin>>pad_cols; cout<<"Please enter your first name: "; string name; cin>>name; const string greeting="Hello, "+name+"!"; const int rows=pad_rows*2+3; const string::size_type cols=greeting.size()+pad_cols*2+2; cout<-6;i--) std::cout< #include int main() { int sum=1; for(int i=1;i<10;i++) sum*=i; std::cout<