MPZI_vj12_s_izradom

2474 days ago by fresl

Naredba if


1. zadatak

Napišite programsku funkciju  najveca_negativna()  koja će pronaći najveću negativnu komponentu liste.  (Ako lista ne sadrži ni jednu negativnu komponentu, rezultat funkcije neka je $-\infty$.)  Program izvedite za argument  $l_1 = [2, -3, 4, -1, -10, 0, 5]$,  pa zatim za argument  $l_2 = [2, 3, 4, 1, 10, 0, 5]$  (rezultati bi trebali biti $-1$ i $-\infty$).

       

... ili:

       
       
-1
-1
       
-Infinity
-Infinity


1. zadatak za zadaću

Napišite programsku funkciju  najveca()  koje će pronaći najveću komponentu liste. Program izvedite za argument  $l = [2, -3, 5, -1, -10, 0, 4]$. Trebali biste dobiti rezultat $5$.

       


2. zadatak za zadaću

Napišite programsku funkciju  najmanja()  koje će pronaći najmanju komponentu liste.  Program izvedite za argument  $l = [2, -3, 5, -1, -10, 0, 4]$.  Trebali biste dobiti rezultat $-10$.

       

 

3. zadatak za zadaću

Napišite programsku funkciju  najmanja_pozitivna()  koja će pronaći najmanju pozitivnu komponentu liste.  (Ako lista ne sadrži ni jednu pozitivnu komponentu, rezultat funkcije neka je $\infty$.)  Program izvedite za argument  $l_1 = [2, -3, 4, -1, -10, 0, 5]$,  pa zatim za argument  $l_2 = [-2, -3, -4, -1, -10, 0, -5]$  (rezultati bi trebali biti $2$ i $\infty$).

       

 

2. zadatak

Napišite programsku funkciju  prebrojavanje()  koja će prebrojiti koliko u listi ima pozitivnih, a koliko negativnih komponenata.  (Nula nije ni pozitivna ni negativna.)  Program izvedite za argument  $l = [2, -3, 4, -1, -10, 0, 5, 7]$  (rezultat bi trebao biti par $4, 3$).

       
       
(4, 3)
(4, 3)

Bez „nepotrebnih” uspoređivanja:

       

... ili, sažetije:

       
       
(4, 3)
(4, 3)

 

Varijacija 1.:

Napišite programsku funkciju  prebrojavanje1()  koja će prebrojiti koliko u listi ima nenegativnih, a koliko negativnih komponenata.  (Nenegativni su pozitivni brojevi i nula.)  Rezultat izvođenja programa za listu $l$ trebao bi biti par $5, 3$.

       
       
(5, 3)
(5, 3)


Varijacija 2.:

Napišite programsku funkciju  prebrojavanje2()  koja će prebrojiti koliko u listi ima pozitivnih komponenata, koliko negativnih i koliko nula.  Rezultat izvođenja programa za listu $l$ trebala bi biti trojka $4, 3, 1$.

       

... ili, sažetije:

       
       
(4, 3, 1)
(4, 3, 1)


4. zadatak za zadaću

U SageMath-u funkcija  is_prime (argument)  vraća vrijednost istina (True) ako je broj argument prost i neistina (False) ako argument nije prost.

Napišite programsku funkciju  broj_prostih()  koja će prebrojiti koliko lista, koja je njezin parametar, sadrži prostih brojeva.  Funkciju izvedite s argumentom  $[5, 8, 12, 13, 18, 21, 23]$;  trebali biste dobiti rezultat $3$  (brojevi $5$, $13$ i $23$ su prosti, dok ostali brojevi u listi to nisu).

       

 

5. zadatak za zadaću

Napišite programsku funkciju  par_nepar()  koja će prebrojiti koliko u listi ima parnih, a koliko neparnih brojeva.  Program izvedite s argumentom  $l =  [2, 3, 4, 1, 10, 8, 9, 5, 7]$;  trebali biste dobiti, kao rezultat, par $(4, 5)$. 

Broj je neparan ako je ostatak pri dijeljenju s 2 jednak 1.  Možete upotrijebiti i SageMath-ovu funkciju is_odd(), koja vraća vrijednost True ako je broj neparan (postoji i funkcija is_even() koja vraća vrijednost True ako je broj paran).

       

 

6. zadatak za zadaću

Napišite programsku funkciju  min_max()  koja će istodobno pronaći najmanju i najveću komponentu liste („istodobno” znači u jednom prolasku kroz petlju).  Izbjegnite „nepotrebna” uspoređivanja brojeva: primjerice, ako je u koraku $k$ komponenta $l_k$ veća od do tada pronađenoga najvećeg broja, ne treba je uspoređivati s trenutno najmanjim brojem.

       

 

3. zadatak

Izmijenite programsku funkciju  prebrojavanje()  iz zadatka 2. tako da njezin rezultat budu liste pozitivnih i negativnih komponenata ulazne liste.  Novu funkciju nazovite  poz_neg_liste().  Program izvedite s listom zadanom u zadatku 2.

       
       
([2, 4, 5, 7], [-3, -1, -10])
([2, 4, 5, 7], [-3, -1, -10])

 

7. zadatak za zadaću

Izmijenite funkciju  broj_prostih()  iz 4. zadatka za zadaću tako da njezin rezultat bude lista prostih brojeva sadržanih u ulaznoj listi.  Novu funkciju nazovite  lista_prostih().

       


8. zadatak za zadaću

Izmijenite funkciju  par_nepar()  iz 5. zadatka za zadaću tako da njezin rezultat budu lista parnih i lista neparnih brojeva sadržanih u ulaznoj listi.  Novu funkciju nazovite  lista_par_nepar().  Komponente listâ svrstajte po veličini primjenom ugrađene funkcije  .sort().

       

 

 

 






Rješenje 1. zadatka za zadaću

Napišite programsku funkciju  najveca()  koje će pronaći najveću komponentu liste. Program izvedite za argument  $l = [2, -3, 5, -1, -10, 0, 4]$. Trebali biste dobiti rezultat $5$.

       
       
5
5

... ili:

       
       
5
5


Rješenje 2. zadatka za zadaću

Napišite programsku funkciju  najmanja()  koje će pronaći najmanju komponentu liste.  Program izvedite za argument  $l = [2, -3, 5, -1, -10, 0, 4]$.  Trebali biste dobiti rezultat $-10$.

       
       
-10
-10

... ili:

       
       
-10
-10


Rješenje 3. zadatka za zadaću

Napišite programsku funkciju  najmanja_pozitivna()  koja će pronaći najmanju pozitivnu komponentu liste.  (Ako lista ne sadrži ni jednu pozitivnu komponentu, rezultat funkcije neka je $\infty$.)  Program izvedite za argument  $l_1 = [2, -3, 4, -1, -10, 0, 5]$,  pa zatim za argument  $l_2 = [-2, -3, -4, -1, -10, 0, -5]$  (rezultati bi trebali biti $2$ i $\infty$).

       
       
2
2
       
+Infinity
+Infinity


Rješenje 4. zadatka za zadaću

U SageMath-u funkcija is_prime (argument) poprima vrijednost istina ako je broj argument prost i neistina ako argument nije prost.

Napišite programsku funkciju  broj_prostih()  koja će prebrojiti koliko lista, koja je njezin parametar, sadrži prostih brojeva.  Funkciju izvedite s argumentom  $[5, 8, 12, 13, 18, 21, 23]$;  trebali biste dobiti rezultat $3$ (brojevi $5$, $13$ i $23$ su prosti, dok ostali brojevi u listi to nisu).

       
       
3
3


Rješenje 5. zadatka za zadaću

Napišite programsku funkciju  par_nepar()  koja će prebrojiti koliko u listi ima parnih, a koliko neparnih brojeva.  Program izvedite s argumentom  $l =  [2, 3, 4, 1, 10, 8, 9, 5, 7]$;  trebali biste dobiti, kao rezultat, par $(4, 5)$. 

Broj je neparan ako je ostatak pri dijeljenju s 2 jednak 1.  Možete upotrijebiti i SageMath-ovu funkciju  is_odd(),  koja vraća vrijednost True ako je broj neparan (postoji i funkcija  is_even()  koja vraća vrijednost True ako je broj paran).

       
       
(4, 5)
(4, 5)

... varijacija na temu:

       
       
(4, 5)
(4, 5)

... i još dvije:

       
       
(4, 5)
(4, 5)
       
       
(4, 5)
(4, 5)


Rješenje 6. zadatka za zadaću

Napišite programsku funkciju  min_max()  koja će istodobno pronaći najmanju i najveću komponentu liste („istodobno” znači u jednom prolasku kroz petlju).  Izbjegnite „nepotrebna” uspoređivanja brojeva: primjerice, ako je u koraku $k$ komponenta $l_k$ veća od do tada pronađenoga najvećeg broja, ne treba je uspoređivati s trenutno najmanjim brojem.

       
       
(-10, 5)
(-10, 5)

... ili:

       
       
(-10, 5)
(-10, 5)


Rješenje 7. zadatka za zadaću

Izmijenite funkciju  broj_prostih()  iz 4. zadatka za zadaću tako da njezin rezultat bude lista prostih brojeva sadržanih u ulaznoj listi.  Novu funkciju nazovite  lista_prostih().

       
       
[5, 13, 23]
[5, 13, 23]


Rješenje 8. zadatka za zadaću

Izmijenite funkciju  par_nepar()  iz 5. zadatka za zadaću tako da njezin rezultat budu lista parnih i lista neparnih brojeva sadržanih u ulaznoj listi.  Novu funkciju nazovite  lista_par_nepar()Komponente listâ svrstajte po veličini primjenom ugrađene funkcije  .sort().

       
       
([2, 4, 8, 10], [1, 3, 5, 7, 9])
([2, 4, 8, 10], [1, 3, 5, 7, 9])