Download presentation
Presentation is loading. Please wait.
1
Računarski praktikum 3 Vježbe 01
Vinko Petričević Uvod, osnove jezika, osnovni tipovi, metode
2
Gradivo i način polaganja
Visual studio .net gradivo: osnove jezika C# i .net-a Windows forme Rad s bazama podataka
3
Osnove jezika Vrlo slična C++-u, case sensitive, objektno orjentirani
.net framework identičan za sve .net alate
4
Osnove jezika Klasa se može naslijediti samo iz jedne bazne klase, ali može implementirati više sučelja. Klasa je GC pokazivač i zauzima prostor na heapu Struktura je jednostavniji tip. Zauzima prostor na stogu. Struktura se ne može naslijediti iz klase, nit se iz nje može nasljeđivati, ali može implementirati sučelje Podrška za delegate – neizravno povezivanje
5
Osnove jezika Programi su organizirani kao projekti
Svaki projekt sadrži neke obavezne datoteke, ali možemo dodati proizvoljan broj datoteka i poddirektorija (dobro je svaki klasu pisati u zasebnoj datoteci) Kompajliranjem iz svih datoteka projekta nastaje jedan assembly (.dll ili .exe), koji je osnovna jedinica za ponovnu uporabu na .net platformi
6
Osnove jezika C# je dio .net platforme, može koristiti Framework Class Library (FCL) Programi napisani u C# se izvršavaju u Common Language Runtime-u (CLR), što omogućuje korištenje kasa implementiranih u bilo kojem .net programskom jeziku
7
Jednostavan program class Hello { static void Main() // ispis teksta na ekran System.Console.WriteLine(“Hello World”); } Možemo koristiti bilo koji tekst-editor i csc.exe ili VS: File -> New -> Project… Project Types: Visual C# -> Windows Templates: Console Application Odabrati ime (npr: Hello)
8
Zadatak 1 Koristeći Vusal Studio, napišite program koji ispisuje pozdravnu poruku Uočite razlike u programu kojeg je definirao wizzard
9
Osnove jezika C# je strogo tipizirani jezik
Imamo ugrađene i korisnički definirane tipove Prema načinu spremanja u memoriji se dijele na vrijednosne (stog) i referentne (heap, GC)
10
Vrijednostni tipovi Enum i struct Tip Veličina (u bajtovima) .NET tip
Opis bool 1 Boolean true ili false byte Byte od 0 do 255 (od 0 do 28-1) char 2 Char pojedinačni Unicode znak (‘A’ ili ‘\u0041’ ili ‘\\’ ili ‘\n’) sbyte SByte od -128 do 127 (od -27 do 27-1) short Int16 od do (od -215 do 215-1) ushort UInt16 od 0 do (od 0 do 216-1) int 4 Int32 od do (od -231 do 231-1) uint UInt32 od 0 do (od 0 do 232-1) float Single 7 decimala, od 1,5 x do 3,4 x 1038 double 8 Double 15-16 decimala, od 5,0 x do 3,4 x 10308 decimal 16 Decimal 28-29 decimala, od 1,0 x do 3,4 x 1028 long Int64 od do (od -263 do 263-1) ulong UInt64 od 0 do (od 0 do 264-1) Enum i struct
11
Osnove jezika Implicitne pretvorbe rade, ako se ne gube podaci
Za obrnuto moramo navesti da ‘znamo šta radimo’ int x=5; double y = x; double x=5; int y = (int)x;
12
Jednostavan program using System; using System.Collections.Generic;
using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program static void Main() string s = Console.ReadLine(); int x = Convert.ToInt32(s); for(int i=0; i<x; ++i) Console.WriteLine(i); }
13
Jednostavan program int x; try { x = Convert.ToInt32(s); } catch
14
Varijable Prije korištenja, svaku varijablu moramo inicijalizirati
Možemo im mijenjati vrijednost Konstante moramo odmah inicijalizirati, i kasnije im se vrijednost ne može mijenjati int x=5, y; y = 10; WriteLine(“x={0}, y={1}”, x, y); const int z=15;
15
string string je niz znakova. Razmaci se ne zanemaruju
string s = “abc def”; s = “abc\ndef”; s s = Console.ReadLine();
16
Operatori i tijek programa
Operatori su isti kao u C++-u Kontrola tijeka vrlo slična: foreach – prolazi kroz sve elemente nekog spremnika switch – ne mora biti cijelobrojni tip i možemo koristiti goto case slučaj switch(i) { case 1: Console.Write(1); goto case 3; case 2: Console.Write(2); break; case 3: Console.Write(3); break; default: Console.Write(“nesto drugo”); break; }
17
Zadatak 2 Napišite program koji za unešeni broj provjerava je li prost
Napišite program koji unešeni broj rastavlja na proste faktore
18
Slanje parametara funkciji
static void f1(int x) { ++x; } static void f2(ref int x) { ++x; } static void f3(out int x) { // ++x; ovo bi bila greska x = 0; ++x; } static void Main(string[] args) { int x = 10; f1(x); Console.WriteLine(x); // 10 f2(ref x); Console.WriteLine(x); // 11 f3(out x); Console.WriteLine(x); // 1
19
Zadatak 3 Napišite funkciju koja vraća najmanji prosti broj veći od danog broja Napišite naredbu koja ispisuje sve proste brojeve manje od danog broja Napišite naredbu koja od dobivenog stringa napravi palindrom
20
Enumeracije enum imeEnumeracije [:osnovniTip = int] {
const1 = vrijednost1, // ako ne stavimo podrazumijeva se 0 const2 = vrijednost2, // ako ne stavimo, bit ce prethodna+1 ... } enum Temperature { ledisteVode = 0, vrelišteVode = 100, } static void Main(string[] args) { Console.WriteLine("Ledište vode: {0}", (int)Temperature.ledisteVode); Console.WriteLine("Vrelište vode: {0}", (int)Temperature.vrelišteVode);
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.