Matematíka fakulteti algoritmlestiriw hám programmalastíRÍw texnologiyalarí kafedrasi


-§. C# programmalastiriw tili jane onin mumkinshilikleri


Download 32.05 Kb.
bet2/6
Sana22.04.2023
Hajmi32.05 Kb.
#1381098
1   2   3   4   5   6
Bog'liq
Kurs Jumisi Qaypov Ajiniyaz

1-§. C# programmalastiriw tili jane onin mumkinshilikleri
C# universal programmalastırıw tili bolıp, xar qıylı dárejedegi máseleler ushın sheshim tabıw múmkin. C# tiliniń tiykarǵı túsiniklerinen biri bul klasslar bolıp tabıladı. Klass bul -paydalanıwshı tárepinen jaratılǵan (kórsetilgen) til. C# programmalastırıw TILIDA C hám C++ tillerdiń derlik barlıq múmkinshilikleri saqlanǵan. C hám C++ tillerde tayın jaǵdaydaǵı programmalarǵa qayta ózgeris kirgizgende de C# kompilyatori programma tekstinden aljasıqlar tapmaydı. Yaǵnıy programmanı xar eki tilde xam paydalanıp dúziw múmkin. Dinamikalıq web saxifalarni jaratıw ushın JavaScript yamasa PHP sıyaqlı tsenariyli tillerdi isletiw zárúr. Bul tillerdi sintaksisi kóbinese C programmalastırıw tiline o'xhsab ketedi. Til júdá bay múmkinshiliklerge iye bolsada web serverler ushın programmalar dúziwge qaratnmagan hám de ob'ektke mólsherlengen programmalastırıw tili bolıwına qaramastan visual xarakter degi programmalardı jaratıw ushın arnawlı sistemasına iye emes. Net platformasi múmkinshilikleri programmaları jaratıw boyınsha student hám professor -oqıtıwshılardı jumısın keskin asıradı. Net platformasining tiykarǵı principi tómendegishe aytılıwlanadı : “Qálegen bólekti qálegen orından ózgertiwińiz múmkin”. Net platformasi Windows programmaların jaratıw ushın jańa model esaplanadı. Net platformasini jetiskenliklerin sanap bersak.
-Tolıq hám absolyut tilleraro óz-ara tásirlilik:
-qálegen Net programmaların qaysı programmalastırıw tillida jazılıwınan qaramastan ulıwma atqarılıw ortalıǵı. Eń áhmiyetlisi barlıq tiller ushın tiplar kompleksi isletiledi;
-programmanı tarqatilishini ápiwayılastırılgan procesi. Net platformasida tiplarni sistemalı reestrga atap kórsetiw zárúriyatı joq. Bunnan tısqarı. Net platformasi bir moduldıń bir neshe DLL versiyaların bir birine irkinish etpesten sistemada turmıs keshiriwi múmkin. Net platformasi ushın arnawlı C# programmalastırıw tili jaratıldı. C# programmalastırıw tiliniń konstruktsiyasi tekǵana C++, Java tilinen alınǵan bálki visual Basic tilinen de alınǵan. Tildiń tiykarǵı qásiyetlerin sanap ótsek:
-yadtı avtomatikalıq basqarıw ;
-esaplanatuǵın, strukturalı hám klass qásiyetleri menen islew ushın quyilgan sintaksis konstruktsiyalar;
-operatorlardı qayta júklewdi C++ tiline qaraǵanda ańsat ámelge asırıw ;
-programmalıq interfeyslerdi isletiwdi tolıq qollap quwatlaw ;
-tarawǵa jóneltirilgen programmalıq texnologiyalardı qollap quwatlaw.
C# programmalastırıw tili. Net platformasining qádirdan tili hosoblanadi. Tildi jaratıwdıń tiykarǵı maqseti onı. Net platformasiga integrallashuvi esaplanadı. Net platformasiga túrli programmalastırıw tilinde programmalastırıw múmkin bolsada eń jaqsısı C# programmalastırıw tilinde programma dúziwdi maslaxat beremiz, sebebi bul til ortalıqtı barlıq múmkinshiliklerin maksimal isletedi. Sonday eken C# tili múmkinshiliklerin biliw arqalı ortalıq múmkinshiliklerin da bilip alamız. Bul til tolıq ob'ektke jóneltirilgen programmalastırıw tili bolıp, qátelerge sabırlı hám shıdamlı programmalardı dúziw múmkinshiligin beredi. C# programmalastırıw tili óziniń ápiwayılıǵı, turaqlılıǵın hám logikalıqlıǵı menen faqr etedi. Ol jaǵdayda qátelerdi tappish qolaysız kórinbeydi. C# tili tiplarga salıstırǵanda qawipsiz esaplanadı. Ol initsializatsiyalanmagan ózgeriwshilerdi isletiwden, tiplarni qawipsiz bolmaǵan ótkeriwden hám basqa kóp tarqalǵan aljasıqlardan qorǵawlaydı. C# programmalastırıw tilinde programma dúziw waqıt hám materiallıq sarp etiw tárepten utıslı esaplanadı. Aqır-aqıbetde C#. Net platformasining barlıq múmkinshilikleri atap aytqanda ulıwma hám arnawlı máselelerdi yyechish ushın kóplegen kitapxanalardı isletedi. Net platformasining eki tiykarǵı quraytuǵınsı ulıwma tildegi atqarılıw ortalıǵı (CLR-Common Language Runtime) hám klasslar kitapxanası (FCLFramework Class Library). Ulıwma tildegi atqarılıw ortalıǵı programmanı islewi waqtında kodtı basqarıwdı atqaradı hám yadtı basqarıw, aǵıslardı basqarıw hám de uzaqlasqan óz-arata'sir sıyaqlı tiykarǵı xızmetlerdi kórsetedi.
Bunda qattıqo'l tiplashtirish hám kod barliligi tekseriwlerin amalaga asıradı, qaysıki bul qawipsizlik hám turaqlılıqtı támiyinleydi. Net platformasining basqa quraytuǵınsı - klasslar kitapxanası bolıp, kop' jaǵdayda isletiletuǵın tiplar kollektsiyasiga ob'ektke jóneltirilgen shaqırıqtı usınıs etedi, bul bolsa túrli dárejedegi programmalardı ańsat jaratıw múmkinshiligin beredi tap ápiwayı buyrıqlı interfeysten tartıp tokı Net platformasining eń úlken jetiskenliklerin isletiwge shekem mısalı : XML web xızmetler, ASP. Net múmkinshilikleri hám taǵı basqa. Net platformasini qısqa kórip chiqgandan keyin de C# programmalastırıw tili tuwrısında tómendegilerdi juwmaq qılıw múmkin. Juwmaq etip sonı da aytıw kerek programmalastırıw tillerin tómendegi izbe-izlilikde úyreniwdi máslahát berer edik:Programmalastırıw tili baslanǵısh túsiniklerin úyreniw ushın C programmalastırıw tilin úyreniw: til sintaksisi, algoritmları, konstruktsiyalar, konsol programmaların jaratıw.
1. C# tili - túrli tipdagi programmalardı jaratıw ushın kúshli hám qolay programmalas h
tili esaplanadı.
2.”Kompyuter tarmaqları”, “Internet hám multimediya” kursları sheńberinde web
programmaların jaratıw ushın C# programmalastırıw tilin isletiw.
Programmalastırıw tillerin oqıtıwdıń bunday jantasıwı qánigelerdi jańa
dárejege shıǵaradı. C# programması 90 jıllardıń aqırında islep shıǵılıp Microsoft. NET dıń bir bólegine aylandı. Al'fa versiya retinde 2000 jıldan baslap isletiline basladı. C # bas arxitektorı dúnya programmistleri ishinde birinshiler qatarında turǵan hám dúnya tárepinen tán alınǵan Anders Hejlsberg boldı. Onıń 1980 jıllarda shıǵarılǵan Turbo Paskal programması arqalı da tanıwımız múmkin. C# tikkeley C, C++ hám Java menen baylanıslı. Sebebi bul ush til programmalastırıw áleminde eń ataqlı tiller bolıp tabıladı. Bunnan tısqarı profisanal programmistler C hám C++ ni hám júdá kópshilik Java tilinde jumıs júrgizedi.
Biz C# dıń kelip shıǵıw genealogik terekin kórip shıqsak.

1-súwret
Rasimda C hám C++ tilleri C# dıń tiykarın uyımlastırıwı kórip turıpmız.


Lekin C# hám Java óz-ara ózgeshe túrde baylanısqan. Olardıń kelip shıǵıwı C hám C++ bolsada óz-ara bir birinen parıq etedi. C# tili de obe'ktga mólsherlengen tiller taypasına kiredi.
Programmalastırıw tillerinde buyrıqlar hám ámeller málim kodlar (nomerler) menen kórsetilgen bolıp, olar ShK apparatları adresleri menen tikkeley islewge mólsherlengen hám mashina tili dep da júritiledi. Programmalastırıw tillerinde kórsetpeler insan tiline jaqın bolǵan sózler hám programma dúziw ushın júdá qolay.
Programmalastırıwda ózgeriwshilerden paydalanmastán programma islew múmkin emes. Ózgeriwshiler ózinde bahalardı saqlaydı, bul bahalar waqtınshalıq operativ yadta saqlanıp turadı. Ózgeriwshilerdiń atları boladı, atlar lotin álippesiniń a den z ge shekem bolǵan aradaǵı háripler menen belgilenedi. Bunnan tısqarı ózgeriwshi atların tek bir hárip emes bir neshe háripler ketma -ketligi menen yaǵnıy sózler menen belgilew múmkin. Sanlar menen háripler arqalı belgilew múmkin, lekin háriplerden aldın san keliwi múmkin emes. Ózgeriwshiniń tiykarǵı túrleri sanlı ózgeriwshi, qatarıy ózgeriwshi, simvolli ózgeriwshi, logikalıq ózgeriwshiler bolıp bólinedi. Sanlı ózgeriwshilerge tek sanlar kiredi, 0, 5,-10,-5. 6, 4995 hám h. Qatarıy ózgeriwshilerge bolsa qatarlar kiredi. Simvolli ózgeriwshiler ma`nisi tek bir simvoldan ibarat boladı. Logikalıq ózgeriwshilerge tek eki baha beriledi ras, ótirik yaǵnıy true, false..
C# programmalastırıw TILIDA pútkil sanlı ózgeriwshilerde 8 tip isletiledi, olar tómendegi kestede berilgen.

C# programmalastırıw TILIDA pútkil sanlı ózgeriwshiler


Tómende bolsa C# programmalastırıw TILIDA bólshek sanlı ózgeriwshi tipleri keltirilgen

C# programmalastırıw TILIDA bólshek sanlı ózgeriwshi tipleri float tipidagi ózgeriwshige baha bergende baha aqırına “f” belgisin qoyıw, decimal tipidagi ózgeriwshige baha bergende “m” belgisin qoyıw kerek. Birinshi ańlatpa bul ózgeriwshin járiyalaw. Bul jerde count ózgeriwshi atı, int (integer) tipi hám count ózgeriwshisine 1 sanı baha etip alınadı.


int tipi de tek pútkil sanlardan paydalanıladı. Keyingi qatarda “” belgileri arasına alınǵan qatar sol jaǵdayınday baspadan shıǵarıladı, count bolsa ózgeriwshiniń ma`nisin baspadan shıǵaradı. Úshinshisi bolsa “Satr” sózin baspadan shıǵaradı. Kod jazǵanda sheginiwlerden paydalanǵan maqul. Sebebi keyin kerekli qatardı, kerekli kodtı tawıp alıwda qolay boladı, bir neshe bos qatarlardı qaldırıp ketiw, qatar basınan bos jay qaldırıp ketiw túsiniledi. C# programmalastırıw TILIDA sheginiwlerge tabulyatsiya simvoli, probellar, bos qatarlar kiredi.
class Program
{
public static void Main (string[] args)
{
double s = 0;
Console. WriteLine (" Vvedite razmernost' sistemi");
int n = int. Parse (Console. ReadLine ());
double[, ] a = new double[n, n];
double[] b = new double[n];
double[] x = new double[n];
for (int i = 0; i < n; i++)
x[i] = 0;
Console. WriteLine (" Vvedite postrochno koefficiyenti sistemi");
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
{
a[i, j] = double. Parse (Console. ReadLine ());
}
Console. WriteLine (" Vvedite svobodnie koefficiyenti");
for (int i = 0; i < n; i++)
b[i] = double. Parse (Console. ReadLine ());
for (int k = 0; k < n - 1; k++)
{
for (int i = k + 1; i < n; i++)
{
for (int j = k + 1; j < n; j++)
{
a[i, j] = a[i, j]- a[k, j] * (a[i, k] / a[k, k]);
}
b[i] = b[i]- b[k] * a[i, k] / a[k, k];
}
}
for (int k = n - 1; k >= 0; k--)
{
s = 0;
for (int j = k + 1; j < n; j++)
s = s + a[k, j] * x[j];
x[k] = (b[k]- s) / a[k, k];
}
Console. WriteLine (" Sistema imeet sleduyushie korni");
Console. WriteLine (" x = {0:0. ##}", x);
Console. WriteLine (" y = {0:0. ##}", x);
Console. WriteLine (" z = {0:0. ##}", x);
}
}
4) Teńlemeler sistemasın tarqatıp alıw algoritmı

public static void Main (string[] args)


{
Console. WriteLine (" vvedite n");
int n = Convert. ToInt32 (Console. ReadLine ());
Console. WriteLine (" vvedite t");
int t = Convert. ToInt32 (Console. ReadLine ());
Console. WriteLine (" vvedite w");
int w = Convert. ToInt32 (Console. ReadLine ());
Console. WriteLine (" vvedite m");
int m = Convert. ToInt32 (Console. ReadLine ());
double a = 1; double b = 1; double c = 1;
for (byte i = 1; i <= n - 1; i++) b *= i;
for (byte i = 1; i <= t - 2; i++) a *= i;
for (byte i = 1; i <= (n - 1 + t - 2); i++) c *= i;
}

5) Teńlemeler sistemasın tarqatıp alıwdıń rekursiv usılı


private static double FormulaLoop (double x0, double q, double b, int k)
{
double res = x0;
double tempK = x0;
for (int i = 0; i < k; i++)
{
tempK = q*tempK + b;
res += tempK;
}
return res;
}
private static double FormulaRecSum (double x0, double q, double b, int k)
{
if (k==0)
{
return x0;
}
double xk = q*x0 + b;
return x0+FormulaRecSum (xk, q, b, k-1 );
}
private static double FormulaRec (double x, double q, double b, int k)
{
if (k == 0)
{
return x;
}
double xk = q * x + b;
return FormulaRec (xk, q, b, k - 1);
}
static void Main (string[] args)
{
double q = 2;
double b = 5;
double x0 = 1;
int k = 3;
Console. WriteLine (" Loop sum of k components = {0}", FormulaLoop (x0, q, b, k));
Console. WriteLine (" Recursive sum of k components = {0}", FormulaRecSum (x0, q, b, k));
Console. WriteLine (" x{0} = {1}", k, FormulaRec (x0, q, b, k));
Console. ReadLine ();
}
6 ) Ózgertirilgen Eyler usılı menen ekinshi dárejeli differentsial teńlemeni tarqatıp alıw
static double f (double t, double y, double x, double a, double b, double c, int j)
{
if (j == 0) return (-b * y - c * x) / a;
else return y;
}
public static double[] x { get; set; }
public static double[] y { get; set; }
public static double[] t { get; set; }
static void MME (double a, double b, double c, double tn, double tk, int n, double x0, double y0)
{
t = new double[n + 1];
x = new double[n + 1];
y = new double[n + 1];
double h = (tk - tn) / n;
int i;
t[0] = tn;
x[0] = x0;
y[0] = y0;
for (i = 1; i <= n; i++)
{
t[i] = t[i- 1] + h;
x[i]=x[i-1]+ (-c*y[i-1]-b*x[i-1]) *h;
y[i]=y[i-1]+x[i-1]*h;
}
}
static void Main (string[] args)
{
double a = 0. 01, b = 20, c = 300000, x0 = 0. 00001, y0 = -0. 01;
int n = 100;
MME (a, b, c, 0, 0. 004, n, x0, y0);
for (int i = 0; i <= n; i++)
Console. WriteLine (" t[{0}]={1, 6 :f5} \t q\'[{0}]={2, 8:f8} \t q[{0}]={3, 10 :f8}", i, t[i], y[i], x[i]);
Console. ReadKey ();
}

Download 32.05 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling