C Sharp
Из пројекта Википедија
C# је један од млађих програмских језика настао 2002. године као саставни део MS .NET Framework 1.0. C# је објектно оријентисан програмски језик као и већина модерних виших програмских језика (C++, Java...)
Представићемо укратко синтаксу и структуру овог програмског језика.
СЕКВЕНЦА - СЕЛЕКЦИЈА - ИТЕРАЦИЈА
су три кључне речи када се почиње са учењем неког програмског језика.
- Секвенца представља код у коме се команде извршавају редом - онако како су написане.
- Селекција представља код у коме се команде извршавају у зависности од неког услова.
- Итерација (iterare-понављати) - је код у коме се једне исте команде извршавају по неколико пута у зависности од одређених параметара (тзв. петље - једна од најважнијих ствари у програмирању).
Садржај |
[уреди] Коментари
У C# постоје две врсте коментара (често је потребно коментарисати одређене линије кода како би читљивост кода била већа и разумљива другима). Прва врста су коментари у једном реду, а друга коментари у више редова.
//Komentar u jednom redu /* Komentar u vise redova */
[уреди] Типови података
char c = 'M'; // Bilo koji ASCII karakter byte b = 255; // 0..255 sbyte sb = -127; // -128..127 short s = 32767; // –32768..32767 ushort us = 65535; // 0..65535 int i = -2000; // –2,147,483,648 ... 2,147,484,647 uint ui = 12345; // 0..2,147,484,647 long l = 0; ulong ul = 5; bool bl = true; //Tip koji prima samo dve vrednosti TRUE i FALSE float f = 123.45F; double d = -123.74; decimal dec = 1.23554M; string str = „Mika Zika“; DateTime dat; object o = „“; //Bilo koji tip ili bilo šta! Nedefinisano! Double Val1=0,Val2=10; //Inicijalizacija više promenljivih
Наравно постоји још типова који овде нису споменути али за почетак и ови ће бити довољни.
[уреди] Декларисање променљивих (варијабли)
Синтакса :
<Tip> <Ime promenljive>;
дакле :
int i; float f;
Горе смо дефинисали промењиву i која је целобројног типа, а у дугом реду промењиву f која је типа броја са покретним зарезом (децимални запис). Можемо закључити да се променљива у C# дефинише типом и именом променљиве а након тога следи тачка зарез.
[уреди] Наредба доделе вредности
Када некој променљивој у C# желимо да доделимо неку одређену вредност то ћемо урадити на следећи начин :
<Ime promenljive> = <Vrednost>;
Пример:
int i; i = 12345;
или
int i; float f; i = 20; f = i;
Прилично једноставно....
[уреди] Блокови наредби
Понекад је програмске инструкције - команде потребно груписати у једну целину, то се постиже организовањем наредби у блок. Блок наредби у C# се пише између великих заграда :
{
//Ovo je blok naredbi
}
[уреди] Алгебарске операције
Овде спадају сабирање, одузимање, множење, дељење и остатак при целобројном дељењу. Наравно ознаке су исте као и у математици...
int x,y,z;
x = y + z; x = y - z; x = y * z; x = y / z;
Обзиром да су y и z цели бројеви знак / ће у овом случају представљати целобројно дељење.
x = y % z;
Остатак при целобројном дељењу
Нпр.
x = 10; y = 3;
z = 10/3;
Броју z доделиће се вредност 3 јер 3 у 10 иде 3 пута без остатка
z = 10 % 3 ;
Броју z ће се доделити вредност 1 јер је 3*3 + 1 = 10
[уреди] Оператори поређења
Ако желимо да упоредимо две вредности користићемо следеће операторе:
== - једнакост != - различититост > - веће >= - веће или једнако < - мање <= - мање или једнако
a < b; a == b ; a !=b
и сл. Резултат ових операција (поређења) је типа Bool, односно ови искази могу бити тачни или нетачни (True или False).
3 < 5 TRUE 3 <= 3 TRUE 5 != 5 FALSE
итд.
[уреди] Логички оператори и изрази
Логички оператори су "не", "и" i "или" који у математици представљању негацију, конјункцију и дисјункцију респективно. Користе се у комбинацији са логичким изразима.
! - негација && - конјукција (тзв. "и") || - дисјункција (тзв. "или")
a | b | !a | a && b | a || b |
false | false | true | false | false |
false | true | true | false | true |
true | false | false | false | true |
true | true | false | true | true |
Дакле, негацијом добијамо логичку вредност супротну елементу који се налази иза знака !. Конјункција (&&) захтева да су оба операнда тачни (true) да би дала резултат true, иначе даје резултат false. Дисјункција (||) даје резултат true уколико је бар један операнд тачан (true).
[уреди] Примери
Показаћемо неколико математичких израза у C#
Дефинишимо неколико променљивих
int a,b,c; bool b;
Доделимо им неке вредности
a = 10; b = 15; c = -3;
b = a > b; //Dakle b ce dobiti vrednost False obzirom da 10 nije vece od 15 b = !b //b dobija vrednost True jer negacija od False je True
b = (a < b ) && (c > a); /*Prvi izraz je True drugi izraz je Flase a obzirom da se radi o konjunkciji - potrebno je da oba izraza budu True, b ce dobiti vrednost False */
[уреди] Наредбе за испис и учитавање података
Саваки програм има следећу структуру:
УЛАЗ --> ОБРАДА --> ИЗЛАЗ
Прецизније : Потребно је унети неке податке, потом их обрадити (решити неки проблем) и затим тако обрађене податке приказати.
- За приказ података користи се следећа наредба :
Console.Write(podatak); или Console.WriteLine(podatak);
Пример:
int i; //Deklarisali smo promenljivu celobrojnog tipa i nazvali je i i = 10; //Prom. i dodeli smo vrednost 10 Console.Write(i); //Prikazujemo promenljivu i na standardnom izlazu
После извршавања програма :
10
- За учитавање података са стандардног улаза (тастатуре) користи се следећа наредба:
<promenljiva> = Console.ReadLine();
Пример:
string s; //Definisali smo promenljivu s tipa string Console.Write("Unesi neku rec: "); //Prikazali na ekranu odredjeni zahtev s = Console.ReadLine(); //Unetu vrednost dodelili promenljivoj s Console.WriteLine("Napisali ste : {0}",s); //Prikaz ucitane vrednosti
После извршавања програма :
Unesi neku rec : blabla Napisali ste : blabla
Уколико је потребно учитати бројну вредност код би се мало променио:
<brojna promenljiva> = <tip>.Parse(Console.ReadLine());
Обзиром да је све унето са тастатуре, неопходно је унети стринг (ниску карактера) претворити у бројну вредност што постижемо функцијом
<tip>.Parse(string)
Замислите да очекујемо бројчану вредност а неко са тастатуре укуца слово, карактер или било шта друго што није бројна вредност - програм би прекинуо са извршавањем, пријавио би грешку.
Пример:
int i ; double d;
i = int.Parse(Console.ReadLine()); //Uneti string pretvaramo u celobrojnu vrednost i dodeljujemo promenljivoj i d = double.Parse(Console.ReadLine()); //Uneti string pretvaramo u decimalni broj i dodeljujemo promenljivoj d
[уреди] Селекција
Понекад је потребно у програму проверити односе између променљивих и у зависности од тог односа (услова) извршити једне инструкције односно у противном неке друге. Тада се користи такозвана селекција (одабирање) коришћењем if команде.
if (uslov ) if (uslov) if (uslov) { { { //komande //komande1 //komande1 } } } else else { if (uslov ) //komande2 { } //komande2 } else { //komande3 }
Практично се if команда може ширити у бесконачност.
Ево неких примера:
if ( a < b ) { a = a + b ; }
if (a < b ) { a = b; } else { b = a ; }
if (a < b) { a = b; } else if ( a > c ) { a = c; } else { a = a +1 ; }
Понекад је потребно у програму испитати велики број услова, тада if команда није баш најпогоднија, тада је много боље решење користити тзв. switch команду која има следећу синтаксу :
switch (promenjiva) {
case izbor1 : //komande1 ; break; case izbor2 : //komande2 ; break; ...
case izborN : //komandeN ; break; default: //ostalo ; break;
}
Пример:
int ocena; ocena = 5 ;
switch (ocena) { case 1 : Console.WriteLine("Nedovoljan");break; case 2 : Console.WriteLine("Dovoljan");break; case 3 : Console.WriteLine("Dobar");break; case 4 : Console.WriteLine("Vrlo dobar");break; case 5 : Console.WriteLine("Odlican");break; default : Console.WriteLine("Nepostojeca ocena");break; }
Јасно је да се овај код могао реализовати и помоћу if - else наредбе али ово је практичнији начин.
[уреди] Итерација (петље)
Понекад је поједини део кода потребно извршити неколико пута. Једна од најмоћнијих ствари у програмским језицима јесу тзв. петље које програмеру омогућавају да се одређени блокови команди изврше велики број пута.
Пример: Замислите да је потребно учитати и/или исписати 1000 бројева са тастатуре. Тада би било потребно дефинисати 1000 променљивих и у још 1000 линија кода захтевати од корисника да унесе одређене вредности у те променљиве (то би био позамашан посао) - покушајте само да бројите до хиљаду, требало би вам неколико сати ....
ВРСТЕ ПЕТЉИ : постији FOR петља као и петље са предусловом (WHILE-DO) и постусловом (DO-WHILE). Објашњење следи :
- Пример: рецимо да желимо да прикажемо бројеве од 1 - 10 на екрану. Ево како овај проблем можемо решити применом петљи.
[уреди] for петља
for ( brojac , uslov , inkrement ) { //komande }
Пример:
for (int i = 1 ; i <= 10 ; i++ ) { Console.WriteLine(i); }
[уреди] do-while петља
do { //komande } while (uslov);
Исти пример решен помоћу ове петље:
int i; i = 1; do { Console.WriteLine(i); i++; } while (i<=10);
[уреди] while-do петља
while (uslov) { //komande } do;
Исти пример решен помоћу ове петље:
int i; i = 1; WHILE (i<=10) { Console.WriteLine(i); i++; } DO;
Програмски језици |
Ada | ALGOL | APL | Асемблер | AWK | BASIC | C | C++ | C# | COBOL | ColdFusion | Common Lisp | Delphi | Eiffel | Focus | Forth | FORTRAN | Haskell | IDL | Java | JavaScript | Limbo | Lisp | Lua | Modula 2 | Objective C | OCaml | Pascal | Perl | PHP | Prolog | Python | Ruby | SAS | Scheme | Smalltalk | SQL | Tcl | Visual Basic |