Yangi formatda davom etish uchun: https://uzfor.net/31849-algoritm-tuzishda-ko039maklashamiz.html
ALGORITM TUZISHDA KO'MAKLASHAMIZ
Xabarlar
Bu mavzuda biz bir-birimizga biror dasturning algoritmini tuzishda ko'maklashamiz. Men ham javob berishga harakat qilaman.
Dastur_UZ, nima deganiz bu algoritm nimaligini bilmaysizmi ?(lol)
3 daqiqa 29 soniyadan keyin yozdi:
Algoritm" atamasi mashhur matematik, yurtdoshimiz Al-Xorazmiy nomi bilan bogʻliq boʻlib uni lotinlashtirilishidir. Bizga maʼlum boʻlgan eng qadimiy algoritm bu Yevklid algoritmidir. Algoritmlar nazariyasi, ayniqsa, XX asrda juda rivojlanib, u bilan Tyuring, Post, Chyorch, Viner, Markov, Kolmogorov kabi yuksak olimlar shugʻullanishgan.
Algoritm — maʼlum bir turga oid masalalarni yechishda ishlatiladigan amallarning muayyan tartibda bajarilishi haqidagi aniq qoida (dastur). Kibernetika va matematikaning asosiy tushunchalaridan biri.
Algoritm – berilgan natijaga erishish uchun qilinishi kerak boʻlgan aniq koʻrsatmalar ketma-ketligi. Algoritm keng maʼnoda faqat kompyuterga oid atama boʻlmay, balki unda berilgan koʻrsatmalarni bajara oluvchi har qanday narsaga oiddir.
3 daqiqa 29 soniyadan keyin yozdi:
Algoritm" atamasi mashhur matematik, yurtdoshimiz Al-Xorazmiy nomi bilan bogʻliq boʻlib uni lotinlashtirilishidir. Bizga maʼlum boʻlgan eng qadimiy algoritm bu Yevklid algoritmidir. Algoritmlar nazariyasi, ayniqsa, XX asrda juda rivojlanib, u bilan Tyuring, Post, Chyorch, Viner, Markov, Kolmogorov kabi yuksak olimlar shugʻullanishgan.
Algoritm — maʼlum bir turga oid masalalarni yechishda ishlatiladigan amallarning muayyan tartibda bajarilishi haqidagi aniq qoida (dastur). Kibernetika va matematikaning asosiy tushunchalaridan biri.
Algoritm – berilgan natijaga erishish uchun qilinishi kerak boʻlgan aniq koʻrsatmalar ketma-ketligi. Algoritm keng maʼnoda faqat kompyuterga oid atama boʻlmay, balki unda berilgan koʻrsatmalarni bajara oluvchi har qanday narsaga oiddir.
Savol:
bitta matnni 3 ga bo'lib alohida alohida fayllarga saqlash kerak har birini alohida fayl qilib yozib alohida nom bilan ketma ketlikda saqlash lozim.bu kupro algoritm emas kod ga muhtoj
1 daqiqa 35 soniyadan keyin yozdi:
Yana savol
Aytaylik bizga n elementdan iborat massiv berilgan, manfiy va musbat sonlardan iborat bo'lgan. shu massivdagi istalgan 3 ta element kopaytmasini eng katta qiymatini topish kerak.
4 daqiqa 42 soniyadan keyin yozdi:
Bilamizki har bir algoritmni blok sxemasi bo'ladi. Lekin uni oddiy word yoki wunga o'hshash paketlarda bajarish vaqtni olib qo'yadi. Bir algoritmni blok sxemasini tuzguncha ancha misol ishlab qo'ysa bo'ladi.
5 daqiqa 14 soniyadan keyin yozdi:
Bunda bizga ushbu dasturlar yordam beradi
1. draw.io - online
2. Microsoft Visio
3. Dia - http://dia-installer.de/
4. Diagram designer - http://logicnet.dk/DiagramDesigner/
7 daqiqa 28 soniyadan keyin yozdi:
shuningdek ushbu dastur ha,
UML Rational Rose. Dasturni ipidan ignasigacha tuzib chiqishingiz mumkin. Undan tashqari sxemasi asosida kodlarni ham generatsiya qiladi.
bitta matnni 3 ga bo'lib alohida alohida fayllarga saqlash kerak har birini alohida fayl qilib yozib alohida nom bilan ketma ketlikda saqlash lozim.bu kupro algoritm emas kod ga muhtoj
1 daqiqa 35 soniyadan keyin yozdi:
Yana savol
Aytaylik bizga n elementdan iborat massiv berilgan, manfiy va musbat sonlardan iborat bo'lgan. shu massivdagi istalgan 3 ta element kopaytmasini eng katta qiymatini topish kerak.
4 daqiqa 42 soniyadan keyin yozdi:
Bilamizki har bir algoritmni blok sxemasi bo'ladi. Lekin uni oddiy word yoki wunga o'hshash paketlarda bajarish vaqtni olib qo'yadi. Bir algoritmni blok sxemasini tuzguncha ancha misol ishlab qo'ysa bo'ladi.
5 daqiqa 14 soniyadan keyin yozdi:
Bunda bizga ushbu dasturlar yordam beradi
1. draw.io - online
2. Microsoft Visio
3. Dia - http://dia-installer.de/
4. Diagram designer - http://logicnet.dk/DiagramDesigner/
7 daqiqa 28 soniyadan keyin yozdi:
shuningdek ushbu dastur ha,
UML Rational Rose. Dasturni ipidan ignasigacha tuzib chiqishingiz mumkin. Undan tashqari sxemasi asosida kodlarni ham generatsiya qiladi.
Rare, Yaxshi ma'lumotlar... Men bu forumda yangiman. DasturUZga javob beribsiz. Lekin uni posti qani?
2 daqiqa 49 soniyadan keyin yozdi:
Yana bir taklif. Bu yerda javobni nafaqat algoritm ko'rinishida, balki, ehtiyojga qarab boshqa dasturlash tillarida ham keltirishimiz mumkin.
2 daqiqa 49 soniyadan keyin yozdi:
Yana bir taklif. Bu yerda javobni nafaqat algoritm ko'rinishida, balki, ehtiyojga qarab boshqa dasturlash tillarida ham keltirishimiz mumkin.
Fruden, Men uchun basicda. O'zgaruvchilarni tavsiflash ham shart emas. Xoxlagan paytingiz xoxlagan o'zgaruvchini kiritib ketaverasiz. Xoxlasangiz qiymat bermasdan ham qo'llab ketish mumkin. Boshlang'ich qiymati nol bo'ladi. Sikllar uchun nishon qo'yib o'tirmaysiz. Biror qatorga yo'naltirasiz xolos. Masalan goto 50.
Rare, Aynan blok sxema ko'rinishida bo'lishi shart emasku. Ketma ketlikda yozib ketaverilsa bo'ladi. Masalan
1)boshlansin
2)a:=2 deb olinsin...
1)boshlansin
2)a:=2 deb olinsin...
Arey, Maktab informatika kursidan ma`lumki, algoritm bu – ma`lum masalani hal qilish uchun bajarish kerak bo`lgan amallar ketma-ketligi. O`sha mashhur choy damlash algoritmidan chekingan holda hayotiy misol keltiramiz. Hayotda eng ko`p bo`ladigan holatimiz bu uyqu. Ko`pchilik rejim bilan uxlaydi , ya`ni uxlashga ma`lum bir vaqtni belgilagan. Misol uchun siz uxlashga yotish uchun 22:00ni tanladingiz. Har safar soatga qaraganingizda uxlash vaqti bo`lgan yoki bo`lmaganini tekshirasiz. Miyangizda esa quyidagi jarayon bo`ladi:
12
Bu oddiy uyquga yotish algoritmi edi. Hayotda o`zimiz bilmagan holatda algoritmlardan foydalanamiz. Miyamiz juda tez ishlagani sabab qadamlar ketma-ketligi haqida o`ylab ko`rmaymiz.
Endi maqolamizning asosiy qismi, dasturlashda algoritmlashga o`tamiz. Dasturlashda algoritm bu – masalani yechish uchun bajarilishi kerak bo`lgan amallar ketma-ketligini kodga o`girilgan varianti. Bunda masalani yechish uchun miyamizda kechayotgan jarayonni kompyuter tushunadigan qilib yozish talab etiladi.
Algoritmlashning asosi matematika hisoblanadi. Bunda fikrlash muhim rol o`ynaydi. So`zimni quyidagicha isbot qilaman. Dasturlash sanoatida gigant korporatsiya hisoblangan Microsoftning asoschisi Bill Geytsning shunday so`zlari dasturchilar orasidda mashhur:”Qo`shish va ayirishni biladigan har qanday inson dasturchi bo`la oladi”. Bu so`zlarni mag`zini chaqish uchun sizlarni boshlang`ich sinflarga qaytishga taklif etaman. Har birimiz boshlang`ich sinflarda qo`shish va ayirish amallarini o`rgangan edik. Ko`pchilik buni barmoqlari orqali bajargan. Chunki barmoqlar 10ta va raqamlarni qo`shish va ayirishda qo`l keladi. Keyinchalik matematik evolutsiyamiz sonlar bilan qo`shish va ayirish amallarini bajarish bosqichiga yetib keladi. Bu rivojlanish jarayoni yangi amallar bilan boyidi va endi bir xil raqamlarni bir necha marta qo`shishni osonlashtirish uchun ko`paytirish jadvalini o`rgandik. E`tibor bering, ko`paytirish algoritmi qo`shish algoritmining asosiga qurilgan. Rivojlanishimiz davom etib, endilikda qoldiqli bo`lish va shu kabi murakkabroq amallarga o`tamiz. Maktabni bitirish vaqtida esa juda murakkab amallarni ham bajara oladigan darajada bo`lamiz. Ana ko`rdingizmi, hamma murakkab amallarning asosi qo`shish va ayirishdan boshlanadi. U yog`i esa fikrlash doirangiz kengligiga bog`liq. Demak, dasturlashdagi asosiy masalalar matematik fikrlashga bog`liq.
Algoritmlashning asosiy shartlaridan biri bu – dasturning ishlash tezligi. Kod qanchalik optimal bo`lsa, dastur shuncha tez ishlaydi. Dastur tezligini pasaytiruvchi omillar bu – loop , ya`ni takrorlanishlar. Sikl ichida sikl ochish yoki sikl ichida shart tekshirish dastur tezligini ma`lum darajada pasaytiradi. Hayotiy misol keltiraman: 7ta 45ni bir biriga qo`shing. Har birini alohida qo`shib chiqish uchun vaqt talab etiladi. Ya`ni 7 marta bir xil amalni bajarish kerak. Xuddi shuni ko`paytirish amali orqali kamroq vaqt sarflab amalga oshirish mumkin. Har birimiz arifmetik progressiya haqida tushunchaga egamiz. Hadlari bir biridan ma`lum d songa farq qiladigan sonli ketma-ketlik. Shuni nta hadi yig`indisini toppish uchun n marta har safar yangi hadni topish va uni oldingi sonlar yig`indisiga qo`shish talab etiladi. Bu esa juda ko`p vaqt talab qiladi. Aynan shu muammo matematikada oddiy formula orqali hal etilgan. Bu muammoni hal etish formulasi esa albatta tafakkur mahsuli hisoblanadi. Siz ham yuqori darajali masalalarni yechishda ana shunday ixtirolar qilasiz yoki boshqa ixtirolardan foydalanasiz.
Dasturlashda algoritmlashning asosan 4 turi mavjud:
Saralash
Qidirish
Grafiklar
Stringlar
12
Bu oddiy uyquga yotish algoritmi edi. Hayotda o`zimiz bilmagan holatda algoritmlardan foydalanamiz. Miyamiz juda tez ishlagani sabab qadamlar ketma-ketligi haqida o`ylab ko`rmaymiz.
Endi maqolamizning asosiy qismi, dasturlashda algoritmlashga o`tamiz. Dasturlashda algoritm bu – masalani yechish uchun bajarilishi kerak bo`lgan amallar ketma-ketligini kodga o`girilgan varianti. Bunda masalani yechish uchun miyamizda kechayotgan jarayonni kompyuter tushunadigan qilib yozish talab etiladi.
Algoritmlashning asosi matematika hisoblanadi. Bunda fikrlash muhim rol o`ynaydi. So`zimni quyidagicha isbot qilaman. Dasturlash sanoatida gigant korporatsiya hisoblangan Microsoftning asoschisi Bill Geytsning shunday so`zlari dasturchilar orasidda mashhur:”Qo`shish va ayirishni biladigan har qanday inson dasturchi bo`la oladi”. Bu so`zlarni mag`zini chaqish uchun sizlarni boshlang`ich sinflarga qaytishga taklif etaman. Har birimiz boshlang`ich sinflarda qo`shish va ayirish amallarini o`rgangan edik. Ko`pchilik buni barmoqlari orqali bajargan. Chunki barmoqlar 10ta va raqamlarni qo`shish va ayirishda qo`l keladi. Keyinchalik matematik evolutsiyamiz sonlar bilan qo`shish va ayirish amallarini bajarish bosqichiga yetib keladi. Bu rivojlanish jarayoni yangi amallar bilan boyidi va endi bir xil raqamlarni bir necha marta qo`shishni osonlashtirish uchun ko`paytirish jadvalini o`rgandik. E`tibor bering, ko`paytirish algoritmi qo`shish algoritmining asosiga qurilgan. Rivojlanishimiz davom etib, endilikda qoldiqli bo`lish va shu kabi murakkabroq amallarga o`tamiz. Maktabni bitirish vaqtida esa juda murakkab amallarni ham bajara oladigan darajada bo`lamiz. Ana ko`rdingizmi, hamma murakkab amallarning asosi qo`shish va ayirishdan boshlanadi. U yog`i esa fikrlash doirangiz kengligiga bog`liq. Demak, dasturlashdagi asosiy masalalar matematik fikrlashga bog`liq.
Algoritmlashning asosiy shartlaridan biri bu – dasturning ishlash tezligi. Kod qanchalik optimal bo`lsa, dastur shuncha tez ishlaydi. Dastur tezligini pasaytiruvchi omillar bu – loop , ya`ni takrorlanishlar. Sikl ichida sikl ochish yoki sikl ichida shart tekshirish dastur tezligini ma`lum darajada pasaytiradi. Hayotiy misol keltiraman: 7ta 45ni bir biriga qo`shing. Har birini alohida qo`shib chiqish uchun vaqt talab etiladi. Ya`ni 7 marta bir xil amalni bajarish kerak. Xuddi shuni ko`paytirish amali orqali kamroq vaqt sarflab amalga oshirish mumkin. Har birimiz arifmetik progressiya haqida tushunchaga egamiz. Hadlari bir biridan ma`lum d songa farq qiladigan sonli ketma-ketlik. Shuni nta hadi yig`indisini toppish uchun n marta har safar yangi hadni topish va uni oldingi sonlar yig`indisiga qo`shish talab etiladi. Bu esa juda ko`p vaqt talab qiladi. Aynan shu muammo matematikada oddiy formula orqali hal etilgan. Bu muammoni hal etish formulasi esa albatta tafakkur mahsuli hisoblanadi. Siz ham yuqori darajali masalalarni yechishda ana shunday ixtirolar qilasiz yoki boshqa ixtirolardan foydalanasiz.
Dasturlashda algoritmlashning asosan 4 turi mavjud:
Saralash
Qidirish
Grafiklar
Stringlar
+ (1): End,
Tavsiya etamiz:
- Hoziroq maydonlarni to'ldiring va reklamangizni joylashtiring!
Mavzuga oid xabarlar soni: 13 ta
So'ngi faollik vaqti: 10:25:28, 15 Jun 2018