using System;
using System.Diagnostics.Metrics;
using System.Xml.Serialization;
namespace Лабораторна_робота_5
{
internal class Program
{
static void Main(string[] args)
{
int val = 1;
do
{
Console.WriteLine("Choose the variant:{1-task5},{2-task25},{3-task38}");
Console.WriteLine("If you want to stop function press 0");
int choise = int.Parse(Console.ReadLine());
switch (choise)
{
// Вибір функції
case 1:
Block_1();
break;
case 2:
Block_2();
break;
case 3:
Block_3();
break;
case 0:
val = 0;
break;
default:
Console.WriteLine("Невірний вибір. Спробуйте ще раз.");
break;
}
} while (val != 0);
}
static void Block_1()
{
int check = 1;
do
{
Console.WriteLine("Choose the type of cycle {1-for}, {2-while}, {3-do_while}");
Console.WriteLine("If you want to stop block press 0");
int choise = int.Parse(Console.ReadLine()); // Вибираємо серед варіантів
int counter = 0;
int index = 1;
switch (choise)
{
case 1:
Console.Write("Введіть діапазон чисел: ");
int n = int.Parse(Console.ReadLine());
for (int i = 1; i <= n; i++)
{
Console.Write($"Введіть число {i}: ");
int x = int.Parse(Console.ReadLine());
if (i % 2 != 0)
counter += x;
}
Console.WriteLine(counter);
break;
case 2:
Console.Write("Введіть діапазон чисел: ");
int k = int.Parse(Console.ReadLine());
while (index <= k)
{
Console.Write($"Введіть число {index}: ");
int x = int.Parse(Console.ReadLine());
if (index % 2 != 0)
counter += x;
index++;
}
Console.WriteLine(counter);
break;
case 3:
Console.Write("Введіть діапазон чисел: ");
int f = int.Parse(Console.ReadLine());
do
{
Console.Write($"Введіть число {index}: ");
int x = int.Parse(Console.ReadLine());
if (index % 2 != 0)
counter += x;
index++;
} while (index <= f);
Console.WriteLine(counter);
break;
case 0:
check = 0;
break;
default:
Console.WriteLine("Невірний вибір. Спробуйте ще раз.");
break;
}
} while (check != 0);
}
static void Block_2()
{
int check = 1;
Console.Write("Введіть перше число: ");
int x = int.Parse(Console.ReadLine());
do
{
Console.WriteLine("Choose the type of cycle {1-for}, {2-while}, {3-do_while}");
Console.WriteLine("If you want to stop block press 0");
int choise = int.Parse(Console.ReadLine());
int min = x;
int index = 1;
int val = 2;
int j = 1;
switch (choise)
{
case 1:
for (int i = 2; i <= val; i++, val++)
{
Console.WriteLine($"Min = {min}, index = {index}");
Console.Write("Введіть число: ");
x = int.Parse(Console.ReadLine());
if (x == 0)
break;
if (x < min)
{
min = x;
index = i;
}
}
Console.WriteLine($"Індекс найменшого числа: {index}");
break;
case 2:
while (x != 0)
{
if (min > x)
{
index = j;
min = x;
}
Console.Write("Введіть число: ");
x = int.Parse(Console.ReadLine());
j++;
}
Console.WriteLine($"Індекс найменшого числа: {index}");
break;
case 3:
do
{
if (min > x)
{
index = j;
min = x;
}
Console.Write("Введіть число: ");
x = int.Parse(Console.ReadLine());
j++;
} while (x != 0);
Console.WriteLine($"Індекс найменшого числа: {index}");
break;
case 0:
check = 0;
break;
default:
Console.WriteLine("Невірний вибір. Спробуйте ще раз.");
break;
}
} while (check != 0);
}
static void Block_3()
{
int check = 1;
Console.Write("Введіть перше число: ");
int n = int.Parse(Console.ReadLine());
do
{
Console.WriteLine("Choose the type of cycle {1-for}, {2-while}, {3-do_while}");
Console.WriteLine("If you want to stop block press 0");
int choise = int.Parse(Console.ReadLine());
int first_num = 15;
int total_sum = 15;
int counter = 2;
switch (choise)
{
case 1:
{
for (int j = 1; j < n; j += 1)
{
first_num += 2;
if (counter < 3)
{
total_sum += first_num;
Console.WriteLine($" plus total sum:{total_sum}");
}
if (counter == 3)
{
total_sum -= first_num;
Console.WriteLine($" minus total sum:{total_sum}");
counter = 0;
}
counter += 1;
}
}
Console.WriteLine(total_sum);
break;
case 2:
{
while (counter <= n)
{
first_num += 2;
if (counter % 3 != 0)
total_sum += first_num;
else
total_sum -= first_num;
counter += 1;
}
}
Console.WriteLine(total_sum);
break;
case 3:
{
do
{
first_num += 2;
if (counter % 3 != 0)
total_sum += first_num;
else
total_sum -= first_num;
counter += 1;
} while (counter <= n);
Console.WriteLine(total_sum);
break;
}
case 0:
check = 0;
break;
default:
Console.WriteLine("Невірний вибір. Спробуйте ще раз.");
break;
}
} while (check != 0);
}
}
}
//При роботі з даною лабораторною роботою я створив міні проект,
//завдання якого полягає у написані великого об’єму коду в межах одного проекту.
//Для цього ми використали блоки в яких записані 3 види циклів на кожен блок.
//Велику роль відіграв оператор switch що виконав роль вказівника
//(тобто переміщення між блоками функції та їхніми способами рішення).
//Був використаний цикл While що створив можливість вибору одних і тих самих функцій декілька разів.
//Загалом я закріпив 4 види циклів це While , for , do while , switch .