Summary Files Commits Branches @commit @diff @stats
path: root / src / teaching / upp-2023 / week14 / index.du
diff options
context:
space:
mode:
1 files changed, 57 insertions, 29 deletions
-rw-r--r--src/teaching/upp-2023/week14/index.du86
diff --git a/src/teaching/upp-2023/week14/index.du b/src/teaching/upp-2023/week14/index.du
index a0f9906..d06e169 100644
--- a/src/teaching/upp-2023/week14/index.du
+++ b/src/teaching/upp-2023/week14/index.du
@@ -1,11 +1,14 @@
-# Задачи - УПП, Седмица 14, 19.01.2024
+'def title Задачи - УПП, Седмица 14, 19.01.2024
+'def desc Условия на задачите за упражнение
+
+# {title}
\n
-GitHub classroom: [url https://classroom.github.com/a/B08TtnnW classroom.github.com/a/B08TtnnW]
+GitHub classroom: {url classroom.github.com/a/B08TtnnW;https://classroom.github.com/a/B08TtnnW}
Това е последния практикум, затова ви давам по-лесни и приятни задачи: имплементации на игри!
-Всичките са взети от [url https://en.wikipedia.org/wiki/BASIC_Computer_Games 101 BASIC Computer Games] (книгата е налична в [url https://archive.org/details/bitsavers_decBooks10Mar75_26006648 archive.org]).
+Всичките са взети от {url 101 BASIC Computer Games;https://en.wikipedia.org/wiki/BASIC_Computer_Games} (книгата е налична в {url archive.org;https://archive.org/details/bitsavers_decBooks10Mar75_26006648}).
Разбира се, който иска, може да решава задачи от предходни практикуми, давал съм достатъчно задачи.
@@ -20,7 +23,8 @@ GitHub classroom: [url https://classroom.github.com/a/B08TtnnW classroom.github.
Компютъра автоматично (и случайно) генерира между 5 и 20 купчини с между 1 и 10 пръчки.
Разбира се, трябва компютъра да съобщи за конкретните стойности:
-```terminal
+'def LANG terminal
+```
X piles
Y sticks in pile 1
Z sticks in pile 2
@@ -29,29 +33,34 @@ K sticks in pile X
След това се редуват, първия играч, втория играч:
-```terminal
+'def LANG terminal
+```
Player 1 turn
Избирате купчина с пръчки:
-```terminal
+'def LANG terminal
+```
Which pile do you want sticks from? _
където _ е мястото на курсора.
След това броя пръчки от купчината:
-```terminal
+'def LANG terminal
+```
How many sticks? _
Ако някоя стойност е невалидна, питате пак.
След това идва редът на втория играч:
-```terminal
+'def LANG terminal
+```
Player 2 turn
Накрая, този който вземе последната пръчка печели играта и се пита дали искате наново да почнете играта:
-```terminal
+'def LANG terminal
+```
Player X won. Do you want to play again? _
## 2 задача - Хамураби
@@ -64,7 +73,8 @@ Player X won. Do you want to play again? _
В началото вашия съветник казва:
-```terminal
+'def LANG terminal
+```
Hamurabi, I beg to report to you
In year X, Y people starved, Z came to the city.
@@ -74,12 +84,14 @@ In year X, Y people starved, Z came to the city.
След това имате 1/7 шанс чума да сполети вашия град.
Ако се случи, съветника ви съобщава за това и загубвате половината си население:
-```terminal
+'def LANG terminal
+```
A horrible plague struck! Half of the people died.
След това съветника ви дава информация за града:
-```terminal
+'def LANG terminal
+```
Population is now X.
The city now owns X acres.
You harvested Z bushels per acre.
@@ -92,7 +104,8 @@ You now have L bushels in store.
Иначе, сега съветника започва да ви дава информация и да ви пита за вашето действие:
-```terminal
+'def LANG terminal
+```
Land is trading at X bushels per acre.
How many acres do you wish to buy? _
@@ -100,7 +113,8 @@ How many acres do you wish to buy? _
Трябва да се въведе цяло число.
В този случай, както и всеки други, ако то е отрицателно, съветника напуска и играта свършва:
-```terminal
+'def LANG terminal
+```
Hamurabi, I cannot do what you wish, get yourself another steward!!!!!
So long for now.
@@ -108,44 +122,51 @@ So long for now.
Ако нямате достатъчно бушели в резерв, за да купите всичката въведена земя, съветника ви казва:
-```terminal
+'def LANG terminal
+```
Hamurabi, think again, you have only X bushels of grian. Now then,
и същото съобщение за "Land is trading at [...] How many acres ..." се изписва и приемате нов вход.
Ако сте въвели 0, значи искате да продавате земя и съветника ви пита:
-```terminal
+'def LANG terminal
+```
How many acres do you wish to sell? _
Ако се въведе отрицателно число, случва се същото като при купуване на земя.
Ако въведете повече земя, отколкото имате, съветника казва:
-```terminal
+'def LANG terminal
+```
Hamurabi think again, you own only X acres. Now then,
и пак пита "How many acres [...]".
След като сте купили или продали земя, сега съветника ви пита колко бушели жито ще отделите за нахранване на населението:
-```terminal
+'def LANG terminal
+```
How many bushels do you wish to feed your people? _
Ако се въведе твърде голямо число, съветника предупреждава и пита пак:
-```terminal
+'def LANG terminal
+```
Hamurabi, think again, you have only X bushels of grain. Now then,
How many bushels do you wish to feed your people? _
Остава последния въпрос от съветника за годината:
-```terminal
+'def LANG terminal
+```
How many acres do you wish to plant with seed? _
Разбира се, ако се въведат повече акри отколкото има, съветника предупреждава и пита пак:
-```terminal
+'def LANG terminal
+```
Hamurabi, think again, you own only X acres. Now then,
How many acres do you wish to plant with seed? _
@@ -154,7 +175,8 @@ How many acres do you wish to plant with seed? _
Един бушел жито може да засее два акъра земя, ако няма достатъчно жито, съветника предупреждава и пита пак.
Отнема 10 човека да се грижат за един акър земя, ако няма достатъчно хора, съветника предупреждава и пита пак:
-```terminal
+'def LANG terminal
+```
But you have only X people to tend the fields. Now then,
Това са въпросите на съветника, сега остава годината да се изиграе.
@@ -163,13 +185,14 @@ But you have only X people to tend the fields. Now then,
След това избирате друго произволно число между 1 и 6.
Ако числото е по-голямо от 1, тогава плъховете ще изядат по толкова голяма дроб бушели жито от резерва (при числото 5, плъховете изяждат 1/5; тук бушелите жито се смятат преди жътва).
-Сега населението расте, броя хора които са "дошли" в града се определя по формулата [`R * (20* АКРИ ЗЕМЯ + БУШЕЛИ ЖИТО) / БРОЙ ХОРА / 100 + 1`], където R е цяло число между 1 и 6.
+Сега населението расте, броя хора които са "дошли" в града се определя по формулата {` R * (20* АКРИ ЗЕМЯ + БУШЕЛИ ЖИТО) / БРОЙ ХОРА / 100 + 1}, където R е цяло число между 1 и 6.
Бушелите жито се смятат след жътва.
Предпоследно, определя се колко хора са умрели от глад, като всеки човек консумира 20 бушели жито.
Ако над 45% от населението са умрели от глад, останалите хора ви свалят от власт и играта свършва:
-```terminal
+'def LANG terminal
+```
You starved X people in one year, due to this extreme mismanagement,
you have not only been impeached and thrown out of office but you have
also been declared national fink!
@@ -179,27 +202,31 @@ So long for now.
Ако успешно царувате 10 години, накрая съветника ви казва как сте се справили:
-```terminal
+'def LANG terminal
+```
In your 10-year term of office, X percent of the population starved per year on average,
I.E., a total of Y people died.
Сега изчислявате пропорцията между земя и хора, съветника ви казва:
-```terminal
+'def LANG terminal
+```
You started with 10 acres per person and ended with X acres per person.
Ако средно над 33% от населението е умирало от глад всяка година или съотношението ви е под 7 акъра на човек, тогава се случва същото нещо, като когато над 45% от населението умира от глад.
Ако средно над 10% (но под 34%) от населението е умирало от глад всяка година или съотношението ви е под 9 акъра на човек (но над 6), тогава оставате в историята като лош владетел:
-```terminal
+'def LANG terminal
+```
Your heavy-handed performance smacks of Nero and Ivan IV.
The people (remaining) find you an unpleasant ruler, and frankly, hate your guts.
So long for now.
Ако средно над 3% (но под 11%) от населението е умирало от глад всяка година или съотношението е между 9 и 10 акъра на човека, тогава оставате със средно впечатление:
-```terminal
+'def LANG terminal
+```
Your performance could have been somewhat better but really wasn't too bad at all.
X people would dearly like to see you assassinated but we all have our trivial problems.
So long for now.
@@ -208,7 +235,8 @@ So long for now.
В противен случай, тоест средно под 4% от населението е умирало от глад всяка година или съотношението е над 10 акъра на човека, тогава хората ви харесват:
-```terminal
+'def LANG terminal
+```
A fantastic performance!!!
Charlemange, Disraeli and Jefferson combined could not have done better.
So long for now.