Zbirka Programskih Rešenja u JavaScript Jeziku

8
Zbirka programskih rešenja u JavaScript jeziku Autor: prof. Milan Popovic, [email protected] U ovoj zbirci nalazi se skup zadataka kojim se ilustruju osnovni algoritamski koraci: sekvenca, selekcija i iteracija. Rešenja su data u JavaScript programskom jeziku. To je učinjeno zbog toga što za egzekuciju programa u JavaScript jeziku studentima nije potreban poseba softver (kompajleri, intepreteri, specijalizovani editori i sl.). Dovoljno je da u nekom prostom editoru (Notepad, WordPad i sl.) u HTML dokument umetnu data rešenja i da onda browserom (Internet Explorer, Firefox, Opera, Chrome i sl.) izvršavaju, modifikuju i testiraju programska rešenja. Studentima se predlaže da ista ova rešenja implementiraju u još jednom programskom jeziku (C#, recimo). 1. Napisati program kojim se štampaju brojevi od 1 do 10 i njihovi kvadrati: 1 1 2 4 3 9 ... 10 100 Rešenje: for(i=1; i<=10; i++) document.writeln("<pre>"+i.toString()+' '+(i*i).toString()+"</pre>"); 2. Napisati program kojim se štampa sledeći trougao: * ** *** **** ***** ****** ******* ******** ********* ********** Rešenje: for(i=1; i<=10; i++){

description

Odlična zbirka zadataka u jeziku Java.

Transcript of Zbirka Programskih Rešenja u JavaScript Jeziku

  • Zbirka programskih reenja u JavaScriptjezikuAutor: prof. Milan Popovic, [email protected]

    U ovoj zbirci nalazi se skup zadataka kojim se ilustruju osnovni algoritamski koraci:sekvenca, selekcija i iteracija. Reenja su data u JavaScript programskom jeziku. To jeuinjeno zbog toga to za egzekuciju programa u JavaScript jeziku studentima nije potrebanposeba softver (kompajleri, intepreteri, specijalizovani editori i sl.). Dovoljno je da u nekomprostom editoru (Notepad, WordPad i sl.) u HTML dokument umetnu data reenja i da ondabrowserom (Internet Explorer, Firefox, Opera, Chrome i sl.) izvravaju, modifikuju i testirajuprogramska reenja. Studentima se predlae da ista ova reenja implementiraju u jojednom programskom jeziku (C#, recimo).

    1. Napisati program kojim se tampaju brojevi od 1 do 10 i njihovikvadrati:

    1 12 43 9...10 100

    Reenje:

    for(i=1; i

  • for(j=1; j
  • Reenje:

    for(i=1; i

  • document.write("Farenhajt----->Celzijus")

    for(i=-40; i 0){

    zbir += broj % 10;broj = Math.floor(broj/10);

    }return zbir;}

    Poziv funkcije:

    document.write(zbir)

    9. Napisati funkciju koja ima tri celobrojna paramerta i koja vraalogiku vrednost true samo ako je zapremina kvadra koji je definisansa ova tri parametra jednaka zapremini kocke ija je stranicajednaka srednjem po veliini parametru. Ako je bilo koji odparametara 0 ili negativan, funkcija vraa vrednost false.

    Primer: Ako su parametri 4, 16, 8, funkcija vraa true. Ako suparametri 6, 6, 12, funkcija vraa false.

    Reenje:

    function kocka(a,b,c){if( a = a && a >= c && a*b*c == a*a*a) return true;if( a*b*c == c*c*c) return true;return false;}

  • Poziv funkcije:

    document.write(kocka(8,16,4));document.write(kocka(6,3,12));

    10. Napisite funkciju koja ima jedan string parametar i koja vraastring koji se dobija sledeom promenom parametra:

    - svi samoglasnici (a, e, i, o ,u) se pretvaraju u velika slova.- svi suglasnici moraju biti mala slova- svi ostali znaci u stringu ostaju nepromenjeni.

    Na primer, ako je parametar "Danas je ponedeljak, a sutra utorak",funkcija ovaj string treba da pretvori u string "dAnAs jEpOnEdEljAk".

    Reenje:

    function slova(tekst){tekst = tekst.toLowerCase();tekst = tekst.replace(/a/g,"A");tekst = tekst.replace(/e/g,"E");tekst = tekst.replace(/i/g,"I");tekst = tekst.replace(/o/g,"O");tekst = tekst.replace(/u/g,"U");return tekst;}

    Poziv funkcije:

    document.write(slova("Danas je ponedeljak, a sutra utorak"));

    11. Skalarni proizvod dva niza, a i b, je suma proizvoda njihovihlanova a[i] i b[i].

    Na primer ako su nizovi:

    niz a = {1.0, 3.5, 2.0};niz b = {2.5, 2.0, 3.0};

    onda je njihov skalarni proizvod 15.5 (= 2.5 + 7.0 + 6.0).

    Napisati funkciju skalarniProizvod(a,b)koja ima dva parametra kojisu nizovi realnih brojeva. Funkcija vraa jedan realan broj jednakskalarnom proizvodu nizova. Ako su nizovi razliite duine funkcijavraa vrednost 0.

    Reenje:

  • Funkcija:

    function skalarniProizvod(a,b){if(a.length != b.length) return 0;suma = 0;for(i=0; i < a.length ; i++)

    suma = suma + a[i]*b[i]return suma;}

    Poziv funkcije:

    var a = new Array (1.0, 3.5, 2.0);var b = new Array (2.5, 2.0, 3.0);document.write(skalarniProizvod(a, b));

    12. Napisti funkciju koja kao parametre ima jedan niz celih brojeva a,i jedan ceo broj b. Funkcija vraa niz koji se sastoji od onihelemenata niza a koji su vei od broja b, a oni elementi niza a kojinisu vei od b dobijaju vrednost 0.

    Na primer, ako je niz a = {4,10,6,8,3} a broj b = 6, onda se vraa niz{0,10,0,8,0}. Ako je duina niza 0, funkcija treba da da poruku "Niz jeprazan" i da vrati vrednost 0.

    Reenje:

    Funkcija:

    function nizBrojeva(a,b){if(a.length == 0){

    alert("Niz a je prazan")return 0;

    }for(i=0; i < a.length ; i++)

    if( a[i]

  • redosledu. Funkcija vraa jednu celobrojnu vrednost prema sledeempravilu:

    a) funkcija vraa broj 2 ako je niz sortiran u rastuem redosledu iako nema duplih brojeva na primer ako je niz {1, 4, 8, 17}

    b) funkcija vraa 1 ako je niz sortiran u rastuem redosledu aliima duplih brojeva na primer ako je niz {1, 4, 4, 17}

    c) funkcija vraa vrednost 0 ako niz nije sortiran u rastuemredosledu na primer ako je niz {4, 1, 8, 17}

    Reenje:

    Funkcija:

    function sortiran(a){rezultat = 2;for(i=0; i < a.length-1 ; i++){

    if( a[i] > a[i+1] ) return 0; // nije sortiranif( a[i] == a[i+1]) rezultat = 1; // mozda je sortiran sa duplim

    brojevima}return rezultat;}

    Poziv funkcije:

    var a = new Array (1, 4, 8, 17);var b = new Array (1, 4, 4, 17);var c = new Array (4, 1, 8, 17);document.write(sortiran(a)+"");document.write(sortiran(b)+"");document.write(sortiran(c));

    14. Napisati funkciju koja ima kao parametre ima dva slovna niza ikoja vraa vrednost true ako su nzovi potpuno isti, a false akonisu. Na primer niz {a, c, b} je isti kao niz {a,c,b}, ali nije istikao nizovi {b,c,a}, {A,c,b}, ili {a,c,b,d}.

    Reenje:

    function isti(a,b){if(a.length != b.length) return false;for(i=0; i < a.length ; i++){

    if( a[i] != b[i] ) return false; // nisu isti}return true;// isti su}

    Poziv funkcije:

    var a = new Array ('a','c','b');

  • var b = new Array ('a','c','b');var c = new Array ('b','c','a');var d = new Array ('A','c','b');var e = new Array ('a','c','b','d');document.write(isti(a,b)+"");document.write(isti(a,c)+"");document.write(isti(a,d)+"");document.write(isti(a,e));

    15. Napisati program (HTML+javascript) u kojem se pojavljuju dvatekstualna polja i jedno akciono dugme. U jedno od polja se unositekst. Kada se klikne na dugme u drugom polju se prikazuje tekst izprvog polja u obrnutom redosledu slova (takozvani palindrom).

    Na primer, ako je u prvom polju upisana re"Prestolonaslednikovica" (najdua srpska re), onda u drugom poljutreba da se pojavi re "acivokindelsanolotserP".

    Reenje:

    function palindrom(recenica){var obrnuto = "";for (i = recenica.length - 1; i>=0; i--)

    obrnuto+=recenica.substring(i,i+1);return obrnuto;}

    Palindrom

    Recenica: Plaindrom: