IT Bilim

13-блог: Кодинг (коудинг) қылыў ушын математиканы билиў шәртпе? / Kouding qılıw ushın matematikanı biliw sha'rtpe?

Кодинг қылыў ушын математик болыў шәрт емес. Бирақ математика бойынша дәслепки түсиникке ийе болған жүдә пайдалы.

Мениң алдыңғы жазған блогларымды оқып көрген болсаңыз, "билиў шәртпе?" деген сораўға "яқ, билиўиң шәрт емес" деп жуўап бермейтуғынымды түсинген шығарсыз.

Кодинг (коудинг) ушын математик болыў шәрт емес. Бирақ, математика бойынша дәслепки түсиникке ийе болған жүдә пайдалы.

(Жасалма интеллект пенен шуғылланыўды қәлеўшилер математиканы "суў қылып ишиўи" керек болады. Шын аралас ҳәзил.)

Мектепте математика сабағында үйренген нәрселерди бир елеслетип көриң. Көбинесе, соны билиўиңиз жеткиликли болады.

"Не ушын математика керек?" деп ойларсыз.

Математика ҳаққында ойланып турған адам иллюстрациясы

Мәселен, бираз алдын жумыста бир проекттиң үстинде ислегенимде файл өлшемине қарап, пайдаланыўшының жеке картасынан шешип алыныўы керек болған пулды есаплап беретуғын алгоритмди жазыўыма туўры келген.

Мәселен, биринши пәлен килобайтты бөлек баҳа менен есаплап, қалған килобайтларды басқа баҳа менен өлшеп, соңында шегирме коды бар болса соны есаптан айырып, жуўапты көрсетиў керек болды.

Усы жағдайда математикадан аз-маз хабарыңыз болса, мәселени тезирек түсинип, шешиўге кирисе аламыз.

"Мектепте үйренген нәрсени де умытып қалыппан" деп қысынбаң.

Мектепте жақсы көрип оқыған сабақларымнан бири математика болса да, мен де көп нәрсени умыттым. Кейин ала оларды инглиз тилинде оқығаным себепли, көпшилик қарақалпақша математикалық терминлерди умытып қалыппан.

Егер усы блогты оқып, "мына терминниң қарақалпақшасы былай айтылады" деп коммент жазып кетсеңиз, дурыслап жазар едим 🥹

Бүгинги блогта, девелопер сыпатында билиўиңиз зәрүр болған бир-еки математикаға байланыслы қағыйда, теория ҳәм есаплаў усылларын түсиндирип өтемен.


1. Санды нөлге бөлиў мүмкин емес

Мектепте математика/алгебра сабағында усы қағыйданы үйренгениңиз ядыңыздама?

Санды нөлге бөлиў ҳаққындағы иллюстрация

6 деген санды нөлге бөлсек, жуўабы қандай болады? Қандай болса да, дурыс жуўап нөлге тең емес.

Қәлеген санды нөлге бөлгенде жуўап анықланбайды (undefined).

Тап усы қағыйда компьютерлер ушын да әмел қылады. Компьютер санақлы технологиядан қуралғаны себепли, оның ишинде "анықланбаған жуўапты" табыў қыйын.

Көплеген программа тиллеринде санды нөлге бөлетуғын код болса, ол программаны иске қосқаныңызда "қәтени" (Runtime Error) келтирип шығарады. Айырым тиллерде бул жағдай басқаша көрсетилиўи мүмкин.

Бирақ, нөлди қәлеген нөлден басқа санға бөлиўге болатуғыны есиңизге түскен шығар.

0 : 6 = 0

2. Пүтин сан, бөлшек санлар ҳаққында түсиник

Пүтин санларға 1, 2, 3 яки -1, -2, -3 деген барлық санлар киреди.

Көрип турғаныңыздай, олардың бөлшек бөлими жоқ. Инглизшесине "integers" деп атайды.

Ҳәр бир программаластырыў тили пүтин санларды өз алдына "мағлыўмат түри" (data type) менен белгилейди.

Мәселен, JavaScript тилинде пүтин санлар "Number" деген data type пенен белгиленеди.

Python тилинде "int" деген data type пенен белгиленеди.

Бөлшек санларға бөлшек бөлими бар санлар киреди. Мысал ушын, 9.99 яки 5.084.

Олар жүдә үлкен яки жүдә киши санларды анықлаўда қолланылыўы мүмкин. Аўылда бөлшек санларды үтир менен белгилейтуғын еди. Бирақ дүньяның көплеген шет еллеринде жоқарыдағыдай етип, точка (.) менен жазыў қабыл етилген. Инглизшесине "floats" деп атайды.

Ҳәр бир программаластырыў тили бөлшек санларды өз алдына "мағлыўмат түри" (data type) менен белгилейди.

Мәселен, JavaScript тилинде бөлшек санлар "Number" деген data type пенен белгиленеди.

Python тилинде "float" деген data type пенен белгиленеди.

3. Максимум сан, минимум сан ҳәм орташа санды табыў

Берилген санлар ишинде мәниси ең үлкен санды максимум сан (ең үлкен сан) деп атайды. Инглизшесине maximum number болады.

Мәселен, 35, 5, 8, 43, 12 санлары ишинде ең үлкен сан бул 43.

Берилген санлар ишинде мәниси ең киши санды минимум сан (ең киши сан) деп атайды. Инглизшесине minimum number болады.

35, 5, 8, 43, 12 санлары ишинде ең кишиси бул 5.

Ҳәр бир тилде максимум яки минимум санды табыў ушын арнаўлы функция/усыл белгиленген болады.

Көпшилиги төмендеги көриниске ийе:

Math.max()
Math.min()

Орташа сан деген түсиник бар. Инглизшесине average number, русшасына среднее число деп атайды.

Берилген санлардың орташа мәниси бул сол санлардың қосындысын сол санлардың санына (нешеў екенине) бөлип таслағанға тең.

Егер жоқарыдағы гәпке түсинбеген болсаңыз, төмендеги формулаға бир қарап көриң.

35, 5, 8, 43, 12 санлардың орташа мәниси былайынша есапланады.

Биринши, санлардың улыўмалық қосындысын табамыз.

35 + 5 + 8 + 43 + 12 = 103

Екинши, қосындыны санлардың санына бөлемиз.

103 : 5 = 20.6

Орташа санды қалай есаплап табыўды билиў пайдалы.

4. Абсолют санлар ҳаққында

Ҳәр қандай санның (минус сан болсын, плюс сан болсын) абсолют мәниси плюс сан болады.

Абсолют санларды төмендегише жазамыз:

|x|

Мысал ушын:

|5| = 5
|-5| = 5

5 деген плюс сан, ҳәм -5 деген минус санның абсолют мәниси ҳәр дайым 5 ке тең.

Базыда, алгоритм жазғанда абсолют санлар менен ислескенде, оларды қалай табыўды интернетти тез излеп билип алсаңыз болады.

Ҳәр бир тилде абсолют мәнисти табыў усылы өз алдына белгиленген. Көпшилиги Math.abs() деген көринисте келеди.

5. > ҳәм < белгилерден пайдаланып билиў ҳаққында

Мектепте басланғыш класларда үлкен, киши (> <) математикалық белгилери ҳаққында үйренген болсаңыз керек. Усы белгилер нени аңлатыўын түсинип алыў жүдә әҳмийетли. Мен өзим күнине бир неше рет усы белгилерден пайдаланып программа жазаман.

> < еки санды, мәнисти бир-бири менен салыстырыў ушын қолланылатуғын белгилер есапланады.

Мәселен, сиз ҳаўа райы приложениесин жаратпақшысыз деп алайық. Егер ҳаўа температурасы 30 градустан асып кетсе, "Бүгин күн ыссы", 20 градустан жоқары болса "Бүгин күн жыллы", температура 0 градустан төменлеп кетсе "Бүгин күн суўық" деген хабарларды пайдаланыўшыға көрсетиўди қәлейсиз.

Буның ушын сизге > < белгилери көп ас қатады.

температура > 30  →  "Күн ысы!"    (30 градустан жоқары болса)
температура < 29  →  "Күн жыллы!"  (29 градустан төмен болса)
температура < 15  →  "Күн салқын!" (15 градустан төмен болса)
температура < 0   →  "Күн суўық!"  (0 градустан төмен болса)

Неге 0 (ноль) ден киши болса?

Себеби, минус санлар ҳәр дайым 0 (ноль) ден киши болады.

6. ==, != белгилерден пайдаланып билиў ҳаққында

Мына белгилер ==, != көбинесе еки мәнистиң (сөз яки сан) бир-бирине тең яки тең емес екенин тексереди.

Мәселен, егер онлайн тестте 100 балл алған болсаңыз, экранда "Сиз ҳәмме сораўларға дурыс жуўап бердиңиз" деген жазыўды көрсетиўди қәлеймиз.

Сол ўақытта, төмендегише етип код жазсақ болады.

if ball == 100
    print("Сиз ҳәмме сораўларға дурыс жуўап бердиңиз!")

Усы жерде == тең екенин тексереди, != белгилери еки мәнистиң тең емес екенин тексереди.

Ҳәзирше есиме келип турған математикаға байланысы бар темалар усылар.

Егер тағы басқаларын еслеп қалсам, усы блогтың изине тиркеп жазып бара беремен.

Ҳәр күни таза нәрсе үйрениўге, билим алыўға қуштар болайық!