Mavzu: ichma-ich joylashgan takrorlanuvchi jarayonlar, iteratsion jarayonlar


Download 1.92 Mb.
bet13/13
Sana20.11.2020
Hajmi1.92 Mb.
#148424
1   ...   5   6   7   8   9   10   11   12   13
Bog'liq
kurs ishim4-semestr algo



  1. Xulosa.

Men ushbu kurs ishini yozish davomida algoritmlarni kelib chiqish tarixini, ularning dastlab atalgan nomlarini va ularning xossalarini, turlarini o’rganib chiqdim. Algoritm turlaridan takrorlanuvchi jarayonlarni, ichma- ich takrorlanuvchi jarayonlarni, ketma-ket yaqinlashuvchi algoritmni, ya’ni iteratsion jarayonlarni to’liq yoritib berishga harakat qildim. Xulosa o’rnida aytishim mumkinki, ichma-ich takrorlanuvchi jarayonlar asosan, ikki va undan yuqori o’lchovli massivlarda keng qo’llaniladi. Siklik jarayonlar uchun Microsoft Visual Studio 2012 muhiti C# dasturlash tilida ‘for’, ‘while’, ‘do…while’ sikllaridan foydalaniladi. Asosan, siklning takrorlanishlar soni oldindan ma’lum bo’lmasa, ya’ni hisoblash jarayonida qaysidir o’zgaruvchining qiymatiga bo’gliq bo’lsa u holda ‘do… while’ yoki ‘while’ operatoridan foydalaniladi.

Kurs ishimda yana ixtiyoriy sonning o’ninchi darajasigacha bo’lgan barcha qiymatlarini chiqaruvchi algoritmni 16-betda keltirib o’tganman. Uning dasturini Microsoft Visual Studio 2012 muhiti C# dasturlash tilidagi kodini ko’rsatib o’tdim, unda while operatoridan foydalanganman. Yana kurs ishimning 11-betida ichma-ich ‘do…while’ siklik operatoridan foydalanilgan masalaning blok sxemasi va dasturini keltirganman.





  1. Ilova.

Kurs ishimning 8-9-betlaridagi keltirgan blok sxemam asosida Microsoft Visual Studio 2012 muhiti C# dasturlash tilidagi kodi:

C#

class Program

{

static void Main(string[] args)

{

Console.Write("N=");

int N = int.Parse(Console.ReadLine());

Console.Write("M=");

int M = int.Parse(Console.ReadLine());

int[,] a = new int[N, M];

for (int i = 0; i < N; ++i) {

for (int k = 0; k < M; ++k) {

Console.Write("a[" + i + " , " +k+"]=");

a[i, k] = int.Parse(Console.ReadLine());

}

}

for (int i = 0; i < N; ++i)

{

for (int k = 0; k < M; ++k)

{

Console.WriteLine(a[i, k]);

}

}

Console.ReadKey();

}

}

Kurs ishimning 2.1-bandi 11-betda keltirilgan algoritm asosida C# dasturlash tilidagi kodi bilan tanishib chiqsak:

C#

class Program

{

static void Main(string[] args)

{

Console.Write("N=");

int N = int.Parse(Console.ReadLine());

double s=0;

int j, i=1;

double p;

do

{

p = 1;

j = 1;

do

{

p = p * Math.Pow((i + j), 2);

j = j + 1;

} while (j < N);

s = s + p;

i = i + 1;

} while (i < N);

Console.Write(s);

Console.ReadKey();

}

}

Kurs ishimning 2.2-bandi 15-betda keltirgan iteratsion algoritm asosida C# dasturlash tilidagi kodi:

C#

class Program

{

static void Main(string[] args)

{

Console.Write("a=");

double a = double.Parse(Console.ReadLine());

Console.Write("x0=");

double xnol = double.Parse(Console.ReadLine());

Console.Write("e=");

double xbir;

double e = double.Parse(Console.ReadLine());

do

{

xbir = xnol + a / (2 * xnol);

} while (Math.Abs(xnol - xbir) < e);

Console.Write("x1 = "+xbir);

Console.ReadKey();

}

}

Kurs ishimning 2.2-bandi 16-betda keltirgan iteratsion algoritm asosida C# dasturlash tilidagi kodi:

C#

class Program

{

static void Main(string[] args)

{

Console.Write("l=");

int l = int.Parse(Console.ReadLine());

byte i = 0;

int result = 1;
while (i < 10)

{

i++;

result *= l;

Console.WriteLine("{0} ning {1} inchi darajasi {2}", l, i, result);

}

Console.ReadLine();

}

}

Kurs ishimning 2.3-bandida 18-19-betlarida keltirgan algoritmimning kodi:

C#

class Program

{

static void Main(string[] args)

{

Console.Write("n=");

int n = int.Parse(Console.ReadLine());

Console.Write("m=");

int m = int.Parse(Console.ReadLine());

int[,] a = new int[n + 1, m + 1];

for (int i = 1; i <= n; ++i) {

for (int j = 1; j <= m; ++j) {

a[i, j] = int.Parse(Console.ReadLine());

}

}

int min = a[1, 1];

int max = a[1, 1];

for (int i = 1; i <= n; ++i) {

for (int j = 1; j <= m; ++j) {

if (min > a[i, j]) {

min = a[i, j];

}

if (max < a[i, j]) {

max = a[i, j];

}

}

}

int b = max - min;

int c = max + min;

Console.WriteLine("eng katta element " + max);

Console.WriteLine("eng kichik element " + min);

Console.WriteLine("ularning yig'indisi " + c);

Console.WriteLine("ularning ayirmasi " + b);

Console.ReadKey();

}

}

2.3- bandda 20-betda keltirilgan masalaning kodi:

C#

class Program

{

static void Main(string[] args)

{

int n, i, j;

Console.Write("n= ");

n = Convert.ToInt32(Console.ReadLine());

while (n <= 0)

{

Console.Write("n= ");

n = int.Parse(Console.ReadLine());

}

float[,] a = new float[n, n];

for (i = 0; i < n; i++)

{

for (j = 0; j < n; j++)

{

Console.Write("a[" + (i + 1) + "," + (j + 1) + "]=");

a[i, j] = float.Parse(Console.ReadLine());

}

}

Console.WriteLine("Matritsaning dastlabki holati ");

for (i = 0; i < n; i++)

{ // Kiritilgan qiymatlarni matritsa ko'rinishida

for (j = 0; j < n; j++) // chop qilish

{

Console.Write(a[i, j] + " ");

} Console.WriteLine();

}

Console.WriteLine();

float s = 0;

Console.WriteLine("Yordamchi diagonal elementlari");

for (i = 0; i < n; i++)

{

{

j = n - i - 1;

Console.WriteLine(a[i, j]);

}

s += a[i, j]; // Yordamchi diagonal elementlari yig'indisi;

for (j = 0; j < n - i - 1; j++)

{

a[i, j] = 1; //Yordamchi diagonaldan tepadagi elementlari 1 ga almashtiriladi;

}

}

for (i = 0; i < n; i++)

{

for (j = n - i; j < n; j++)

{

a[i, j] = 0; // Yordamchi diagonaldan pastdagi elementlari 0 ga almashtiriladi;

}

}

Console.WriteLine("Matritsaning keyingi holati ");

for (i = 0; i < n; i++)

{

for (j = 0; j < n; j++)

{

Console.Write(a[i, j] + " ");

} Console.WriteLine();

}
Console.WriteLine("Yordamchi diagonalelementlari yig'indisi s=" + s);

Console.ReadKey();

}

}



  1. Foydalanilgan adabiyotlar.

  1. В.И.Игошин. Математическаya логика и теориya алгоритмов.

  2. Издательство Саратовского Университета,1991.209-211с.

  3. О.П.Kузнецов. Дискретнаya математика длya инженера.

  4. М:Энергоатомиздат, 1982, 144-155 с.

  5. Н.А.Kриницкий,Г.А.Mиронов, Г.Д. Фролов. Программирование и алгоритмические yaзыки,M:Наука,1979, 63-66 с.

  6. E.З. Любимский, В.В. Mартынюк, Н.П.Tрифонов

  7. Программирование, M:Наука, 1980,13-17 с.




  1. http://structur.h1.ru/hash.htm



  1. http://intsys.msu.ru/stuff/vnosov/theorald.htm#top

  2. https://webdastur.uz/c-dasturlash-asoslari/9-dars-do-while-sikl-operatori/

  3. https://professorweb.ru/my/csharp/assembly/level3/3_3.php

  4. http://tami.uz/matnga_qarang.php?id=371

  5. http://hozir.org/mavzu-algoritmlarni-tasvirlash-usullari.html?page=3

  6. https://professorweb.ru/my/csharp/charp_theory/level3/3_15.php

  7. https://metanit.com/sharp/tutorial/2.14.php




Download 1.92 Mb.

Do'stlaringiz bilan baham:
1   ...   5   6   7   8   9   10   11   12   13




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