Upload
vunhi
View
233
Download
0
Embed Size (px)
Citation preview
Uvod u Objektno Programiranje /// VPTŠ Užice /// Milovan Milivojević / Đorđe Forst /// 2014 Izvodi: Microsoft Visual C#2012, John Sharp, CET:Portabilis, Beograd,2013 ....
1 | U O P / m m / d f / 1 4
Teze:
O proceduralnom i OOP programiranju
Microsoft Visual C# je Microsof-ov moćni komponentno-orjentisan jezik sa značajnom ulogom u arhitekturi Microsoft.NET Framework-a (slično ulozi koji je jezik C imao za razvoj UNIX-a).
Namenjena za razvoj OOP aplikacija u Microsoft.NET okruženju.
Istorijat
Komparacija proceduralnog i OOP programiranja
Proceduralno programiranje.
Pojam algoritma. Pseudokod.
Primeri algoritma: linijski algoritmi, algoritmi sa razgranatom strukturom, algoritmi sa ciklusima, višestruke petlje, primeri...
Odabrani primeri algoritama... suvi prolaz.
Proceduralno programiranje kao neophodna komponenta OOP programiranja.
Pojam procedura: Funkcije (Function...) i Potprogrami (Subroutine...). Razlike i sličnosti:
Pojmovi objektno orjentisanog programiranja:
objekti
svojstva, metode, događaji
klase
kolekcije klasa
enkapsulacija
nasleđivanje
polimorfizam...
Uvod u razvojno okruženje. Početak programiranja u C#.
Početni koraci u kreiranju aplikacija.
Aplikacije: Konzolne / Console Application/, WPF (Windows Presentation Foundation)... kreiranje aplikacija sa podesivim formama koje nisu pravougaonog oblika itd..., Grafičke aplikacije / Windows Forms Application/...
Napomena: Svi elementi dati su za okruženje Visual Studio 2008.
Slika 1. Kreiranje novog projekta
Uvod u Objektno Programiranje /// VPTŠ Užice /// Milovan Milivojević / Đorđe Forst /// 2014 Izvodi: Microsoft Visual C#2012, John Sharp, CET:Portabilis, Beograd,2013 ....
2 | U O P / m m / d f / 1 4
Razvoj konzolne aplikacije
Objašnjenja:
prozor Code and Text Editor
pojam: Project
Okvir Solution Explorer
Objašenja: Solution (MM14-A), MM14-A.sln, MM14-A.csproj, Properties, AssemblyInfo.cs, References, Sklopovi (assemblies), App.config
Program.cs je izvorna C# datoteka i prikazana je u prozoru Code and Text editor.
Solution: MM14-A
Primer koda
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//Konzolna aplikacija ... Console.WriteLine, Console.ReadLine, --//if...int, string, %
namespace MM14_A
{
class Program
{
static void Main(string[] args)
{
int a, b, c; // deklarisanje celobrojnih varijabli
string ime;
Console.WriteLine("mr Milovan Milivojevic /// Dordje Forst /// 2014");
Console.WriteLine('\n'+"Zdravo svima na severnoj i juznoj polulopti");
Console.WriteLine('\n' + "Unesite Vase ime!");
ime = Console.ReadLine();
Console.WriteLine("Zdravo " + ime);
Console.WriteLine("Unesi a: ");
a = int.Parse(Console.ReadLine());
Console.WriteLine("Vrednost za a je: " + a);
Console.WriteLine("Unesi b: ");
b = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Vrednost za b je: " + b);
c = a + b;
Console.WriteLine("Zbir je c= " + c);
//drugi nacin ispisa
Console.WriteLine("Vrednost promenjive a je: {0}, vrednost promennjive b: je {1}.
{0}+{1}={2}", a, b, c);
if (a > b)
Console.WriteLine("A je vece od B");
else if (a == b)
{
Console.WriteLine("A je JEDANKO B");
}
else
{
Console.WriteLine("A je razlicito od B");
}
}
}
}
Uvod u Objektno Programiranje /// VPTŠ Užice /// Milovan Milivojević / Đorđe Forst /// 2014 Izvodi: Microsoft Visual C#2012, John Sharp, CET:Portabilis, Beograd,2013 ....
3 | U O P / m m / d f / 1 4
Datoteka Program.cs definiše klasu zvanu Program. Klasa Program sadrži metodu Main. U C# svi izvršni kodovi moraju se nalaziti u nekoj metodi. Metode moraju pripadati nekoj klasi.
Metoda Main je ulazna tačka programa. Ova metoda mora biti definisana u klasi Program kao statička.
Program se startuje sa ctrl + F5 ili sa menija Debug Start Without Debugging.
Upotreba prostora imena (Name Space).
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
Direktiva using uključuje navedene prostore imena koji sadrže najčešće korišćene klase u okviru Visual Studio okruženja za razvoj konzolnih aplikacija.
Direktiva using jednostavno dovodi stavke prostora imena u područje važenja i oslobađa programera potrebe da potpuno imenuje klase tokom razvoja koda projekta.
Dodavanje imenovanih prostora: DTM na fasciklu References.... Add Reference ...
ELEMENTARNI primeri za učenje sintakse: using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
namespace MM14_A1
{
class Program
{
static void Main(string[] args)
{
double prvi, drugi, zbir;
string ime;
Console.WriteLine("Unesi prvi broj:");
prvi=Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Unesi drugi broj:");
drugi = Convert.ToDouble(Console.ReadLine());
zbir = prvi + drugi;
Console.WriteLine("Zbir brojeva prvog ,{0} i drugog {1} je {2}", prvi,drugi,
zbir);
/*ili
Console.WriteLine("Zbir brojeva prvog ,{0} i drugog {1} je {2}", prvi+drugi);*/
int broj ,i;
broj = 6;
broj++; // postfix notacija
Uvod u Objektno Programiranje /// VPTŠ Užice /// Milovan Milivojević / Đorđe Forst /// 2014 Izvodi: Microsoft Visual C#2012, John Sharp, CET:Portabilis, Beograd,2013 ....
4 | U O P / m m / d f / 1 4
//float a55 = 5.6F;
//double a34 = 6.345343333e-3;
double a = 5.44;
//a=broj;
broj = (int)a; // !!! Izraz zahteva posebno razjasnjenje
i = 1; // operator dodele = ... razlukuje se od operatora poredjenja ==
Console.WriteLine("Ovo je broj, {0}, a promenjiva A: {1}, pa opet prvi broj {0}",
broj++, a);
Console.WriteLine("Ovo je broj " + a );
//opciono: Console.WriteLine("Ovo je broj " + a.ToString);
double Tf, Tc;
Console.WriteLine("Unesi temperaturu u Farenhajtima:");
Tf = Convert.ToDouble(Console.ReadLine());
Tc = ((double)5 / 9) * (Tf - 32);
Console.WriteLine("Temperatura u stepenima Celizijusa je: {0} celzijusa", Tc);
Console.ReadKey();
}
}
}
U prethodom primeru analizirati kood i to posebno sa aspekta: o Komentara u kodu o Postavljanja komentara na ekranu o Učitavanja sa tastature o Upotrebe preopterećenih metoda o Deklarisanje primitivnih tipova podataka i varijabli. o ,,parsiranja’’, ,,kastovanja’’ i ,,konvertovanja’’ o Iskaza dodele o Iskaza uslovnog prelaska: if ... else if....
Primeri: deklarisanje varijabli, if ... else if ... , logički operatori OR i AND... parsiranje... Console,WriteLine. Upotreba klase Math
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
// Program sa upotrebom logickih relacija poredjenja AND: && i OR: || jednako == ...
razlicito !=
//Primena klase Math .... Struktura if ... else if ... else
namespace MM14_A2
{
class Program
{
static void Main(string[] args)
{
int x;
double y;
Console.WriteLine("Uneti x:");
x = int.Parse(Console.ReadLine());
if (x < 5 && x % 2 == 0)
{
y = Math.Pow(x, 2);
}
else if (x > 25 || x % 2 != 0)
{
y = x / 3;
}
Uvod u Objektno Programiranje /// VPTŠ Užice /// Milovan Milivojević / Đorđe Forst /// 2014 Izvodi: Microsoft Visual C#2012, John Sharp, CET:Portabilis, Beograd,2013 ....
5 | U O P / m m / d f / 1 4
else
{
y = Math.Cos(x);
}
Console.WriteLine ("Resenje je {0} za zadato {1}.",y ,x);
}
}
}
Primer:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MM14_A3
{
class Program
{
static void Main(string[] args)
{
double a, b, c, max;
Console.WriteLine("Unesite Prvi broj:");
a = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Unesite Drugi broj:");
b = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Unesite Treci broj:");
c = Convert.ToDouble(Console.ReadLine());
if(a>b&&a>c) max=a;
else if (b>c) max=b;
else max=c;
Console.WriteLine("Maksimum je {0}.",max);
// druga varijanta
max = a;
if (b > max) max = b;
if (c > max) max = c;
Console.WriteLine("Maksimum je {0}.", max);
Console.ReadKey ();
}
}
}