Skaitīšanas sistēmas Uzdevums Praktiskais 1. Izveido mapi ar nosaukumu PHP_02, visi faili būs jāliek šinī mapē (1p) 2. Izveido html failu, kas saucas index.html (1p) 3. Nodefinē pareizi html faila sākumu (lai strādātu UTF-8) (1p) 4. Izveido ievades formu, kurā būtu (2p): a. 1 ievades lauks, tips teksts b. 1 drop down lauks ar vismaz 4 izvēlēm (atbilstoši konversiju skaitam)! Nepieciešamo funkciju lapā ir skaidrojums kā izveidot ievades formu un ko dara kura rinda 5. Izveido php failu ar nosaukumu skaitisanas_sistemas_[klases cipars]_[grupa]_[v]_[uzvards].php korekti aizstājot visas kvadrātiekavas un ievieto šī faila nosaukumu index.html pie action esošajās pēdiņās. (1p)! Failu nosaukumos nedrīkst likt atstarpes, komatus, slīpsvītras, garumzīmes utml. 6. Pareizi saglabāt no ievades formas saņemtos datus mainīgajos ievade un izvele (1p) 7. Izvadīt mainīgos ievade un izvele (1p) 8. Īstenot decimālo -> bināro konversiju (4p) 9. Pārbaudīt vai strādā kods! Tālāk ar katru konversiju paliks grūtāk izlabot esošās kļūdas. 10. Izveidot switch ar vismaz 4 gadījumiem (atbilstoši konversiju skaitam) un katrā vēl neesošajā konversijas gadījumā ievietot atbilstošas konversijas nosaukuma izvadi (1p) 11. Pārbaudīt vai strādā kods! Tai skaitā pārbaudīt vai strādā, ja ievades formā izvēlās citu konversijas metodi. 12. Īsteno decimālo -> heksadecimālo konversiju (5p) 13. Pārbaudīt vai strādā kods! 14. Īsteno bināro->decimālo konversiju (4p) 15. Pārbaudīt vai strādā kods! 16. Īsteno heksadecimālo -> decimālo konversiju (7p) 17. Pārbaudīt vai strādā kods! 18. Īsteno papildus pēc brīvas izvēles izvēlētu konversiju no un uz decimālo skaitīšanas sistēmu. (7p) 19. Konversijas rezultātu visos gadījumos izvadīt uz ekrāna sekojošā veidā (4p): a. Sākotnējās skaitīšanas sistēmas nosaukums b. Sākotnējā ievade c. Konversijas rezultāta skaitīšanas sistēmas nosaukums d. Konversijas rezultāts 20. Veiksmīgi izpildītā uzdevumā ir jāizpildās sekojošiem noteikumiem: a. Aizliegts izmantot skaitīšanas sistēmu konvertēšanas funkcijas b. Visām izvadēm un ievadēm ir jābūt user friendly tātad sakarīgi lasāmām nevis tikai skaitļi c. Switch vēlams ir izmantot skaitļus izvēles noteikšanai, nevis vārdus. d. Nekādas garumzīmes failu nosaukumos!
e. Ja kopējam kodu no šī faila visas pēdiņas ir jānomaina (word nomaina taisnās pēdiņas uz special character, kas met PHP error) f. Iepriekšminēto apakšpunktu neievērošanas gadījumā tiks samazināts vērtējums. Teorija! 1 balle teorijas jautājumi, kuru atbildes jāieraksta index.html un 1 balle teorijas jautājumu tests. 1. Kāda ir atšķirība starp GET un POST metodēm? 2. Kur būtu vēlams izmantot katru no metodēm? 3. Kur nevajadzētu izmantot katru no metodēm? 4. Kādas vēl informācijas nodošanas metodes eksistē? 5. Kāpēc ir vēl citas metodes? Kopā praktiskajā daļā 40 punkti un teorijā 5 punkti un 5 punkti par testu 1.-7. (8p) 1.-8. (12p) 1.-12. (18p) 1.-14. (22p) 1.-16 (29p) 1.-18 (36p) 1.-19 (40p) P+Teo (45p) P+Teo +Tests 16% 24% 36% 44% 58% 72% 80% 90% 100% 2 2 3 4 5 7 8 9 10
Nepieciešamās funkcijas Zarošanās if then..else Pārsūtīšana uz citu failu header( Location:faila_nosaukums.formāts ); Cikls atkārto kādu darbību vairākas reizes. for ( mainīgais ; noteikums ; inkrementācija) { darbības, ko izpilda} for ($i = 1; $i <=5; $i++) { } Izvēle (sazarojuma veids) - mainīgajā ierakstīta vērtība nosaka, kurš variants izpildīsies switch ($i) { case 0:.. break; case 1:. break; } Mainīgo ievades forma Iespēju ievadīt vērtības nodrošina HTML valodā rakstīta ievades forma. Ievades forma, sastāv no teksta, kas pastāsta, ko ievada, aizpildāma lauka, nospiežamas pogas un faila adreses, kurš izpilda darbības ar šo kodu. <!Doctype html> <html> <head> <meta charset= UTF-8 > </head> <body> Deklarē dokumentā esošās valodas veidu. Uzsāk HTML kodu. Sadaļa, kur norāda saistīto failu vietu, iestatījumus utml. Meta tagi apraksta, kāda informācija ir atrodama lapā. Uzsāk redzamo daļu. <form action= faila_nosaukums.php method= get > Deklarē formas sākumu. Aizstāj faila nosaukums ar sava faila nosaukumu. Metodes get vietā izmēģina arī post. Mainīgais a: <input type= number name= mainigais_a ><br> Deklarē mainīgā nosaukumu, veidu un ļauj lietotājam to ievadīt. Populāri ievades veidi: number, text,
password, radio, checkbox, button, submit, reset. <input type= submit value= gatavs! > </form> </body> </html> Definē podziņu, kas nosūta datus. Beidz HTML kodu. Attiecīgi, PHP failā ir jāsaņem šie ievadītie dati. Dati būs saglabāti šādā formā: Get metodei: $_GET[ mainigais_a ] Post metodei: $_POST[ mainigais_a ] Dropdown menu <form action= faila_nosaukums.php method= get > <select name= no_uz_sistemu > <option value= 1 > Decimālā -> Binārā </option> <option value= 2 >Decimālā -> Heksadecimālā </option> </select> </form> Papildus noderīgas funkcijas intval( 2 ); floatval( 2.0 ); settype($mainigais, integer ); pow(2, 3) no teksta uz veseliem cipariem no teksta uz decimāldaļskaitļiem nomainīt datu tipu Kāpina skaitli pakāpē substr( AAEFD, -3, 1); -> E nokopēt konkrētu daļu no teksta floor($mainigais); ceil($mainigais); round($mainigais); strlen($mainigais); noapaļo uz tuvāko mazāko vērtību noapaļo uz tuvāko lielāko vērtību matemātiski noapaļo nosaka burtu virknes garumu
Algoritms https://www.youtube.com/watch?v=l2zsmyai5ww Ievadītais = no formas ievadītais skaitlis Izvēle = no formas izvēle Switch (izvēle){ Dec->Bin: Sk=ievaditais For( ){ i = 3; i>=0; i-- i=3 ar kādu vērtību jāsāk cikls i>=0 ar kādu nosacījumu jāturpinās ciklam / līdz kādai vērtībai ciklam jāiet i- Kādā veidā cikla skaitītājam ir jāpalielinās/jāsamazinās Sk2=sk%2 i 2 i -> pow(2,i) 2 skaitlis ko kāpina (var likt citu) i pow pakāpe (pakāpes mainīgais) - komandas nosaukums If sk2==sk{ }else{ } Sk=sk2 } Dec->Hex: Bin->Dec: Nedalās -> izvada 0 Dalās ->izvada 1 1. Dalām doto skaitli ar bāzi kāpinātu lielākajā pakāpē 2. Veselo dalījumu noapaļotu uz leju (floor($ievaditais);) izvadām (ja lielāks par 9, izvadām burtu jāizmanto switch izvadei) 3. Atlikumu ierakstām dalāmajā 4. Samazinām bāzes pakāpi par 1 5. Atkārto līdz izpildīts no max bāzes līdz 0. ieskaitot
1. Nosaka ievadītās virknes garumu ar strlen(ievaditais);, skaitli saglabā mainīgajā garums, mainīgais summa=0 2. Cikls ar (garums-1) līdz 0 a. Sk = substr(ievaditais, -(i+1), 1) b. Swicth(sk){ 0 vai 1 sareizina ar 2 i summa+=iegūtais skaitlis c. Turpina līdz izpildīts cikls un tad izvada iegūto summu Hex->Dec: 1. Nosaka ievadītās virknes garumu un izveido summas mainīgo 2. Dilstošs cikls a. Nokopē simbolu no virknes (sākot ar kreiso pusi) b. Izmantojot izvēli pārvērš burtu par skaitli c. Sareizina iegūto skaitli ar skaitli pakāpē d. Summai pieskaita iegūto reizinājumu e. Turpina līdz izpildīts cikls un tad izvada iegūto summu