четвртак, 26. март 2020.

PROGRAMSKA PETLJA FOR (2)


Sabiranje, množenje i prebrojavanje u ciklusu

Zadatak 1:
 Izračunati N! (faktorijel od N - računa se kao 1*2*3*4*...*N).



Rešenje:

n=int(input('unesite broj'))
f=1
for i in range(2 , n+1):
    f=f*i
print( 'n!=', f)

 Primer izvršavanja:

unesite broj  14
i= 2   f= 1 * 2
i= 3   f= 2 * 3
i= 4   f= 6 * 4
i= 5   f= 24 * 5
i= 6   f= 120 * 6
i= 7   f= 720 * 7
i= 8   f= 5040 * 8
i= 9   f= 40320 * 9
i= 10  f= 362880 * 10
i= 11  f= 3628800 * 11
i= 12  f= 39916800 * 12
i= 13  f= 479001600 * 13
i= 14  f= 6227020800 * 14
n!= 87178291200

Svaki prolazak kroz ciklus znači da se tekuća vrednost proizvoda f množi tekućom vrednosti brojača i ponovo dodeljuje promenljivoj f.

Promenljiva f  koja se menja u ciklusu, pre ulaska dobija vrednost 1. To se mora uraditi jer ako početna vrednost proizvoda bude 0, dalje u ciklusu se sve množi  nulom. Tada nam je rezultat 0 iako program naizgled deluje ispravno.

Zadatak 2.


Odrediti sve delioce prirodnog broja n i prebrojati koliko ih ima.

 Rešenje:

n=int(input('Unesite broj'))
print('Delioci broja ',n, ' su:')
s=0
for i in range(1,n+1):
    if n % i= =0:
        print(i)
        s=s+1
print( ‘i ima ih’ , s)

Promenljiva s nam je brojač, pre ulaska u ciklus smo je postavili na nulu. Svaki put kada se u ciklusu naiđe na delilac broja n, brojač uvećavamo za 1.

Zadatak 3.

Napisati program koji štampa sve trocifrene brojeve koji su deljivi sa 3, nisu deljivi sa 7, a
poslednja cifra im je neparan broj i izračunati njihov zbir.

Rešenje:

s=0
for n in range (1,1000):
    c=n%10;
    if n%3 ==0 and n%7!=0 and c%2!=0:
        print(n)
        s=s+n
print('suma je',s)

Cifru jedinica c dobijamo kao ostatak deljenja broja n sa 10

Zadaci za vežbu:

  1. Izračunati proizvod recipročnih vrednosti brojeva u intervalu od n do m
  2. Izračunati sumu korena brojeva od n do m.
  3. Ispisati koliko ima brojeva deljivih brojem x u intervalu od n do m. (x, n, m su ulazni podaci)




TABELE U WORD-u (2)


Automatsko ujednačavanje širina kolona i redova

Pod Table Tools>Layout>Cell size postoji opcija za ujednačavanje veličina kolona i redova Distribute columns i Distribute rows . Kada se selektuje više objekata, ili sve kolone i redovi pomoću ove opcije, veličine svih selektovanih kolona i/ili redova biće postavljeni na istu vrednost. Treba imati u vidu da se kod ove opcije za vrednost uzima srednja vrednost svih širina ćelija za kolone i svih visina ćelija za redove.




















Sečenje tabele na više delova - opcija Split Table

Ukoliko za tim postoji potreba, tabela se može iseći na dva ili više delova. Da bi to uradili potrebno je odabrati liniju preseka i selektovati ćeliju ispod te linije i kroz Table Tools>Layout>Split Table se tabela preseče na željenom mestu, čime se dobijaju dve odvojene tabele.




Predefinisani izgled tabele


Iako tabela može vizuelno da se napravi veoma specifičnom u zavisnosti od potrebe, postoji dosta predefinisanih izgleda tabela koje nudi sam Microsoft Word. Nalaze se u Table tools>Design . Iako izgledaju prilično dopadljivo ovi predefinisani dizajni se najčešće mogu praktično primeniti samo na tabele koje nemaju specifične spojene ili izdeljene ćelije, ali to opet zavisi od slučaja do slučaja.



Pozicioniranje teksta

Tekst unutar ćelija tabele za razliku od običnog teksta u dokumentu može stajati na 9 pozicija koje se biraju u Table tools>Layout>Alignment 





Smer teksta

Tekst u ćeliji može da stoji na tri različita načina. Horizontalno što je podrazumevano, kao i vertikalno, ali sa dve opcije odozgo na dole i odozdo na gore. Kada se klikne desnim klikom miša na određenu ćeliju ili više njih, iz  menija se izabere Text Direction ili se obeleži ćelija ili više njih i opcija se pokrene kroz Table tools>Layout>Alignment>Text direction . U prozoru se izabere  jedna od  ponuđenih opcija.






Sortiranje teksta

Ukoliko postoje liste koje je potrebno sortirati po nekom osnovu, može se korisiti opcija Sort. Ona se nalazi u Table tool>Layout>Alignment>Sort.  Kada se obeleži kolona po kojoj se sortira u prozoru opcije Sort bira se način sortiranja rastuće ili opadajuće tj. ascending ili descending.




Zadatak za vežbu:








среда, 18. март 2020.

PROGRAMSKA PETLJA FOR


PROGRAMSKA PETLJA FOR


Programske petlje su programske strukture koje omogućavaju višestruko ponavljanje određenog dela programskog koda. Petlja kao i programski konstrukt grananja ili odluke (if-else) sadrže uslov. Ispunjenjem uslova određeni deo koda  izvršava se zadat broj puta. Osim toga petlja sadrži i brojač. Brojač je nešto poput uslova, gde zadajemo broj ponavljanja nekog programskog koda. Ključna riječ za aktivaciju petlje je naredba for.


Uz nju dolazi oznaka i koja označava brojač. Brojač petlje zadaje broj ponavljanja određenog koda. Druga ključna reč u petlji je range pomoću koje određujemo uslov ponavljanja određenog koda. Unutar range nalazi se početna vrednost brojača od koje petlja kreće ponavljati određeni kod, zatim završna vrednost petlje  i korak petlje kojim kažemo brojaču u kom smeru treba brojati i ponavljati petlju. Npr. može se zadati ispis svakog drugog broja kog je korisnik uneo, ili se može zadati ispis negativnog broja. Završetak deklaracije označavamo sa znakom : kao kod programskog konstrukta odluke.

Primer: Ispiši brojeve od 1 do 5

  •   Brojač smo u ovom primeru označili promenljivom i
  • Odredili smo početnu i završnu vrednost brojača.
  • U poslednjem prolazu vrednost brojača je uvek za 1 manja.
  • Radnja će se ponavljati sve dok brojač ne bude imao vrednost 6
  • U svakom prolazu ispisaće se vrednost brojača, osim u poslednjem jer se petlja zaustavlja.


 ZADACI

Zadatak1:
Ispišite ponavljanje rečenice „Unosimo policu broj“ deset puta.

Primer testiranja: 

Rešenje:
Na mesto uslova u for petlji, odredili smo početnu (1) i završnu vrednost (11).Petlja je ispisala 10 puta rečenicu „Unosimo policu broj“ i broj od 1 do 11 tačnije prvih 10 brojeva. Vrednost brojača unutar petlje ne pamti završnnu vrednost. Da bi dobili završnu vrednost, parametar završne vrednosti moramo postaviti na n+1. Da je npr. stavljeno u petlji od 0 do 10, program bi ispisao brojeve: 0,1,2,3,4,5,6,7,8,9. Odnosno prvih 10 cifara brojeći od nula. Dakle for petlja u Pythonu počinje brojati od zadate početne vrednosti, ali ne ubraja završnu vrednost zadatu u petlji.

Zadatak 2:
Ispisati samo parne brojeve niza od prvih 10 brojeva.








Kod ovog rešenja, dodato je uz raspon početne i završne vrednosti i broj koraka. Broj koraka ovde je 2. To znači da će program ispisivati svaki drugi broj odnosno u ovom slučaju parne brojeve.

Zadatak 3:
Ispiši prvih šest brojeva u obrnutom nizu. Npr. 1,2,3,4,5,6 ispisati kao 6,5,4,3,2,1.



Da bi dobili ispis obrnutog niza brojeva, moralo se najpre postaviti početna vrijednost na broj 6 to jest na broj kojim završava niz. Zatim kao završnu vrednost postaviti broj 0 tj. broj s kojim niz započinje. A broj koraka se zatim postavi na -1 čime se označava da treba krenuti unazad.

Zadatak4:
Ispišite prvih 10 brojeva, ali izuzmite broj 7.

Da bi omogućili ispisivanje brojeva u nizu, koristili smo for petlju sa zadatom početnom i završnom vrednosti. Budući da smo ispisali niz brojeva bez broja 7 u njemu, bilo je potrebno kombinovati više programskih struktura poput odluka i petlje.

Zadaci za vežbu:
  1. Ispisati sve trocifrene brojeve deljive sa 13
  2. Ispisati rečenicu ‘Vežbaću zadatke ciklične strukture’  20 puta
  3. Napiši program koji ispisuje sve brojeve počevši od vrednosti prvog učitanog broja do vrednosti drugog učitanog broja




TABELE U WORD-u


Tabele u Wordu (1)
Tabela se sastoji od redova i kolona. Presek reda i kolone predstavlja ćeliju.
Tabelu u Wordu možete napraviti na više načina.
Iz menija Insert biramo opciju Table:




Kad kliknemo na malu strelicu ispod teksta Table otvara se padajući meni:



Možemo mišem preći preko kvadratića i tako odrediti broj kolona i redova koji želimo.
A ako odaberemo opciju Insert Table…


dobijamo prozor u kome ispisujemo potreban broj kolona i redova, a zatim kliknemo na OK.



Ćelije u koloni mogu biti spojene ili razdvojene:


Da bi spojili ćelije u tabeli potrebno je da ih obeležimo, a zatim  biramo opciju Merge cells
Da bi razdvojili  ćeliju potrebno je da kliknemo u nju, pa biramo opciju Split cells



Tabelu možemo i sami nacrtati ako izaberemo opciju Draw table.
Dobićemo olovku, pomoću koje crtamo tabelu kakvu želimo. Na raspolaganju su nam različite vrste, debljine i boje linija, kao i gumica ako smo nešto pogrešno nacrtali.
Selektovanje tabele
Za tabele u Wordu, važe pravila kao i kod običnog teksta, tj. da bi se izvršila zadata komanda, neophodno je da selektujete odgovarajuću oblast.

·         Celu tabelu selektujete tako što kliknete na kvadratić u gornjem levom uglu tabele, koji se pojavljuje kada dovedete pokazivač miša na tabelu.
·         Kolonu selektujete tako što pokazivač miša dovedete tik uz vrh kolone, i klikne kada se pokazivač pretvori u puniju strelicu na dole. Više kolona selektujete na isti način, s tim što držite levi taster miša i prevučete nad željenim brojem kolona.
·         Vrstu selektujete iz leve margine (isto kao i red teksta). Više vrsta selektujete tako što kliknete u levu marginu, i ne puštajući levi taster miša, prevučete preko željenog broja vrsta.
·         Ćeliju selektujete tako što dovedete pokazivač miša u levi ugao ćelije i kliknete. Ako ne otpustite levi taster, a vučete miša, selektovaćete određenu oblast u tabeli.
·         Ako želite da selektujete više različitih oblasti odjednom, koristite pomoćni taster Ctrl.
·         Naravno, imamo i komandu Select - Table, Row, Column, Cell , selektuje objekat u kome je kursor.
Dodavanje vrsta i kolona

Potrebno  je da selektijete kolonu ili vrstu koja vam je orijentir. U odnosu na selektovanu kolonu ili vrstu, dodajete novu. Komanda Insert gde birate jednu od ponuđenih komandi. Kolona stoji vertikalno, što znači da u odnosu na selektovanu, novu možete da ubacite sa leve ili desne strane (Insert Columns to the Left ili Insert Columns to the Right). Sa druge strane, vrsta je postavljena horizontalno, tako da novu možete da ubacite iznad ili ispod selektovane (Insert Rows Above ili Insert Rows Below).
Ako želite da ubacite dve ili više kolona odjednom onda je potrebno da isto toliko i selektujete. Isto važi i za vrste. Npr. ako treba da odjednom ubacite dve kolone između srede i četvrtka, onda treba da selektujete četvrtak i petak i da primenite komandu Insert Columns to the Left.

Brisanje tabele
Kod brisanja je važno da znate da taster Delete briše samo sadržaj selektovanih ćelija a ne i same ćelije. Brisanje ćelija se vrši pomoću komande Delete - Table, Row, Column, Cell
Možete da obrišete celu tabelu ili pojedinačno cele vrste i kolone. Nije moguće da obrišete deo kolone ili vrste, ili pak neku manju oblast tabele, jer bi ostala „rupa“, a „rupa“ po definiciju ne postoji.
·         Celu tabelu brišete tako što je selektujete, pa onda pritisnete taster Backspace.
·         Kolonu brišete tako što je selektujete, pa onda desni klik na selekciju gde iz pomoćnog menija birate komandu Delete Columns.
·         Vrstu brišete na isti način, s tim što birate komandu Delete Rows.
Formatiranje tabela
Sve što važi za formatiranje teksta, važi i za sadržaj tabele. To podrazumeva formatiranje fonta i paragrafa. Podrazumeva se da su ova podešavanja obrađena u prethodnim lekcijama, pa bih ja ovde posvetila pažnju formatiranju same tabele. Tu pre svega spada podešavanje zaglavlja, širine kolona, visine vrsta, pravca i ravnanja teksta, okvira i senčenja.
Da bi postavili tekst u centar ćelije (i po horizontali i po vertikali), kao zaglavlje na slici gore, potrebno je da selektujete prvu vrstu, pa onda desni klik na selektovanu oblast, gde iz pomoćnog menija birate Cell Alignment / Align Center.
Ponekad će vam trebati da tekst u ćeliji bude ispisan vertikalno. Ovo postižete tako što selektujete određene ćelije i iz pomoćnog menija izaberete Text Direction… Videćete da tekst može da bude okrenut na dole ili na gore.

Podešavanje veličine tabele
Veličina tabele se može podesiti tako što se selektuje beli kvadratić u donjem desnom uglu tabele i zatim se tabela poveća ili smanji na željenu veličinu . Ukoliko je potrbno da odnos stanica tabele kao i odnos stranica ćelija ostane nepromenjen prikom promene veličine tabele, dok se tabela povećava ili smanjuje treba držati dugme Shift.

Podešavanje širine kolone
Širina kolone se može podesiti na dva načina. Prvi način je da se klikne na granicu između dve kolone i onda po potrebi poveća ili smanji širina kolone (slika 4). Kod ovog načina povećanja širine kolone dolazi do ponekad neželjenog efekta, a to je da kolona do nje promeni širinu tako što se njena širina smanji ili poveća susednu kolonu u zavisnosti da li je željena kolona povećavana ili smanjivana. Ukoliko ovakav ishod nije odgovarajući, prilikom povećanja širine kolone držimo dugme Shift, tako da kolona do one koju povećavamo ostane nepromenjena.

Podešavanje visine reda
Podešavanje visine reda se takođe može uraditi na dva načina, slično kao kod podešavanja širine kolone. Može se selektovati između dva reda i mišem razvući na željenu visinu  Kod podešavanja visine reda ne utiče se na visinu susednog reda kao kod kolona.
 Drugi način za podešavanje dimenzija je direktnim zadavanjem vrednosti. Selektujete određene vrste ili kolone (ili celu tabelu), zatim desni klik na selekciju, gde birate Table Properties… Na karticama Row i Column zadajete željene vrednosti.
Još jedan, možda i najlakši način je da, kada selektujete željeni deo tabele, kliknete na tab Layout, gde su vam ponuđene opcije Width i Height.
Boje u tabeli
Ako želite da obojite zaglavlje tabele ili pojedine ćelije, selektujte željene ćelije, desni klik na selektovanu oblast i iz pomoćnog menija izaberite Borders and Shading… Ovaj dijalog prozor ima tri kartice. Na trećoj kartici Shading, u kombo-boksu Fill,  možete da izaberete boju za pozadinu ćelije. Pored boje, za pozadinu ćelije možete da izaberete i šrafure (Patterns) mada ja to ne preporučujem jer se onda tekst ne vidi lepo.
Prva kartica istog prozora ja Borders i služi za formatiranje linija. Možete da birate stil linije, boju i debljinu linije. Ono što treba da znate je da na desnoj strani (Preview) možete da pojedinačno podešavate linije. Tako, skroz leva linija predstavlja samo levu liniju u okviru onoga što ste selektovali. Isto važi i za desnu liniju. Srednja linija predstavlja sve srednje linije u okviru selekcije. U primeru dole, samo će leva i desna vertikalna linija biti plava dupla linija, dok će sve vertikalne linije između njih biti isprekidane plave linije. Takođe, isto ovo važi i za horizontalne linije. Samo će gornja i donja linija u okviru selekcije biti dupla i plava, dok će sve linije između njih biti jednostruke i plave.



Evo i zadatka za vežbu: