MieZiiS_JanX Posted December 6, 2012 Report Share Posted December 6, 2012 Tātad nerubīju programmēšanu un nesaprotu vienu lietu, ar šo kodu varu noteikt vai skaitlis ir 0, vai skaitlis lielāks par 100, vai mazāks par 0, bet nevaru noteikt vai pāra vai nepāra. Ievadot 1 viņš pasaka, ka skaitlis ir nepāra, bet ievadot 2 - ... viņš teiks, ka skaitlis ir lielāks par 100. Varbūt kāds var palīdzēt man šajā jautājumā, jo es jau kādu laiku ņemos un nespēju iebraukt kamdēļ tā. var answer = prompt ("Ievadi skaitli no 0 līdz 100!") if (answer % 2 == 0 && answer>'0' && answer<='100') { alert ("Ievadītais skaitlis ir pāra! ") } else if (answer=='0') { alert ("Ievadītais skaitlis ir nulle! ") } else if (answer>'100') { alert ("Ievadītais skaitlis ir lielāks par 100! ") } else if (answer<'0') { alert ("Ievadītais skaitlis ir mazāks par 0! ") } else { alert ("Ievadītais skaitlis ir nepāra! ") } Link to comment Share on other sites More sharing options...
Kilgors Trauts Posted December 7, 2012 Report Share Posted December 7, 2012 Principā tev jāpārbauda vairākas, atšķirīgas skaitļa īpašības: pirmkārt skaitļa stāvokli attiecībā pret 0 un 100 un otrkārt vai pāra\nepāra. Piemēram skaitlis, kas lielāks par 100 vai mazāks par 0 var būt arī pāra un nepāra. Bet savā kodā tu lieto if/else if/else, kas nozīmē, ka, tad kad tiek atrasts pirmais no šiem nosacījumiem, kas atbilst patiesībai, tad tiek izmests paziņojums un pārējās pārbaudes nenotiek. var n = prompt("Ievadi skaitli!!!") // Pārbauda skaitla stāvokli attiecībā pret 0 un 100 if (n == 0) { alert("Ievadītais skaitlis ir nulle!"); } else if (n > 100) { alert("Ievadītais skaitlis ir lielāks par 100!"); } else if (n < 0) { alert("Ievadītais skaitlis ir mazāks par 0!"); } else { alert("paaaaa viduuuuuuuuu!"); } // Pārbauda vai ir pāra vai nepāra if (n%2 == 0) { alert("Ievadītais skaitlis ir pāra!"); } else { alert("Ievadītais skaitlis ir nepāra!"); } Link to comment Share on other sites More sharing options...
MieZiiS_JanX Posted December 7, 2012 Author Report Share Posted December 7, 2012 Paldies, bet tgd ir tā, ka neskatoties uz to vai skaitlis ir lielāks par 100 vai mazāks pa 0 viņš pasaka vai tas ir pāra vai nepāra. Kā es to varētu izslēgt, itkā ar to && vajadzētu varēt? Link to comment Share on other sites More sharing options...
MieZiiS_JanX Posted December 7, 2012 Author Report Share Posted December 7, 2012 Paldies varat slēgt, visu atrisināju, izmantojot while. Link to comment Share on other sites More sharing options...
Kilgors Trauts Posted December 7, 2012 Report Share Posted December 7, 2012 (edited) Ja gribi noteikt par skaitļa paritāti tikai tajā gadījumā, ja skaitlis atrodas starp 0 un 100, tad vienkāršākais variants būtu ienest paritātes pārbaudi iekš pirmās pārbaudes beigās esošā else. Protams labāk būtu strukturēt kodu pareizāk, izmantot funkcijas. // funkcija, kas pārbauda vai skaitlis atrodas starp diviem citiem skaitļiem function isBetween(number, min, max) { if (number > min && number < max) { return true; } else { return false; } } // funkcija, kas pārbauda vai skaitlis ir pāra function isEven(value) { if (value%2 == 0) { return true; } else { return false; } } // galvenā funkcija function main() { var n = prompt("Ievadi skaitli!!!") // pārbauda vai n ir starp 0 vai 100 if (isBetween(n, 0, 100)) { // ja ir, tad skatās vai ir pāra if (isEven(n)) { // ja ir pāra tad drukā ārā alert("skaitlis "+n+" ir pāra"); } else { // ja nav pāra, tad ir nepāra alert("skaitlis "+n+" ir nepāra"); } } else { alert("skaitlis "+n+" neatrodas starp 0 un 100"); } } // galvenās funkcijas izsaukums main(); EDIT: Nepamanīju to otro postu. Bet gribētu zināt, kā tieši tu to atrisināji ar while? Edited December 7, 2012 by Kilgors Trauts Link to comment Share on other sites More sharing options...
MieZiiS_JanX Posted December 7, 2012 Author Report Share Posted December 7, 2012 var n = prompt ("Ievadi skaitli no 0 līdz 100!") while (true) { if (n == 0) { alert("Ievadītais skaitlis ir nulle!"); break; } else if (n > 100) { alert("Ievadītais skaitlis ir lielāks par 100!"); break; } else if (n < 0) { alert("Ievadītais skaitlis ir mazāks par 0!"); break; } if (n % 2 == 0 ) { alert("Ievadītais skaitlis ir pāra!"); break; } else { alert("Ievadītais skaitlis ir nepāra!"); break; } } Link to comment Share on other sites More sharing options...
Kilgors Trauts Posted December 7, 2012 Report Share Posted December 7, 2012 (edited) Nav labs. Vispār diezgan neloģisks risinājums. Ieteiktu tev labāk izmantot manu augstāk esošo risinājumu, bet ja nu gadījumā īsti nesaproti, kas tur rakstīts un kā tas darbojas, tad, kā jau arī minēju iepriekš, viss vienkāršākais variants it pielikt beigās pirmajai pārbaudei vēl vienu else, kur iebāzt paritātes noteikšanu. var n = prompt("Ievadi skaitli!!!") // Pārbauda skaitla stāvokli attiecībā pret 0 un 100 if (n == 0) { alert("Ievadītais skaitlis ir nulle!"); } else if (n > 100) { alert("Ievadītais skaitlis ir lielāks par 100!"); } else if (n < 0) { alert("Ievadītais skaitlis ir mazāks par 0!"); } else { // Ja atrodas starp siem skaitļiem, tad pārbauda vai ir pāra vai nepāra if (n%2 == 0) { alert("Ievadītais skaitlis ir pāra!"); } else { alert("Ievadītais skaitlis ir nepāra!"); } } Nezinu, kādam mērķim tev šo kodu vajag, bet, ieteiktu vairāk pamācīties javascript un programmēšanu, kā tādu. Es iesācējiem ieteiktu šito: http://www.youtube.c...6F0A159EC02DF82 Izskaidrots ļoti vienkārši, kā retardiem. Vienkārši noskaties un ietaupīsi sev daudz laika, jo vairs nebūs jālauza galva par to kā kas darbojas un vieglāk būs pašam kaut ko izdarīt. Edited December 7, 2012 by Kilgors Trauts Link to comment Share on other sites More sharing options...
MieZiiS_JanX Posted December 7, 2012 Author Report Share Posted December 7, 2012 Ok paldies kilgor, diemžēl MD jau aizsūtiju, bet izlabošu kodu uz tavu variantu. Link to comment Share on other sites More sharing options...
MieZiiS_JanX Posted December 8, 2012 Author Report Share Posted December 8, 2012 (edited) atradu vainu Edited December 8, 2012 by MieZiiS_JanX Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now