Mundarija kirish 1 i-bob. C# tili tarixi 2



Download 161,67 Kb.
bet5/5
Sana13.06.2022
Hajmi161,67 Kb.
#665957
1   2   3   4   5
Bog'liq
C# 9 mavzu

Kalit so’zlar va nomlar. Quyidagi ro’yxatda C# tilining kalit so’zlari va nomlari berilgan bo’lib, dastur tuzilishi paytida ularni boshqa maqsadda ishlatish (masalan o’zgaruvchi nomini inisializatsiya qilishda) mumkin emas.
1.1.1-jadval. Kalit so’zlar va nomlar.

Abstract

Do

in

protected

true

As

double

int

public

try

Base

else

interface

readonly

typeof

Bool

enum

internal

ref

uint

Break

event

is

return

ulong

Byte

explicit

lock

sbyte

unchecked

Case

extern

long

sealed

unsafe

Catch

false

namespace

short

ushort

Char

finally

new

sizeof

using

Checked

fixed

null

stackalloc

virtual

Class

float

object

static

void

Const

for

operator

string

volatile

Continue

foreach

out

struct

while

Decimal

goto

override

switch


Default

if

params

this


Delegate

implicit

private

throw


C# tilida boshqa tillarda bo’lgani kabi dasturning har bir qismiga izoh yozish mumkin. Bu izohlar dastur kompilatsiyasida ishtirok etmaydi va dastur ishiga hech qanday ta’sir ko’rsatmaydi. C# da izoh yozish uchun /* */, // belgilaridan foydalanish mumkin. // belgisi shu belgidan keyin to shu satr oxirigacha bo’lgan barcha belgilarni izoh sifatida qabul qiladi. /* */ bu orqali istalgan qismni izohga olish mumkin.
Literallar. C# tilida 5 xil literal mavjud ;

  • Butun tipli literal

  • Haqiqiy tipli literal

  • Belgili literal

  • Satr tipli literal

  • Mantiqiy tipli literal

Literallar – bu tilning maxsus tushunchasidir. Har bir literallar to’plami uchun alohida yozilish qoidasi mavjud. Masalan:

  • Butun tipli literallar: 5, 7, 8, -12, 234

  • Haqiqiy tipli literallar: 3.6, -56.8, 0.9

  • Belgili literallar: ‘a’, ‘b’, ‘?’,

  • Satr tipli literallar: “salom”, “aka”, “abcd”

  • Mantiqiy tipli literallar: true. false

1.3. C# tilida ma’lumotlar tiplari.


C# tili juda tiplashgan til hisoblanadi. Uni ishlatish paytida har bir o’zgaruv-chi obyektning tipini alohida e‘lon qilish kerak (masalan, butun son, satr, oyna, tugma va h.z). Xuddi C++ va Java tillari kabi C# tilida ham 2 xil ma’lumotlar tipi mavjud: birinchi aniqlangan va xotirada til tomonidan avtomatik joylashtirilgan, ikkinchi dasturchi – foydalanuvchi tomonidan kiritiladigan va aniqlanadigan. C# ning ustun tomoni unda ma’lumotlar yana ikki turga bo’linadi: o’lchamli va yo’nalishli. Ularning asosiy farqi ma’lumotlarni xotirada joylashtirishidir. O’l-chamli tip o’zining aniq qiymatini stekka yozib qo’yadi, yo’nalishli tip esa bu stekka faqat qaysidir (o’zi aniqlaydigan) obyekt manzilini yozib qo’yadi, obyektning o’zi esa kuchada saqlanadi. Kuchabu dastur saqlanadigan asosiy xotira bo’lib, unga murojaat qilish dastur tezligini biroz pasaytiradi. Lekin agar siz juda katta obyektlar bilan ishlayotgan bo’lsangiz, unda bu obyektni kuchada saqlashning bir muncha afzallik tomonlari bor.
Yaratilgan tiplar.
1.1.2-jadval. C# tilida yaratilgan tiplar va ularning o’lchamilari.

Tip

Qiymat oralig’i

O’lchami




sbyte

-128 to 127

Belgili 8-bit butun




byte

0 to 255

Belgisiz 8-bit butun




char

U + 0000 to U + 0000T

16-bitli Unicod




bool

true yoki false.

1 bayt




short

-32768 to 32767

Belgili 16-bit butun




ushort

0 to 65535

Belgisiz 16-bit butun




int

-2147483648 to 2147483647

Belgili 32-bit butun




uint

0 to 4294967295

Belgisiz 32-bit butun




long

-9223372036854775808 to
9223372036854775807

Belgili 32-bit butun




ulong

0 to 18446744073709551615

Belgisiz 32-bit butun

float

-1.5*10^6 to 3.4 *10^7

4 баyт, aniqlik — 7 razryadli

double

-1.5*10^6 to 3.4 *10^7

8 баyт, aniqlik —16 razryadli

decimal

-5.0*10^3 2 4 to 1.7*10^30
8

12 баyт, aniqlik — 28 razryadli

Yaratilgan tiplarni o’zlashtirish.
Bir tipga tegishli bo’lgan obyektlar boshqa tipli obyektga oshkor yoki yashirin tarzda o’zlashtirilishi mumkin. Yashirin tarzda avtomatik o’zlashtirish bo’lib, uni kompyuter sizning o’rningizda amalga oshiradi. Oshkor o’zlashtirish faqatgina siz tomoningizdan berilgan qoida bo’yicha amalga oshadi. Yashirin o’zlashtirish ma’lumotlar yo’qolishini oldini oladi. Masalan: siz short tipidagi (2 bayt) axborotni int tipidagi (4 bayt) obyektga o’zlashtira olmaysiz, bunda axborot yo’qolishi bo’lishi mumkin. Lekin buni kompyuter avtomatik tarzda o’zlashtirganda hech qanday xatolik ro’y bermaydi.
Short x=1;
Int y = x ; // yashirin o’zlashtirish
Agar siz aksincha almashtirishni amalga oshirsangiz, axborot yo’qolishiga olib keladi. Kompilyator bunday o’zlashtirishni amalga oshirmaydi.
Short x ;
Int y=5;
X=y; // Komplyatsiya amalga oshmaydi
Siz buning uchun oshkor almashtirishni amalga oshirishingiz kerak.
Short x; Int y; x=(short) y; // to’g’ri
O’zgaruvchilar.
O’zgaruvchi – xotiraning ma’lum bir qismini biror bir tipli axborot uchun ajratishdir. Yuqorida e’lon qilingan x va y lar o’zgaruvchilardir. O’zgaruvchilar inisializatsiya paytida (qiymat qabul qilish paytida) yoki dastur yordamida o’zgartirilishi mumkin.
O’zgaruvchilar qiymatini aniqlash.
O’zgaruvchini hosil qilish uchun siz o’zgaruvchining tipini va keyin esa uning nomini berishingiz kerak.Uning qiymatini e’lon qilish paytida yoki dastur davomida berishingiz mumkin. Masalan: a va b sonlarni yig’indisini s ga o’zlashtirish dasturini ko’ramiz.
using System; namespace _02_misol
{
class Program
{ static void Main(string[] args)
{ int a,b,s;
a=2;b=3;s=a+b;
Console.Write(“s=”+s);
Console.ReadKey();
} } }
O’zgarmaslar.
O’zgarmas – bu shunday o’zgaruvchiki, uning qiymati hech qachon o’zgarmaydi. O’zgaruvchilar – qiymatlarning o’zlashtirishning qulay usulidir. Lekin siz qiymatning dastur davomida o’zgarmasligini kafolatlashni xoxlasangiz, buning uchun o’zgarmas – o’zgaruvchilardan foydalanishingiz mumkin. Masalan: agar siz quyidagi amalni bajarmoqchi bo’lsangiz : у = х * 3.1415926535897932384626433832795 ushbu ko’paytmani, pi=3.1415926535897932384626433832795; y=x*pi; ko’rinishida yozishingiz afzalroq.
O’zgarmaslarning 3 ta : literallar, belgili o’zgarmaslar va hisoblagichlar turi mavjud.
Literal : x=100 ;
100 – literal o’zgarmas.
Belgili. Const double pi=3.1415926535897932384626433832795;
Pi – belgili o’zgarmas.
Masalan:
class Program
{ static void Main(string[] args)
{const double p = 3.1415926535897932384626433832795;
System.Console.WriteLine(p);
System.Console.ReadKey();
}
}
Dastur natijasi : pi : 3.1415926535897932384626433832795 ga teng.
Satr o’zgarmaslari.
Dastur yozish paytida satr o’zgarmasini e’lon qilish uchun uni ikkita qo’shtirnoq orasiga olish kerak. Masalan, “salom yoshlar”. Bu satr o’zgarmasi sifatida komplyatsiya bo’ladi. Buni siz dasturning istalgan qismida bajarishingiz mumkin. Masalan, funksiya parametrlarini o’zlashtirishda, o’zgaruvchilarni e’lon qilishda.
String a=”Salom yoshlar”.
Massivlar.
C# da massivlar boshqa C dasturlash tillaridagi massivlardan ancha farq qiladi. Buni misollar yordamida ko’rib o’tamiz. int [] k ; // k – massiv.
K = new int [3] ; // massiv 3 ta int tipiga tegishli elementdan iborat.
K [0] = -5;
K [1] = 4 ;
K [2] = 1; // massiv elementlarini e’lon qilamiz.
// massivning uchinchi elementini chiqaramiz
Console.Writeline(k[2]+””);
Yuqoridagilardan ko’rinib turibdiki, massiv quyidagicha e’lon qilinadi :
Int [] k;
Quyidagisi esa xato hisoblanadi : int k[]; //xato!
int k [] ; //xato !
Ko’p o’lchovli massivlar.
Massivlarning ko’p o’lchovli e’lon qilish uchun faqatgina “,” belgisini n marotaba (n o’lchovli uchun), [] lar sonini n marotaba (n darajali) yozish kerak.

II-BOB. C# dasturlash muhitida matematik diagrammalarni yaratish


2.1. matematik diagrammalarni yaratish
To'rtburchak va nuqta kabi sinflar GDI + elementlarini o'z ichiga oladi. Shuni e'tiborga olingki, nuqta aslida x, y maydonlari bo'lgan strukturadir. Ushbu tushuntirish ahamiyatsiz, chunki C # tarkibidagi tuzilmalar sinflarga o'xshashdir va nuqta tuzilishi ob'ektini boshlash sinf ob'ektini boshlash bilan bir xil ko'rinishi mumkin:
Nuqta nuqtasi = yangi nuqta ();
Pen klassi chiziqlar va egri chiziqlarni chizish uchun, Brush sinfidan olingan sinflar esa yopiq yo'llarni bo'yash uchun ishlatiladi (pastga qarang).
GraphicsPath klassi bir-biriga bog'langan chiziqlar va egri chiziqlar ketma-ketligini o'rnatishga imkon beradi, Region klassi ko'pburchak va yo'llardan iborat grafik shaklning ichki qismini tavsiflaydi.
Image sinfi - bu Bitmap va Metafile olingan sinflari uchun funksionallikni ta'minlovchi mavhum bazaviy sinf. Bitmap pikselli tasvirlar bilan ishlash uchun ishlatiladi (yuqoridagi misolga qarang). Metafile yozib olish (yaratish) va ijro etish (namoyish qilish) mumkin bo'lgan grafik operatsiyalar ketma-ketligini tavsiflovchi yozuvlarni o'z ichiga olgan grafik metafaylni belgilaydi. Ushbu sinf meros qilib olinmagan.
Grafika darsi U GDI + chizilgan yuzasini o'z ichiga oladi. Ushbu sinf meros qilib olinmagan. Ushbu sinfda juda ko'p usullar mavjud, shuning uchun biz ularni dastlab jadvalda taqdim etamiz, so'ngra ularning ayrimlarini misollar va tushuntirishlar bilan ko'rib chiqamiz. Jadvalning uchinchi ustunida parametrlar to'plamida farq qiladigan ortiqcha usullar soni ko'rsatilgan (IntelliSense aqlli maslahatidan foydalanib, kerakli usul parametrini tanlang).
Qalam sinfi
Pen klassi to'g'ri chiziqlar va egri chiziqlar chizish uchun foydalaniladigan ob'ektni belgilaydi. Ushbu sinf meros qilib olinmagan. Sinf konstruktorlari (shuningdek, ortiqcha yuklanishning misoli):
1) Pen (Color) Pen sinfining yangi nusxasini ko'rsatilgan rang bilan ishga tushiradi.
2) Pen (Colour, Single) Pen va sinfning yangi Color, Width xususiyatlariga ega nusxasini ishga tushiradi. (Kenglik – qalamning kengligini, chizish uchun ishlatiladigan Grafika birliklarida o'rnatadi

// Draw butterfly curves on both PictureBoxes.


private void DrawCurves()
{
// Clear both images.
picCanvas1.Image = null;
picCanvas2.Refresh();
picCanvas1.Refresh();
int wid = picCanvas2.ClientSize.Width;
int hgt = picCanvas2.ClientSize.Height;
// Draw with double-buffering.
Bitmap bm = new Bitmap(wid, hgt);
using (Graphics gr = Graphics.FromImage(bm))
{
DrawButterfly(gr, wid, hgt);
}
picCanvas1.Image = bm;
picCanvas1.Refresh();
// Draw without double-buffering.
DrawButterfly(picCanvas2.CreateGraphics(), wid, hgt);
}

Yo'lovchilarning tramvay bekatiga, masalan, Aviamotornaya bekatiga kelishi diagrammasini yaratuvchi C# ilovasi yaratilgan.
Amalda bunday jadval yo'lovchilarning turli vaqt oralig'ida to'xtash joyiga kelishi haqidagi statistik ma'lumotlarni yig'ish natijasida tuziladi. Har bir vaqt oralig'ida diagramma to'xtash joyiga kelgan yo'lovchilar sonining matematik taxminini ko'rsatadi.
Ushbu jadvallar marshrut bo'ylab har bir to'xtash uchun tuziladi.
Dasturda diagramma quyidagi ma'lumotlarga ko'ra avtomatik ravishda yaratiladi:
using System;
using System.IO; // StreamWriter
using System.Drawing;
using System.Windows.Forms;

namespace WindowsFormsApplicationChart


{
public partial class FormDiag : Form
{
const string fileParams = "params.txt";
const string fileStop = "stop";
const int tStart = 5 * 3600 + 20 * 60;
const int tEnd = 25 * 3600 + 20 * 60;
const int tGoLast = 1 * 3600 + 40 * 60;

int nStops = 24;
int nPas = 13000;
int morn, morn2, ev, ev2;
int pasPeak, pasPeak2, pasOth, pasOth2;
int[][] arrDiags;
private Random rnd = new Random();
StreamWriter sW;

public FormDiag()


{
InitializeComponent();
chartIn.ChartAreas[0].AxisX.Title = "Временной интервал, мин";
chartIn.ChartAreas[0].AxisY.Title = "Число пассажиров";
Font fnt = new System.Drawing.Font("Microsoft Sans Serif", 10.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
chartIn.ChartAreas[0].AxisX.TitleFont = fnt;
chartIn.ChartAreas[0].AxisY.TitleFont = fnt;
chartIn.ChartAreas[0].BackColor = Color.WhiteSmoke;
chartIn.Series[0].LegendText = "Пассажиры";
chartIn.Series[0].IsVisibleInLegend = false;
chartIn.Series[0].Color = Color.Red;
chartIn.Series[0].BorderWidth = 2;
numericUpDownPasPeak.Value = 20;
numericUpDownPasPeak2.Value = 25;
numericUpDownPasOth.Value = 3;
numericUpDownPasOth2.Value = 7;
numericUpDownNPas.Value = nPas;
numericUpDownNPas.Value = nStops;
arrDiags = new int[nStops][];
ShowDiag();
}
private void buttonClose_Click(object sender, EventArgs e)
{
this.Close();
}
private void readParams(int coef) // 60 или 3600
{
morn = (int)numericUpDownMorn.Value * coef;
morn2 = (int)numericUpDownMorn2.Value * coef;
if (morn2 <= morn) morn2 = morn + 3600;
ev = (int)numericUpDownEv.Value * coef;
ev2 = (int)numericUpDownEv2.Value * coef;
if (ev2 <= ev) ev2 = ev + 3600;
pasPeak = (int)numericUpDownPasPeak.Value;
pasPeak2 = (int)numericUpDownPasPeak2.Value;
if (pasPeak2 <= pasPeak) pasPeak2 = pasPeak + 1;
pasOth = (int)numericUpDownPasOth.Value;
pasOth2 = (int)numericUpDownPasOth2.Value;
if (pasOth2 <= pasOth) pasOth2 = pasOth + 1;
}
private void ShowDiag()
{
chartIn.Series[0].Points.Clear();
if (radioButtonStepLine.Checked)
chartIn.Series[0].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.StepLine;
else
chartIn.Series[0].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Column;
int moveStart = (int)numericUpDownMove.Value * 60;
int moveEnd = (int)numericUpDownMove2.Value * 60;
int intLen = (int)numericUpDownInt.Value;
int N = (moveEnd - moveStart) / intLen + 1;
readParams(60);
int[] arrPasCome = new int[N];
int[] arrTimeInt = new int[N];
int t = moveStart, pasCome;
for (int k = 0; k < N; k++)
{
if (checkBoxWeekEnd.Checked)
{
if (t >= morn && t <= morn2 || t >= ev && t <= ev2)
pasCome = rnd.Next(pasPeak, pasPeak2);
else if (t > morn2 && t < ev)
pasCome = (pasOth2 + pasPeak2) / 2;
else
pasCome = rnd.Next(pasOth, pasOth2);
}
else
{
if (t >= morn && t <= morn2 || t >= ev && t <= ev2)
pasCome = rnd.Next(pasPeak, pasPeak2);
else
pasCome = rnd.Next(pasOth, pasOth2);
}
arrPasCome[k] = pasCome;
arrTimeInt[k] = t;
t += intLen;
}
for (int k = 0; k < N; k++) chartIn.Series[0].Points.AddXY(arrTimeInt[k], arrPasCome[k]);
numericUpDownMorn2.Value = Convert.ToDecimal(morn2 / 60);
numericUpDownEv2.Value = Convert.ToDecimal(ev2 / 60);
numericUpDownPasPeak2.Value = Convert.ToDecimal(pasPeak2);
numericUpDownPasOth2.Value = Convert.ToDecimal(pasOth2);
}
private void buttonShow_Click(object sender, EventArgs e)
{
ShowDiag();
}
private void radioButtonDiagType_CheckedChanged(object sender, EventArgs e)
{
ShowDiag();
}
private void checkBoxLegend_CheckedChanged(object sender, EventArgs e)
{
chartIn.Series[0].IsVisibleInLegend = checkBoxLegend.Checked;
ShowDiag();
}
private void numericUpDown_ValueChanged(object sender, EventArgs e)
{
nStops = (int)numericUpDownNPas.Value;
arrDiags = new int[nStops][];
ShowDiag();
}
private void buttonGen_Click(object sender, EventArgs e)
{
GenDiags();
MessageBox.Show("Готово");
}
private void GenDiags()
{
int intLen = (int)numericUpDownInt.Value * 60;
int N = (tEnd + tGoLast - tStart) / intLen + 1;
int t, pasCome, nPas2 = 0;
int[] arrDiag;
string fileSt;
nPas = (int)numericUpDownNPas.Value;
readParams(3600);
sW = new StreamWriter(fileParams);
sW.WriteLine(intLen);
sW.WriteLine(N);
sW.WriteLine(morn);
sW.WriteLine(morn2);
sW.WriteLine(ev);
sW.WriteLine(ev2);
sW.Close();
for (int k = 0; k < nStops; k++)
{
arrDiag = new int[N];
t = tStart;
for (int k2 = 0; k2 < N; k2++)
{
if (checkBoxWeekEnd.Checked)
{
if (t >= morn && t <= morn2 || t >= ev && t <= ev2)
pasCome = rnd.Next(pasPeak, pasPeak2);
else if (t > morn2 && t < ev)
pasCome = (pasOth2 + pasPeak2) / 2;
else
pasCome = rnd.Next(pasOth, pasOth2);
}
else
{
if (t >= morn && t <= morn2 || t >= ev && t <= ev2)
pasCome = rnd.Next(pasPeak, pasPeak2);
else
pasCome = rnd.Next(pasOth, pasOth2);
}
arrDiag[k2] = pasCome;
nPas2 += pasCome;
t += intLen;
}
arrDiags[k] = arrDiag;
}
//MessageBox.Show("" + nPas2);
int d = (nPas2 < nPas ? 1 : -1);
while (nPas2 != nPas)
{
for (int k = 0; k < nStops; k++)
{
arrDiag = arrDiags[k];
for (int k2 = 0; k2 < N; k2++)
{
if (arrDiag[k2] > 3)
{
arrDiag[k2] += d;
nPas2 += d;
if (nPas2 == nPas)
{
arrDiags[k] = arrDiag;
break;
}
}
}
arrDiags[k] = arrDiag;
if (nPas2 == nPas) break;
}
}
// Пишем диаграммы в файлы
for (int k = 0; k < nStops; k++)
{
fileSt = fileStop + k + ".txt";
sW = new StreamWriter(fileSt);
arrDiag = arrDiags[k];
for (int k2 = 0; k2 < N; k2++)
{
sW.WriteLine(arrDiag[k2]);
}
Console.WriteLine("Сооздан файл " + fileSt);
sW.Close();
}
}

private void checkBoxWeekEnd_CheckedChanged(object sender, EventArgs e)
{
if(checkBoxWeekEnd.Checked)
{
numericUpDownPasPeak.Value = 30;
numericUpDownPasPeak2.Value = 31;
numericUpDownPasOth.Value = 10;
numericUpDownPasOth2.Value = 11;
numericUpDownMorn.Value = 8;
numericUpDownMorn2.Value = numericUpDownMorn2.Maximum;
numericUpDownEv.Value = 17;
numericUpDownEv2.Value = numericUpDownEv2.Maximum;
}
else
{
numericUpDownPasPeak.Value = 20;
numericUpDownPasPeak2.Value = 25;
numericUpDownPasOth.Value = 5;
numericUpDownPasOth2.Value = 15;
numericUpDownMorn2.Value = 9;
numericUpDownEv.Value = 17;
numericUpDownEv.Value = 19;
}
ShowDiag();
}
}
}


Xulosa


O'zbekiston mustaqillikka erishgadan so'ng davlatimizning asosiy qonuni - Konstitutsiyamizga ega bo'ldik. Vaqt o'tishi bilan hukumatimiz rahbarining O'zbekistonda “Kadrlar tayyorlash milliy dasturi” va “Axborot texnologiyalari sohasida kadrlar tayyorlash tizimini takomillashtirish” qarorlari alohida o'rin tutadi. Undagi g'oyalar avvalo XXI asrda yashaydigan, Vatan va yurt mustaqilligini mustahkamlovchi yoshlarning manfaatini ifodalaydi. Dasturda e'tirof etilgan kadrlar tayyorlash tizimini rivojlantirishning asosiy yo'nalishlarida shu narsa alohida belgilandiki, ta'lim tizimini yaxlit axborotlashtirish hozirgi zamon talablariga muvofiqlashuvini ta'minlaydi. Bu dasturni o'tgan davr mobaynida sarhisob qilib, ularning eng muhim xususiyatlaridan biri sifatida hozirgi ta'lim dasturida nazarda tutilayotgan zamonaviy axborot texnologiyalari, ta'limni kompyuterlashtirish va kompyuterlash tarmoqlari tizimida ta'lim jarayonini axborot bilan ta'minlashni yanada rivojlantirishni nazarda tutmoqdamiz. Zero, Milliy dasturni ro'yobga chiqarishga doir tashkiliy ishlarda e'tirof etilganidek, “Ta'limni axborot bilan ta'minlash tizimini shakllantirishva rivojlantirish, uni jahon axborot tizimi bilan bog'lash, ommaviy axborot vositalarining ta'lim sohasidagi vazifalarini belgilash” malakali mutaxassislarni tayyorlashning muhim mezonlaridan biridir. Hozirgi zamonda yurtimizda Axborat Texnologiyalarini rivojlantirish yo‘lida juda ko‘p ishlar amalga oshirilmoqda. Bu borada davlatimiz ko‘p ishlarni amalga oshirmoqda. Xususan ko‘p joylarga dasturlash orqali ko‘p loyihalarni oson va qulay bajarilyapti.Dasturlash chet davlatlarida anchagina rivojlangan masalan Amerika,Malayziya, Koreya,Hindiston.Hozirgi kunda har-xil dasturlash tillari mavjud C++,C#,Java, va hokozo. Shularning orasidan C# Windows muhitida ishlaydigan dastur tuzish uchun qulay vosita bo‘lib,kompyuterda dastur yaratish ishlarini avtomatlashtiradi, xatoliklarni kamaytiradi va dastur tuzuvchi ishini kamaytiradi.

Foydalanilgan adabiyotlar




  1. Bjarne Stroustrup. Programming: Principles and Practice Using C++ (2nd Edition). Person Education, Inc. 2014. second printing,January 2015.

  2. Harry Hariom Choudhary, Bjarne M Stroustrup. C++ Programming Professional.: Sixth Best Selling Edition for Beginner's & Expert's 2014.

  3. S.S.G ulomov va boshqalar “Axborot tizimlari va ʻ texnologiyalari”. Oliy o quv yurti talabalari uchun darslik. – T: “Sharq”, ʻ 2000 y. 529 b.

  4. A.Abduqodirov, A.Xaitov, R.Shodiyev “Axborot texnologiyalari”. Akademik litsey va kasb-hunar kollejlari uchun darslik. – T: “O’zbekiston”, 2001 y.

  5. E.G aniyev, D.Jomurodov, A.Mo minov “Zamonaviy ʻ ʻ kompyuterlarni boshqarish”. Toshkent – “Fan va texnologiya”- 2004 y.

  6. O.I. Jalolov, Sh.M. Sharipov C# dasturlash tilida fayllar bilan ishlash (uslubiy qo’llanma) BUXORO 2014

  7. Aripov M.M. Informatika va hisoblash texnikasi asoslari: -Tashkent: O’zbekiston,2001y,-180b.

  8. Дейтел Х, Дейтел П, Листфилд Дж. C# Наиболее полное руководство В Подлиннике: -Москва: Санкт-Петербург, 2006г. -1056 с.

  9. Лабор В. В. Создание приложений для Windows: -Москва: Харвест, 2003. - 384 с.

  10. Шилдт Герберт. Полный справочник по С#:-Москва: Издательский дом "Вильяме", 2004г. -752 с.

  11. Aripov M.M, Imomov T, Irmuhamedov Z.M va boshqalar. Informatika va axborot texnologiyalari: -Toshkent: O’zbekiston, 1-qism. 2002y, 2-qism.

Download 161,67 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish