|
Mavzu; Operatsion tizimlar haqida umumiy maʼlumot
|
bet | 31/49 | Sana | 20.12.2023 | Hajmi | 0,91 Mb. | | #125486 |
Bog'liq Mavzu; Operatsion tizimlar haqida umumiy ma lumot i teng 1, 2,3 yoki 4
i teng 1, 2,3 yoki 4
i teng 1, 2,3 yoki 4
i teng 1, 2,3 yoki 4
Bitta switch operatori boshqa, tashqi switch operatorining operatorlari ketma-ketligining bir qismi bo'lishi mumkin. Va bunday switch operatori ichki o'rnatilgan deb ataladi. switch ichki va tashqi operatorlarining tanlov konstantalari hech qanday ziddiyatga olib kelmasdan umumiy qiymatlarni o'z ichiga olishi mumkin. Misol uchun, quyidagi kod parchasi juda mos keladi.
switch (ch1)
{
case 'A':
Console.WriteLine("Bu qism switch tashqi operatorining A-qismidir.");
switch (ch2)
{ case 'A':
Console.WriteLine("Bu tarmoq switch ichki operatorining A-qismidir");
break;
case 'В': // ...} // switch ichki operatorining oxiri
break;
case 'В': // ...
Nol bo‘lmagan butun sonlar ketma ketligi berilgan. Uning tugaganlik simvoli (alomati) nol soni. Ketma ketlikdagi (noldan farqli) sonlar miqdori aniqlansin.
int k;
k=int.Parse(Console.ReadLine());
switch(k%7)
{
case 0: Console.WriteLine("yakshanba");break;
case 1: Console.WriteLine("dushanba");break;
case 2: Console.WriteLine("seshanba");break;
case 3: Console.WriteLine("chorshanba");break;
case 4: Console.WriteLine("payshanba");break;
case 5: Console.WriteLine("juma");break;
case 6: Console.WriteLine("shanba");break;
}
Console.ReadKey();
Takrorlash operatorlari: for operatori
Reja:
1. for sikli
2. for siklining turli variantlari
3.Masalalar yechish
for sikli o`ziga tegishli instruksiyaning bir necha marta takroran
bajarilishini ta`minlaydi. Bitta instruksiya uchun uning yozilishi
quyidagicha:
for (e`lon qilish; shart; iterasiya) instruksiya;
Agar for sikli dastur bloki(bir nechta instruksiya ketma-ketligi)ni takroran
bajarishi kerak bo`lsa, u holda for siklining ko`rinishi quyidagicha bo`ladi:
for (e`lon qilish; shart; iterasiya)
{
instruksiyalar ketma-ketligi
}
E`lon qilish qismi qiymat o`zlashtirishdan iborat. Bu qismda siklni
boshqaruvchi o`zgaruvhining boshlang`ich qiymati beriladi. Bu
o`zgaruvchi hisoblagish vazifasini bajaradi, siklni boshqaradi. Shart qismi
bool tipiga tegishli bo`lib, unda siklni boshqaruvchi o`zgaruvchi qiymati
tekshiriladi. Shartning natijasi siklning yana bir bor bajarilishi yoki
bajarilmasligini bildiradi. iterasiya ifoda bo`lib, u har bir sikldan so`ng
siklni boshqaruvchi o`zgaruvchining qiymati qanday o`zgarishini
ko`rsatadi. for sikli toki shart true qiymatga ega ekan bajarilaveradi. Shart
false qiymatga ega bo`lgandan keyin for siklidan keyingi instruksiya
bajariladi. Misol:
using System;
class DecrFor
{
public static void Main()
{
int x;
for(x = 100; x > -100; x -= 5)
Console.WriteLine(x);
}
}
Shart hamma vaqt for sikli bajarilishidan oldin tekshiriladi. Yani agar
shartni birinchi tekshirishdanoq false qiymat qabul qilsa, sikl umuman
bajarilmaydi. Misol:
for(x = 10; x < 5; x++)
Console.WriteLine(x); // bu instruksiya hech qachon bajarilmaydi.
for sikli odatda takrorlanishlar soni aniq bo`lgan holda ishlatiladi. Masalan
quyidagi misolda 2 dan 20 gacha sonlar orasidan tub sonlarni ahiqlaydi.
Agar son murakkab son bo`lsa, sonning eng katta bo`luvchisini chiqariladi:
using System;
class FindPrimes
{
public static void Main()
{
int num;
int i;
int factor;
bool isprime;
for (num = 2; num < 20; num++)
{
isprime = true;
factor = 0; // num ning i ga qoldiqsiz bo`linishini aniqlaymiz.
for(i=2; i <= num/2; i++) {
if ((num % i) == 0)
{
// agar num i ga qoldiqsiz bo`linsa, demak num murakkab son
isprime = false;
factor= i;
if (isprime)
Console.WriteLine(num + " - tub son");
else
Console.WriteLine(num + " ning eng katta bo\'luvchisi " + factor");
Natija:
2 - tub son
3 - ub son
4 ning eng katta bo'luvchisi 2
5 - tub son
6 ning eng katta bo'luvchisi 3
7 - tub son
8 ning eng katta bo'luvchisi 4
9 ning eng katta bo'luvchisi 3
10 ning eng katta bo'luvchisi 5
11 - tub son
12 ning eng katta bo'luvchisi 6
13 - tub son
14 ning eng katta bo'luvchisi 7
15 ning eng katta bo'luvchisi 5
16 ning eng katta bo'luvchisi 8
17 - tub son
18 ning eng katta bo'luvchisi 9
19 - tub son
for siklining turli variantlari
for siklini bohqarish uchun bir nechta o`zgaruvchidan foydalanish
mumkin. Bu holda e`lon qilish qismida har bir o`zgaruvchiga qiymat berish
vergul bilan ajratiladi. Misol:
^отделяются запятыми. Вот пример:
// Использование запятых в цикле for.
using System;
class Comma
{
public static void Main()
{
int i, j;
for(i = 0, j = 10; i < j; i++, j--)
Console.WriteLine("i va j: " + i + " " + j);
Natija:
i va j: 0 10
i va j: 1 9
i va j: 2 8
i va j: 3 7
i va j: 4 6
Bu dasturda vergul bilan e`lon qilish qismida i va j, iterasiya qismida i++
va j—iterasiyalari ajratilgan. Sikl boshida i va j o`zgaruvchilarga
boshlang`ich qiymat beriladi va har bir sikldan so`ng i ning qiymati bittaga
oshiriladi, j ning qiymati 1 taga kamaytiriladi. E`lon qilish qismida va
iterasiya qismida xohlagancha o`zgaruvchidan foydalanish mumkin.
Shartli ifoda
for siklidagi shartli ifoda bool tipidagi qiymat qaytaradigan har qanday
ifoda bo`lishi mumkin. Quyidagi dasturda shartli ifoda sifatida done
o`zgaruvchisi ishlatilmoqda:
using System;
class forDemo
{
public static void Main() {
int i, j;
bool done = false;
for(i=0, j=100; !done; i++, j --)
{
if(i*i >= j) done = true ;
Console.WriteLine("i, j : " + i + " " + j ) ;
}
}
}
Natija:
i, j: 0 100
i, j: 1 99
i, j: 2 98
i, j: 3 97
i, j: 4 96
i, j: 5 95
i, j: 6 94
i, j: 7 93
i, j: 8 92
i, j: 9 91
i, j: 10 90
Bu misolda done o`zgaruvchisi true qiymatga ega bo`lgandan keyin sikl
ishini tugatadi. Agar i ning qiymati kvadrati j qiymatidan katta yoki teng
bo`lsa, siklning ichida done o`zgaruvchiga true qiymat o`zlashtiriladi.
|
| |