Професионална програма
Loading...
+ Нов въпрос
nklnikolaev avatar nklnikolaev 0 Точки

Проблем с Judge

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

имам проблем с Judge системата, при дебъгването на кодовете във Вижуал Студио всичко е наред, но в Съдията ми дава 0/100.

Първата задача е :

06. Concatenate Data

function concatenateData([fname, lname, age, town]) {
    console.log("You are " + fname + " " + lname + ", a " + age + "-years old person from " + town + ".");
}

function concatenateData([arg1, arg2, arg3, arg4]) {
    fname = arg1;
    lname = arg2;
    age = Number(arg3);
    town = arg4;

    console.log(`You are ${fname} ${lname}, a ${age}-years old person from ${town}.`);
}

function concatenateData([fname, lname, age, town]) {
    console.log(`You are ${fname} ${lname}, a ${age}-years old person from ${town}.`);
}

 

Expected output:

You are Maria Ivanova, a 19-years old person from Pleven.

Your output:

You are M a, a NaN-years old person from i.

 

Следващият е:

07. Projects Creation

function projectsCreation([arg1, arg2]) {
    name = arg1;
    projects = parseInt(arg2);
    hours = projects * 3;
    console.log(`The architect ${name} will need ${hours} hours to complete ${projects} project/s.`);
}

function projectsCreation([arg1,arg2]) {
    let name = String(arg1);
    let projects = Number(arg2);
    let hours = projects * 3;
    console.log(`The architect ${name} will need ${hours} hours to complete ${projects} project/s.`);
}

 

Expected output:

The architect George will need 12 hours to complete 4 project/s.

Your output:

The architect G will need NaN hours to complete NaN project/s.

 

08. Pet Shop

function petShop([arg1, arg2]) {
    dog = parseFloat(arg1 * 2.50);
    another = parseFloat(arg2 * 4);
    console.log(dog + another + " lv.");
}

C:\Windows\TEMP\ExecutionStrategies\mfl3smjr.zft\tmp1C84.tmp:79
    run: function petShop([arg1, arg2]) {
                         ^

TypeError: undefined is not a function
    at petShop (C:\Windows\TEMP\ExecutionStrategies\mfl3smjr.zft\tmp1C84.tmp:79:26)
    at adapter (C:\Windows\TEMP\ExecutionStrategies\mfl3smjr.zft\tmp1C84.tmp:86:10)
    at Socket.<anonymous> (C:\Windows\TEMP\ExecutionStrategies\mfl3smjr.zft\tmp1C84.tmp:93:18)
    at Socket.emit (events.js:214:15)
    at endReadableNT (_stream_readable.js:1178:12)
    at processTicksAndRejections (internal/process/task_queues.js:80:21)

Благодаря ви предварително!

Поздрави Николай

 

mttnu avatar mttnu 82 Точки
Best Answer

Премахни квадратните скоби, обграждащи параметрите на функцията.
Използвай let при деклариране на променливи.
За "08. Pet Shop", по условие, трябва да принтираш стойност, закръглена до втората цифра след десетичната запетая.

06. Concatenate Data:

function concatenateData(arg1, arg2, arg3, arg4) {
  let fname = arg1;
  let lname = arg2;
  let age = Number(arg3);
  let town = arg4;

  console.log(`You are ${fname} ${lname}, a ${age}-years old person from ${town}.`);
}

07. Projects Creation

function projectsCreation(arg1, arg2) {
  let name = arg1;
  let projects = parseInt(arg2);
  let hours = projects * 3;
  console.log(`The architect ${name} will need ${hours} hours to complete ${projects} project/s.`);
}

08. Pet Shop

function petShop(arg1, arg2) {
  let dog = parseFloat(arg1 * 2.5);
  let another = parseFloat(arg2 * 4);
  let total = dog + another;
  console.log(total.toFixed(2) + " lv.");
}

// Относно закръглянето до втората цифра след запетаята - имаш два варианта:
1) Създаваш си нова променлива, в която пресмяташ необходимата стойност и след това при отпечатването закръгляш с .toFixed(2) - препоръчителен вариант.
2) Ображдаш изчисленията, които извършваш в console.log и ги обграждаш с toFixed(2).
- Непрепоръчително. Реално ще работи, ще ти изкара 100/100, но става прекалено голямо мазане и може да ти стане навик, което не е добре.
:) 

0
nklnikolaev avatar nklnikolaev 0 Точки

Благодаря ти много !

Ще го имам имам в предвид за закръгляването, защото вече го използвах няколко пъти вторият вариант.

Благодаря ти отново за помоща.

0
ignat.off avatar ignat.off 1 Точки

Здравейте. Моля за помощ.
И аз имам проблем но със задачата за Стипендиите от Упражнение Проверки (условието - https://softuni.bg/trainings/resources/officedocument/48960/exercise-problem-descriptions-programming-basics-with-javascript-april-2020/2904). Сравнявах си кода не знам колко пъти с този на Христомир Асенов, когато реши задачата в упражнението и не намирам разлики. Но на мен ми дава 68/100. https://pastebin.com/n3VrFtpA

0
MartinBG avatar MartinBG 3828 Точки

@ignat.off

Имаше няколко грешки в логиката, както и в стринга за отличен успех.

Това е поправеният код:

function scholarship(num1, num2, num3) {
  let income = Number(num1);
  let avScore = Number(num2);
  let minWage = Number(num3);

  let social = 0;
  let excellent = 0;

  if (avScore > 4.50) { // Тук

    if (income < minWage) { // Тук
      social = minWage * 0.35;
    }

    if (avScore >= 5.50) {
      excellent = avScore * 25;
    }

  }

  if (social > excellent) {
    console.log(`You get a Social scholarship ${Math.floor(social)} BGN`);
  } else if (excellent >= social && excellent > 0) { // Тук
    console.log(`You get a scholarship for excellent results ${Math.floor(excellent)} BGN`); // Тук
  } else {
    console.log(`You cannot get a scholarship!`);
  }

}

 

0