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

Allikas: Kursused
Mine navigeerimisribale Mine otsikasti
7. rida: 7. rida:
 
Один из ваших друзей едет на Гаваи и хочет там открыть фирму. Он не хочет говорить о том чем он там будет заниматься. Поскольку он знает, что у вас большой опыт в программировании, просит написать небольшую программу, которая помогла бы ему в работе. Дело в том, что у него недостаточно денег для того чтобы нанять бухгалтера и оплачивать его работу. Поэтому большую часть работы он выполняет в Excel. Время от времени налоговая инспекция проверяет как развивается бизнес. Представители налоговой инспекции приходят в офис и проверяют баланс доходов/расходов за любой выбранный день. Ваш друг просит вас написать программу, которая бы давала ответ на этот вопрос. Программе доступна информация о доходах за N последних дней (отрицательный доход означает расходы), причем значение N заранее неизвестно, а также конкретный день которым интересуются представители налоговой инспекции. История о доходах может хранить записи за последние, например, 20 дней. Представители налоговой инспекции могут поинтересоваться размеров доходов в первый день  (день который был 20 дней назад), во второй день и т.д до 20-го дня. Записи о доходах также упорядочены, самая первая запись соответствует записи о доходах в первый день, и т.д.
 
Один из ваших друзей едет на Гаваи и хочет там открыть фирму. Он не хочет говорить о том чем он там будет заниматься. Поскольку он знает, что у вас большой опыт в программировании, просит написать небольшую программу, которая помогла бы ему в работе. Дело в том, что у него недостаточно денег для того чтобы нанять бухгалтера и оплачивать его работу. Поэтому большую часть работы он выполняет в Excel. Время от времени налоговая инспекция проверяет как развивается бизнес. Представители налоговой инспекции приходят в офис и проверяют баланс доходов/расходов за любой выбранный день. Ваш друг просит вас написать программу, которая бы давала ответ на этот вопрос. Программе доступна информация о доходах за N последних дней (отрицательный доход означает расходы), причем значение N заранее неизвестно, а также конкретный день которым интересуются представители налоговой инспекции. История о доходах может хранить записи за последние, например, 20 дней. Представители налоговой инспекции могут поинтересоваться размеров доходов в первый день  (день который был 20 дней назад), во второй день и т.д до 20-го дня. Записи о доходах также упорядочены, самая первая запись соответствует записи о доходах в первый день, и т.д.
  
Но это еще не все. В штате Гаваи очень странная система налогообложения. Представители налоговой инспекции могут спросить информацию о будущем. Хотя бизнес вашего друга просуществовал всего 20 дней (тоесть существуют записи о доходах всего за 20 дней), представители налоговой инспекции могут спросить размер доходов в 21-й день. Согласно местным "законам", будущее можно предсказать по прошлому. 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 ==
 
== Mall ==

Redaktsioon: 10. veebruar 2015, kell 18:34

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

Общая информация об упражнениях: 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.

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

Mall

<source lang="java"> /**

* Home assignment 02.´
* 
* Read more: https://courses.cs.ttu.ee/pages/ITI0011:harjutus_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 whotYouAskMon 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 whotYouAskMon) { // 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>

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.

Funktsioon tagastab ühe numbri - kasumiinfo vastavalt üleval kirjeldatud soovidele.

Massiivi pikkuse saate kätte:

array.length

Massiivi elemendid vastavalt indeksiga idx:

array[idx]

Jäägiga opereerimine:

5 % 3 => 2

Soovitatav on enne natuke läbi mõelda, mis reeglid ülesande tekstis kirjas on. Samuti tasub näiteid vaadata ja nendest proovida aru saada.