blob: 5d510c5ac67c9dc39fd1a6461866b4242d324e04 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
# Цикли
### Цикъл for
```c++
for( <Инициализация(i)>; <Булево условие>; <Актуализация(i)> )
{
<Тяло на цикъла(i)>
}
```
Изпълнението работи така:
1. Изпълнява се инициализацията
2. Проверява се булевото условие;
2.1 ако има стойност **лъжа**, цикълът приключва
2.2 ако има стойност **истина**, се изпълнава 3.
3. Изпълнява се тялото на цикъла.
4. Изпълнява се инкрементацията. Отиваме на точка 2.
### Цикъл while
```c++
while ( <Булево условие> )
{
<Тяло на цикъла>
}
```
Изпълнението работи така:
1. Проверява се булевото условие;
1.1 ако има стойност **лъжа**, цикълът приключва
1.2 ако има стойност **истина**, се изпълнава 2.
2. Изпълнява се тялото на цикъла. Отиваме на 1.
### Цикъл do- while
```c++
do
{
<Тяло на цикъла>
}while ( <Булево условие> );
```
Изпълнението работи така:
1. Изпълнява се тялото на цикъла.
2. Проверява се булевото условие
2.1 ако има стойност **лъжа**, цикълът приключва
2.2 ако има стойност **истина**, отиваме на точка 1.
# Конвертиране на цикли.

### От 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( <Условие> )
{
<Тяло на цикъла>
}
```
Забележка! Предложените начини за преобразуване между цикли са с демонстрационна цел! Спрямо конкретната цитуация може да се постигне такова преобразуване и по много по-прост начин.
|