 
        Osnovni elementi
 Podatki
 Konstante
 Spremenljivke
 Ukazi
Osnove programiranja
 Prireditve in izrazi - računanje
 Zajemanje podatkov in izpis
 Kontrola in vodenje programa (vejitve in zanke)
S primeri v programskem jeziku
FORTRAN in JavaScript
 Strukture
 Komentarji
 Funkcije, metode in podprogrami
 Objekti in podatkovne strukture
Borut Golob
Računalništvo - osnove programiranja
Podatki
Zapis podatkov v računalniku
 Konstante – vrednosti se ne spreminjajo
 Način zapisa v pomnilniku
 Zapis s števili ali znaki
 Imenovane konstante (const, parameter …)
2
 odvisen od tipa podatkov
– različna predstavitev iste kombinacije bitov
 Natančnost in obseg
 Spremenljivke – vrednost se lahko spreminja
 odvisen od dodeljene količine pomnilnika
 običajno 1 bajt (8 bit), 2 bajta (16bit), 4 bajte (32
bit) ali 8 bajtov (64 bit)
 v posebnih primerih moţne operacije na nivoju bita
 Prireditev poljubne vrednosti
 Odvisno od tipa podatkov
 Istočasno pomnijo eno vrednost
 Polja – vrste, tabele … več vrednosti, določene z
indeksi
 Sklicevanje z imeni
Borut Golob
Računalništvo - osnove programiranja
3
Borut Golob
Računalništvo - osnove programiranja
Osnovni tipi podatkov
Sestavljeni tipi podatkov
 Numerični podatki
 Sestavljeni iz osnovnih tipov
 Običajno jih definira uporabnik – programer
 Moţnost dostopa do posameznih elementov
 Cela števila – brez decimalk
 + Absolutna natančnost, - omejen obseg
 Decimalna števila – zapis s plavajočo vejico
(angl. Floating point)
 + povečan obseg, - omejena natančnost
 Zgled: Definiran tip “Zobnik” – vsebuje podatke:
 Nenumerični podatki
 Besedilo – poljubni znaki
 Logični podatki – dve vrednosti: true, false
Borut Golob
Računalništvo - osnove programiranja
5
Odvisen od programskega jezika
Različna slovnična pravila
Običajno razdeljen na ukazne vrstice
Uporaba dovoljenih simbolov
Rezervirana imena – programski ukazi
Komentarji
Računalništvo - osnove programiranja
Borut Golob
besedilo, 10 znakov
celo število
decimalno število
logična vrednost
Računalništvo - osnove programiranja
6
 Opredelitev podatkov
 definicija spremenljivk
 Vhod – vnos potrebnih podatkov
 Obdelava podatkov
 Namenjeni programerju, ne računalniku
 Izboljšajo preglednost kode in olajšajo spremembe
 Večinoma ne vplivajo na hitrost izvajanja
Borut Golob
Oznaka:
Število zob:
Modul :
Čelni zobnik:
Elementarni deli programa
Zapis programske kode
4
7
 Algebraične rešitve (numerične)
 Razvejitev – logične odločitve
 Ponavljanje – zanke
 Izhod – prikaz rezultatov
 Shranjevanje (podatkov in rezultatov).
Borut Golob
Računalništvo - osnove programiranja
8
Razlike v zapisu
FORTRAN = FORmula TRANslation
 Zapis komentarja in programske vrstice v treh
programskih jezikih
 Najboljši jezik za znanstvene aplikacije in numerično
matematiko.
 Je standarden: vsebuje sintaktična pravila, ki jih je mogoče
na kateremkoli računalniku: pisati, prevajati in izvajati.
 Standardi se dopolnjujejo z razvojem programskih jezikov.
 Verzije:
! Fortran
IF (n>0) x=-x
’ VisualBasic
IF n>0 then x=-x
// JavaScript
IF (n>0) {x=-x}
Borut Golob
Računalništvo - osnove programiranja
FORTRAN I
FORTRAN IV (ANSI 1960)
FORTRAN 77 (ANSI 1977)
FORTRAN 95 (ANSI 1995)
FORTRAN II
FORTRAN 66 (ANSI 1966)
FORTRAN 90 (ANSI 1990)
FORTRAN 2003 (zadnja verzija)
 HPF – High Preformance Fortran – paralelno procesiranje
9
Borut Golob
Računalništvo - osnove programiranja
10
Zgled programa
Program v FORTRAN90
Računanje korenov kvadratne enačbe:
Ax2+Bx+C=0 ima znano rešitev
PROGRAM REALNI_KORENI
! Program resi kvadratno enačbo: Ax**2+Bx+C=0
IMPLICIT NONE
REAL :: A,B,C
! Deklaracija spremenljivk
REAL :: diskriminanta,ko1,ko2
PRINT*,'Vnesi koeficiente A,B,C'
READ*,A,B,C
! Bere koeficiente enačbe
diskriminanta=b**2-4.0*A*C
! Računa diskriminanto
IF(diskriminanta<0.0)THEN
PRINT*,' ni realnih korenov'
ELSE
! izračun korenov
ko1=(-B+SQRT(diskriminanta))/(2.0*A)
ko2=(-B-SQRT(diskriminanta))/(2.0*A)
PRINT*, 'korena sta:',ko1,ko2
! Izpise oba korena
ENDIF
END PROGRAM REALNI_KORENI
 B  B 2  4 AC
x
2A
kjer so koreni realni
če je diskriminanta (B2-4AC)
večja ali enaka nič.
Izgled programa, ki zahteva koeficiente enačbe
(A,B,C) in izpiše realne korene kvadratne enačbe,
ponazarja mnoge lastnosti programskega
jezika Fortran.
Borut Golob
Računalništvo - osnove programiranja
11
Borut Golob
Računalništvo - osnove programiranja
Struktura programa v Fortran
JavaScript = ECMAScript ≠ Java
Program IME
Glava s komentarji, namenom programa, avtor
Deklaracija spremenljivk
12
Skriptni jezik – (script = ukazna datoteka)
Tolmač (angl. Interpter) – sprotno izvajanje
Izvajanje v brskalniku – večina podpira
Razvoj
 1995 – Sun -> Java
 Istega leta – Netscape – Live script
Telo programa
 Kasneje preimenovan v JavaScript
 Konkurenca – Jscript (Microsoft iz VBScript)
End
 Standardizacija – ECMAscript
Borut Golob
Računalništvo - osnove programiranja
13
Borut Golob
Računalništvo - osnove programiranja
JavaScript - uporaba
JavaScript - umestitev
 Tekstna datoteka s pripono .html
 V telo – <body>
<html>
<body>
<script type="text/javascript">
<!-document.write("Program v JavaScriptu");
//-->
</script>
</body>
</html>
Borut Golob
Računalništvo - osnove programiranja
14
 Izvajanje takoj
 V glavo – <head>
 Imenovanje – definicija: function Ime()
 Izvajanje ob klicu
 Lahko tudi ob nalaganju: <body onload=“Ime()”>
 Zunanja datoteka s končnico .js
 Vključitev z določilom src
<script type="text/javascript" src="xxx.js"></script>
15
Borut Golob
Računalništvo - osnove programiranja
16
Tipi podatkov - FORTRAN
Zgled
 Numerični:
 // berem podatke – koeficiente enačbe
 var a=+prompt("Vnesi a","1"); var b=+prompt("Vnesi b","-5");
 var c=+prompt("Vnesi c","3");
 var d=b*b-4*a*c; //izračun diskriminante
–
–
–
–
Cela števila
Realna (decimalna) števila
Kompleksna števila
Dvojna natančnosti
 Nenumerični:
if (d<0) {
document.write("Ni realnih korenov")
}
else {
//Izračun korenov
var x1=(-b+Math.sqrt(d))/(2*a)
var x2=(-b-Math.sqrt(d))/2/a
document.write("X1="+x1 + ",<BR>X2=" + x2) }
Borut Golob
INTEGER
REAL
COMPLEX
DOUBLE PRECISION
 CHARACTER
 LOGICAL
– Znakovni podatki
– Logični (.TRUE. .FALSE.)
 Izvedeni: programer definira kombinacijo tipov
spremenljivk (podobno kot v objektnih jezikih)
17
Računalništvo - osnove programiranja
Borut Golob
Računalništvo - osnove programiranja
Cela števila - INTEGER
Decimalna števila - REAL
 Obseg 4 bajte (32 bit)
 Obseg 4 bajte (32 bit)
-231
231-1
 Razpon:
do
 -2.147.483.648 do +2.147.483.647
 1 bit predznak, 23 bit mantisa, 8 bit eksponent
 Natančnost 6 mest
 Razpon: ~ od -1038 do -10-38 , 0 in od 10-38 do 1038
 Deklaracija spremenljivk:
 Deklaracija spremenljivk:
 INTEGER :: ime
INTEGER :: datum, k=4, limita
 REAL :: ime
REAL:: x, y=100.001, z
 Imenovana konstanta
Integer, parameter:: Nula=0
Borut Golob
 Imenovana konstanta
Real, parameter:: Pi=3.141592
20
Računalništvo - osnove programiranja
Borut Golob
Računalništvo - osnove programiranja
Dvojna natančnost
Kompleksna števila - COMPLEX
 Obseg 8 bajt (64 bit)
 Par realnih števil
 Natančnost 16 mest
 Razpon: ~ -10308 do -10-308 in 10-308 do 10308
 Obseg 2×4 bajt (2×32 bit)
 Deklaracija spremenljivk:
 DOUBLE PRECISION:: ime
ali
 REAL*8 :: ime
REAL*8:: determinanta, veliko=1d0
 COMPLEX:: z, kompl=(1.0, 2.0)
 Zapis konstante
 Par realnih števil v oklepaju, ločen z vejico
 (0., 0.) (1e0,-3.2e-1)
 Z = (1.2e3, 0.3)
 Zapis konstante – eksponentni zapis z D
 1D0 1.234567890123456d308
22
Računalništvo - osnove programiranja
Logične spremenljivke - LOGICAL
Borut Golob
Računalništvo - osnove programiranja
23
Znakovne spremenljivke
 Deklaracija:
 Obseg:
 dve moţni vrednosti:
.TRUE.
 CHARACTER [(len=20)] :: ime[*15]
CHARACTER, len=5 :: Ime='Janez', B*12
CHARACTER :: beseda*6, C*12
CHARACTER*10::a,niz*25,cifre='0123456789'
.FALSE.
 Deklaracija:
 Prireditev:
 LOGICAL :: ime
LOGICAL:: predlog =.FALSE., pogoj
CHARACTER (len=20):: univerza
univerza ="Univerza v Mariboru "
univerza ="Ljudska Univerza v Kranju"
predolg zapis
univerza ="Oxford" - ostanek zapolni s presledki
 Prireditev:
pogoj=.TRUE.
Borut Golob
21
 Prvo je realni del, drugo imaginarni del števila
 Deklaracija spremenljivk:
Borut Golob
19
Računalništvo - osnove programiranja
24
Borut Golob
Računalništvo - osnove programiranja
25
IMPLICIT NONE
Podatkovni tipi - JavaScript
 Izključi privzete deklaracije
 osnovni tipi:
 Integer začne s črkami I, J, K, L, M, N, vse druge so real
 Takoj za stavkom PROGRAM ali SUBROUTINE
 Vse spremenljivke je potrebno deklarirati – izogibanje
napakam
program test
implicit none
deklaracije spremenljivk
instrukcije - telo programa
end program test
Borut Golob
 objekt - object
26
Realna – celi del, pika,
decimalni del, eksponent
 3.1415
 10.
 .5
 3.1E12
 .1e12
 2e-12
 konstant, spremenljivk, funkcij
 s pomočjo operacij – aritmetičnih, znakovnih, logičnih
 Zgledi:
3.1415927;
Pi;
'Besedilo'
i+1;
2*Pi*r;
i+j**2/(1-x*x)
SQRT(x**2+y**2);
sin(fi*Pi/180)
'Gospod '//Priimek
- tekstni izraz
.not.(x > y .or. .true.) – logični izraz
28
Računalništvo - osnove programiranja
Aritmetični operatorji - FORTRAN
predstavitev
potenciranje
mnoţenje
deljenje
seštevanje
odštevanje
Borut Golob
Operator Opis
1
2
2
3
3
seštevanje
x=y+2
x=7
-
odštevanje
x=y-2
x=3
*
mnoţenje
x=y*2
x=10
/
deljenje
x=y/2
x=2.5
%
modulus (ostanek) x=y%2
++
Increment (porast) x=++y=y+1 x=6
--
Decrement (upad)
Enako kot
x=y
+=
x+=y
x=x+y
x=15
-=
x-=y
x=x-y
x=5
*=
x*=y
x=x*y
x=50
/=
x/=y
x=x/y
x=2
%=
x%=y
x=x%y
x=0
Borut Golob
b+c*d/e-f**g/h+i*j+k
x=5
Računalništvo - osnove programiranja
31
 nedovoljene operacije: deljenje z 0, 0neg
 prednostne operacije (z leve) in oklepaji
Rezultat
=
x=4
Računalništvo - osnove programiranja
Osnovne aritmetične operacije
 Če je x=10 in y=5
zgled
x=--y = y-1
x=1
30
Prireditveni operatorji - JavaScript
Operator
Zgled: y=5 Rezultat
+
Borut Golob
Računalništvo - osnove programiranja
29
Računalništvo - osnove programiranja
Aritmetični operatorji - JavaScript
prednost pri
izvajanju
**
*
/
+
-
Borut Golob
27
Računalništvo - osnove programiranja
 Postopek za določitev vrednosti iz
Infinity – presega obseg
NaN – Not a Number
Operator
Borut Golob
Izraz – aritmetični, znakovni, logični
Število - number
Borut Golob
nedoločen tip - undefined
prazen tip - null
logični tip - boolean – true, false
število - number
niz - string – med narekovaji (' ali " - enaki)
posebni znaki za \, npr. \", \n – nova vrsta
 sestavljeni tipi:
Računalništvo - osnove programiranja
Cela - integer
 25
 0
 812376348
 0x5ab7
 0Xa0F
 0xFFFF
 0126
 05
aritmetični izraz
1+2*3
10/2*5.0
-b**2/2.0
a/b**2 - c
i**j**2
32
Borut Golob
se izvede (z oklepaji)
1+(2*3)
(10/2)*5.0
-((b**2)/2.0)
(a/(b**2)) – c
i**(j**2) – potenciranje je izjema (z desne)
Računalništvo - osnove programiranja
33
Vgrajene funkcije - FORTRAN
Metode objekta Math – JavaScript
funkcija
opis
argument
vrednost
SQRT(X)
kvadratni koren
REAL
REAL
SIN(X)
sinus (radiani)
REAL
REAL
COS(X)
kosinus (radiani)
REAL
REAL
TAN(X)
tangens (radiani)
REAL
REAL
ABS(X)
absolutna vrednost
INTEGER/REAL
INTEGER/REAL
EXP(X)
naravna eksponentna funkcija e
REAL
REAL
LOG(X)
naravni logaritem
REAL
REAL
MAX(X1,...,Xn)
maksimum x1 do xN
INTEGER/REAL
INTEGER/REAL
MIN(X1,...,Xn)
minimum x1 do xN
INTEGER/REAL
INTEGER/REAL
LEN(C)
dolţina znakovne vrednosti
CHARACTER
INTEGER
MOD(y,x)
celoštevilčni ostanek pri deljenju y/x
INTEGER/REAL
INTEGER/REAL
LOG10(x)
desetiški logaritem
REAL
REAL
INT(X)
celoštevilčni del realne vrednosti x
REAL
INTEGER
REAL(I)
pretvorba cele vrednosti v realno
INTEGER
REAL
Borut Golob
Računalništvo - osnove programiranja
34
Vhod in izhod - FORTRAN
Math.log(a)
Math.max(a,b)
Math.min(a,b)
Math.pow(a,b)
Math.random()
Math.round(a)
Math.sin(a)
Math.sqrt(a)
Math.tan(a)
Računalništvo - osnove programiranja
READ oblika, seznam
PRINT oblika,seznam
 Stavek READ – privzeta naprava: tipkovnica
READ *,a
PRINT*,'a=',a
 * - privzeta oblika – najpogosteje
 številka stavka FORMAT, ki vsebuje formatna določila
 formatna določila v oklepaju kot znakovna konstanta
 seznam – seznam spremenljivk, konstant ali izrazov
 Stavek PRINT – privzeta naprava: zaslon
 Oblikovanje izpisa – FORMAT
 privzeto *
 Stavek FORMAT (formatna določila)
 Besedilni niz
'(formatna določila)'
READ*,a,b; PRINT*,a,b
READ*,a
READ*,b
PRINT*,’To je a:’,a,’ in PI=’,3.1415
PRINT*,"koren stevila ",a," je ",SQRT(a)
36
Borut Golob
Računalništvo - osnove programiranja
Vhod in Izhod – JavaScript
Vhod in Izhod – JavaScript
 Nima vgrajenih funkcij
 Nima vgrajenih funkcij
 Odvisen od gostitelja
 Odvisen od gostitelja
 Pojavno okno – alert
 Pojavno okno – alert
alert("To je pojavno okno")
 Metoda write objekta document
 document.write("besedilo" + spremenljivka)
 document.write("besedilo" + spremenljivka)
 Oblikovanje z uporabo značk html
 Oblikovanje z uporabo značk html
document.write("<h1>Rezultat</h1><big>X
<sub>1</sub>="+x1+"</big>
<br />X<sub>2</sub>="+x2)
Računalništvo - osnove programiranja
37
alert("To je pojavno okno")
 Metoda write objekta document
Borut Golob
35
 oblika – podano oblikovanje:
 Prikaz rezultatov – program izpiše
Računalništvo - osnove programiranja
Borut Golob
Enostavni Vhod in Izhod (IO)
 Podajanje vrednosti – program bere
Borut Golob
Math.abs(a)
Math.acos(a)
Math.asin(a)
Math.atan(a)
Math.atan2(a,b)
Math.ceil(a)
Math.cos(a)
Math.exp(a)
Math.floor(a)
document.write("<h1>Rezultat</h1><big>X
<sub>1</sub>="+x1+"</big>
<br />X<sub>2</sub>="+x2)
38
Branje – vnos podatkov
Borut Golob
Računalništvo - osnove programiranja
39
Branje – vnos podatkov
 Formularji na spletnih straneh
 Pojavno okno prompt – vrne besedilo
 <form …>
 Pojavno okno confirm – vrne logično vrednost
 var ime=prompt("Vnesite ime")
 Pretvorba v število –parse
 parseInt(niz,št.sistem) – pretvorba v celo število
 parseFloat(niz) – pretvorba v realno število
 Vedno samo ena vrednost
 var odgovor=confirm("Ţelite nadaljevati“)
 var vrednost=+promt("Vnesite vrednost")
Borut Golob
Računalništvo - osnove programiranja
41
Borut Golob
Računalništvo - osnove programiranja
42
Primer programa - FORTRAN
Imena spremenljivk - čitljivost
dobro
Sila
pospesek
masa
program pretvorba_F_to_C
implicit none
! Pretvorba iz stopinj Fahrenheita v Celsius
! Izpis rezultatov na zaslon
real, parameter :: factor = 1.8
real ::temp_fahr, temp_cels
print *, 'Vnesi temperaturo v stopinjah Fahrenheit'
read *, temp_fahr
temp_cels = (temp_fahr – 32.0) / factor
print *, ‘Temperatura je', temp_cels,'stopinj C'
end program pretvorba_F_to_C
Borut Golob
43
Računalništvo - osnove programiranja
slabo
f
a
m
grdo
x
y
z
program crap
print *, 'temp'
read *, x
y = (x – 32.0)/1.8
print *, y
end program crap
Borut Golob
Računalništvo - osnove programiranja
44
Zgled izvajanja
Razvejitev programa
Pogojni stavki in odločitve
Borut Golob
45
Računalništvo - osnove programiranja
Vejenje
2.
Borut Golob
Procesor izvaja ukaze po podanem vrstnem redu, če ne
določimo drugače (von Neumann)
Odločitev, odvisno od pogojev,
ali naj bo
niz instrukcij
izveden,
46
Izvajanje odvisno od izpolnitve pogoja
Pogoj – logični izraz
Rezultat: TRUE ali FALSE
Zgledi:
Odločitev, odvisno od pogojev,
kateri (izmed več)
niz instrukcij
bo izveden
47
Računalništvo - osnove programiranja
Primerjalni operatorji
(angl.)
Večji
(Greater Than)
Večji ali enak
(Greater or Equal)
Manjši
(Less Than)
Manjši ali enak
(Less or Equal)
Enak
(EQual)
Neenak
(Not-Equal)
Logični operatorji
IN (oba true)
ALI (vsaj eden true)
NEGACIJA
Borut Golob
Računalništvo - osnove programiranja
Pogojni stavki
Vejenje omogoča:
1.
Borut Golob
Visual Java
Fortran Basic Script
> .GT.
>
>
>= .GE.
>=
>=
< .LT.
<
<
<= .LE.
<=
<=
== .EQ.
=
==
/= .NE.
<>
!=
.AND.
.OR.
.NOT.
Računalništvo - osnove programiranja
And
Or
Not
&&
||
!
49
X==Y
I>0
Ocena>50 && Ocena<=100
Pogoj1 .OR. Pogoj2 .OR. Pogoj3
Borut Golob
Računalništvo - osnove programiranja
48
Blok IF – THEN – END IF (Fortran)
 IF (pogoj) Then
 Če je pogoj izpolnjen
(.true.) se stavki med
Then in End If izvedejo,
sicer pa ne
 Izvršilni stavki
 …
 END IF
 Kratka oblika –
Stavek IF  Če je pogoj izpolnjen se
 IF (pogoj) Stavek
Borut Golob
stavek (samo en)
izvede, sicer pa ne
Računalništvo - osnove programiranja
50
Blok IF – THEN – END IF
Pogojni stavek - IF (JavaScript)
 Stavek IF
- Kratka oblika
 if (pogoj) Stavek
IF
 Sestavljeni stavek
 Izvršilni stavki
 …
NE
Zgled
- JavaScript
if (X>Max) {
Max = X;
}
Then
Izvršilni stavki
Kratka oblika
}
End if
Borut Golob
51
Računalništvo - osnove programiranja
Oblika zapisa
Fortran
Java
Script
Visual
Basic
if (pogoj) {
stavki
}
IF (n==0) {X=X/100}
53
Blok IF – THEN – ELSE – END IF
Zgled
DA
Else
Izvršilni stavki
- FORTRAN
Borut Golob
Zgled
Računalništvo - osnove programiranja
– JavaScript
55
Blok IF – THEN – ELSEIF – END IF
 if (pogoj1) {
 izvršilni stavki
}
 else if(pogoj2) {
 izvršilni stavki
}
 else
{
 izvršilni stavki
 ELSE
 sicer pa stavki med
Else in End If
 END IF
Borut Golob
54
Računalništvo - osnove programiranja
 Če je izpolnjen pogoj1
(.true.) se izvedejo stavki
med Then in ElseIf,
 Izvršilni stavki
 sicer, če je izpolnjen
 ELSE IF(pogoj2)Then pogoj2, se izvedejo
stavki med Then in
 Izvršilni stavki
naslednjim ElseIf ali Else
 IF (pogoj1) Then
 ELSE
if(x>y){y=x}
else {x=y}
End if
 se izvedejo stavki med
Then in Else,
Blok IF – THEN – ELSEIF – END IF
IF(X>Y)THEN
Y = X
ELSE
X = Y
END IF
NE
Izvršilni stavki
 Če je pogoj izpolnjen
(vrednost = .true.)
 Izvršilni stavki
 …
IF n=0 then X=X/100
Računalništvo - osnove programiranja
52
Računalništvo - osnove programiranja
 Izvršilni stavki
 …
IF pogoj Then
stavki
End If
Then
Borut Golob
 IF (pogoj) Then
IF (n==0) X=X/100
Pogoj ?
if (X>MAX) MAX=x
Blok IF – THEN – ELSE – END IF
kratka oblika
IF (pogoj) THEN
stavki
ENDIF
Borut Golob
 Če je izpolnjen pogoj1
(.true.) se izvede prvi
blok stavkov med { in },
 sicer, če je izpolnjen
pogoj2, se izvede drugi
blok stavkov med { in }
 Število stavkov ElseIf je
neomejeno
 sicer pa, če noben pogoj
ni izpolnjen, se izvede
zadnji blok stavkov med
{ in }
 Število stavkov ElseIf je
neomejeno
 Izvršilni stavki
 sicer pa stavki med
Else in End If
 END IF
Borut Golob
56
Računalništvo - osnove programiranja
Blok IF – THEN – ELSEIF - ELSE
IF
ELSEIF
Pogoj ?
NE
Pogoj ?
DA
Then
Izvršilni
stavki
NE
DA
Then
Izvršilni
stavki
Else
Izvršilni
stavki
End if
{
Borut Golob
Pogoj ?
- FORTRAN
IF (X>Max) THEN
Max = X
END IF
DA
 Če je pogoj izpolnjen
(.true.) se izvedejo
stavki v bloku med
{ in }, sicer pa ne.
 if (pogoj) {
IF
Zgled
 Če je pogoj izpolnjen se
stavek (samo en)
izvede, sicer pa ne
Računalništvo - osnove programiranja
57
Borut Golob
Računalništvo - osnove programiranja
58
Zgled – JavaScript
Zgled – Fortran
If (X >
print
Else If
print
Else
print
End If
if (x > y )
{
document.write ('x je večji')
}
else if (x < y )
{
document.write ( 'x je manjši')
}
else {
document.write ( 'x in y sta enaka')
}
Y ) Then
*, 'X je večji'
(X < Y ) Then
*, 'X je manjši'
*, 'X in Y sta enaka'
Borut Golob
59
Računalništvo - osnove programiranja
Zgled – JavaScript – krajši zapis
Select case (izraz)
case( izbira 1) then
nabor ukazov 1
case( izbira 2) then
nabor ukazov 2
...
case default
nabor ukazov N
Endselect
if (x > y ) document.write ('x je večji')
else if (x < y ) document.write ( 'x je manjši')
Izraz je cela, logična ali znakovna
vrednost;
izbira je razpon od:do ali seznam
else document.write ( 'x in y sta enaka')
61
Računalništvo - osnove programiranja
Zgled SELECT CASE – Fortran
if (pogoj)
{
}
_________________
if(pogoj) {
ukazi … }
else {
ukazi … }
Borut Golob
UKAZI
1
DA
UKAZI
2
DA
UKAZI
N
NE
Izbira 2
NE
nobena
NE
62
If (pogoj) Ukaz
__________________
Ukazi…
End If
_________________
If(pogoj) Then
Ukazi …
Else
Ukazi …
End If
63
Borut Golob
If(pogoj) Then
Ukazi …
Else If(pogoj) Then
Ukazi …
… poljubno mnogo Elseif
Else
Ukazi …
End If
Računalništvo - osnove programiranja
64
– JavaScript
if (pogoj) ukaz
__________________
ukazi…
DA
Računalništvo - osnove programiranja
If (pogoj) Then
Računalništvo - osnove programiranja
Povzetek - vejenje
Borut Golob
Izbira 1
Povzetek - vejenje – Fortran
integer:: met, cilj
...
select case (met)
case(7,11)
print*,’ zmaga’
case(2,3,12)
print*,’ poraz’
case default
cilj = met
print*,’ meci dokler nimas’,cilj
endselect
Borut Golob
60
Računalništvo - osnove programiranja
Večkratna izbira (Select case)
if (x > y )
document.write ('x je večji')
else if (x < y )
document.write ( 'x je manjši')
else
document.write ( 'x in y sta enaka')
Borut Golob
Borut Golob
Ponavljanje in Zanke
if(pogoj) {
ukazi … }
else if(pogoj) {
ukazi …
Neštete zanke
Zanke z določenim številom ponovitev
… poljubno mnogo elseif
{
else
ukazi …
Računalništvo - osnove programiranja
}
65
Borut Golob
Računalništvo - osnove programiranja
66
Ponavljanje izvajana - zanka for ali DO
Del programske kode izvedemo večkrat:
1. Ponavljanje enakih stavkov z
znanim številom ponavljanj
(štete zanke)
2. Ponavljanje enakih stavkov
neznano število krat,
dokler velja določen pogoj
(logične zanke DO in DO WHILE)
Borut Golob
Računalništvo - osnove programiranja
Struktura zank DO - Fortran
 Izvaja stavke med stavkom DO in END DO.
[labela:]
DO index = od,do,korak
…
…
…
END DO [labela]
[labela:]
DO
! Neskončna zanka
…
…
…
IF(pogoj)EXIT
…
…
…
END DO [labela]
[labela:]
DO WHILE (pogoj)
…
…
…
END DO [labela]
67
Borut Golob
Računalništvo - osnove programiranja
68
Zanka DO – sintaksa
Zanka DO – sintaksa
 Zanka se prične z ukazom DO in konča s stavkom END
DO.
 Če je podano ime (labela:) zanke DO na začetku,
mora biti zapisano enako ime tudi na koncu (ENDDO
labela).
 index – indeks zanke je celo število (INTEGER).
 od,do,korak – so cela števila ali celoštevilčni izrazi
od in do sta skrajni vrednosti.
 korak (inkrement), ki je lahko pozitiven ali negativen.
Če ni podan je njegova vrednost 1.
 Če je korak pozitiven, bo zanka DO nehala delovati ko
je index > do.
 Zanka DO brez index, mora imeti vsaj eno preverjanje
izvajanja.
 Zanka DO WHILE se izvaja le kadar je pogoj izpolnjen
in neha delovati, ko pogoj ni izpolnjen. Uporabimo
kadar ne poznamo števila ciklov.
 Če je gnezdenih več zank DO, mora biti ena zanka v
celoti znotraj druge.
 Ukaz CYCLE - preskoči na konec aktivne zanke.
 Ukaz EXIT - prekine izvajanje aktivne zanke DO.
 Izvajanje zanke lahko zapustimo (EXIT), ne moremo
pa prenesti izvajanja v zanko.
Borut Golob
Računalništvo - osnove programiranja
69
Primeri zank – Fortran
Računalništvo - osnove programiranja
70
Primeri zank – Fortran
 Šteta zanka
 Šteta zanka
DO L = 1, 5
PRINT*,L,'. ponovitev'
END DO
 Nešteta zanka
L = 1
DO
if(L>5) exit
PRINT*,L,'. ponovitev‘
L = L + 1
END DO
Borut Golob
Borut Golob
do stevec=1,nmax,2
print*,stevec,liha stevila'
Enddo
L = 1
DO WHILE(L<=5)
PRINT*,L,’. ponovitev’
L=L+1
END DO
Računalništvo - osnove programiranja
71
Zanka while - JavaScript
 Nešteta zanka
stevec=2
Do
If (stevec>nmax) exit
print*,stevec,'parna stevila‘
stevec = stevec + 2
enddo
Borut Golob
Računalništvo - osnove programiranja
72
Zanka for - JavaScript
 while ( pogoj) stavek
 Zgledi:
 for (start; pogoj; korak) stavek
 Zgleda:
while (confirm("Nadaljujem"))
var i=0
while(i<10)document.write("<br>I= "+i++);
for (k=3; k<=Math.sqrt(n); k=k+2) {
if(n%k==0)
document.write(k+' deli '+n+'<br>')
}
var i=1
while (i<10) {
document.write("<br> Število " + i);
i=i+2 }
Borut Golob
Računalništvo - osnove programiranja
for (i=0; i<=10; i++)
document.write("<br />I= " + i)
73
Borut Golob
Računalništvo - osnove programiranja
74
Zanka do - JavaScript
Nadzor izvajanja zanke
 do {
 CYCLE – Fortran
 continue – JavaScript
stavki } while (pogoj)
 Vsaj eno izvajanje – kontrola na koncu
 Obvezno pisanje z { oklepaji }
 Preskoči ostanek zanke in
nadaljuje izvajanje na
začetku zanke – nov korak
 Zgled:
 EXIT – Fortran
 break – JavaScript
i=0
do {
i=i+3
document.write("<br />I= " + i)
} while(i<15)
Borut Golob
Računalništvo - osnove programiranja
Začetek zanke
 Prekine izvajanje zanke in
nadaljuje izvajanje na prvem
stavku, ki sledi zanki
75
Borut Golob
CYCLE
continue
EXIT
break
Konec zanke
Nadaljevanje
Računalništvo - osnove programiranja
Zgled – CYCLE / continue
Zgled – EXIT / break
 Izpis števil brez mnogokratnikov števila 3
 Ugotavljanje ali je število n praštevilo
 FORTRAN
 FORTRAN
DO i = 1, n
IF(i==i/3*3) CYCLE
PRINT *, i
END DO
DO i = 2, n-1
IF (MOD(N,I)==0) EXIT
END DO
IF (i==n) PRINT *, n,' je prastevilo‘
 JavaScript
 JavaScript
for(i=1;i<=n;i++) {
if(i%3==0) continue
document.write ('<br>'+i) }
for(i=2;i<n;i++) { if(n%i==0) break }
if (i==n)
document.write (n+' je praštevilo<br>‘)
Borut Golob
Računalništvo - osnove programiranja
77
Borut Golob
Računalništvo - osnove programiranja
Gnezdene strukture
Označevanje zank
 Zanke in pogojne stavke (if) lahko gnezdimo
 Notranja struktura mora biti v celoti vsebovana
v zunanji strukturi
 Zgled: Pravilno
Napačno
 Zanke lahko tudi označimo
DO
DO
IF ( pogoj ) THEN
END IF
END DO
Borut Golob
 Oznaka – poljubno ime z dvopičjem:
zunaj: DO i=1,5
not: DO j=1,3
PRINT *, i, j
END DO not
END DO zunaj
END DO
END IF
Računalništvo - osnove programiranja
79
78
 Izboljšanje preglednosti
 Sklicevanje na oznako
- FORTRAN
IF ( pogoj ) THEN
76
Borut Golob
-JavaScript
Zunaj: for(i=1;i<=5;i++)
{
Not: for(j=1;j<=3;j++)
document.write(i+', '+j)
}
Računalništvo - osnove programiranja
80
				
											        © Copyright 2025