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

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

Složeni tipovi podataka

Složeni tipovi podataka Složeni tipovi podataka Složeni tipovi? C raspolaže sljedećim složenim tipovima podataka: polja (indeksirane promjenljive) jednodimenzionalno = NIZ, dvodimenzionalno = MATRICA, višedimenzionalno strukture

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 <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. #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

ELEKTROTEHNIČKI FAKULTET UNIVERZITETA U BEOGRADU PROGRAMIRANJE 2 MATERIJALI ZA PRIPREMU ISPITA. verzija:

ELEKTROTEHNIČKI FAKULTET UNIVERZITETA U BEOGRADU PROGRAMIRANJE 2 MATERIJALI ZA PRIPREMU ISPITA. verzija: ELEKTROTEHNIČKI FAKULTET UNIVERZITETA U BEOGRADU PROGRAMIRANJE 2 MATERIJALI ZA PRIPREMU ISPITA verzija: 06.07.2018. Studentima se savetuje da programski kod ne uče napamet. Za pisanje i testiranje rešenja

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

Uvod u Veb i Internet tehnologije HTML

Uvod u Veb i Internet tehnologije HTML Uvod u Veb i Internet tehnologije Filip Marić Vesna Marinković Filip Marić, Vesna Marinković Uvod u Veb i Internet tehnologije 1 / 49 Jezici za obeležavanje Pristupi kreiranju dokumenata Dva osnovna pristupa

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

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

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

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

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

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

Ark 3 av 26. printf("i adresse %08x ligger b med verdien %d.\n", &b, b); printf("i adresse %08x ligger a med verdien %d.

Ark 3 av 26. printf(i adresse %08x ligger b med verdien %d.\n, &b, b); printf(i adresse %08x ligger a med verdien %d. Dagens tema C, adresser og pekere (Kapittel 17 i Patt&Patel-boken) Variable og adresser Pekervariable Parametre Dynamisk allokering Stakker og ringbuffere Adresser Som nevnt tidligere ligger data og programkode

Detaljer

1. DHB-E 18/21/24 Sli art ELEKTRONIČKI PROTOČNI GRIJAČ VODE

1. DHB-E 18/21/24 Sli art ELEKTRONIČKI PROTOČNI GRIJAČ VODE ZAGREB, SRPANJ, 2017. VELEPRODAJNI CIJENIK STIEBEL ELTRON ZA 2017 G. PROTOČNI BOJLERI 1. DHB-E 18/21/24 Sli art.232016 - ELEKTRONIČKI PROTOČNI GRIJAČ VODE Protočni grijač vode za trenutno zagrijavanje

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 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Kako dostaviti logo. USBnet. Powered by

Kako dostaviti logo. USBnet. Powered by Kako dostaviti logo USBnet Powered by Sadržaj Sadržaj Upute za dostavljanje loga Vektorski dokumenti Bitmap dokumenti Tekst i fontovi Boje Dimenzije i površina loga 2 3 4 5 6 7 8 2 Upute za dostavu loga

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

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

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: 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

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

Programmeringsspråket C Del 3. Hans Petter Taugbøl Kragset Programmeringsspråket C Del 3 Hans Petter Taugbøl Kragset Repetisjon I C er ikke array en egen type, men variabler kan være arrayer! Pekere C-strenger Veldig likt Java på mange måter Programmering er fortsatt

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 17. januar 2005 Ark 1 av 23 Vektorer Alle programmeringsspråk har mulighet til

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

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

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

ZADACI ZA KVALIFIKACIONI ISPIT IZ HEMIJE. 1. Napišite elektronsku konfiguraciju broma, čiji je atomski broj Z= 35.

ZADACI ZA KVALIFIKACIONI ISPIT IZ HEMIJE. 1. Napišite elektronsku konfiguraciju broma, čiji je atomski broj Z= 35. ZADACI ZA KVALIFIKACIONI ISPIT IZ HEMIJE 1. Napišite elektronsku konfiguraciju broma, čiji je atomski broj Z= 35. 1s 2 2s 2 2p 6 3s 2 3p 6 4s 2 3d 10 4p 5 2. Utvrdite koji od navedenih parova hemijskih

Detaljer

MODIFIKACIJE METODA MATEMATIČKOG PROGRAMIRANJA I PRIMENE

MODIFIKACIJE METODA MATEMATIČKOG PROGRAMIRANJA I PRIMENE Univerzitet u Nišu Prirodno-matematički fakultet MODIFIKACIJE METODA MATEMATIČKOG PROGRAMIRANJA I PRIMENE Mentor: Dr. Predrag S. Stanimirović, redovni profesor Kandidat:, DexterOfNis@gmail.com Modifikacije

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

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

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

DO ŽIV LJA JI HAK L BE RI JA FI NA

DO ŽIV LJA JI HAK L BE RI JA FI NA Mark Tven DO ŽIV LJA JI HAK L BE RI JA FI NA Nas lov ori gi na la Mark Twa in Adven tu res of Huc k le ber ry Finn 1884 Pre vod Je li sa ve ta Mar ko vić Beleška Ko po ku ša da na đe ne ku po bu du u ovom

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

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

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

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

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

Del 3: Evaluere uttrykk

Del 3: Evaluere uttrykk Del 3: Evaluere uttrykk Hva skal vi gjøre? Hvordan lagre Asp-verdier Hvilke operasjoner må jeg implementere? Er operasjonen lovlig? Utføre operasjonen Strukturen til interpreten vår f.asp 3&4 Interpret

Detaljer

MATLAB matrični laboratorij Interaktivni alat (kalkulator), programski jezik, grafički procesor

MATLAB matrični laboratorij Interaktivni alat (kalkulator), programski jezik, grafički procesor M. Essert: Matlab interaktivno 1 MATLAB matrični laboratorij Interaktivni alat (kalkulator), programski jezik, grafički procesor Program = algoritam + strukture podataka Tipovi podataka temeljni tip -

Detaljer

Løsningsforslag til eksamen i IN 147 og IN 147A

Løsningsforslag til eksamen i IN 147 og IN 147A Løsningsforslag til eksamen i IN 17 og IN 17A Dag Langmyhr Øystein Gran Larsen Våren 1996 1 Oversettelse I vårt forslag har vi lagt større vekt på at oversettelsen skal vært «rett frem» og lett forståelig

Detaljer

Minneområder Det er vanlig å dele opp minnet til en prosess i disse ulike områdene: Fast minne Store og små indianere «align» ing struct er

Minneområder Det er vanlig å dele opp minnet til en prosess i disse ulike områdene: Fast minne Store og små indianere «align» ing struct er Dagens tema: Minnet Minneområder Det er vanlig å dele opp minnet til en prosess i disse ulike områdene: Fast minne Store og små indianere «align» ing struct er 0xfffffffc Variable Stakk Lister Noen nyttige

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

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

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

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

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

Hilja du ču de snih sunac a

Hilja du ču de snih sunac a 3 2 Ha led Ho se i ni Hilja du ču de snih sunac a Preveo Ni ko la Paj van čić 5 4 Naslov originala Kha led Hos se i ni A Tho u sand Splen did Suns Copyright 2007 by ATSS Publications, LLC First published

Detaljer

MONTAŽA I SERVISIRANJE RAUNARA

MONTAŽA I SERVISIRANJE RAUNARA VIŠA ELEKTROTEHNIKA ŠKOLA BEOGRAD M. MILOSAVLJEVI, M. MILI MONTAŽA I SERVISIRANJE RAUNARA SKRIPTA BEOGRAD, SEPTEMBAR 2004.GOD. 2 SADRŽAJ: UVOD.. 5 MATINE PLOE. 7 MEMORIJA 15 MIKROPROCESORI.. 21 HARD DISKOVI

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

do minimalno 8 kreativnih objava mjesečno Povlaštena cijena nakon završetka akcije: 900,00 kn

do minimalno 8 kreativnih objava mjesečno Povlaštena cijena nakon završetka akcije: 900,00 kn do 30.09.2015. 9 2 Društvene mreže izrada nove ili redizajn postojeće fan stranice minimalno 4 kreativnih objava mjesečno 1.200,00 kn 50% 600,00 kn Povlaštena cijena nakon završetka akcije: 900,00 kn Yellow:

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

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

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

Programmeringsspråket C Del 2

Programmeringsspråket C Del 2 Programmeringsspråket C Del 2 Michael Welzl E-mail: michawe@ifi.uio.no 8/25/10 inf1060 1 Et eksempel Dette er lite eksempel som ber om et tall, leser det og så teller fra det ned til 0. 8/25/10 inf1060

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

Programmeringsspråket C Del 2

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

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

PROJEKTOVANJE SOFTVERA

PROJEKTOVANJE SOFTVERA Elektrotehniči fakultet Univerziteta u Beogradu Katedra za računarsku tehniku i informatiku skripta za predmet PROJEKTOVANJE SOFTVERA Igor Tartalja Beograd, 2011. Besplatan primerak This copy is not for

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

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

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

INF1000 (Uke 5) Mer om løkker, arrayer og metoder

INF1000 (Uke 5) Mer om løkker, arrayer og metoder INF1000 (Uke 5) Mer om løkker, arrayer og metoder Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Anja Bråthen Kristoffersen og Are Magnus Bruaset Praktisk informasjon Når disse

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