Основы объектно-ориентированного программирования на языке C# book | Page 48
3 Оператори мови C#
for (i = 0; i < 10; i++)
Console.WriteLine("Hello, world");
Вiдповiдне повiдомлення надрукується 10 разiв.
Змiнну i можна оголосити безпосередньо в циклi:
for (int i = 0; i < 10; i++)
Console.WriteLine("Hello, world");
Тодi сфера видимiстi змiнноı̈ i буде обмежена циклом.
Прирiст може бути як позитивним так i негативним. Наприклад
треба роздрукувати числа вiд 200 до 100:
for (int i = 200; i >= 100; i--)
Console.WriteLine(i);
Наступний приклад обчислює першi 10 чисел Фiбоначчi.
Нагадування. Першi два числа рiвнi 1. Поточне число дорiвнює сумi
двох попереднiх.
using System;
class Program
{
static void Main(string[] args)
{
for (int i = 0, prevFib = 1, curFib = 1; i < 10; i++)
{
Console.WriteLine(prevFib);
int newFib = prevFib + curFib;
prevFib = curFib;
curFib = newFib;
}
}
}
Можна використовувати декiлька змiнних в початковому виразi та
приростi. В цьому випалку окремi вирази роздiляються комою.
for (int i = 200, j = 10; i + j < 1000; i += 20, j -= 5)
Console.WriteLine(i);
Можна використовувати i бiльше двох змiнних, але на практицi це
рекомендується робити, тому що такi цикли становяться важкими
для розумiння а читабельнiсть програм значно погiршується.
Розглянемо таку задачу. Нехай необхiдно надрукувати рядок дов-
жиною WIDTH , у якому спочатку мiститься x0 символiв ’-’ , потiм w
символiв ’*’ , i до кiнця рядка – знову символи ’-’ :
Це можна запрограмувати так:
for (x = 0; x < x0; ++x) Console.Write(’-’);
for (; x < x0 + w; x++) Console.Write(’*’);
for (; x < WIDTH; ++x) Console.Write(’-’);
Console.WriteLine();
або
48