Ulazni podaci (input), procesiranje i izlazni podaci (output)

Računarski program se tipično sastoji od tri koraka:
- Dobivanje ulaznih podataka
- Procesiranje ulaznih podataka
- Proizvodnja izlaznih podataka

print funkcija
String
Prikazivanje izlaznih podataka koristeći print funkciju
- Funkcija: dio postojećeg koda koji izvršava neku operaciju
- print funkcija: prikazuje izlazne podatke na ekranu
-
Argument: podatak koji se daje funkciji
- Primjer: podatak koji se ispisuje na ekran
- Naredbe programa se izvršavaju redoslijedom kojim se pojavljuju
- Odozgo prema dole
Navodnici i apostrofi
String i doslovne vrijednosti stringa
- String (znakovni niz): niz znakova koji se koristi kao podatak
-
Doslovna vrijednost (sirovi podatak) stringa: string podatak koji se pojavljuje u kodu programa
- Mora biti zatvoren apostrofima (‘) ili navodnicima (“)
- Doslovna vrijednost stringa se može zatvoriti trostrukim apostrofima ili navodnicima (''' ili """)
- Može sadržavati i apostrofe i navodnike
- Može imati više linija
Komentari
Komentari
-
Komentari: zabilješke unutar programa
- Pythonov interpreter ih ignoriše
- Namjenjeni osobi koja čita kod programa
- Počinju znakom #
- Pythonov interpreter ih ignoriše
-
Komentar na kraju linije: pojavljuje se na istoj liniji sa kodom, ali nakon njega
- Obično objašnjava svrhu te linije
Varijable
varijabla = izraz
godine = 30

Varijable
-
Varijabla: ime koje predstavlja vrijednost pohranjenu u memoriji računara
- Koristi se za pristup i rad sa podacima pohranjenim u memoriji
- Varijabla referencira vrijednost koju predstavlja
-
Operator dodjele: koristi se za kreiranje varijable i čini da ta varijabla pokazuje na (referencira) vrijednost
- Operator dodjele: znak jednakosti (=)
godine = 30
Varijable
- U naredbi dodjele, varijabla kojoj se dodjeljuje vrijednost mora biti na lijevoj strani
-
Varijabla se može proslijediti kao argument funkciji
- Naziv varijable se ne zatvara navodnim znacima

Pravila za naziv varijable
-
Pravila za naziv varijable u Pythonu:
- Naziv varijable ne može biti ključna riječ
- Naziv varijable ne smije sadržavati prazna mjesta
- Prvi znak mora biti slovo ili donja crta
- Nakon prvog znaka moguće koristiti slova, brojeve ili donje crte
- Nazivi varijabli razlikuju velika i mala slova
- Naziv varijable bi trebao oslikavati njenu upotrebu

Prikazivanje više elemenata koristeći print funkciju
-
Python dozvoljava prikazivanje više podataka koristeći jedan poziv print funkcije
- Podaci su razdvojeni zarezom kada se prosljeđuju kao argumenti
- Argumenti se prikazuju redoslijedom kojim su proslijeđeni funkciji
- Podaci se automatski razdvajaju praznim mjestom prilikom prikazivanja na ekranu

Izmjena varijable
-
Varijable mogu pokazivati na druge vrijednosti prilikom izvršavanja programa
- Sakupljanje smeća: uklanjanje vrijednosti na koje varijable više ne pokazuju
- Izvršava ga Pythonov interpreter
Numerički tipovi podataka i njihove doslovne vrijednosti
-
Tipovi podataka: određuju vrijednost u memoriji (govore šta nule i jedinice predstavljaju)
- npr. int za cijeli broj, float za realne brojeve, str za stringove
-
Numerička doslovna vrijednost: broj napisan u programu
- Ukoliko nema decimalne tačke int, u suprotnom float
- Neki operatori se ponašaju drugačije u zavisnosti od tipa podatka
Izmjena varijable
-
Varijabla može pokazivati na varijablu bilo kojeg tipa
- Varijabla koja je bila dodjeljena jednom tipu podatka se može preraspodijeliti drugom tipu podatka

Unos ulaznih podataka
Čitanje unosa sa tastature
- Većina programa treba dobiti ulazne podatke od korisnika
-
Ugrađena funkcija input čita ulazne podatke sa tastature
- Vraća podatke kao string
- Format: varijabla = input(poruka)
- poruka je najčešće string koji korisniku govori da unese vrijednost
- Ne prikazuje prazno mjesto nakon poruke
varijabla = input(poruka)

Čitanje brojeva koristeći input funkciju
- input funkcija uvijek vraća string
-
Ugrađene funkcije vrše promjenu tipa podatka
- int(podatak) mijenja podatak u int
- float(poadatak) mijenja podatak u float
-
Ugniježdeni poziv funkcije:
- format: funkcija1(funkcija2(argument))
- vrijednost koju vraća funkcija2 je proslijeđena funkciji1
- Mijenjanje tipa podatka radi ukoliko podatak ima ispravnu numeričku vrijednost; u suprotnom dolazi do izuzetka
Računanje
Računanje
-
Matematički izraz: vrši računanje i daje vrijednost
- Matematički operator: alat za izračunavanje
-
Operandi: vrijednosti koje okružuju operator
- varijable se mogu koristiti kao operandi
- Rezultat se najčešće dodjeljuje varijabli

Prednost operatora i grupisanje pomoću zagrada
-
Prednost operatora u Pythonu:
- Izrazi unutar zagrada
- Stepenovanje (**)
- Množenje (*), dijeljenje (/ and //), and ostatak dijeljenja (%)
- Sabiranje (+) i oduzimanje (-)
-
Prvo se izvršavaju operacije većeg prioriteta
- Operatori istog prioriteta se izvršavaju sa lijeva na desno
Samo kod ponavljanja operatora '**' operacije se izvršavaju sa desna na lijevo.
Prednost operatora i grupisanje pomoću zagrada


Operatori stepenovanja i ostatka dijeljenja
-
Operator stepenovanja (**): stepenuje vrijednost
- x ** y = \(x^y\)
-
Ostatak dijeljenja (%): Vrši cjelobrojno donje dijeljenje i vraća ostatak
- drugi naziv: modul operator
- npr: 4%2=0
- npr: 5%2=1
- tipična upotreba u pretvaranju vremena i udaljenosti, i određivanju parnosti broja
P = \frac{F}{(1+r)^n}
Pretvaranje matematičkih formula u programske izraze
- Operator potreban za bilo koju matematičku operaciju
-
Prilikom pretvaranja matematičkih u programske izraze:
- Može biti potrebno dodavanje operatora množenja
- Može biti potrebno dodavanje zagrada
- Nije moguće koristiti simbole (npr. 𝜋 ili 𝜔)
Pretvaranje matematičkih formula u programske izraze


Izrazi miješanog tipa i promjena tipa podatka
-
Tip podatka rezultata matematičke operacije zavisi od tipa podatka operanda
- Dvije int vrijednosti: rezultat je int
- Dvije float vrijednosti: rezultat je float
- int i float: int se privremeno mijenja u float, rezultat je float
- Izraz miješanog tipa
- Promjena tipa iz floata u int uzrokuje skraćivanje dijela iza decimalnog zareza
Spajanje stringa
Dodatna kontrola ispisa
Dodatna kontrola ispisa
-
print funkcija prikazuje liniju izlaznih podataka
- Znak za novu liniju se dodaje na kraju ispisanih podataka
- Poseban argument end=‘granicnik’ uzrokuje da print stavi granicnik nakon ispisa izlaznih podatak umjesto novog reda
-
print funkcija koristi prazno mjesto za razdvajanje elemenata
- Poseban argument sep=‘granicnik’ uzrokuje da print koristi granicnik za razdvajanje elemenata
Dodatna kontrola ispisa
-
Posebni znakovi koji se pojavljuju u doslovnim vrijednostima stringa
- Prethodi im obrnuta kosa crta (\)
- primjeri: novi red (\n), tab (\t)
- Tretiraju se kao komande ugrađene u string
- Prethodi im obrnuta kosa crta (\)
-
Operator + između dva stringa vrši spajanje
- Korisno za razdvajanje stringova

Uređivanje ispisa brojeva
-
Moguće urediti prikazivanje brojeva na ekranu upotrebom f-stringa
- Prije stringa piše se slovo f
- Rezervisano mjesto se označava vitičastim zagradama i sadrži:
- Numerička vrijednost koja se uređuje
- Specifikacija formata
- Specifikacija formata obično uključuje preciznost i tip podatka
- Može navesti korištenje „scientific“ notacije, grupisanje cifri i širinu polja za prikaz vrijednosti
Uređivanje ispisa brojeva
- Znak % se može koristiti u specifikaciji formata da uredi broj kao procenat
-
Za formatiranje integera:
- d se koristi kao definisanje tipa
- Ne navodi se preciznost
- Moguće koristiti format funkciju za podešavanje širine polja ili grupisanje cifri
- Redoslijed prilikom upotrebe više specifikatora formata:
[poravnavanje][širina][,][.preciznost][tip]
Programiranje I - P02
By Elmedin Selmanovic
Programiranje I - P02
- 1,448