Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Ознакомительная практика / Итоговое задание по ОП

.pdf
Скачиваний:
3
Добавлен:
01.12.2023
Размер:
2.29 Mб
Скачать

41

Листинг программы А представлен ниже.

using System; namespace _1000_7

{

class Program

{

static void Main(string[] args)

{

Console.Write("Введите год: ");

int n = int.Parse(Console.ReadLine()); DateTime date1 = new DateTime(n, 1, 31); Console.WriteLine(getLastThursday(date1)); DateTime date2 = new DateTime(n, 2, 28); Console.WriteLine(getLastThursday(date2)); DateTime date3 = new DateTime(n, 3, 31); Console.WriteLine(getLastThursday(date3)); DateTime date4 = new DateTime(n, 4, 30); Console.WriteLine(getLastThursday(date4)); DateTime date5 = new DateTime(n, 5, 31); Console.WriteLine(getLastThursday(date5)); DateTime date6 = new DateTime(n, 6, 30); Console.WriteLine(getLastThursday(date6));

42

DateTime date7 = new DateTime(n, 7, 31); Console.WriteLine(getLastThursday(date7)); DateTime date8 = new DateTime(n, 8, 31); Console.WriteLine(getLastThursday(date8)); DateTime date9 = new DateTime(n, 9, 30); Console.WriteLine(getLastThursday(date9)); DateTime date10 = new DateTime(n, 10, 31); Console.WriteLine(getLastThursday(date10)); DateTime date11 = new DateTime(n, 11, 30); Console.WriteLine(getLastThursday(date11)); DateTime date12 = new DateTime(n, 12, 31); Console.WriteLine(getLastThursday(date12));

}

static DateTime getLastThursday(DateTime dt)

{

while (dt.DayOfWeek != DayOfWeek.Thursday)

{

dt = dt.AddDays(-1);

}

return dt;

}

}

43

}

Процесс выполнения программы А и вывод программы представлен на рисунке 3.2.

Рисунок 3.2 – Работа программы А

Согласно условию задания, словесное описание программы B будет иметь вид:

В0 начало;

В1 ввод n, k;

В2 count = 0;

B3 заполнение массива array рандомным числом;

B4 для j от 0 до j<k, выполнять В5;

44

В5 ввод c;

В6 если c == array[0], то выполнять В7, иначе выполнять В8;

B7 вывод «Ты выиграл», переход к В15;

B8 если с > array[0], то переход к В9, иначе переход к В11;

В9 вывод «Загаданное число меньше»;

В10 count +=1, переход к В4;

B11 вывод «Загаданное число больше»;

В12 count += 1, переход к В4;

B13 если k == count;

В14 Вывод «попытки закончились;

В15 остановка.

45

Графический способ записи программы B представлен на рисунке 3.3.

Рисунок 3.3 – Блок схема алгоритма В

Листинг программы В представлен ниже.

using System; namespace _1000_7

{

class Program

{

static void Main(string[] args)

46

{

Console.WriteLine("Введите промежуток"); int n = Convert.ToInt32(Console.ReadLine());

Console.WriteLine("Введите число попыток"); int k = Convert.ToInt32(Console.ReadLine()); int count = 0;

int[] array = new int[1]; Random r = new Random(); for (int i = 0; i < 1; i++)

{

array[i] = r.Next(1, n);

}

for (int j = 0; j < k; j++)

{

Console.WriteLine("Введите число");

int c = Convert.ToInt32(Console.ReadLine()); if (c == array[0])

{

Console.WriteLine("Ты выиграл"); break;

}

else

{

if (c > array[0])

{

Console.WriteLine("Загаданное число меньше"); count += 1;

47

}

else

{

Console.WriteLine("Загаданое число больше"); count += 1;

}

}

}

if (k==count)

{

Console.WriteLine("Попытки закончились, попробуй ещё

раз");

}

}

}

}

Процесс выполнения программы В и вывод программы представлен на рисунке 3.4.

48

Рисунок 3.4 – работа программы В

Согласно условию задания, словесное описание программы C будет иметь вид:

С0 начало;

С1 ввод m1 = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }, m2 = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

C2 пока (m1[0] == 1 || m1[1] == 2 || m1[2] == 3 || m1[3] == 4 || m1[4] == 5 || m1[5] == 6 || m1[6] == 7 || m1[7] == 8 || m1[8] == 9 || m1[9] == 10), выполнять С3, иначе переход к С6;

C3 для всех i от 0 до i<=9, выполнять С4, иначе переход к С2;

С4 создаём рандомное число x;

С5 temp = m1[i], m1[i] = m1[x], m1[x] = temp;

С6 для i от 0 до < m1.Length выполнять С7, иначе переход к С8;

49

C7 вывод ($"{i+1}-{m1[i]}");

С8 остановка.

Графический способ записи программы C представлен на рисунке 3.5.

Рисунок 3.5 – Блок схема алгоритма С

50

Листинг программы С представлен ниже.

using System;

using System.Linq;

namespace _1000_7

{

class Program

{

static void Main(string[] args)

{

int[] m1 = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

int[] m2 = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

Random rand = new Random();

while(m1[0] == 1 || m1[1] == 2 || m1[2] == 3 || m1[3] == 4 || m1[4] == 5 || m1[5] == 6 || m1[6] == 7 || m1[7] == 8 || m1[8] == 9 || m1[9] == 10)

{

for (int i = 0; i <= 9; i++)

{

int x = rand.Next(i+1);

int temp = m1[i];

m1[i] = m1[x];

m1[x] = temp;

}

Соседние файлы в папке Ознакомительная практика