Erinevus lehekülje "ITI0011RUS:упражнение 02" redaktsioonide vahel

Allikas: Kursused
Mine navigeerimisribale Mine otsikasti
(Uus lehekülg: 'Срок сдачи упражнения '''4-е занятие (13-е февраля)'''. Общая информация об упражнениях: ITI0011RUS_Practice. ...')
 
 
(ei näidata sama kasutaja 7 vahepealset redaktsiooni)
1. rida: 1. rida:
Срок сдачи упражнения '''4-е занятие (13-е февраля)'''.
+
Срок сдачи упражнения '''4-е занятие (12-е февраля)'''.
  
Общая информация об упражнениях: [[ITI0011RUS_Practice]].
+
Общая информация об упражнениях: [[ITI0011RUS_Practice]].<br/>
 +
Обратно на [[ITI0011RUS|страницу предмета]].
  
 
== Описание ==
 
== Описание ==
  
Один из ваших друзей едет на Гаваи и хочет там открыть фирму. Он не хочет говорить о том чем он там будет заниматься. Поскольку он знает, что у вас большой опыт в программировании, просит написать небольшую программу, которая помогла бы ему в работе. Дело в том, что у него недостаточно денег для того чтобы нанять бухгалтера и оплачивать его работу. Поэтому большую часть работы он выполняет в Excel. Время от времени налоговая инспекция проверяет как развивается бизнес. Представители налоговой инспекции приходят в офис и проверяют баланс доходов/расходов за любой выбранный день. Ваш друг просит вас написать программу, которая бы давала ответ на этот вопрос. Programm saab ette päevade kasumite ajaloo (negatiivne kasum tähendab kahjumit) kuni N päeva (N ei ole täpselt teada) ning ühe konkreetse päeva, mille kohta maksuamet tahab teada kasuminumbrit. Kasumi ajalugu võib ulatuda näiteks 20 päeva tagasi. Maksuamet võib küsida kasumit näiteks 1. päeval (kõige kaugem päev minevikus), 2. päeval jne kuni 20. päeval. Etteantud kasuminimekiri on samamoodi järjestatud, et kõige esimene element näitab 1. päeva kasumit jne.
+
Один из ваших друзей едет на Гаваи и хочет там открыть фирму. Он не хочет говорить о том чем он там будет заниматься. Поскольку он знает, что у вас большой опыт в программировании, просит написать небольшую программу, которая помогла бы ему в работе. Дело в том, что у него недостаточно денег для того чтобы нанять бухгалтера и оплачивать его работу. Поэтому большую часть работы он выполняет в Excel. Время от времени налоговая инспекция проверяет как развивается бизнес. Представители налоговой инспекции приходят в офис и проверяют баланс доходов/расходов за любой выбранный день. Ваш друг просит вас написать программу, которая бы давала ответ на этот вопрос. Программе доступна информация о доходах за N последних дней (отрицательный доход означает расходы), причем значение N заранее неизвестно, а также конкретный день которым интересуются представители налоговой инспекции. История о доходах может хранить записи за последние, например, 20 дней. Представители налоговой инспекции могут поинтересоваться размеров доходов в первый день  (день который был 20 дней назад), во второй день и т.д до 20-го дня. Записи о доходах также упорядочены, самая первая запись соответствует записи о доходах в первый день, и т.д.
  
Aga see pole veel kõik. Hawaiil on väga imelik maksusüsteem. Maksuamet võib küsida informatsiooni ka näiteks tuleviku kohta. Kuigi teie sõbra äri on töös olnud 20 päeva (ehk siis ajalugu on 20 päeva kohta), võib maksuamet küsida 21. päeva kasumit. Sealne "seadus" ütleb nii, et tulevik ennustatakse mineviku pealt. Esimene päev peale ajalugu kordub ajaloo esimene päev. Ehk siis 21. päeva kasum on täpselt sama, mis oli 1. päeva kasum. 30. päeva kasum on täpselt sama mis oli 10. päeva kasum. Sarnaselt kordub ajalugu ka edaspidi tulevikus. Näiteks 51. päeva kasum on sama mis 11. päeva kasum.
+
Это еще не все. В штате Гаваи очень странная система налогообложения. Представители налоговой инспекции могут спросить информацию о будущем. Хотя бизнес вашего друга просуществовал всего 20 дней (тоесть существуют записи о доходах всего за 20 дней), представители налоговой инспекции могут спросить размер доходов в 21-й день. Согласно местным "законам", будущее можно предсказать по прошлому. Тоесть доход за 21-й день в точности идентичен доходу за 1-й день. Доход за 30-й день в точности такой же, как и доход за 10-й день. Точно таким же образом размер дохода происходит в будущем. Например, доход за 51-й день такой же, как и доход за 11-й день.
  
Ja ka see pole veel kõik. Kohalik kultuur võimaldab pühapäevadel pidada "kõrgema maksu päeva". See tähendab seda, et kasumliku pühapäeva puhul on tegelik kasum 20% suurem. Seega, kui muidu pühapäeva numbrid näitavad kasumiks 100 ühikut raha, siis "kõrgema maksu päeva" tõttu saab välja näidata 120 ühikut. Kahjumi korral saab kahjumit vähendada 10%. Ehk siis -100 puhul oleks näidatav tulemus -90. On teada, et teie sõber alustas oma äri esmaspäeval. Numbritega opereerimisel tuleb ümardada matemaatika reegleid kasutades (11.5 => 12, 11.49 => 11, -12.5 => -13, -12.49 => -12), tulemus on alati täisarv.
+
И это еще не все. Местная культура позволяет по воскресеньям проводить "дни увеличенного дохода". Это означает то, что в такой день доходы на 20% выше. Таким образом, если в обычное воскресенье фирма выручила 100 денежных единиц, то в "день повышенного дохода" запись о доходах может содержать 120 денежных единиц. В случае убытков, запись о доходах может содержать на 10% меньшее значение. Тоесть в случае доходов в -100 денежных единиц регистрируемый результат только -90. Известно, что ваш друг начал вести свой бизнес в понедельник. Производя арифместические расчеты, результат следует округлять в соответствии с правилами математики (11.5 => 12, 11.49 => 11, -12.5 => -13, -12.49 => -12), tulemus on alati täisarv.
  
Aga ka see pole veel kõik. Nimelt ei taha teie sõber näidata välja kahjumit. Kui maksuameti küsitud päev juhtub kahjumiga olema, tahab teie sõber, et programm tagastaks kas eelmise (kui selline päev on olemas), sama või järgmise päeva kasumi - vastavalt sellele, mis annab parema tulemuse (on suurem kasum/väiksem kahjum).
+
Но и это еще не все. Ваш друг не хочет докладывать инспекции о расходах. Если вдруг представитель инспекции поинтересуется днем, когда фирма потерпела убытки, ваш друг хочет, чтобы программа возвращала запись либо о предыдущем дне (если такая запись присутствует), о текущем дне или о завтрашнем дне - в соответствии с тем, какая из записей будет содержать наибольший результат (больше доход/меньше расход).
  
== Mall ==
+
== Шаблон ==
  
 
<source lang="java">
 
<source lang="java">
19. rida: 20. rida:
 
  * Home assignment 02.´
 
  * Home assignment 02.´
 
  *  
 
  *  
  * Read more: https://courses.cs.ttu.ee/pages/ITI0011:harjutus_02
+
  * Read more: https://courses.cs.ttu.ee/pages/ITI0011:упражнение_02
 
  *
 
  *
 
  */
 
  */
33. rida: 34. rida:
 
* The first element of the array indicates the profit
 
* The first element of the array indicates the profit
 
* for the first day etc.
 
* for the first day etc.
* @param whotYouAskMon The day for which the tax officer
+
* @param whatYouAskMon The day for which the tax officer
 
* wants to get information.
 
* wants to get information.
 
* @return The profit to be shown to the tax officer.
 
* @return The profit to be shown to the tax officer.
 
*/
 
*/
public static int getMyBigMoneys(int[] whatHas, int whotYouAskMon) {
+
public static int getMyBigMoneys(int[] whatHas, int whatYouAskMon) {
 
// yoyo, your code here
 
// yoyo, your code here
 
return 0;
 
return 0;
62. rida: 63. rida:
 
</source>
 
</source>
  
== Täiendavat infot ==
+
== Дополнительная информация ==
  
Teie peate kirjutama funktsiooni getMyBigMoneys sisu. Funktsioonile antakse ette kaks argumenti: täisarvude massiiv ja täisarv. Massiiv sisaldab kõiki kasumeid ajaloos. Kui massiivi pikkus on 10, siis järelikult sisaldab ta kasumeid päevast 1 kuni päevani 10 (mõlemad kaasa arvatud). Teine number on päeva järjekorranumber, mille kohta peate kasumiinfo tagastama.
+
Вам следует написать тело функции getMyBigMoneys. Функция принимает два аргумента: массив целых чисел и целое число. Массив содержит историю доходов. Если длина массива 10, то соответственно, он содержит записи начиная с дня 1 и до дня 10 (обе границы включены в интервал). Второй аргумент - номер дня из этого списка, за который следует вернуть запись о доходах.
  
Funktsioon tagastab ühe numbri - kasumiinfo vastavalt üleval kirjeldatud soovidele.
+
Функция возвращает одно число - значение дохода за выбранный день в соответствии с условиями описанными выше.
  
Massiivi pikkuse saate kätte: <pre>array.length</pre>
+
Длина массива: <pre>array.length</pre>
  
Massiivi elemendid vastavalt indeksiga idx: <pre>array[idx]</pre>
+
Элемент массива под индексом idx: <pre>array[idx]</pre>
  
Jäägiga opereerimine: <pre>5 % 3 => 2</pre>
+
Остаток деления: <pre>5 % 3 => 2</pre>
  
Soovitatav on enne natuke läbi mõelda, mis reeglid ülesande tekstis kirjas on. Samuti tasub näiteid vaadata ja nendest proovida aru saada.
+
Прежде чем начать писать код советуем обдумать условия задания. Также следует подумать над примерами и понять их. Тогда можно приниматься за написание кода.

Viimane redaktsioon: 12. veebruar 2015, kell 22:24

Срок сдачи упражнения 4-е занятие (12-е февраля).

Общая информация об упражнениях: ITI0011RUS_Practice.
Обратно на страницу предмета.

Описание

Один из ваших друзей едет на Гаваи и хочет там открыть фирму. Он не хочет говорить о том чем он там будет заниматься. Поскольку он знает, что у вас большой опыт в программировании, просит написать небольшую программу, которая помогла бы ему в работе. Дело в том, что у него недостаточно денег для того чтобы нанять бухгалтера и оплачивать его работу. Поэтому большую часть работы он выполняет в Excel. Время от времени налоговая инспекция проверяет как развивается бизнес. Представители налоговой инспекции приходят в офис и проверяют баланс доходов/расходов за любой выбранный день. Ваш друг просит вас написать программу, которая бы давала ответ на этот вопрос. Программе доступна информация о доходах за N последних дней (отрицательный доход означает расходы), причем значение N заранее неизвестно, а также конкретный день которым интересуются представители налоговой инспекции. История о доходах может хранить записи за последние, например, 20 дней. Представители налоговой инспекции могут поинтересоваться размеров доходов в первый день (день который был 20 дней назад), во второй день и т.д до 20-го дня. Записи о доходах также упорядочены, самая первая запись соответствует записи о доходах в первый день, и т.д.

Это еще не все. В штате Гаваи очень странная система налогообложения. Представители налоговой инспекции могут спросить информацию о будущем. Хотя бизнес вашего друга просуществовал всего 20 дней (тоесть существуют записи о доходах всего за 20 дней), представители налоговой инспекции могут спросить размер доходов в 21-й день. Согласно местным "законам", будущее можно предсказать по прошлому. Тоесть доход за 21-й день в точности идентичен доходу за 1-й день. Доход за 30-й день в точности такой же, как и доход за 10-й день. Точно таким же образом размер дохода происходит в будущем. Например, доход за 51-й день такой же, как и доход за 11-й день.

И это еще не все. Местная культура позволяет по воскресеньям проводить "дни увеличенного дохода". Это означает то, что в такой день доходы на 20% выше. Таким образом, если в обычное воскресенье фирма выручила 100 денежных единиц, то в "день повышенного дохода" запись о доходах может содержать 120 денежных единиц. В случае убытков, запись о доходах может содержать на 10% меньшее значение. Тоесть в случае доходов в -100 денежных единиц регистрируемый результат только -90. Известно, что ваш друг начал вести свой бизнес в понедельник. Производя арифместические расчеты, результат следует округлять в соответствии с правилами математики (11.5 => 12, 11.49 => 11, -12.5 => -13, -12.49 => -12), tulemus on alati täisarv.

Но и это еще не все. Ваш друг не хочет докладывать инспекции о расходах. Если вдруг представитель инспекции поинтересуется днем, когда фирма потерпела убытки, ваш друг хочет, чтобы программа возвращала запись либо о предыдущем дне (если такая запись присутствует), о текущем дне или о завтрашнем дне - в соответствии с тем, какая из записей будет содержать наибольший результат (больше доход/меньше расход).

Шаблон

<source lang="java"> /**

* Home assignment 02.´
* 
* Read more: https://courses.cs.ttu.ee/pages/ITI0011:упражнение_02
*
*/

public class Task02 {

/** * Your killer app, which tries to fool the tax office * that your friend is a killer businessman. * * (don't try this at home, we haven't taught you anything) * * @param whatHas An array of profits for every day. * The first element of the array indicates the profit * for the first day etc. * @param whatYouAskMon The day for which the tax officer * wants to get information. * @return The profit to be shown to the tax officer. */ public static int getMyBigMoneys(int[] whatHas, int whatYouAskMon) { // yoyo, your code here return 0; }

/** * The main method, which is the entry point of the program. * !!IMPORTANT!! You have to keep the main method in order * to get your solution tested. * @param args Arguments from the command line */ public static void main(String[] args) { System.out.println(getMyBigMoneys(new int[]{1}, 1)); // => 1 System.out.println(getMyBigMoneys(new int[]{1, -2, 3}, 2)); // => 3 System.out.println(getMyBigMoneys(new int[]{-1, 2, 3}, 4)); // => 3 System.out.println(getMyBigMoneys( new int[]{-1, 2, 3, 4, 5, -60, -70, -80}, 7)); // => -60 System.out.println(getMyBigMoneys( new int[]{-1, 2, 3, 4, -70, -60, -65, -80}, 6)); // => -59 }

}

</source>

Дополнительная информация

Вам следует написать тело функции getMyBigMoneys. Функция принимает два аргумента: массив целых чисел и целое число. Массив содержит историю доходов. Если длина массива 10, то соответственно, он содержит записи начиная с дня 1 и до дня 10 (обе границы включены в интервал). Второй аргумент - номер дня из этого списка, за который следует вернуть запись о доходах.

Функция возвращает одно число - значение дохода за выбранный день в соответствии с условиями описанными выше.

Длина массива:

array.length

Элемент массива под индексом idx:

array[idx]

Остаток деления:

5 % 3 => 2

Прежде чем начать писать код советуем обдумать условия задания. Также следует подумать над примерами и понять их. Тогда можно приниматься за написание кода.