|
1-mustaqil ish topshiriqlari mavzu. Chiziqli va tarmoqlanuvchi algoritmlar. Nazariy topshiriqlar
|
bet | 5/9 | Sana | 14.05.2024 | Hajmi | 488,47 Kb. | | #232049 |
Bog'liq Algoritmlarni loyihalash 1-amaliyot ishiIshning maqsadi: Berilgan masalalar uchun algoritm tuzish, ularni baholash kriteriyalari bo’yicha tahlil qilish, qiyinlik darajasini baholashni o’rganish
1-topshiriq. Berilgan N sonining tub bo'luvchilari sonini topish algoritmi va dasturini tuzing
Masalaning qo‘yilishi: Bitta N soni berilgan
Matematik modeli: N sonining tub bo’luvchilarini topishimiz kerak bo’ladi, ya’ni N sonini tub sonlarga bo’lib chiqamiz.
Algoritmni to’g’riligini tekshirish: Quyida keltiriladigan kodda foydalanuvchi bitta N son kiritadi va dastur ishga tushadi. Bunda faqat tub bo’luvchilrini topadi va sonini chiqaradi.
Dastur kodi:
void main() {
print(findPrimeFactors(100));
}
int findPrimeFactors(int N) {
int count = 0;
print('$N sonining tub bo\'luvchilari soni:');
for (int i = 2; i <= N; i++) {
if (isPrime(i)) {
count++;
}
}
return count;
}
bool isPrime(int number) {
if (number < 2) {
return false;
}
for (int i = 2; i <= number / 2; i++) {
if (number % i == 0) {
return false;
}
}
return true;
}
2-topshiriq: Butun sonlardan iborat NxN o’lchamli kvadrat matritsa berilgan. Shu matritsa elementlaridan tuzilgan massivni hosil qiling. Massivda elementlar takrorlanmaydi;
Dastur kodi:
void main() {
int N = 3; // Kvadrat matritsaning o'lchami (NxN)
List> matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
];
List array = createArrayFromMatrix(matrix);
print('Tuzilgan massiv: ${array.join(', ')}');
}
List createArrayFromMatrix(List> matrix) {
Set uniqueElements = Set();
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[i].length; j++) {
uniqueElements.add(matrix[i][j]);
}
}
return uniqueElements.toList();
}
|
| |