Kezdőoldal » Számítástechnika » Programozás » Van egy angol nyelvű feladvány...

Relierf kérdése:

Van egy angol nyelvű feladványom, de lehet, hogy rosszul fordítom?

Figyelt kérdés

Van egy angol nyelvű feladványom, de lehet, hogy rosszul fordítom:

Write a function addWithSurcharge that adds two amounts with surcharge. For each amount less than or equal to 10, the surcharge is 1. For each amount greater than 10, the surcharge is 2. The call addWithSurcharge(5, 15) should return 23.


JS-ben írtam hozzá egy függvényt. Ha meghívom, a feladvány szerint console.log(addWithSurcharge (5, 15)) jó, console.log(addWithSurcharge (1, 1)) jó, de console.log(addWithSurcharge (10, 10))-re 22-at vár, amit nem értek.



2020. jan. 29. 12:13
 1/8 anonim ***** válasza:
76%
greater -> nagyobb
2020. jan. 29. 12:21
Hasznos számodra ez a válasz?
 2/8 CspCsj ***** válasza:
63%

"each amount less than or equal to 10, the surcharge is 1"

vagyis 10-nél kisebb vagy egyenlő számok esetén +1


"each amount greater than 10, the surcharge is 2"

vagyis 10-nél nagyobb számok esetén +2


Tehát:

10-ig +1

11-től +2

2020. jan. 29. 13:04
Hasznos számodra ez a válasz?
 3/8 A kérdező kommentje:

Én is így értelmeztem. Ezért ezt írtam hozzá JS-ben:


function addWithSurcharge (x, y){

xy = x +y;

var a = 1;

if ( xy <= 10 ){

a = a +1;

} else {

a = a+2;

}

return xy + a;

}


Mégsem megy, illetve csak részlegesen jó. Pedig ez is hülyeaég, mert a alapból 1. De ha 0, Akkor addWithSurcharge (1, 1) hívásnál 4-et vár, pedig 3 kellene, hogy legyen.

2020. jan. 29. 15:40
 4/8 CspCsj ***** válasza:
63%

Külön ellenőrizd a számokat:

(5 + 1) + (15 + 2) = 23

(10 + 1) + (10 + 1) = 22

2020. jan. 29. 16:07
Hasznos számodra ez a válasz?
 5/8 anonim ***** válasza:
64%

Hát a Te megoldásodnak nem sok köze van a feladathoz.

Helyesen:


function addWithSurcharge (x, y){

    var surCharge = 2;


    if (x > 10)

        surCharge++;

    if (y > 10)

        surCharge++;


    return x + y + surCharge;

}

2020. jan. 29. 16:10
Hasznos számodra ez a válasz?
 6/8 anonim ***** válasza:
63%

BTW a surcharge egy szó, nem?

Így furán néz ki a surCharge, kb olyan mintha azt írnád, hogy passWord...

2020. jan. 29. 20:23
Hasznos számodra ez a válasz?
 7/8 anonim ***** válasza:
81%

Úgy nézem, a kissé szerencsétlen megfogalmazás zavarhatott meg. Ha közelebbről megnézed, a szövegben az "amount" szó a bemeneti értékeket takarja. Az "amount" szó jelentése "mennyiség", nem "összeg".


"...that adds two amounts with surcharge"

A feladvány készítője ezzel tulajdonképpen definiálta, mire kíván a későbbiekben "amount"-ként hivatkozni. (A bemenő paraméterekre egyenként)


"For each amount..."

Tehát a megadott szabályt a bemenő paraméterekre külön kell alkalmazni, nem pedig azok összegére.


A szabály pedig úgy szól, hogy ha egy bemenő paraméter kisebb vagy egyenlő 10-zel, az 1-gyel fogja megdobni a végeredményt, ha 10-nél nagyobb, akkor kettővel. Mivel két bemenő adat van, ezt a szabályt mindkettőre külön alkalmazni kell, így az összegükhöz végül 2-t, 3-at, vagy 4-et adsz hozzá.

2020. jan. 30. 11:38
Hasznos számodra ez a válasz?
 8/8 A kérdező kommentje:
Köszönöm a segítséget.
2020. jan. 30. 21:58

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!