Професионална програма
Loading...
Somma avatar Somma 2 Точки

2.2. Simple Calculations - Exam Problems -> 02. Vegetable Market

Здравейте! 

Не е въпрос, а по-скоро някакво недоразумение в Judge при оценяването на решението на задачата „02. Vegetable Market“.

Прочетох внимателно задачата и написах програмата, но Judge-а, като се „запна“ на тест 6-ти, че е грешен и аз паднах "Тест №6 (Грешен отговор)". Виждам от резултатите, че много хора има този проблем резултата да им е 90/100, заради някаква несъществуваща грешка!

Затова, само ще споделя моя опит и къде идва заблудата от самото условие на задачата (да, казвам, че задачата е написана грешно, или не е предвидено в Judge-а).

В задачата е зададено едно условие – цитирам: „Ограничения: всички числа ще са в интервала от 0.00 до 1000.00.“.

Това значи автоматично, че в плана за решаването на задачата НЕ трябва да се допускат различни стойности и естествено аз правя “if {} else{}” конструкция, за да осъществя това условие и естествено вътре започвам пресмятанията от входа на конзолата.

Но уви, неразбираемо и за мен Judge-а започна да не ми харесва "Тест №6 (Грешен отговор)", каквото и да значи това (за жалост никой не си е направил труда да опише какво значат тестовете?!?).

Направих 6 различни (малки) модификации по задачата, но Judge системата все ми връща някаква несъществуваща грешка на "Тест №6 (Грешен отговор)", а практически няма грешка! Най-малкото с тези знания дадени ни до тук по книгата "Основи на програмирането с Java" направих няколко модификации и наистина очаквах Judge-а да реагира по друг начин поне на някой от вариантите, но не! 

РЕШЕНИЕТО: Останах изключително неприятно изненадан, след като последния ми вариант беше без конструкцията “if {} else{}”?!! След като я махнах Judge-а прие всички тестове?!?

Така, че не се занимавайте излишно с това стойностите да са от 0.00 до 1000.00! Явно НЕ е част от задачата, а защо е публикувана така в книгата, не се знае. Аз лично мисля, че по-правилно би било точно обратното – ако нямаш сравнение на входните данни дали отговаря на условията на задачата, да се отнемат тия 10 точки от 6-ти тест… но то е обратното.

Владимир Маринов

Тагове:
0
Programming Basics with Java
NikiKa avatar NikiKa 13 Точки

import java.util.Scanner;

public class VegetableMarket {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        double vegetableprice = Double.parseDouble(scanner.nextLine());
        double fruitprice = Double.parseDouble(scanner.nextLine());
        int vegetablequantity = Integer.parseInt(scanner.nextLine());
        int fruitquantity= Integer.parseInt(scanner.nextLine());

        // logs

        double sum = (vegetableprice * vegetablequantity + fruitprice * fruitquantity) / 1.94;

        System.out.printf("%.2f", sum);

    }
}
 

0
Somma avatar Somma 2 Точки

Благодаря, че се включваш в темата НикиКа, но не става дума за код или за затруднения! 

Чети внимателно какво съм писал :)

В темата казвам, че трябва да се прецизират за зададените условия, защото самите условия и описание са подвеждащи - това е! 

Отделно за кода - аз си го пригодих за Djudgе-а, но на това му се вика стъгмистика. 

В книгата ще срещнеш още затруднения с подвеждащи условия, но се надявам от колектива на СофтУни да ги прецизират с времето.

0