Вопрос задан 26.03.2021 в 06:00. Предмет Информатика. Спрашивает Саутиева Елизавета.

Написать класс Date, содержащий три поля: день, месяц, год. С помощью функций осуществить: 1)

Проверку года на високосность 2) Увеличить дату на 5 дней
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Волощук Саша.

Держи, PHP:


class Date {

 private $день;

 private $месяц;

 private $год;


 function __construct() {

   $сегодня = new DateTime();

   $this->день = $сегодня->format('d');

   $this->месяц = $сегодня->format('m');

   $this->год = $сегодня->format('Y');

 }


 public function Получить_год() { return $this->год; }

 public function Получить_месяц() { return $this->месяц; }

 public function Получить_день() { return $this->день; }


 public function Високосный_год() {

   return $this->год % 4 == 0 && ($this->год % 100 != 0 || $this->год % 400 == 0);

 }


 public function Плюс_5_дней() {

   $дата = new DateTime(strtotime($this->год . '-' . sprintf('%02d', $this->месяц) . '-' . sprintf('%02d', $this->день)) + 60 * 60 * 24 * 5);

   $this->день = $дата->format('d');

   $this->месяц = $дата->format('m');

   $this->год = $дата->format('Y');

 }

}


$дата = new Date();

echo $дата->Високосный() ? 'Високосный' : 'Не високосный';

$дата->Плюс_5_дней();

0 0
Отвечает Беспаленко Екатерина.

PascalABC.NET 3.4.2, сборка 1859 от 08.11.2018

Внимание! Если программа не работает, обновите версию!

type

 Date = class

 private

   Дата: System.DateTime;

 public

   день, месяц, год: integer;

   constructor(d, m, y: integer);

   begin

     try

       Дата := new System.DateTime(y, m, d);

       (день, месяц, год) := (d, m, y);

     except

       Println('Недопустимая дата');

       (день, месяц, год) := (1, 1, 0);

     end

   end;

   

   procedure ДобавитьДни(dd: integer);

   begin

     Дата := Дата.AddDays(dd);

     (день, месяц, год) := (Дата.Day, Дата.Month, Дата.Year)

   end;

   

   function ГодВисокосный: boolean;

   begin

     if год mod 400 = 0 then Result := True

     else

     if год mod 100 = 0 then Result := False

     else Result := год mod 4 = 0

   end;

 

 end;


begin

 var (d, m, y) := ReadInteger3('Введите день, месяц и год:');

 var dd := new Date(d, m, y);

 if dd.ГодВисокосный then Println('Год високосный')

 else Println('Год не високосный');

 dd.ДобавитьДни(5);

 Print('Новая дата', $'{dd.Дата:dd.MM.yyyy}')

end.

Пример

Введите день, месяц и год: 9 11 2018

Год не високосный

Новая дата 14.11.2018

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Вот пример реализации класса Date на языке Python:

python
class Date: def __init__(self, day, month, year): self.day = day self.month = month self.year = year def is_leap_year(self): if self.year % 4 == 0 and (self.year % 100 != 0 or self.year % 400 == 0): return True else: return False def increase_date(self): days_in_month = [31, 28 + int(self.is_leap_year()), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] self.day += 5 while self.day > days_in_month[self.month - 1]: self.day -= days_in_month[self.month - 1] self.month += 1 if self.month > 12: self.month = 1 self.year += 1

Класс Date содержит три поля: day, month и year. Метод is_leap_year() проверяет, является ли год високосным. Метод increase_date() увеличивает дату на 5 дней, учитывая количество дней в каждом месяце и возможность перехода на следующий год.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос