Значение слова «цикл»

Определение и краткая характеристика

В общем смысле цикл — это повторяющаяся последовательность событий. Есть и более специальные определения. Например, этим же термином могут обозначать совокупность литературных, музыкальных или других произведений, объединенных общей идеей. В математике циклами называют замкнутую последовательность смежных ребер графа. В химии этот термин также присутствует. В этой области цикл — это определенная конфигурация атомов в молекуле, при которой они образуют замкнутую ломаную линию. Есть такое понятие и в маркетинге. В этой дисциплине обычно говорят про этапы жизненного цикла того или иного товара. Так что это понятие используется во многих областях науки. И все-таки чаще всего можно услышать такое словосочетание, как деловой или экономический цикл. Что же это значит?

Что такое менструальный цикл?

Менструальный цикл – это ежемесячные изменения в женском организме, обеспечивающие возможность зачатия. Продолжительность цикла исчисляется количеством дней от первого дня менструального кровотечения до начала следующей менструации. Длина цикла у разных женщин может варьировать от 21 до 35 дней, т.е. от 3 до 5 недель (в среднем — 28 суток). Количество дней между менструациями зависит от индивидуальных особенностей женского организма.

Причины удлинения менструации:

  • гормональный сбой;
  • опухоли матки;
  • гиперплазия эндометрия;
  • осложнения при приеме оральных контрацептивов;
  • послеродовой период;
  • выкидыш или аборт;
  • патология свертывающей системы крови.

Определение и краткая характеристика

В общем смысле цикл — это повторяющаяся последовательность событий. Есть и более специальные определения. Например, этим же термином могут обозначать совокупность литературных, музыкальных или других произведений, объединенных общей идеей. В математике циклами называют замкнутую последовательность смежных ребер графа. В химии этот термин также присутствует. В этой области цикл — это определенная конфигурация атомов в молекуле, при которой они образуют замкнутую ломаную линию. Есть такое понятие и в маркетинге. В этой дисциплине обычно говорят про этапы жизненного цикла того или иного товара. Так что это понятие используется во многих областях науки. И все-таки чаще всего можно услышать такое словосочетание, как деловой или экономический цикл. Что же это значит?

Производители

На российском рынке представлено много торговых марок, которые предлагают детские коляски- отменного качества

Каждый производитель уделяет особое внимание практичности, безопасности и внешнему виду моделей

Doona (Donna). Данная торговая марка первая представила прогулочные коляски два в одном на отечественном рынке. Продукция компании сразу же произвела фурор в данном сегменте. Модели от указанного бренда пользуются большим спросом не только в России, но и далеко за ее пределами. В каталоге продукции представлен богатый ассортимент разнообразных моделей на любой вкус. На выбор покупателей модели для новорожденных и детей от года.

Виды циклов

Безусловные циклы

Иногда в программах используются циклы, выход из которых не предусмотрен логикой программы. Такие циклы называются безусловными, или бесконечными. Специальных синтаксических средств для создания бесконечных циклов, ввиду их нетипичности, языки программирования не предусматривают, поэтому такие циклы создаются с помощью конструкций, предназначенных для создания обычных (или условных) циклов. Для обеспечения бесконечного повторения проверка условия в таком цикле либо отсутствует (если позволяет синтаксис, как, например, в цикле языка Ада), либо заменяется константным значением ( в ). В языке С используется цикл с незаполненными секциями или цикл .

Цикл с предусловием

Цикл с предусловием — цикл, который выполняется, пока истинно некоторое условие, указанное перед его началом. Это условие проверяется до выполнения тела цикла, поэтому тело может быть не выполнено ни разу (если условие с самого начала ложно). В большинстве процедурных языков программирования реализуется оператором while, отсюда его второе название — while-цикл.
На языке Pascal цикл с предусловием имеет следующий вид:

while <условие> do
begin   
  <тело цикла> 
end;

На языке Си:

while (<условие>) {
   <тело цикла>
}

Цикл с постусловием

Цикл с постусловием — цикл, в котором условие проверяется после выполнения тела цикла. Отсюда следует, что тело всегда выполняется хотя бы один раз. В языке Паскаль этот цикл реализует оператор ; в Си — .

На языке Pascal цикл с постусловием имеет следующий вид::

repeat
    <тело цикла>
until <условие выхода>

На языке Си:

do {
    <тело цикла>
} while (<условие продолжения цикла>)

В трактовке условия цикла с постусловием в разных языках есть различия. В Паскале и языках, произошедших от него, условие такого цикла трактуется как условие выхода (цикл завершается, когда условие истинно, в русской терминологии такие циклы называют ещё «цикл до»), а в Си и его потомках — как условие продолжения (цикл завершается, когда условие ложно, такие циклы иногда называют «цикл пока»).

Цикл с выходом из середины

Цикл с выходом из середины — наиболее общая форма условного цикла. Синтаксически такой цикл оформляется с помощью трёх конструкций: начала цикла, конца цикла и команды выхода из цикла. Конструкция начала маркирует точку программы, в которой начинается тело цикла, конструкция конца — точку, где тело заканчивается. Внутри тела должна присутствовать команда выхода из цикла, при выполнении которой цикл заканчивается и управление передаётся на оператор, следующий за конструкцией конца цикла. Естественно, чтобы цикл выполнился более одного раза, команда выхода должна вызываться не безусловно, а только при выполнении условия выхода из цикла.

Принципиальным отличием такого вида цикла от рассмотренных выше является то, что часть тела цикла, расположенная после начала цикла и до команды выхода, выполняется всегда (даже если условие выхода из цикла истинно при первой итерации), а часть тела цикла, находящаяся после команды выхода, не выполняется при последней итерации.

Легко видеть, что с помощью цикла с выходом из середины можно легко смоделировать и цикл с предусловием (разместив команду выхода в начале тела цикла), и цикл с постусловием (разместив команду выхода в конце тела цикла).

Часть языков программирования содержат специальные конструкции для организации цикла с выходом из середины. Так, в языке Ада для этого используется конструкция и команда выхода или :

LOOP
  ... Часть тела цикла
  EXIT WHEN <условие выхода>;
  ... Часть тела цикла
  IF <условие выхода> THEN 
    EXIT; 
  END;
  ... Часть тела цикла
END LOOP

Здесь внутри цикла может быть любое количество команд выхода обоих типов. Сами команды выхода принципиально не различаются, обычно применяют, когда проверяется только условие выхода, а просто  — когда выход из цикла производится в одном из вариантов сложного условного оператора.

В тех языках, где подобных конструкций не предусмотрено, цикл с выходом из середины может быть смоделирован с помощью любого условного цикла и оператора досрочного выхода из цикла (такого, как в Си, exit в Турбо Паскале и т. п.), либо оператора безусловного перехода .

Цикл со счётчиком (или цикл для)

Цикл со счётчиком — цикл, в котором некоторая переменная изменяет своё значение от заданного начального значения до конечного значения с некоторым шагом, и для каждого значения этой переменной тело цикла выполняется один раз. В большинстве процедурных языков программирования реализуется оператором , в котором указывается счётчик (так называемая «переменная цикла»), требуемое количество проходов (или граничное значение счётчика) и, возможно, шаг, с которым изменяется счётчик. Например, в языке такой цикл имеет вид:

 FOR v := b TO e BY s DO
   ... тело цикла
 END 

здесь v — счётчик, b — начальное значение счётчика, e — граничное значение счётчика, s — шаг).

Неоднозначен вопрос о значении переменной по завершении цикла, в котором эта переменная использовалась как счётчик. Например, если в программе на языке Паскаль встретится конструкция вида:

i := 100;
for i :=  to 9 do
begin
  ... тело цикла
end;
k := i;

возникает вопрос: какое значение будет в итоге присвоено переменной k: 9, 10, 100, может быть, какое-то другое? А если цикл завершится досрочно? Ответы зависят от того, увеличивается ли значение счётчика после последней итерации и не изменяет ли транслятор это значение дополнительно. Ещё один вопрос: что будет, если внутри цикла счётчику будет явно присвоено новое значение? Различные языки программирования решают данные вопросы по-разному. В некоторых поведение счётчика чётко регламентировано. В других, например, в том же Паскале, стандарт языка не определяет ни конечного значения счётчика, ни последствий его явного изменения в цикле, но не рекомендует изменять счётчик явно и использовать его по завершении цикла без повторной инициализации. Программа на Паскале, игнорирующая эту рекомендацию, может давать разные результаты при выполнении на разных системах и использовании разных трансляторов.

Радикально решён вопрос в языке Ада: счётчик считается описанным в заголовке цикла, и вне его просто не существует. Даже если имя счётчика в программе уже используется, внутри цикла в качестве счётчика используется отдельная переменная. Счётчику запрещено явно присваивать какие бы то ни было значения, он может меняться только внутренним механизмом оператора цикла. В результате конструкция

i := 100;
for i in (.9) loop
  ... тело цикла
end loop;
k := i;

внешне аналогичная вышеприведённому циклу на Паскале, трактуется однозначно: переменной k будет присвоено значение 100, поскольку переменная i, используемая вне данного цикла, не имеет никакого отношения к счётчику i, который создаётся и изменяется внутри цикла. Подобное обособление счётчика удобно и безопасно: не требуется отдельное описание для него и минимальна вероятность случайных ошибок, связанных со случайным разрушением внешних по отношению к циклу переменных. Если программисту требуется включить в готовый код цикл со счётчиком, то он может не проверять, существует ли переменная с именем, которое он выбрал в качестве счётчика, не добавлять описание нового счётчика в заголовок соответствующей процедуры, не пытаться использовать один из имеющихся, но в данный момент «свободных» счётчиков. Он просто пишет цикл с переменной-счётчиком, имя которой ему удобно, и может быть уверен, что никакой коллизии имён не произойдёт.

Цикл со счётчиком всегда можно записать как условный цикл, перед началом которого счётчику присваивается начальное значение, а условием выхода является достижение счётчиком конечного значения; к телу цикла при этом добавляется оператор изменения счётчика на заданный шаг. Однако специальные операторы цикла со счётчиком могут эффективнее транслироваться, так как формализованный вид такого цикла позволяет использовать специальные процессорные команды организации циклов.

Никлаус Вирт одно время называл цикл со счётчиком «маргинальным», утверждая, что такая конструкция является излишней и должна быть исключена из синтаксиса языков программирования как несистемная. В соответствии с этим представлением в языке программирования Оберон цикла со счётчиком не было. Однако в языке Оберон-2, созданном Виртом и Мёссенбёком в развитие Оберона, цикл со счётчиком появился снова в интересах практического удобства использования.

В некоторых языках, например, Си и других, произошедших от него, цикл , несмотря на синтаксическую форму цикла со счётчиком, в действительности является циклом с предусловием. То есть в Си конструкция цикла:

for (i = ; i < 10; ++i)
{
  ... тело цикла 
}

фактически представляет собой другую форму записи конструкции:

i = ;
while (i < 10)
{
  ... тело цикла 
  ++i;
}

То есть в конструкции сначала пишется произвольное предложение инициализации цикла, затем — условие продолжения и, наконец, выполняемая после каждого тела цикла некоторая операция (это не обязательно должно быть изменение счётчика; это может быть правка указателя или какая-нибудь совершенно посторонняя операция). Для языков такого вида вышеописанная проблема решается очень просто: переменная-счётчик ведёт себя совершенно предсказуемо и по завершении цикла сохраняет своё последнее значение.

Совместный цикл

Ещё одним вариантом цикла является цикл, задающий выполнение некоторой операции для объектов из заданного множества, без явного указания порядка перечисления этих объектов. Такие циклы называются совместными (а также циклами по коллекции, циклами просмотра) и представляют собой формальную запись инструкции вида: «Выполнить операцию X для всех элементов, входящих во множество M». Совместный цикл, теоретически, никак не определяет, в каком порядке операция будет применяться к элементам множества, хотя конкретные языки программирования, разумеется, могут задавать конкретный порядок перебора элементов. Произвольность даёт возможность оптимизации исполнения цикла за счёт организации доступа не в заданном программистом, а в наиболее выгодном порядке. При наличии возможности параллельного выполнения нескольких операций возможно даже распараллеливание выполнения совместного цикла, когда одна и та же операция одновременно выполняется на разных вычислительных модулях для разных объектов, при том, что логически программа остаётся последовательной.

Совместные циклы имеются в некоторых языках программирования (C#, Eiffel, Java, JavaScript, Perl, Python, PHP, LISP, Tcl и др.) — они позволяют выполнять цикл по всем элементам заданной коллекции объектов. В определении такого цикла требуется указать только коллекцию объектов и переменную, которой в теле цикла будет присвоено значение обрабатываемого в данный момент объекта (или ссылка на него). В различных языках программирования синтаксис оператора различен:

C++:

for (type &item  set) //поддерживается, начиная со стандарта C++11
{
    //использование item
}

C#:

foreach (type item in set) 
{
    //использование item
}

Delphi:

for item in 1..100 do
begin
  //Использование item (Работоспособность кода проверялась в Delphi 2010) 
end;

Perl (строгий порядок «от первого до последнего»):

foreach (@set) 
{
    #использование $_
}
# или
for (@set) 
{
    #использование $_
}
# или
foreach $item (@set) 
{
    #использование $item
}

Eiffel:

across set as cursor loop
    -- использование cursor.item
end

Java:

for (type item  set) 
{
    //использование item
}

JavaScript:

for (txtProperty in objObject)
  {
  /*
  использование:
  objObject 
  */
  }

PHP:

foreach ($arr as $item) {
    /* использование $item*/
}
//или
foreach ($arr as $key=>$value) {
    /* использование значений индекса $key и его значения $value*/
}

Visual Basic.NET:

For Each item As type In set
    'использование item
Next item

Windows PowerShell:

foreach ($item in $set) {
  # операции с $item
} 

или

$set | ForEach-Object {
  # операции с $_
}
for item in iterator_instance
    # использование item

Причины появления циклов

Экономика никогда не бывает стабильной. Она постоянно изменяется, деньги постоянно циркулируют и движутся порой сильно влияя на показатели в экономике.

Причины экономических циклов можно условно разделить на два типа

  • Внешние. Например, войны, санкции, резкие колебания цен на сырьевые товары, появление новых технологий.
  • Внутренние. Конкуренция внутри рынка, экономическая политика страны, стабильность национального курса валюты, спрос и предложение, инвестиционный климат, уровень инфляции, сезонный фактор сельского хозяйство и прочее.

Есть две точки зрения:

  • Детерминистская основана на вполне предсказуемых факторах формирующихся при росте и падении.
  • Стохастическая говорит, что циклы носят случайны характер в результате потрясений. Образуется мощный импульс, который и толкает дальнейшее развитие экономики либо еще больше расти, либо еще больше падать.

Цикл и зачатие

Для наступления желанной беременности партнерам следует ориентироваться на овуляцию в середине цикла. Яйцеклетка способна к оплодотворению в течение 24 часов после выхода из яичника. Сперматозоиды живут внутри женского организма до недели после последнего полового акта. Поэтому благоприятным периодом для зачатия специалисты считают день овуляции и 3-7 дней до нее.

Базальная температура

Измерение базальной температуры помогает точнее определить день овуляции. Правильное измерение базальной температуры проводится сразу после пробуждения утром во рту, в прямой кишке или во влагалище. Сон перед измерением должен длиться не менее трех часов.

О наступлении овуляции говорит повышение температуры выше 37 градусов. Для точного прогноза даты овуляции нужно измерять базальную температуру в течение по меньшей мере трех циклов и составлять ее график.

Циклы с несколькими охраняемыми ветвями

Цикл Дейкстры

В теории программирования известна ещё одна, принципиально отличающаяся от «классических», форма циклической конструкции, получившая название «цикл Дейкстры», по имени Эдсгера Дейкстры, впервые её описавшего. В классическом дейкстровском описании такой цикл выглядит следующим образом:

 do
   P1 → S1,
     …
   Pn → Sn
 od

Здесь  — маркер начала конструкции цикла,  — маркер завершения конструкции цикла, Pi — iохраняющее условие (логическое выражение, которое может иметь значение «истинно» или «ложно»), Si — iохраняемая команда. Цикл состоит из одной или нескольких ветвей (охраняемых выражений), каждая из которых представляет собой пару из охраняющего условия (или, коротко, «охраны») и охраняемой команды (понятно, что в реальности команда может быть сложной).

При выполнении цикла Дейкстры в каждой итерации происходит вычисление охраняющих условий. Если хотя бы одно из них истинно, выполняется соответствующая охраняемая команда, после чего начинается новая итерация (если истинны несколько охраняющих условий, выполняется только одна охраняемая команда). Если все охраняющие условия ложны, цикл завершается. Нетрудно заметить, что цикл Дейкстры с одним охраняющим условием и одной охраняемой командой представляет собой, по сути, обычный цикл с предусловием (цикл «пока»).

Хотя цикл Дейкстры был изобретён ещё в 1970-х годах, специальных конструкций для его создания в языках программирования не содержится. Единственным исключением стал недавно созданный  — первый реальный язык программирования, явно поддерживающий цикл с несколькими охраняемыми ветвями. Впрочем, цикл Дейкстры может быть без больших затруднений смоделирован с помощью традиционных конструкций структурных языков программирования. Вот пример его реализации одним из возможных способов на языке Ада:

loop
  if P1 then 
    S1;
    ...
  elsif Pn then 
    Sn;
  else
    exit;
  end if;
end loop;

Здесь P1—Pn — охраняющие условия, а S1—Sn — соответствующие охраняемые команды.

Цикл Дейкстры удобен при реализации некоторых специфических повторяющихся вычислений, которые неудобно описывать с помощью более традиционных циклических конструкций. Например, этим циклом естественно представляется конечный автомат — каждая ветвь соответствует одному состоянию автомата, охраняемые условия строятся так, чтобы в текущей итерации выбиралась ветвь, соответствующая текущему состоянию автомата, а код охраняемой команды обеспечивает выполнение вычислений в текущем состоянии и переход в следующее (то есть такое изменение переменных, после которого на следующей итерации будет истинным охраняющее условие нужной ветви).

Цикл «паук»

Легко видеть, что цикл Дейкстры не содержит явного условия продолжения или выхода, что не всеми теоретиками программирования рассматривается как благо. Поэтому была предложена усложнённая конструкция цикла Дейкстры, получившая название «цикл-‘паук’». В той же нотации она выглядит следующим образом:

 do
   P1→S1,
     …
   Pn→Sn
 out
   Q1→T1,
     …
   Qn→Tn
 else
   E
 od

Здесь после маркера добавлены ветви завершения, состоящие из условий выхода Qi и команд завершения Ti. Кроме того, добавлена ветвь альтернативного завершения с командой E.

Цикл-‘паук’ выполняется так:

  • Вычисляются охраняющие условия. Если существует истинное охраняющее условие, выполняется соответствующая охраняемая команда.
  • Вычисляются условия выхода. Если существует истинное условие выхода, выполняется соответствующая команда завершения, после чего выполнение цикла заканчивается. Если все условия выхода ложны, начинается следующая итерация, но только в том случае, если в текущей итерации было истинным хотя бы одно из охраняющих условий.
  • Если в данной итерации оказались ложными и все охраняющие условия, и все условия выхода, выполняется команда альтернативного завершения E, после чего выполнение цикла прерывается.

Структура цикла-‘паука’ позволяет предельно строго описать условия выполнения цикла. Согласно теоретическим положениям, ветвь альтернативного завершения не должна использоваться в качестве одного из вариантов корректного прекращения работы цикла (все такие варианты должны быть оформлены в виде соответствующих ветвей завершения с явным условием), она служит только для того, чтобы отследить ситуацию, когда по каким-то причинам цикл начал выполняться нештатно. То есть команда альтернативного завершения может лишь анализировать причины ошибки и представлять результаты анализа.

Хотя явной поддержки на уровне синтаксиса для этого цикла не существует ни в одном языке программирования, цикл-‘паук’, как и цикл Дейкстры, может быть смоделирован с помощью традиционных структурных конструкций.

Использование термина в гинекологии

В медицине этот термин знаком каждой взрослой женщине. Речь, конечно же, про менструальный цикл. Это то, что говорит о здоровье репродуктивной системы, способности женщины зачать ребенка и успешно выносить его. И любые серьезные проблемы моментально отражаются на фертильности.

Почему же это называется циклом? Разумеется, из-за повторяющейся последовательности определенных процессов. Существует даже деление на фазы цикла: фолликулярную, овуляторную и лютеиновую. На каждом из этих этапов происходят различные важные процессы. На первом — в яичниках растут фолликулы, один из которых становится доминирующим. На втором — происходит овуляция, то есть выходит яйцеклетка, готовая к оплодотворению. Все это время матка готовится к возможному приему эмбриона — ее внутренняя поверхность выстилается специальной тканью. На последнем этапе, если оплодотворение не происходит, цикл заканчивается, чтобы начаться вновь. Таков своеобразный круговорот жизни, которая все время стремится начаться.

В словаре Фасмера Макса

род. п. -а, стар. цыклус, при Петре I; см. Смирнов 322. Через польск. суkl или нем. Zyklus – то же из лат. сусlus от греч. κύκλος «круг». См. далее на колесо́.

Что такое менструальный цикл?

Итак, на вопрос о том – что такой менструальный цикл ответ прост. Это ритмичный физиологический процесс, при котором происходит подготовка женщины к беременности. Чтобы подробно объяснить, что такое менструационный цикл, можно сказать – что это определенный отрезок времени, который начинается с первого дня менструации и заканчивается последним днём до следующей менструации. То есть, начало менструального цикла – это первый день месячных.

Цикл повторяется ежемесячно у всех женщин, кроме беременных и кормящих.

При рождении девочки, в её яичниках уже внутриутробно заложены около 1,5 миллионов яйцеклеток. После полового созревания, их количество уменьшается до 350-450 тыс. штук. После наступления первых месячных, раз в месяц, одна яйцеклетка выходит из фолликула и готовиться к оплодотворению, если этого не происходит, наступает менструация.

Как правильно считать цикл между месячными

Уметь рассчитывать цикличность кровотечений необходимо, чтобы:

определять дату прихода следующей менструации;
найти оптимальный период для зачатия;
высчитать дату оплотворения и определить предполагаемую дату родов;
спланировать важное мероприятие, отпуск, посещение гинеколога.

Врачи определяют дату родов исходя из средней продолжительности между первыми сутками месячных. Нормальный цикл тянется 28 дней и включает в себя следующие фазы: фолликулярную, овуляцию, лютеиновую.

Первым днем цикла будет начало менструации и фолликулярной фазы. При отсутствии оплодотворенной яйцеклетки, организм удаляет внутренний слой эндометрия матки. Продолжительность фолликулярной фазы в среднем 13 дней. Если периодичность месячных у женщины короче 28 дней, то фаза будет меньше. При большем количестве дней увеличивается фолликулярная фаза.

В первой фазе в организме женщины преобладает гормон эстроген. Благодаря этому в матке появляется новый слой эндометрия. Формируются несколько фолликулов, среди них выживает сильнейший. Единственный оставшийся фолликул вырастает в диаметре до 2 см и готов к оплодотворению.

Зачатие происходит только при овуляции и проникновения сперматозоидов. Период зачатия длится 3 дня, но беременность может наступить за несколько дней до и после овуляции.

Длительность лютеиновой фазы составляет 12 дней. За эти дни созревает желтое тело и активно работает гормон прогестерон. При наступлении беременности желтое тело заменяет плаценту в течение 12 недель. Если яйцеклетка погибла, то желтое тело прекращает существование.

Длительность менструального цикла влияет на количество дней первой фазы. Овуляция и лютеиновая по длительности чаще всего не меняются.

Понятие цикла в разных науках

Цикл в разных науках и дисциплинах имеет следующую трактовку:

  • Биология. Регулярная и закономерная смена поколений, которая характерна для конкретного вида живых организмов.
  • Астрономия. Периодичность изменений, которым звезда подвергается в своей жизни.
  • Инженерия. Совокупность стадий процесса, который характеризует различные состояния системы сначала и до конца ее эксплуатации.
  • Программирование. Отрезок времени с начала принятия решения о создании конкретного программного продукта и до снятия программы с эксплуатации.
  • Экономика. Совокупность этапов развития фирмы за весь период ее существования.

Также цикл присутствует в производстве, строительстве и многих других науках и дисциплинах.

Значение слова «цикл»