Найти тему

Программирование на Бейсике. Циклы. Продолжение

В этом уроке мы продолжим работать с циклами и изучим еще один вариант организации циклов – цикл с условием WHILE.

«While» переводится как «пока». То есть, пока выполняется какое-то условие, повторяй выполнение определенного куска кода (которое, напоминаем, называется телом цикла). Вот пример того, как записывается и работает эта конструкция:

i = 1
WHILE i <= 10
PRINT i
i = i + 1
WEND

Сначала задаем значение переменной «i». Потом говорим: пока значение «i» меньше либо равно 10, выполняй следующий код – выводи на экран текущее значение переменной «i», потом увеличивай ее значение на 1.

В данном случае возникает вполне закономерный вопрос: Зачем использовать этот цикл, когда проще использовать FOR – на одну строчку короче получится. Все верно. Когда мы знаем начальное и конечное значения переменной, или знаем точно количество повторений, тогда проще использовать FOR. Но когда мы точно не знаем, сколько раз нужно что-то повторить, но знаем, при каком условии нужно остановиться, тогда цикл WHILE незаменим.

Для закрепления данной темы мы рекомендуем выполнить все задания.

------------------------------

Список уроков Программирование на Бейсике для начинающих

Следующий урок Циклы. Окончание

Предыдущий урок Создание игры "Угадай число" с использованием псевдографического интерфейса

------------------------------

Задания

1. Даны положительные числа A и B (A>B). На отрезке длины A размещено максимально возможное количество отрезков длины B (без наложений). Не используя операции умножения, деления и взятия остатка от деления, найти длину незанятой части отрезка A.

2. Даны целые положительные числа N и K. Используя только операцию вычитания, найти результат деления нацело N на K и остаток от этого деления.

3. Дано целое положительное число N. Если оно является степенью числа 3, то вывести TRUE, если нет – то FALSE.

4. Дано целое положительное число N. Найти наименьшее целое положительное число K, квадрат которого больше N. Функцию извлечения квадратного корня не использовать.

5. Дано целое число N (N>1).

  • Вывести наименьшее из целых чисел K, для которых сумма 1+2+3+…+K будет больше либо равна N.
  • Вывести наибольшее из целых чисел K, для которых сумма 1+2+3+…+K будет меньше либо равна N.

Вывести эту сумму.

6. Начальный вклад в банке равен 1000$. Через каждый месяц размер вклада увеличивается на P процентов от имеющейся суммы (P – вещественное число, 0<P<25). По заданному P определить, через сколько месяцев размер вклада превысит 1100$, вывести количество месяцев и итоговый размер вклада.

7. Спортсмен-лыжник начал тренировки, пробежав в первый день 10 км. Каждый следующий день он увеличивал длину пробега на P процентов пробега от предыдущего дня (P – вещественное число, 0<P<50). По заданному P определить, после какого дня суммарный пробег лыжника за все дни превысит 200 км, вывести количество дней и суммарный пробег.

8. Дано целое положительное число N. Используя операции деления нацело и взятия остатка от деления,

  • Вывести все его цифры, начиная справа
  • Найти количество и сумму его цифр
  • Получить число, образованное с помощью перестановки его цифр справа налево.

9. Дано целое положительное число N. Если оно является простым (т.е. не имеет положительных делителей, кроме 1 и самого себя), то вывести TRUE, иначе – FALSE.

10. Дано целое число N (N>1).

  • Вывести числовой ряд Фибоначчи с числами, меньшими либо равными N
  • Определить, является ли число N числом Фибоначчи. Если является, то в числовом ряду его выделить другим цветом.

11. Переписать часть кода игры «Угадай число», отвечающую за бесконечный цикл, реализованную с помощью оператора безусловного перехода GOTO, используя цикл с условием WHILE.