Муҳаммад ал-Хоразмий номидаги тату самарқанд филиали
Download 143.31 Kb.
|
Дастурлаш 8.3 машгулот
- Bu sahifa navigatsiya:
- Ҳафта рақами
- Мақсад
Муҳаммад ал-Хоразмий номидаги ТАТУ Самарқанд филиали Лаборатория машғулотлари
1-машқ. Сонлар айирмасини топинг викторинаси. Компьютер томонидан генерация қилинган 2 та соннинг айирмасини топиш имконини берувчи тест дастурини тузиш керак, дастур сўнгида топилган тўғри жавоблар сони ва кетган вақт экранда чоп этилиши керак бўлади. Дастур коди: #include #include #include using namespace std; int main() { int tugriJavob = 0; // Tugri javoblar sonini hisoblash uchun int hisob = 0; // Savollar sonini hisoblash long boshlanishVaqt = time(0); const int Savollar_Soni = 5; srand(time(0)); // saonlarni rgeneratsiya qilish while (hisob < Savollar_Soni) { // 1. Ikkita sonni generastsiya qilish int son1 = rand() % 10; int son2 = rand() % 10; // 2. Agar son1 < son2 bo'lgandA, qiymatlar o'zagartiriladi if (son1 < son2) { int temp = son1; son1 = son2; son2 = temp; } // 3. Savolning javobini so'rash "son1 - son2 nechiga teng?" cout << "Javobini ayting " << son1 << " - " << son2 << "? "; int javob; cin >> javob; // 4. Javobni tekshirish va natijani chop etish if (son1 - son2 == javob) { cout << "Topdingiz!\n"; tugriJavob++; } else cout << "Topolmadingiz.\n" << son1 << " - " << son2 << " ning natijasi " << (son1 - son2) << endl; // hisobni oshirish hisob++; } long tugashVaqt = time(0); long Vaqt = tugashVaqt - boshlanishVaqt; cout << "To'g'ri javoblar soni " << tugriJavob << "\nO'tgan vaqt " << Vaqt << " sekund\n"; return 0; } Натижа: 2-машқ. Миляларни километрларга айлантириш. 1 дан n гача бўлган миля узунлик бирликларини километр узунлик бирлигига ўзгартирувчи дастур тузинг (1 миля 1.609 км га тенг). Дастур коди: #include #include using namespace std; int main() { // o'zgaruvchilarni e'lon qilish int milya = 1, n; double km; cout << "Necha milyagacha bo'lgan uzunlik km larga aylantirilsin: "; cin >> n; // do while operatori yordamida hisob-kitobni amalga oshirish do { //sikl tanasi km = milya * 1.609; cout << setw(5) << milya << " milya -- " << setw(8) << fixed << setprecision(3) << km << " km ga teng!\n"; milya++; } while (milya <= n); //sikl sharti return 0; } Блок-схема: Натижа: 3-машқ. Энг юқори балл. Фойдаланувчи томонидан ўқувчилар сони, ўқувчилар исми ва баллари киритилганда, энг юқори балл олган ўқувчининг исми ва балл натижасини экранда чоп этувчи дастур тузинг. Дастур коди: do-while операторини ишлатган ҳолдаги код: #include #include #include using namespace std; int main() { // o'zgaruvchilarni e'lon qilish int uquvchi=1, n, ball, maksBall=0; string uquvchiIsmi; string maksUquvchiIsmi; cout << "O'quvchilar sonini kiriting: "; cin >> n; // do while operatori yordamida hisob-kitobni amalga oshirish do { //sikl tanasi cout << "O'quvchi ismini kiriting: "; cin >> uquvchiIsmi; cout < cin>>ball; if (maksBall < ball){ maksUquvchiIsmi = uquvchiIsmi; maksBall = ball; } uquvchi++; } while (uquvchi <= n); //sikl sharti cout << "Eng yuqori ball olgan o'quvchi " << maksUquvchiIsmi << " bali " << maksBall << "!\n"; return 0; } while операторини ишлатган ҳолдаги код: #include #include #include using namespace std; int main() { // o'zgaruvchilarni e'lon qilish int uquvchi=1, n, ball, maksBall=0; string uquvchiIsmi; string maksUquvchiIsmi; cout << "O'quvchilar sonini kiriting: "; cin >> n; //sikl sharti while (uquvchi <= n) { //sikl tanasi cout << "O'quvchi ismini kiriting: "; cin >> uquvchiIsmi; cout < cin>>ball; if (maksBall < ball){ maksUquvchiIsmi = uquvchiIsmi; maksBall = ball; } uquvchi++; } cout << "Eng yuqori ball olgan o'quvchi " << maksUquvchiIsmi << " bali " << maksBall << "!\n"; return 0; } Натижа: ДАСТУРЛАШ (С++) фанидан 8.3-лаборатория машғулотлари Download 143.31 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling