Loading...

Do-while цикл оператору

1. do-while циклинин оператору . Колдонуу өзгөчөлүктөрү. Жалпы форма

do-while оператору цикл процессин уюштуруу үчүн колдонулат. Бул оператордун while операторунан айырмасы do-while операторунун негизги бөлүгү циклдин аткарылышынын шартынын маанисине карабастан, жок дегенде бир жолу аткарылат.

Оператордун жалпы формасы

@A@for (инициализация; условие; выражение)
{
    // некоторые инструкции, операторы
    // ...
}@A@

Кайда

  • шарт - циклдик процесстин аткарылышынын шарты. Эгерде шарттын мааниси = True , анда тармал кашаалардын арасына коюлган операторлор { } ( do жана while сөздөрү) аткарылат.

  

2. do-while циклинин операторунун иштөө схемасы

1-сүрөт do-while циклинин кантип иштешин көрсөтөт .

C#.  do-while циклинин операторунун схемасы

1. do-while циклинин операторунун иштөө схемасы

  

3. do-while циклинин оператору менен маселелерди чыгаруунун мисалдары
3.1. Сандардын суммасын ырааттуулук менен эсептөө

Нөл менен аяктаган бүтүн сандардын бош эмес ырааттуулугу берилген. Кезектеги бардык сандардын суммасын эсептегиле.

Console Application түрүндөгү тиркеме үчүн программанын тексти төмөнкүдөй

 
@A@using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp8
{
  class Program
  {
    static void Main(string[] args)
    {
      int number; // вводимое число
      int summ = 0; // сумма чисел

      // Цикл ввода чисел, 0 - выход
      do
      {
        // Ввести число с клавиатури
        Console.Write("Input number (0 - exit): ");
        number = Int32.Parse(Console.ReadLine());

        // Вычислить сумму
        summ += number;
      } while (number != 0);

      // Вывести сумму
      Console.WriteLine("sum = {0}", summ);
      Console.ReadKey();
    }
  }
}@A@

Программанын аткарылышынын натыйжасы

@T@Input number (0 - exit): 1
Input number (0 - exit): 9
Input number (0 - exit): 2
Input number (0 - exit): -3
Input number (0 - exit): 0
sum = 9@T@

 

3.2. Сандардын катарындагы маанини табуу

a саны берилген (1< a ≤1,5). Сандардын арасында

а дан кичине биринчисин табыңыз .

@A@using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp8
{
  class Program
  {
    static void Main(string[] args)
    {
      double a, t;
      int n;

      // Ввод значения a
      Console.Write("a = ");
      a = Convert.ToDouble(Console.ReadLine());

      // Проверка, значения на корректность
      if ((a < 0) || (a > 1.5))
      {
        Console.WriteLine("Error. The value of a is incorrect.");
        return;
      }

      n = 1;

      // цикл поиска n
      do
      {
        n++;
        t = 1 + 1.0 / n;
      } while (t >= a);

      // Вывести t, n
      Console.WriteLine("t = {0:f6}, n = {1}", t, n);
      Console.ReadKey();
    }
  }
}@A@

Программанын аткарылышынын натыйжасы

@T@a = 1.22
t = 1,200000, n = 5@T@

 

3.3. Сандагы цифралардын санын аныктоо

натурал сан берилген. Андагы 7 цифраларынын санын аныктагыла.

Console Application түрүндөгү тиркеме үчүн программанын тексти төмөнкүдөй

 
@A@using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp8
{
  class Program
  {
    static void Main(string[] args)
    {
      // Определение количества цифр 7 в числе
      int number;
      int t;
      int k;

      // Ввод числа
      Console.Write("number = ");
      number = Convert.ToInt32(Console.ReadLine());

      if (number<0)
      {
        Console.WriteLine("Error. Incorrect number.");
        Console.ReadKey();
        return;
      }

      // Вычисление
      t = number; // сделать копию из number
      k = 0;

      // цикл вычисления k
      do
      {
        if (t % 10 == 7) k++;
        t = t / 10;
      } while (t > 0);

      Console.WriteLine("k = {0}", k);
      Console.ReadKey();
    }
  }
}@A@

Программанын аткарылышынын натыйжасы

@T@саны = 45277
k = 2@T@