Komputer, Programming
Programming. Konstruksi algoritma dhasar
Kanggo nggawe program apa wae, perlu dibangun konstruksi algoritma dhasar. Ing ngisor iki cara paling gampang kanggo ngatasi masalah. Bisa digunakake, contone, kanggo nggarap conto sing padha. Ana jinis liyane: cabang lan perulangan. Babagan kasebut bakal diceritakake ing artikel iki. Nanging pisanan sampeyan kudu ngerti apa algoritma iku kabeh babagan.
Algoritma
Tembung "algoritma" asal saka algoritma Latin. Apa tegese? Tembung asli teka saka jeneng sawijining matématikawan, sing karya ing abad kaping 9. Thanks kanggo risalah al-Khwarizmi, umat manungsa bisa ngerteni jinis dhasar saka konstruksi algoritma lan umum karo konsep umum.
Sadurungé, wangun nulis "algoritma" diadopsi. Saiki digunakake mung ing sawetara kasus.
Algoritma minangka proses sing tegese ngganti data input, kedadeyan ing wangun langkah diskrèt. Kanthi konsep iki, saben wong nemoni urip, sapa wae. Algoritma uga disebut minangka nyiapake tèh utawa pangan, pandhangan utawa tambahan, solusi persamaan, lan liya-liyane. Kabeh peralatan rumah tangga, sing proses kerja otomatis, fungsi kanthi biaya langkah sing jelas, diwenehake ing memori prosesor. Algoritma kasebut disebut algoritma kluwarga. Ana jinis liyane. Coba padha.
Jenis-jenis algoritma
Konstruksi algoritma dasar dibagi dadi sawetara jinis, sing bakal dibahas ing sub-ayat iki. Apa kaya wae?
- Informasi. Algoritma kaya iki bisa digunakake kanthi akèh data, nanging proses pangolahan kasebut dawa lan ora komprehensif.
- Managers. Karya saka algoritma kasebut ana hubungane karo informasi sing diwenehake saka siji utawa sumber liyane. Sawise nampa, sinyal khusus dikirim kanggo njamin operasi piranti kasebut.
- Komputasi. Ora kaya kalkulus informasi, karya sing diterangake kanthi jumlah data cilik, nanging ngasilake proses karya gedhe.
Ing kasunyatan, algoritma iku akurat kanggo instruksi rinci sing paling cilik. Nanging, ora kabeh data kasebut bisa disebut konsep sing diterangake. Kanggo ngerti algoritma instruksi utawa ora, kudu dicenthang kanggo sifat tartamtu.
Sifat algoritma
Kabeh konstruksi algoritma dasar kudu duwe tindakan sing ngrungokake. Ayo ditimbang masalah iki luwih rinci.
Yen sampeyan nglacak karya algoritma lan sifat-sifate, sampeyan bisa ndeleng yen ora perlu ngerti komponen-komponen, cukup cetha yen padha karo rencana. Hasil sing bener bakal dipikolehi, sanajan mung bisa ngetutake tindakan sing diperlokake sacara mekanis. Saka iki, kita bisa nyimpulake yen amarga ora ana tegese ing kesadaran tumindak, algoritma bisa diajukake banget kanggo implementasi komputer. Ing tembung liyane, kanggo piranti otomatis, proses iki perlu.
Properti apa sing kudu dibangun kanthi dhasar algoritmik kanggo karya paling akurat?
- Kejelasan. Saben prentah kudu kaya cetha manawa obyek sing dileksanakake. Misale ora ana sing luwih gampang tinimbang, contone, kanggo nggambar titik ing tengah, ora, nanging nganti sampeyan duwe perintah sing bakal ngidini sampeyan nindakake tindakan, sampeyan ora bakal bisa nindakake.
- Efektifitas. Apa tegese properti iki? Hasil dibutuhake. Algoritma ora bisa mimpin kanggo jawaban apa wae. Amarga kesalahan, sampeyan bisa ngilangi asil sing salah, sing dikarepake, nanging isih bakal. Menapa malih, jawaban kedah dipungadhahi sasampunipun langkah-langkah tartamtu.
- Massa. Sembarang algoritma kudu ditrapake kanggo sawetara tugas kelas. Antarane, padha bisa beda-beda saka data asli.
- Kepiye. Saben tumindak kudu mung siji nilai lan ora ngidini kanggo decryption derivatif. Saenipun, manawi program punika lumampah, asilipun kedah tansah sami.
- Discreteness. Algoritma - langkah-langkah sekuensial. Saben langkah minangka printah, sampeyan ora bisa ngliwati utawa nambah anyar.
- Correctness. Sembarang algoritma sing ditrapake kanggo tugas apa wae kudu bener kanggo kabeh. Ing program, masalah asring ora muncul ing langkah-langkah nulis, sing asring ora akeh wektu, nanging uga kanggo nindakake macem-macem pitakonan. Mulane, langkah penting yaiku debugging algoritma. Bisa mbantu desain lan algoritma dhasar, pengulangan sing bakal entuk asil sing luwih apik.
Gambaran saka algoritma
Yen kita ngomong babagan cara nulis kalkulus, banjur kita kudu mbedakake:
- Langsung. Ing tembung liya, ing basa sing trep kanggo njlèntrèhaké komponèn.
- Tabular. Secara logis, algoritma ditulis ing tabel lan, minangka aturan, digunakake minangka unsur tambahan.
- Secara langsung. Basis punika cara panjelasan lisan, nanging rumus utawa simbol matematika uga direkam ing tumindak kasebut.
- Grafis. Algoritma kasebut ditulis ing basa khusus diagram blok.
Titik pungkasan kudu diklarifikasi. Apa diagram sing cocog? Iki minangka algoritma linear utawa non-linear, langkah-langkah sing dicathet nggunakake blok khusus. Padha duwe konfigurasi dhewe, tujuan lan fungsi. Ing kasus deskripsi kasebut, algoritma ditulis ing bagiyan blok sing disambung bebarengan karo baris. Ing wong-wong mau, perlu uga nulis tumindak (langkah).
Konstruksi algoritmik
Sawetara mbantah yen kalkulus ora ana 3 jinis, nanging 4. Konstruksi algoritma utama: linear, branching, cyclic. Apa alasan kanggo misconception iki ora cetha. Nanging, kanggo solusi sing prasaja masalah rumit, komputer nggunakake algoritma saka telung klompok iki sing cukup gedhe. Coba padha.
- Linear. Proses komputasi kaya nampa jeneng kasebut amarga kasunyatan sing kabeh tumindak dileksanakake ing urutan linear, kanthi saben langkah sing dilakoni ora luwih saka sepisan. Yen kita nimbang rencana masalah kasebut, banjur blok kasebut ditempelake siji ing sangisore, gumantung nomer urutane tugas. Algoritma linier bisa digunakake kanthi cara sing arah lan makna saka tumindak ora owah saka data dhisikan. Cara sing kaya mangkene cocok kanggo ngitung jumlah utawa prabédan, dhaerah utawa perimeter, lan liya-liyane. Tipe utama saka konstruksi algoritma yaiku.
- Nggawe. Proses komputasi iki nyebabake ekspresi logis (luwih lanjut LV) lan pilihan kondisi (cabang "ngapusi" lan "bener"). Ing saben kasus, mung siji saka loro utawa luwih tim dileksanakake. Ora ana tugas lan ora bisa, ing pilihan liyane bakal kawujud. Yen ana rong cabang ing algoritma, prasaja, yen luwih saka rong cabang iku komplek. Lan proses pungkasan gampang diwakili kanthi biaya saka mantan. Tipe utama saka konstruksi algoritma yaiku titik pisanan lan liya. Spesies iki uga kalebu ing daftar iki.
- Cyclic. Ing algoritma kasebut, bakal ana unsur sing diulang-ulang, lan data wiwitan sing beda digunakake. Ing tembung liya, proses kaya kasebut disebut siklus.
Perlu dicathet yen kabeh konstruksi algoritma dhasar (tindakake, cabang, siklus) silih saling gegayutan, sanajan bisa digunakake kanthi kapisah.
Pagawé siklus lan jinisé
Apa perlu kanggo nggawe loop?
- Counter siklus. Iki minangka variabel sing nemtokake nilai awal, lan nalika tindakan diulang, bakal ganti. Sampeyan kudu dadi bagean saka algoritma. Konstruksi algoritma dhasar saka jinis siklis ora bisa dilakoni tanpa.
- Ngganti indikator data ndhuwur sadurunge siklus anyar diulang.
- Priksa kondisi sing komputer nemtokake manawa "mundur" siklus utawa luwih, ora perlu.
Siklus bisa dadi deterministik lan iteratif. Sing kapisan makili pengulangan tumindak kanthi nomer repetisi sing wis dikawruhi. Siklus pengulangan minangka salah siji sing mbaleni kaping tanpa wates nganti kondisi kasebut bener utawa palsu.
Algoritma dhasar
Iku meh ngelingi yen algoritma dhasar ora ditrapake kanggo konstruksi algorithm dhasar. Apa dheweke kaya? Konsep iki durung ditemokake ing literatur modern, nanging iki ora ateges ora ana maneh. Menimbang manawa sawetara cabang utawa repetisi bisa dumadi ing ngatasi masalah, kesimpulan ing ngisor iki bisa ditemtokake. Konstruksi algoritma dhasar (linear, branching, cyclic) iku dhasar. Nyatane, iki makili "unit struktural" saben instruksi sing disebut.
Algoritma Linear
Minangka wis jelas saka ndhuwur, algoritma iku linear lan nonlinear. Coba opsi pisanan. Apa sing disebut? Kabeh iku arang banget prasaja. Kasunyatan iku kabeh tumindak sing diterbitake ing algoritma duwe eksekusi cetha sing jelas, kabeh langkah dileksanakake kanthi teliti siji-sijine. Minangka aturan, tugas kasebut cilik lan tingkat kerumitan sing kurang.
Contoh saka algoritma linear bisa dadi proses nggawe teh:
- Tuang banyu menyang ceret.
- Sijine ceret ing kompor kanggo godhok.
- Njupuk tuwung.
- Tuang teh menyang tuwung.
- Nambah gula.
- Sawise nggodhok, tuangake banyu sing nggodhok menyang tuwung.
- Gunakake spoonful.
- Campur gula.
Pemrograman algoritmic dasar dhasar cukup prakara angel, nanging nalika nerangake algoritma linear, asring banget gampang kanggo ngleksanakake.
Nggawe algoritma
Carane ngerti yen algoritma ngepasi? Wis cukup kanggo mesthekake yen ana pilihan loro utawa luwih opsi, gumantung yen kondisi ketemu utawa ora. Saben dalan disebut cabang.
Fitur utama algoritma pangepungan yaiku anané cabang sing kondisional. Iki dumadi nalika verifikasi ekspresi kasebut bener utawa salah.
Biasane, ekspresi logis dituduhake kurang saka, luwih gedhe tinimbang, kurang saka utawa padha karo, sing luwih dhuwur tinimbang utawa padha karo, padha, utawa ora padha. Kadhangkala ana variasi ing ngendi kondisi kasebut ana hubungane karo siji lan sijine kanthi bantuan saka lan (lan) lan (utawa) printah.
Conto saka algoritma kaya iki bisa dadi solusi saka masalah ing ngisor iki: yen expression ((x + 3) / 1) padha karo nomer positif, banjur outputi asil menyang layar, yen negatif, kirimake pangguna babagan kesalahan.
Iku cukup prasaja kanggo nggunakake konstruksi algorithm dhasar ing laku. Cacahé minangka salah sawijining solusi sing paling umum.
Siklus deterministik utawa siklus karo counter
A loop karo counter minangka loop sing kalebu variabel sing ngganti nilai kanthi langkah tartamtu. Langkah iki disetel dening pangguna utawa diwenehake dening programmer nalika nulis agunan kasebut. Paling basa kanggo loop iki digunakake kanggo statement.
Kanggo program nampilake rong baris 4 kali:
- "Carane sampeyan?"
- "Inggih, matur nuwun!"
- "Carane sampeyan?"
- "Inggih, matur nuwun!"
Sampeyan kudu nggawe siklus deterministik. Carane kaya iki? Kita nggunakake basa "Pascal" kanggo pemahaman sing luwih apik babagan desain.
1. Kanggo i: = 1 nganti 2 nggawe:
- i punika counter loop, nemtokake nomer repetitions ing loop.
2. Miwiti (kurikulum operator dibukak supaya loro phrases dadi awak saka loop lan bakal diulang bebarengan.)
3. Writeln ('Carane sampeyan?'):
- tembung writeln tegese output saka tembung sing ana ing kuotasi siji.
4. Writeln ('Well, thank you').
5. Akhir.
6. i: = i + 1.
Minangka sampeyan bisa ndeleng, cukup gampang lan malah luwih migunani kanggo nggunakake konstruksi algorithm dhasar. Algoritma dhasar sing ditepungi kanthi bener, tanpa wong-wong iku ora bisa nulis program.
Siklus karo postkondisi
Dhingklik kanthi postkondisi bisa mbaleni nomer tumindak sing ora mesthi tanpa nyisipake stapler operator utawa tembung senyawa menyang basa kasebut. Bakal kawujud ing paling ora sapisan. Daur ulang munggah nganti kondisi palsu. Iku mandheg nalika indikator bener. Algoritma dibangun babagan iki. Konstruksi algorithmik dasar saka jinis iki bisa dianggo kanthi jangkah iki.
Kanggo ngleksanakake siklus iki, proses Repeat A to B perlu. Umume diterjemahake minangka "tindakan baleni nalika kondhisi palsu". Mulane, proses pengulangan ditulis liwat A, lan data liwat B, sing asil kudu njupuk nilai sing bener.
Siklus kanthi prasyarat
A dobel karo postkondisi dibangun kanthi cara kaya mangkene sing dileksanakake ing paling sethithik wae. Nanging, ana kasus nalika siklus dibutuhake kanggo kasus kasebut, lan yen ora ana pengulangan, mesthine ora. Yen ora, asil bakal salah. Ing kasus iki, sawijining loop karo precondition digunakake. Kanggo nggawe, sampeyan butuh "nalika A do B" mbangun. Perintah pisanan kanthi harfiah diterjemahake minangka "bye." A iku sawijining kondisi, lan B minangka tumindak sing bakal diulang. Desain kabeh tegese: "anggere kondisi punika bener, tumindak".
Kabeh konstruksi algorithm dhasar bisa digunakake mung ing kasus tartamtu. Apa ing siklus karo prasyarat? Yen perlu kanggo ngulang ora tumindak, nanging sawetara, kudu nggunakake operator komposit utawa kurung khusus. Siklus kasebut uga ora bisa ditindakake yen kondisi kasebut ora bener nalika ngetik. Mulane, tindakan kasebut bakal diulang yen bener.
Algoritma tambahan
Algoritma tambahan digunakake ing pangolahan liyane kanthi nemtokake sawijining jeneng. Panggunaan algoritma dhasar ora ditrapake. Ing basa program, proses aksi kasebut disebut subrutin. Kanggo nggampangake nyinaoni kode kasebut lan solusine masalah sing luwih gampang, saben tindakan digabung dadi siji blok, yaiku sawijining algoritma tambahan. Saben uwong bisa diwenehi jeneng, sing ngidini sampeyan ngulang maneh.
Similar articles
Trending Now