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