Yangi avlodni ishlab chiqarish va takomillashtirishning eng samarali yo'lida tutishga imkon beradigan kuchli vosita



Yüklə 272,71 Kb.
səhifə13/14
tarix26.04.2023
ölçüsü272,71 Kb.
#103098
1   ...   6   7   8   9   10   11   12   13   14
Документ Microsoft Word

Formulyatsiya. To'rt xonali raqam beriladi. Palindrom ekanligini tekshiring. Eslatma: palindrom - bu chapdan o'ngga va o'ngdan chapga bir xil o'qiladigan raqam, so'z yoki matn. Masalan, bizning holatlarimizda bu 1441, 5555, 7117 va boshqalar.
Boshqa palindromli raqamlarga misollar, o'zboshimchalik bilan o'nli kasrlar, hal qilinayotgan muammo bilan bog'liq emas: 3, 787, 11, 91519 va boshqalar.
Yechim. Klaviaturadan raqam kiritish uchun biz o'zgaruvchidan foydalanamiz n... Kiritilgan raqam natural sonlar to'plamiga tegishli va to'rt xonali, shuning uchun u 255 dan katta, shuning uchun tur bayt ta'rifi bizga mos emas. Keyin biz turini ishlatamiz so'z.
Palindrom raqamlarining xususiyatlari qanday? Bu misollardan ko'rinib turibdiki, har ikki tomondan teng "o'qilishi" tufayli birinchi va oxirgi raqamlar, ikkinchisi va oxiridan oldingi va boshqalar tengdir. Bundan tashqari, agar raqamda toq sonlar bo'lsa, tekshirish paytida o'rta raqamni e'tiborsiz qoldirish mumkin, chunki bu qoida bajarilganda, uning qiymatidan qat'i nazar, raqam palindromdir.
Bizning muammomizda hamma narsa biroz sodda, chunki kirish to'rt xonali raqam. Va bu shuni anglatadiki, muammoni hal qilish uchun biz faqat raqamning 1 -raqamini 4 -chi va 2 -raqamli raqamni 3 -chi raqam bilan solishtirishimiz kerak. Agar bu tengliklarning ikkalasi ham to'g'ri bo'lsa, bu raqam palindromdir. Alohida o'zgaruvchilarda raqamning mos keladigan raqamlarini olishgina qoladi, so'ngra shartli operator yordamida mantiqiy (mantiqiy) ifoda yordamida ikkala tenglikning bajarilishini tekshirish mumkin.
Biroq, qaror qabul qilishga shoshilishning hojati yo'q. Ehtimol, biz olingan sxemani soddalashtira olamizmi? Misol uchun, yuqorida aytib o'tilgan 1441 raqamini olaylik. Agar biz uni ikki raqamli ikkita raqamga bo'lsak nima bo'ladi, ularning birinchisida minglab va yuzlab asl joylar, ikkinchisida esa o'nliklar va asl birliklar. Biz 14 va 41 raqamlarini olamiz. Endi, agar ikkinchi raqam uning teskari belgisi bilan almashtirilsa (biz buni vazifa 5), keyin biz ikkita teng sonni olamiz 14 va 14! Bu o'zgarish juda aniq, chunki palindrom har ikki yo'nalishda ham bir xil o'qiladi, chunki u ikki marta takrorlanadigan raqamlar kombinatsiyasidan iborat va nusxalardan biri shunchaki orqaga buriladi.
Shunday qilib, xulosa: siz asl raqamni ikkita ikki xonali songa bo'lishingiz, bittasini teskari o'zgartirishingiz va shartli operator yordamida natijalarni solishtirishingiz kerak. agar... Aytgancha, raqamning ikkinchi yarmining teskari yozilishini olish uchun biz ishlatilgan raqamlarni saqlash uchun yana ikkita o'zgaruvchini qo'shishimiz kerak. Keling, ularni shunday belgilaymiz a va b va ular xuddi shunday bo'ladi bayt.
Endi algoritmning o'zini tasvirlab beraylik:
1) raqamni kiriting n;
2) Biz son birliklarining raqamini belgilaymiz n o'zgaruvchan a, keyin tashlab yuboring. O'nlik unvonini berganimizdan keyin n o'zgaruvchan b va uni tashlab yuboring:
3) o'zgaruvchiga tayinlash a o'zgaruvchilarda saqlangan yozuvning teskarisini ifodalovchi raqam a va b asl raqamning ikkinchi qismi n allaqachon ma'lum bo'lgan formulaga muvofiq:
4) Endi biz olingan sonlarning tengligini mantiqiy ifodasini tekshirishdan foydalanishimiz mumkin n va a operator yordami agar va filiallar yordamida javobning chiqishini tartibga soling:
agar n = a bo'lsa, writeln ('Ha') else writeln ('Yo'q');
Muammo bayonotida javobni qanday shaklda ko'rsatish kerakligi aniq aytilmaganligi sababli, biz uni foydalanuvchi uchun sezgir, tilning o'zida mavjud bo'lgan darajada ko'rsatishni mantiqiy deb hisoblaymiz. Paskal... Eslatib o'tamiz, operator yordamida yozmoq (writeln), siz mantiqiy turdagi ifodaning natijasini chiqarishingiz mumkin va agar bu ifoda rost bo'lsa, "TRUE" so'zi ko'rsatiladi (ingliz tilidan tarjimada "rost" "rost" degan ma'noni anglatadi), agar noto'g'ri bo'lsa - so'z "FALSE" (ingliz tilidan tarjima qilingan "yolg'on" "yolg'on" degan ma'noni anglatadi). Keyin oldingi qurilish bilan agar bilan almashtirilishi mumkin

  1. PalindromeNum dasturi;

  2. n: so'z;

  3. a, b: bayt;

  4. boshlash

  5. o'qish (n);

  6. a: = n mod 10;

  7. n: = n div 10;

  8. b: = n mod 10;

  9. n: = n div 10;

  10. a: = 10 * a + b;

  11. writeln (n = a)



Yüklə 272,71 Kb.

Dostları ilə paylaş:
1   ...   6   7   8   9   10   11   12   13   14




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin