• Инструкция за цикъл for Предназначение: Реализира цикъл с предусловие. Синтаксис: for (израз1 ; израз2 ; израз3 ) инструкция1; for – ключовa думa /за/. Израз1 задава началната стойност на параметъра на цикъла. Примери за инициализация на параметъра i: - чрез присвояване: i = 0 - чрез дефиниране и присвояване int i =1 - чрез дефиниране и присвояване на няколко променливи, например int i = 0, S = 0 - чрез въвеждане на стойност на променлива, например cin>>i. Израз2 задава прекъсващото условие, например: i < = 10. Израз3 задава актуализацията на параметъра на цикъла, например: i = i+1 или i++. Трите израза се отделят с точка и запетая и се заграждат в кръгли скоби. Инструкция1 задава тялото на цикъла. Тя може да се замени с блок. Изпълнение: 1. Извършва се инициализацията /израз1/; 2. Изчислява се прекъсващото условие / израз2/. Ако израз2 е равен на 0 , се излиза от цикъла. Ако израз2 е различен от 0, се изпълнява тялото на цикъла /инструкция1 или блока /; 3. Извършва се актуализацията на параметъра на цикъла /израз3/; 4. Преминава се към т. 2. Пример: Да се изчисли сумата на числата от 1 до 10: Възможно е инструкцията for да не съдържа нито една инструкция в тялото си. Тогава се записва задължително празна инструкция: // намира сумата на числата от 1 до 10 for( int i = 1, Sum = 0; i<= 10; Sum+=i, i++) ; // празна инструкция Възможно е също и трите израза в заглавието на for да липсват. Точките и запетайките се записват задължително: for( ; ; ) инструкция1; Инициализацията може да се изнесе преди for: int i = 0, Sum = 0; for( ; i< =5; i++) Sum +=i; В случай, че липсва прекъсващото условие, се приема, че то е различно от 0. Излизането от цикъла в този случай става принудително: for(int i = 0, Sum = 0; ; i++) { Sum += i; if(i= =5) break; } Актуализацията може да се зададе и в тялото на цикъла: for(int i = 0, Sum = 0; i < = 5 ; ) { Sum += i; i = i+1; // актуализация } Параметърът на цикъла при инструкцията for трябва да бъде променлива от скаларен тип /int, float, double, char, bool, изброяване/. Следващият код извежда кодовете ASCII на символите ‘A’ до ‘Z’: for( char letter = 'A'; letter < = 'Z'; letter++) cout << " код ASCII на " << letter << " : " << (int)letter << endl; |