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.
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();
}
}
|
Foydalanilgan adabiyotlar.
В.И.Игошин. Математическаya логика и теориya алгоритмов.
Издательство Саратовского Университета,1991.209-211с.
О.П.Kузнецов. Дискретнаya математика длya инженера.
М:Энергоатомиздат, 1982, 144-155 с.
Н.А.Kриницкий,Г.А.Mиронов, Г.Д. Фролов. Программирование и алгоритмические yaзыки,M:Наука,1979, 63-66 с.
E.З. Любимский, В.В. Mартынюк, Н.П.Tрифонов
Программирование, M:Наука, 1980,13-17 с.
http://structur.h1.ru/hash.htm
http://intsys.msu.ru/stuff/vnosov/theorald.htm#top
https://webdastur.uz/c-dasturlash-asoslari/9-dars-do-while-sikl-operatori/
https://professorweb.ru/my/csharp/assembly/level3/3_3.php
http://tami.uz/matnga_qarang.php?id=371
http://hozir.org/mavzu-algoritmlarni-tasvirlash-usullari.html?page=3
https://professorweb.ru/my/csharp/charp_theory/level3/3_15.php
https://metanit.com/sharp/tutorial/2.14.php
Do'stlaringiz bilan baham: |