mzia-mzia-60682
?>

Формативное оценивание за раздел работы с документами 1 вариант ​

Информатика

Ответы

lazarevaavrora

Осуществил с того что я умею, сложного не использовал ибо еще не дошел до него . Тут 2 класса идут в двух разных .cs .

Единственные нюансы: 1) не осуществил год до нашей эры, т.е если год вводится -2 (2 до н.е) выводится 2.

2) запутанность жесткая, ибо использовал goto и много переменных разных. с моими текущими знаниями я не мог использовать что то попроще, возможно оптимизируете.

1 класс:

using System;

namespace HomeLibrary

{

   class ListOfBooks

   {

       static string Author, Category, Name; static int Year;

       public static bool Indicate, SecondIndicate, ThirdIndicate;

       public static string SetAuthor

       {

           get

           {

               return Author;

           }

           set

           {

               if (string.IsNullOrWhiteSpace(value) || int.TryParse(value, out int WrongValue))

               {

                   Indicate = true;

               }

               else

               {

                   Author = value;

               }

           }

       }

       public static int SetYear

       {

           get

           {

               return Year;

           }

           set

           {

               if(value >= 0 && value <= 2022)

               {

                   Year = value;

               }

           }

       }

       public static string SetCategory

       {

           get

           {

               return Category;

           }

           set

           {

               if (string.IsNullOrWhiteSpace(value) || int.TryParse(value, out int WrongValue))

               {

                   SecondIndicate = true;

               }

               else

               {

                   Category = value;

               }

           }

       }

       public static string SetName

       {

           get

           {

               return Name;

           }

           set

           {

               if (string.IsNullOrWhiteSpace(value) || int.TryParse(value, out int WrongValue))

               {

                   ThirdIndicate = true;

               }

               else

               {

                   Name = value;

               }

           }

       }

   }

}

2 класс.

using System;

using System.Collections.Generic;

namespace HomeLibrary

{

   class Program

   {

       static void SecondMenue(int SecondChoise)

       {

           switch(SecondChoise)

           {

               case 2:

                   List<string> Books = new List<string>();

                   TryAgain4:

                   Console.WriteLine("Введите название книги.");

                   ListOfBooks.SetName = Console.ReadLine();

                   if (ListOfBooks.ThirdIndicate == true)

                   {

                       Console.WriteLine("Попробуйте ещё раз. Некорректное значение.");

                       ListOfBooks.ThirdIndicate = false;

                       Console.ReadLine();

                       goto TryAgain4;

                   }

                   TryAgain:

                   Console.WriteLine("Введите имя/псевдоним автора.");

                   ListOfBooks.SetAuthor = Console.ReadLine();

                   if ( ListOfBooks.Indicate == true)

                   {

                       Console.WriteLine("Попробуйте ещё раз. Некорректное значение.");

                       ListOfBooks.Indicate = false;

                       Console.ReadLine();

                       goto TryAgain;

                   }

                   TryAgain2:

                   string YearString;

                   Console.WriteLine("Введите год выпуска книги.");

                   YearString = Console.ReadLine();

                   if (!(int.TryParse(YearString, out int Year)))

                   {

                       Console.WriteLine("Попробуйте ещё раз. Некорректное значение.");

                       Console.ReadLine();

                       goto TryAgain2;

                   }

                   ListOfBooks.SetYear = Year;

                   TryAgain3:

                   Console.WriteLine("Введите категорию книги.");  

                   ListOfBooks.SetCategory = Console.ReadLine();

                   if (ListOfBooks.SecondIndicate == true)

                   {

                       Console.WriteLine("Попробуйте ещё раз. Некорректное значение.");

                       ListOfBooks.SecondIndicate = false;

                       Console.ReadLine();

                       goto TryAgain3;

                   }

                   Books.Add($"Книга: {ListOfBooks.SetName}, Автор: {ListOfBooks.SetAuthor}, Год: {ListOfBooks.SetYear}, Категория: {ListOfBooks.SetCategory}.");

                   Console.WriteLine("Книга успешно добавлена в вашу библиотеку.");

                   string ChoiceAfter;

                   TryAgain5:

                   Console.WriteLine("Желаете добавить ещё книгу - 2 , посмотреть список книг - 3, закончить - 4 .");

                   ChoiceAfter = Console.ReadLine(); if (int.TryParse(ChoiceAfter, out int Choice) && Choice == 2) goto TryAgain4;

                   else if(Choice == 3)

                   {

                       Console.WriteLine("Список ваших книг:");

                       foreach(string Book in Books)

                       {

                           Console.Write($"\n{Book}");

                           Console.ReadLine();

                       }

                       goto TryAgain5;

                   }

                   else if(Choice == 4)

                   {

                       Console.WriteLine("Всего доброго!");

                       Console.ReadLine();

                       return;

                   }

           break;

               case 4:

                   Console.WriteLine("Всего доброго!");

                   Console.ReadLine();

                   return;

           }

       }

       static void Menue(int UserNumber)

       {

           TryAgainX2:

           switch (UserNumber)

           {

               case 1:

                   string ChoiseString;

                   Console.WriteLine("Добавить книгу - 2 , Закончить работу - 4 .");

                   ChoiseString = Console.ReadLine();

                   int.TryParse(ChoiseString, out int Choise); if (Choise >= 2 && Choise <= 4) SecondMenue(Choise);

                   break;

               default:

                   Console.WriteLine("Некорректное значение");

           goto TryAgainX2;

           break;

           }

       }

       static void Main(string[] args)

       {

           TryAgain:

           string ChoiceFirst;

           Console.WriteLine("Здравствуйте, Вас приветсвует домашняя библиотека. Открыть меню команд - 1");

           ChoiceFirst = Console.ReadLine();

           if (int.TryParse(ChoiceFirst, out int Choice) && Choice == 1) Menue(Choice);

           else

           {

               Console.WriteLine("Неверное значение, попробуйте ещё раз.");

               goto TryAgain;

           }

           Console.ReadLine();

       }

   }

}


C#. Задание массивное и интересное.Описать класс Библиотека.
phmad7
Не особо знаю паскаль, так что дабы не накосячить с синтаксисом, покажу на примере. Тут всё просто - тебе лишь нужен цикл For и расчет процентов.

FOR i = 1 TO 100
percents = FIX(x * p / 100) ' здесь у нас есть переменная percents, которой присваиваются округленные функцией fix проценты (насколько я знаю, в паскале аналогичная функция называется Round)
x = x + percents 'тут всё понятно - переменной X присваивается она сама и годовые проценты по вкладу
IF x >= y THEN 'проверяем, не равен или не превысил ли наш вклад ожидаемую сумму
PRINT i 'в цикле For можно не заморачиваться с отслеживанием лет, переменная i сама подсчитает количество итераций-лет
END 'завершаем программу
END IF
NEXT i ' конец цикла
Можно ещё чисто для себя добавить в условие вывод переменной X, чтобы было нагляднее.  

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Формативное оценивание за раздел работы с документами 1 вариант ​
Ваше имя (никнейм)*
Email*
Комментарий*