1.3.1-masala
x ning berilgan qiymati uchun y qiymatini hisoblash dasturini tuzing:
CodeStep
1.3.1 · MAVZU
66 ta masala. Masala shartini ko‘rib, yechishni boshlang.
x ning berilgan qiymati uchun y qiymatini hisoblash dasturini tuzing:
Maydonlarning qaysi biri — I yoki II — berilgan koordinatalarga ega bo‘lgan nuqtaga to‘g‘ri kelishini aniqlash dasturini tuzing. Oddiylik uchun, nuqta sohalar chegarasiga tushmaydi deb hisoblang.
Grafik ko‘rsatilgan funksiyalar uchun x ning berilgan qiymati uchun y qiymatini aniqlash dasturini tuzing.
Ikki xil haqiqiy son berilgan. Quyidagilarni aniqlash dasturini tuzing:
Ikki masofa ma’lum: biri kilometrda, ikkinchisi futda (1 fut = 0,305 m). Qaysi masofa kichikroq ekanligini aniqlash dasturini tuzing.
Ikkita tezlik ma’lum: biri soatiga kilometrda, ikkinchisi soniyasiga metrda. Qaysi tezlik yuqoriroq ekanligini aniqlash dasturini tuzing.
Aylana radiusi va kvadrat tomoni berilgan. Qaysi shakl katta yuzaga egaligini aniqlash dasturini tuzing.
Haqiqiy a, b, c sonlar berilgan (a ≠ 0). ax² + bx + c = 0 tenglama haqiqiy ildizga ega ekanligini aniqlang. Agar haqiqiy ildizlar mavjud bo‘lsa, ularni toping, aks holda ekranda tegishli xabarni ko‘rsatish dasturini tuzing.
Insonning tug‘ilgan yili va oyi, shuningdek, bugungi yil va oyi (1 — yanvar va boshqalar) ma’lum. Shaxsning yoshini aniqlash dasturini tuzing (tugallangan yillar soni). Agar ko‘rsatilgan oy raqamlari mos kelsa, to‘liq yil o‘tgan deb hisoblang.
Doira va kvadratning yuzalari ma’lum. Quyidagilarni aniqlash dasturini tuzing:
1–999 oralig‘idagi butun son berilgan. Uni quyidagi satr ko‘rinishida ifodalash dasturini tuzing: “2 xonali juft son”, “3 xonali toq son” va hokazo.
Agar m butun soni n ga bo‘linadigan bo‘lsa, bo‘linish qismini ko‘rsating, aks holda “m n ga bo‘linmaydi” xabarini ko‘rsatish dasturini tuzing.
a soni b sonining bo‘luvchisi ekanligini aniqlash dasturini tuzing.
Natural son berilgan. Quyidagilarni aniqlash dasturini tuzing:
Ikki xonali son berilgan. Quyidagilarni aniqlash dasturini tuzing:
Ikki xonali raqam berilgan. Bu raqamning kvadrati uning raqamlari kublari yig'indisini to'rt barobarga teng yoki yo'qligini aniqlash dasturini tuzing. Masalan, 48 raqami uchun javob rost, 52 raqami uchun yolg'on.
Ikki xonali raqam berilgan. Quyidagilarni aniqlash dasturini tuzing. a) uning raqamlari yig'indisi ikki xonali son bo'ladimi; b) son uning raqamlari yig'indisidan kattami?
Ikki xonali son berilgan. Quyidagilarni aniqlash dasturini tuzing: a) uning raqamlari yig'indisi uchga karralimi? b) uning raqamlari yig'indisi a ga karrali.
Uch xonali son berilgan. Bu palindrom, ya'ni o'nlik belgisi chapdan o'ngga va o'ngdan chapga bir xil o'qiladigan son ekanligini aniqlash dasturini tuzing.
Uch xonali son berilgan. Uning qaysi raqamlari kattaroq ekanligini aniqlash dasturini tuzing: a) birinchi yoki oxirgi; b) birinchi yoki ikkinchi; c) ikkinchi yoki oxirgi.
Uch xonali son berilgan. Bu raqamning kvadrati uning raqamlari kublari yig'indisiga teng yoki yo'qligini aniqlash dasturini tuzing.
Uch xonali son berilgan. Quyidagilarni aniqlash dasturini tuzing: a) uning raqamlari yig'indisi ikki xonali son bo'ladimi; b) uning raqamlari ko'paytmasi uch xonali son bo'ladimi; c) uning raqamlari ko'paytmasidan katta son; d) uning raqamlari yig'indisi beshga karralimi? e) uning raqamlari yig'indisi a ga karrali.
To'rt xonali son berilgan. Quyidagilarni aniqlash dasturini tuzing: a) uning birinchi ikki raqamining yig'indisi oxirgi ikki raqamining yig'indisiga teng; b) uning raqamlari yig'indisi uchga karralimi? c) uning raqamlarining ko'paytmasi to'rtga karralimi? d) uning raqamlarining ko'paytmasi a ga karrali.
Natural son berilgan. Quyidagilarni aniqlash dasturini tuzing. a) Juft son bilan tugashi rostmi? b) Toq son bilan tugashi rostmi?
N natural soni berilgan bo'lsin. Uning juft yoki toqligini aniqlash dasturini tuzing.
a va b butun sonlari berilgan. Tekshiring: tengsizlik bajarilsa, u holda bu sonlarni 999 bilan almashtiring, aks holda o'zgarishsiz chiqarish dasturini tuzing.
Ikkita butun son berilgan bo'lsin. Agarda birinchisi ikkinchisiga teng bo'lsa, bu sonlarni nol bilan almashtiring.
3 ta haqiqiy son berilgan bo'lsin. Bu sonlarni [10,27] intervalga tegishlilarini chiqarish dasturini tuzing.
Uchta butun son berilgan bo'lsin. Ularning manfiylarini nol bilan almashtirish dasturini tuzing.
3 ta butun son berilgan. Ularning musbatini kvadrati bilan almashtirish dasturini tuzing.
Butun son berilgan. Agar u musbat bo'lsa unga 10 qo'shilsin, aks holda 10 ga kamaytirilsin. Olingan sonni chiqarish dasturini tuzing.
x,y,z butun musbat sonlar berilgan. x,y,z uzunlikka ega tomonli uchburchak mavjudmi? Agar mavjud bo'lsa YES aks holda NO so'zini chiqarish dasturini tuzing.
Agar o'zaro farqli x, y, z haqiqiy sonlar birdan kichik bo'lsa, u holda bu uchta sondan eng kichigini boshqa ikkitasining yarmi yig'indisi bilan almashtiring. Aks holda o'zgarishsiz qoldiring.
Butun son berilgan. Agar u manfiy bo'lsa unga qo'shilsin, aks holda 2 ayirib tashlansin. Olingan son chiqarilsin.
Butun son berilgan. Agar u manfiy bo'lsa 2 ni ayiring, 0 ga teng bo'lsa 10 bilan almashtirilsin. Olingan son chiqarish dasturini tuzing.
Uchta butun son berilgan. Ular orasidan musbatlari sonini topish dasturini tuzing.
Uchta butun son berilgan. Ular orasidan musbatlari va manfiylari sonini topish dasturini tuzing.
Ikkita son berilgan. Ulardan kichigining tartib raqami chiqarish dasturini tuzing.
Ikkita haqiqiy turga tegishli X va Y o'zgaruvchilari berilgan. Ularning qiymatlari quyidagicha qayta taqsimlangan: X ga kichik, Y ga katta qiymat. X va Y larning yangi qiymatlarini chiqarish dasturini tuzing.
Ikkita butun turga tegishli X va Y o'zgaruvchilar berilgan, agar ularning qiymatlari teng bo'lmasa har bir o'zgaruvchiga qiymatlar yig'indisi berilsin, aks holda har bir o'zgaruvchiga 0 qiymat berilsin. O'zgaruvchilarning qiymatlarini chop etish dasturini tuzing.
Ikkita butun turga tegishli A va B o'zgaruvchilar berilgan, agar ularning qiymatlari teng bo'lmasa har ikkala o'zgaruvchiga ham qiymatlarning kattasi ta'minlansin, aks holda har ikkala o'zgaruvchiga 0 qiymati berilsin. O'zgaruvchilarning natijaviy qiymatlarini chiqarish dasturini tuzing.
Uchta son berilgan. Ular orasidan eng kichigining kvadratini topish dasturini tuzing.
Uchta son berilgan. Ular orasidan o'rtachasi topish dasturi tuzilsin.
Uchta son berilgan. Ular orasidan dastlab eng kichigi keyin o'rtanchasi so'ngra eng kattasini chiqarish dasturini tuzing.
Uchta son berilgan. Ularning ikkita eng kattasining ko'paytmasini aniqlash dasturini tuzing.
Haqiqiy turga tegishli uchta A, B, C o'zgaruvchilar berilgan. Agar ularning qiymatlari o'sish tartibida joylashgan bo'lsa, ularning qiymatlarini uch marta oshiring, aks holda har bir o'zgaruvchining qiymatini 10 ga ko'paytiring. O'zgaruvchilarning yangi qiymatlarini aniqlash dasturini tuzing.
Haqiqiy turga tegishli uchta A, B, C o'zgaruvchilar berilgan. Agar o'zgaruvchilarning qiymatlari o'sish yoki kamayish tartibida joylashgan bo'lsa, har birining qiymatini ikki martaga oshiring, aks holda o'zgaruvchilarning qiymatlari qarama-qarshisi bilan almashtirilsin. O'zgaruvchilarning yangi qiymatlarini aniqlash dasturini tuzing.
Uchta butun son berilgan. Ulardan bittasi qolgan ikkitasidan ishoralari bilan farq qilsa, shu farq qiluvchi sonning tartib raqamini aniqlash dasturini tuzing.
To'rtta butun son berilgan. Ulardan bittasi qolgan uchtasidan farq qilsa (juft toqligi bilan) bu sonning tartib raqamini aniqlash dasturini tuzing.
Sonlar o'qida uchta A, B, C nuqta joylashgan. B va C nuqtalarning A nuqtaga eng yaqini hamda A nuqta bilan yaqin nuqta orasidagi masofa aniqlash dasturini tuzing.
Tekislikda butun sonlardan iborat koordinatalarga ega nuqta joylashgan. Agar u koordinata boshi bilan ustma-ust tushsa 0, OX o'qida joylashgan bo'lsa 1, OY o'qida joylashgan bo'lsa 2, aks holda 3, qiymat chiqarilsin.
OX va OY o'qlarida yotmaydigan nuqta koordinatalari berilgan. Uning qaysi chorakka tegishliligi aniqlanib chiqarilsin.
To'g'ri to'rtburchakning 3 ta uchi butun sonlardan iborat koordinatalar bilan berilgan va shu uchlar orasidagi tomonlar koordinata o'qlariga parallel.
Berilgan haqiqiy x o‘zgaruvchining qiymatiga mos keluvchi f(x) funksiya qiymatini hisoblang.
Izoh: 1)–4) bandlardagi funksiyalar alohida topshiriqlar hisoblanadi.
Kod yozishButun son berilgan. Uni satr ko‘rinishida “manfiy juft son”, “nol soni”, “musbat toq son” va hokazo shaklda chiqarish dasturini tuzing.
A(x, y) nuqta berilgan. Ushbu nuqtaning berilgan shtrixlangan sohaga tegishli yoki tegishli emasligini aniqlash dasturini tuzing.
Uchta butun son berilgan. Berilgan sonlardan avval eng kichigini, keyin esa o‘rtada turgan sonni chop etish algoritmi va dasturini tuzing.
Uchta butun son berilgan. Berilgan sonlardan yig‘indisi eng katta bo‘ladigan ikkita sonni aniqlash va chop etish algoritmi va dasturini tuzing.
Butun son berilgan. Uning birlik, o‘nlik yoki yuzlik son ekanligini satr ko‘rinishida chiqaring.
Uch kishining bo‘yi ma’lum. Ularning bo‘yi bir xil yoki yo‘qligini aniqlang.
Ikki xonali son berilgan. Aniqlang:
Ikki xonali son berilgan. Aniqlang:
Uch xonali son berilgan. Aniqlang:
Uch xonali son berilgan. Aniqlang:
Birinchi kiritilgan sonning absolut qiymati ikkinchi kiritilgan sondan katta bo‘lsa, uni ikki barobarga kamaytiruvchi dastur tuzing.
Ikkita son berilgan. Agar ikkinchi sonning kvadrat ildizi birinchi sondan kichik bo‘lsa, ikkinchi sonni besh marta oshiring.
Bu namunalarda shart operatorlari yordamida son raqamlarini solishtirish va berilgan sonlar ichidan musbatlarini sanash ko‘rib chiqiladi.
1-NAMUNAVIY MASALA
Uch xonali son berilgan. Quyidagilarni aniqlash dasturini tuzing: a) uning barcha raqamlari bir xilmi; b) hech bo‘lmaganda ikkita raqami bir xilmi.
Uch xonali x sonini kiritamiz. Yuzlik raqamini butun bo‘lish orqali, o‘nlik va birlik raqamlarini esa qoldiq olish orqali ajratamiz.
A = x // 100
B = (x // 10) % 10
C = x % 10Barcha raqamlar bir xil bo‘lishi uchun yuzlik, o‘nlik va birlik raqamlari o‘zaro teng bo‘lishi kerak.
A = B = CHech bo‘lmaganda ikki raqam teng bo‘lishi uchun uchta juftlikdan bittasi teng bo‘lishi kifoya.
A = B yoki B = C yoki A = CSon raqamlarini ajratib, avval uchtalasi tengligini, keyin esa kamida bir juft raqam tengligini tekshiramiz.
# Uch xonali sonni kiritish
x = int(input("Uch xonali sonni kiriting: "))
# Raqamlarni ajratib olish
A = x // 100 # Yuzlik xonasi
B = (x // 10) % 10 # O'nlik xonasi
C = x % 10 # Birlik xonasi
# a) Barcha raqamlar bir xilmi?
if A == B == C:
print("Barcha raqamlar bir xil.")
else:
print("Barcha raqamlar bir xil emas.")
# b) Hech bo'lmaganda ikkita raqam bir xilmi?
if A == B or B == C or A == C:
print("Hech bo'lmaganda ikkita raqam bir xil.")
else:
print("Barcha raqamlar har xil.")
777 Uch xonali sonni kiriting: Barcha raqamlar bir xil.
Hech bo'lmaganda ikkita raqam bir xil.
Butun bo‘lish va qoldiq olish orqali raqamlarni topib, ularni shartlar yordamida taqqoslaymiz.
#include <iostream>
using namespace std;
int main() {
int x;
cout << "Uch xonali sonni kiriting: ";
cin >> x;
// Raqamlarni ajratib olish
int A = x / 100;
int B = (x / 10) % 10;
int C = x % 10;
// a) Barcha raqamlar bir xilmi?
if (A == B && B == C) {
cout << "Barcha raqamlar bir xil." << endl;
} else {
cout << "Barcha raqamlar bir xil emas." << endl;
}
// b) Hech bo'lmaganda ikkita raqam bir xilmi?
if (A == B || B == C || A == C) {
cout << "Hech bo'lmaganda ikkita raqam bir xil." << endl;
} else {
cout << "Barcha raqamlar har xil." << endl;
}
return 0;
}
777 Uch xonali sonni kiriting: Barcha raqamlar bir xil.
Hech bo'lmaganda ikkita raqam bir xil.
Uch xonali sonning raqamlari x // 100, (x // 10) % 10 va x % 10 orqali olinadi. Uchtalasi teng bo‘lsa, barcha raqamlar bir xil; juftliklardan kamida bittasi teng bo‘lsa, kamida ikkita raqam bir xil bo‘ladi.2-NAMUNAVIY MASALA
Uchta butun son berilgan. Ular orasidan musbatlarini sanash dasturini tuzing.
A, B va C butun sonlarini kiritamiz va musbat sonlar sonini saqlash uchun count o‘zgaruvchisini nolga tenglaymiz.
Har bir sonni alohida tekshiramiz. Son noldan katta bo‘lsa, count qiymatini bittaga oshiramiz.
A > 0, B > 0, C > 0Uchala tekshiruvdan so‘ng count ichida musbat sonlarning umumiy soni bo‘ladi va uni ekranga chiqaramiz.
Uch sonni bitta qatordan o‘qib, har birining musbatligini alohida tekshiramiz.
A, B, C = map(int, input("Uchta butun sonni kiriting: ").split())
# Musbat sonlarni sanash
count = 0
if A > 0:
count += 1
if B > 0:
count += 1
if C > 0:
count += 1
print(f"Musbat sonlar soni: {count}")
-2 0 5 Uchta butun sonni kiriting: Musbat sonlar soni: 1
Har bir kiritilgan son noldan katta bo‘lsa, count hisoblagichini bittaga oshiramiz.
#include <iostream>
using namespace std;
int main() {
int A, B, C;
cout << "Uchta butun sonni kiriting: ";
cin >> A >> B >> C;
int count = 0;
if (A > 0) count++;
if (B > 0) count++;
if (C > 0) count++;
cout << "Musbat sonlar soni: " << count << endl;
return 0;
}
-2 0 5 Uchta butun sonni kiriting: Musbat sonlar soni: 1
Musbat bo‘lgan har bir son uchun hisoblagich bittaga oshiriladi. −2, 0 va 5 misolida faqat 5 musbat, natija 1.3-NAMUNAVIY MASALA
Yon tomonlari koordinata o‘qlariga parallel yoki perpendikulyar bo‘lgan ikkita to‘rtburchak berilgan. Ularning har birining pastki chap va yuqori o‘ng burchaklarining koordinatalari ma’lum. Ikkala to‘rtburchakni qamrab oluvchi minimal to‘rtburchakning pastki chap va yuqori o‘ng burchaklari koordinatalarini topish dasturini tuzing.
Har bir to‘rtburchakning pastki chap va yuqori o‘ng burchaklari koordinatalarini kiritamiz: birinchi to‘rtburchak uchun (x1, y1), (x2, y2), ikkinchisi uchun (x3, y3), (x4, y4).
Umumiy to‘rtburchakning pastki chap burchagi ikkala pastki chap nuqtaning koordinatalaridan eng kichiklarini oladi.
Xmin = min(x1, x3)
Ymin = min(y1, y3)Yuqori o‘ng burchak esa ikkala yuqori o‘ng nuqtaning koordinatalaridan eng kattalarini oladi.
Xmax = max(x2, x4)
Ymax = max(y2, y4)Hisoblangan pastki chap va yuqori o‘ng burchak koordinatalarini ekranga chiqaramiz.
Pastki chap burchak uchun X va Y koordinatalarining minimumini, yuqori o‘ng burchak uchun maksimumini topamiz.
# Foydalanuvchidan koordinatalarni olish
x1, y1, x2, y2 = map(int, input("Birinchi to'rtburchak (x1, y1, x2, y2): " ).split())
x3, y3, x4, y4 = map(int, input("Ikkinchi to'rtburchak (x3, y3, x4, y4): " ).split())
# Minimal X va Y topish
Xmin = x1
if x3 < Xmin:
Xmin = x3
Ymin = y1
if y3 < Ymin:
Ymin = y3
# Maksimal X va Y topish
Xmax = x2
if x4 > Xmax:
Xmax = x4
Ymax = y2
if y4 > Ymax:
Ymax = y4
# Natijani chiqarish
print("Minimal to'rtburchak koordinatalari:")
print(f"Pastki chap burchak: ({Xmin}, {Ymin})")
print(f"Yuqori o'ng burchak: ({Xmax}, {Ymax})")
1 1 4 3
3 0 6 4 Birinchi to'rtburchak (x1, y1, x2, y2): Ikkinchi to'rtburchak (x3, y3, x4, y4): Minimal to'rtburchak koordinatalari:
Pastki chap burchak: (1, 0)
Yuqori o'ng burchak: (6, 4)
Koordinatalarni alohida taqqoslab, minimal pastki chap va maksimal yuqori o‘ng burchakni aniqlaymiz.
#include <iostream>
using namespace std;
int main() {
int x1, y1, x2, y2;
int x3, y3, x4, y4;
// Birinchi to'rtburchak koordinatalari
cout << "Birinchi to'rtburchak (x1, y1, x2, y2): ";
cin >> x1 >> y1 >> x2 >> y2;
// Ikkinchi to'rtburchak koordinatalari
cout << "Ikkinchi to'rtburchak (x3, y3, x4, y4): ";
cin >> x3 >> y3 >> x4 >> y4;
// Minimal X va Y topish
int Xmin = x1;
if (x3 < Xmin) Xmin = x3;
int Ymin = y1;
if (y3 < Ymin) Ymin = y3;
// Maksimal X va Y topish
int Xmax = x2;
if (x4 > Xmax) Xmax = x4;
int Ymax = y2;
if (y4 > Ymax) Ymax = y4;
// Natijani chiqarish
cout << "Minimal to'rtburchak koordinatalari:\n";
cout << "Pastki chap burchak: (" << Xmin << ", " << Ymin << ")\n";
cout << "Yuqori o'ng burchak: (" << Xmax << ", " << Ymax << ")\n";
return 0;
}
1 1 4 3
3 0 6 4 Birinchi to'rtburchak (x1, y1, x2, y2): Ikkinchi to'rtburchak (x3, y3, x4, y4): Minimal to'rtburchak koordinatalari:
Pastki chap burchak: (1, 0)
Yuqori o'ng burchak: (6, 4)
Pastki chap burchak: (min(x1, x3), min(y1, y3)); yuqori o‘ng burchak: (max(x2, x4), max(y2, y4)).