Jokaisen ihmisen jokapäiväinen elämä onratkaisemaan valtava joukko monimutkaisia tehtäviä työssä tai opiskellessa. Jotkut tehtävät ovat niin yksinkertaisia, että kun ne suoritetaan, teemme tietyt toiminnot automaattisesti, edes ajattelematta. Ratkaisu mihin tahansa, jopa yksinkertaisimpaan, ongelmaan, suoritetaan yleensä peräkkäin useissa vaiheissa. Tällaista sekvenssiä ongelmien ratkaisemisessa kutsutaan algoritmiksi. Tänään pohdimme, mitkä ovat lineaariset algoritmit, miten niiden rakenne esitetään, miten niiden ratkaisu ja ohjelmointi suoritetaan.
Tämä käsite on tarkka käsky urakoitsijalle suorittaa tietty toimintasarja, jonka tarkoituksena on ratkaista tehtävä.
Tämä kieli on keino kuvata algoritmeja, jotka yleensä suuntautuvat käyttäjälle.
Jos puhumme tietokonekielellä, niintarkka määräys, joka määrittää laskennallisen prosessin, on ilmoitettu. Se puolestaan johtaa alkuperäisestä tiedosta, joka vaihtelee, alkuperäiseen tulokseen.
Algoritmin kehittäminen on melko monimutkainen ja työläs prosessi. Se on tekniikka, jolla kootaan (kehitetään) toimintasarja, jonka tarkoituksena on ratkaista ongelmia tietokoneella.
Ominaisuuksien joukossa erottaa:
Olemme jo tutkineet tämän käsitteen määritelmiä ja ominaisuuksia. Nyt puhutaan sen tyypeistä:
Olemme kiinnostuneita lineaarisista algoritmeista. Mitä ne ovat? Ne sisältävät komennot, jotka on suoritettava peräkkäin selkeässä järjestyksessä.
Algoritmin lineaarinen rakenne voidaan kirjoittaa sanallisessa ja graafisessa muodossa.
Annetaan sellainen esimerkki, joka on kirjoitettu sanallisessa muodossa. Joten tehtävä: valmistaudu kouluun. Päätös:
Yllä olevan prosessin graafinen muoto edustaa seuraavaa:
Lohkokaavio on havainnollistavakuva algoritmista, jossa jokainen yksittäinen vaihe on kuvattu käyttämällä lohkoja, jotka on esitetty erilaisten geometristen muotojen muodossa. Lisäksi vaiheiden välinen suhde (toisin sanoen vaiheittaisen suorittamisen järjestys) ilmaistaan nuoleilla, jotka yhdistävät luvut (lohkot). Jokaiseen lohkoon liittyy kirjoitus. Seuraavia geometrisia muotoja käytetään tyypillisiin toimintoihin lineaarisessa algoritmissa:
Tällaisten lohkokaavioiden avulla kuvataan lineaaristen algoritmien ratkaisu. Seuraavaksi puhutaan arvojen osoittamisen erityispiirteistä.
Perusoperaatio laskennallisessa muodossaalgoritmi on muuttujan osoittaminen tiettyyn arvoon. Siinä tapauksessa, että vakion arvo määritetään sen tallennustyypin perusteella, muuttuja saa tietyn arvon yksinomaan osoituksen seurauksena. Tämä voidaan tehdä kahdella tavalla: käyttämällä toimeksiantokomentoa; käyttämällä syöttökomentoa.
Tässä on esimerkki sääntöjen kuvaamisesta tavallisten murtojen jakamiseksi lineaarisella algoritmilla, jolla koulukirjoissa on seuraava sisältö:
a / b: c / d = (a * d) / (b * d) = m / n.
Joten rakennetaan algoritmi fraktioiden jakamiseksi tietokoneelle. Jotta emme sekoisi, käytämme muuttujille samoja nimityksiä kuin yllä mainitussa kaavassa. a, b, c, d - perustiedot kokonaislukumuuttujien muodossa. Tuloksena on myös kokonaislukuja. Algoritmisella kielellä ratkaisu on seuraava:
alg Jaksojen jako
aikaisin
vahingoittumaton a, b, c, d, m, n
syöttö a, b, c, d
m: = a * d
n: = b * c
lähtö m, n
huijaus
Edellä kuvattu lineaarinen algoritmi näyttää tältä:
Tehtäväkomennolla on seuraava muoto:
Muuttuja: = lauseke.
": =" -Merkki lukee tehtäväksi.
Tehtävä on komento, jonka tietokoneen on suoritettava seuraava:
Yllä oleva algoritmi sisältää kaksi käskyä tehtävänä. Lohkokaaviossa tehtäväkomento on kirjoitettava suorakulmioon, jota kutsutaan laskennalliseksi lohkoksi.
Kun lineaarisia algoritmeja kuvataan, ei ole mitään erityistätarve noudattaa tiukasti sääntöjä lausekkeita kirjoitettaessa. Voit kirjoittaa ne tavallisella matemaattisella lomakkeella. Loppujen lopuksi tämä ei ole tiukka ohjelmointikielen syntaksi.
Edellä olevassa algoritmissa on myös syöttökomento:
Syötä a, b, c, d.
Lohkokaavion syötekomento kirjoitetaansuunnassa, siis I / O-lohkossa. Suorittamalla tämän komennon prosessori keskeyttää työn, kunnes käyttäjä suorittaa tietyt toimet. Nimittäin: käyttäjän on kirjoitettava syöttömuuttujat (niiden arvot) syöttölaitteeseen (näppäimistö) ja painettava Enter-näppäintä, joka on syöttönäppäin. On tärkeää, että arvot syötetään samassa järjestyksessä kuin vastaavat muuttujat syöttöluettelossa.
Kuten tämän artikkelin alussa mainittiin, lineaariset ohjelmat voivat sisältää seuraavat operaattorit:
Toisin sanoen käyttämällä lueteltuja operaattoreita ohjelmoidaan lineaariset algoritmit.
Joten tehtäväoperaattori ohjelmointikielellä kirjoitetaan seuraavasti:
LET A = B, jossa A on muuttuja, B on lauseke. Esimerkiksi A = Y + 20.
Syöttöoperaattori näyttää tältä:
INPUT, esimerkiksi: INPUT C
Tietojen, arvojen antamisen operaattori kirjoitetaan seuraavassa muodossa:
TULOSTA. Esimerkiksi PRINT C.
Otetaan yksinkertainen esimerkki. Meidän on kirjoitettava ohjelma, joka löytää näppäimistöltä syötettyjen numeroiden A ja B summan.
Ohjelmointikielellä saamme ohjelman, jonka teksti on esitetty alla.
Pascal ei erota erityisiä operaattoreita,merkitsevät lineaarisia algoritmeja käyttäviä syöttö- tai lähtöoperaatioita. Ohjelmissa tiedonvaihto tapahtuu sisäänrakennetuilla menettelyillä. Koska vakiomenettelystä ei tarvitse tehdä alustavaa kuvausta, se on kaikkien ohjelmien käytettävissä, jotka sisältävät kutsun siihen. Mainitun menettelyn nimi ei myöskään ole mikään varattu sana.
Tietojen syöttö käyttää tällaisia operaattoreita viittaamaan vakiomuotoiseen tietojen syöttörutiiniin, joka on jo rakennettu ohjelmaan.
Lue (A, B, C), jossa A, B, C ovat muuttujia, jotka on syötettävä RAM-muistiin muistiin tallentamista varten.
Readlnn (x1, y, x2) - syötön päätyttyä kohdistin siirtyy uuden rivin alkuun.
Readlnn; - ilmaisee odotuksen painaa "Enter". Tyypillisesti tämä lauseke lisätään tekstiin ennen viimeistä "End" -näppäintä, jotta ohjelman suorittamisen tulokset voidaan tallentaa sisältönäyttöön.
Tietojen näyttö monitorinäytössä suoritetaan seuraavilla operaattoreilla:
Kirjoita (A, B, C) - osoitettuaan A: n, B: n ja C: n arvot yhdelle riville, kohdistin ei jätä nykyistä riviä.
Writeln (z, y, z2) - kun arvot on näytetty, kohdistin tässä kohdassa siirtyy uudelle riville.
Writeln; - osoittaa yhden rivin ohittamisen ja siirtymisen uuden rivin alkuun.
Tällaisten yksinkertaisten operaattorien avulla tietojen syöttö ja tulostus Pascalissa suoritetaan.