@ file : Suppress (" UNUSED _ PARAMETER ") čĊč Ċ package Ġlesson 1 1 . task 1 čĊč Ċ /** čĊ Ġ* ĠÐļ Ð»Ð°ÑģÑģ Ġ" Ð² Ðµ Ñī ÐµÑģÑĤÐ² ÐµÐ½ Ð½Ð¾Ðµ ĠÑĩ Ð¸Ñģ Ð»Ð¾ ĠÑģ ĠÑĦ Ð¸Ðº Ñģ Ð¸ÑĢÐ¾Ð² Ð°Ð½ Ð½Ð¾Ð¹ ĠÑĤ Ð¾Ñĩ Ðº Ð¾Ð¹ " čĊ Ġ* čĊ Ġ* ĠÐŀ Ð± Ñī Ð°Ñı ĠÑģÐ» Ð¾Ð¶ Ð½Ð¾ÑģÑĤÑĮ ĠÐ·Ð°Ð´ Ð°Ð½Ð¸Ñı Ġ- ĠÑģÐ» Ð¾Ð¶ Ð½Ð°Ñı , ĠÐ¾Ð± Ñī Ð°Ñı ĠÑĨ ÐµÐ½ Ð½Ð¾ÑģÑĤÑĮ ĠÐ² ĠÐ± Ð°Ð» Ð»Ð° Ñħ Ġ-- Ġ 2 0 . čĊ Ġ* ĠÐŀ Ð± ÑĬ ÐµÐºÑĤ ĠÐºÐ»Ð°ÑģÑģ Ð° Ġ- ĠÐ² Ðµ Ñī ÐµÑģÑĤÐ² ÐµÐ½ Ð½Ð¾Ðµ ĠÑĩ Ð¸Ñģ Ð»Ð¾ ĠÑģ ĠÐ·Ð°Ð´ Ð°Ð½ Ð½ÑĭÐ¼ ĠÑĩ Ð¸Ñģ Ð» Ð¾Ð¼ ĠÐ´ Ðµ ÑģÑı ÑĤÐ¸ Ñĩ Ð½ÑĭÑħ ĠÑĨ Ð¸ÑĦ ÑĢ ĠÐ¿Ð¾ÑģÐ» Ðµ ĠÐ·Ð°Ð¿ ÑıÑĤ Ð¾Ð¹ Ġ( precision , ĠÑĤ Ð¾Ñĩ Ð½Ð¾ÑģÑĤÑĮ ). čĊ Ġ* ĠÐĿ Ð°Ð¿ ÑĢ Ð¸Ð¼ÐµÑĢ , ĠÐ´Ð»Ñı ĠÐ¾ Ð³ÑĢ Ð°Ð½Ð¸ Ñĩ ÐµÐ½Ð¸Ñı ĠÐ² ĠÑĤ ÑĢÐ¸ ĠÐ· Ð½ Ð°Ðº Ð° ĠÑįÑĤÐ¾ ĠÐ¼Ð¾Ð¶ÐµÑĤ ĠÐ±ÑĭÑĤÑĮ ĠÑĩ Ð¸Ñģ Ð»Ð¾ Ġ 1 . 2 3 4 ĠÐ¸Ð»Ð¸ Ġ- 9 8 7 6 5 4 . 3 2 1 . čĊ Ġ* ĠÐ § Ð¸Ñģ Ð»Ð° ĠÐ¼Ð¾Ð¶Ð½Ð¾ ĠÑģÐº Ð» Ð°Ð´ ÑĭÐ² Ð°ÑĤÑĮ , ĠÐ²Ñĭ Ñĩ Ð¸ÑĤ Ð°ÑĤÑĮ , ĠÑĥ Ð¼ Ð½ Ð¾Ð¶ Ð°ÑĤÑĮ , ĠÐ´ ÐµÐ» Ð¸ÑĤÑĮ čĊ Ġ* Ġ( Ð¿ ÑĢÐ¸ ĠÑįÑĤ Ð¾Ð¼ ĠÑĤ Ð¾Ñĩ Ð½Ð¾ÑģÑĤÑĮ ĠÑĢ ÐµÐ· ÑĥÐ»ÑĮ ÑĤ Ð°ÑĤÐ° ĠÐ²ÑĭÐ± Ð¸ ÑĢÐ° ÐµÑĤÑģÑı ĠÐºÐ°Ðº ĠÐ½Ð° Ð¸Ð± Ð¾Ð»ÑĮ ÑĪ Ð°Ñı ĠÑĤ Ð¾Ñĩ Ð½Ð¾ÑģÑĤÑĮ ĠÐ° ÑĢ Ð³ ÑĥÐ¼ÐµÐ½ÑĤ Ð¾Ð² ), čĊ Ġ* ĠÐ° ĠÑĤÐ°Ðº Ð¶Ðµ ĠÑģ ÑĢÐ°Ð² Ð½ Ð¸ÑĤÑĮ ĠÐ½Ð° ĠÑĢÐ°Ð ² ÐµÐ½ ÑģÑĤÐ² Ð¾ ĠÐ¸ ĠÐ± Ð¾Ð»ÑĮ ÑĪÐµ / Ð¼ÐµÐ½ ÑĮ ÑĪÐµ , ĠÐ¿ÑĢ Ðµ Ð¾Ð± ÑĢÐ°Ð· Ð¾Ð² ÑĭÐ² Ð°ÑĤÑĮ ĠÐ² ĠÑģÑĤÑĢÐ¾Ðº Ñĥ ĠÐ¸ ĠÑĤÐ¸Ð¿ ĠDouble . čĊ Ġ* čĊ Ġ* ĠÐĴ Ñĭ ĠÐ¼Ð¾Ð¶ÐµÑĤ Ðµ ĠÑģ Ð°Ð¼Ð¸ ĠÐ²ÑĭÐ± ÑĢ Ð°ÑĤÑĮ , ĠÐºÐ°Ðº ĠÑħ ÑĢÐ°Ð½ Ð¸ÑĤÑĮ ĠÑĩ Ð¸Ñģ Ð»Ð¾ ĠÐ² ĠÐ¿ Ð°Ð¼ Ñı ÑĤÐ¸ čĊ Ġ* Ġ( Ð² ĠÐ²Ð¸Ð´ Ðµ ĠÑģÑĤÑĢÐ¾Ðº Ð¸ , ĠÑĨ ÐµÐ» Ð¾Ð³Ð¾ ĠÑĩ Ð¸Ñģ Ð»Ð° , ĠÐ´Ð² Ñĥ Ñħ ĠÑĨ ÐµÐ» ÑĭÑħ ĠÑĩ Ð¸Ñģ ÐµÐ» ĠÐ¸ ĠÑĤ . Ð´ .). čĊ Ġ* ĠÐŁ ÑĢÐµÐ´ ÑģÑĤÐ°Ð² Ð»ÐµÐ½Ð¸Ðµ ĠÑĩ Ð¸Ñģ Ð»Ð° ĠÐ´Ð¾Ð»Ð¶ Ð½Ð¾ ĠÐ¿Ð¾Ð· Ð²Ð¾Ð» Ñı ÑĤÑĮ ĠÑħ ÑĢÐ°Ð½ Ð¸ÑĤÑĮ ĠÑĩ Ð¸Ñģ Ð»Ð° ĠÑģ ĠÐ¾Ð± Ñī Ð¸Ð¼ ĠÑĩ Ð¸Ñģ Ð» Ð¾Ð¼ ĠÐ´ Ðµ ÑģÑı ÑĤÐ¸ Ñĩ Ð½ÑĭÑħ ĠÑĨ Ð¸ÑĦ ÑĢ ĠÐ½Ðµ ĠÐ¼ÐµÐ½ ÐµÐµ Ġ 9 . čĊ Ġ*/ č Ċ class ĠFixed Point Number Ġ: ĠComparable < Fixed Point Number > Ġ{ čĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠÐ¢ Ð¾Ñĩ Ð½Ð¾ÑģÑĤÑĮ Ġ- ĠÑĩ Ð¸Ñģ Ð»Ð¾ ĠÐ´ Ðµ ÑģÑı ÑĤÐ¸ Ñĩ Ð½ÑĭÑħ ĠÑĨ Ð¸ÑĦ ÑĢ ĠÐ¿Ð¾ÑģÐ» Ðµ ĠÐ·Ð°Ð¿ ÑıÑĤ Ð¾Ð¹ . čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġval Ġprecision : ĠInt Ġget () Ġ= ĠTODO () čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠÐļ Ð¾Ð½ ÑģÑĤ ÑĢÑĥÐº ÑĤÐ¾ÑĢ ĠÐ¸Ð· ĠÑģÑĤÑĢÐ¾Ðº Ð¸ , ĠÑĤ Ð¾Ñĩ Ð½Ð¾ÑģÑĤÑĮ ĠÐ²ÑĭÐ± Ð¸ ÑĢÐ° ÐµÑĤÑģÑı ĠÐ² ĠÑģÐ¾ Ð¾ÑĤ Ð²ÐµÑĤ ÑģÑĤÐ² Ð¸Ð¸ čĊĠĠĠĠ Ġ* ĠÑģ ĠÑĩ Ð¸Ñģ Ð» Ð¾Ð¼ ĠÑĨ Ð¸ÑĦ ÑĢ ĠÐ¿Ð¾ÑģÐ» Ðµ ĠÐ´ Ðµ ÑģÑı ÑĤÐ¸ Ñĩ Ð½Ð¾Ð¹ ĠÑĤ Ð¾Ñĩ ÐºÐ¸ . čĊĠĠĠĠ Ġ* ĠÐķÑģÐ»Ð¸ ĠÑģÑĤÑĢÐ¾Ðº Ð° ĠÐ½ ÐµÐº Ð¾ÑĢ ÑĢ ÐµÐºÑĤ Ð½Ð° ĠÐ¸Ð»Ð¸ ĠÑĨ Ð¸ÑĦ ÑĢ ĠÑģ Ð»Ð¸ ÑĪ Ðº Ð¾Ð¼ ĠÐ¼ Ð½Ð¾Ð³Ð¾ , čĊĠĠĠĠ Ġ* ĠÐ± ÑĢÐ¾Ñģ Ð¸ÑĤÑĮ ĠNumber FormatException . čĊĠĠĠĠ Ġ* čĊĠĠĠĠ Ġ* ĠÐĴ Ð½ Ð¸Ð¼ Ð°Ð½Ð¸Ðµ : ĠÑįÑĤ Ð¾ÑĤ ĠÐ¸Ð»Ð¸ ĠÐ´ÑĢÑĥÐ³ Ð¾Ð¹ ĠÐºÐ¾Ð½ ÑģÑĤ ÑĢÑĥÐº ÑĤÐ¾ÑĢ ĠÐ¼Ð¾Ð¶Ð½Ð¾ ĠÑģ Ð´ÐµÐ» Ð°ÑĤÑĮ ĠÐ¾Ñģ Ð½Ð¾Ð² Ð½ÑĭÐ¼ čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġconstructor ( s : ĠString ) Ġ{ čĊĠĠĠĠĠĠĠ ĠTODO () čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠÐļ Ð¾Ð½ ÑģÑĤ ÑĢÑĥÐº ÑĤÐ¾ÑĢ ĠÐ¸Ð· ĠÐ² Ðµ Ñī ÐµÑģÑĤÐ² ÐµÐ½ Ð½Ð¾Ð³Ð¾ ĠÑĩ Ð¸Ñģ Ð»Ð° ĠÑģ ĠÐ·Ð°Ð´ Ð°Ð½ Ð½Ð¾Ð¹ ĠÑĤ Ð¾Ñĩ Ð½Ð¾ÑģÑĤ ÑĮÑİ čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġconstructor ( d : ĠDouble , Ġp : ĠInt ) Ġ{ čĊĠĠĠĠĠĠĠ ĠTODO () čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠÐļ Ð¾Ð½ ÑģÑĤ ÑĢÑĥÐº ÑĤÐ¾ÑĢ ĠÐ¸Ð· ĠÑĨ ÐµÐ» Ð¾Ð³Ð¾ ĠÑĩ Ð¸Ñģ Ð»Ð° Ġ( Ð¿ ÑĢÐµÐ´ Ð¿ Ð¾Ð» Ð°Ð³ Ð°ÐµÑĤ ĠÐ½ Ñĥ Ð» ÐµÐ² ÑĥÑİ ĠÑĤ Ð¾Ñĩ Ð½Ð¾ÑģÑĤÑĮ ) čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġconstructor ( i : ĠInt ) Ġ{ čĊĠĠĠĠĠĠĠ ĠTODO () čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠÐ¡ Ð» Ð¾Ð¶ ÐµÐ½Ð¸Ðµ . čĊĠĠĠĠ Ġ* čĊĠĠĠĠ Ġ* ĠÐĹ Ð´ ÐµÑģ ÑĮ ĠÐ¸ ĠÐ² ĠÐ´ÑĢÑĥÐ³ Ð¸Ñħ ĠÐ± Ð¸ Ð½Ð° ÑĢ Ð½ÑĭÑħ ĠÐ¾Ð¿ ÐµÑĢ Ð°ÑĨÐ¸Ñı Ñħ čĊĠĠĠĠ Ġ* ĠÑĤ Ð¾Ñĩ Ð½Ð¾ÑģÑĤÑĮ ĠÑĢ ÐµÐ· ÑĥÐ»ÑĮ ÑĤ Ð°ÑĤÐ° ĠÐ²ÑĭÐ± Ð¸ ÑĢÐ° ÐµÑĤÑģÑı ĠÐºÐ°Ðº ĠÐ½Ð° Ð¸Ð± Ð¾Ð»ÑĮ ÑĪ Ð°Ñı ĠÑĤ Ð¾Ñĩ Ð½Ð¾ÑģÑĤÑĮ ĠÐ° ÑĢ Ð³ ÑĥÐ¼ÐµÐ½ÑĤ Ð¾Ð² . čĊĠĠĠĠ Ġ* ĠÐ Ľ Ð¸ ÑĪ Ð½Ð¸ Ðµ ĠÐ· Ð½ Ð°Ðº Ð¸ ĠÐ¾ÑĤ ÑĢ Ð± ÑĢ Ð°Ñģ ÑĭÐ² Ð° ÑİÑĤÑģÑı , ĠÑĩ Ð¸Ñģ Ð»Ð¾ ĠÐ¾ Ðº ÑĢÑĥÐ³ Ð»Ñı ÐµÑĤÑģÑı ĠÐ¿Ð¾ ĠÐ¿ÑĢÐ°Ð² Ð¸Ð» Ð°Ð¼ ĠÐ° ÑĢÐ¸ ÑĦ Ð¼ ÐµÑĤ Ð¸ ÐºÐ¸ . čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġoperator Ġfun Ġplus ( other : ĠFixed Point Number ): ĠFixed Point Number Ġ= ĠTODO () čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠÐ¡ Ð¼ÐµÐ½ Ð° ĠÐ· Ð½ Ð°Ðº Ð° čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġoperator Ġfun Ġunary Minus (): ĠFixed Point Number Ġ= ĠTODO () čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠÐĴ Ñĭ Ñĩ Ð¸ÑĤ Ð°Ð½Ð¸Ðµ čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġoperator Ġfun Ġminus ( other : ĠFixed Point Number ): ĠFixed Point Number Ġ= ĠTODO () čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠÐ£ Ð¼ Ð½ Ð¾Ð¶ ÐµÐ½Ð¸Ðµ čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġoperator Ġfun Ġtimes ( other : ĠFixed Point Number ): ĠFixed Point Number Ġ= ĠTODO () čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠÐĶ ÐµÐ» ÐµÐ½Ð¸Ðµ čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġoperator Ġfun Ġdiv ( other : ĠFixed Point Number ): ĠFixed Point Number Ġ= ĠTODO () čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠÐ¡ ÑĢÐ°Ð² Ð½ ÐµÐ½Ð¸Ðµ ĠÐ½Ð° ĠÑĢÐ°Ð ² ÐµÐ½ ÑģÑĤÐ² Ð¾ čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ= ĠTODO () čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠÐ¡ ÑĢÐ°Ð² Ð½ ÐµÐ½Ð¸Ðµ ĠÐ½Ð° ĠÐ± Ð¾Ð»ÑĮ ÑĪÐµ / Ð¼ÐµÐ½ ÑĮ ÑĪÐµ čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġoverride Ġfun Ġcompare To ( other : ĠFixed Point Number ): ĠInt Ġ= ĠTODO () čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠÐŁ ÑĢ Ðµ Ð¾Ð± ÑĢÐ°Ð· Ð¾Ð² Ð°Ð½Ð¸Ðµ ĠÐ² ĠÑģÑĤÑĢÐ¾Ðº Ñĥ čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ= ĠTODO () čĊčĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* ĠÐŁ ÑĢ Ðµ Ð¾Ð± ÑĢÐ°Ð· Ð¾Ð² Ð°Ð½Ð¸Ðµ ĠÐº ĠÐ² Ðµ Ñī ÐµÑģÑĤÐ² ÐµÐ½ Ð½Ð¾Ð¼ Ñĥ ĠÑĩ Ð¸Ñģ Ð» Ñĥ čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġfun Ġto Double (): ĠDouble Ġ= ĠTODO () č Ċ }