Доброго времени суток, хабражители!
Для желающих начать программировать на языке C# выкладываю четвертую лекцию на тему: «Условия и циклы». Лекция получилась очень большая (на целый час), поэтому, кто готов смотреть так долго я желаю терпения и большого желания не останавливаться на достигнутом.
Лекция 1. Введение
Лекция 2. Hello, World! и знакомство с Visual C# Express 2010
Лекция 3. Переменные и выражения
А сейчас — ответы на предыдущее домашнее задание:
1. Недопустимыми именами для переменных являются: 100metres (так как имя переменной не может начинаться с цифры) и csharp.com (так как имя переменной содержит посторонний символ ".")
2. Строка "thisisveryverylongstringindeedisntit" НЕ является слишком большой, чтобы уместиться в тип string, поскольку память, выделяемая под переменные этого типа динамична и меняется в зависимости от размера.
3. Учитывая приоритет операций выражение: resultVar += var1 * var2 + var3 % var4 / var5;
будет выполняться со следующей последовательностью:
1) *
2) %
3) /
4) +
5) +=
Надеюсь, что проблем с домашней работой у вас не было, многие мне даже присылали ответы на почту, что очень приятно, ну а мы переходим к самому интересному.
Приятного просмотра!
1. При наличии двух целых чисел, хранящихся в переменных var1 и var2, какую булевскую проверку нужно выполнить для выяснения того, является ли то или другое (но не оба вместе) больше 10?
2. Напишите приложение, которое получает два числа от пользователя и отображает их на экране, но отклоняет варианты, когда оба числа больше 10, и предлагает в таком случае ввести два других числа.
3. Что неверно в следующем коде (постарайтесь решить это задание, не используя Visual Studio)?
Ответы, если хотите, можете также присылать мне на почту или просто делать для себя. Также с радостью приму любые советы по улучшению курса. Для небольшого бонуса прошу читать ниже.
1. Применение булевских операций
2. Применение операторов goto, if else, ?: (тернарный оператор)
3. Применение оператора switch
4. Применение циклов
Для желающих начать программировать на языке C# выкладываю четвертую лекцию на тему: «Условия и циклы». Лекция получилась очень большая (на целый час), поэтому, кто готов смотреть так долго я желаю терпения и большого желания не останавливаться на достигнутом.
Ссылки на предыдущие лекции
Лекция 1. Введение
Лекция 2. Hello, World! и знакомство с Visual C# Express 2010
Лекция 3. Переменные и выражения
А сейчас — ответы на предыдущее домашнее задание:
1. Недопустимыми именами для переменных являются: 100metres (так как имя переменной не может начинаться с цифры) и csharp.com (так как имя переменной содержит посторонний символ ".")
2. Строка "thisisveryverylongstringindeedisntit" НЕ является слишком большой, чтобы уместиться в тип string, поскольку память, выделяемая под переменные этого типа динамична и меняется в зависимости от размера.
3. Учитывая приоритет операций выражение: resultVar += var1 * var2 + var3 % var4 / var5;
будет выполняться со следующей последовательностью:
1) *
2) %
3) /
4) +
5) +=
Надеюсь, что проблем с домашней работой у вас не было, многие мне даже присылали ответы на почту, что очень приятно, ну а мы переходим к самому интересному.
Приятного просмотра!
Новое домашнее задание:
1. При наличии двух целых чисел, хранящихся в переменных var1 и var2, какую булевскую проверку нужно выполнить для выяснения того, является ли то или другое (но не оба вместе) больше 10?
2. Напишите приложение, которое получает два числа от пользователя и отображает их на экране, но отклоняет варианты, когда оба числа больше 10, и предлагает в таком случае ввести два других числа.
3. Что неверно в следующем коде (постарайтесь решить это задание, не используя Visual Studio)?
- int i = 10;
- for (i = 1; i <= 10; i++)
- {
- if ((i % 2) = 0)
- continue;
- Console.WriteLine(i);
- }
* This source code was highlighted with Source Code Highlighter.
Ответы, если хотите, можете также присылать мне на почту или просто делать для себя. Также с радостью приму любые советы по улучшению курса. Для небольшого бонуса прошу читать ниже.
Примеры кода, которые были использованы в лекции.
1. Применение булевских операций
- static void Main(string[] args)
- {
- int myInt;
- Console.WriteLine("Enter an integer:"); // Введите целое число
- Int32.TryParse(Console.ReadLine(), out myInt);
- Console.WriteLine("Integer less than 10? {0}", myInt < 10);
- Console.WriteLine("Integer between 0 and 5? {0}", (myInt >= 0) && (myInt <= 5));
- Console.ReadKey();
- }
* This source code was highlighted with Source Code Highlighter.
2. Применение операторов goto, if else, ?: (тернарный оператор)
- static void Main(string[] args)
- {
- string result = String.Empty;
- double var1 = 0, var2 = 0;
-
- begin1:
- Console.WriteLine("Enter first number:");
- if (!Double.TryParse(Console.ReadLine(),out var1)) // здесь я упростил код просто поставив "!" перед выражением bool
- {
- Console.WriteLine("You should enter a double value.");
- goto begin1;
- }
-
- begin2:
- Console.WriteLine("Enter second number:");
- if (!Double.TryParse(Console.ReadLine(), out var2))
- {
- Console.WriteLine("You should enter a double value.");
- goto begin2;
- }
-
- if (var1 < var2)
- result = "less than";
- else
- {
- result = var1 == var2 ? "equal to" : "greater than";
- }
-
- Console.WriteLine("The first number is {0} the second number.", result);
- Console.ReadKey();
- }
* This source code was highlighted with Source Code Highlighter.
3. Применение оператора switch
- static void Main(string[] args)
- {
- const int fail = 10;
- int value = 0;
-
- switch (value)
- {
- case 1:
- Console.WriteLine("This is one");
- break;
- case 2:
- Console.WriteLine("This is two");
- break;
- case fail:
- Console.WriteLine("This is fail");
- break;
- default:
- Console.WriteLine("This is default");
- break;
- }
- }
* This source code was highlighted with Source Code Highlighter.
4. Применение циклов
- static void Main(string[] args)
- {
- double balance = 0, interestRate = 0, targetBalance = 0;
- Console.WriteLine("What is your current balance?");
- Double.TryParse(Console.ReadLine(), out balance);
- Console.WriteLine("What is your current interest rate (in %)?");
- Double.TryParse(Console.ReadLine(), out interestRate);
- interestRate = 1 + interestRate/100.0;
- Console.WriteLine("What balance would you like to have?");
- Double.TryParse(Console.ReadLine(), out targetBalance);
-
- int totalYears = 0;
-
- while (balance < targetBalance)
- {
- balance *= interestRate;
- totalYears++;
- }
-
- Console.WriteLine("In {0} year{1} you will have a balance of {2}.", totalYears,
- totalYears == 1 ? "" : "s", balance);
- Console.ReadKey();
* This source code was highlighted with Source Code Highlighter.