diff options
Create README.md
1 files changed, 96 insertions, 0 deletions
| -rw-r--r-- | Sem. 03/README.md | 96 |
diff --git a/Sem. 03/README.md b/Sem. 03/README.md new file mode 100644 index 0000000..72fa27f --- /dev/null +++ b/Sem. 03/README.md @@ -0,0 +1,96 @@ +# Цикли +### Цикъл for + +```c++ + +for(Инициализация(i)>; <Булево условие>; <Актуализация(i)> ) +{ +<Тяло на цикъла(i)>; +} + + ``` +### Цикъл while +```c++ +while (<Булево условие>) +{ +<Тяло на цикъла>; +} + ``` +Изпълнението работи така: +1. Проверява се булевото условие; + 1.1 ако има стойност **лъжа**, цикълът приключва + 1.2 ако има стойност **истина**, се изпълнава 2. +2. Изпълнява се тялото на цикъла. Отиваме на 1. + +### Цикъл do- while +```c++ +**do** +{ +<Тяло на цикъла> +}while (<Булево условие>); + ``` + Изпълнението работи така: +1. Изпълнява се тялото на цикъла. +2. Проверява се булевото условие + 2.1 ако има стойност **лъжа**, цикълът приключва + 2.2 ако има стойност **истина**, отиваме на точка 1. + +# Конвертиране на цикли. +```mermaid +graph LR +A[While] --> B((do-while)) +A --> C(for) +B --> A +B --> C +C --> A +C --> B +``` +### От for към while. +```c++ +// for-loop +for(int i = 0; i < 10; i++) +{ +<Тяло> +} + +// For loop converted to while loop +int i = 0; //Инициализация +while(i < 10) +{ + <Тяло> + i++; // Актуализация +} + ``` +### От while към for. + +```c++ + +// while loop +while(*str != '\0') +{ + <Тяло> + ++str; +} + + +// while loop converted to for loop +for(; *str != '\0'; ++str) +{ + <Тяло> +} + ``` + ### От do-while към while. +```c++ +// do-while loop +do +{ +<Тяло> +} while (<Условие>); + +// do-while loop converted to while loop +<Тяло> +**while**(<Условие>) +{ +<Тяло> +} + ``` |
