Hienokas johdanto ohjelmointiin

Kuva John Adesanya

Tämä kirjoitus kuvaa sen, mitä opetan, kun saan valmennuspyyntöjä. En hyppää koodiin tai minkäänlaiseen asennukseen. Opetan käsitteitä.

Jos työskentelet ohjelmistokehitysyrityksessä ei-ohjelmoijana, saatat ihmetellä, mitä ohjelmoijat tekevät. Ja kuulet uusia buzzwords joka päivä. Tämä viesti on kirjoitettu sinun mielessäsi. Olitpa myyntihenkilö, lääkäri, asianajaja, yritysjohtaja tai kirjanpitäjä, jos sinulla on koskaan ollut mielessäsi oppia koodaamaan, tämä on hyvä paikka aloittaa.

Kuinka tämä artikkeli on järjestetty

Tämä kirjoitus on jaettu 4 osaan. Kun olet lukenut kunkin osan, löydät tietokilpailuosion, joka auttaa sinua muistamaan paremmin lukemasi. Sitten löydät osion eteenpäin ja vastaukset tietokilpailuun.

Huomaa, että jokainen tässä sarjassa esitelty summasana on lihavoitu, kuten algoritmi.

Kuva John Adesanya

Osa 1 - Mikä on ohjelmointi?

Yksinkertainen vastaus olisi: ”Ohjelmointi on tietokoneiden opettaminen suorittamaan tehtäviä.” Sitä kutsutaan usein koodaukseksi.

Joten mikä on tietokoneohjelma? Tietokoneohjelma on jakso ohjeita, jotka tietokone suorittaa.

Yllä olevan määritelmän mukainen tietokone on mikä tahansa laite, joka pystyy käsittelemään koodia. Tämä voi olla älypuhelimet, pankkiautomaatit, Raspberry Pi, palvelimet muutamia mainitakseni.

Hyvä analogia ohjelmoinnille

Ensinnäkin jokapäiväisessä elämässämme on malleja. Universumi toimii hiukan ennustettavalla tavalla; Esimerkiksi - päivä ja yö, vuodenajat, auringonnousu ja auringonlasku. Ihmiset käyvät läpi rutiinit, kuten nousevat aamulla, menevät kouluun tai töihin. Saamme ohjeita muilta ihmisiltä, ​​kuten esimieheltämme työssä. Kuinka valmistaa tiettyjä reseptejä, voidaan selittää rajallisissa vaiheissa.

Toiseksi, joka kerta kun käytämme älylaitteita, jokin koodi on käynnissä taustalla. Hiiren osoittimen siirtäminen tietokoneen näytön yhdestä osasta toiselle voi tuntua yksinkertaiselta tehtävältä, mutta todellisuudessa niin monet koodirivit vain juoksivat. Yksinkertainen toimi kuin kirjoittamalla kirjeitä Google-dokumentteihin johtaa koodirivien suorittamiseen taustalla. Se on kaikki koodi kaikkialla.

Tietokoneohjelmiin viitataan myös koodilla. Älä käytä sanaa "koodit" (koodia tulisi käyttää lukemattomana substantiivina). Okei, tämä ei ole englantilainen luokka, palatkaamme takaisin liiketoimintaan.

Tietokoneen luonnollinen kieli

Koneilla on luonnollinen kielensä, kuten ihmiset. Tietokoneet eivät ymmärrä ihmisen kieltä. Tietokoneiden luonnollinen kieli on binaarikoodi - 1 ja 0. Ne edustavat kahta tilaa: päällä (1) ja pois (0).

Se on elektronisten laitteiden luonnollinen kieli. Meille ihmisille olisi hektistä kommunikoida tietokoneen kanssa binäärisesti.

Anna ohjelmointikielet

Jos haluat kommunikoida binaarikielen puhujien koneiden kanssa, teemme sen kielellä, joka on lähempänä omaa luonnollista kieltämme. Kuten englanti, ranska, suahiili tai arabia. Ohjelmointikielet ovat lähellä luonnollisia kieliä. Mutta ne ovat jäsennellympiä ja ne on perusteellisesti opittava.

Ne voivat olla korkean tai matalan tason kieliä. Korkean tason ohjelmointikielet ovat kauempana konekielestä kuin matalan tason kielet. Tätä "kauempana" kutsutaan yleensä abstraktioksi, mutta emme puutu siihen tässä sarjassa. Älkäämme häiritsekö :)

Tietokone tarvitsee tavan ymmärtää ihmisen kieltämme. Tätä varten tarvitsemme kääntäjän.

Mitä ovat kääntäjät

Lähdekoodi viittaa koodiin, joka on kirjoitettu tietyllä ohjelmointikielellä. Lisää tästä osassa 2.

Kääntäjät ovat vastuussa muuntamaan lähdekoodisi konekielelle. Tätä kutsutaan myös binaariksi. Muista ne ja nollat. Voimme viitata binaareihin objektikoodiksi, ohjelmaan tai tavalliseen sanaan tänään: Sovellus.

Kääntäjät voivat olla mitä tahansa seuraavista:

  • tulkit
  • kerääjiä
  • Tulkkien ja kääntäjien hybridi
  • kokoajat

tulkit

Jotkut kielet tulkitaan. Kääntäjä käsittelee lähdekoodin rivi riviltä ja ajaa jokaisen rivin lopullisessa ohjelmassa tai sovelluksessa. Tämä tarkoittaa, että tulkittu lähdekoodi alkaa toimia, kunnes se havaitsee virheen. Sitten tulkki pysähtyy ilmoittamaan tällaisista virheistä. Lisää tästä yksityiskohtaisesti osassa 3.

Python on hyvä esimerkki tulkitusta ohjelmointikielestä.

kerääjiä

Kääntäjät toimivat eri tavalla. Ne muuntaa lähdekoodin kokonaisuudessaan kokoamisprosessin kautta binaariksi. Binaari suoritetaan sitten. Jos lähdekoodissa oli virheitä, ne havaitaan kokoamisaikana ja merkitään. Tämä keskeyttää kokoamisprosessin, eikä binääristä muodostu.

Tulkit kääntävät rivi riviltä ja suorittavat rivin ennen siirtymistä seuraavalle riville. Kääntäjät kääntävät kaikki ohjelman rivit tiedostoon (binaariseen) ja suorittavat koko tiedoston.

Muistatko tietokoneohjelman määritelmän? Se on ohjeiden sarja, jonka tietokone suorittaa.

Toteuttavaa ohjelmaa kutsutaan yleensä prosessiksi. Tällaiset ohjelmat käyttävät tiettyjä tietokonejärjestelmän tai älypuhelimen resursseja, kuten muistia, levytilaa ja tiedostojärjestelmää. Suoritusohjelman voidaan myös sanoa olevan käynnissä.

Käytämme sanaa "suorittaa" suorittaessamme tietokoneohjelmaa. Aika, joka kuluu tällaisten ohjelmien suorittamiseen, tunnetaan ohjelman ajoaikana.

On yleistä nähdä ohjelmia, joihin viitataan nimellä Apps. Yhdistämme ohjelmat myös alustoihin tai ympäristöön, jossa ne toimivat tai on suunniteltu. On verkkosovelluksia, jotka toimivat selaimissa, kuten Google Spreadsheet. On mobiilisovelluksia, jotka toimivat älypuhelimissa, kuten CandyCrush. On myös työpöytäsovelluksia, kuten Evernote-työpöytäsovellus.

Tulkittu lähdekoodi suoritetaan jälleen suoraan lähdetiedostosta. Käännetty lähdekoodi muunnetaan binaaritiedostoksi. Binaaritiedosto suoritetaan sitten. Käännetty lähdekoodi saattaa epäonnistua ajon aikana jopa onnistuneen kääntämisen jälkeen. Katso osa 3.

Hybridi kääntäjät

Hybridi-kääntäjä on yhdistelmä tulkkaa ja kääntäjää. Suosittu hybridi-ohjelmointikieli on Java. Java kääntää ensin lähdekoodisi välitavoiksi, joita kutsutaan tavukoodiksi.

Bytecode tulkitaan ja suoritetaan sitten ajonaikainen moottori, joka tunnetaan myös nimellä virtuaalikone. Tämän avulla hybridi-kääntäjät voivat suorittaa tavukoodin eri käyttöjärjestelmissä.

kokoajat

Siellä on myös kokoonpanija, jolla voidaan kääntää matalan tason kokoonpanokieli binaariksi.

Tässä sarjassa keskitymme vain korkean tason kieliin.

Hyvä tapa katsoa kääntäjiä on nähdä heidät itsenäisenä ohjelmana. Sinun on ladattava tai hankittava ne, asennettava tietokoneellesi ja ymmärrettävä heidän perustoimintonsa.

Usein kysytty kysymys

Tässä on kysymys, jonka aloittelijat yleensä esittävät.

Mitä kieltä opit ensin?

Ohjelmointikieliä on satoja. Ne on luokiteltu suosion, yhteisöllisyyden, pitkäaikaisen tuen, pedagogisuuden, yrityskäytön perusteella. Ne voidaan luokitella myös teknisyyden perusteella, kuten sen mukaan, ovatko ne toiminnallisia, välttämättömiä, staattisia, vahvoja vai löyhästi tyypitettyjä.

Jotkut kielet ovat pedagogisempia kuin toiset. Jotkut kielet on tarkoitettu opetustarkoituksiin, ei yritystoimintaan. On olemassa kieliä, esimerkiksi lapsille, jotka oppivat koodaamaan.

On olemassa erittäin tehokkaita kieliä, jotka on helppo asentaa ja oppia. Python on yksi tällainen ohjelmointikieli. Suosittelen sitä yleensä aloittelijoille.

Jos olet kiinnostunut tutkimaan enemmän vaihtoehtojasi "ensimmäinen kieli", tässä on joitain hyviä tutkimuksia, jotka on kirjoittanut Philip Guo.

Kun haluat oppia uuden kielen, tiedät nyt, että tarvitset kyseistä kielen kääntäjää. Tämä on ohjelma, jonka asennat ja asennat tietokoneellesi.

Suosittelen, että aloitat oppimaan CLI: n (komentoriviliittymä) käytön. CLI on pääte tai kuori. Ajattele päätettä vaihtoehtona graafiselle käyttöliittymälle.

GUI-sovelluksissa voit olla vuorovaikutuksessa tietokoneen kanssa hiiren osoittimen kautta. Olet riippuvainen myös hakemistojen visuaalisista luovutuksista ja kaikesta mitä teet.

Mutta käytettäessä CLI: tä, olet vuorovaikutuksessa tietokoneen kanssa komennoilla, jotka kirjoitat kehotteessa tai vilkkuvalla kohdistimella

$ _

Windowsissa toimitettu päätelaite on komentokehote. Mac- ja Linux-käyttäjille sinulla on jo oletusasetuksena Bash-pääte. Asenna Git Bash OR PowerShell saadaksesi saman kokemuksen Windowsissa.

Eteenpäin

Nyt kun olet jo tutustunut hellästi siihen, mikä on ohjelmointi. Sinun on varauduttava ensimmäiseen koodiriviin :)

Aloittamiseksi tarvitset seuraavat:

  • Tietokonejärjestelmä
    Tässä vaiheessa sinun ei tarvitse hienostunutta tai erittäin kallista, tarvitset vain tietokoneen, joka toimii hyvin.
  • Asenna CLI
    Suosittelen tätä kaatumiskurssia, jotta pääset alkuun CLI: n käytöstä.
  • Asenna tekstieditori
    Palaamme tähän osassa 2
  • Opi ohjelmointikieli
    Tässä sarjassa opit peruselementit, jotka muodostavat useimpien ohjelmointikielten perustiedot.

Tietokilpailu

  • Mitä perustyökaluja tarvitset ohjelmoinnin aloittamiseen?
  • Mitä komentoa käyttäisit seuraavissa asioissa bash (CLI)?
  • Tarkista nykyinen hakemisto
  • Vaihda hakemistoon nimeltä 'bin' (roskakori on nykyisessä hakemistossa)
  • tee uusi hakemisto nimeltä 'lib'
  • luo uusi tiedosto nimeltä 'book.py'
  • luettele kaikki nykyisen hakemiston sisällöt

Yhteenveto

Olemme käyneet läpi ohjelmoinnin perusteet ja johdannon kääntäjille. Sana ”lähdekoodi” ei ole sinulle enää outo. Tutkimme seuraavassa osassa yksityiskohtaisesti, mikä lähdekoodi on.

Vastauksia tietokilpailuun

Mitä perustyökaluja tarvitset ohjelmoinnin aloittamiseen?
Tietokone, tekstieditori, kuori (pääte) ja kääntäjä / tulkki

Mitä komentoa käyttäisit seuraavissa asioissa bash (CLI)?

  • Tarkista nykyinen hakemisto: pwd
  • Vaihda hakemistoon nimeltä 'bin': cd bin
  • tee uusi hakemisto nimeltä 'lib': mkdir lib
  • luo uusi tiedosto nimeltä 'book.py': kosketa book.py
  • luettele kaikki nykyisen hakemiston sisällöt: ls
Wikimedia Commonsista, ilmaisesta mediavarastosta

Osa 2 - Lähdekoodi

Nyt kun ymmärrät ohjelmoinnin käsitteen, tutkimme lähdekoodia.

Lähdekoodi on pohjimmiltaan tiedosto, aivan kuten Microsoft (.doc) tiedosto, mutta hieman erilainen. Se on raakat tekstitiedosto, joka on kirjoitettu hyvin yksinkertaisille toimittajille, kuten Windows Notepad. Muistat edellisestä osasta, että tarvitset joko tulkkeja tai kääntäjiä muuntaaksesi lähdekoodisi binaariksi. Lähdekoodi on tallennettava tiedostoon, joka välitetään tulona kääntäjälle.

Kirjoitettavasta kielestä riippuen on nimetty laajennus lähdekooditiedoston tallentamiseen. Python-laajennus on '.py'. Java on '.java'. Php on '.php' ja PERL on '.pl' muutamia mainitaksesi.

Kun olet kirjoittanut lähdekoodisi, sinun on suoritettava se kääntäjän kautta. Esimerkiksi, kuinka suorittaa Python-lähdekoodisi python-komennolla.

Aloitus: ensimmäinen ohjelma

  • Asenna Python tietokonejärjestelmään noudattamalla tässä olevia ohjeita.
  • Asenna yksinkertainen editori kirjoittaaksesi lähdekoodisi. Voit käyttää alkeellista tekstieditoria alkuun.
  • Avaa uusi tiedosto editorissa ja kirjoita seuraava:
tulosta 'Hello Python!'
  • Muista tallentaa tiedosto main.py-tiedostona
  • Etsi polku tiedostoosi CLI: lläsi ja kirjoita komento alla:
$ python main.py

Tuloksen pitäisi näyttää tältä:

Tyypillisen lähdekoodin anatomia

Tutkimme nyt tyypillisen lähdekooditiedoston sisältöä. Alla on säännölliset komponentit:

Avainsanat

Lyhyt, ihmisille luettavat sanat, yleensä kutsutaan avainsanoiksi. Ne ovat ominaisia ​​kielelle, jota opit, ja ne ovat erityisiä. Palaamme takaisin tähän kohtaan. Joidenkin avainsanojen täytyy oppia sydämestäsi. Tässä on avainsanaryhmä, joka tunnistetaan ja jota käytetään Pythonissa.

https://www.programiz.com/python-programming/keyword-list

tunnisteet

Sinun keksimät sanat - Kyllä Sinä, ohjelmoija. Näihin sanoihin viitataan yleensä tunnisteina. Voit luoda ne sinä tai muut ohjelmoijat. Ne on pakattu laajennusten muodossa, tunnetaan paremmin nimellä Libraries.

Esimerkki kirjastosta on Math-kirjasto. Sen avulla voit käyttää Javascriptissa käytettyjä neliöjuuria (Math.sqrt).

Monet ohjelmointikielet toimitetaan paljon kirjastoja. Näitä kutsutaan yleensä niiden SDK: ksi (Software Development Kit). Lataat ne yhdessä kääntäjän kanssa aloittaaksesi rakennustekniikoita, sovelluksia ja projekteja. Näiden lisäksi on olemassa puitteita, jotka on suunniteltu auttamaan rakentamisessa tietylle alustalle, kuten verkko tai mobiili.

Joitakin tunnisteita on niputettu käyttämäsi kielen kanssa, eikä niitä välttämättä käytetä käyttäjän nimeksi. Esimerkki on sanan merkkijono javassa. Tällaiset tunnisteet yhdessä avainsanojen kanssa tunnetaan nimellä Varatut sanat. Ne eivät ole avainsanoja, mutta kuten avainsanat, ne ovat myös erityisiä.

Kaikki avainsanat ovat varattuja sanoja, käänteinen ei ole totta.

Valitsemiesi sanojen tulisi olla merkityksellisiä kuka tahansa näkee ne ensi silmäyksellä.

Tunnisteiden yleinen käyttö on muuttujien nimeämisessä, tutkimme sitä vähän.

Perustietotyypit

Löydät myös erityyppisiä tietoja lähdekoodista, numeroista (3, 5.7, -100, 3.142) ja merkeistä (M, A). Joissakin ohjelmointikielissä numerot jaotellaan edelleen omiin tyyppeihin, kuten kokonaislukuihin.

Kokonaisluku voi olla allekirjoitettu tai allekirjoittamaton, suuret kokonaisluvut ja pienet kokonaisluvut. Iso tai pieni riippuu itse asiassa tällaisille numeroille varatun muistitilan määrästä. On numeroita, joissa on desimaaliosat, joita yleensä kutsutaan kaksinkertaisiksi ja kelluviksi riippuen opittavasta kielestä.

Meillä on myös boolean-tietotyyppejä, jotka arvioivat oikeiksi tai vääriksi.

Monimutkaiset tietotyypit

Edellä selitetyt tietotyypit tunnetaan perus-, perus- tai perustietotyypeinä. Näistä perustiedoista voidaan rakentaa monimutkaisempia tietotyyppejä.

Taulukko on monimutkaisen tietotyypin yksinkertaisin muoto. Merkkijono on joukko merkkejä. Emme voi tehdä ilman näitä monimutkaisia ​​tietotyyppejä ja käytä niitä usein kirjoittaessamme lähdekoodiamme.

Merkkien yhdistelmä on merkkijono. Jotta voidaan käyttää analogiaa, merkkijono tarkoittaa tietokoneelle mitä sana on ihmiselle. Sana 'lämpömittari' koostuu 11 merkistä - kutsumme sitä yksinkertaisesti merkkijonoksi. Jousinkäsittely on jo sinänsä laaja opittava aihe, ja jokaisen ohjelmaan pyrkivän on tutkittava sitä.

Monimutkaiset tietotyypit toimitetaan useimpien käyttämiesi ohjelmointikielten kanssa. On muitakin, joita rakennamme itsemme ohjelmoijina, kuten luokkajärjestelmiä. Nämä tunnetaan myös nimellä (OOP) olio-ohjelmointi.

muuttujat

Muuttujia kutsutaan yksinkertaisesti muistipaikoiksi. Haluamme joskus pitää tietoja lähdekoodissamme paikassa, josta voimme palauttaa tiedot uudelleen käyttääksesi. Tämä on yleensä muistipaikka, jonka kääntäjä / tulkki varaa meille. Meidän on nimettävä nämä muistipaikat, jotta ne muistettaisiin myöhemmin. Mieti alla olevaa Python-koodinpätkää:

pet_name = 'Hippo' tulostaa lemmikin_nimi

lemmikkienimi on esimerkki muuttujasta. Koska pet_nimeen tallennetut tiedot ovat merkkijono. Se tunnetaan merkkijonomuuttujana. On myös numeerisia muuttujia. Muuttujat luokitellaan tietotyyppiensä mukaan.

vakiot

Vakiot ovat arvoja, jotka eivät muutu koko ohjelman elinkaaren ajan. Käytämme isoja kirjaimia varmistaaksemme, että joidenkin arvojen on oltava vakioarvoja. Jotkut kielet tarjoavat tavan luoda jatkuvia arvoja, kun taas toiset eivät.

Jotkut kielet tarjoavat ylellisyyttä ilmoittaa muuttujien tyyppien ilmoittamisen. Kutsumme usein näitä voimakkaasti kirjoitettuja kieliä. Java on hyvä esimerkki.

Toiset eivät tarjoa näitä ominaisuuksia. Ne ovat löysästi kirjoitettuja tai dynaamisia ohjelmointikieliä. Python on hyvä esimerkki.

Näin voit ilmoittaa vakioarvot JavaScript-muodossa.

const petName = 'Hippo'

literals

Jokaisessa lähdekoodissa on tietotyyppejä, joita käytät koodin ympärillä kaikkialla ja jotka muuttuvat vain, jos muokkaat niitä itse. Kutsumme näitä kirjaimia, joita ei pidä sekoittaa muuttujiin tai vakioihin. Kirjallisuus voidaan nähdä, kun katselet lähdekoodia. Ne voivat olla merkkijonoja, numeroita, desimaalit tai muut tietotyypit.

Yllä olevassa lähdekoodikatkelmassa sana 'Hippo' on kirjaimellinen - merkkijono. Se on aina 'Hippo', kunnes muokkaat lähdekoodia. Kun opit koodaamaan, opit hallitsemaan lähdekoodisi kirjaimia tavalla, jota on helppo ylläpitää muuttamatta paljon lähdekoodiasi.

Välimerkkejä / Symbolit

Suurimmasta osasta lähdekoodia löydät yleensä erilaisia ​​välimerkkejä ohjelmointikielestä riippuen. Java on enemmän välimerkkejä, esimerkiksi kuin Python.

Yleisiä välimerkkejä ovat pilkku (,), puolipiste (()), kaksoispiste (:), ahdin ({}), hakasulkeet (()), neliömäiset aaltosulkeet ([]), lainausmerkit (“”), putki ( |), viiva (\), piste (.), kysymysmerkki (?), caret (^) ja prosenttiosuus (%).

Tervetuloa koodausmaailmaan, jossa välimerkit ovat parhaita ystäviäsi. Löydät itsesi kirjoittamaan niitä paljon.

operaattorit

Todennäköisyys, että kirjoitat koodin suorittaaksesi operaation, on erittäin suuri. Hyvin pienellä tavalla suoritat toimeksiannon lähdekoodissasi. Käyttämämme ohjelmointikielet esittävät meille suuren määrän operaattoreita. Esimerkkejä ovat summaus (+), jako (/) kertolasku (*), vähennys (()) ja suurempi kuin (>).

Operaattorit voidaan yleensä luokitella seuraavasti:

  • Tehtäväoperaattorit
    Tätä tulkitaan joskus väärin tasa-arvoiseksi. Equal to: ta käytetään vertaamaan kahta arvoa. Tehtäväoperaattori asettaa arvon muuttujaan, kuten lemmikkienimi = 'Hippo'
  • Aritmeettiset operaattorit
    Sisältää operaattorit aritmeettisten tehtävien, kuten summaamisen ja vähentämisen, suorittamiseksi. Jotkut kielet tarjoavat aritmeettisia operaattoreita, joita muilla ei ehkä ole. Esimerkiksi moduulioperaattori (%) palauttaa jäljelle jäävän arvon jakautumisoperaatioissa.
  • Suhteelliset operaattorit
    käytetään arvojen vertaamiseen. Niitä on enemmän kuin, vähemmän kuin, yhtä kuin yhtä, ei yhtä yhtä. Niiden esitys vaihtelee myös riippuen siitä, mitä ohjelmointikieltä opit. <> ei ole yhtä kuin joillakin kielillä, kun taas toisilla se on! = tai! ==.
  • Loogiset operaattorit
    käytetään laskemaan loogisia toimintoja. Yleisesti käytetyt loogiset operaattorit ovat ja, tai eivät. Jotkut kielet edustavat näitä operaattoreita symboleilla, kuten && for ja, || puolesta tai, ja! sillä ei. Loogisen toiminnan arvot arvioivat yleensä Boolen arvoiksi totuudenmukaisiksi tai vääriä.

Kommentit

Dokumentaatio on tärkeä osa koodaustoimintaa. Näin selität koodisi muille ohjelmoijille. Tämä tapahtuu kommenttien avulla, jotka lisätään toisinaan koodisi osiin. Kommenttien avulla voit ohjata muita ohjelmoijia siitä, millaisen tiedon kanssa koodisi toimii ja millaisen tuotoksen se tuottaa.

Yleensä kääntäjä jättää huomioimatta koodirivit, jotka ovat kommentteja.

Kommentit vaihtelevat kielittäin. # -Tapaa käytetään kommentoimaan Pythonissa.

Tässä on esimerkki Pythonin kommentista.

# ohjelmanpätkä N-lukuisten fibonacci-laskelmien laskemiseksi

Java-, C- ja C ++ -ryhmissä on yhden rivin kommentteja, kuten Pythonissa #, mutta sen sijaan käytetään // -merkkiä. Myös monirivisiä kommentteja on / *… * /. Voit lukea lisää kommentteista valitsemallasi kielellä.

Välilyönti ja välilehdet

Nämä ovat välilyöntejä, jotka luodaan kirjoittamasi koodin väliin. Tämä tapahtuu, kun osut välilyöntiä tai näppäimistön näppäintä.

Eteenpäin

Varmista, että olet asentanut Python-tietokoneesi oikein ja suorita ensimmäinen ohjelma.

Tietokilpailu

Tässä on yksinkertainen tietokilpailu sinulle.
Tunnista alla olevat Java-lähdekoodinpätkässä tutkitut eri elementit:

// Faktoriaalin rekursiivinen toteutus
tuo java.util.Scanner;
luokka RecursiveFactorial {
  julkinen staattinen void main (String [] args) {
    Skanneritulo = uusi skanneri (System.in);
    System.out.print ("Etsi tekijä:");
    int num = input.nextInt ();
    System.out.println ("Faktoriaalin" + num + "=" + tosiasia (num));
 }
 staattinen pitkä tosiasia (int n) {
  jos (n <2) palauta 1;
  palauta n * tosiasia (n-1);
 }
}

Yhteenveto

Sinulle on kerrottu, mikä lähdekoodi on, ja olet tutkinut tyypillisen lähdekoodin sisältöä.

Koodisi käännettynä tai käännettynäsi, koodisi saattaa mahdollisesti epäonnistua useista syistä. Nämä syyt liittyvät yleensä lähdekoodisi virheisiin. Nämä virheet tunnetaan virheinä.

Näiden virheiden löytämistä ja poistamista kutsutaan virheenkorjaukseksi ja se on taito, joka sinun on opittava ohjelmoijana. Tutkimme, mitä vikoja on seuraavassa osassa.

Vastauksia tietokilpailuun

Tunnista alla olevat Java-lähdekoodinpätkässä tutkitut eri elementit:

Avainsanat:
Tuo, luokka, julkinen, staattinen, mitätön, uusi, int, pitkä, jos, palaa

tunnisteet:
java, util, skanneri, RecursiveFactorial, pää, merkkijono, args, syöttö, järjestelmä, sisään, ulos, tulosta, println, num, nextInt, tosiasia, n

literals:
Jousikirjaimet - “Factorial of” = “Löydä Factorial of:”
Kokonaisluku kirjaimet - 2, 1

operaattorit:
Tehtäväoperaattori =
Concatenator + (jousien yhdistämiseksi)
alle <
kerro *
vähentää -

Välimerkit ja symbolit
{} [] (); .

Kommentti
// Faktoriaalin rekursiivinen toteutus

Osa 3 - virheenkorjaus

Kun aloitat koodinpätkien kokeilun tai yrität ratkaista todellisia koodiongelmia, huomaat pian, että on hetkiä, jolloin ohjelma katkeaa, keskeytyy ja lakkaa toimimasta.

Tämä johtuu usein virheistä, joita kutsutaan virheiksi tai poikkeuksiksi ajon aikana. Virheiden etsiminen ja poistaminen koodistamme on virheenkorjaus. Saat paremman virheenkorjauksen yrittäessäsi tehdä sitä enemmän. Emme vain tee omaan koodiin virheenkorjausta, voimme myös debug-koodin, jonka ovat kirjoittaneet muut ohjelmoijat.

Aloittamiseksi meidän on tunnistettava lähdekoodissamme todennäköisesti esiintyvät virheet.

Syntaktiset virheet

Nämä virheet eivät salli lähdekoodisi kääntämistä käännetyllä ohjelmointikielellä. Ne havaitaan käännöshetkellä tai lähdekoodisi tulkinnan aikana. Ne voidaan myös helposti havaita linterillä. Opimme vähän lisää vuorauksista myöhemmin.

Ne johtuvat useimmiten, kun rikkoat koodaamasi kielen odotetun muodon tai rakenteen. Esimerkistä puuttuu yhtälön sulkeutuva osa.

Semanttiset virheet

Semanttiset virheet, jotka tunnetaan myös loogisina virheinä, ovat vaikeimpia kaikista virheistä. Niitä ei voida helposti havaita. Semanttisen virheen merkki on, kun ohjelma toimii onnistuneesti, mutta se ei tuota haluttua tulosta.

Mieti tätä esimerkkiä:

3 + 5 * 6

Matematiikassa etusijajärjestyksen mukaan, jota kutsutaan nimellä BODMAS, odotamme, että ensin arvioidaan kertolasku ja lopullinen tulos on 33. Jos ohjelmoija halusi lisäyksen arvioivan ensin sen sijaan, tämä antaa toisen tuloksen kuin haluttu ulostulo. Tämänkaltaiset virheet ovat semanttisia virheitä, joilla on enemmän merkitystä kuin rakennetta (syntaksi).

Sulujen 3 + 5 ympärillä saadaan sen sijaan haluttu tulos 48.

(3 + 5) * 6

Suoritusajan virheet

Kuten semanttiset virheet, ajonaikaisia ​​virheitä ei koskaan havaita käännöshetkellä. Toisin kuin semanttiset virheet, ajonaikaiset virheet keskeyttävät ohjelman ja estävät sitä suorittamasta edelleen. Ne johtuvat yleensä jonkin lähdekoodin laskennan odottamattomasta tuloksesta.

Tässä on hyvä esimerkki:

tulo = 25x = 0,8 / (Math.sqrt (tulo) - 5)

Yllä oleva koodinpätkä kootaan onnistuneesti, mutta 25 syötteestä seuraa ZeroDivisionError. Tämä on ajonaikainen virhe. Toinen suosittu esimerkki on StackOverflowError tai IndexOutofBoundError. On todella tärkeää, että tunnistat nämä virheet ja opit käsittelemään niitä.

Virheitä johtuu siitä, kuinka lähdekoodisi käyttää muistia ja tilaa käyttöympäristössä tai ympäristössä, jossa sitä käytetään. Ne ovat myös ajonaikaisia ​​virheitä. Tällaiset virheet, kuten OutOfMemoryErrorand HeapError, johtuvat yleensä siitä, kuinka paljon lähdekoodisi kuluttaa resursseja. Hyvä algoritmien tuntemus auttaa sinua kirjoittamaan koodia, joka hyödyntää resursseja paremmin.

Koodisi uudelleenkirjoitusprosessia paremman suorituskyvyn puolesta kutsutaan optimoimiseksi, ja ei-niin liittyvä sana on refaktorointi. Kun vietät enemmän aikaa koodaamiseen, sinun tulisi myös pitää tämä mielessä.

virheenkorjaus

Tässä on muutamia vinkkejä koodin virheenkorjaukseen:

  • Käytä Linters
    Listat ovat työkaluja, jotka auttavat lukemaan lähdekoodisi läpi tarkistaaksesi, ovatko ne odotettavissa olevan standardin mukaisia ​​kielellä, jota koodaat. Monille ohjelmointikieleille on luettelot. Varmista, että hankkit sellaisen kielille, jota opit.
  • IDE: t yli yksinkertaisten toimittajien
    Voit valita IDE: n, joka on suunniteltu oppimallesi kielelle. IDE tarkoittaa integroitua kehitysympäristöä. Ne ovat ohjelmistoja, jotka on rakennettu koodin kirjoittamiseen, virheenkorjaukseen, kokoamiseen ja ajamiseen. Niiden mukana tulee yleensä tehokkaita virheenkorjaussarjoja, joiden avulla voit katsella tai seurata koodiasi.
    Jetbrains tekevät suuria IDE-tunnuksia, kuten Webstorm ja IntelliJ. Muutamia mainitaksemme ovat NetBeans, Komodo, Qt-editori, Android Studio, XCode (mukana Mac).
  • Luet koodisi ääneen
    Tämä on yleensä hyödyllistä, kun etsit semanttista virhettä. Lukeessasi koodia ääneen, on suuri mahdollisuus, että luet myös virheen. Se saattaa hypätä sinuun, mikä oli todennäköisesti vialla.
  • Lue virhelokit
    Kun kääntäjä ilmoittaa virheestä, muista tarkistaa rivinumero tai koodin osa, joka on merkitty.

Eteenpäin

Aloittelijana opit koodaamaan kirjoja, verkko-oppaita tai videoita. Kirjoitat usein koodin, kun näet ne.

Tässä on jotain, joka sinun pitäisi tehdä, kun olet kirjoittanut tai käyttänyt tällaista koodia, oppia murtamaan ne. Miten teet tämän?

Vaihda jotain nähdäksesi kuinka koodi toimii. Tee tämä niin, että et tee oletuksia mistään ja olet melko varma, että ymmärrät mitä tapahtuu.

Tietokilpailu

1 Mikä on alla olevan Python-koodinpätkän todennäköinen virhe:

tuotteet = [0,1,2,3,4,5]
tulosta tuotteet [8]
// vihje: kohteita tässä on taulukko, jossa on 6 kohdetta. Esimerkiksi 4. kappaleen noutamiseksi käytetään kohteita [3]. Aloitamme laskemisen nollasta.

2. Mikä on todennäköinen alla olevan Python-koodinpätkän virhe:

input = virtahepo '
jos input == 'Hippo':
  tulosta 'Hei, Hippo'

Osion yhteenveto

Onnittelut! Virhesana ei ole sinulle enää outo, eikä virheiden poiminnan nyt pitäisikaan olla. Seuraavaksi tarkastelemme yleistä koodivirraa, jonka kirjoitamme päivittäin.

Vastauksia tietokilpailuun

Mikä on alla olevan Python-koodinpätkän todennäköinen virhe:
(1) Suorituksenaikainen virhe: Hakemisto alueen ulkopuolella
(2) Syntaksivirhe: Alkuperäinen lainausmerkki puuttuu riviltä 1

http://www.publicdomainpictures.net/

Osa 4 - Peruskoodausvirrat

Koodirivi, lausekkeet ja lausunnot

Minkä tahansa lähdekoodin yksikkö on LOC (Code Line). Yksinkertaisin ohjelma on koodirivi. LOC voi olla avainsana, symboli tai lause. Se on koodirivi, kunhan se on erillisellä omalla rivillä.

Tarkastellaan yksinkertaista koodiriviä:

pinta-ala = 0,5 * pohja * korkeus

0,5 * pohja * korkeus on lauseke. Lauseke on operaattoreiden ja operandien yhdistelmä. Tässä annetussa esimerkissä operandit ovat 0,5, pohja, korkeus. Muistut, että 0.5 on liukuluku, kirjain ja pohja ovat korkeus. Operaattori on * (kertolasku).

Lausekkeet eivät välttämättä ole tarkoituksenmukaisia ​​pysyessään yksinään LOC: na. Kun osoitamme lausekkeen arvon toiselle muuttujalle, alueen yläpuolella olevassa tapauksessa, mitä meillä on, kutsutaan lauseeksi. Se on silti lause, kun liitämme lausekkeita avainsanoihin, esimerkki: palauta 0,5 * perus * korkeus

Jäljellä olevassa osassa edustamme lauseketta symbolina S. N: nnen lauseen tulee olla Sn lausekkeen (tai joukon) joukossa

Ohjelmoinnin ymmärtämiseksi nopeasti, hyvä lähtökohta on ymmärtää peruskoodausvirrat. Perusvirroihin viitataan myös ohjausvirroina. Kun ymmärrät nämä virrat, löydät ne monilla oppimillasi ohjelmointikielillä.

Huomaa, että tässä kirjoituksessa esitetyt esimerkit ovat puhtaasti perustietoja. Sinun on viitattava opittavaan kieleen saadaksesi perusteellisen tiedon sen tarjoamista avainsanoista.

Myös täällä esitetyt perusvirrat eroavat ohjelmoinnin suunnittelumallista. Ymmärrä nämä perusvirrat ensin. Kiinnitä myöhemmin yleisiin suunnittelumalliin ohjelmoinnissa oppiessasi lisää.

Tässä ovat perusohjelmointivirrat:

  • peräkkäinen
  • Ehdollinen / Haarautuminen
  • Iteraation / Toisto / lenkit

peräkkäinen

Tämä on alkeellisin vuo, jossa yksi lause suoritetaan toisensa jälkeen. Oikeassa mielessä joka toinen virtaus ratkaistaan ​​peräkkäiseksi virtaukseksi (lisää tästä myöhemmin).

S1
S2
S3
.
.
.
sn

Joissakin ohjelmointikielissä, kuten JavaScript, S3 on mahdollista suorittaa ennen S1. Näin tapahtuu, jos jotkin tehtävät, jotka saattavat viedä enemmän aikaa, kuten SQL, ovat estyneet, kuten tietokanta- tai tiedostotoiminnot, joita kutsutaan asynkronisiksi tehtäviksi. Tällaisissa tapauksissa voi olla erilaisia ​​tapoja. Ei hätää, oppiminen on helppoa, kun valitset ohjelmointikielen.

Ehdollinen / Haarautuminen

Suorittavan lauseen määräävät ehdot. Tärkein avainsana tässä on if-avainsana. Se on yksi eniten käytetyistä koodausvirroista.

Tässä on yksinkertaisin ehdollinen malli:

jos (ehto) sitten:
   S1

Yllä olevassa esimerkissä joko S1 suorittaa tai mitään ei tapahdu. S1 suoritetaan vain, jos annettu ehto on totta.

Tässä on toinen ehdollinen malli:

jos (ehto) sitten:
  S1
  S2
else:
  S3
  S4

Tämä voidaan lukea joko S1-S2: n tai S3-S4: n suorittamiseksi annetun ehdon perusteella. Jos ehto on totta, S1 ja S2 käsitellään. Muutoin lauseet S3 ja S4 käsitellään. Tämä on todellisessa merkityksessä peräkkäinen virtaus:

S1
S2

Meillä on myös moniehtoinen tyyli:

if (ehto1) sitten:
  S1
muuten jos (ehto2) sitten:
  S2
else:
  S3

Jos ehto 1 on totta, S1 käsitellään. Muutoin ehto2 testataan, ja jos totta, S2 käsitellään. Tämä voi jatkua.

Moniehtoisessa tyylissä monet ohjelmointikielet tarjoavat vaihtolausekkeen. Tässä on kytkinlausekkeen malli:

vaihtoarvo:
  tapauksen ehto1:
    S1
    tauko
  
  tapauksen ehto2:
    S2
    tauko
oletus:
    S3

Ehtoa 1 ja ehtoa2 verrataan kytkinlausunnon arvoon. Jos jokin niistä on totta arvoon, niin lauseessa lause suoritetaan.

Ehdolliseen virtaukseen on myös muita vaihtoehtoja. Jotkut ovat nimenomaan kieltä, jonka päätät oppia, kuten ehdollinen operaattori (:?), Ja muut avainsanat, jotka helpottavat haarautumista, kuten kierto ja tauko. Varmista, että vietät joskus ymmärräksesi kunnon / haarautumisen virtauksen.

Iteraation / Toisto / lenkit

Iterointi- / toistovirta pitää lauseita käynnissä niin kauan kuin jotkin ehdot täyttyvät, ja lopettaa lauseiden suorittamisen, kun ehto ei enää ole totta.

Tässä on malli:

kun taas (ehto):
  S1
  S2

Yllä olevassa esimerkissä lauseet S1 ja S2 voivat suorittaa kerran, useita kertoja tai olla suorittamatta lainkaan. Jos annettu ehto on totta ensimmäisen kerran, kun piilevä ilmoitus kohdataan, S1 ja S2 käsitellään. Samalla kun ehto tarkistetaan uudelleen, ja S1ja S2 suoritetaan niin kauan kuin ehto on totta.

Kun tila muuttuu vääriksi, S1: n ja S2: n suorittaminen pysähtyy.

Yllä olevan lausunnon tulos, jos ehto on tosi kolme kertaa, on seuraava:

S1
S2
S1
S2
S1
S2

Mikä koodausvirta se on? Jos vastasit peräkkäin, olet oikein oikeassa. Silti kuten voimme nähdä, muut virtaukset ratkaistaan ​​peräkkäisiksi virtauksiksi.

Tässä on toinen iterointimalli:

tehdä:
  S1
  S2
kun taas (kunto)

Tässä esimerkissä S1 ja S2 suorittavat vuokrasopimuksella yhden tai useamman kerran. Tämä johtuu siitä, että ne suoritetaan ennen tilan testaamista.

Monissa ohjelmointikielissä avainsanat, kuten do ja, tarjotaan toistovirran toteuttamiseksi. Toinen yleinen avainsana on avainsanalle. Tässä on lauseen yleinen malli.

for (alkuperäinen arvo; ehto; pienennys / lisäys alkuperäistä arvoa):
  S1
  S2

Monilla kielillä on käytetty ennakkoratkaisua kunkin kohteen käsittelyyn monimutkaisessa objektissa, kuten taulukossa tai rakenteessa.

Tietokilpailu

Tunnista koodausvirrat seuraavassa Python-koodinpätkässä:

numlist = []
cnt = 0
kun taas cnt> = 0:
  m = int (raw_input ())
  jos m <0:
    tauko
  numlist.append (m)
  cnt = cnt + 1

Yhteenveto

Tässä katetut virtaukset ovat perusvirtauksia. On tapa ryhmitellä joukko koodeja ja antaa heille nimi. Tällä tavalla voit soittaa tälle ryhmälle koodia aina kun tarvitset niitä kerralla. Tätä kutsutaan menettelyksi. Siinä tapauksessa, että joukko koodeja suorittaa jonkin operaation ja palauttaa arvon, sinulla on toiminto.

Tapa, jolla menettelyt ja toiminnot toteutetaan, vaihtelee eri kielillä. Et voi ohittaa näitä saadaksesi minkään kielen perusteet. Ne ovat erittäin tärkeitä koodisi järjestämisessä. Itse asiassa tässä alkaa koodisi rakennuspalikat, joka tunnetaan myös nimellä modulaarinen ohjelmointi.

On muitakin virtauksia, jotka opit funktion ymmärtämisen hetkellä, mikä mieleen tulee on rekursio.

Silti huomaat, että menettelyissä ja toiminnoissa ovat edelleen ne mahtavat koodausvirrat, joita olemme käsittäneet täällä - peräkkäiset, ehdolliset ja silmukka- / iteratiiviset virtaukset.

Eteenpäin

Nyt olet oppinut tietokoneesi ohjelmoinnin perusajatukset. Jos haluat oppia lisää tai haluat tehdä uran ohjelmistokehityksestä, sinun tarvitsee vain sukeltaa syvemmälle syvemmille vesille. On niin paljon resursseja, joiden avulla voit oppia. Tietäminen siitä, mitkä noutaa kokemustasosi perusteella, on tärkeä asia.

Yritä olla unohdettu uusiin sanoihin, jotka kuulet ystäväpiirissäsi kokeneemmilta ohjelmoijilta. Voit pitää tyynyn merkitäksesi nämä termit, mutta älä paineta selvittääksesi, mitä ne tarkoittavat. Tulet kiinni, kun opit ja harjoitat.

Tässä on muutama resurssi, joiden avulla voit aloittaa koodausurasi ja rakentaa täältä saamasi perustan:

  • https://www.codecademy.com/
    Valitse Python-kurssi
  • https://app.pluralsight.com/library/courses/what-is-programming/table-of-contents
    Ilmainen kurssi Pluralsightista

HUOMAUTUS: En suosittele saman aiheen ylimääräistä lukemista. Uskon toimivan oppimastasi pienestä eli harjoittamisesta. Siksi en upota liian monia linkkejä täällä oppimiseesi. Voit vapaasti etsiä Googlea tai löytää muita sen perusteella, mitä jo tiedät, jos et ole ensikertalainen.

Viimeinen haaste

Haastan teidät tänne:
Vastaa näihin haasteisiin:

  • Löydä yksinkertainen sovellus verkossa ja toista se oppimallasi ohjelmointikielellä

TAI

  • Ajattele mitä tahansa ideaa, vaikka se olisi yhtä yksinkertainen kuin ämpäri-luettelosovellus
    rakenna sovellus tämän idean ympärille.

Suosittelen tätä koodementorin artikkelia aloittamaanksesi tämän.

Vastauksia tietokilpailuun

Tunnista koodausvirrat seuraavissa Python-koodinpätkissä.

  • Peräkkäinen virtaus
  • iteraatio
    samalla lausunto
  • ehdollinen
    if-lausunto

Erityiset kiitokset Maya Nerialle, Joshua Ugballe ja Mohini Ufelille tämän kirjoituksen tarkistamisesta, Surajudeen Akande kehotuksesta minua julkaisemaan se, Andelan toimitukselle arvosteluja, John Adesanalle kuvista ja 'Kunmille - nämä oppitunnit alkoivat hänen halu oppia koodaamaan.

Jos pidit tästä, napsauta napsautuskuvaketta, jotta muut ihmiset näkevät tämän täällä keskipitkällä. Jos sinulla on kysyttävää tai huomautuksia, jaa ajatuksesi kommentti-osiossa.