KompiuteriaiProgramavimas

Programavimas. Pagrindiniai Algoritminiai konstrukcijos

Norėdami sukurti bet kokias programas būtiną pagrindinę algoritmų projektavimas. Po yra lengviausias variantas spręsti problemas. Jis gali būti naudojamas, pvz, darbui su homogeninės pavyzdžių. Yra ir kitų tipų: šakojasi ir kilpa. Tai bus taikoma šiame straipsnyje. Bet pirmiausia jūs turite suprasti, kas yra algoritmas yra apskritai.

algoritmas

Žodis "algoritmas" atėjo iš lotynų algoritmi. Ką tai reiškia? Autentiška žodis kilęs iš matematikos, veiklos, kuri vyko tuo IX amžiuje vardu. Dėl traktatas Al Khorezmi žmonija galėtų susipažinti su pagrindinio tipo algoritminės dizaino ir apskritai su bendros koncepcijos.

buvo priimta anksčiau forma rašybos - "algoritmas". Dabar ji yra naudojama tik tam tikrais atvejais.

Algoritmas - procesas, o tai reiškia, keičiant pradinius duomenis, kuri atsiranda atskirais etapais. Su šia koncepcija, kiekvienas žmogus susiduria gyvenime, kas jis buvo. Algoritmai gali būti apibūdinta kaip arbatos ir maisto, dauginimosi ar to, sprendimas lygtis, ir pan. D. Visi prietaisai, kurių darbas procesas yra automatizuotas, veikia per aiškių žingsniais, aprašytais procesoriaus atmintį. Tokie algoritmai vadinami namiškius. Yra ir kitų tipų. Panagrinėkime juos.

tipų algoritmai

Pagrindiniai Algoritminiai struktūros skirstomos į keletą tipų, kurie bus aptariami šioje dalyje. Kokie jie?

  1. Informacija. Tokie algoritmai dirba su dideliais duomenų kiekiais, tačiau grynasis tūris perdirbimo mažas ilgio ir nesudėtinga.
  2. Kontroliuoti. Tokių algoritmų veikimas yra susijęs su informacijos, kurią galima gauti iš konkretaus šaltinio. Gavusi minutės signalus, siekiant užtikrinti įrenginių veikimą.
  3. Kompiuterija. Skirtingai nuo informacinių algoritmų aprašyta darbo su mažais duomenis, bet gaminti didelį darbo procesą.

Tiesą sakant, algoritmas yra tiksli iki smulkiausių detalių instrukcijų. Tačiau ne visi tokie duomenys gali būti vadinami paaiškina sąvoką. Suprasti algoritmas instrukcija ar ne, tai reikėtų patikrinti dėl tam tikrų savybių buvimą.

savybės algoritmų

Visi pagrindiniai algoritminės dizainas turi būti veiksmai, kad jie "paklusti." Apsvarstykite šį klausimą išsamiau.

Jei visiškai sekti algoritmų ir jų savybes našumą, galite matyti, kad nebūtinai suprasti jų sudedamųjų dalių, pakankamai aiškiai, kad tilptų planą. Teisingas rezultatas gaunamas, net jei jūs tiesiog prilimpa prie norimo mechaninių veiksmų. Iš to galime daryti išvadą, kad dėl to, kad prasmę informavimo veiklą trūksta, algoritmas yra gana įmanoma mokėti už kompiuterio įgyvendinimą. Kitaip tariant, dėl automatinio prietaisai reikalauja prieinamumą šiame procese.

Kas savybės turi turėti pagrindinę algoritmų dizaino maksimalaus tikslumo darbo?

  1. Suprantamumas. Kiekviena komanda turi būti aišku, veikia objektas. Atrodo, kad nieko nėra lengviau, nei, pavyzdžiui, nupiešti tašką centre, yra, tačiau tai nėra išdėstyta komandą, kuri atliks veiksmą, ji negali būti padaryta.
  2. Veiksmingumas. Tai reiškia, kad šio objekto? Privalo gauti rezultatą. Algoritmas negali, bet sukelti tam tikrą atsakymo natūra. Dėl klaidos, jūs galite gauti klaidingą rezultatą, kuris buvo pageidaujamą, bet jis bus. Be to, atsakymas turi būti gautas po tam tikro skaičiaus žingsnių.
  3. Masė. Bet algoritmas turėtų būti taikoma bet problemų klasėje. Tarp jų jie gali skirtis įvesties duomenis.
  4. Tikrumas. Kiekvienas veiksmas turi turėti tik vieną reikšmę, o ne suteikti galimybę išvestinės iššifravimas. Idealiu atveju, nesvarbu, kiek buvo pradėta programa, rezultatas turėtų būti tas pats visais laikais.
  5. Discrete. Algoritmas - nuosekliai įgyvendinti veiksmus. Kiekvienas žingsnis yra komandų praleisti ar pridėti naujų negali.
  6. Teisingumas. Bet algoritmas, kuris yra taikomas bet kurių užduočių pobūdžio, turi galioti visiems. Programavimo, dažnai problemos nėra rašymo žingsnių, kurie dažnai nereikia daug laiko, ir vykdydamos savo visų klausimų rūšių. Todėl svarbus žingsnis bus derinti algoritmą. Gali padėti tai ir pagrindinio algoritminės dizainas, kurio pakartojimas duotų geresnius rezultatus.

Aprašymas algoritmų

Jeigu mes kalbame apie tai, kaip rašyti algoritmus, ji turėtų atkreipti dėmesį į šiuos:

  • Žodinis. Kitaip tariant, kalba, kuri yra patogi kalbėti komponentas.
  • Stalo. Logiškai mąstant, algoritmas yra parašyta stalo ir paprastai naudojamas kaip pagalbinis elementas.
  • Formulė-žodinis. Pagrindas PRIIMTAS žodinis izyasneniya metodas, tačiau tokie veiksmai taip pat registruojami simbolių arba matematinės formulės.
  • Grafinis. Toks algoritmas yra parašyta speciali kalba Schemos.

Būtina paaiškinti paskutinį tašką. Kas yra struktūrinė schema? Tai linijinis arba netiesinė algoritmas, žingsniai, kurių rašomi specialūs padaliniai. Jie turi savo konfigūracijos, paskirtis ir funkcijos. Šio aprašo atveju, algoritmas parašyta blokas schemos, kurios sujungtos linijos. Jie taip pat turi parašyti tam tikrą veiksmą (STEP).

algoritminės dizainas

Kai kurie teigia, kad algoritmai neturi 3 tipų ir 4. Pagrindinis algoritminės dizainas: linijinė, šakotas, ciklinis. Kas yra priežastis, tokia klaidinga nuomonė, tai nėra aišku. Tačiau paprastų sprendimų iki sudėtingų problemų naudojant kompiuterines algoritmus šių trijų gana didelėms grupėms. Panagrinėkime juos.

  1. Tiesinis. Ši skaičiavimo procesas gavo šį vardą dėl to, kad visi veiksmai yra atliekami linijiniu seka, kurioje kiekvienas žingsnis yra atliekamas daugiau nei vieną kartą. Jei mes manome, kad šią problemą schemą, tada jis blokuoja dedamas vienas virš kito, priklausomai nuo sekos numerius efektyvumą. Linijiniai algoritmai dirbti taip, kad pradiniai duomenys nekeičia kryptį ir prasmę veiksmų. Šis sprendimų būdas tinka apskaičiuojant sumą arba skirtumą, kvadratinės formos arba perimetrą, ir pan. N. Pagrindinis tipas algoritminės dizainas yra būtent tai.
  2. Šakojasi. Ši skaičiavimo procesas reiškia loginę išraišką buvimą (LP) ir sąlygų paiešką (filialas "klaidinga" ir "tiesa"). Kiekvienu atveju, tai supratau tik vieną iš dviejų ar daugiau komandų. Jokių problemų ir negali būti, kad bus įgyvendintos dar ir kitų variantų. Jei dviejų šakų algoritmu, ji yra paprasta, jei daugiau nei du - sudėtinga. Pastarasis procesas atrodo lengva ties pirmoji sąskaita. Pagrindinis tipas algoritminės dizainas yra pirmasis taškas ir antras. Toliau forma taip pat yra įtrauktas į šį sąrašą.
  3. Cikliška. Šis algoritmas būtinai elementas kartojamas, o naudojant skirtingus įvesties duomenis. Kitaip tariant, toks procesas vadinamas ciklas.

Reikia pažymėti, kad visus pagrindinius algoritminės dizainas (šie, šakų, kilpos) yra sujungti vienas su kitu, nors jie gali būti naudojami atskirai.

Kurti kilpas ir jų rūšys

Ką reikia sukurti kilpą?

  • Kilpa skaitiklis. Tai yra kintamasis, kuris apibrėžia pirminį vertę, ir veikla, kurios ji bus pakeisti kartojimas. Jis būtinai turi įeiti į algoritmas. Pagrindinis algoritminės statyba rėmo tipo darbo be jo nebus.
  • virš duomenų indeksą keitimas prieš naują kartojimą ciklo.
  • Patikrinkite sąlygas kompiuteris nuspręsta, ar vėl "slinkti" kilpa ar daugiau nereikia.

Ciklai gali būti deterministinis ir pasikartojantis. Pirmasis yra perdaryti su žinomu skaičiaus pakartojimų. Pasikartojantis ciklas - vienas, kad yra kartojama neribotą kiekį laiko, kol sąlyga yra true arba false.

Pagrindinis algoritmas

Verta prisiminti, kad pagrindiniai Algoritminiai struktūros neapima pagrindinę algoritmą. Kas tai yra? Ši sąvoka jau neberandama šiuolaikinėje literatūroje, tačiau tai nereiškia, kad ji veikia ir nebėra. Atsižvelgiant į tai, kad problemų sprendimas gali būti susidurta kelis filialus arba pakartojimų, tokią išvadą. Pagrindiniai algoritminiai konstrukcijos (linijinio, šakotojo, ciklinis) yra pagrindinis. Tiesą sakant, jie atstovauja "struktūrinis vienetas" kiekvienas vadinamųjų instrukcijas.

linijiniai algoritmai

Kaip matyti iš to, kas išdėstyta, vienas algoritmai yra linijinė ir nelinijinė. Atsižvelgti į pirmojo įgyvendinimo varianto. Kodėl jie jį vadina? Viskas labai paprasta. Faktas yra tai, kad visi veiksmai, kurie grojo algoritmą, yra aiškiai nuosekliai įgyvendinti visus veiksmus griežtai vienas po kito. Paprastai šie uždaviniai yra mažos ir turi mažą lygį sudėtingumo.

Kurio pavyzdys linijinis algoritmas gali būti procesas parengimas arbata:

  1. Supilkite vandenį į virdulį.
  2. Įdėti į virdulį ant krosnies virti.
  3. Paimkite puodelį.
  4. Supilkite į puodelį arbatos.
  5. Pridėti cukraus.
  6. Po to, kai verdančio vandens pilamas į puodelį.
  7. Paimkite šaukštu.
  8. Sudėkite cukrų.

Programavimas pagrindinius algoritminius struktūras - pakankamai sunkus spręsti, bet jei jis yra tiesinė algoritmas, tai dažniausiai yra labai lengva juos įgyvendinti.

šakojasi algoritmai

Kaip suprasti, kad algoritmas šakojasi? Tai yra pakankamai užtikrinti, kad jūs turite du ar daugiau kursų veiksmų, priklausomai nuo ar nesėkmė sąlygų vykdymo pasirinkimas. Kiekvienas kelias yra vadinamas filialas.

Pagrindinis bruožas šakojasi algoritmas yra sąlyginio filialo buvimas. Tai įvyksta per bandymo išraiška į tiesos ar melo.

Paprastai, loginio išraiškos atstovaujama ženklai "mažiau kaip", "daugiau", "mažiau nei arba lygus", "didesnis negu arba lygus", "lygūs", "nėra lygus." Kartais yra įsikūnijimai kur būklė susijusios viena su kita pagal vadovavimo ir (U) ar (arba).

Tokio algoritmo pavyzdys gali būti sprendimas toliau problema: jei išraiška ((x + 3) / 1) yra lygus teigiamas skaičius, tada rodyti rezultatą ekrane, jei neigiamas - informuoti vartotoją apie klaidą.

pakankamai paprasta praktiškai naudoti pagrindinę algoritmų projektavimas. Šakojasi yra vienas iš labiausiai paplitusių metodų sprendžiant.

Deterministyczny ciklas arba iš ciklo skaitiklis

Atsakomosios ciklas - ciklas, kuris apima kintamąjį, kuris keičia su tam tikrą žingsnį vertės. Žingsnis apibrėžta vartotojui ar išrašytos programuotojas, kai rašymo programinės įrangos. Dauguma šio ciklo kalbomis naudoja pagal operatoriaus.

Programą rodyti dviem eilėmis 4 kartus:

  1. "Kaip gyveni?"
  2. "Na, ačiū!"
  3. "Kaip gyveni?"
  4. "Na, ačiū!"

Jūs turite sukurti deterministinis ciklą. Kaip tai atrodo? Mes naudojame kalbą "Pascal" už geresnį suvokimą dizainas.

1. i: = nuo 1 iki 2 padaryti:

- i yra skaitiklis ciklas, ji nustato pasikartojimų skaičių kilpa.

2. Pradžia (atviros garbanotas laikiklis prie dviejų frazių yra kūnas ciklas ir kartojasi kartu.)

3. writeln ( 'Kaip tu? "):

- žodis reiškia writeln išvadai frazes būdami viengubomis kabutėmis.

4. writeln ( 'Gerai, dėka).

5. Pabaiga.

6. I: = i + 1.

Kaip matote, gana paprasta ir net smagu naudoti pagrindinę algoritmų projektavimas. Pagrindiniai algoritmai tikrai gerai žinomas, be jų neįmanoma rašyti programas.

Ciklo su postcondition

Ciklo su postcondition galima kartoti neribotą skaičių veiksmų neįdėjus operatoriui petnešos ar junginys žodžių. Jis bus vykdomas bent kartą. Jis dirba ciklą, kol sąlyga yra klaidinga. Jis sustoja ties teisingų rodiklių formavimas. Šiuo algoritmą jis yra pastatytas. Pagrindinis algoritminės statyba šios rūšies darbą šioje ypač tempu.

Realizuoti šio ciklo reikalauja dizainas pakartoti, kol B. Pažodžiui tai reiškia "pakartoti veiksmus tol, kol sąlyga yra klaidinga." Taigi, jis išreiškiamas pagal pati kartojimas procesas, B - duomenys, kad rezultatas turėtų imtis teisinga vertė.

Ciklo su sąlyga

Ciklas su postcondition yra sukonstruotas tokiu būdu, kad ji yra atliekamas bent kartą bet kuriuo atveju. Tačiau yra atvejų, kai ciklas yra reikalaujama atvejis sąlyga, ir neturėtų būti atliekamas nebuvimas pasikartojimo. Kitaip, rezultatas bus neteisingas. Tai šiuo atveju kilpa su sąlyga. Norėdami sukurti reikiamą dizaino «o tai B». Pirmoji komanda pažodžiui verčiamas kaip "ilgai." A - sąlygos, ir - veiksmai, kurie bus kartojamas. Visa konstrukcija reiškia "kol sąlyga yra teisinga, atlikti veiksmą."

Visi pagrindiniai algoritminės projektavimo darbai tik tam tikrais atvejais. Kokie jie kilpa su sąlyga? Jei reikia kartoti daugiau nei vieną veiksmą, bet keletas, tada jūs turėtumėte Panaudojimas arba junginys pareiškimus, arba specialius laikiklius. Ciklas gali būti vykdoma, jeigu įvedant į jį būklė yra ne tiesa. Išplaukia, kad ieškinys bus pakartotas, jei ji yra teisinga.

Pagalbinis algoritmas

Pagalbinis algoritmas yra naudojamas kitų procesų, nurodant tik jos pavadinimą. Jis yra vienas iš pagrindinių Algoritminiai dizaino netaikomas. Programavimo kalbų, tokių veiksmų procesas vadinamas rutina. Siekiant palengvinti darbą su kodu ir tada lengviau spręsti problemas kiekvienas veiksmas yra sujungti į vieną vienetą, kuris yra pagalbinis algoritmas. Kiekvienas iš jų gali paprašyti jo vardą, kuris leidžia vėliau pakartotinai juo susisiekti.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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