Loading...
ioanna.konova avatar ioanna.konova 47 Точки

Задача 06. High Jump от Programming Basics Online Exam - 9 and 10 March 2019 - 30/100 в Judge

Здравейте, колеги,

Някой може ли да ми помогне да си открия грешката в кода? Посочените изходи ми излизат правилно.

Условие:

Задача 6. Висок скок

Българският лекоатлет Тихомир Иванов започва тренировки за предстоящото европейско първенство по лека атлетика на закрито в Глазгоу, Шотландия.

Вашата задача е да напишете софтуер, с който Иванов да следи своя прогрес и дали е достигнал желаните резултати. В началото програмата получава желаната височина на летвата от Тихомир, той започва тренировката си като поставя летвата на височина 30см по-ниско от целта. За всяка височина той има право на 3 скока, като за да бъде един скок успешен, той трябва да бъде над височината на летвата. При успешен скок (над летвата), височината й се вдига с 5 сантиметра. При три неуспешни скока на една и съща височина, тренировката приключва с неуспех. При достигане на желаната височина и нейното успешно прескачане, тренировката приключва с успех.

Вход

Входът е поредица от цели числа в интервала [100…300]:

  • На първия ред се прочита желаната от Тихомир Иванов височина в сантиметри
  • На всеки следващ ред до приключване на програмата се прочита височината от скока на Иванов

Изход

На конзолата трябва да се отпечата един ред:

  • Ако Тихомир не успее да преодолее желаната височина:
    • "Tihomir failed at {височина на летвата към момента на провала}cm after {брой скокове от началото на тренировката} jumps."
  • Ако Тихомир успее да преодолее височината:
    • "Tihomir succeeded, he jumped over {височина на прескочената последно летва}cm after {брой скокове за цялата тренировка} jumps."

 

Примерен вход и изход

Вход

Изход

Обяснения

231

205

212

213

228

229

230

235

Tihomir succeeded, he jumped over 231cm after 7 jumps.

Тихомир си поставя за цел да надскочи 231см.

Започва тренировката като поставя летвата 30см по-ниско от целта -> 201см

Първи скок:

  • Височина на летвата: 201
  • Височина на скока: 205
  • Скокът е успешен

Тъй като скокът е успешен, той повдига летвата с 5см.

Втори скок:

  • Височина на летвата: 206
  • Височина на скока: 212
  • Скокът е успешен

Тъй като скокът е успешен, повдига летвата с още 5см

Трети скок:

  • Височина на летвата: 211
  • Височина на скока: 213
  • Скокът е успешен

Тихомир повдига летвата с още 5см.

Четвърти скок:

  • Височина на летвата: 216
  • Височина на скока: 228
  • Скокът е успешен

Повдига летвата с още 5см.

Пети скок:

  • Височина на летвата: 221
  • Височина на скока: 229
  • Скокът е успешен

Успешен скок => той повдига на летвата с още 5см.

Шести скок:

  • Височина на летвата: 226
  • Височина на скока: 230
  • Скокът е успешен

Повдига летвата с още 5см.

Седми скок:

  • Височина на летвата: 231
  • Височина на скока: 235
  • Скокът е успешен

Тихомир успява да постигне целта след 7 скока.

Вход

Изход

Обяснения

250

225

224

225

228

231

235

234

235

Tihomir failed at 235cm after 8 jumps.

Тихомир си поставя за цел да надскочи 250см.

Започва тренировката като поставя летвата 30см по-ниско от целта -> 220

Първи скок:

  • Височина на летвата: 220
  • Височина на скока: 225
  • Скокът е успешен

Тъй като скокът е успешен, той повдига летвата с 5см.

Втори скок:

  • Височина на летвата: 225
  • Височина на скока: 224
  • Скокът е неуспешен – 1 опит

Трети скок:

  • Височина на летвата: 225
  • Височина на скока: 225
  • Скокът е неуспешен – 2 опит

Четвърти скок:

  • Височина на летвата: 225
  • Височина на скока: 228
  • Скокът е успешен

Тихомир повдига летвата с още 5см.

Пети скок:

  • Височина на летвата: 230
  • Височина на скока: 231
  • Скокът е успешен

Успешен скок => той повдига на летвата с още 5см.

Шести скок:

  • Височина на летвата: 235
  • Височина на скока: 235
  • Скокът е неуспешен – 1 опит

Седми скок:

  • Височина на летвата: 235
  • Височина на скока: 234
  • Скокът е неуспешен – 2 опит

 Осми скок:

  • Височина на летвата: 235
  • Височина на скока: 235
  • Скокът е неуспешен – 3 последен опит

Тихомир приключва тренировката без успех.

Тагове:
0
Programming Basics
svephoto avatar svephoto 1191 Точки

Здравей, ioanna.konova,

 

По условие трябва да започнеш да прочиташ височината за скока на Иван след като влезеш в цикъла - премести прочитането на вход от ред 10 в началото на цикъла, веднага след влизането в него и махни прочитането, което е преди излизането от цикъла. Условието на самия цикъл трябва да бъде (changedDesiredHeight <= desiredHeight), а не (currentJump < desiredHeight), защото искаме да сравняваме до каква височина на летвата спрямо желаната височина е стигнал Иван след всеки успешен скок, а не колко е скочил в момента спрямо желаната височина, като трябва да има и =, защото при положение, че Иван достигне височина на летвата, която е равна на желаната първоначална височина, той е успял. Задай и начална стойност 0 на брояча за общия брой скокове, и премести инкрементирането му преди if-else проверките. Накрая промени changedDesiredHeight при печатането на ред 37 - трябва да бъде desiredHeight, защото това е началната желана височина.

1
07/09/2021 22:52:19
ioanna.konova avatar ioanna.konova 47 Точки

Станаааа. Благодаря ти много! Не знам защо този път се обърках толкова в условието :(

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.