Skip to content

Commit bd3021e

Browse files
committed
Новая версия 7.1
1 parent b1105d2 commit bd3021e

File tree

2 files changed

+72
-9
lines changed

2 files changed

+72
-9
lines changed

lang_c/7/index.md

Lines changed: 71 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,78 @@
11
# Циклические конструкции в языке Си
22

3-
Основное преимущество компьютера перед человеком заключается в том, что он может очень быстро выполнять операции и хранить большие объёмы информации. При этом он не устаёт и не ошибается. Но данными преимуществами ещё нужно научиться грамотно пользоваться. Например, какая польза от того, что компьютер может выполнить миллион операций в секунду, если нам нужно предварительно записать каждую из этого миллиона операций? Сколько времени на это уйдёт? Очевидно, что нам требуется способ записывать много простых операций малыми усилиями, желательно в 2-3 строчки кода. И, конечно, такой способ есть -- это `циклические конструкции (циклы)`.
3+
Основное преимущество компьютера перед человеком заключается в том, что компьютер может очень быстро выполнять операции и хранить большие объёмы информации. При этом он не устаёт и не ошибается. Но этими преимуществами ещё нужно научиться грамотно пользоваться.
44

5-
`Цикл` -- конструкция, которая позволяет указать компьютеру выполнить некоторую последовательность операций много раз.
5+
Например, какая польза от того, что компьютер может выполнить за секунду миллион операций, если нам нужно предварительно прописать в коде каждую из этого миллиона операций? Сколько времени на это уйдёт? Очевидно, что нам требуется способ записывать много простых операций малыми усилиями, желательно в 2-3 строчки кода. И, конечно, такой способ есть -- это =циклические инструкции (циклы)= или на английском =Iteration statements=.
66

7-
В этом уроке мы обсудим, как устроены циклические конструкции в языке Си, и научимся ими пользоваться.
7+
=Цикл= -- специальная конструкция языка, которая используется для многократного повторения одних и тех же действий. В отличие от простого копирования кода, цикл выполняет повторения автоматически, контролируя процесс с помощью условий или счётчиков.
88

9-
В языке Си используются три основных вида циклов:
9+
В языке Си существует три вида циклов:
1010

11-
- цикл со счётчиком `for`
12-
- цикл с предусловием `while`
13-
- цикл с постусловием `do-while`
11+
- цикл со счётчиком `for`;
12+
- цикл с предусловием `while`;
13+
- цикл с постусловием `do-while`.
1414

15-
Мы последовательно разберём каждый из них. Циклические конструкции в языке Си
15+
Цикл `for` обычно используется, когда заранее известно или можно вычислить количество повторений. Если же этого сделать никак нельзя, то на помощь приходят циклы `do` и `do-while`. Они будут повторяться до тех пор, пока будет выполнено заданное программистом условие. Между собой они отличаются тем, в какой момент происходит проверка условия: до выполнения операций или после.
16+
17+
В следующих разделах мы подробно разберём каждый из этих циклов.
18+
19+
Но прежде чем перейти к следующему уроку, хочу проиллюстрировать полезность и мощь циклов. Для иллюстрации возьмём [пример](https://stepik.org/lesson/53872/step/11) из практической части Курса.
20+
21+
Требовалось вывести степени числа `x` с `1` по `5`.
22+
23+
Код без циклических конструкций выглядит так:
24+
Листинг 1.
25+
```c
26+
#include <stdio.h>
27+
28+
int main(void)
29+
{
30+
31+
int x, res = 1;
32+
scanf("%d", &x);
33+
34+
res = res * x;
35+
printf("%d\n", res);
36+
37+
res = res * x;
38+
printf("%d\n", res);
39+
40+
res = res * x;
41+
printf("%d\n", res);
42+
43+
res = res * x;
44+
printf("%d\n", res);
45+
46+
res = res * x;
47+
printf("%d\n", res);
48+
49+
return 0;
50+
}
51+
```
52+
53+
А ниже этот же код, но записанный с помощью цикла `for`. Можете пока не вдаваться в синтаксис цикла `for`, просто сравните объём кода программы.
54+
55+
Листинг 2.
56+
```c
57+
#include <stdio.h>
58+
59+
int main(void)
60+
{
61+
62+
int x, res = 1;
63+
int N = 5; // максмальная степень
64+
65+
scanf("%d", &x);
66+
67+
for (int i = 1; i <= N; i++){
68+
res = res * x;
69+
printf("%d\n", res);
70+
}
71+
72+
return 0;
73+
}
74+
```
75+
76+
Код получился короче, не правда ли? Но это ещё не всё. Задумаемся, а что если бы нам нужно было вывести не `5` степеней, а `25`? В первом случае нам надо было бы добавить в программу ещё `40` строк, а в случае с циклической конструкцией просто поменять значение переменной `N`.
77+
78+
Теперь, немного осознав мощь циклических конструкций, можно переходить к следующему уроку, где мы подробно разберём цикл `for`.

lang_c/7/meta.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"title": "Урок 7: Циклические конструкции в языке Си",
33
"description": "В данном уроке показывается необходимость использования в программировании циклических констукций. Последовательно разбираются три вида циклов, используемых в языке Си.",
4-
"keywords": "циклические конструкции, циклы, цикл for, цикл do-while, цикл while",
4+
"keywords": "циклические инструкции, циклические конструкции, циклы, цикл for, цикл do-while, цикл while",
55
"canonical_link": "https://youngcoder.ru/lessons/7/",
66
"has_glory_hall": false
77
}

0 commit comments

Comments
 (0)