Vsebina. Od načrta do programa 3. del. Zgled urejevalnik. urejevalnik. urejevalnik
|
|
- Joan Chase
- 6 years ago
- Views:
Transcription
1 Vsebina Od načrta do programa 3. del uni mb.si Orodja za izdelavo programov Prevajalne enote v programskem jeziku C Napotki za pisanje programov Iskanje napak v programu Domen Verber domen.verber@uni mb.si Govorilne ure: Torek 9:30 11:30 Matej Šprogar matej.sprogar@uni mb.si urejevalnik Izvorno kodo programa lahko načeloma pišemo v katerem koli urejevalniku navadnih (tekstovnih) besedil, vendar nam namenski urejevalniki lahko nudijo večjo preglednost in boljšo produktivnost Razen pisanja izvorne kode lahko omogočajo še: sintaksno barvanje, avtomatsko označevanje programskih blokov, integracijo s prevajalnikom, urejevalnik Sintaksno barvanje: posamezni tipi "besed" programskega jezika (rezervirane besede, spremenljivke, konstante, ), so v besedilu označene na različne načine, da jih lahko vizualno ločimo oz. ugotovimo morebitne napake ob vnosu s tem se bistveno poveča preglednost zapisanega programa urejevalnik Avtomatsko označevanje programskih blokov: urejevalnik nam avtomatsko označi posamezne programske bloke, omogoča prikaz inskrivanje posameznihblokov blokov, ipd. Podobno nam lahko pomaka pri določanju začetkov in koncev posameznih izrazov ko smo postavljeni na enega izmed ločilnikov (začetni ali končni oklepaj, ), nam avtomatsko označi še drugega 1
2 urejevalnik Integracija s prevajalnikom: omogoča sprotno prikazovanje potencialnih napak v kodi (npr. nedefinirane spremenljivke), nudi namige gledeuporabe posameznihspremenljivkinspremenljivk in funkcij drugih modulov, Omogoča tudi klic postopka prevajanja iz okolja urejevalnika in neposredno postavitev na mesto napake v kodi prevajalnik Prevajalnik Prevede in (po potrebi) poveže program v izvedljivo datoteko, generira poročilo o prevajanju, seznam uporabljenih spremenljivk, Preverja in poroča č o sintaksnih ih(l (slovničnih) ih) napakah khv izvorni programski kodi oz. nudi namige ("hinte") za učinkovitejšo kodo prevajalnik Posebna vrsta prevajalnikov, t.i. navzkrižni (cross) prevajalniki, omogočajo da izvorno kodo programa razvijamo in testiramo na enem (gostujočem) sistemu, nato pa jo prenesemo na ciljni sistem, ki ima lahkopovsem drugačne lastnosti (procesno enoto, operacijski sistem, ) Na ta način lahko razvijamo programe za enostavne mikroračunalniške sisteme, ki nimajo kapacitet in zmogljivosti, da bi lahko razvoj izvajali neposredno na njih Tudi gcc prevajalnik lahko deluje kot navzkrižni prevajalnik za široko paleto ciljnih sistemov 2
3 gostujoči sistem program navzkrižni prevajalnik strojna koda programator ciljni sistem strojna koda program CPE razhroščevalnik Razhroščevalnik (debugger) omogoča odkrivanje logičnih napak v programski kodi Osnovne funkcije, ki jih nudi razhroščevalnik so: Omogoča izvajanje programa korak po korak Omogoča vpogled v podatke (spremenljivke) programa in njihovo spreminjanje Omogoča zagon programa in ustavitev na t.i. prekinitvenih točkah označimo določena mesta v kodi in zaženemo program; na prvem označenem mestu se bo izvajanje programa prekinilo Prekinitvena točka Možnost izvajanja programa korak po korak, vstop v klican podprogram, Vpogled v spremenljivke odkrivanje ozkih grl v kodi S temi diagnostična orodji (profilers) lahko poiščemo tista mesta v prevedeni programski kodi kjer se program zadržuje (pre)dolgo časa Profiler na strateška mesta v izvorno kodi (npr. na začetku in koncu podprogramov) vključi merilne točke s pomočjo katerih lahko izmeri število klicev in čas zadrževanja v določenem delu kode Če nimamo profilerja, si ustrezne funkcije lahko napišemo sami (če imamo v sistemu na razpolago dovolj natančno uro) Odkrivanje ozkih grl v kodi Pri profiliranju je potrebno paziti na nekatera dejstva: Meritvene točke, izpisi rezultatov, ipd. lahko pokvarijodejansko sliko časovnih razmer njihove vplive je potrebno minimizirati Rutine, ki so vezane na uporabniški vnos ali neke manj pogoste zunanje dogodke moramo izločiti iz analize 3
4 Odkrivanje ozkih grl v kodi Pri profiliranju je potrebno paziti na nekatera dejstva: Na hitrost izvajanja lahko vplivajo tudi različni parametri prevajalnika, ki smo jih nastavili ob prevajanju Potrebno je upoštevati tudi frekvenco klicev neke funkcije. Počasna funkcija, ki se kliče samo enkrat, lahko (skupaj) porabi manj časa kot hitra funkcija, ki se kliče velikokrat. Odkrivanje ozkih grl v kodi Kaj lahko storimo, ko najdemo ozko grlo? Uporabimo boljši algoritem Poenostavimo rešitev (na račun natančnosti rezultata) Uporabimo različne tehnike optimizacije kode Uporabimo hitrejšo strojno opremo Spremljanje verzij Pri skupinskem delu na malo večjem projektu je potrebno spreminjati več delov izvorne kode hkrati. Da ne pride do zmede (dvojnega dela, hkratnega popravljanja istih datotek, ipd.) je potrebno uporabiti eno izmed tehnik (orodij) za spremljanje verzij Spremljanje verzij kako deluje? Na centralnem strežniku se nahaja skupni repozitorij (baza) izvorne kode. Vsak razvijalec uporablja svojo lokalno kopijo teh datotek Kot privzeto, razvijalci kode ne morejo spreminjati (datoteke so označene samo za branje) Spremljanje verzij kako deluje? Razvijalec lahko rezervira tiste izvorne datoteke, ki jih želi spreminjati ("check out") njegova lokalna kopija datotek postane spremenljiva V tem času drugi uporabniki teh datotek ne morejo rezervirati (oz. spreminjati) Razvijalec po končanem delu vrne spremenjeno kodo v repozitorij ("check in") 4
5 Spremljanje verzij kako deluje? Spremenjene datoteke v repozitoriju ne povozijo (prekrijejo) starih, ampak se ustvari nova verzija => v vsakem trenutku lahko vzpostavimo neko prejšnjo j verzijo aplikacije oz. spremljamo spremembe, ki so se izvedle na kodi. Orodja za spremljanje verzij: Visual Source Safe CVS RCS Druga orodja za izdelavo programov Druga pomožna orodja za: Dostop do baze podatkov Generiranje poročil Izdelavo sistema pomoči Orodja za upravljanje j sprememb (change management) Vsa ta različna orodja se danes združujejo v RAD programska okolja: Visual Studio, Delphi, Splošni napotki za izdelavo aplikacij Kompleksnejše aplikacije razbijte na več prevajalnih enot (modulov) V posamezne prevajalne enote dajte podprograme p in spremenljivke, ki so med seboj logično povezane (npr. glede na funkcionalnost rutine za delo z zaslonom; fazo v rešitvi problema, ) Razmislite o možnosti ponovne uporabe posameznih prevajalnih enot v drugih projektih Prevajalne enote v programskem jeziku C Programski jezik C ne uporablja modulov v pravem pomenu besede, kljub temu pa lahko kompleksnejše programske rešitve razdelimo na več izvornih datotek (.c) Če se v neki izvorni datoteki sklicujemo na elemente druge, moramo v osnovno datoteko vključiti tudi prototipe funkcij in specifikacije tujih spremenljivk (pri "pravih" modulih bi navedli samo ime drugega modula) Prevajalne enote v programskem jeziku C Da prihranimo na času, je smotrno za vsako prevajalno enoto napisati ločeno (definicijsko) datoteko (.h) v kateri so zbrani prototipi funkcij in spremenljivk, ki bi jih lahko potencialno uporabile druge prevajalne enote V definicijsko datoteko ne vključimo tistih funkcij in spremenljivk, ki so lokalnega značaja 5
6 Prevajalne enote v programskem jeziku C Definicijsko datoteko lahko potem vključijo vse druge prevajalne enote, ki potrebujejo funkcionalnosti iz izvornega modula Vključimojihjih z predprocesorsko direktivo #include <ime_datoteke> pred izvajanjem se vsebina datoteke vključi (prepiše) v izvorno kodo Kaj navedemo v definicijski datoteki? Prototipe vseh funkcij, ki naj bodo dostopne iz drugih prevajalnih enot Vse globalne spremenljivke, ki naj bodo dostopne iz drugih prevajalnih enot. Uporabimo atribut extern. V definicijski datoteki naj nebi rezervirali nobenega pomnilnika! Simbolne konstante (#define), ki bi jih lahko uporabili drugi moduli Podatkovne strukture in definicije tipov (typedef), ki jih uporabljajo globalne spremenljivke in funkcije primer.c #define MAX_ST_ELEMENTOV 100 typedef enum barva rdeca, zelena barva_t; int podatki[max_st_elementov]; // Funkcija privatnega značaja int vsota(void) // Funkcija javnega značaja int izracun(barva_t b) return vsota(); primer.c #define MAX_ST_ELEMENTOV 100 typedef enum barva rdeca, zelena barva_t; int podatki[max_st_elementov]; // Funkcija privatnega značaja int vsota(void) // Funkcija javnega značaja int izracun(barva_t b) return vsota(); primer.h #define MAX_ST_ELEMENTOV 100 typedef enum barva rdeca, zelena barva_t; extern int podatki[]; // Funkcija javnega značaja int izracun(barva_t b); primer.c primer.h primer.c primer.h #define MAX_ST_ELEMENTOV 100 #define MAX_ST_ELEMENTOV 100 #include "primer.h" #define MAX_ST_ELEMENTOV 100 typedef enum barva rdeca, zelena barva_t; int podatki[max_st_elementov]; // Funkcija privatnega značaja int vsota(void) // Funkcija javnega značaja int izracun(barva_t b) return vsota(); typedef enum barva rdeca, zelena barva_t; extern int podatki[]; // Funkcija javnega značaja int izracun(barva_t b); glavni.c #include "primer.h" int main(void) podatki[max_st_elementov 1] = 1; printf("%d\n",izracun(rdeca)); int podatki[max_st_elementov]; // Funkcija privatnega značaja int vsota(void) // Funkcija javnega značaja int izracun(barva_t b) return vsota(); typedef enum barva rdeca, zelena barva_t; extern int podatki[]; // Funkcija javnega značaja int izracun(barva_t b); #include "primer.h" glavni.c void main(void) podatki[max_st_elementov 1] = 1; printf("%d\n",izracun(rdeca)); 6
7 Napotki za poimenovanje spremenljivk Najpomembnejša lastnost imena spremenljivke je, da popolno in natančno opisuje entiteto, ki jo predstavlja Ime mora biti specifično in povezano s problemom (npr. namesto Rezultat je veliko bolje uporabiti spremenljivko z imenom VsotaStevil) Predolge spremenljivke so nečitljive, prekratke pa otežujejo razumevanje njihovega pomena int u; //? int zak; // zaključek, žakelj, zakaj? int spremenljivka_prej_znana_kot_prince; // int stevec_zanke; //? kaj dejansko predstavlja? int stevec_vrstic; ti // boljše int stevilka_vrstice; // še boljše Napotki za poimenovanje spremenljivk Uporabite poimenovanja v istem jeziku (npr. samo v angleščini ali slovenščini) Vsaka programerska skupina ima običajno določen dogovor o obliki zapisa imen (npr. z veliko začetnico, ) V programskem jeziku C je običajno, da se spremenljivke pišejo z malimi črkami in z vezaji med besedami temperatura_prostora Napotki za poimenovanje spremenljivk Enostavne zančne spremenljivke: uporabite ime, ki opisuje spremenljivko (npr. vrstica, stolpec, ) sicer uporabite dogovorjena imena (i,j,k) Druge začasne spremenljivke: odražajo naj vsebino podatka (izogibajte se imenom temp ipd.) ne uporabljajte iste začasne spremenljivke za dva ali več različnih stvari for(i=1;i<=25;i++) for(j=1;j<=80;j++) printf("*"); printf("\n"); for(vrstica=1;vrstica<=visina_zaslona;vrstica++) for(stolpec=1;stolpec<=sirina_zaslona;stolpec++) printf("*"); printf("\n"); Napotki za poimenovanje spremenljivk Za poimenovanje parametrov enostavnih funkcij, uporabite dogovorjene oznake, ki odražajo tip oz. vsebino podatka (npr. c znak, s niz znakov, p kazalec, n celo število, x realno število, ) double sin(double x); Poimenovanje logičnih spremenljivk: spremenljivke naj bodo povezane s stanjem opravila (npr. Koncano, Napaka, ) uporabite pozitivno obliko (ne npr. NiNapake if(!ninapake)) 7
8 Uporaba predpon pri poimenovanju spremenljivk Predpone lahko določajo: tip podatka ("madžarska" notacija istevec, p_vrednost oznaka za kazalec, ) pomen podatka (indeks polja, ix_vrstica) globalna lokalna spremenljivka (npr. g_num, ) spremenljivke, ki so elementi strukture (npr. mleto kot pri C++) Napotki za poimenovanje konstant, uporabniških podatkovnih tipov, Predprocesorske konstante običajno pišemo z velikimi tiskanimi črkami (npr. MAX_I) Uporabniške podatkovne tipe pišemo z velikimi črkami ali s pripono _t (npr. UINT8, uint8_t) t) Pri naštevnih podatkovnih tipih je dobro pri imenu konstant podati še tip (kratico) iz katerega izhajajo enum color_t color_red, color_blue, Napotki za deklaracije spremenljivk Preprečite uporabo neiniciliziranih spremenljivk lokalne spremenljivke inicializirajte ob deklaraciji ali tik za njo Deklarirajte (oz. inicializirajte) spremenljivko čim bližje mestu kjer je prvič uporabljena Združite inicializacijo globalnih spremenljivk v skupno proceduro, ki jo poženete na začetku izvajanja aplikacije Napotki za deklaracije spremenljivk Povezane podatke je smiselno združiti v strukture Poenostavi deklaracije parametrov funkcij Poenostavi prireditve int fun(int a,int b,int c) int zac_a; int zac_b; int zac_c; zac_a = a; zac_b = b; zac_c = c; typedef str_t struct int a;int b;int c; int fun(str_t str) str_t zac_str; zac_str = str; Napotki pri izdelavi podprogramov Podprograme uporabite za: Reduciranje kompleksnosti. Program razdelimo na manjše, lažje obvladljive dele in jih obravnavamo ločeno. Preprečitevpodvajanjapodvajanja kode. Zaporedje (podobnih) stavkov, ki se v kodi pojavljajo večkrat, združimo v podprogram. Povečanje prenosljivosti. Dele kode, ki so odvisni od ciljne platforme damo v ločene podprograme (in v posebno prevajalno enoto). Pri prenosu na nov ciljni sistem je potrebno zamenjati samo te. Napotki pri izdelavi funkcij Podprograme uporabite za (nadaljevanje): Za poenostavitev kompleksnejših logičnih izrazov. Kompleksnejše logične izraze je ugodneje razrešiti v funkciji. Pri testiranju pogojev (zanke, odločitve) pa uporabimo klic funkcije. Implementacijo zahtevnejših algoritmov (tudi, če se v programu kličejo samo enkrat). Kasneje se lahko lažje osredotočimo na optimizacijo kritičnih delov kode, če so zajete v ločene funkcije. 8
9 Napotki pri izdelavi podprogramov Podprogram poimenujte tako, da bo enolično odražala kaj dela (npr. izracun_vsote). Pri funkcijah lahko uporabimo opis rezultata, ki ga funkcija vrača, pri procedurah pa glavno delo, ki ga opravlja. Pri imenih se izogibajte splošnih računalniških izrazov (npr. obdelava_podatkov). Napotki pri izdelavi podprogramov Podprogrami naj izvajajo samo eno nalogo. Izogibajte se podprogramom, ki jim preko dodatnega parametra določimo kaj naj podprogram dela. Kontrola za to je lahko poimenovanje podprograma. Ali ji lahko podamo enolično ime? Podprogrami naj ne bi bili daljši od nekaj zaslonov kompleksnejše podprograme razbijte na manjše dele Vsak podprogram dobro dokumentirajte. int fun(int vrsta_operacije) if(vrsta_operacije==1) int n; scanf("%d",&n); return n; printf("%d\n",vrsta_operacije); return 0; Parametri podprogramov Parametre poimenujte v skladu z njihovim pomenom (podobno kot spremenljivke). Tudi pri deklaraciji (prototipu) funkcije zmeraj uporabite imena parametrov. Parametre, ki jih funkcija ne spreminja, označite z atributom const prevajalnik nam bo javil napako, če bomo parameter pomotoma spremenili Uporabite tip void, za označevanje procedur oz. za označevanje podprograma brez parametrov Parametri podprogramov Najprej navedite vhodne parametre, nato parametre, ki jih funkcija spreminja oz. vrača Pri funkcijah, ki spadajo skupaj in imajo podobne parametre, uporabite isti vrstni red parametrov Ne navajajte (dodatnih) parametrov, ki jih funkcija ne uporablja Pri komentarju za funkcijo navedite tudi uporabo in predpostavke povezane s posameznimi parametri Omejite število parametrov na največ 7 Rezultat funkcije Funkcija ali procedura? Funkcija naj vrača konkretni rezultat brez stranskih učinkov (brez izpisa, brez spreminjanja globalnih spremenljivk, ) Procedura lahko spreminja (vrača) več podatkov (pri prenosu parametrov po referenci) in ima lahko stranske učinke Včasih lahko proceduro spremenimo v funkcijo in vračamo status o uspešnosti izvedbe njene naloge 9
10 Rezultat funkcije Pri funkciji preverite vse možne načine vračanja iz nje (da ne dobimo, kot rezultat, nedefinirane vrednosti). Preverite, da kot rezultat ne vračate reference (kazalcev) na lokalne podatke ko se funkcija zaključi, ti podatki izginejo Priporočila pri pisanju izrazov Številčne konstante zamenjajte s simbolnimi imeni (direktivami predprocesorja ali naštevnimi podatkovnimi tipi); izjema so enostavne konstante npr. 0 in 1 Po potrebi dodajte eksplicitno konverzijo tipov (da pri branju kode ne spregledamo konverzij, ki jih naredi prevajalnik implicitno) int a; a = 42; //? a = 7/3; int a; a = 42; //? a = 7/3; #define ODGOVOR_NA_SMISEL_ZIVLJENJA_IN_VSEGA_DRUGEGA 42 int a; a = ODGOVOR_NA_SMISEL_ZIVLJENJA_IN_VSEGA_DRUGEGA ; a = (int) 7/3; Priporočila pri pisanju izrazov Upoštevanje omejitev v natančnosti realnih števil (npr. pri primerjavi enakosti, seštevanje zelo velikih in zelo malih vrednosti ) Dodajte kontrole za morebitnearitmetične napake (deljenje z 0, ), prekoračitve obsega celih števil, ipd. float x,y; char n; x = ; y = x ; printf("%g (%g%g\n",x,y);,,y); if(x==y) printf("podatka sta enaka\n",x); printf("podatka sta različna\n",y); n = 27*10; printf("%d\n",n); x = 12/(n 27*10); printf("%g\n",x); 10
11 float x,y; char n; x = ; y = x ; printf("%g (%g%g\n",x,y);,,y); if(abs(x y)<0.001) printf("podatka sta enaka\n",x); printf("podatka sta različna\n",y); n = 27*10; printf("%d\n",n); x = 12/(n 27*10); printf("%g\n",x); Priporočila pri pisanju izrazov Pri znakovnih nizih je potrebno upoštevati, da se na konec doda '\0' (npr. pri deklaraciji dolžine polja) Upoštevanje maksimalne dolžine polj rezerviranih za znakovne nize sodobne programske knjižnice vključujejo "safe" verzije funkcij za delo z nizi Upoštevanje maksimalne dolžine ostalih polj char niz1[]="abc"; char niz2[3]; int a[10],i; for(i=0;i<=2;i++) niz2[i] = niz1[i]; printf("%s\n",niz2); a[10] = 2; char niz1[]="abc"; char niz2[3]; int a[10],i; for(i=0;i<sizeof niz1;i++) niz2[i] = niz1[i]; printf("%s\n",niz2); a[10] = 2; Napotki za pisanje kode Uporabljajte zamike, da poudarite zgradbo programa Za vsakim povezanim sklopom ukazov izpustite eno prazno vrstico void main () int i; for(i=1;i<=10;i++) printf("%d\n",i); return; void main () int i; for(i=1;i<=10;i++) printf("%d\n",i); return; void main () int i; for(i=1;i<=10;i++) printf("%d\n",i); return; if(a==2) if(b!=3) printf(); 11
12 Napotki za odločitvene stavke if(a==2) if(b!=3) printf(); if(a==2) if(b!=3) printf(); Pogoje v if stavkih poskušajte postaviti tako, da se bo v prvem delu izvedla najbolj pogosta varianta, v drugem () delu pa manj pogosta Če bi bil prvi del stavka prazen, je bolje obrniti pogoj Razmislite, ali je koristno dodati del tudi v primeru, ko le ta ne naredi nič (npr. ko smo naleteli na napačen vhodni podatek, ki pa ga lahko ignoriramo) if(a==0) // Uporabnik je zahteval prekinitev vnosa if(a!=0) // Uporabnik je zahteval prekinitev vnosa if(a>0) vsota = vsota+a; vseh++; if(a>0) vsota = vsota+a; vseh++; /* Vrednost ni pozitivna zato je ne prištejemo */ Napotki za odločitvene stavke Pri stavku switch poskušajte alternative napisati od najpogostejše do najredkejše Uporabite default alternativo za prestrezanje morebitnih napak Preverite, ali ste pravilno navedli break ukaze izogibajte se alternativam, ki se nadaljujejo v naslednjo alternativo Napotki za zančne strukture Kdaj uporabiti določeno vrsto zanke? Zanko for, ko je število ponovitev zanke znano naprej Zanko while, ko števila ponovitve ne poznamo vnaprej Zanko do while, ko število ponovitve zanke ni znano vnaprej, a se mora zanka izvesti vsaj enkrat Neskončno zanko, ko se določena rutina pod normalnimi pogoji nikoli ne zaključi 12
13 Napotki za zančne strukture Napotki za zančne strukture Včasih je potrebno pogoj ponovitve prenesti v sredino telesa zanke uporabimo lahko neskončno zanko z break izhodom Postavite inicializacijski del kode tik pred začetek zanke Uporabite zavite oklepaje tudi, ko telo zanke sestavlja samo en stavek Izogibajte se zankam, ki imajo prazno telo ne uporabljajte trikov in ne stlačite vsega v pogoj Vsaka zanka naj opravlja samo eno nalogo bolje narediti dve zanki, ki se kličeta izmenično glede na nek vhodni pogoj, kot pa eno zanko, ki vključuje j dve alternativni telesi Preverite, ali se zanka v vsakem primeru zaključi Indeksne spremenljivke zank skušajte uporabljati samo v telesu zanke Skušajte omejiti gnezdenje zank na največ tri nivoje Napotki za zančne strukture Kompleksnejše izraze, ki se znotraj telesa zanke ne spreminjajo, izračunajte pred začetkom zanke in jih prenesite v telo zanke preko pomožne spremenljivke Razmislite, ali lahko zanko zamenjate s klicem ustrezne sistemske funkcije (npr. kopiranje elementov polja z memcpy, ) Uporaba rekurzije Rekurzijo uporabite samo, če je rekurzivna rešitev boljša (preglednejša) od iterativne Prepričajte se, da se bo rekurzija vedno zaključila Zreducirajte število lokalnih spremenljivk in parametrov v rekurzivni funkciji, da zmanjšate porabo potrebnega pomnilnika Uporaba goto stavkov Načeloma uporaba goto stavkov ni priporočena V določenih primerih se lahko z ustrezno uporabo goto stavkov izognemo podvajanju kode Namesto stavka goto, uporabitebreakalireturnbreak ali return Pogosto moramo v nekem podprogramu na začetki alocirati pomnilnik in ga na koncu sprostiti. Če se na sredini rutine zgodi napaka, lahko z goto stavkom izvedemo direktni skok na del za dealokacijo. Komentarji Ko pišete komentarje, si predstavljajte, da jih bo bral nekdo, ki ne pozna vašega programa Izkoristite besedila iz specifikacije zahtev, analize in načrta rešitve problema Postavite komentarje vedno na ista mesta v kodi (npr. pred definicijo podprograma, vrstične komentarje vedno določeno število znakov od roba, ) Uporabite poimenovanja spremenljivk in podprogramov, zamike v kodi, kot dodatni način komentiranja programa 13
14 Komentarji Iskanje napak v programu Ne pišite komentarjev, ki opisujejo kaj dela posamezni ukaz programske kode opišite čemu je ukaz ali skupina ukazov namenjena vrstica++; // spremenljivko vrstica povečamo za 1 stevec=0; // števec postavimo na 0 vrstica++; // premaknemo se na naslednjo vrstico izpisa Za napake v vašem programu ste krivi vi in ne računalnik (razen če ) Odprava napake sestavlja iskanje vzroka napake (90% časa) in iskanje rešitve za njeno odpravo (10% časa) Odprava napake lahko povzroči (vpelje) nove napake stevec=0; // števec prebranih podatkov postavimo na 0 Iskanje napak v programu Veliko napak lahko preprečimo s tehnikami kakovostnega programiranja Veliko napak lahko odkrijemo z dobro zastavljenim testiranjem (testiranje robnih pogojev, testiranje z napačnimi vrednostmi, testiranje pokritosti kode, ) Veliko napak lahko odkrijemo s skupinskim pregledom kode. Lastne napake sami najtežje odkrijemo. Tehnike za odkrivanje napak Uporaba očiščevalnika (debuggerja). To je program, ki omogoča: Izvajanje programa korak po korak Nastavitev prekinitvenih točk Opazovanje (in nastavljanje) vrednosti spremenljivk Opazovanje zaporedja klicev funkcij (sklada) Tehnike za odkrivanje napak Uporaba razhroščevalnik (debuggerja) Običajno moramo za delo z razhroščevalnikom prevedeno kodo posebej pripraviti: Po možnosti izklopimo optimizacijo kode V prevedeno kodo vključimo dodatne informacije o spremenljivkah in naslovih posameznih vrstic izvorne kode Zaradi različnih nastavitev so včasih pogoji izvajanja programa pod razhroščevalnikom drugačni od izvajanja nespremenjene kode Tehnike za odkrivanje napak Kaj narediti, če nimamo očiščevalnika? Če obstaja možnost komunikacije s ciljnim sistemom, uporabimo tehniko diagnostičnih izpisov oz. signalov (izpis na zaslon, ) "Poor man debugger" Uporabimo simulatorje in emulatorje Uporabimo električne merilnike (logični analizator, osciloskop, ) 14
15 Tehnike za odkrivanje napak Podprogram assert assert(<logični pogoj>,<sporocilo o napaki>) Podprogram assert testira logični pogoj. Če je izpolnjen, se ne zgodi nič, če ni, se izvajanje programa prekine in izpiše se opozorilo o napaki S posebno kretnico ob prevajanju lahko klice podprograma assert izločimo iz prevedene kode int a[10]; assert(i>=0 && i<10); // v C ju nimamo posebnega sporočila a[i] = ; 15
Vodnik skozi Google Analytics Beta verzija 1. del. prehod s stare kode (urchin.js), k novi kodi za sledenje (ga.js)
Vodnik skozi Google Analytics Beta verzija 1. del prehod s stare kode (urchin.js), k novi kodi za sledenje (ga.js) Ta vodnik je povzetek Googe vodiča ' Tracking Code Migration Guide Switching from urchin.js
More informationTransakcije v MariaDB/MySQL (transakcija A)
Transakcije v MariaDB/MySQL (transakcija A) Pomožni elementi In [1]: # pyodbc import pyodbc try: cn1.close() except: pass # MariaDB/MySQL conn = "DRIVER={MySQL ODBC 5.3 Unicode Driver};SERVER=localhost;DATABASE=sandbox;UID=tu
More informationObravnava izjem (exception handling)
Obravnava izjem (exception handling) Ko umre programer Uvod Ne glede na to, kako dobro smo načrtovali nek program, je še vedno možnost, da lahko med izvajanjem pride do kakšnih napak. Dobro načrtovan program
More informationDelavnica za konfiguriranje dostopovnih točk WEB konfiguracija LANCOM L-54
Delavnica za konfiguriranje dostopovnih točk WEB konfiguracija LANCOM L-54 Boštjan Lemut Prva povezava na L-54 s povezovalnim kablom povežemo mrežna vmesnika na računalniku in L-54 v brskalniku vpišemo
More informationRAZLOG ZA IZVAJANJE PROGRAMA POPRBAZA
RAZLOG ZA IZVAJANJE PROGRAMA POPRBAZA POPRBAZA je namenjen večji reorganizaciji podatkov v računalnikovem spominu. Reorganizacijo narekujejo bodisi zakonske spremembe, bodisi novosti v programu. Zato je
More informationDelavnica za konfiguriranje dostopovnih točk Konfiguracija LANCOM L-54 z uporabo orodja LANConfig
Delavnica za konfiguriranje dostopovnih točk Konfiguracija LANCOM L-54 z uporabo orodja LANConfig Boštjan Lemut Prva povezava na L-54 s povezovalnim kablom povežemo mrežna vmesnika na računalniku in L-54
More informationDržavni izpitni center SPOMLADANSKI IZPITNI ROK *M * NAVODILA ZA OCENJEVANJE. Četrtek, 2. junij 2016 SPLOŠNA MATURA
Državni izpitni center *M16178113* SPOMLADANSKI IZPITNI ROK NAVODILA ZA OCENJEVANJE Četrtek, 2. junij 2016 SPLOŠNA MATURA RIC 2016 M161-781-1-3 2 IZPITNA POLA 1 1 1 2 1 3 3 4 1 5 3 6 2 7 1 8 1 9 1 10 3
More informationPrirejanje in preverjanje tipov
Uvod v C# Drugi del Dedovanje Sintaksa Prirejanje in preverjanje tipov Kaste preverjenih tipov Prekrivanje metod Dinamično povezovanje (poenostavljeno) Skrivanje Dinamično povezovanje (s skrivanjem) Fragile
More informationQ: Do You made a backup before upgrade? A: Only cowards make backups!
Q: Do You made a backup before upgrade? You z malo - you A: Only cowards make backups! Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies.
More informationHierarhično načrtovanje. Načrtovanje digitalnih el. sistemov. Deklaracija komponent. Komponente
Laboratorij za načrtovanje integriranih vezij Fakulteta za elektrotehniko Univerza v Ljubljani Hierarhično načrtovanje Andrej Trost Načrtovanje digitalnih el. sistemov Načrtovanje vezij v jeziku VHDL Komponente,
More informationHierarhično načrtovanje. Načrtovanje digitalnih el. sistemov. Deklaracija komponent. Komponente
Laboratorij za načrtovanje integriranih vezij Fakulteta za elektrotehniko Univerza v Ljubljani Hierarhično načrtovanje Andrej Trost Načrtovanje digitalnih el. sistemov Načrtovanje vezij v jeziku VHDL Komponente,
More informationSkriptni jezik lupine Bash
Robert Meolic meolic@uni mb.si Skriptni jezik lupine Bash interno gradivo za predmet VSO, 2006/07 1. LITERATURA Pri sestavljanju gradiva o skriptnem jeziku lupine Bash sem uporabljal internet in naslednji
More informationDB2 podatkovna baza v praksi
DB2 podatkovna baza v praksi Aljoša Trivan, Mikropis holding d.o.o. aljosa.trivan@mikropis.si 2007 IBM Corporation Agenda Mikropis Splošno Fleksibilnost Vzdrževanje Backup SQL objekti in SQL stavki Novosti
More informationTehnike programiranja PREDAVANJE 2 Uvod v JavaScript
Tehnike programiranja PREDAVANJE 2 Uvod v JavaScript Predavanje 2 Ponovitev Predavanje 1 Naloge Uvod v JavaScript Pravila Primeri Priprava na laboratorijske vaje Pregled orodij ldos.fe.uni-lj.si >študij
More informationSistemske zahteve za SAOP
Sistemske zahteve za SAOP Samostojna delovna postaja višji). icenter je ERP sistem, ki zagotavlja popolno kontrolo nad vsemi poslovnimi procesi v podjetju. V tej postavitvi je SAOP icenter nameščen na
More informationRazred File vsebuje osnovne metode za delo z datotekami, kot sta branje in zapisovanje.
Delo z datotekami Razred File Razred File vsebuje osnovne metode za delo z datotekami, kot sta branje in zapisovanje. Deklaracija objekta File poteka tako: File ime = new File(pot_do_datoteke_in_ime);
More information» Nakup in vzdrževanje Oracle programske opreme «Tehnične specifikacije
Obrazec P-5 Specifikacije 30K250316» Nakup in vzdrževanje Oracle programske opreme «Tehnične specifikacije KAZALO VSEBINE 1. Predmet javnega naročila...3 1.1. SKLOP-1: STORITEV VZDRŽEVANJA ORACLE LICENČNE
More informationStrukturirani poizvedovalni jezik SQL
Računalništvo Strukturirani poizvedovalni jezik SQL Danijel Skočaj, Evelin Vatovec Krmac Univerza v Ljubljani Fakulteta za pomorstvo in promet Literatura: Evelin Vatovec Krmac, Računalništvo in informatika,
More informationformati slike in branje slike pomen in nekaj primerov EM spekter aplikacije v posameznih delih spektra o matriki slike
Strojni vid pri tehnoloških meritvah formati slike in branje slike pomen in nekaj primerov EM spekter aplikacije v posameznih delih spektra o matriki slike formati slike in branje slike slika je običajno
More informationHitra rast hranjenih podatkov
Tomaž Borštnar - član uredništva računalniške revije Monitor od začetka (oktober 1991; ne-pc okolja (Unix, etc) - sodelavec YUNAC in ARNES od začetka - postavil in upravljal večino strežnikov na SiOL -
More informationOrganizacija računalnikov (OR) UNI-RI, 3.l. RS Vaje. doc.dr. Mira Trebar
Organizacija računalnikov (OR) UNI-RI, 3.l. RS Vaje doc.dr. Mira Trebar 2 Vaja 1 (11.10.2010) Vaje so obvezne (delo v laboratoriju + doma) S1: Logisim MIPS procesor eno-cikelna izvedba ( logisim ) MIPS
More informationNavodila za interaktivne naloge Bober
Avtorji dokumenta: Dean Gostiša , Lovro Podgoršek Verzija dokumentacije: 1.1 Datum in kraj: 24. 7. 2013, Ljubljana Navodila za interaktivne naloge Bober Uvod 1.
More informationFakulteta za elektrotehniko, računalništvo in informatiko Inštitut za avtomatiko Laboratorij za obdelavo signalov in daljinska vodenja
Fakulteta za elektrotehniko, računalništvo in informatiko Inštitut za avtomatiko Laboratorij za obdelavo signalov in daljinska vodenja Navodila za vaje pri predmetu Internetne tehnologije VAJA 2 Dušan
More informationAlgoritmi in podatkovne strukture 2. Urejanje (sorting)
Algoritmi in podatkovne strukture 2 Urejanje (sorting) osnove, metode deli in vladaj, kopica Andrej Brodnik: Algoritmi in podatkovne strukture 2 / Urejanje (sorting) osnove, metode deli in vladaj, kopica
More informationSession:E07 GALIO - DB2 index advisor, how we implemented it and what we get from self-made expert tool
Session:E07 GALIO - DB2 index advisor, how we implemented it and Viktor Kovačević, MSc Hermes Softlab 6th October 2009 14:15 (60') Platform: UDB / LUW OUTLINE Application & Database tuning Self made index
More informationsodobne poslovnoinformacijske rešitve Birokrat Kratka navodila za namestitev demo verzije programa Birokrat
sodobne poslovnoinformacijske rešitve www.andersen.si Birokrat Kratka navodila za namestitev demo verzije programa Birokrat Kratka navodila za namestitev demo verzije programa Birokrat Pošiljamo vam demo
More informationIP PACKET QUEUING DISCIPLINES AS BASIC PART OF QOS ASSURANCE WITHIN THE NETWORK
UDK621.3:(53+54+621 +66), ISSN0352-9045 Informacije MIDEM 39(2009)2, Ljubljana IP PACKET QUEUING DISCIPLINES AS BASIC PART OF QOS ASSURANCE WITHIN THE NETWORK Sasa Klampfer, Joze Mohorko, Zarko Cucej University
More informationOsnove programskega jezika C++
Osnove programskega jezika C++ 1 O S N O V E P R O G R A M I R A N J A V C + + U P O R A B A P R O G R A M A CODE::B L O C K S programski stavek Nekaj osnovnih pojmov (1.) definicija, deklaracija, ukaz
More informationObjective Caml version
Poglavje 1 Ocaml Koncepte, ki se pojavljajo v programskih jezikih, je najlažje razumeti z njihovo uporabo. Zato bomo v prvi lekciji spoznali moderno zasnovan programski jezik, ki je opremljen z bogatim
More informationHow we calculate volume with the use of NTF method. Kako izračunamo volumen z uporabo metode NTF
RMZ Materials and Geoenvironment, Vol. 55, No. 1, pp. 127-134, 2008 127 How we calculate volume with the use of NTF method Kako izračunamo volumen z uporabo metode NTF An e s Du r g u t o v i ć 1, Mi l
More informationUvod v programiranje v zbirnem jeziku
Uvod v programiranje v zbirnem jeziku Programerjev pogled na zgradbo računalnika Primer: procesorji družine Intel x86 Programer vidi naslednje stanje : EIP Programski števec (naslov naslednjega ukaza)
More informationDružina IEEE802 Poddružina IEEE802.1 Priključitev v omrežje IEEE802.1x
1 Družina IEEE802 Poddružina IEEE802.1 Priključitev v omrežje IEEE802.1x 2 družina standardov, ki opisujejo delovanje lokalnih (LAN) in mestnih (MAN) omrežij delo opravljano v delovnih skupinah več na
More informationNavodila za nastavitev varne povezave po protokolu SSH
Datum: 28. 9. 2010 Navodila za nastavitev varne povezave po protokolu SSH 1. Pogoji za zagotovitev varne povezave po protokolu SSH Za uspešno zagotovitev in nastavitev varne povezave po protokolu SSH je
More informationABBYY rešitve za prepoznavo in klasifikacijo dokumentov
ABBYY rešitve za prepoznavo in klasifikacijo dokumentov preabbyy FlexiCapture 9.0. Overview. 1 doc: 10977 Lokalna prisotnost ABBYY: Moscow, Russia; Munich, Germany; Bracknell, UK; Kiev, Ukraine; Milpitas,
More informationOsnovna navodila za uporabo programskega paketa V3.1 STEP 7 MicroWIN 32
ŠC Novo mesto Višja strokovna šola - elektronika Osnovna navodila za uporabo programskega paketa V3.1 STEP 7 MicroWIN 32 mag., univ. dipl. inž. ŠOLSKI CENTER NOVO MESTO, november 2004 KAZALO stran 1 UVOD...
More informationPrometno načrtovanje xdsl
Prometno načrtovanje xdsl 1 Kazalo Prometno načrtovanje naročniške zanke Prometno načrtovanje MSAN Izbira agregacijskega modela Izbira opreme 2 Potrebe po pasovni širini Zahtevana pasovna širina na uporabnika
More informationLjubljana,
Ljubljana, 9. 4. 2018 Katalog znanj in vzorci nalog za izbirni izpit za vpis na magistrski študij Računalništvo in informatika 2018/2019 0 KATALOG ZNANJ ZA IZBIRNI IZPIT ZA VPIS NA MAGISTRSKI ŠTUDIJ RAČUNALNIŠTVO
More informationProgram za avtomatsko preverjanje algoritmov napisanih v programskem jeziku C++
Univerza v Ljubljani Fakulteta za računalništvo in informatiko Tadej Golobič Program za avtomatsko preverjanje algoritmov napisanih v programskem jeziku C++ DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI
More informationUčinkovita rešitev za izdelavo zaščitnih kopij z deduplikacijo in replikacijo
Učinkovita rešitev za izdelavo zaščitnih kopij z deduplikacijo in replikacijo Študija primera uvedbe sistema EMC DataDomain v podjetju Si.mobil Janez Narobe Janez.narobe@simobil.si Rok Krisper rok.krisper@snt.si
More informationOsnove programskega jezika C
Rok Vrabič, Lovro Kuščer Osnove programskega jezika C Gradivo za vaje pri predmetih Mehatronski sistemi in Diskretni krmilni sistemi Ljubljana, 2014 Kazalo 0 Uvod... 1 1 Prvi C program... 2 1.1 Zgodovina
More informationProgramiranje Programski jezik C. Sadržaj. Datoteke. prof.dr.sc. Ivo Ipšić 2009/2010
Programiranje Programski jezik C prof.dr.sc. Ivo Ipšić 2009/2010 Sadržaj Ulazno-izlazne funkcije Datoteke Formatirane datoteke Funkcije za rad s datotekama Primjeri Datoteke komunikacija između programa
More informationPodatkovno procesiranje v relacijskih sistemih
Podatkovno procesiranje v relacijskih sistemih Iztok Savnik, FAMNIT. Vsebina Vgnezden SQL Dinamični SQL Shranjene procedure in funkcije Prožilci Vgnezden SQL Pristop: Vgnezdi SQL stavke v gostiteljski
More informationPrimož Gabrijelčič
v 1.1 Primož Gabrijelčič http://primoz.gabrijelcic.org Dokument izdan pod licenco»creative Commons Attribution-ShareAlike 3.0«, http://creativecommons.org/licenses/by-sa/3.0. Slika na naslovnici condesign
More informationPreverjanje pravilnosti programov z odvisnimi tipi v programskem jeziku Idris
Univerza v Ljubljani Fakulteta za računalništvo in informatiko Blaž Repas Preverjanje pravilnosti programov z odvisnimi tipi v programskem jeziku Idris DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM PRVE
More informationTEHNIČNA POJASNILA GLEDE IZPOLNJEVANJA ITS POROČIL
TEHNIČNA POJASNILA GLEDE IZPOLNJEVANJA ITS POROČIL Tip dokumenta IT-TN Oznaka dokumenta BS-IT-RA-TN-ITS-dod Verzija dokumenta 1.1 Status dokumenta Datum zadnje spremembe dokumenta 30.01.2014 Zgodovina
More informationCalculation of volume with the use of NTF method. Izračun volumnov z uporabo NTF metode
RMZ - Materials and Geoenvironment, Vol. 53, No. 2, pp. 221-227, 2006 221 Calculation of volume with the use of NTF method Izračun volumnov z uporabo NTF metode Milivoj Vulić 1, Anes Durgutović 2 1 Faculty
More informationLotus Quickr Najhitrejši način izmenjave poslovne vsebine
Lotus Quickr Najhitrejši način izmenjave poslovne vsebine Zoran Povh, IT specialist zoran.povh@si.ibm.com 2007 IBM Corporation Vsebina Kaj je Lotus Quickr? Integracija z namiznimi programi Skupinski prostori
More informationUDF for volume calculation with the use of NTF method. Lastne Excel funkcije za izračun prostornin po NTF metodi
RMZ Materials and Geoenvironment, Vol. 54, No. 3, pp.419-425, 2007 419 UDF for volume calculation with the use of NTF method Lastne Excel funkcije za izračun prostornin po NTF metodi Mi l i v o j Vu l
More informationPrevajalnik za programski jezik C za računalnik SIC/XE
Univerza v Ljubljani Fakulteta za računalništvo in informatiko Klemen Košir Prevajalnik za programski jezik C za računalnik SIC/XE DIPLOMSKO DELO UNIVERZITETNI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE
More informationOkostje za testiranje PHP aplikacij z oblačnimi storitvami
Univerza v Ljubljani Fakulteta za računalništvo in informatiko Aleksandra Bersan Okostje za testiranje PHP aplikacij z oblačnimi storitvami DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJ RAČUNALNIŠTVA IN INFORMATIKE
More informationPREDMET. Osnove Java Programiranja. Čas JAVADOC
PREDMET Osnove Java Programiranja JAVADOC Copyright 2010 UNIVERZITET METROPOLITAN, Beograd. Sva prava zadržana. Bez prethodne pismene dozvole od strane Univerziteta METROPOLITAN zabranjena je reprodukcija,
More informationRazvoj jezika za iskanje, povezovanje in predstavitev podatkov
UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Ernest Štukelj Razvoj jezika za iskanje, povezovanje in predstavitev podatkov DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU SMER PROGRAMSKA OPREMA
More informationIZDELAVA SPLETNIH STRANI SIMON HORVAT ANITA URAN
IZDELAVA SPLETNIH STRANI SIMON HORVAT ANITA URAN Višješolski strokovni program: Informatika Učbenik: Izdelava spletnih strani Gradivo za 2. letnik Avtorja: Simon Horvat, univ. dipl. inţ. ŠOLSKI CENTER
More informationNaslavljanje v IP. Miran Meža
Naslavljanje v IP Miran Meža Omrežje vseh omrežij Avtonomni sistem Avtonomni sistem Avtonomni sistem Avtonomni sistem Avtonomni sistem Avtonomni sistem Omrežje vseh omrežij Usmerjanje prometa: poznati
More informationE R S Š G L J U B L J A N A Š O L S K O L E T O
Datotečni sistem E R S Š G L J U B L J A N A Š O L S K O L E T O 2 0 1 0 / 1 1 Vsebina Programska oprema Sistemska programska oprema Operacijski sistem Lupina (shell) Datotečni sistem Programska oprema
More informationSpletni urejevalnik JSON datotek s podano vsebinsko shemo
Univerza v Ljubljani Fakulteta za računalništvo in informatiko Marko Struna Spletni urejevalnik JSON datotek s podano vsebinsko shemo DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO
More informationPython za programerje
Janez Demšar Python za programerje Delovna različica, 8. september 2008 1 2 Kazalo O jeziku in knjigi 5 Prvi koraki v Python 8 Tolmač in razvojna okolja 8 Prvi program 9 Osnovne poteze jezika 12 Besednjak
More informationOPTIMIRANJE IZPISOV V PROGRAMU CLICKTRANS
UNIVERZA V MARIBORU FAKULTETA ZA ORGANIZACIJSKE VEDE Organizacija in management informacijskih sistemov OPTIMIRANJE IZPISOV V PROGRAMU CLICKTRANS Mentor: doc. dr. Igor Bernik Kandidat: Roman Kavčič Kranj,
More informationNew Media & Language Technologies Jozef Stefan International Postgraduate School January Speech apps. Jerneja Žganec Gros
New Media & Language Technologies Jozef Stefan International Postgraduate School January 2005 Speech apps Jerneja Žganec Gros jerneja@alpineon.com THE VOICE WEB The voice web offers access to information
More informationKnjižnjice krmiljenje zaslona Uvod v sistemsko programiranje
Knjižnjice krmiljenje zaslona Uvod v sistemsko programiranje Standardna knjižnjica C Funkcije z nizi int strlen( s) Vrne število znakov v nizu s (brez nultega znaka). char *strchr(s, c) Vrne kazalec na
More informationIzdelava urejevalnika izvorne kode v oblaku z uporabo tehnologij HTML5
Univerza v Ljubljani Fakulteta za računalništvo in informatiko Roman Gorišek Izdelava urejevalnika izvorne kode v oblaku z uporabo tehnologij HTML5 DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM
More informationReševanje časovno zahtevnih opravil z orodjem ORACLE
Ervin Črešnjovnjak Reševanje časovno zahtevnih opravil z orodjem ORACLE Diplomsko delo Maribor, junij 2011 I Diplomsko delo univerzitetnega študijskega programa REŠEVANJE ČASOVNO ZAHTEVNIH OPRAVIL Z ORODJEM
More informationC in Java. Šolski center Celje Splošna in strokovna gimnazija Lava. Raziskovalna naloga. Mentor: Mojmir KLOVAR, univ. dipl. inž.
Šolski center Celje Splošna in strokovna gimnazija Lava C in Java Raziskovalna naloga Mentor: Mojmir KLOVAR, univ. dipl. inž. Avtorja: Staš ŽNIDAR 4.F Jurij REPAR 4.F Celje, marec 2006 Kazalo Kazalo...
More informationKosovnica. Marko Obid. Kosovnica. Marko Obid
PROGRAM ZA IZDELAVO TEHNIČNE DOKUMENTACIJE V CATIA-ji Zagon programa: Program je bil izdelan z namenom, da nam olajša: Izdelavo kosovnice, Izris risb (delavniške, sestavne) Vpis podatkov v glavo risbe
More informationPotek načrtovanja sistemov. Načrtovanje digitalnih el. sistemov. Hierarhična zgradba sistema. Določanje zgradbe sistema.
Laboratorij za načrtovanje integriranih vezij Fakulteta za elektrotehniko Univerza v Ljubljani Potek načrtovanja sistemov Andrej Trost Načrtovanje digitalnih el. sistemov Implementacija in verifikacija
More informationERCOlight LUM je energetsko visoko učinkovita svetilka za visoke prostore z možnostjo številnih različnih modifikacij.
Object Installation Project number Date 1 Luminaire data 1.5 Somar International Ltd, Eluma ME-OP4/4L/50 P5 (ME-OP4/4L/50) 1.5.1 Data sheet Ena svetilka, pet različnih možnosti : Eluma Lighting : Comparison
More information21. državno tekmovanje v znanju računalništva (1997) NALOGE ZA PRVO SKUPINO
1997.1.1 2] Leto 1997, naloge za prvo skupino 1 21. državno tekmovanje v znanju računalništva (1997) Naloge Rešitve 1997.1.1 NALOGE ZA PRVO SKUPINO Člani komisije računalniškega tekmovanja srednješolcev
More informationVgradnja objektno usmerjenih gradnikov v programski jezik PINS
Univerza v Ljubljani Fakulteta za računalništvo in informatiko Toni Kocjan Turk Vgradnja objektno usmerjenih gradnikov v programski jezik PINS DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE
More informationTwitter Bootstrap in razvoj spletnega repozitorija za Cacti
Univerza v Ljubljani Fakulteta za računalništvo in informatiko Fakulteta za matematiko in fiziko Nejc Župec Twitter Bootstrap in razvoj spletnega repozitorija za Cacti DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI
More informationNALOGE ZA PRVO SKUPINO
1997.1.1] 1 21. državno tekmovanje v znanju računalništva (1997) 1997.1.1 NALOGE ZA PRVO SKUPINO Člani komisije računalniškega tekmovanja srednješolcev so R: 12 pripravili podprogram Uredi za urejanje
More informationINFORMATIKA V GOZDARSTVU. J.Krč
INFORMATIKA V GOZDARSTVU J.Krč Zakaj INFORMATIKA? Delo = razlika med teorijo in prakso http://youtu.be/nkiu9yen5nc Vsebina (p 30ur +sv 15 ur) - / Opredelitev informatike, Splošna teorija sistemov ; - /
More informationTehnike programiranja PREDAVANJE 9 Uvod v binarni svet in računalništvo
Tehnike programiranja PREDAVANJE 9 Uvod v binarni svet in računalništvo Predavanje 9 Uvod v binarni svet Birnarna aritmetika Polprevodniške tehnologije Računalnik Mikroprocesor ldos.fe.uni-lj.si >študij
More information"BASH" LUPINA VAJE. while true do ps > bla grep $1 bla cut c 1 7 > bla2 for i in `cat bla2` do kill $i done rm bla2 rm bla sleep 300 done
VAJE "BASH" LUPINA 1. Napišite program v lupini, ki pregleda datoteko /etc/passwd in izpiše vse lupine, ki jih uporabniki sistema uporabljajo, ter koliko uporabnikov uporablja posamezno lupino. cut f 7
More informationPODATKOVNE BAZE NOSQL
PODATKOVNE BAZE NOSQL Aljaž Zrnec, Dejan Lavbič, Lovro Šubelj, Slavko Žitnik, Aleš Kumer, Marko Bajec Univerza v Ljubljani, Fakulteta za računalništvo in informatiko, Laboratorij za podatkovne tehnologije,
More informationLATEX. Ponovimo: Kaj je to logično urejanje? Peter PEER. Ima sintakso, torej je sila podobno programiranju!!!
LATEX Peter PEER http://www.lrv.fri.uni-lj.si/~peterp/temp/latex.pdf Fakulteta za računalništvo in informatiko Ponovimo: Kaj je to logično urejanje? Ima sintakso, torej je sila podobno programiranju!!!
More informationC prevajalnik za procesor HIP
Univerza v Ljubljani Fakulteta za računalništvo in informatiko Peter Žužek C prevajalnik za procesor HIP DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO IN MATEMATIKA Mentor:
More informationDejan Lukan. Negativno Testiranje
UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Dejan Lukan Negativno Testiranje Postopki in orodja za negativno testiranje DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentorica: doc. dr. Mojca
More informationPSPP - statistična analiza podatkov
Poglavje 17 PSPP - statistična analiza podatkov Vnos podatkov zbranih z anketnimi vprašalniki Izvajanje opisne statistike, testov ipd. Primer: statistična analiza zadovoljstva prevzema pnevmatik 408 PSPP
More informationRA^UNALNI[TVO NAVODILA ZA OCENJEVANJE
r`avni izpitni center *M04178113* SPOMLNSKI ROK R^UNLNI[TVO NVOIL Z ONJVNJ Sreda, 9. junij 2004 SPLOŠN MTUR RI 2004 2 M041-781-1-3 IZPITN POL 1 Obkrožite pravilno trditev. 1. Po vodilu lahko potekata dva
More informationSpecification and Implementation of a Light-Weight Internet Content Delivery Platform
University of Ljubljana Faculty of Computer and Information Science Marko Čeferin Specification and Implementation of a Light-Weight Internet Content Delivery Platform DIPLOMA THESIS First cycle professional
More informationFunkcije, neskončna zaporedja in java
Funkcije, neskončna zaporedja in java LALGinar, 4. oktober 2013 Luka Fürst Funkcijsko programiranje Funkcije kot osnovni gradniki funkcije kot argumenti funkcij funkcije, ki vračajo funkcije Funkcijsko
More informationProgramske paradigme Funkcionalna paradigma
Programske paradigme Funkcionalna paradigma 1. čas: Uvod u funkcionalno programiranje. Programski jezik Haskel. Upoznavanje sa razvojnim okruženjem. Tipovi podataka. Funkcionalno programiranje Stil u programiranju
More informationORODJE ZA TESTNO VODEN
UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO GREGOR STAMAĆ ORODJE ZA TESTNO VODEN RAZVOJ JAVASCRIPT APLIKACIJ DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU MENTOR: PROF. DR. SAŠA DIVJAK LJUBLJANA,
More informationNaloge za 1. skupino
21. DRŽAVNO TEKMOVANJE V ZNANJU RAČUNALNIŠTVA ZA SREDNJEŠOLCE Naloge za 1. skupino 1. Člani komisije računalniškega tekmovanja srednješolcev so pripravili program sort za urejanje doseženih rezultatov
More information1. Opišite naloge jedra pri sistemu UNIX. Kaj so naloge jedra in kaj naloge lupine ob izvršitvi ukaza rm moja_datoteka?
1. Opišite naloge jedra pri sistemu UNIX. Kaj so naloge jedra in kaj naloge lupine ob izvršitvi ukaza rm moja_datoteka? Naloge jedra so: - nadzor nad procesi, rojevanje in pobijanje procesov, upravljanje
More informationPROGRAMIRANJE II: KONCEPTI PROGRAMSKIH JEZIKOV
1 U N I V E R Z A N A P R I M O R S K E M Fakulteta za matematiko, naravoslovje in informacijske tehnologije Iztok Savnik SKRIPTA ZA PREDMET PROGRAMIRANJE II: KONCEPTI PROGRAMSKIH JEZIKOV ŠTUDIJSKI PROGRAM
More informationMetode logičnega snovanja Programabilne logične naprave in VHDL. Miha Moškon
Metode logičnega snovanja Programabilne logične naprave in VHDL Miha Moškon Programabilne logične naprave Metode logičnega snovanja, 1. laboratorijska vaja 2 Programabilna logična vezja V času proizvodnje
More informationRazvoj spletne aplikacije za urejanje datotek JSON z ogrodjem Django
UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Damjan Vidonja Razvoj spletne aplikacije za urejanje datotek JSON z ogrodjem Django DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJ RAČUNALNIŠTVO IN IINFORMATIKA
More informationNavodila za namestitev CREO 3.0 in Audax nastavitev
Navodila za namestitev CREO 3.0 in Audax nastavitev Potrebujete: Iz PTC spletne strani ali z DVD-ja prenesite namestitvene datoteke za program Creo 3.0 in jih razširite na lokalni disk. Audax Nastavitve
More informationPredstavitev teksta v računalniku
Predstavitev teksta v računalniku Za tekst, ki ga vidimo na zaslonu računalnika, sta potrebna dva koraka 1. Najprej je potrebno določiti, kako so črke in še nekateri drugi ne-numerični znaki predstavljeni
More informationVzpostavitev spletnega vmesnika za prikaz tenziomiografskih meritev
UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Nejc Poljanšek Vzpostavitev spletnega vmesnika za prikaz tenziomiografskih meritev DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM
More informationUNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO. Dean Črnigoj. Izdelava odjemalca NFS za Windows DIPLOMSKO DELO
UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Dean Črnigoj Izdelava odjemalca NFS za Windows DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO IN INFORMATIKA
More informationSpletno luščenje podatkov z uporabo Pythona in knjižnice BeautifulSoup
UNIVERZA V LJUBLJANI NARAVOSLOVNOTEHNIŠKA FAKULTETA ODDELEK ZA TEKSTILSTVO, GRAFIKO IN OBLIKOVANJE Spletno luščenje podatkov z uporabo Pythona in knjižnice BeautifulSoup Seminarska naloga Ime in priimek:
More informationAndrej Jamšek. Namestitev programske opreme s poudarkom na tehnologiji MSI
UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Andrej Jamšek Namestitev programske opreme s poudarkom na tehnologiji MSI DIPLOMSKO DELO NA VISOKOŠOLSKEM STROKOVNEM ŠTUDIJU Mentor: izr.
More informationUvod v programiranje v BASH - HOW-TO
Uvod v programiranje v BASH - HOW-TO Mike G mikkey@dynamo.com.ar Čet Jul 27 09:36:18 ART 2000 Ta spis vam bo v pomoč, ko se boste lotili pisanja osnovnih in nekoliko zahtevnejših lupinskih skriptov. Ni
More informationUnsupervised learning of scene and object planar parts
Elektrotehniški vestnik 74(5): 297 302, 2007 Electrotechnical Review, Ljubljana, Slovenija Unsupervised learning of scene and object planar parts Katarina Mele, Jasna Maver Univerza v Ljubljani, Fakulteta
More informationTEHNIČNA POJASNILA GLEDE IZPOLNJEVANJA ITS POROČIL
TEHNIČNA POJASNILA GLEDE IZPOLNJEVANJA ITS POROČIL Tip dokumenta IT-TN Oznaka dokumenta BS-IT-RA-TN-ITS-dod Verzija dokumenta 1.4 Status dokumenta Datum zadnje spremembe dokumenta 23.11.2017 Zgodovina
More informationProgramski jezik Java
Programski jezik Java Interno gradivo za predmet Algoritmi in programski jeziki (4. letnik) ArrayList (neprečiščeno besedilo) ArrayList Java class ArrayList(java.util.ArrayList) je hiter in za uporabo
More informationRazširitve CMS z lastnimi moduli
Univerza v Ljubljani Fakulteta za računalništvo in informatiko Matjaž Čepar Razširitve CMS z lastnimi moduli DIPLOMSKA NALOGA NA UNIVERZITETNEM ŠTUDIJU Mentor: doc. dr. Andrej Brodnik Ljubljana 2014 Rezultati
More informationTI C2000: Družina za vgrajene (embedded) aplikacije
CPU MIPS RAM (words) ROM (words) Flash (words) BootROM (words) Event Manager CAP/QEP TIMER PM(CMP) ADC TIMER Resolution 12 # ofchan 16 Conv time McBSP EXMIF atch Dog SPI SCI (UART) CAN Volts (V) # I/O
More information