int limit = 100; int x = 120, y = 50; int sum1 =0, sum2=0; for (int i = 0; i< 11; i++) { int step = Math.Abs(limit -x)/10; if (x > limit) {x -= step; y += step;} else {x += step; y -= step;} sum1 += x; sum2 +=y; } //limit = step; //переменная step перестала существовать //limit = i; // переменная i перестала существовать Console.WriteLine("x= {0}, y= {1}, sum1 ={2}, sum2 = {3}", x,y,sum1,sum2); } Заметьте, здесь в тело основного блока вложен блок, задающий тело цикла, в котором объявлены две локальные переменные - i и step. В свою очередь, в тело цикла вложены блоки, связанные с ветвями then и else оператора if. Закомментированные операторы, стоящие сразу за окончанием цикла, напоминают, что соответствующие локальные переменные, определенные в блоке, перестают существовать по его завершении. Приведенная процедура Block является методом класса Testing, который входит в проект Statements, созданный для работы с примерами этой лекции. Вот описание полей и конструктора класса Testing: /// <summary> /// Класс Testing - тестирующий класс. Представляет набор /// скалярных переменных и методов тестирующих работу /// с операторами, процедурами и функциями C#. /// </summary> public class Testing { public Testing(string name, int age) { this.age = age; |