Käytännössä kaikki maailmassamme on joidenkin lakien ja sääntöjen alaista. Nykyaikainen tiede ei pysähdy, minkä ansiosta ihmiskunta tuntee paljon kaavoja ja algoritmeja, joita noudattamalla voidaan laskea ja luoda uudelleen monia luonnon luomia toimintoja ja rakenteita sekä herättää eloon ihmisen keksimiä ideoita.
Tässä artikkelissa analysoimme algoritmin peruskäsitteitä.
Algoritmien syntyhistoria
Algoritmi - käsite, joka ilmestyi XII vuosisadalla. Itse sana "algoritmi" tulee latinalaisesta tulkinnasta kuuluisan Lähi-idän matemaatikon Muhammad al-Khwarizmin nimestä, joka kirjoitti kirjan "Intian laskemisesta". Tässä kirjassa kuvataan, kuinka luonnollisia lukuja kirjoitetaan oikein arabialaisilla numeroilla, ja kuvataan toimintojen algoritmi sarakkeella tällaisten lukujen päällä.
1100-luvulla kirja "Intian tilistä" käännettiin latinaksi, ja sitten tämä määritelmä ilmestyi.
Algoritmin vuorovaikutus ihmisen ja koneen kanssa
LuominenAlgoritmi vaatii luovaa lähestymistapaa, joten vain elävä olento voi luoda uuden luettelon peräkkäisistä toimista. Mutta olemassa olevien ohjeiden suorittamiseen ei tarvitse olla fantasiaa, jopa sieluton tekniikka pystyy käsittelemään tämän.
Erinomainen esimerkki annettujen ohjeiden tarkasta noudattamisesta on tyhjä mikroa altouuni, joka jatkaa toimintaansa huolimatta siitä, ettei siinä ole ruokaa.
Aihetta tai objektia, jonka ei tarvitse ymmärtää algoritmin olemusta, kutsutaan muodolliseksi suorittajaksi. Henkilöstä voi tulla myös muodollinen toimeenpanija, mutta siinä tapauksessa, että yksi tai toinen toiminta on kannattamatonta, ajatteleva toimeenpanija voi tehdä kaiken omalla tavallaan. Siksi pääesiintyjiä ovat tietokoneet, mikroa altouunit, puhelimet ja muut laitteet. Tietojenkäsittelytieteen algoritmin käsite on äärimmäisen tärkeä. Jokainen algoritmi kootaan tietyn kohteen odotusten mukaan ottaen huomioon sallitut toimet. Ne objektit, joihin subjekti voi soveltaa ohjeita, muodostavat toteuttajan ympäristön.
Käytännössä kaikki maailmassamme on joidenkin lakien ja sääntöjen alaista. Nykyaikainen tiede ei pysähdy, minkä ansiosta ihmiskunta tuntee paljon kaavoja ja algoritmeja, joiden avulla voit laskea ja luoda uudelleen monia luonnon toimia ja luomuksia sekä herättää eloon ihmisen keksimiä ideoita. Tässä artikkelissa analysoimme algoritmin peruskäsitteitä.
Mikä on algoritmi?
Useimmat elämämme aikana suorittamistamme toiminnoista edellyttävät useiden sääntöjen noudattamista. Siitä, kuinka paljon ihmisellä on oikea käsitys siitämitä, miten ja missä järjestyksessä hänen pitäisi tehdä, riippuu hänelle annettujen tehtävien laadusta ja tuloksesta. Lapsuudesta lähtien vanhemmat ovat yrittäneet kehittää lapselleen algoritmia päätoimintoihin, esimerkiksi: herätä, pedata sänky, pestä ja harjata hampaat, tehdä harjoituksia, syödä aamiaista jne., lista, jonka ihminen tekee. koko hänen elämänsä aamulla voidaan myös pitää eräänlaisena algoritmina.
Algoritmi on käsite, joka viittaa joukkoon ohjeita, joita henkilön on noudatettava ratkaistakseen tietyn ongelman.
Yleensä algoritmilla on monia määritelmiä, useat tiedemiehet luonnehtivat sitä eri tavalla.
Jos ihmisen päivittäin käyttämä algoritmi on erilainen kaikille ja voi muuttua esiintyjän iän ja tilanteiden mukaan, matemaattisen ongelman ratkaisemiseksi suoritettava toimintosarja tai teknologian käyttö on kaikille sama ja pysyy aina samana.
Algoritmilla on erilainen käsite, myös algoritmien tyypit vaihtelevat - esimerkiksi henkilölle, joka tavoittelee päämäärää, ja teknologialle.
Informaatioteknologian aikakautemme ihmiset noudattavat päivittäin muiden ihmisten heille luomia ohjeita, koska tekniikka vaatii käytettäessä toimintosarjan tarkkaa suorittamista. Siksi opettajien päätehtävänä kouluissa on opettaa lapsille algoritmien käyttöä, omaksua ja muuttaa olemassa olevia sääntöjä nopeasti vallitsevan tilanteen mukaan. Algoritmin rakenne on yksi niistäkäsitteitä, jota opiskellaan matematiikan ja tietojenkäsittelytieteen tunnilla jokaisessa koulussa.
Algoritmin perusominaisuudet
1. Diskreetti (yksittäisten toimintojen järjestys) - mikä tahansa algoritmi tulee esittää sarjana yksinkertaisia toimintoja, joista jokaisen tulisi alkaa edellisen suorittamisen jälkeen.
2. Varmuus - algoritmin jokaisen toiminnon tulee olla niin yksinkertainen ja selkeä, että esiintyjällä ei ole kysymyksiä eikä toimintavapautta.
3. Tehokkuus - algoritmin kuvauksen tulee olla selkeä ja täydellinen, jotta kaikkien käskyjen suorittamisen jälkeen tehtävä saavuttaa loogisen loppunsa.
4. Massamerkki - algoritmin tulee olla sovellettavissa koko luokkaan ongelmia, jotka voidaan ratkaista vain muuttamalla algoritmin numeroita. Vaikka on olemassa mielipide, että viimeinen kohta ei koske algoritmeja, vaan kaikkia matemaattisia menetelmiä yleensä.
Usein kouluissa, jotta lapset ymmärtäisivät paremmin algoritmeja, opettajat käyttävät esimerkkiä ruoanlaitosta keittokirjasta, lääkkeiden valmistamisesta reseptillä tai saippuan valmistusprosessin tekemisestä mestarikurssin perusteella. Ottaen kuitenkin huomioon algoritmin toisen ominaisuuden, jonka mukaan algoritmin jokaisen kohdan on oltava niin selkeä, että sen voi suorittaa täysin kuka tahansa henkilö ja jopa kone, voimme päätellä, että mikä tahansa prosessi, joka vaatii ainakin jonkinlaista mielikuvituksen vuoksi algoritmia ei voi nimetä. Ja ruoanlaitto ja käsityöt vaativat tiettyjä taitoja ja hyvin kehittynyttä mielikuvitusta.
Algoritmeja on erilaisia,mutta niitä on kolme tärkeintä.
Syklinen algoritmi
Tässä tyypissä jotkin kohteet toistetaan useita kertoja. Luetteloa toimista, jotka on toistettava tavoitteen saavuttamiseksi, kutsutaan algoritmin rungoksi.
Silmukan iteraatio on kaikkien silmukan runkoon sisältyvien kohteiden suorittamista. Silmukan osia, jotka suoritetaan jatkuvasti tietyn määrän kertoja, kutsutaan silmukaksi, jolla on kiinteä numero iteraatioista.
Jakson osia, joiden taajuus riippuu useista ehdoista, kutsutaan määrittelemättömiksi.
Yksinkertaisin sykli on kiinteä.
Syklisiä algoritmeja on kahdenlaisia:
- Silmukka ennakkoehdoin. Tässä tapauksessa silmukan runko tarkistaa kunnon ennen sen suorittamista.
- Silmukka, jossa on jälkiehto. Silmukassa, jossa on jälkiehto, ehto tarkistetaan silmukan päätyttyä.
Lineaariset algoritmityypit
Tällaisten piirien ohjeet suoritetaan kerran siinä järjestyksessä, jossa ne esitetään. Esimerkiksi sängyn valmistusta tai hampaiden harjausta voidaan pitää lineaarisena algoritmina. Tämä tyyppi sisältää myös matemaattisia esimerkkejä, joissa on vain yhteen- ja vähennyslaskuoperaatioita.
Haarautumisalgoritmi
Haaroitustyypissä on useita vaihtoehtoja, joista yksi riippuu ehdosta.
Esimerkki. Kysymys: "Sataako?" Vastausvaihtoehdot: "Kyllä" tai "Ei". Jos"kyllä" - avaa sateenvarjo, jos "ei" - laita sateenvarjo pussiin.
Apualgoritmi
Apualgoritmia voidaan käyttää muissa algoritmeissa määrittämällä vain sen nimi.
Algoritmeista löytyi termejä
Ehto on sanojen "jos" ja "niin" välissä.
Esimerkiksi: jos osaat englantia, paina yhtä. Tässä lauseessa osa lauseesta "osaat englantia" on ehto.
Data on tietoa, joka kantaa tietyn semanttisen kuorman ja esitetään siten, että se voidaan lähettää ja käyttää tässä algoritmissa.
Algoritminen prosessi - ongelman ratkaiseminen algoritmin mukaan käyttämällä tiettyjä tietoja.
Algoritmin rakenne
Algoritmilla voi olla erilainen rakenne. Kuvataksesi algoritmia, jonka käsite riippuu myös sen rakenteesta, voit käyttää useita eri tapoja, esimerkiksi: sanallinen, graafinen, käyttämällä erityisesti kehitettyä algoritmista kieltä.
Mitä menetelmää käytetään, riippuu useista tekijöistä: tehtävän monimutkaisuudesta, kuinka yksityiskohtaisesti ongelman ratkaisuprosessin tulee olla jne.
Algoritmin graafinen versio
Graafinen algoritmi – käsite, joka edellyttää tietyn ongelman ratkaisemiseksi suoritettavien toimintojen hajottamista tiettyjen geometristen muotojen mukaan.
Graafisia kaavioita ei näytetä satunnaisesti. Jotta he voisivatkenen tahansa ihmisen ymmärtämiseen käytetään useimmiten vuokaavioita ja Nassi-Schneiderman-strukgrammeja.
Myös lohkokaaviot on piirretty GOST-19701-90 ja GOST-19.003-80 mukaisesti. Algoritmissa käytetyt graafiset kuviot on jaettu:
- Perus. Pääkuvia käytetään osoittamaan toiminnot, joita tarvitaan tietojen käsittelyssä ongelman ratkaisemisessa.
- Apu. Apukuvia tarvitaan osoittamaan yksittäisiä, ei tärkeimpiä, ongelmanratkaisun elementtejä.
Graafisessa algoritmissa datan esittämiseen käytettyjä geometrisia muotoja kutsutaan lohkoiksi.
Kaikki lohkot menevät järjestyksessä "ylhäältä alas" ja "vasemm alta oikealle" - tämä on oikea virtaussuunta. Oikealla järjestyksellä lohkot toisiinsa yhdistävät viivat eivät näytä suuntaa. Muissa tapauksissa viivojen suunta on osoitettu nuolilla.
Oikeassa algoritmikaaviossa ei saa olla enempää kuin yksi poistuminen käsittelylohkoista ja alle kaksi poistumista loogisista toiminnoista ja kunnontarkistuksesta vastaavista lohkoista.
Kuinka rakentaa algoritmi oikein?
Algoritmin rakenne, kuten edellä mainittiin, on rakennettava GOST:n mukaan, muuten se ei ole muiden ymmärrettävissä ja saavutettavissa.
Yleinen tallennusmenetelmä sisältää seuraavat kohteet:
Nimi, jolla on selvää, mikä ongelma voidaan ratkaista tällä menetelmällä.
Jokaisella algoritmilla on oltava selvästi merkitty alku ja loppu.
Algoritmitkaikki tiedot, sekä syöttö että tulos, on kuvattava selkeästi ja selkeästi.
Algoritmia laadittaessa tulee huomioida toiminnot, jotka mahdollistavat ongelman ratkaisemiseen tarvittavien toimenpiteiden suorittamisen valituille tiedoille. Likimääräinen näkymä algoritmista:
- Keman nimi.
- Data.
- Aloita.
- Teamsit.
- Loppu.
Oikea piirin rakentaminen helpottaa suuresti algoritmien laskemista.
Geometriset muodot, jotka vastaavat algoritmin eri toiminnoista
Vaakasuuntainen soikea - alku ja loppu (loppumerkki).
Vaakakulmainen suorakulmio - laskenta tai muut toimet (prosessimerkki).
Vaakasuuntainen suuntaviiva - tulo tai lähtö (tietomerkki).
Vaakasuuntainen rombi - kunnon tarkistus (päätösmerkki).
Pitoitettu, vaakasuora kuusikulmio - muunnos (valmistelun merkki).
Algoritmimallit näkyvät alla.
Formula-verbaalinen versio algoritmirakenteesta.
Kaava-verbaaliset algoritmit kirjoitetaan mieliv altaisessa muodossa sen alueen ammattikielellä, johon tehtävä kuuluu. Toimintojen kuvaus tällä tavalla suoritetaan sanoilla ja kaavoilla.
Algoritmin käsite tietojenkäsittelytieteessä
Tietokone-alalla kaikki perustuu algoritmeihin. Mikään tekniikka ei toimi ilman selkeitä erityiskoodin muodossa annettuja ohjeitaohjelmoida. Tietojenkäsittelytieteen tunneilla opiskelijat yrittävät antaa algoritmien peruskäsitteet, opettaa heille niiden käyttöä ja luoda niitä itse.
Algoritmien luominen ja käyttäminen tietojenkäsittelytieteessä on luovampi prosessi kuin esimerkiksi matematiikan ongelmanratkaisuohjeiden noudattaminen.
Siellä on myös erityinen ohjelma "Algoritmi", joka auttaa ohjelmoinnin alalla tietämättömiä ihmisiä luomaan omia ohjelmiaan. Tällaisesta resurssista voi tulla korvaamaton apu niille, jotka ottavat ensimmäisiä askeleitaan tietojenkäsittelyssä ja haluavat luoda omia pelejä tai muita ohjelmia.
Toisa alta mikä tahansa ohjelma on algoritmi. Mutta jos algoritmi suorittaa vain ne toiminnot, jotka on suoritettava lisäämällä sen tiedot, niin ohjelma kuljettaa jo valmiit tiedot. Toinen ero on, että ohjelma voidaan patentoida ja yksityistä omaisuutta, mutta algoritmi ei ole. Algoritmi on laajempi käsite kuin ohjelma.
Johtopäätös
Tässä artikkelissa analysoimme algoritmin käsitettä ja sen tyyppejä, opimme kirjoittamaan graafisia malleja oikein.