Изпитни задачи с вложени цикли
Здравейте, затруднявам се в решаването на тези две изпитни задачи, включващи в себе си вложени цикли, ще се радвам някой да сподели решения на JavaScript:
https://judge.softuni.org/Contests/Practice/Index/1745#8
https://judge.softuni.org/Contests/Practice/Index/1637#11
Изпит по "Основи на програмирането" – 6 и 7 юли 2019
Задача 6. Игра на имена
Иван е измислил нова игра в която да се състезава със своите приятели. Вашата задача е да напишете програма за играта. Всеки играч написва името си, след това за всяка една буква от името си написва по едно цяло число, ако числото съвпада с ASCII стойността на съответната буква, играчът получава 10 точки, в противен случай, получава само 2 точки. Победител е играчът с най-много точки в края на играта. В случай, че двама играчи имат равен брой точки, печели този, който втори е достигнал резултата.
Вход
До получаване на командата "Stop" се чете по един ред:
- Име на играча с дължина n - текст
За всеки играч се четат n на брой реда:
- число – цяло число в интервала[0…127]
Изход
Да се отпечата един ред в следния формат:
- "The winner is {името на победителя} with {точките на победителя} points!"
Примерен вход и изход
Вход |
Изход |
Обяснения |
Ivan 73 20 98 110 Ivo 80 65 87 Stop |
The winner is Ivan with 24 points! |
Първият играч е Ivan, дължината на името му е 4 символа, Затова прочитаме 4 числа. Първото число е 73, ASCII стойността на символа 'I' също е 73, следователно получава 10 точки, след това прочитаме 20, но стойността на 'v' е 118, получава 2 точки. След това прочитаме 98, но стойността на 'a' е 97, получава 2 точки. Последно прочитаме 110, стойността на 'n' също е 110 и затова получава 10 точки, Общо 10 + 2 + 2 + 10 = 24. Вторият играч е Ivo, прочитаме 3 числа, и трите числа са различни от съответните букви на името, затова Иво получава само 6 точки. Получаваме командата Stop, печеливш играч е Ivan |
Вход |
Изход |
Обяснения |
Pesho 124 34 111 97 99 Gosho 98 124 88 76 18 Stop |
The winner is Gosho with 10 points! |
Първият играч е Pesho, дължината на името е 5. Прочитаме 5 числа. Нито едно от тях не съответства на конкретната буква, следователно получава 5 пъти по 2 точки, общо 10 и към момента той има най-много. Вторият играч е Gosho, дължината на името е 5. Прочитаме 5 числа и отново нито едно от тях не съответства на съответните букви, съответно получава 5 пъти по 2 точки, общо 10. И двамата играчи имат равен брой точки (10), съответно на първо място остава вторият играч Gosho. Получаваме командата Stop, печеливш играч е Gosho |
Изпит по "Основи на програмирането" - 20 и 21 Април 2019
Задача 6. Великденска украса
За великденските празници, магазин започва да продава три вида великденска украса – кошнички за яйца (basket), великденски венци (wreath) и шоколадови зайци (chocolate bunny). Вашата задача е да напишете програма, която да изчислява каква сметка трябва да плати всеки един клиент на магазина, като се има в предвид, че всеки клиент закупил четен брой продукти, ще получи 20% отстъпка от крайната цена. След като всички клиенти приключат с покупките, трябва да се отпечата средно по колко пари е похарчил всеки човек.
Цените на продуктите са:
- кошничка за яйца (basket) – 1.50 лв.
- великденски венец (wreath) – 3.80 лв.
- шоколадов заек (chocolate bunny) – 7 лв.
Вход
От конзолата първоначално се чете един ред:
- Брои на клиентите в магазина – цяло число [1… 100]
- След това за всеки един клиент на нов ред до получаване на командата "Finish" се чете:
- Покупката която клиента е избрал – текст ("basket", "wreath" или "chocolate bunny")
Изход
- При получаване на командата "Finish" да се отпечата един ред:
- "You purchased {броя на покупките} items for {крайната цена} leva."
- Накрая, след като всички клиенти приключат с покупките, да се отпечата на един ред
- "Average bill per client is: {средно аритметично на парите които е похарчил всеки един клиент} leva."
Всички пари трябва да бъдат форматирани до втората цифра след десетичния знак.
Примерен вход и изход
Вход |
Изход |
Обяснения |
2 basket wreath chocolate bunny Finish wreath chocolate bunny Finish |
You purchased 3 items for 12.30 leva. You purchased 2 items for 8.64 leva. Average bill per client is: 10.47 leva. |
В магазина има 2 клиента. Първият купува 3 артикула -> една кошница за 1.50 лв. един венец за 3.80 лв. и един шоколадов заек за 7 лв. Неговата сметка е 1.50 + 3.80 + 7 = 12.30 лв. Вторият клиент купува 2 прадукта 20% от 10.80 е 2.16 лв. Сметката, която трябва да заплати е 10.80 – 2.16 = 8.64 лв. Средната цена която двамата клиенти са платили е |
1 basket wreath chocolate bunny wreath basket chocolate bunny Finish |
You purchased 6 items for 19.68 leva. Average bill per client is: 19.68 leva. |
В магазина има 1 клиент. Той купува 6 артикула -> 2 кошници по 1.50 лв. 2 венеца по 3.80 лв. и 2 шоколадови заека по 7 лева. Цената за тях е: но тъй като е закупил четен брой продукти(6) получава 20% отстъпка. 20% от 24.60 е 4.92 лв. Сметката която трябва да заплати е 24.60 – 4.92 = 19.68 лв. Средната цена на клиентите в магазина е 19.68 / 1 = 19.68 |
Огромно благодаря!