Zbirka Programskih Rešenja u JavaScript Jeziku
description
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: