Upang magsulat ng mga aplikasyon ng iba't ibang antas ng pagiging kumplikado, kailangan mo munang magkaroon ng kaalaman kung paano ito gagawin. At ito ay kanais-nais na magsimula mula sa pinakabatayan ng algorithmization at programming. Iyan ang pag-uusapan natin sa artikulo.
Ano ang computer science?
Ito ang pangalan ng isang kumplikadong teknikal na agham, ang gawain kung saan ay i-systematize ang mga pamamaraan ng paglikha, pagproseso, pagpapadala, pag-iimbak at pagpaparami ng data gamit ang teknolohiya ng computer. Kasama rin dito ang mga prinsipyo ng pagpapatakbo at mga pamamaraan ng pamamahala na tumutulong na makamit ang layunin. Ang terminong "computer science" mismo ay nagmula sa Pranses at isang hybrid ng mga salitang "impormasyon" at "automation". Ito ay lumitaw dahil sa pag-unlad at pagpapakalat ng mga bagong teknolohiya para sa pagkolekta, pagproseso at pagpapadala ng data, na nauugnay sa kanilang pag-aayos sa media ng makina. Ito ang pinagmulan ng computer science. Ang mga pangunahing kaalaman sa algorithmization at programming ay isa sa pinakamahalagang bahagi ng agham na ito.
Ano siyaginagawa?
Informatics ay nahaharap sa mga sumusunod na gawain:
- Suporta sa hardware at software para sa teknolohiya ng computer.
- Mga paraan para matiyak ang interaksyon ng mga bahagi ng tao at computer sa isa't isa.
Ang terminong "interface" ay kadalasang ginagamit upang tumukoy sa teknikal na bahagi. Narito mayroon kaming isang libreng programa. Ang mga pangunahing kaalaman sa algorithmization at programming ay palaging ginagamit kapag lumilikha ng mga produkto ng mass distribution na "dapat" manalo ng malawak na madla. Sa katunayan, para sa katanyagan, ang binuong application ay dapat na gumana at maganda ang hitsura.
Representasyon ng mga algorithm
Maaaring isulat ang mga ito sa maraming paraan. Ang pinakasikat ay ang mga sumusunod:
- Paglalarawan ng verbal-formula. Ipinahihiwatig nito ang paglalagay ng text at mga partikular na formula na magpapaliwanag sa mga tampok ng pakikipag-ugnayan sa lahat ng indibidwal na kaso.
- Flow diagram. Ang pagkakaroon ng mga graphic na simbolo ay ipinahiwatig, na ginagawang posible na maunawaan ang mga tampok ng pakikipag-ugnayan ng programa sa loob mismo at sa iba pang mga application o bahagi ng hardware ng computer. Ang bawat isa sa kanila ay maaaring maging responsable para sa isang hiwalay na function, procedure o formula.
- Algorithmic na mga wika. Ipinahihiwatig nito ang paglikha ng magkakahiwalay na paraan ng paglalarawan para sa mga partikular na kaso, na nagpapakita ng mga feature at pagkakasunud-sunod ng mga gawain.
- Mga scheme ng operator. Ipinapahiwatig ang prototyping - ipapakita nito ang pakikipag-ugnayan batay sa mga landas na iyondadaan ang mga indibidwal na operand.
Pseudocode. Isang sketch ng backbone ng programa.
Pagre-record ng algorithm
Paano simulan ang paggawa ng iyong prototype ng isang program, function o procedure? Upang gawin ito, sapat na gamitin ang mga sumusunod na pangkalahatang rekomendasyon:
- Ang bawat algorithm ay dapat magkaroon ng sarili nitong pangalan, na nagpapaliwanag ng kahulugan nito.
- Siguraduhing pangalagaan ang presensya ng simula at wakas.
- Dapat na inilarawan ang data ng input at output.
- Tukuyin ang mga utos na magsasagawa ng ilang partikular na pagkilos sa partikular na impormasyon.
Mga paraan ng pagsulat
Maaaring magkaroon ng kasing dami ng limang representasyon ng algorithm. Ngunit dalawa lang ang paraan para magsulat:
- Pormal na berbal. Ito ay nailalarawan sa pamamagitan ng katotohanan na ang paglalarawan ay pangunahing ginawa gamit ang mga formula at salita. Ang nilalaman, pati na rin ang pagkakasunud-sunod ng pagpapatupad ng mga hakbang ng algorithm sa kasong ito, ay nakasulat sa isang natural na propesyonal na wika sa isang arbitrary na anyo.
- Graphic. Ang pinakakaraniwan. Ang mga simbolo ng block o mga scheme ng mga algorithm ay ginagamit para dito. Ang koneksyon sa pagitan ng mga ito ay ipinapakita gamit ang mga espesyal na linya.
Pagbuo ng istruktura ng programa
May tatlong pangunahing uri:
- Linear. Sa istrukturang ito, ang lahat ng mga aksyon ay isinasagawa nang sunud-sunod sa pagkakasunud-sunod ng priyoridad at isang beses lamang. Ang circuit ay mukhang isang sequencemga bloke na nakaayos mula sa itaas hanggang sa ibaba, depende sa pagkakasunud-sunod kung saan sila ay pinaandar. Ang nagreresultang pangunahin at intermediate na data ay hindi makakaapekto sa direksyon ng proseso ng computational.
- Sumasanga. Nakahanap ng malawak na aplikasyon sa pagsasanay, sa paglutas ng mga kumplikadong problema. Kaya, kung kinakailangang isaalang-alang ang mga paunang kundisyon o mga intermediate na resulta, ang mga kinakailangang kalkulasyon ay isinasagawa alinsunod sa mga ito at ang direksyon ng proseso ng pagkalkula ay maaaring magbago depende sa resulta na nakuha.
Cyclic. Upang gawing mas madali para sa iyong sarili na magtrabaho sa maraming mga gawain, makatuwirang ulitin ang ilang mga seksyon ng code ng programa nang maraming beses. Upang hindi magreseta kung gaano karaming beses at kung ano ang kailangang gawin, isang paikot na istraktura ang ginagamit. Nagbibigay ito ng pagkakasunod-sunod ng mga utos na uulitin hanggang sa matugunan ang isang ibinigay na kundisyon. Ang paggamit ng mga loop ay nagbibigay-daan sa iyo na makabuluhang bawasan ang pagiging kumplikado ng pagsusulat ng isang programa.
Programming
Mahalagang piliin ang programming language kung saan gagawin ang mga program. Dapat tandaan na marami sa kanila ay "iniayon" para sa mga partikular na kondisyon sa pagtatrabaho (halimbawa, sa isang browser). Sa pangkalahatan, ang mga programming language ay nahahati sa dalawang grupo:
- Functional.
- Operator:
- hindi pamamaraan;
- pamamaraan.
Mahuhulaan mo ba kung alin ang pinakakaraniwang ginagamit? Operator-procedural - iyan ang sagot. Maaari silang maging nakatuon sa makina o independyente. Ang mga una ayassembler, autocode, symbolic coding. Hinahati ang mga independyente batay sa kanilang oryentasyon:
- procedural;
- problematic;
- object.
Ang bawat isa sa kanila ay may sariling saklaw. Ngunit para sa pagsusulat ng mga programa (mga kapaki-pakinabang na application o laro), ang mga object-oriented na wika ay kadalasang ginagamit. Siyempre, maaari mong gamitin ang iba, ngunit ang katotohanan ay sila ang pinaka-binuo para sa paglikha ng panghuling mga produkto ng mamimili para sa masa. Oo, at kung wala ka pang eksaktong pananaw kung saan magsisimula, iminumungkahi kong bigyang pansin ang mga pangunahing kaalaman sa algorithmization at object-oriented programming. Ngayon ito ay isang napaka-tanyag na lugar kung saan makakahanap ka ng maraming materyal na pang-edukasyon. Sa pangkalahatan, ang mga pangunahing kaalaman sa algorithmization at programming language ay kailangan na ngayon dahil sa kakulangan ng mga kwalipikadong developer, at ang kanilang kahalagahan ay lalago lamang sa hinaharap.
Konklusyon
Kapag nagtatrabaho sa mga algorithm (at kasunod ng mga programa), dapat magsikap ang isa na pag-isipan ang lahat ng mga detalye hanggang sa pinakamaliit. Kasunod nito, ang pagkakakilanlan ng bawat hindi pa nabuong seksyon ng code ay hahantong lamang sa karagdagang trabaho, pagtaas ng mga gastos sa pag-unlad at ang tiyempo ng gawain. Ang maingat na pagpaplano at pagpapaliwanag ng lahat ng mga nuances ay makabuluhang makatipid ng oras, pagsisikap at pera. Well, ngayon ay maaari nilang sabihin na pagkatapos basahin ang artikulong ito, mayroon kang ideya tungkol sa mga pangunahing kaalaman ng algorithmization at programming. Nananatili lamang ang paggamit ng kaalamang ito. Kung meronpagnanais na pag-aralan ang paksa nang mas detalyado, maaari kong payuhan ang aklat na "Mga Batayan ng Algorithmization at Programming" (Semakin, Shestakov) 2012.