KomputerProgramming

Programming. constructions algorithmic dasar

Pikeun nyieun sagala program design algorithmic dasar perlu. Handap mangrupa pilihan panggampangna pikeun ngarengsekeun masalah. Ieu bisa dipaké, e.g., pikeun operasi kalawan conto homogen. Aya jenis séjén: branching na loop. Anu bakal katutupan di artikel ieu. Tapi mimitina nu peryogi ngartos naon hiji algoritma anu sacara umum.

algoritma

Kecap "algoritma" sumping ti algoritmi Latin. Naon eta hartosna? Kecap otentik asalna tina ngaran matematika, kagiatan nu lumangsung di abad IX. Alatan risalah Al Khorezmi umat manusa bisa jadi acquainted jeung tipe dasar desain algorithmic jeung umumna mibanda konsép umum.

formulir saméméhna of spelling diadopsi - "algoritma". Ayeuna eta geus dipake ukur dina kasus tangtu.

Algoritma - a prosés anu hartosna ngarobah data aslina, nu lumangsung dina hambalan diskrit. Kalayan konsép ieu, unggal jalma nyanghareup dina hirup, saha bae anjeunna. Algoritma bisa digambarkeun salaku tea sarta pangan, multiplication atawa tambahan, leyuran persamaan, jeung saterusna. D. Sadaya panerapan anu prosés usaha anu otomatis, ngoperasikeun ngaliwatan léngkah jelas prescribed dina mémori processor. algoritma sapertos disebut rumah tangga. Aya jenis séjén. Hayu urang nalungtik éta.

rupa algoritma

struktur algorithmic dasar dibagi kana sababaraha jenis, anu bakal dibahas dina ayat ieu. Naon maranéhna?

  1. Émbaran. algoritma sapertos anu gawé bareng nu jumlahna ageung data, tapi volume sheer tina ngolah leutik panjangna jeung uncomplicated.
  2. Kontrol. Operasi algoritma sapertos anu pakait sareng informasi anu geus aya ti sumber nu tangtu. Kana resi dikirim sinyal husus pikeun mastikeun operasi alat.
  3. Komputasi. Saperti algoritma informasi digambarkeun gawé bareng saeutik data, tapi ngahasilkeun prosés gawé ageung.

Kanyataanna, algoritma kasebut akurat jeung instruksi jéntré pangleutikna. Sanajan kitu, teu sakabeh data sapertos bisa disebut ngécéskeun konsep. Pikeun neuleuman instruksi algoritma atanapi henteu, éta kudu dipariksa pikeun ayana pasipatan tangtu.

sipat algoritma

Kabéh rarancang algorithmic utama kudu boga lampah anu aranjeunna "nurut". Mertimbangkeun sual ieu leuwih jéntré.

Mun pinuh lagu kinerja nu algoritma jeung sipat maranéhanana, anjeun tiasa ningali nu teu merta ngartos komponén maranéhanana, cukup jelas pikeun nyocogkeun rencana. Hasil nu bener ieu dicandak, sanajan upami Anjeun ngan lengket Peta mékanis nu dipikahoyong. Ti ieu bisa dicindekkeun yén alatan kurangna harti dina kagiatan kasadaran, algoritma kasebut rada mungkin mayar palaksanaan komputer. Dina basa sejen, keur alat otomatis merlukeun ketersediaan prosés ieu.

Pasipatan naon kudu boga rarancang algorithmic dasar pikeun digawé precision maksimum?

  1. Understandability. Tiap tim kedah obyék jalan sakumaha jelas. Sigana nu euweuh téh gampang ti, contona, ngagambar titik di pusat, aya tapi teu dieja kaluar tim, anu baris ngalakukeun aksi, éta teu bisa dipigawé.
  2. Efektivitas. Nu hartina milik ieu? Diperlukeun pikeun ménta hasilna. Algoritma teu bisa tapi ngabalukarkeun sababaraha jenis jawaban. Alatan kasalahan, anjeun bisa meunangkeun hasil salah nu ieu dipikahayang, tapi anjeunna bakal. Leuwih ti éta, respons kudu narima sanggeus sababaraha hambalan.
  3. Massa. Sagala algoritma kedah lumaku pikeun sagala kelas masalah. Antara aranjeunna maranéhna bisa rupa-rupa data input.
  4. Kapastian. Unggal Peta kudu boga ngan hiji harti, teu masihan kamungkinan keur nyah turunan. Ideally, euweuh urusan sabaraha program nu diawalan, hasilna kudu sarua sepanjang waktos.
  5. Diskrit. Algoritma - léngkah palaksanaan konsisten. Tiap hambalan téh paréntah pikeun skip atawa tambahkeun leuwih anyar teu bisa.
  6. Correctness. Sagala algoritma anu lumaku pikeun nanaon nu tugas, kudu bener for everyone. Dina programming, aya mindeng masalah henteu dina hambalan tulisan, nu mindeng teu merlukeun loba waktu, sarta di bawa kaluar maranéhanana pikeun sagala jinis patarosan. Ku alatan éta, hiji hambalan penting bakal ka debug algoritma nu. Tiasa nulungan jeung ieu sareng rarancang algorithmic dasar, pengulangan nu bakal ngakibatkeun hasil hadé.

Pedaran algoritma

Lamun urang ngobrol ngeunaan kumaha carana nulis algoritma, sakuduna nyorot di handap:

  • Lisan. Kalayan kecap séjén, dina basa, nu merenah pikeun nyarita komponén.
  • Méja. Logis, algoritma kasebut ditulis dina méja tur biasana dipaké salaku unsur bantu.
  • Rumus-verbal. dasar dicokot metoda izyasneniya verbal, tapi lampah sapertos ogé dirékam karakter atawa rumus matematis.
  • Grafis. Misalna algoritma hiji anu ditulis dina flowcharts basa husus.

Perlu netelakeun titik panungtungan. Naon flowchart a? liniér ieu atanapi algoritma linier, léngkah tina nu ditulis maké unit husus. Aranjeunna mibanda konfigurasi sorangan, Tujuan jeung fungsina. Dina kasus pedaran ieu, algoritma ditulis block diagram nu garis interconnected. Éta ogé kudu nulis Peta tinangtu (hambalan).

desain algorithmic

Sababaraha ngajawab yén algoritma teu boga 3 jenis, sarta 4. Desain algorithmic dasar: linier, cabang, siklik. Naon alesan misconception sapertos ieu, teu jelas. Najan kitu, keur solusi basajan masalah kompléks maké algoritma komputer keur tilu grup cukup badag ieu. Hayu urang nalungtik éta.

  1. Linier. prosés komputasi Ieu ngagaduhan nami ieu alatan kanyataan yén sagala laku lampah anu dilumangsungkeun dina runtuyan linier, wherein tiap hambalan anu dipigawé leuwih ti sakali. Lamun urang nganggap skéma tina masalah, mangka blok ditempatkeun hiji luhureun sejen, gumantung kana kinerja angka runtuyan. algoritma linier dianggo dina cara sapertos yén data aslina henteu ngarobah arah jeung rasa Peta. solusi sapertos metoda cocog pikeun komputasi jumlah atawa bédana, wangun pasagi, atawa tina perimeter anak, jeung saterusna. N. The tipe utama design algorithmic persis eta.
  2. Branching. prosés komputasi Ieu ngakibatkeun ayana ekspresi logis (LP) sarta hiji pilihan kaayaan (cabang "palsu" jeung "leres"). Dina unggal hal, éta sadar ukur salah sahiji dua atawa leuwih tim. Taya masalah teu tiasa, anu baris dilaksanakeun kénéh pilihan séjén. Mun dua cabang algoritma teh, nya eta basajan, upami langkung ti dua - kompleks. Prosés dimungkinkeun sigana gampang di expense tina munggaran. Tipe utama design algorithmic teh titik kahiji jeung kadua teh. Wangun kawas kieu ogé kaasup dina daptar ieu.
  3. Cyclical. Algoritma ieu bakal merta unsur diulang, bari maké data input béda. Dina basa sejen, prosés kitu disebutna siklus hiji.

Ieu kudu dicatet yén sakabéh rarancang algorithmic utama (di handap, dahan, puteran) anu interconnected saling, sanajan maranehna bisa dipaké nyalira.

Nyieun puteran sarta jenis maranéhna

Naon eta nyandak kana nyieun loop a?

  • The loop counter. Ieu ngarupakeun variabel nu ngahartikeun nilai awal, jeung pengulangan peta éta bakal ngarobah. Ieu merta kedah asupkeun kana algoritma nu. konstruksi algorithmic dasar pigura-jenis karya tanpa eta moal bakal.
  • Ngarobah indéks luhur data saméméh hiji Ambalan anyar siklusna.
  • Pariksa kaayaanana ka komputer mutuskeun naha mun deui "gulung" loop atawa leuwih aya teu kudu.

Siklus tiasa deterministik jeung iterative. Kahiji nyaéta redo kalawan jumlah dipikawanoh tina pangulangan. Iterative siklus - salah nu diulang jumlah teu katangtu waktu dugi kondisina bener atawa palsu.

Algoritma dasar

Eta sia mun inget yen strukturna algorithmic dasar teu kaasup algoritma dasar. Naon eta? Konsep ieu euweuh kapanggih dina literatur modern, tapi ieu teu hartosna yén hancana jeung euweuh aya. Nunjukkeun yen leyuran masalah bisa jadi encountered sababaraha cabang atawa pangulangan, kacindekan handap. constructions dasar algorithmic (linear, cabang, siklik) mangrupakeun dasar. Kanyataanna, aranjeunna ngagambarkeun "Unit struktural" unggal disebut paréntah.

algoritma linier

Salaku jelas ti luhur, hiji algoritma anu liniér sarta non-linier. Mertimbangkeun perwujudan munggaran. Naha maranéhna nelepon deui? Kabéh kacida gampangna. nyatana yen sagala laku lampah nu dimaénkeun di algoritma nu, nu jelas palaksanaan konsisten sadaya hambalan anu mastikeun hiji sanggeus sejen. Ilaharna, tugas ieu leutik sarta boga tingkat low of pajeulitna.

Conto algoritma liniér bisa prosés persiapan tea:

  1. Tuang cai kana ketel nu.
  2. Nempatkeun ketel dina kompor kulub.
  3. Candak cup.
  4. Tuang kana cangkir tea.
  5. Tambahkeun gula.
  6. Sanggeus cai panas ngagolak dituang kana cup.
  7. Candak séndok a.
  8. Aduk gula.

Program struktur algorithmic dasar - cukup deal beurat, tapi lamun eta mangrupakeun algoritma linier, éta mindeng pisan gampang pikeun nerapkeun aranjeunna.

branching algoritma

Kumaha ngarti yén algoritma kasebut branching? Ieu cukup pikeun mastikeun nu boga pilihan dua atawa leuwih kursus ngeunaan aksi, gumantung kana kinerja atawa kaayaan gagalna. Unggal jalur disebut cabang.

Ciri utama tina branching algoritma nya éta ayana cabang kondisional. Ieu lumangsung dina mangsa ekspresi test ka bebeneran atanapi bohong.

Ilaharna, nu ungkapan logis anu digambarkeun tanda "kirang ti", "beuki", "kurang atawa sarua", "gede ti atawa sarua jeung", "sarua", "teu sarua". Kadang-kadang aya embodiments dimana kondisi pakait saling ku paréntah sarta (u) atawa (atawa).

Conto algoritma misalna hiji bisa jadi solusi pikeun masalah handap: lamun babasan ((x + 3) / 1) sarua jeung jumlah positif, lajeng nembongkeun hasilna dina layar, lamun négatip - pikeun nginpokeun pamaké ngeunaan kasalahan nu.

cukup basajan dina praktekna ngagunakeun desain algorithmic dasar. Branching mangrupakeun salah sahiji metodeu nu paling umum pikeun ngarengsekeun.

siklus deterministik atawa tina siklus counter

Daur sahiji loket - siklus anu ngawengku variabel anu robah ku nilai hambalan tangtu. Hambalan ditetepkeun ku pamaké atawa prescribed ku programmer di nalika nulis software. Kalolobaan basa keur siklus ieu migunakeun hiji operator pikeun.

Pikeun program pikeun nembongkeun dua jajar 4 kali:

  1. "Kumaha damang?"
  2. "Muhun, hatur nuhun!"
  3. "Kumaha damang?"
  4. "Muhun, hatur nuhun!"

Anjeun kudu nyieun hiji siklus deterministik. Kumaha carana sangkan eta kasampak? Kami nganggo basa "Pascal" pikeun persépsi hadé desain.

1. Kanggo abdi: = 1 nepi ka 2 ngalakukeun:

- i mangrupakeun siklus counter, éta nangtukeun Jumlah pangulangan dina loop a.

2. Dimimitian (bracket Curly kabuka ka dua frasa mangrupa siklus awak jeung terus-terusan babarengan.)

3. Writeln ( 'kumaha damang?'):

- Kecap hartina frasa kacindekan writeln keur di tanda petik tunggal.

4. Writeln ( 'Rupa, hatur nuhun').

5. Tungtung.

6. i: = abdi + 1.

Salaku bisa ningali, rada gampang komo senang ngagunakeun desain algorithmic dasar. algoritma dasar bener ogé dipikawanoh, tanpa aranjeunna mustahil nulis program.

Siklus kalawan postcondition

Siklus kalawan postcondition bisa diulang hiji angka teu katangtu lampah tanpa inserting nu braces operator atawa kecap majemuk. Anjeunna bakal dieksekusi sahenteuna sakali. Hal ieu siklus digawé dugi kondisina geus palsu. Anjeunna eureun di formasi éta indikator bener. Dina algoritma kieu eta anu diwangun. konstruksi algorithmic dasar tina tipe ieu digawé di Pace tinangtu ieu.

Pikeun realisasi tina siklus ieu merlukeun design Ulang A dugi B. Sacara harfiah hartina "pikeun ngulang léngkah dugi kondisina geus palsu." Sasuai, éta nu ditepikeun ku A sorangan prosés pengulangan ngaliwatan B - data anu hasil kedah nyandak hiji nilai nu bener.

Siklus kalawan prasarat

Siklus kalawan postcondition ieu diwangun dina cara sapertos nu eta anu dipigawé saeutikna sakali dina sagala hal. Sanajan kitu, aya kasus lamun siklus anu diperlukeun dina kasus kaayaan hiji, tur teu matak dilumangsungkeun dina henteuna kanceuh. Upami teu kitu, hasilna bakal lepat. Ieu dina hal ieu hiji loop kalawan prasarat a. Pikeun nyieun desain diperlukeun éta «bari A do B». Tim kahiji sacara harfiah ditarjamahkeun salaku "panjang". A - syarat, sarta - lampah anu bakal terus-terusan. Sakabeh design hartina "dugi kondisina bener, ngalakukeun aksi".

Sadaya karya disain algorithmic utama wungkul dina kasus tangtu. Naon aranjeunna dina loop kalawan prasarat a? Lamun perlu terus-terusan leuwih ti hiji aksi, tapi sababaraha, mangka anjeun kedah nganggo atanapi pernyataan sanyawa, atawa kurung husus. siklus ka bisa ogé teu dibales lamun kondisi teu leres lamun ngasupkeun kana eta. Sasuai, aksi nu bakal terus-terusan lamun éta bener.

The bantu algoritma

Algoritma bantu anu dipaké dina prosés séjénna alatan nangtukeun ukur ngaranna. Anjeunna mangrupakeun desain algorithmic utama henteu nerapkeun. Dina basa programming prosés Peta sapertos disebut rutin. Pikeun mempermudah karya kalawan kode, sarta tuluy leuwih gampang ngajawab masalah unggal Peta ieu dikombinasikeun kana hiji Unit nu mangrupa algoritma bantu. Tiap di antarana bisa ménta ngaranna, anu ngamungkinkeun salajengna sababaraha kali ngahubungan anjeunna.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 su.birmiss.com. Theme powered by WordPress.