~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 55185E3FFC295B46A6949D3DB704126E__1711962660 ✰
Заголовок документа оригинал.:
✰ While loop - Wikipedia ✰
Заголовок документа перевод.:
✰ Цикл while — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/While_loop ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/55/6e/55185e3ffc295b46a6949d3db704126e.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/55/6e/55185e3ffc295b46a6949d3db704126e__translat.html ✰
Дата и время сохранения документа:
✰ 21.06.2024 13:23:11 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 1 April 2024, at 12:11 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Цикл while — Википедия Jump to content

Пока цикл

Из Википедии, бесплатной энциклопедии
Схема цикла цикла while

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

Обзор [ править ]

состоит Конструкция while из блока кода и условия/выражения. [1] Условие/выражение оценивается, и если условие/выражение истинно , [1] выполняется код внутри всех последующих блоков в блоке. Это повторяется до тех пор, пока условие/выражение не станет ложным . Поскольку цикл while проверяет условие/выражение перед выполнением блока, структуру управления часто называют циклом предварительного тестирования . Сравните это с do while циклом , который проверяет условие/выражение после выполнения цикла.

Например, в языках C , Java , C# , [2] Objective-C и C++ (которые в данном случае используют один и тот же синтаксис ), фрагмент кода

интервал   х   =   0  ; 

  while   (  x   <   5  )   { 
     printf   (  "x = %d  \n  "  ,   x  ); 
      х  ++  ; 
  } 

сначала проверяется, меньше ли x 5, а так оно и есть, затем вводится {тело цикла}, где запускается функция printf и x увеличивается на 1. После выполнения всех операторов в теле цикла выполняется условие ( x < 5), проверяется еще раз, и цикл выполняется снова, причем этот процесс повторяется до тех пор, пока переменная x не примет значение 5.

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

while   (  true  )   { 
     // делаем сложные вещи 
     if   (  someCondition  ) 
         break  ; 
      // больше вещей 
 } 

Демонстрация while циклов [ править ]

Эти циклы while вычисляют факториал числа 5:

ActionScript 3 [ править ]

 вар  счетчик  :   int   =   5  ; 
  вар   факториал  :   int   =   1  ; 

  while   (  счетчик   >   1  )   { 
     факториал   *=   счетчик  ; 
      прилавок  --; 
  } 

 Printf  (  "Факториал = %d"  ,   факториал  ); 

Есть [ править ]

с   Ada.Integer_Text_IO  ; 

  процедура   Факториал   - 
     Counter     :   Integer   :=   5  ; 
      Факториал   :   Целое число   :=   1  ; 
  начать 
     , пока   Counter   >   0   цикл 
         Факториал   :=   Факториал   *   Counter  ; 
          Счетчик     :=   Счетчик   -   1  ; 
      конец   цикла  ; 

      Ада  .   Целое_Текст_IO  .   Положить   (  Факториал  ); 
  конец   Факториала  ; 

АПЛ [ править ]

counter    5 
 факториал    1 

 :  Пока   счетчик   >   0 
     факториал   ×   счетчик 
     счетчик   -   1 
 :  EndWhile 

   факториал 

или просто

! 5 

Автохоткей [ править ]

счетчик   :=   5 
 факториал   :=   1 

 Пока   счетчик   >   0 
     факториал   *=   счетчик  -- 

 MsgBox   %   факториал 

Маленький базовый [ править ]

counter   =   5      ' Counter = 5 
 Factorial   =   1    ' Начальное значение переменной "factorial" 

 Пока   счетчик   >   0 
     Factorial   =   Factorial   *   Counter 
     Counter   =   Counter   -   1 
     TextWindow  .   WriteLine  (  счетчик  ) 
 EndWhile 

Visual Basic [ править ]

Dim   counter   As   Integer   =   5      ' инициализируем переменную и устанавливаем значение 
 Dim   Factorial   As   Integer   =   1    ' инициализируем факторную переменную 

 Do   While   counter   >   0 
     Factorial   =   Factorial   *   counter 
     Counter   =   Counter   -   1 
 Цикл       ' Программа выполняется здесь, пока счетчик = 0 

 'Отладка. Печать факториала ' Console.WriteLine(факториал) в Visual Basic .NET 

Оболочка Bourne (Unix) [ править ]

счетчик  =  5 
 факториал  =  1 
 while   [   $counter   -gt   0   ]  ;    do 
     факториал  =  $((  факториал   *   счетчик  )) 
     счетчик  =  $((  счетчик   -   1  )) 
 готово 

 echo   $факториал 

Си, С++ [ править ]

int   main  ()   { 
     int   count   =   5  ; 
      int   факториал   =   1  ; 

      while   (  count   >   1  ) 
         факториал   *=   count  --  ; 

      printf  (  "%d"  ,   факториал  ); 
  } 

Язык разметки ColdFusion (CFML) [ править ]

Синтаксис скрипта [ править ]

счетчик   =   5  ; 
  факториал   =   1  ; 

  while   (  counter   >   1  )   { 
     факториал   *=   counter  --  ; 
  } 

 writeOutput  (  факториал  ); 

Синтаксис тега [ править ]

<cfset   counter   =   5  > 
 <cfset   Factorial   =   1  > 
 <cfloop   Condition  =  "counter GT 1"  > 
     <cfset   Factorial   *=   Counter  --  > 
 </cfloop> 
 <cfoutput>  #  факториал  #  </cfoutput> 

Фортран [ править ]

программа  FactorialProg 
     целое   ::   счетчик   =   5 
     целое число   ::   факториал   =   1 

     do while   (  счетчик   >   0  ) 
         факториал   =   факториал   *   счетчик 
         счетчик   =   счетчик   -   1 
     конец do 

 print   *  ,   факториал 
 конец программы  FactorialProg 

Иди [ править ]

В Go нет оператора while , но он выполняет функцию оператора for при пропуске некоторых элементов оператора for .

счетчик  ,   факториал   :=   5  ,   1 

 для   счетчика   >   1   { 
	 счетчик  ,   факториал   =   счетчик  -  1  ,   факториал  *  счетчик 
 } 

Ява, C , D #

Код цикла одинаков для Java, C# и D:

интервал   счетчика   =   5  ; 
  int   факториал   =   1  ; 

  while   (  счетчик   >   1  ) 
     факториал   *=   счетчик  --  ; 

JavaScript [ править ]

пусть   счетчик   =   5  ; 
  пусть   факториал   =   1  ; 

  while   (  счетчик   >   1  ) 
     факториал   *=   счетчик  --  ; 

  консоль  .   журнал  (  факториал  ); 

Возьмите [ править ]

счетчик   =   5 
 факториал   =   1 

 , пока   счетчик   >   0   do 
   факториал   =   факториал   *   счетчик 
   счетчик   =   счетчик   -   1 
 конец 

 печати  (  факториал  ) 

MATLAB, Октава [ править ]

счетчик   =   5  ; 
  факториал   =   1  ; 

  while   (  счетчик   >   0  ) 
     факториал   =   факториал   *   счетчик  ;         %Multiply 
     counter   =   counter   -   1  ;                   %Уменьшить 
 конечный 

 факториал 

Математика [ править ]

Block  [{  counter  =  5  ,  Factorial  =  1  },    (*локализовать счётчик и факториал*) 
     While  [  counter  >  0  ,              (*Пока цикл*) 
         Factorial  *=  Counter  ;        (*Умножить*) 
         счетчик  --  ;                 (*Уменьшение*) 
     ]; 

      факториал 
 ] 

Оберон, Оберон-2, Оберон-07 Паскаль Компонентный ,

МОДУЛЬ   Факториал  ; 
  ИМПОРТ   Выход  ; 
 VAR 
      Счетчик  ,   Факториал  :   INTEGER  ; 
  НАЧАТЬ 
     Счетчик   :=   5  ; 
      Факториал   :=   1  ; 

      WHILE   Counter   >   0   DO 
         Факториал   :=   Факториал   *   Счетчик  ; 
          DEC  (  Счетчик  ) 
     КОНЕЦ  ; 

      Вне  .   Int  (  Факториал  ,  0  ) 
 END   Факториал  . 

Встроенный язык Maya [ править ]

интервал   $counter   =   5  ; 
  int   $факториал   =   1  ; 

  интервал   $умножение  ; 

  while   (  $counter   >   0  )   { 
     $multiplication   =   $factorial   *   $counter  ; 

      $счетчик   -=   1  ; 

      print  (  "Счетчик: "   +   $counter   +   ", умножение: "   +   $multiplication   +   "\n"  ); 
  } 

Nim [ edit ]

var 
   counter   =   5              # Установить значение счетчика равным 5 
   factial   =   1            # Установить значение факториала равным 1 

 while   counter   >   0  :         # Пока счетчик больше 0 
     Factorial   *=   Counter   # Установить новое значение факториала для счетчика. 
      dec   counter            # Установить счетчик на counter - 1. 

 echo   Factorial 

Незавершающийся цикл while:

while   true  : 
   echo   "Помогите! Я застрял в петле!" 

Паскаль [ править ]

В Паскале есть две формы цикла while: while и повтор . While повторяет один оператор (если он не заключен в блок начала-конца), пока условие истинно. Оператор повторения повторно выполняет блок из одного или нескольких операторов посредством оператора до тех пор, пока не будет выполнено, пока условие не станет ложным. Основное различие между ними заключается в том, что цикл while может выполняться ноль раз, если условие изначально ложно, а цикл повторения-до всегда выполняется хотя бы один раз.

программа   Факториал1  ; 
  вар 
     Fv  :   целое число  ; 

     процедуры    факт  (  счетчик  :  целое число  )  ; 
      вар 
         Факториал  :   целое число  ; 

      начать 
          Факториал   :=   1  ; 

           пока   Counter   >   0,   do 
          Begin 
              Factorial   :=   Factorial   *   Counter  ; 
               Счетчик   :=   Счетчик   -   1 
          конец  ; 

           WriteLn  (  Факториал  ) 
      конец  ; 

  Begin 
     Write  (  'Введите число, чтобы вернуть его факториал:'  )  ; 
      readln  (  ф.в.  )  ; 
      повторить 
          факт  (  fv  )  ; 
           Write  (  'Введите другое число, чтобы вернуть его факториал (или 0, чтобы выйти): '  )  ; 
       пока   fv  =  0  ; 
  конец  . 

Перл [ править ]

мой   $counter     =   5  ; 
  мой   $факториал   =   1  ; 

  while   (  $counter   >   0  )   { 
     $factorial   *=   $counter  --  ;    # Умножаем, затем уменьшаем 
 } 

 print   $factorial  ; 

Хотя циклы часто используются для чтения данных построчно (как определено в $/ разделитель строк) из открытых дескрипторов файлов:

открыть   IN  ,   "<test.txt"  ; 

  while   (  <IN>  )   { 
     печать  ; 
  } 

 приближаться   ; 

PHP [ править ]

$счетчик   =   5  ; 
  $факториал   =   1  ; 

  while   (  $counter   >   0  )   { 
     $factorial   *=   $counter  --  ;    // Умножаем, затем уменьшаем. 
  } 

 эхо   $факториал  ; 

ПЛ/И [ править ]

объявить   счетчика     фиксированную   начальную величину  (  5  )  ; 
  объявить   факториал   фиксированным   начальным значением  (  1  )  ; 

  делать   while  (  счетчик   >   0  ) 
     факториал   =   факториал   *   счетчик  ; 
      счетчик   =   счетчик   -   1  ; 
  конец  ; 

Питон [ править ]

counter   =   5                             # Установите значение 5 
 Factorial   =   1                           # Установите значение 1, 

 пока   счетчик   >   0  :                      # Пока счетчик (5) больше 0, 
     факториал   *=   счетчик                # Установите новое значение факториала для счетчика. 
      counter   -=   1                        # Установите счетчик на counter - 1. 

 print  (  factorial  )                        # Распечатайте значение факториала. 

Незавершающийся цикл while:

while   True  : 
     print  (  «Помогите! Я застрял в цикле!»  ) 

Ракетка [ править ]

В Racket, как и в других Scheme реализациях , именованный элемент является популярным способом реализации циклов:

#lang  Racket 
 (  определить   счетчик   5  ) 
 (  определить   факториал   1  ) 
 (  let   цикл   () 
     (  когда   (  >   счетчик   0  ) 
         (  установить!   факториал   (  *   факториала   счетчик  )) 
         (  установить!   счетчик   (  sub1   счетчик  )) 
         (  цикл  ))) 
 (  displayln   факториал  ) 

Используя систему макросов, реализация цикла while является тривиальным упражнением (обычно используемым для введения макросов):

#lang  Racket 
 (  define-syntax-rule   (  while   test   body   ...  )   ; реализует цикл while 
     (  let   цикл   ()   (  if   test   body   ...   (  цикл  )))) 
 (  define   counter   5  ) 
 (  определит   факториал   1  ) 
 (  while   (  >   counter   0  ) 
     (  set!   Factorial   (  *   Factorial   Counter  )) 
     (  set!   Counter   (  sub1   счетчик  ))) 
 (  displayln   Factorial  ) 

Однако в Scheme и Racket императивный стиль программирования часто не рекомендуется.

Руби [ править ]

# Вычислить факториал 5 
 i   =   1 
 факториал   =   1 

 while   i   <=   5 
   факториал   *=   i 
   i   +=   1 
 end 

 помещает   факториал 

Ржавчина [ править ]

fn   main  ()   { 
     let   mut   counter   =   5  ; 
      пусть   mut   факториал   =   1  ; 

      while   counter   >   1   { 
         факториал   *=   counter  ; 
          счетчик   -=   1  ; 
      } 

     печатьлн!   (  "{}"  ,   факториал  ); 
  } 

Смолток [ править ]

В отличие от других языков, в Smalltalk цикл while не является языковой конструкцией , а определен в классе. BlockClosure как метод с одним параметром, тело как замыкание , используя self в качестве условия.

В Smalltalk также есть соответствующий метод whileFalse:.

|   посчитать факториал  | 
  считать   :=   5  . 
  факториал   :=   1  . 
  [  count   >   0  ]  whileTrue: 
      [  факториал   :=   факториал   *   количество  . 
      счет   :=   счет   -   1  ]  . 
  Расшифровка   шоу:   факториал 

Свифт [ править ]

var   counter   =   5                   // Устанавливаем начальное значение счетчика равным 5 
 var   factial   =   1                 // Устанавливаем начальное значение факториала равным 1 

 while   counter   >   0   {               // Пока counter(5) больше 0 
     factial   *=   counter          // Устанавливаем новое значение факториала к счетчику факториала x. 
      counter   -=   1                  // Установите новое значение счетчика на counter - 1. 
 } 

 print  (  factorial  )                  // Распечатайте значение факториала. 

ТКЛ [ править ]

установить   счетчик   5, 
 установить   факториал   1, 

 пока   {  $counter   >   0  }   { 
     установить   факториал   [выражение   $факториал   *   $counter  ] 
     incr   counter   -  1 
 } 

 помещает   $факториал 

ВЕКС [ править ]

интервал   счетчика   =   5  ; 
  int   факториал   =   1  ; 

  while   (  счетчик   >   1  ) 
     факториал   *=   счетчик  --  ; 

  printf  (  "%d"  ,   факториал  ); 

PowerShell [ править ]

$counter   =   5 
 $factorial   =   1 

 while   (  $counter  )   { 
     $factorial   *=   $counter  -- 
 } 

 $factorial 

Пока (язык) [ править ]

Пока [3] — это простой язык программирования, построенный на основе присваиваний, последовательной композиции, условных операторов и операторов while, используемый в теоретическом анализе семантики императивного языка программирования . [4] [5]

С   :=   5  ; 
  Ф   :=   1  ; 

  в то время как   (  C   >   1  )   делайте 
     F   :=   F   *   C  ; 
      С   :=   С   -   1  ; 

См. также [ править ]

Ссылки [ править ]

  1. ^ Перейти обратно: а б «Операторы while и do- while (Учебные пособия по Java > Изучение языка Java > Основы языка)» . Dosc.oracle.com . Проверено 21 октября 2016 г.
  2. ^ "пока (ссылка на C#)" . Msdn.microsoft.com . Проверено 21 октября 2016 г.
  3. ^ «Глава 3: Язык программирования While» (PDF) . Profs.sci.univr.it . Проверено 21 октября 2016 г.
  4. ^ Флемминг Нильсон; Ханне Р. Нильсон; Крис Хэнкин (1999). Принципы анализа программ . Спрингер. ISBN  978-3-540-65410-0 . Проверено 29 мая 2013 г.
  5. ^ Иллингворт, Валери (11 декабря 1997 г.). Словарь вычислительной техники . Оксфордский справочник в мягкой обложке (4-е изд.). Издательство Оксфордского университета. ISBN  9780192800466 .
Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 55185E3FFC295B46A6949D3DB704126E__1711962660
URL1:https://en.wikipedia.org/wiki/While_loop
Заголовок, (Title) документа по адресу, URL1:
While loop - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)