Vaje iz metod in preprostih programov
Tokrat bomo na predavanjih in na vajah skupaj reševali preproste
naloge za utrjevanje znanja.
Naloga 1: Sinusoida
Napiši program
Vedno se nariše natanko ena perioda.
Sinusoida
, ki z ukazne
vrstice sprejme celi števili n
in
m
, nato pa na zaslon nariše sinusoido širine
n
stolpcev in višine m
vrstic. Primer
uporabe:
> java Sinusoida 20 10 * * * * * * * * * * > java Sinusoida 50 15 * * * * * * * * * * * * * * * |
Naloga 2
Napiši metodo
veljaven_datum
, ki sprejme cela
števila d
, m
in l
in vrne
true
, če je d.m.l
veljaven datum.
Naloga 3
Napiši metodo
potem je tabela
tabela_stevk
, ki sprejme niz
String s
, v katerem so zapisane števke (cifre) in
vrne tabelo celih števil, ki vsebuje te števke. Na primer,
če izvedemo
int[] a = tabela_stevk("0451290"); |
a
enaka {0, 4, 5, 1, 2, 9, 0}
.
Naloga 4
Napiši metodo
skalarni_produkt
, ki sprejme dve
tabeli celih števil a
in b
enake dolžine
in vrne njun skalarni produkt.
Namig
Če je
a = {a0, ..., an}
in
b = {b0, ..., bn}
potem je
skalarni produkt a
in b
število
a[0]*b[0] + a[1]*b[1] + ... + a[n]*b[n]
.
Naloga 5
Napiši metodo
potenca
, ki sprejme celi števili
m
in n
ter vrne vrednost potence
mn
.
Nalogo lahko najprej rešiš z zanko
for
, potem pa še
na inteligenten način. Upoštevaj, da velja tole:
- če je
m
sodo število, jenm = (n2)m/2
, - če je
m
liho število, jenm = n * (n2)(m-1)/2
,
Naloga 7
Napiši metodo
povprecna_vrednost
, ki sprejme
neprazno tabelo realnih števil in vrne povprečno vrednost
števil v tabeli.
Naloga 8
(a) Napiši metodo
najmanjsi_element
, ki
sprejme neprazno tabelo realnih števil in vrne najmanjše
število v tabeli.
(b) Napiši metodo
najmanjsi_indeks
, ki
sprejme neprazno tabelo realnih števil in vrne indeks
najmanjšega števila v tabeli.
Naloga 9
Matrika je tabela tabel enakih dolžin. Primer
matrike je
Število vrstic v matriki je
int[][] a = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 0, 1, 2} }; |
a.length
, število
stolpcev pa je a[0].length
.
Napiši metodo, ki sprejme matriko
m
celih števil in
vrne novo matriko, ki je njena transponirana
matrika. Na primer, transponirana matrika matrike
a
iz zgornjega primera je matrika
int[][] b = { {1, 5, 9}, {2, 6, 0}, {3, 7, 1}, {4, 8, 2} }; |
Naloga 10
(a)
Napiši metodo
vsota_matrik
, ki sprejme matriki celih
števil enakih dimenzij in vrne novo matriko, ki je njena
vsota.
(b)
Napiši metodo
pristej_matriko
, ki sprejme matriki celih
števil a
in b
enakih dimenzij ter matriki
a
prišteje matriko b
.
Namig
(b) Metoda
pristej_matriko
ne vrača ničesar,
ampak samo spremeni matriko a
.
Naloga 11
Napiši metodo
je
diagonalna_matrika
, ki sprejme tabelo
celih števil int[] a
in vrne kvadratno matriko, ki
ima na glavni diagonali elemente tabele a
, povsod
drugje pa ničle. Na primer, ko se izvede
int[] a = {1, 4, 2, 3}; int[][] b = diagonalna_matrika(a); |
b
enaka tabeli
{ {1, 0, 0, 0}, {0, 4, 0, 0}, {0, 0, 2, 0}, {0, 0, 0, 3} } |