Розв'язки до задач


Table of Contents

Тема 4. Типи даних та змінні

Лістинг Y.4.1. Рішення до задачі 4.1

  //Для виведення тексту українською мовою
  Console.OutputEncoding = Encoding.Unicode;
  Console.WriteLine("\"Саме знання нікому їсти не дасть.\"\n\t\t\t\\І.Я.Франко\\");

Тема 5. Розгалуження та цикли

Лістинг Y.5.1. Рішення до задачі 5.1

  Console.OutputEncoding = Encoding.Unicode;
  Console.Write("Введіть нижню межу:");
  int low = int.Parse(Console.ReadLine());
  Console.Write("Введіть верхню межу:");
  int high = int.Parse(Console.ReadLine());
  
  int mult = 1;
  for (int i = low; i <= high; i++)
  {
    mult *= i;
  }
  
  Console.WriteLine($"Mult: {mult}");

Також код алгоритму можна скоротити наступним чином:

  int mult = 1;
  for (; low <= high; mult *= low++) ;
  Console.WriteLine($"Mult: {mult}");

Лістинг Y.5.3. Рішення до задачі 5.3

  Console.WriteLine($"x\ty");
  for (int x = 10; x <= 100; x++)
  {
    if (x % 7 == 0)
    {
      double y = Math.Pow(x + 5, 3) / Math.Sqrt(x + 1);
      Console.WriteLine($"{x}\t{y:f2}");
    }
  }

Лістинг Y.5.4. Рішення до задачі 5.4

  Console.WriteLine("x\ty");
  for(int x = 100; x <= 200; x+=10)
  {
      double y = Math.Pow(Math.Cos(Math.Pow(x, 2)), 3) / Math.Sqrt(x - Math.Log(x));
      Console.WriteLine("{0}\t{1:f4}", x, y > 0 ? " " + Math.Round(y, 4): y);
  }

Лістинг Y.5.5. Рішення до задачі 5.5

  Console.Write("Enter number:\t");
  int num = int.Parse(Console.ReadLine());
  for (int i = 1; i < 10; i++)
    Console.WriteLine($"{num} x {i} = {num*i}");

Лістинг Y.5.10. Рішення до задачі 5.10

  for (int i = 90; i >= 5; i--)
    if(i % 3 == 0 && i % 5 != 0 && i % 2 == 1)
      Console.WriteLine(i);

Лістинг Y.5.11. Рішення до задачі 5.11

  while (true)
  {
      Console.OutputEncoding = Encoding.Unicode;
      Console.Write("\n--- МЕНЮ ---\n[+] - Додати\n[-] - Відняти\n[*] - Множити\n" +
          "[/] - Ділити\n[0] - Вийти з програми\n\nВаш вибір :>\t");
  
      string choise = Console.ReadLine();
  
      Console.Write("\nВведіть число 1:\t");
      double num1 = double.Parse(Console.ReadLine());
      Console.Write("Введіть число 2:\t");
      double num2 = double.Parse(Console.ReadLine());
  
      switch (choise)
      {
          case "+":
              double sum = num1 + num2;
              Console.WriteLine($"\nРезультат: {sum}");
              break;
          default:
              Console.WriteLine("Помилка! Введіть операцію або 0.");
              break;
      }
  }

Лістинг Y.5.14. Рішення до задачі 5.14

Фігура 1

  Console.OutputEncoding = Encoding.Unicode;
  Console.Write("Введіть кількість рядків: \t");
  int rows = int.Parse(Console.ReadLine());
  
  Console.Write("Введіть кількість стовпців: \t");
  int cols = int.Parse(Console.ReadLine());
  
  for (int i = 0; i < rows; i++)
  {
      for (int j = 0; j < cols; j++)
      {
          Console.Write("*");
      }
      Console.WriteLine();
  }

Фігура 2

  Console.OutputEncoding = Encoding.Unicode;
  Console.Write("Введіть кількість рядків: \t");
  int rows = int.Parse(Console.ReadLine());
  
  Console.Write("Введіть кількість стовпців: \t");
  int cols = int.Parse(Console.ReadLine());
  
  for (int i = 0; i < rows; i++)
  {
      for (int j = 0; j < cols; j++)
      {
          if (i == 0 || i == rows - 1 || j == 0 || j == cols - 1)
              Console.Write("*");
          else
              Console.Write(" ");
      }
      Console.WriteLine();
  }

Фігура 3

  Console.OutputEncoding = Encoding.Unicode;
  Console.Write("Введіть кількість: \t");
  int count = int.Parse(Console.ReadLine());
  
  for (int i = count; i > 0; i--)
  {
      for (int j = 0; j < i; j++)
      {
          Console.Write("*");
      }
      Console.WriteLine();
  }

Лістинг Y.5.16. Рішення до задачі 5.16

  Console.OutputEncoding = Encoding.Unicode;
  
  Random r = new Random();
  int number = r.Next(1, 10000);
  Console.WriteLine("Привіт! Я загадав число у діапазоні [1; 10000).");
  
  // ставимо @ перед параметром, оскільки try є ключовим словом у C#
  int @try = 0;
  
  while (true)
  {
      ++@try;
      Console.Write("\nЯке число я загадав?\t>");
      int userNumber = int.Parse(Console.ReadLine());
  
      if (userNumber > number)
      {
          Console.WriteLine("PC > Неправильно. Моє число є меншим.");
          continue;
      }
  
      if (userNumber < number)
      {
          Console.WriteLine("PC > Неправильно. Моє число є більшим.");
          continue;
      }
  
      if (userNumber == number)
      {
          Console.WriteLine("PC > Вітаю! Ти вгадав за {0} спроб", @try);
      }
  }

Тема 6. Масиви


Тема 7. Перелічувані типи та структури


Тема 8. Об’єктно-орієнтовне програмування



Список використаних джерел

  1. Albahari, J., & Albahari, B. (2012). C# 5.0 in a Nutshell, Fifth Edition. 1005 Gravenstein Highway North, Sebastopol, USA: O’Reilly Media, Inc.
  2. Cardelli, L., & Wegner, P. (December 1985 p.). On Understanding Types, Data Abstraction, and Polymorphism. ACM Computing 1. Surveys, 17(4), сс. 149-154. Отримано з http://lucacardelli.name/Papers/OnUnderstanding.A4.pdf
  3. Kort, W. d. (2013). Exam Ref 70-483: Programming in C#. Sebastopol, California 95472: O’Reilly Media, Inc.
  4. MSDN. (без дати). Отримано з Microsoft Developer Network: http://msdn.microsoft.com/
  5. Биллиг, А. (2005). Основы программирования на C#. Москва, Россия: НОУ ИНТУИТ.
  6. Нейгел, К. И. (2011). С# 4.0 и платформа .NET 4 для профессионалов. Москва, Россия: ООО “И.Д. Вильямс”.
  7. Павловская, Т. (2009). С#. Программирование на языке высокого уровня. Учебник для вузов. СПб, Россия: Питер.

Додаткові матеріали для завантаження

  1. Лекція у форматі DOCX Завантажити (у розробці)
  2. Лекція у форматі PDF Завантажити (у розробці)
  3. Діаграми до лекції у форматі draw.io на github Перейти

Дорогі друзі, якщо Ви помітили, що для написання матеріалів використані джерела, які я не вказав - прошу надіслати мені інформацію на пошту. Дякую.
Previous