11 svar
178 visningar
äsch 7
Postad: 17 nov 2022 21:54 Redigerad: 17 nov 2022 21:57

gånger med loop (5*6*7*8*9*10=?)

Skriv ett program som frågar efter start värde, och sedan frågar efter slut värde.
Tex : start : 5
        slut : 10
        uträkning : 5*6*7*8*9*10
        summa :  151200

 

Har hållt på med denna länge nu o fattar noll, det ska vara en for eller while loop är allt jag vet.

behöver en väldigt simpel lösning pls.

Fermatrix 7841 – Fd. Medlem
Postad: 17 nov 2022 21:56

For loop är mest passande här, men det går att lösa men en while loop.

äsch 7
Postad: 17 nov 2022 21:58 Redigerad: 17 nov 2022 21:59

.

äsch 7
Postad: 17 nov 2022 21:59
Dracaena skrev:

For loop är mest passande här, men det går att lösa men en while loop.

hur då? :,)

Fermatrix 7841 – Fd. Medlem
Postad: 17 nov 2022 22:01

Läs här:

https://www.w3schools.com/js/js_loop_for.asp

Där finns allt information du behöver för att lösa uppgiften.

äsch 7
Postad: 18 nov 2022 22:02
Dracaena skrev:

Läs här:

https://www.w3schools.com/js/js_loop_for.asp

Där finns allt information du behöver för att lösa uppgiften.

fattar noll fortfarande :,)

Fermatrix 7841 – Fd. Medlem
Postad: 18 nov 2022 22:31

Kan du skriva en for-loop som skriver ut talen 1-10?

äsch 7
Postad: 21 nov 2022 09:09 Redigerad: 21 nov 2022 09:10
Dracaena skrev:

Kan du skriva en for-loop som skriver ut talen 1-10?

Japp, jag fastnar när jag har en ändrande variabel och jag kan ta 5*6 och sedan 5*7 men att kunna spara den förra uträkningen och ta det gånger den nya variablen vet jag inte hur jag gör. Alltså 5*6*7

Fermatrix 7841 – Fd. Medlem
Postad: 21 nov 2022 17:09 Redigerad: 21 nov 2022 17:09

tal = tal*i

Eller tal *= i

äsch 7
Postad: 27 nov 2022 17:18
Dracaena skrev:

tal = tal*i

Eller tal *= i

kan jag snälla få hela svaret? har grubblat på detta väldigt länge nu och kan fortfarande inte och ingen hjälper mig 

starkodder 7
Postad: 30 jul 2023 18:44
äsch skrev:
Dracaena skrev:

tal = tal*i

Eller tal *= i

kan jag snälla få hela svaret? har grubblat på detta väldigt länge nu och kan fortfarande inte och ingen hjälper mig 

sum=1;for(var i=5;i<=10;i++){sum*=i;} summan börjar på 1 och multipliceras varje gång med index (i), index börjar på 5 och slutar på 10. Den totala summan blir alltså 151200. 

zino92 56
Postad: 7 jan 15:12

Som jag tolkade uppgiften såsom den presenterades så ska programmet fråga efter input för start och slutvärde, därefter dynamiskt lösa produkten av alla talen däremellan (inkl. start och slut)?

Vet inte om du lyckats "samla in" input-värde för start och slut än @äsch?

Om vi antar du gjort det så kan du skapa en variabel med var eller let utanför en for-loop likt @startkodder föreslog.

Använd i som iterationsvariabel kan du göra, sätt den till startvärdet det första du gör, villkoret för for-loopen ska gå så länge <= slutvärdet. i-variabeln ska inkrementeras efter varje iteration med ++.

let product = 1;

for(let i = start; i <= end; i++) {
   product *= i;
}

// output product som håller ditt svar.

Om detta programmet ska "köras löpande" så kan du "wrappa" det inuti en while loop där du har en boolesk variabel som avgör när programmet ska avslutas, då kan du t ex. koda så ifall input för startvärde är negativt eller något annat så kan den din booleska variabeln (true/false) sättas till false (detta görs inuti while-loopen), och när while-loopen sen då kontrollerar booleska variabeln för while-loopen i slutet av en iteration (efter for-loopen körts klart) så stoppar exekveringen.

Kan isf. se ut likt någotsånär som följer:

let run = true;

while(run) { // as long as run is true this program will keep running over and over collecting new start and end values until you enter negative start value

   // print instructions to collect start value
   // collect start value and store in variable

   // check if start value was not negative, only run if BIGGER than 0 (positive)
   if(start > 0) {

      // print instructions to collect end value
      // collect end value

      let product = 1;
      for(let i = start; i <= end; i++) {
         product *= i;
      }

      // print instructions to display product
      // output product value

   }else {
      // in here we can print instructions for when start value was negative and loop should stop
      //also set run to false to stop execution
      run = false;
   }
}

Tror det borde kunna funka.

En extra grej för detta programmet hade kunnat vara att lägga in "validering" för att säkerställa att start inputvärde samt end inputvärde verkligen går att köra programmet med (så endvärdet är större än startvärdet d.v.s.).

Svara Avbryt
Close