JavaScript1 - vjezbe sa predavanja Flashcards

1
Q

Zatražiti od korisnika unos njegove godine rođenja (koristiti prompt).
Izračunati starost korisnika i ispisati odgovarajuću poruku ( ‘Punoljetni ste’ / ‘Niste punoljetni’).
Ne uzeti u obzir ako korisnik unese nevaljanu godinu (npr. 2018) - u tom slučaju ispisati odgovarajuću poruku.

A

var birthYear = parseInt(prompt(‘Unesite godinu rodjenja:’), 10);

if (birthYear > 1900 &amp;&amp; birthYear <= 2017) {
  var age = 2017 - birthYear;
  if (age >= 18) {
    console.log('Punoljetni ste.');
  } else {
    console.log('Niste punoljetni.');
  }
} else {
  console.log('Pogresan unos.');
}
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Učitati 2 različita broja.
Ako su oba parna, podijeliti veći broj sa manjim.
Ako su oba neparna, od većeg broja oduzeti manji.
Ako je jedan paran drugi neparan onda ih pomnožiti.
Ispisati rezultat svake operacije.

A
var num1 = parseInt(prompt('Unesite prvi broj:'), 10),
  num2 = parseInt(prompt('Unesite drugi broj:'), 10),
  result;

if (num1 % 2 === 0 && num2 % 2 === 0) {
result = num1 > num2 ? num1 / num2 : num2 / num1;
} else if (num1 % 2 !== 0 && num2 % 2 !== 0) {
result = num1 > num2 ? num1 - num2 : num2 - num1;
} else {
result = num1*num2;
}

console.log(‘Rezultat operacije je ‘ + result);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Učitati 2 cijela troznamenkasta broja.
Ukoliko uneseni broj nije troznamenkast, odbaciti ga.
Zbrojiti zadnje znamenke svakog unesenog broja i ispisati broj.

A
var num1 = parseInt(prompt('Unesite prvi broj:')),
    num2 = parseInt(prompt('Unesite drugi broj:')),
    digitSum = 0;

// Na ovaj način ćemo osigurati da u zbroj spremimo zadnju znamenku jedino ako se radi o troznamenkastom broju.
// Npr, ako je prvi troznamenkast, a drugi ne, zbrojit će samo zadnju znamenku prvog broja.
// Ako su oba troznamenkasta, zbrojit će zadnje znamenke oba broja.
if (num1 > 99 && num1 < 1000) {
digitSum += num1 % 10;
}
if (num2 > 99 && num2 < 1000) {
digitSum += num2 % 10;
}
console.log(‘Zbroj zadnjih znamenki iznosi ‘ + digitSum);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Napravite jednostavan kalkulator.
Omogućite korisniku da pomoću prompt funkcije unese dva broja i operaciju (+, -, *, /).
Ispišite odgovarajuću poruku sa rezultatom, a ako operacija nije podržana ispišite ‘Operacija ne postoji’.
(Pripazite kod operacije dijeljenja)

A
var num1 = parseInt(prompt('Unesite prvi broj:')),
    num2 = parseInt(prompt('Unesite drugi broj:')),
    operation = prompt('Unesite znak operacije:'),
    result;
if (operation === '+') {
  result = num1 + num2;
} else if (operation === '-') {
  result = num1 - num2;
} else if (operation === '*') {
  result = num1 * num2;
} else if (operation === '/') {
  if (num2 !== 0) {
    result = num1 / num2;
  } else {
  	result = 'Infinity';
  	console.log('Nije moguće dijeliti s nulom.');
  }
} else {
  result = 'error';
  console.log('Operacija ne postoji.');
}

console.log(num1 + ‘ ‘ + operation + ‘ ‘ + num2 + ‘ = ‘ + result);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Napravite kalkulator koristeći switch-case.

A
var num1 = parseInt(prompt('Unesite prvi broj:')),
  num2 = parseInt(prompt('Unesite drugi broj:')),
  operation = prompt('Unesite znak operacije:'),
  result;
switch (operation) {
  case '+':
    result = num1 + num2;
    break;
  case '-':
    result = num1 - num2;
    break;
  case '*':
    result = num1 * num2;
    break;
  case '/':
    if (num2 !== 0) {
      result = num1 / num2;
    } else {
      result = 'Infinity';
      console.log('Nije moguće dijeliti s nulom.');
    }
    break;
  default:
    result = 'error';
    console.log('Operacija ne postoji.');
}

console.log(num1 + ‘ ‘ + operation + ‘ ‘ + num2 + ‘ = ‘ + result);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Za uneseni mjesec (riječima) ispišite kojem godišnjem dobu pripada.
Koristiti switch-case.

A

// napisi zadatak

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Napisati program koji ispisuje sve parne brojeve između 1 i 20.

A

var count = 1;

while (count <= 20) {
if (count % 2 === 0) console.log(count);
count++;
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Napisati program koji od korisnika traži unos 5 pozitivnih parnih brojeva, zatim ispisuje njihov umnožak.
Ukoliko ih u više od 10 pokušaja nije uspio unijeti, ispisati poruku o grešci i završiti program.

A
var positiveCount = 0,
  tryCount = 0,
  product = 1,
  input;

while (positiveCount < 5 && tryCount < 10) {
input = parseInt(prompt(‘Enter positive number: ‘), 10);

if (input > 0 && input % 2 === 0) {
product *= input;
positiveCount++;
}

tryCount++;
}

if (positiveCount === 5) {
  console.log('Product: ', product);
} else {
  console.log('Error');
}
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Napisati program u kojem korisnik unosi 3 pozitivna troznamenkasta broja.
Ako broj nije pozitivan i troznamenkast, odbaciti ga.
Ispisati zbroj prvih znamenki unesenih brojeva.

A
var tryCount = 0,
  sum = 0,
  input;

do {
input = parseInt(prompt(‘Enter 3 digit number: ‘), 10);

  if (input > 99 &amp;&amp; input < 1000) {
    sum += parseInt(input / 100, 10);
    tryCount++;
  }
} while (tryCount < 3)

console.log(‘Sum: ‘, sum);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Napisati program koji ispisuje brojeve od 10 do 1.

A

var i,
len = 0;

for (i = 10; i > len; i–) {
console.log(‘Current count: ‘ + i);
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Zatražiti unos dvoznamenkastog broja.
Ispisati sve njegove djelitelje.
Ako broj nije dvoznamenkast, ispisati odgovarajuću poruku.

A

var num = parseInt(prompt(‘Unesite dvoznamenkasti broj:’));

if(num > 9 &amp;&amp; num < 100){
  for(var i = 1; i <= num; i++){
    if(num % i === 0){
      console.log(i);
    }
  }
} else {
  console.log('Broj nije dvoznamenkast.');
}
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Učitati dva broja, zatim ispisati svaki broj između njih koji je djeljiv sa 2 i sa 3.

A
var num1 = parseInt(prompt('Unesite prvi broj:')),
  num2 = parseInt(prompt('Unesite drugi broj:')),
  temp;
if (num1 > num2) {
	temp = num2;
  num2 = num1;
  num1 = temp;
}
for (var i = num1; i <= num2; i++) {
  if (i % 2 === 0 &amp;&amp; i % 3 === 0) {
    console.log(i);
  }
}
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Definirati funkciju min(), koja prima dva broja kao argumente i vraća manji od njih.

A
function min(a, b) {
  return (a <= b) ? a : b;
}

console. log(min(5, 3));
console. log(min(4, 4));

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Definirati funkciju maxOfThree(), koja prima tri broja kao argumente i vraća najveći od njih.

A
function maxOfThree(a, b, c) {
  if (a > b) {
    if (a > c) {
      return a;
    } else {
      return c;
    }
  } else if (b > c) {
    return b;
  } else {
    return c;
  }
}

console.log(maxOfThree(3, 5, 4));

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Napisati funkciju koja će za proslijeđeni mjesec (brojčano), vratiti koliko ima dana u tom mjesecu.
Rezultat ispisati u glavnom programu.

A
function daysInMonth(month) {
  var days = 0; // u slučaju da bude unesen nepostojeći mjesec, da vrati nulu
  if (month === 1 || month === 3 || month === 5 || month === 7 || month === 8 || month === 10 || month === 12) {
    days = 31;
  } else if (month === 4 || month === 6 || month === 9 || month === 11) {
    days = 30;
  } else if (month === 2){
    days = '28/29';
  }
  return days;
}
var mon = parseInt(prompt('Unesite mjesec:'));
console.log('Mjesec ima ' + daysInMonth(mon) + ' dan/a.');
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Napraviti funkciju za računanje broja na zadanu potenciju.
Funkcija prima dva parametra, broj i potenciju, te vraća rezultat.
U glavnom programu od korisnika zatražiti unos broja i potencije, te ispisati rezultat.

A
function calculate(num, pot) {
  if (pot === 0) return 1;
  var base = num;
  for (var i = 1; i < pot; i++) {
    num *= base;
  }
  return num;
}
var num = parseInt(prompt('Unesite broj:')),
  pot = parseInt(prompt('Unesite potenciju:'));

console.log(‘Broj ‘ + num + ‘ na potenciju ‘ + pot + ‘ iznosi ‘ + calculate(num, pot) + ‘.’);

17
Q

Napraviti funkciju countdown koja prima jedan pozitivan broj i ispisuje sve brojeve do 0. (rekurzivno)

A
var countdown = function(value) {
  if (value > 0) {
    console.log(value);
    return countdown(value - 1);
  } else {
    return value;
  }
};
countdown(10);
18
Q

Napraviti funkciju factorial koja računa faktorijele.

A

function factorial(num) {

  if (num < 0) {
    return -1; // reject
  } else if (num === 0) {
    return 1;
  } else {
    return (num * factorial(num - 1));
  }
}
var rez = factorial(5);
console.log(rez);

/////////////////////////////////// rjesenje bez rekurzije

function factorial(n) {
    let fac = 1;
    for(let i = 1; i <= n; i++) {
    fac *= i;
}

return fac; }

console.log(factorial(5));

19
Q

Napraviti funkciju isEven koja vraća true ako je broj paran, u suprotnom vraća false. Fakat treba rekurzivno, boga mi

A
var isEven = function(num) {
  num = num < 0 ? (-1) * num : num;
  if (num === 0)
    return true;
  else if (num === 1)
    return false;
  else
    return isEven(num - 2);
};
var rez = isEven(20);
console.log(rez);