Menu
Coddy logo textTech

Цикл 'do-while'

Часть раздела Основы путешествия по Dart на Coddy — урок 44 из 94.

Цикл do-while в Dart выполняет блок кода один раз перед проверкой условия, затем продолжает повторяться, пока условие истинно.

Создайте цикл do-while, который считает от 1 до 5:

void main() {
  int count = 1;
  
  do {
    print(count);
    count++;
  } while (count <= 5);
}

Когда вы запустите этот код, он выведет:

1
2
3
4
5

В отличие от цикла while, цикл do-while всегда выполняется хотя бы один раз:

void main() {
  int number = 10;
  
  do {
    print("This will print once: $number");
    number++;
  } while (number < 5);
}

После выполнения приведенного выше кода вывод будет следующим:

This will print once: 10
challenge icon

Задание

Новичок

В этом вызове вы попрактикуетесь в использовании цикла do-while в Dart. В отличие от обычного цикла while, цикл do-while всегда выполняет блок кода хотя бы один раз перед проверкой условия.

Ваша задача — создать программу, которая:

  1. Считывает одно целое число из ввода
  2. Использует цикл do-while для вывода всех чисел от введенного до 1
  3. После каждого числа выводит, четное оно или нечетное
  4. Продолжает до тех пор, пока число не достигнет 1
  5. Наконец, выводит сумму всех выведенных чисел

Например, если ввод 4, ваша программа должна вывести:

4 is even
3 is odd
2 is even
1 is odd
Sum: 10

Обратите внимание, что каждая строка показывает число, за которым следует указание, четное оно или нечетное, и сумма выводится в конце.

Шпаргалка

Цикл do-while выполняет блок кода один раз перед проверкой условия, затем продолжает повторяться, пока условие истинно.

Базовый синтаксис:

do {
  // блок кода
} while (condition);

Пример подсчёта от 1 до 5:

int count = 1;

do {
  print(count);
  count++;
} while (count <= 5);

В отличие от цикла while, цикл do-while всегда выполняется хотя бы один раз, даже если условие изначально ложно:

int number = 10;

do {
  print("This will print once: $number");
  number++;
} while (number < 5);

Попробуйте сами

import 'dart:io';

void main() {
  // Читаем ввод
  String? input = stdin.readLineSync();
  int number = int.parse(input ?? '0');
  
  // Инициализируем сумму
  int sum = 0;
  
  // Ваш код здесь - используйте цикл do-while для обратного отсчёта от number до 1
  // Печать каждого числа и того, чётное оно или нечётное
  // Вычисление суммы всех чисел
  
  // Печать суммы
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы