Zadatak 1 strukture (C110) P2: Jedanaesta nedelja Strukture i liste. Strukture na jeziku C (2) Strukture na jeziku C (1)

Save this PDF as:
 WORD  PNG  TXT  JPG

Størrelse: px
Begynne med side:

Download "Zadatak 1 strukture (C110) P2: Jedanaesta nedelja Strukture i liste. Strukture na jeziku C (2) Strukture na jeziku C (1)"

Transkript

1 Zadatak 1 strukture (C110) P2: Jedanaesta nedelja Strukture i liste Date su sledeće deklaracije: typedef int CeoBroj; typedef int *PokazivacNaCeoBroj; typedef int NizCelihBrojeva[100]; CeoBroj *pokaza; PokazivacNaCeoBroj pokazb; NizCelihBrojeva niz; struct { int x,y; zapisa; struct { int x,y; zapisb, zapisc; Koje od sledećih naredbi dodele su semantički ispravne? A) pokaza = pokazb; B) pokaza = niz; C) niz = pokaza; D) zapisb = zapisc; E) zapisa = zapisb; 1/38 2/38 Strukture na jeziku C (1) Strukture na jeziku C (2) Strukture su složeni tipovi podataka koji se sastoje od određenog broja (raznorodnih) elemenata elementi struktura nazivaju se poljima struktura i svako polje se obeležava posebnim identifikatorom za razliku od niza, polja strukture ne moraju biti istog tipa polja strukture mogu biti proizvoljnog prostog ili složenog tipa za pristup svakom polju se koristi njegovo ime, koje je vidljivo samo unutar strukture u kojoj je definisano (strukturni doseg) Definisanje strukture: struct [ime] {niz deklaracija za polja [promenljive]; ime strukture je opciono, a zajedno sa ključnom rečju struct se koristi za definisanje promenljivih koje se tipa strukture niz deklaracija za polja strukture predstavalja niz naredbi za definisanje promenljivih opciono se nakon navođenja opisa strukture odmah mogu deklarisati i odgovarajuće promenljive tipa te strukture Promenljiva tipa strukture zajedno sa svojim poljima čini jedinstven objekat u memoriji i može biti povratna vrednost funkcije Primer: struct tacka { int x,y; a,b,c; struct tacka levo_gore, desno_dole; struct krug { float r; int x, y; ; Pristup poljima strukture: preko promenljive strukturnog tipa korišćenjem operatora. a.x = 5; preko pokazivača na promenljivu tipa strukture korišćenjem operatora -> pa->x = 5; 3/38 4/38

2 Definisanje korisničkih tipova Zadatak 1 - rešenje Programski jezik C dozvoljava definisanje korisničkih tipova podataka Novi tip se definiše na taj način što se prvo navede ključna reč typedef, a zatim ime i opis novog tipa typedef int CeoBroj; typedef struct {int x,y; Tacka; Ime novodefinisanog tipa se dalje može koristiti kao svaki regularan tip jezika C Ukoliko se radi dodela ili poređenje dva korisnički definisana tipa, koristi se strukturna ekvivalencija tipova, osim kod struktura i unija, kod kojih važi ekvivalencija po imenu svaka neimenovana struktura je poseban tip, čak i u slučaju da su sva polja dve strukture međusobno identična Deklaracije: typedef int CeoBroj; typedef int *PokazivacNaCeoBroj; typedef int NizCelihBrojeva[100]; CeoBroj *pokaza; PokazivacNaCeoBroj pokazb; NizCelihBrojeva niz; Dodele: A) pokaza = pokazb; u redu, jer su pokaza i pokazb pokazivači na isti tip (int*) B) pokaza = niz; u redu, jer identifikator niz je konstantan pokazivač na početak niza C) niz = pokaza; nije u redu, jer želimo dodelu vrednosti konstantnom pokazivaču 5/38 6/38 Zadatak 1 Zadatak 2 kompleksni brojevi (C104) Definicije struktura: struct { int x,y; zapisa; struct { int x,y; zapisb, zapisc; Date definicije su strukturno ekvivalentne, ali zbog ekvivalencije struktura po imenu na jeziku C, druga dodela vrednosti neće biti ispravna: D) zapisb = zapisc; u redu, promenljive iste strkuture E) zapisa = zapisb; nije u redu, promenljive definisane za različite strukture (po imenu) 7/38 Napisati program u programskom jeziku C za rad sa kompleksnim brojevima. Preko argumenata programa zadaju se dva kompleksna broja i to tako da se prvo navodi realan deo prvog broja, zatim imaginarni deo prvog broja, zatim realni i imaginarni deo drugog kompleksnog broja, respektivno. Ako korisnik ne unese tačan broj argumenata potrebno je prekinuti izvršavanje programa. Takođe treba napisati potprogram koji proverava da li znakovni niz sadrži broj i pomoću tog potprograma treba ispitati da li su svi navedeni argumenti zaista brojevi. Ako bar jedan argument nije broj, potrebno je prekinuti izvršavanje programa. Program treba da sadrži i potprogram za sabiranje dva kompleksna broja koji vraća kompleksni broj kao rezultat kao i potprogram za konjugovanje kompleksnog broja koji nema povratnu vrednost. Glavni program treba da na standardnom izlazu ispiše sve argumente programa, zbir kompleksnih brojeva i konjugovane vrednosti oba kompleksna broja. Ispis treba vršiti pozivom odgovarajućeg potprograma koji takođe treba napisati. Kompleksne brojeve predstaviti strukturom. 8/38

3 Zadatak 2 complex.h Zadatak 2 complex.c /* complex.h */ #define TRUE 1 #define FALSE 0 /* istovremeno se definise struktura sa imenom (SComplex) i tip podatka (TComplex) */ /* complex.c */ #include <stdio.h> #include "complex.h" TComplex Zbir(TComplex z1, TComplex z2) { TComplex cplx; cplx.re = z1.re + z2.re; cplx.im = z1.im + z2.im; return cplx; typedef struct SComplex { double Re, Im; TComplex; void Konjug(TComplex *pz) { pz->im = - pz->im; TComplex Zbir(TComplex z1, TComplex z2); void Konjug(TComplex *pz); void Ispis(TComplex z); void Ispis(TComplex z) { if (z.im >= 0) printf("%5.4f + j%5.4f", z.re, z.im); else printf("%5.4f - j%5.4f", z.re, -z.im); 9/38 10/38 Zadatak 2 glavni program Zadatak 2 /* glavni.c */ #include <complex.h> #include<stdio.h> #include<ctype.h> #include<stdlib.h> int DaLiJeBroj(const char *pstr) { int btacka = FALSE; if (*pstr=='+' *pstr=='-') ++pstr; while(*pstr) { if (!isdigit(*pstr) && *pstr!='.') return FALSE; if (*pstr == '.') { if (btacka) return FALSE; btacka = TRUE; pstr++; return TRUE; int main(int argc, char *argv[]) { TComplex z1, z2, zbir; int i; if (argc!= 5) { printf("unesite tacno cetiri argumenta programa!\n"); return -1; printf("argumenti su sledeci:\n"); for (i=1; i < argc; i++) printf("%d %s\n", i, argv[i]); for (i=1; i < argc; i++) { if (!DaLiJeBroj(argv[i])) { printf("uneli ste argument koji nije broj!\n"); return -1; 11/38 12/38

4 Zadatak 2 z1.re = atof(argv[1]); z1.im = atof(argv[2]); z2.re = atof(argv[3]); z2.im = atof(argv[4]); printf("\nprvi broj: "); Ispis(z1); printf("\ndrugi broj: "); Ispis(z2); zbir = Zbir(z1, z2); Konjug(&z1); Konjug(&z2); printf("\nzbir: "); Ispis(zbir); printf("\nkonjug(z1): "); Ispis(z1); printf("\nkonjug(z2): "); Ispis(z2); return 0; Ulančana lista Dinamička struktura podataka pogodna za predstavljanje nizova podataka pojedinačni podaci (elementi liste) se dinamički stvaraju i uništavaju elementi liste se nalaze na proizvoljnim mestima u memoriji i međusobno se povezuju pokazivačima Definicija jednog elementa liste sadrži informacioni deo i pokazivač na sledeći element: typedef struct element { int broj; struct element* sled ; Element; Omogućava efikasnu manipulaciju elementima, ali je pristup elementima sekvencijalan /38 15/38 liste (7.6) Sastaviti na jeziku C paket funkcija za rad sa jednostruko ulančanim listama brojeva koji sadrži funkcije za: odredjivanje broja elemenata liste ispisivanje liste preko glavnog izlaza dodavanje broja na početak liste dodavanje broja na kraj liste čitanje liste preko glavnog ulaza dodajući brojeve na početak liste čitanje liste preko glavnog ulaza dodajući brojeve na kraj liste umetanje broja u uredjenu listu brisanje svih elemenata liste izostavljanje iz liste svako pojavljivanje datog broja Sastaviti na jeziku C glavni program za proveru ispravnosti rada gornjih funkcija. Ostvariti gornji paket i pomoću rekurzivnih funkcija. - rešenje /* lista.h - Deklaracije paketa funkcija za obradu lista.*/ /*Element liste*/ typedef struct elem { int broj; struct elem *sled; Elem; /* Broj elemenata liste.*/ int duz (Elem *lst); /* Ispisivanje liste. */ void pisi (Elem *lst); /* Dodavanje na pocetak i na kraj liste. */ Elem *na_pocetak (Elem *lst, int b); Elem *na_kraj (Elem *lst, int b); /* Citanje liste sa dodavanjem na pocetak i na kraj liste. */ Elem *citaj1 (int n); Elem *citaj2 (int n); /* Umetanje u uredjenu listu. */ Elem *umetni (Elem *lst, int b); /* Brisanje svih elemenata liste. */ void brisi (Elem *lst); /* Izostavljanje svakog pojavljivanja. */ Elem *izostavi (Elem *lst, int b); 14/38 16/38

5 /* lista1.c - Definicije funkcija za obradu lista (iterativno). */ #include "lista.h" #include <stdio.h> #include <stdlib.h> /* Broj elemenata liste. */ int duz (Elem *lst) { int n = 0; while (lst) { n++; lst = lst -> sled; return n; /* Ispisivanje liste. */ void pisi (Elem *lst) { while (lst) { printf ("%d ", lst->broj); lst = lst -> sled; /* Citanje liste stavljajuci brojeve na pocetak. */ Elem *citaj1 (int n) { Elem *prvi = NULL; int i; for (i=0; i<n; i++) { scanf ("%d", &novi->broj); novi->sled = prvi; prvi = novi; return prvi; /* Citanje liste stavljajuci brojeve na kraj. */ Elem *citaj2 (int n) { Elem *prvi = NULL, *posl = NULL; int i; for (i=0; i<n; i++) { scanf ("%d", &novi->broj); novi->sled = NULL; if (!prvi) prvi = novi; else posl->sled = novi; posl = novi; return prvi; 17/38 19/38 /* Dodavanje jednog elementa na pocetak. */ Elem *na_pocetak (Elem *lst, int b) { novi->broj = b; novi->sled = lst; return novi; /* Dodavanje jednog elementa na kraj. */ Elem *na_kraj (Elem *lst, int b) { novi->broj = b; novi->sled = NULL; if (!lst) return novi; Elem *tek = lst; while (tek->sled) tek = tek->sled; tek->sled = novi; /* Umetanje u uredjenu listu. */ Elem *umetni (Elem *lst, int b) { Elem *tek = lst, *pret = NULL, *novi; while (tek && tek->broj < b) { pret = tek; tek = tek->sled; novi = malloc (sizeof(elem)); novi->broj = b; novi->sled = tek; if (!pret) lst = novi; else pret->sled = novi; /* Brisanje svih elemenata liste. */ void brisi (Elem *lst) { while (lst) { Elem *stari = lst; lst = lst->sled; free (stari); 18/38 20/38

6 glavni program /* Izostavljanje svakog pojavljivanja. */ Elem *izostavi (Elem *lst, int b){ Elem *tek = lst, *pret = NULL; while (tek) if (tek->broj!= b) { pret = tek; tek = tek->sled; Elem *stari = tek; tek = tek->sled; if (!pret) lst = tek; else pret->sled = tek; free (stari); /* listat.c - Ispitivanje paketa funkcija za obradu lista. */ #include "lista.h" #include <stdio.h> void main () { Elem *lst = NULL; int kraj = 0, izbor, broj, n; while (!kraj) { printf ("\n1. Dodavanje broja na pocetak liste\n" "2. Dodavanje broja na kraj liste\n" "3. Umetanje broja u uredjenu listu\n" "4. Izostavljanje broja iz liste\n" "5. Brisanje svih elemenata liste\n" "6. Citanje uz obrtanje redosleda brojeva\n" "7. Citanje uz cuvanje redosleda brojeva\n" "8. Odredjivanje duzine liste\n" "9. Ispisivanje liste\n" "0. Zavrsetak rada\n\n" "Vas izbor? " ); scanf ("%d", &izbor); 21/38 22/38 switch (izbor) { case 1: case 2: case 3: case 4: printf ("Broj?"); scanf ("%d", &broj); switch (izbor) { case 1: /* Dodavanje broja na pocetak liste: */ lst = na_pocetak (lst, broj); break; case 2: /* Dodavanje broja na kraj liste: */ lst = na_kraj (lst, broj); break; case 3: /* Umetanje broja u uredjenu listu: */ lst = umetni (lst, broj); break; case 4: /* Izostavljanje broja iz liste: */ lst = izostavi (lst, broj); break; break; case 5: /* Brisanje svih elemenata liste: */ brisi (lst); lst = NULL; break; case 6: case 7: /* Citanje liste: */ printf ("Duzina? "); scanf ("%d", &n); printf ("Elementi? "); brisi (lst); switch (izbor) { case 6: /* uz obrtanje redosleda brojeva: */ lst = citaj1 (n); break; case 7: /* uz cuvanje redosleda brojeva: */ lst = citaj2 (n); break; break; case 8: /* Odredjivanje duzine liste: */ printf ("Duzina= %d\n", duz (lst)); break; case 9: /* Ispisivanje liste: */ printf ("Lista= "); pisi (lst); putchar ('\n'); break; case 0: /* Zavrsetak rada: */ kraj = 1; break; default: /* Pogresan izbor: */ printf ("*** Neozvoljeni izbor! ***\a\n"); break; 23/38 24/38

7 rekurzivna implementacija U nastavku je dato nekoliko primera rekurzivne implementacije funkcija za rad sa listama Rekurzivna rešenja za svaki novi poziv potroše dodatnu količinu memorije, tako da je bolje opredeliti se za iterativna rešenja /*vršimo rekurzivne pozive sve dok ne dođemo do kraja liste i prilikom svakog poziva ubrojimo obrađeni element*/ int duz (Elem *lst) { return lst? duz (lst->sled) + 1 : 0; /*krećemo se kroz listu rekurzivnim pozivima i ispisujemo sadržaj */ void pisi (Elem *lst) { if (lst) { printf ("%d ", lst->broj); pisi (lst->sled); /*ne koristi se rekurzija nema potrebe*/ Elem *na_pocetak (Elem *lst, int b) { novi->broj = b; novi->sled = lst; return novi; /* krećemo se kroz listu rekurzivnim pozivima dok god ne dođemo do kraja, a zatim radimo ponovno ulančavanje od kraja liste ka početku */ Elem *na_kraj (Elem *lst, int b) { if (!lst) { lst = malloc (sizeof(elem)); lst->broj = b; lst->sled = NULL; else lst->sled = na_kraj (lst->sled, b); 25/38 26/38 Elem *citaj1 (int n) { if (n == 0) return NULL; novi->sled = citaj1 (n - 1); scanf ("%d", &novi->broj); return novi; Elem *citaj2 (int n) { if (n == 0) return NULL; scanf ("%d", &novi->broj); novi->sled = citaj2 (n - 1); return novi; /*krećemo se do kraja, a zatim brišemo elemente od kraja void brisi (Elem *lst) { if (lst) { brisi (lst->sled); free (lst); Elem *umetni (Elem *lst, int b) { if (!lst lst->broj >= b) { novi->broj = b; novi->sled = lst; return novi; lst->sled = umetni (lst->sled, b); Elem *izostavi (Elem *lst, int b){ if (lst) { if (lst->broj!= b) { lst->sled = izostavi (lst->sled, b); Elem *stari = lst; lst = izostavi (lst->sled, b); free (stari); 27/38 28/38

8 Zadatak 4 obrtanje, sortiranje, fuzija (7.7) Napisati program na programskom jeziku C koji učitava dve liste celih brojeva, obrće ih, sortira, i potom spaja u jednu sortiranu listu. Za obrtanje, uređivanje i spajanje listi napisati potprograme. Koristiti definiciju liste i operacija nad listama iz prethodnog zadatka. Zadatak 4 - obrtanje /* lista3.c - Jos funkcija za obradu lista. */ #include "lista.h" #include <stdio.h> /* Obrtanje redosleda elemenata. */ Elem *obrni (Elem *lst) { Elem *tek = lst, *pret = NULL; while (tek) { Elem *sled = tek->sled; tek->sled = pret; pret = tek; tek = sled; return pret; 29/38 30/38 Zadatak 4 - sortiranje Zadatak 4 - fuzija Za uređivanje liste se u ovom slučaju koristi klasični metod sortiranja putem selekcije Prilikom zamene, nije potrebno prevezivati elemente liste, već je dovoljno uraditi zamenu informacionog sadržaja /* Uredjivanje liste. */ void uredi (Elem *lst) { Elem *i, *j; for (i=lst; i; i=i->sled) for (j=i->sled; j; j=j->sled) if (j->broj < i->broj) { int b = i->broj; i->broj = j->broj; j->broj = b; 31/38 /* Fuzija dve uredjene liste. */ Elem *fuzija (Elem *lst1, Elem *lst2) { Elem *lst = NULL, *posl=null, *tek; while (lst1 && lst2) { if (lst1->broj < lst2->broj) { tek = lst1; lst1 = lst1->sled; tek = lst2; lst2 = lst2->sled; tek->sled = NULL; if (!lst) lst = tek; else posl->sled = tek; posl = tek; if (lst1) { if (!lst) lst = lst1; else posl->sled = lst1; if (!lst) lst = lst2; else posl->sled = lst2; 32/38

9 Zadatak 4 main() Zadatak 5 unije (C2008-A1) void main () { while (1) { Elem *lst1, *lst2, *lst3; int n; printf ("Duzina prve liste? "); scanf ("%d", &n); if (n <0) break; printf ("Elementi prve liste? "); lst1 = citaj2 (n); if (n == 0) putchar ('\n'); printf ("Duzina druge liste? "); scanf ("%d", &n); if (n <0) break; printf ("Elementi druge liste? "); lst2 = citaj2 (n); if (n == 0) putchar ('\n'); lst1 = obrni (lst1); printf ("Obrnuta prva lista: "); pisi (lst1); putchar ('\n'); lst2 = obrni (lst2); printf ("Obrnuta druga lista: "); pisi (lst2); putchar ('\n'); uredi (lst1); printf ("Uredjena prva lista: "); pisi (lst1); putchar ('\n'); uredi (lst2); printf ("Uredjena druga lista: "); pisi (lst2); putchar ('\n'); lst3 = fuzija (lst1, lst2); printf ("Fuzija obe liste: "); pisi (lst3); printf ("\n\n"); brisi (lst3); Šta ispisuje sledeći program na programskom jeziku C, ukoliko je pozvan sa prog ? #include <stdio.h> #include <stdlib.h> union { struct { int a,b; c; struct { int a,b,c; d; e; void main(int argc, char* argv[]) { int s=atoi(argv[1]), br = atoi(argv[2]); for(e.c.a=0;e.c.a<br;e.c.a++) for(e.d.a=0;e.d.a<5;e.d.a++) for(e.c.a=0;e.c.a<5;e.c.a++) for(e.c.b=0;e.c.b<5;e.c.b++) s++; printf("%d", s); Odgovori: A) 30 B) 28 C) /38 34/38 Unije Zadatak 5 - rešenje Struktuirani tip koji omogućava da se u isti memorijski prostor smeštaju podaci različitih tipova u različitim vremenskim intervalima u jednom trenutku samo jedan podatak je validan Naredba union ima istu sintaksu kao struct union { int i; double d; char *c; u; Međutim, za razliku od strukture, veličina unije je određena najvećom komponentom s.i s.d sizeof(s) s.c u.i u.d u.c sizeof(u) 35/38 S obzirom na to da je kod elemenata unije memorijski prostor deljen, polja a i b strukture c dele iste lokacije sa poljima a i b strukture d svaka promena nad poljima a i b strukture c istovremeno predstavlja i promenu nad poljima a i b strukture d i obrnuto Na početku promenljiva s dobija vrednost 3, a br 5. spoljni ciklus (e.c.a) se na prvi pogled ponavlja 5 puta medjutim, već naredni unutrašnji ciklus (e.d.a) se vrši nad istim podatkom, tako da kada on bude završen, e.d.a će imati vrednost 5, a to automatski važi i za e.c.a sledeći for ciklus se odvija ponovo nad e.c.a na osnovu prethodnog zaključka, kada on bude završen, automatski će biti ispunjen uslov za prekid prva dva ciklusa "koristan efekat" u programu imaju naredna dva ugneždena ciklusa ukupan broj izvršavanja operacije s++ je zbog toga 25 početna vrednost s bila je 3, konačna vrednost u trenutku ispisivanja će biti 28 Odgovor: B 36/38

10 Zadatak 6 Zadatak 6 Dat je deo programskog koda na jeziku C za rad sa dvostruko ulančanim listama celih brojeva. Funkcija posle_tek treba da ubaci novi element iza tekućeg elementa dvostruko ulančane liste. Lista ima zaglavlje koje se sastoji od pokazivača na prvi i pokazivača na tekući element. Šta treba da stoji na mestu ##### da bi ova funkcija ispravno obavljala tu operaciju? #include <stdlib.h> typedef struct elem { void *pod; struct elem *sled, *pret; Elem; typedef struct { Elem *prvi, *tek; Lista; void posle_tek (Lista *plst, void *p) { Elem *novi; if( plst->tek == NULL ) return; novi = (Elem *)malloc (sizeof(elem)); novi->pod = p; novi->pret = plst->tek; novi->sled = plst->tek->sled; if(novi->sled) ##### plst->tek->sled = novi; plst->tek = novi; Odgovori: A) plst->tek->sled->pret = novi; B) novi->sled->pret = novi; C) (*(*plst).tek).pret = novi; 37/38 38/38

Strukture. Strukturirani (složeni) tip podataka koji definiše korisnik. Razlike u odnosu na niz

Strukture. Strukturirani (složeni) tip podataka koji definiše korisnik. Razlike u odnosu na niz Strukture Strukture Strukturirani (složeni) tip podataka koji definiše korisnik sastoji se od više komponenti komponente imaju identifikatore ne moraju biti istog tipa struktura se smatra jednim objektom

Detaljer

1. 0BLINEARNE STRUKTURE PODATAKA

1. 0BLINEARNE STRUKTURE PODATAKA 1. 0BLINEARNE STRUKTURE PODATAKA 1.1. 1BPOLJE 1.1.1. 5BDEFINICIJE I STRUKTURA Polje (array) predstavlja linearnu homogenu statičku strukturu podataka i sastoji se od fiksnog broja komponenata istog tipa.

Detaljer

/* Adresu promenjive x zapamticemo u novoj promeljivoj. Nova promenljiva je tipa pokazivaca na int (int*) */ int* px;

/* Adresu promenjive x zapamticemo u novoj promeljivoj. Nova promenljiva je tipa pokazivaca na int (int*) */ int* px; 1. 0B 2. PODSEĆANJE 1. /* Pokazivaci - osnovni pojam */ #include main() { int x = 3; /* Adresu promenjive x zapamticemo u novoj promeljivoj. Nova promenljiva je tipa pokazivaca na int (int*)

Detaljer

Programiranje 1 grupno spremanje (zadaci) datoteke

Programiranje 1 grupno spremanje (zadaci) datoteke Programiranje 1 grupno spremanje (zadaci) datoteke Tipovi datoteka Datoteke se mogu podeliti na binarne i tekstualne. Iako su na prvi pogled ova dva tipa veoma slična oni se suštinski razlikuju. Binarne

Detaljer

Del 1 En oversikt over C-programmering

Del 1 En oversikt over C-programmering Del 1 En oversikt over C-programmering 1 RR 2016 Starten C ble utviklet mellom 1969 og 1973 for å re-implementere Unix operativsystemet. Er et strukturert programmeringsspråk, hvor program bygges opp av

Detaljer

Kapittel 1 En oversikt over C-språket

Kapittel 1 En oversikt over C-språket Kapittel 1 En oversikt over C-språket RR 2015 1 Skal se på hvordan man En innføring i C Skriver data til skjermen Lese data fra tastaturet Benytter de grunnleggende datatypene Foretar enkle matematiske

Detaljer

Objektno orijentisano programiranje 2. Tipovi podataka u C#

Objektno orijentisano programiranje 2. Tipovi podataka u C# Objektno orijentisano programiranje 2 Klasifikacija tipova Osnovna podela na: vrednosne (value) tipove ukazane (reference) tipove Vrednosni tipovi: jednostavni tipovi (kao što su npr. byte, int, long,

Detaljer

Oving 2. Oppgave 1. #include int main(int argc, char **argv) { char *navn = argv[1]; printf ("Navnet ditt er %s\n", navn); } Oppgave 2

Oving 2. Oppgave 1. #include <stdio.h> int main(int argc, char **argv) { char *navn = argv[1]; printf (Navnet ditt er %s\n, navn); } Oppgave 2 Oving 2 Oppgave 1 int main(int argc, char **argv) char *navn = argv[1]; printf ("Navnet ditt er %s\n", navn); Oppgave 2 char navn[25]; printf( "Hei hva heter du?\n" ); scanf("%s", navn); printf ("Hei:

Detaljer

Del 4 Noen spesielle C-elementer

Del 4 Noen spesielle C-elementer Del 4 Noen spesielle C-elementer 1 RR 2016 Header-filer inneholder Prototypene til funksjonene i standard biblioteket Verdier og definisjoner som disse funksjonene bruker #include #include

Detaljer

Dagens tema INF1070. Info om C. Cs preprosessor. Feilsøking. Dag Langmyhr,Ifi,UiO: Forelesning 31. januar 2005 Ark 1 av 29

Dagens tema INF1070. Info om C. Cs preprosessor. Feilsøking. Dag Langmyhr,Ifi,UiO: Forelesning 31. januar 2005 Ark 1 av 29 Dagens tema Info om C Cs preprosessor Feilsøking Dag Langmyhr,Ifi,UiO: Forelesning 31. januar 2005 Ark 1 av 29 Informasjon om C Den viktigste kilden til informasjon om C (utenom en god oppslagsbok) er

Detaljer

Informasjon om C. Dagens tema INF1070 INF1070 INF1070 INF1070. Den viktigste kilden til informasjon om C (utenom en god. C-funksjonene.

Informasjon om C. Dagens tema INF1070 INF1070 INF1070 INF1070. Den viktigste kilden til informasjon om C (utenom en god. C-funksjonene. Dagens tema Info om C Cs preprosessor Feilsøking Dag Langmyhr,Ifi,UiO: Forelesning 31. januar 2005 Ark 1 av 29 Dag Langmyhr,Ifi,UiO: Forelesning 31. januar 2005 Ark 2 av 29 NAME sqrt - square root function

Detaljer

Kartlegging av leseferdighet Trinn 2 og 3 på bosnisk

Kartlegging av leseferdighet Trinn 2 og 3 på bosnisk Lærerveiledning Bosnisk, 2. og 3. trinn Lærerveiledning Kartlegging av leseferdighet Trinn 2 og 3 på bosnisk Priručnik za učitelje Ispitivanje sposobnosti čitanja 2. i 3. razred na bosanskom jeziku 2013

Detaljer

Dagens tema INF2270. Cs preprosessor. Separat kompilering av C funksjoner. C og minnet. Dag Langmyhr,Ifi,UiO: Forelesning 5. februar 2007 Ark 1 av 15

Dagens tema INF2270. Cs preprosessor. Separat kompilering av C funksjoner. C og minnet. Dag Langmyhr,Ifi,UiO: Forelesning 5. februar 2007 Ark 1 av 15 Dagens tema Cs preprosessor Separat kompilering av C funksjoner C og minnet Dag Langmyhr,Ifi,UiO: Forelesning 5. februar 2007 Ark 1 av 15 Cs preprosessor Før selve kompileringen går C kompilatoren gjennom

Detaljer

Sveučilište u Zagrebu PMF Matematički odsjek. Mreže računala. Vježbe 04. Zvonimir Bujanović Slaven Kožić Vinko Petričević

Sveučilište u Zagrebu PMF Matematički odsjek. Mreže računala. Vježbe 04. Zvonimir Bujanović Slaven Kožić Vinko Petričević Sveučilište u Zagrebu PMF Matematički odsjek Mreže računala Vježbe 04 Zvonimir Bujanović Slaven Kožić Vinko Petričević Klijent / Server paradigma internet daje infrastrukturu koja omogućava komunikaciju

Detaljer

1 REALNE FUNKCIJE REALNE VARIJABLE

1 REALNE FUNKCIJE REALNE VARIJABLE REALNE FUNKCIJE REALNE VARIJABLE. Neka je f() = ln 4e 3 e. Odredite a) f b) D(f) i R(f) c) Odredite min f, inf f, ma f, sup f. 2. Odredite prirodnu domenu funkcije f() = ln (3e e 3 ) + 5 log 5 +3 + ( cos

Detaljer

Dagens tema. Cs preprosessor Separat kompilering av C-funksjoner C og minnet Oversikt over operatorene

Dagens tema. Cs preprosessor Separat kompilering av C-funksjoner C og minnet Oversikt over operatorene Dagens tema Dagens tema Cs preprosessor Separat kompilering av C-funksjoner C og minnet Oversikt over operatorene Inkludering av filer Cs preprosessor Før selve kompileringen går C-kompilatoren gjennom

Detaljer

IN 147 Program og maskinvare

IN 147 Program og maskinvare Dagens tema Mer om C Cs preprosessor Allokering av variable Separat kompilering Programmet make Pekere i C Operasjoner på pekere Pekere og vektorer Referanseparametre Pekere til «alt» og «ingenting» Dynamisk

Detaljer

Primena računara u fizičkoj hemiji. Profesor: Miloš Mojović Asistent: Aleksandar Ignjatović

Primena računara u fizičkoj hemiji. Profesor: Miloš Mojović Asistent: Aleksandar Ignjatović Primena računara u fizičkoj hemiji Profesor: Miloš Mojović Asistent: Aleksandar Ignjatović Literatura i ispit: Literatura: 1. Predavanja 2. Internet 3. Knjige Ocenjivanje 1. aktivnost u toku predavanja

Detaljer

IN 147 Program og maskinvare

IN 147 Program og maskinvare Dagens program Repetisjon Basistyper i C Typekonvertering Formater i printf Deklarasjon av nye typer Pekere i C En kort repetisjon om pekere Pekere som parametre Pekere og vektorer Regning med pekere Pekere

Detaljer

Dagens tema C, adresser og pekere

Dagens tema C, adresser og pekere Dagens tema C, adresser og pekere (Kapittel 17 i Patt&Patel-boken) Variable og adresser Pekervariable Parametre Dynamisk allokering Stakker og ringbuffere Ark 1 av 26 Adresser Som nevnt tidligere ligger

Detaljer

IN 147 Program og maskinvare

IN 147 Program og maskinvare Dagens tema Deklarasjon av nye typer Typekonvertering mellom pekere Regning med pekere Pekere til funksjoner Pekere til pekere til... Vanlige feil ved bruk av pekere Feilsøking Debuggere lint Kompilatormeldinger

Detaljer

Vektorer. Dagens tema. Deklarasjon. Bruk

Vektorer. Dagens tema. Deklarasjon. Bruk Dagens tema Dagens tema Deklarasjon Vektorer Vektorer (array-er) Tekster (string-er) Adresser og pekere Dynamisk allokering Alle programmeringsspråk har mulighet til å definere en såkalte vektor (også

Detaljer

Dagens tema INF1070. Vektorer (array er) Tekster (string er) Adresser og pekere. Dynamisk allokering

Dagens tema INF1070. Vektorer (array er) Tekster (string er) Adresser og pekere. Dynamisk allokering Dagens tema Vektorer (array er) Tekster (string er) Adresser og pekere Dynamisk allokering Dag Langmyhr,Ifi,UiO: Forelesning 23. januar 2006 Ark 1 av 23 Vektorer Alle programmeringsspråk har mulighet til

Detaljer

Cs preprosessor. Dagens tema. Betinget kompilering

Cs preprosessor. Dagens tema. Betinget kompilering Dagens tema Dagens tema Inkludering av filer Cs preprosessor Cs preprosessor Separat kompilering av C funksjoner C og minnet Før selve kompileringen går C kompilatoren gjennom koden med en preprosessor

Detaljer

Del 2 Tabeller, arrays, strenger

Del 2 Tabeller, arrays, strenger Del 2 Tabeller, arrays, strenger 1 RR 2016 Tabeller Variabel som kan holde mange verdier. Styrer bruken med indeks. Det er ingen indekskontroll i C. int tab[5] = {2, 4, 6, 8, 10}; tab[4] = 12; int tab[100]

Detaljer

1 - Prvi deo upitnika

1 - Prvi deo upitnika Copyright! All rights reserved www.anestesi.no 2010- Serbo-Kroatisk side 1 av 6 Serbia Kroatia osnia Språk: Serbo-Kroatisk Oversatt av: Ivan uljovcic to: Juni 2010 1 - Prvi deo upitnika Del 1 Spørreskjema:

Detaljer

Dagens tema. Cs preprosessor Separat kompilering av C-funksjoner C og minnet Oversikt over operatorene

Dagens tema. Cs preprosessor Separat kompilering av C-funksjoner C og minnet Oversikt over operatorene Dagens tema Dagens tema Cs preprosessor Separat kompilering av C-funksjoner C og minnet Oversikt over operatorene Inkludering av filer Cs preprosessor Før selve kompileringen går C-kompilatoren gjennom

Detaljer

Pekere og vektorer. Dagens tema. I C gjelder en litt uventet konvensjon:

Pekere og vektorer. Dagens tema. I C gjelder en litt uventet konvensjon: Pekere og vektorer I C gjelder en litt uventet konvensjon: Dagens tema Det siste om C Pekere og vektorer Pekere til pekere Vanlige pekerfeil struct-er og typedef Lister Feilsøking Bruk av et vektornavn

Detaljer

Dagens tema. Det siste om C Pekere og vektorer. Pekere til pekere. Vanlige pekerfeil. struct-er og typedef. Lister. Feilsøking

Dagens tema. Det siste om C Pekere og vektorer. Pekere til pekere. Vanlige pekerfeil. struct-er og typedef. Lister. Feilsøking Dagens tema Det siste om C Pekere og vektorer Pekere til pekere Vanlige pekerfeil struct-er og typedef Lister Feilsøking Ark 1 av 35 Pekere og vektorer I C gjelder en litt uventet konvensjon: Bruk av et

Detaljer

Dagens tema. Adresser som parametre Dynamisk allokering Signaturer Definisjon av nye typenavn Typekonvertering Pekere og vektorer

Dagens tema. Adresser som parametre Dynamisk allokering Signaturer Definisjon av nye typenavn Typekonvertering Pekere og vektorer Dagens tema Dagens tema Adresser som parametre Dynamisk allokering Signaturer Definisjon av nye typenavn Typekonvertering Pekere og vektorer Adresser som parametre Et eksempel La oss lage en funksjon som

Detaljer

IN 147 Program og maskinvare

IN 147 Program og maskinvare Dagens tema Deklarasjon av nye typer Typekonvertering Regning med pekere Pekere til funksjoner Pekere til pekere til... Vanlige feil ved bruk av pekere Feilsøking Debuggere lint Kompilatormeldinger Egne

Detaljer

Neprekidne funkcije nestandardni pristup

Neprekidne funkcije nestandardni pristup nestandardni pristup Predavanje u sklopu Teorije, metodike i povijesti infinitezimalnih računa fniksic@gmail.com PMF Matematički odsjek Sveučilište u Zagrebu 10. veljače 2011. Ciljevi predavanja Ciljevi

Detaljer

Nybegynnerkurs i C. Øyvind Grønnesby. 14. oktober Introduksjon Typer Operatorer Kontrollstrukturer Pekere Makroer Lenker

Nybegynnerkurs i C. Øyvind Grønnesby. 14. oktober Introduksjon Typer Operatorer Kontrollstrukturer Pekere Makroer Lenker Nybegynnerkurs i C Øyvind Grønnesby 14. oktober 2004 Introduksjon pass-by-value svakt typet portabel assembler siste ISO-standard er C99 Hello world #i n c l u d e < s t d l i b. h> #i n c l u d e

Detaljer

IN 147 Program og maskinvare

IN 147 Program og maskinvare Dagens tema Basistyper i C Typekonvertering Formater i printf Pekere i C En kort repetisjon om pekere Hva er egentlig en peker? Pekere til alt og ingenting Pekere som parametre Pekere og vektorer Ark 1

Detaljer

Oversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays

Oversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays Oversikt C programmering 1 C programmering Introduksjon Kildekode Kompilering Hello world Hello world med argumenter 2 Funksjoner 3 Datatyper 4 Pekere og arrays 5 Kontrollstrukturer Lars Vidar Magnusson

Detaljer

Izmena i dopuna konkursne dokumentacije

Izmena i dopuna konkursne dokumentacije SPECIJALNA BOLNICA ZA LEČENјE I REHABILITACIJU 36210 Vrnjačka Banja, Bul. Srpskih ratnika br. 18 Telefon i telefaks: 036/515-514-5 Broj: 01-3114/4 Datum: 25.07.2017.godine Izmena i dopuna konkursne dokumentacije

Detaljer

Programmeringsspråket C

Programmeringsspråket C Programmeringsspråket C Bakgrunn Implementasjon av Unix ved AT&Ts laboratorium i Palo Alto 1960 75. Navnet kommer fra BCPL B C. Opphavsmannnen heter Dennis Ritchie. ANSI standard i 1988; omtrent alle følger

Detaljer

ALUMINIJSKE VODILICE ZA ODJELJIVANJE PROSTORA

ALUMINIJSKE VODILICE ZA ODJELJIVANJE PROSTORA ALUMINIJSKE VODILICE ZA ODJELJIVANJE PROSTORA ALU. VODILICE ZA ODJELJIVANJE PROSTORA AV 04.01-04.10...jer o tome mnogo ovisi... S C H W O L L E R - L U Č I Ć AL 400 AV 04.01 minijska vodilica za odjeljivanje

Detaljer

TDT4102 Prosedyre og Objektorientert programmering Vår 2015

TDT4102 Prosedyre og Objektorientert programmering Vår 2015 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2015 Øving 1 LF LØSNINGSFORSLAG Mål for denne øvinga:

Detaljer

4. Grafič ke funkčije

4. Grafič ke funkčije 4. Grafič ke funkčije Svaki grafik možemo posmatrati kao prikaz numeričkih vrednosti. Poreklo ovih vrednosti, međutim, diktira način na koji se one koriste ili generišu. U vedini slučajeva, izvor podataka

Detaljer

Programmeringsspråket C Del 3. Michael Welzl

Programmeringsspråket C Del 3. Michael Welzl Programmeringsspråket C Del 3 Michael Welzl 1 Vektorer og minneallokering Vektorer blir ikke initialisert å allokere en vektor er bare en statisk måte å allokere minne på. char a, b[4], c; a = 3; b[0]

Detaljer

Dagens tema. Kort repetisjon om rutiner. Programmering i C Variable og adresser. Vektorer. Tekster. Preprosessoren. Separat kompilering

Dagens tema. Kort repetisjon om rutiner. Programmering i C Variable og adresser. Vektorer. Tekster. Preprosessoren. Separat kompilering Dagens tema Kort repetisjon om rutiner Programmering i C Variable og adresser Vektorer Tekster Preprosessoren Separat kompilering Innlesning og utskrift mot skjerm og fil Ark 1 av 31 Hva er en rutine?

Detaljer

PC i multimedija 3. deo: Audio

PC i multimedija 3. deo: Audio S P E C I J A L N I D O D A T A K #141 februar 2008 PC i multimedija 3. deo: Audio Zvezdan Dimitrijević PC SPECIJALNI DODATAK Organizacija audio/video fajlova Postoji mnoštvo programa za katalogizaciju

Detaljer

IN 147 Program og maskinvare

IN 147 Program og maskinvare Dagens tema Mer om C Et eksempel til (med diverse forklaringer) Representasjon av tegn og logiske verdier Vektorer Statusverdi Innhenting av definisjoner Inkrementering og dekrementering av variable for-setningen

Detaljer

EKSAMENSOPPGAVE. INF-1100 Innføring i programmering og datamaskiners virkemåte. Ingen. Elektronisk (WiseFlow) Robert Pettersen

EKSAMENSOPPGAVE. INF-1100 Innføring i programmering og datamaskiners virkemåte. Ingen. Elektronisk (WiseFlow) Robert Pettersen Fakultet for naturvitenskap og teknologi EKSAMENSOPPGAVE Eksamen i: Dato: 20.02.2017 Klokkeslett: 09:00 13:00 INF-1100 Innføring i programmering og datamaskiners virkemåte Sted: Teorifagbygget, Hus 3,

Detaljer

Neko kao ti. Sara Desen. Prevela Sandra Nešović

Neko kao ti. Sara Desen. Prevela Sandra Nešović Neko kao ti Sara Desen Prevela Sandra Nešović 4 5 Naslov originala Sa rah Des sen So me o ne Li ke You Copyright Sarah Dessen, 1998 All rights reserved including the right of reproduction in whole or in

Detaljer

Repetisjon fra sist - 1: Plan for dagen. Repetisjon fra sist 2: Hva jeg glemte sist: Nyttige Kommandoer

Repetisjon fra sist - 1: Plan for dagen. Repetisjon fra sist 2: Hva jeg glemte sist: Nyttige Kommandoer -lxxx -c -S -E -o -g -O -I -L gcc Make man l cpp ar ranlib nm valgrind Plan for dagen Repetisjon fra sist - 1: Nyttige Kommandoer Repetisjon Språkmekanismer for programflyt Datatyper &

Detaljer

Dagens tema. Rutiner i LC-2 Og her er tilsvarende kode for LC-2: Funksjoner i C Her er det samme programmet i C: Kort repetisjon om rutiner

Dagens tema. Rutiner i LC-2 Og her er tilsvarende kode for LC-2: Funksjoner i C Her er det samme programmet i C: Kort repetisjon om rutiner Dagens tema Kort repetisjon om rutiner Programmering i C Variable og adresser Vektorer Tekster Preprosessoren Separat kompilering Innlesning og utskrift mot skjerm og fil Hva er en rutine? En rutine (også

Detaljer

Dagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes.

Dagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes. Dagens tema Dagens tema C-programmering Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes. Adresser og pekere Parametre Vektorer (array-er) Tekster (string-er) Hvordan ser minnet

Detaljer

Dagens tema: Datastrukturer

Dagens tema: Datastrukturer Dagens tema: Datastrukturer Matriser Dynamiske matriser Ringbuffere Mengder Lister Enkle listeoperasjoner Programmering av en listepakke Lister med hode og hale Toveislister Onsdag 24.3 Avslutning av IN147A

Detaljer

Administrivia INF 3110/ INF /02/2005 1

Administrivia INF 3110/ INF /02/2005 1 Administrivia Arild Fines Studentassistent for INF5110 Tok INF5110 våren 2004 Ingen tradisjonelle gruppetimer Veiledning over epost og/eller ved treffetid arild.fines@broadpark.no 03/02/2005 1 Lex/Flex

Detaljer

Dagens tema. Dynamisk allokering Signaturer Definisjon av typer og nye typenavn Typekonvertering Pekere, vektorer og lister Dokumentasjon

Dagens tema. Dynamisk allokering Signaturer Definisjon av typer og nye typenavn Typekonvertering Pekere, vektorer og lister Dokumentasjon Dagens tema Dagens tema Dynamisk allokering Signaturer Definisjon av typer og nye typenavn Typekonvertering Pekere, vektorer og lister Dokumentasjon Verdt å huske på! Husk! Nøkkelen til å forstå C er å

Detaljer

IN 147 Program og maskinvare. Dagens tema

IN 147 Program og maskinvare. Dagens tema Dagens tema Kort repetisjon Unioner Cs preprosessor Allokering av variable Separat kompilering Programmet make Datastrukturer Matriser Dynamiske matriser Ringbuffere Oblig2 Obligatorisk oppgave nr. 2 slippes

Detaljer

Tru64: Uvod - alati i naredbe. Dinko Korunić, InfoMAR d.o.o. v1.2, travanj 2006.

Tru64: Uvod - alati i naredbe. Dinko Korunić, InfoMAR d.o.o. v1.2, travanj 2006. Tru64: Uvod - alati i naredbe Dinko Korunić, InfoMAR d.o.o. v1.2, travanj 2006. O predavaču višegodišnji vanjski suradnik časopisa Mrež@, vlastita kolumna "Digitalna radionica - Linux", itd. vanjski suradnik

Detaljer

Riješeni zadaci: Funkcije

Riješeni zadaci: Funkcije Riješeni zadaci: Funkcije Domena funkcije, kompozicija funkcija, invertiranje funkcije, parnost funkcije Domene nekih funkcija: f(x) = x D f = [0, f(x) = x D f = R \ {0} f(x) = log a x, a > 0, a D f =

Detaljer

Ord og begreper. Norsk Morsmål: Tegning (hvis aktuelt)

Ord og begreper. Norsk Morsmål: Tegning (hvis aktuelt) Ord og begreper Norsk Morsmål: Tegning (hvis aktuelt) Få Dobiti Mange Mnogo Venstre Lijevo Høyre Desno Øverst Iznad Nederst Niže Lite Malo Mye Mnogo Flest Vecina Færrest Najmanje Oppe Gore Nede Dole Mellom

Detaljer

Dagens tema INF1070. Signaturer. Typekonvertering. Pekere og vektorer. struct-er. Definisjon av nye typenavn. Lister

Dagens tema INF1070. Signaturer. Typekonvertering. Pekere og vektorer. struct-er. Definisjon av nye typenavn. Lister Dagens tema Signaturer Typekonvertering Pekere og vektorer struct-er Definisjon av nye typenavn Lister Dag Langmyhr,Ifi,UiO: Forelesning 24. januar 2005 Ark 1 av 20 Signaturer I C gjelder alle deklarasjoner

Detaljer

IN 147 Program og maskinvare. Vanlige feil ved bruk av pekere Feilsøking Debuggere

IN 147 Program og maskinvare. Vanlige feil ved bruk av pekere Feilsøking Debuggere Dagens tema Vanlige feil ved bruk av pekere Feilsøking Debuggere lint Kompilatormeldinger Egne testutskrifter Flyt-tall (P&H: 4.8) Representasjon av flyt-tall Standarden IEEE 754 MIPS-operasjoner på flyt-tall

Detaljer

E K S A M E N. Grunnleggende datakunnskap og programmering 02HIND*, 02HINE*, 02HDMU*, 02HING*, 02HGEOMAA, 02HSIV5

E K S A M E N. Grunnleggende datakunnskap og programmering 02HIND*, 02HINE*, 02HDMU*, 02HING*, 02HGEOMAA, 02HSIV5 Høgskolen i Gjøvik Avdeling for teknologi E K S A M E N FAGNAVN: FAGKODE: Grunnleggende datakunnskap og programmering L 182 A EKSAMENSDATO: 19. desember 2002 KLASSE(R): 02HIND*, 02HINE*, 02HDMU*, 02HING*,

Detaljer

EKSAMENSOPPGAVE. INF-1100 Innføring i programmering og datamaskiners virkemåte. Teorifagb, hus 3, og og Adm.bygget, Aud.max og B.

EKSAMENSOPPGAVE. INF-1100 Innføring i programmering og datamaskiners virkemåte. Teorifagb, hus 3, og og Adm.bygget, Aud.max og B. Fakultet for naturvitenskap og teknologi EKSAMENSOPPGAVE Eksamen i: Dato: 06.12.2016 Klokkeslett: 09:00 13:00 INF-1100 Innføring i programmering og datamaskiners virkemåte Sted: Tillatte hjelpemidler:

Detaljer

Dagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes.

Dagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes. Dagens tema C-programmering Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes. Adresser og pekere Parametre Vektorer (array-er) Tekster (string-er) Hvordan ser minnet ut? Variabler,

Detaljer

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Øving 1 Frist: DD.MM.YYYY Mål for denne øvinga:

Detaljer

Programmering i C++ Løsningsforslag Eksamen høsten 2005

Programmering i C++ Løsningsforslag Eksamen høsten 2005 Programmering i C++ Eksamen høsten 2005 Simen Hagen Høgskolen i Oslo, Avdeling for Ingeniørutdanning 7. desember 2005 Generelt Denne eksamensoppgaven består av tre oppgaver, pluss en ekstraoppgave. Det

Detaljer

Eksamen FSP5822/PSP5514 Bosnisk nivå II Elevar og privatistar / Elever og privatister. Nynorsk/Bokmål

Eksamen FSP5822/PSP5514 Bosnisk nivå II Elevar og privatistar / Elever og privatister.  Nynorsk/Bokmål Eksamen 20.11.13 FSP5822/PSP5514 Bosnisk nivå II Elevar og privatistar / Elever og privatister Nynorsk/Bokmål Oppgåve 1 Skriv ein kort tekst på 4 5 setningar der du svarer på spørsmåla nedanfor. Skriv

Detaljer

GJØVIK INGENIØRHØGSKOLE

GJØVIK INGENIØRHØGSKOLE GJØVIK INGENIØRHØGSKOLE Postboks 191-2801 GJØVIK KANDIDATNUMMER: E K S A M E N FAGNAVN: FAGNUMMER: Programmering i C++ / Pascal / C LO154A, LO151A og LO142A EKSAMENSDATO: 7. juni 1994 TID: 09.00-14.00

Detaljer

VERTIKALNA POLARIZACIJA

VERTIKALNA POLARIZACIJA VERTIKALNA POLARIZACIJA Driver 433 MHz Driver 145 MHz AKTIVNI ELEMENTI U JEDNOJ RAVNI Aluminijumska zica precnika 4mm(obelezena crnom bojom)savija se u U oblik,zatim provuce kroz letvicu 20 x 20x600mm(obelezenu

Detaljer

Løsningsforslag til 2. del av Del - EKSAMEN

Løsningsforslag til 2. del av Del - EKSAMEN Løsningsforslag til 2. del av Del - EKSAMEN Emnekode: ITD13012 Emne: Datateknikk Dato: 21. Mai 2013 Eksamenstid: kl 9:00 til kl 12:00 Hjelpemidler: 4 sider (A4) (2 ark) med egne notater. Ikke-kummuniserende

Detaljer

EKSAMEN. Operativsystemer. 1. Læreboken "A Practical Guide to Red Hat Linux" av Mark Sobell 2. Maks. tre A-4 ark med selvskrevne notater.

EKSAMEN. Operativsystemer. 1. Læreboken A Practical Guide to Red Hat Linux av Mark Sobell 2. Maks. tre A-4 ark med selvskrevne notater. EKSAMEN Emnekode: ITF22506 Emne: Operativsystemer Dato: 12. desember 2007 Eksamenstid: kl. 9.00 til kl. 13.00 Hjelpemidler: 1. Læreboken "A Practical Guide to Red Hat Linux" av Mark Sobell 2. Maks. tre

Detaljer

SINUS M -VARIABLE FREQUENCY DRIVE- UPUTSTVO ZA INSTALIRANJE I PROGRAMIRANJE

SINUS M -VARIABLE FREQUENCY DRIVE- UPUTSTVO ZA INSTALIRANJE I PROGRAMIRANJE SINUS M -VARIABLE FREQUENCY DRIVE- UPUTSTVO ZA INSTALIRANJE I PROGRAMIRANJE SRPSKI JEZIK Ovo korisničko uputstvo je osnovno uputstvo za uređaj. Pažljivo pročitati instrukcije koje se nalaze u njemu, jer

Detaljer

IN 147 Program og maskinvare

IN 147 Program og maskinvare Dagens tema: Kort repetisjon Mengder Lister Enkle listeoperasjoner Programmering av en listepakke Lister med hode og hale Toveislister Hvaeretoperativsystem? En meget kort oversikt over operativsystemenes

Detaljer

Programmeringsspråket C Del 2

Programmeringsspråket C Del 2 Programmeringsspråket C Del 2 Kjell Åge Bringsrud E-mail: kjellb@ifi.uio.no 30.08.2005 inf1060 H05 1 Et eksempel Dette er lite eksempel som ber om et tall, leser det og så teller fra det ned til 0. 30.08.2005

Detaljer

E K S A M E N. Grunnleggende datakunnskap og programmering 98HINDA / 98HINDB / 98HINEA 98HDMUA / 98HDMUB / 98HINGA

E K S A M E N. Grunnleggende datakunnskap og programmering 98HINDA / 98HINDB / 98HINEA 98HDMUA / 98HDMUB / 98HINGA Høgskolen i Gjøvik E K S A M E N FAGNAVN: FAGNUMMER: Grunnleggende datakunnskap og programmering L 182 A EKSAMENSDATO: 15. desember 1998 KLASSE: 98HINDA / 98HINDB / 98HINEA 98HDMUA / 98HDMUB / 98HINGA

Detaljer

Dagens program. Operativsystemer Prosesser og systemkall i UNIX Hente prosessens nummer Starte prosesser Vente på prosesser Utføre programmer

Dagens program. Operativsystemer Prosesser og systemkall i UNIX Hente prosessens nummer Starte prosesser Vente på prosesser Utføre programmer Dagens program Operativsystemer Prosesser og systemkall i UNIX Hente prosessens nummer Starte prosesser Vente på prosesser Utføre programmer Nyttige forklaringer Sikker opprettelse av nye prosesser Hva

Detaljer

Programmeringsspråket C

Programmeringsspråket C Programmeringsspråket C Programmeringsspråket C Implementasjon av Unix ved AT&Ts laboratorium i Palo Alto 1960 75. Navnet kommer fra BCPL B C. Opphavsmannnen heter Dennis Ritchie. ANSI-standard i 1988;

Detaljer

Signaturer. Dagens tema. En vanlig feil int-funksjon. Dette kan noen ganger gi rare feilmeldinger: INF1070 INF1070 INF1070 INF1070

Signaturer. Dagens tema. En vanlig feil int-funksjon. Dette kan noen ganger gi rare feilmeldinger: INF1070 INF1070 INF1070 INF1070 Dagens tema Signaturer Tyekonvertering Pekere og vektorer struct-er Definisjon av nye tyenavn Lister Dag Langmyhr,Ifi,UiO: Forelesning 24. januar 25 Ark 1 av 2 Dag Langmyhr,Ifi,UiO: Forelesning 24. januar

Detaljer

import java.io.*; import java.util.*; import javagently.text;

import java.io.*; import java.util.*; import javagently.text; //-------------------------------------------------------- // // Fil: Oppg1.java - // løser oppgave 1 i eksamensettet for in105 - v99 // //-------------------------------------------------------- import

Detaljer

Løsningsforslag til eksamen i INF1000 våren 2006

Løsningsforslag til eksamen i INF1000 våren 2006 Løsningsforslag til eksamen i INF1000 våren 2006 Oppgave 1 a) -1 false 7 b) 30 c) Verdien til j er: 4Verdien til k er: 3Verdien til n er: 7 d) Andre if-test er true Tredje if-test er true e) k = 4 k =

Detaljer

Rapport Semesteroppgave i datasikkerhet Harald Dahle (795955) og Joakim L. Gilje (796196)

Rapport Semesteroppgave i datasikkerhet Harald Dahle (795955) og Joakim L. Gilje (796196) Rapport Semesteroppgave i datasikkerhet Harald Dahle (795955) og Joakim L. Gilje (796196) Sammendrag Oppgaven går ut på å implementere RSA-krypteringen. Deloppgaver for denne krypteringen er å implementere

Detaljer

C++ versus Java 1. C++ versus Java

C++ versus Java 1. C++ versus Java Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag C++ versus Java Tore Berg Hansen 29.8.2006 Lærestoffet er utviklet for faget LV194D C++ for Javaprogrammerere 1. C++ versus Java Resymé:

Detaljer

Programmeringsspråket C Del 2. Michael Welzl

Programmeringsspråket C Del 2. Michael Welzl Programmeringsspråket C Del 2 Michael Welzl 1 Et eksempel Dette er lite eksempel som ber om et tall, leser det og så teller fra det nedover til 0 $> gcc countdown.c -o countdown $>./countdown ===== Countdown

Detaljer

Hva er datamaskinarkitektur?

Hva er datamaskinarkitektur? Hva er datamaskinarkitektur? Datamaskinarkitektur forholder seg til informatikk som motorlære forholder seg til samferdsel! Motorlære: bil buss motorsykkel generator bremse akselerere... Datamaskinarkitektur:

Detaljer

Dagens tema: Parallellstyring

Dagens tema: Parallellstyring Nyttige forklaringer Sikker opprettelse av nye prosesser Hva er en kommandotolker? Dagens tema: Parallellstyring Generelt Synkronisering med filer Synkronisering med rør Synkronisering med felles lager

Detaljer

Sustavi za rad u stvarnom vremenu

Sustavi za rad u stvarnom vremenu SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Zavod za elektroniku, mikroelektroniku, računalne i inteligentne sustave Skripta iz predmeta Sustavi za rad u stvarnom vremenu Leonardo Jelenković

Detaljer

IN 147 Program og maskinvare

IN 147 Program og maskinvare Dagens tema Parallellitet Eksempelprogrammet Litt om X En enkelt pakke for tegning på skjerm Et program for å tegne fraktaler Kommunikasjon mellom prosesser Rør Felles lager Ark 1 av 24 Forelesning 28.4.1998

Detaljer

Programmeringsspråket C Del 2. Hans Petter Taugbøl Kragset

Programmeringsspråket C Del 2. Hans Petter Taugbøl Kragset Programmeringsspråket C Del 2 Hans Petter Taugbøl Kragset Repetisjon I C er ikke array en egen type, men variabler kan være arrayer! 28.08.17 Hans Petter Taugbøl Kragset 2 Arrays Java int[] arr1 = {1,

Detaljer

Programmeringsspråket C

Programmeringsspråket C Programmeringsspråket C Programmeringsspråket C Laget til implementasjon av Unix ved AT&Ts Bell labs i Palo Alto 1969 73. Navnet kommer fra BCPL B C. Opphavsmannnen heter Dennis Ritchie. ANSI-standard

Detaljer

Projekat EUROWEB+ Ovo je program namenjem isključivo razmeni, a ne celokupnim studijama.

Projekat EUROWEB+ Ovo je program namenjem isključivo razmeni, a ne celokupnim studijama. Projekat EUROWEB+ 1. Otvoren je Konkurs za novi program mobilnosti studenata i osoblja na Univerzitetu u Nišu EUROWEB+ Konkurs je otvoren do 15.02.2015. 2. Ko može da se prijavi? Ovim programom biće omogućen

Detaljer

Grunnleggende programmering i C

Grunnleggende programmering i C Grunnleggende programmering i C Hvorfor lære enda et nytt programmeringsspråk? C brukes mye, til å programmere alt: Hele operativsystemer, f.eks. Linux Regneark og tekstbehandlere Tungregneprogrammer for

Detaljer

IN 147 Program og maskinvare

IN 147 Program og maskinvare Dagens tema Operativsystemer Hva er et operativsystem? En meget kort oversikt over operativsystemenes historie Systemkall i UNIX Hente prosessens nummer Starte prosesser Vente på prosesser Utføre programmer

Detaljer

Dagens tema: Synkronisering

Dagens tema: Synkronisering Dagens tema: Synkronisering Kappløp og kritiske regioner Blokkering Produsent/konsument-problemet Semaforer Fraktaleksemplet med semaforer og delt lager. «De spisende filosofer»: 3 gale løsninger En foreløbig

Detaljer

Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; }

Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; } Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; Hva skrives ut på skjermen når følgende kode utføres? int [] tallene =

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO FASIT UNIVERSITETET I OSLO BOKMÅL Det matematisk-naturvitenskapelige fakultet Kontinuasjonseksamen i : Eksamensdag : INF1000 Grunnkurs i objektorientert programmering Fredag 7. januar Tid for eksamen :

Detaljer

Dagens tema INF2270. Signaturer. Typekonvertering. Pekere og vektorer. struct er. Definisjon av nye typenavn. Lister. Info om C

Dagens tema INF2270. Signaturer. Typekonvertering. Pekere og vektorer. struct er. Definisjon av nye typenavn. Lister. Info om C Dagens tema Signaturer Typekonvertering Pekere og vektorer struct er Definisjon av nye typenavn Lister Info om C Dag Langmyhr,Ifi,UiO: Forelesning 29. januar 2007 Ark 1 av 23 Signaturer I C gjelder alle

Detaljer

Høgskolen i Gjøvik Avdeling for informatikk og medieteknikk. Eksamen. Objekt-orientert programmering

Høgskolen i Gjøvik Avdeling for informatikk og medieteknikk. Eksamen. Objekt-orientert programmering Høgskolen i Gjøvik Avdeling for informatikk og medieteknikk Eksamen EMNENAVN: EMNENUMMER: Objekt-orientert programmering IMT1082 EKSAMENSDATO: 4. juni 2010 KLASSE(R): 09HBIND*, 09HBPUA, 09HBDRA, 09HBISA,

Detaljer

Univerzitet u Novom Sadu. Fakultet tehničkih nauka PC MAGISTRALE LPRS2

Univerzitet u Novom Sadu. Fakultet tehničkih nauka PC MAGISTRALE LPRS2 Univerzitet u Novom Sadu Fakultet tehničkih nauka PC MAGISTRALE LPRS2 UVOD Procesor klase Pentium Grafički port AGP/PCI Express x16 MCH Memorijski text kontroler DDR2 Memorija DDR2 Memorija PCI USB 2.0

Detaljer

Kondisjonstest. Algoritmer og datastrukturer. Python-oppgaver. Onsdag 6. oktober Her er noen repetisjonsoppgaver i Python.

Kondisjonstest. Algoritmer og datastrukturer. Python-oppgaver. Onsdag 6. oktober Her er noen repetisjonsoppgaver i Python. Algoritmer og datastrukturer Kondisjonstest Python-oppgaver Onsdag 6. oktober 2004 Her er noen repetisjonsoppgaver i Python. Som alltid er den beste måten å lære å programmere på å sette seg ned og programmere

Detaljer

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 25. mai 2005 Varighet: 4 timer (9:00 13:00) Fagnummer: LO182D Fagnavn: Programmering i C++ Klasse(r): FU

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO BOKMÅL Det matematisk-naturvitenskapelige fakultet Kontinuasjonseksamen i : Eksamensdag : INF1000 Grunnkurs i objektorientert programmering Fredag 7. januar Tid for eksamen : 09.00

Detaljer

Repetisjon. INF1000 - gruppe 13

Repetisjon. INF1000 - gruppe 13 Repetisjon INF1000 - gruppe 13 Lese fra fil Scanner import java.util.*; void lesfrafil() { try { Scanner innfil = new Scanner(new File( fugleobservasjoner.txt )); while (innfil.hasnext()) { String linje

Detaljer

INF1000 : Forelesning 3

INF1000 : Forelesning 3 INF1000 : Forelesning 3 Programeksempler Løkker Arrayer Ole Christian Lingjærde Biomedisinsk forskningsgruppe Institutt for informatikk Universitetet i Oslo 1 Body Mass Index (BMI) Vi skal lage et program

Detaljer