Pascal-ohjelmointikieli aloittelijoille: peruskäsitteet. Pascal-ohjelmoinnin perusteet opiskelijoille

2. painos - SPb .: 2011. - 320kanssa.

Tämä kirja ei ole oppikirja, vaan apulainen ohjelmointikielen Pascal hallitsemisessa, johon kaikki koululaiset tutustuvat tietojenkäsittelyn tunneilla. Se koostuu käytännön ohjelmoinnin ja ongelmanratkaisun oppitunneista. Lukuisat esimerkit auttavat sinua ymmärtämään paremmin algoritmin kehittämisen, oman ohjelman kirjoittamisen ja sen tekstin oikean muotoilun. Vihjeet ja huomautukset auttavat lukijaa kiinnittämään huomiota tärkeisiin yksityiskohtiin, välttämään sudenkuoppia ja kirjoittamaan ohjelmia tehokkaammin. Kirjan ovat laatineet koulun tietojenkäsittelytieteen opettajat, joilla on laaja kokemus useiden vuosien käytännön työstä. Toinen painos lisää useita uusia lukuja tietueista, dynaamisista muuttujista, pinosta, jonosta ja luetteloista. Se kattaa myös yhden ohjelmoinnin vaikeimmista aiheista - rekursiivisten algoritmien rakentamisen.

Muoto: pdf(2011, 2. painos, 320s.)

Koko: 14,5 Mt

Katso, lataa: docs.google.com

Sisältö
Toisen painoksen esipuhe 15
Johdanto 16
Kustantaja 16
AIHE 1. Kuinka kirjoittaa yksinkertainen ohjelma Pascal 17:ssä
Oppitunti 1.1. Viestin näyttäminen näyttöruudulla 18
Oppitunti 1.2. Kuinka laittaa tämä ohjelma tietokoneeseen 19
Tietokoneohjelman luomisen vaiheet 20
Oppitunti 1.3. Tekstin muotoilu näytöllä 28
Johtopäätökset 34
Testikysymykset 34
AIHE 2. Numeerisen tiedon sisällyttäminen työhön 36
Oppitunti 2.1. Aloitetaan yksinkertaisella: kokonaisluvut 37
Muuttujan ymmärtäminen 38
Kokonaislukutyyppi. Tehtäväoperaattori. Näyttö 38
Kokonaislukuoperaatiot 40
Vakiofunktiot, joiden tyyppi on Kokonaisluku 42
Kuinka kokonaislukumuuttujat esitetään
tietokoneen muistissa 43
Oppitunti 2.2. Sisällytämme työhön reaaliluvut 45
Kuvaus todellisesta tietotyypistä (real) 45
Reaalimuuttujien tallennusmuodot 46
Todelliset liiketoimet 46
Vakiotoiminnot kuten real 47
Matemaattisten lausekkeiden kirjoittaminen 48
Kuinka todelliset muuttujat esitetään tietokoneen muistissa 50
Oppitunti 2.3. Kokonaisluku- ja reaalimuuttujien yhdistäminen 51
Tyyppimuunnos 51
Toiminnan prioriteettisäännöt 52
Toimenpiteet erityyppisillä tiedoilla 53
Oppitunti 2.4. Tietojen syöttö ja tulostus 56
Muuttujien syöttäminen näppäimistöltä 57
Kaunis näyttö 57
Muuttujien arvojen asettaminen satunnaislukugeneraattorilla 61
Oppitunti 2.5. Miksi tarvitsemme vakioita ohjelmaan? 62
Johtopäätökset 64
Testikysymykset 64
AIHE 3. Opi työskentelemään symbolien kanssa 66
Oppitunti 3.1. Kuinka tietokone ymmärtää symboleja 67
ASCII-kooditaulukko 67
Merkkityypin kuvaus ja vakiotoiminnot 68
Oppitunti 3.2. Char-tyyppi on järjestystyyppi! 70
Johtopäätökset 71
Testikysymykset 72
AIHE 4. George Boole ja hänen logiikkansa 73
Oppitunti 4.1. Yksi tyyppi tarvitaan lisää - loogista! 74
Boolen tietotyyppi 75
Suhdetoiminnot 75
Boolen I/O 76
Oppitunti 4.2. Loogiset (Boolen) operaatiot 76
Looginen kertolasku (konjunktio) 76
Looginen summaus (disjunktio) 77
XOR (mod 2 lisäys) 77
Looginen negaatio (inversio) 78
Loogisten operaatioiden käyttäminen ohjelmassa 78
Boolen prioriteetti 80
Johtopäätökset 81
Testikysymykset 81
AIHE 5. Tilanteen analyysi ja komennon suoritusjärjestys 82
Oppitunti 5.1. Kunnon tarkistus ja haarautuminen algoritmissa 83
If-lauseen täydellinen ja epätäydellinen muoto 84
Ohjelmointi 86
Oppitunti 5.2. Operaattorilohkot 88
Oppitunti 5.3. Haarautuminen useilla ehdoilla (tapausselvitys) 92
Johtopäätökset 96
Testikysymykset 96
AIHE 6. Toistuvat toiminnot 98
Oppitunti 6.1. Silmukkaoperaattori hintaan 99
For-lause, jossa laskuri kasvaa peräkkäin 100 For-lause, jossa laskurin 101 peräkkäinen lasku
Oppitunti 6.2. Laskurisilmukoiden käyttäminen 101
Silmukka silmukan 102 sisällä
Jälki 103
Sarjan 105 summan laskeminen
Johtopäätökset 108
Testikysymykset 109
AIHE 7. Silmukat ehdolla 110
Oppitunti 7.1. Silmukka, jossa on ennakkoehto 111
Kuvaus silmukasta, jossa on ennakkoehto 111
Äärettömän sarjan 112 summan likimääräinen laskelma
Luvun nostaminen määrättyyn kokonaislukupotenssiin 115
Oppitunti 7.2. Silmukka jälkiehdon 119 kanssa
Kuvaus silmukasta jälkiehdon 120 kanssa
Repeat- ja while-silmukoilla 120
While- ja toista-lausekkeiden suhteellinen valinta 123
Johtopäätökset 129
Testikysymykset 129
AIHE 8. Taulukot – Strukturoitu tietotyyppi 131
Oppitunti 8.1. Samantyyppisten tietojen tallentaminen taulukon muodossa 132
Taulukoiden kanssa työskentelyn perusvaiheet 133
Kuvaus taulukosta Pascal 133:ssa
Taulukon täyttäminen satunnaisluvuilla ja taulukon näyttäminen näytöllä 134
Mukautetun tietotyypin luominen 137
Matriisin maksimialkion löytäminen 140
Tietyillä ominaisuuksilla olevan taulukon alkioiden summan ja lukumäärän laskeminen 144
Oppitunti 8.2. Taulukkohaku 148
Negatiivisen elementin olemassaolon määrittäminen taulukossa valintaruudun 148 avulla
Negatiivisten elementtien läsnäolon määrittäminen taulukossa laskemalla niiden lukumäärä 149
Matriisin negatiivisten elementtien lukumäärän löytäminen 150
Oppitunti 8.3. Kaksiulotteiset taulukot 154
Johtopäätökset 156
Testikysymykset 157
AIHE 9. Apualgoritmit. Menettelyt ja toiminnot. Strukturoitu ohjelmointi 1 58
Oppitunti 9.1. Ylhäältä alas -algoritmin suunnittelu 159
Käytännön ongelma apualgoritmeilla 160
Oppitunti 9.2. Esimerkki työskentelystä funktion kanssa: Maksimielementin löytäminen 167
Johtopäätökset 168
Testikysymykset 169
AIHE 10. Kuinka työskennellä merkkijonojen kanssa 170
Oppitunti 10.1. Työskentely merkkijonojen kanssa: merkkijonotyyppi 171
Merkkijonomuuttujan 171 kuvaus
Peruslinjatoiminnot 172
Oppitunti 10.2. Joitakin Pascal-funktioita ja menettelytapoja merkkijonojen kanssa työskennellessä 173
Kirjaston merkkijonorutiinien käyttäminen 173
Johtopäätökset 175
Testikysymykset 175
AIHE 11. Toimenpiteet ja toiminnot parametreilla 176
Oppitunti 11.1. Yksinkertaisia ​​esimerkkejä aliohjelmien käytöstä parametrien kanssa 177
Yksinkertaisimmat toimenpiteet parametreilla 177
Muodolliset ja todelliset parametrit 179
Perustoiminnot parametreilla 179
Oppitunti 11.2. Parametrien hyväksymismenetelmät 181
Johtopäätökset 183
Testikysymykset 184
AIHE 12. Tiedostot: tallennamme työtulokset seuraavaan kertaan 185 asti
Oppitunti 12.1. Kuinka työskennellä tekstitiedoston kanssa 186
Tiedoston avaaminen lukemista varten 186
Tiedoston avaaminen kirjoittamista varten 188
Oppitunti 12.2. Kaksiulotteisen numerotaulukon tallentaminen tekstitiedostoon 192
Numeeristen tietojen tallentaminen tekstitiedostoon 192
Numerojoukon tallentaminen tekstitiedostoon 192
Liitä tiedot tiedoston loppuun 196
Johtopäätökset 197
Testikysymykset 197
Aihe 13. Graafinen toimintatapa. Kaavio 199 -moduuli
Oppitunti 13.1. Kytke graafinen toimintatila 200 päälle
Grafiikkatyöskentelyn ominaisuudet 200
Vaihtaminen videosovittimen 201 grafiikkatilaan
Oppitunti 13.2. Jatkamme Graph 203 -moduulin ominaisuuksien tutkimista
Viivojen piirtäminen Graph 203 -moduulilla
Ympyröiden piirtäminen Graph 205 -moduulilla
Johtopäätökset 206
Testikysymykset 207
Aihe 14. Operaattorit muuttavat ohjelman luonnollista kulkua 208
Oppitunti 14.1. Käytä goto 210 ehdotonta hyppyoperaattoria
Oppitunti 14.2. Operaattorit muuttavat silmukan edistymistä 213
Katkosilmoitus 213
Jatkolausunto 214
Johtopäätökset 215
Turvakysymykset 215
Aihe 15. Tietojen ryhmittely: tietueet 216
Oppitunti 15.1. Tietueen 218 tietotyypin kuvaus
Oppitunti 15.2. Milloin ja miten käyttää 220 tietuetta viisaasti
Luo oma tietotyyppi - tietue 220
Tietueita 220
Liitä operaattori 221:een
Esimerkki tietorakenteen valinnasta 223
Äänitykset 224
Johtopäätökset 225
Testikysymykset ja -tehtävät 225
Aihe 16. Dynaamiset muuttujat 226
Oppitunti 16.1. Muistin varaus 227
Oppitunti 16.2. Osoite 229
Oppitunti 16.3. Osoittimet 230
Osoittimet yksittäisiin muuttujiin 230
Osoittimet muuttujalohkoihin 232
Oppitunti 16.4. Dynaaminen muistin varaus 232
Uusi ja hävitä 233
Dynaaminen muistin varaus taulukoille 235
GetMem ja FreeMem 236
Dynaamisesti luodun taulukon elementtien käyttäminen 237
Muuttuvan pituinen taulukko 238
Johtopäätökset 241
Testikysymykset 242
Aihe 17. Dynaamiset tietorakenteet. Pino 244
Oppitunti 17.1. Kuvataan tietotyyppi 245
Oppitunti 17.2. Pinon luominen ja pinon perustoiminnot 247
Kohteen lisääminen pinoon (Push) 248
Kohteen poksaaminen pinosta (Pop) 251
Pinon tyhjyyden tarkistaminen (StacklsEmpty) 252
Oppitunti 17.3. Pinon käyttö 253
Pinoohjelmointi taulukolla 255
Johtopäätökset 256
Testin kysymykset ja tehtävät 256
Aihe 18. Dynaamiset tietorakenteet. Jono 258
Oppitunti 18.1. Toimintaperiaate ja tietotyypin 259 kuvaus
Oppitunti 18.2. Jonon perustoiminnot 261
Kohteen lisääminen jonoon (EnQueue) 261
Kohteen hakeminen jonosta (DeQueue) 263
Jonon tyhjyyden tarkistaminen (QueuelsEmpty) 264
Oppitunti 18.3. 264-jonon käyttö
Jonon ohjelmointi taulukon avulla 267
Johtopäätökset 269
Testikysymykset 269
Aihe 19. Dynaamiset tietorakenteet. Yksisuuntainen 270-lista
Oppitunti 19.1. Tietotyypin kuvaus ja toimintaperiaate 271
Oppitunti 19.2. Yksisuuntaisen luettelon perustoiminnot 272
Kaikkien luettelon kohteiden peräkkäinen tarkastelu 272
Kohteen sijoittaminen luetteloon 273
Kohteen poistaminen luettelosta 275
Oppitunti 19.3. Listan käsittely 276
Yksisuuntaisen luettelon käyttömahdollisuus 278
Johtopäätökset 280
Testikysymykset 280
Aihe 20. Rekursio 281
Oppitunti 20.1. Periaatteen kuvaus 282
Oppitunti 20.2. Hanoin tornit 285
Oppitunti 20.3. Toistuvan aliohjelman rakenne 287
Oppitunti 20.4. Esimerkki toistuvasta ratkaisusta ei-toistuvaan ongelmaan 288
Oppitunti 20.5. Esimerkki toistuvan ongelman toistuvasta ratkaisusta 289
Johtopäätökset 291
Turvakysymykset 291
Liite 1. Lohkokaavioiden elementit 292
Liite 2. Tavoitteet 295
Kokonaisluku. Kuvaus. Tulla sisään. Lähtö. Toiminta 296
Todellinen. Kuvaus. Tulla sisään. Lähtö. Toiminnot ja ominaisuudet 296
Todellinen. Ilmaisujen kirjoittaminen ja arviointi 297
Hiiltyä. Kuvaus. Tulla sisään. Lähtö. Toiminnot 298
Boolean. Ilmaisujen kirjoittaminen 298
Boolean. Lausekkeiden arviointi 299
Jos. Yksinkertaisia ​​vertailuja. Min / max / keskiarvo 300
Jos. Yhtälöt ja epäyhtälöt parametreilla 300
varten. Siirrot 300
varten. Laskutoimitukset silmukkalaskimella 301
varten. Tyhjäkäyntivertailu 302
Vaikka-Toista. Haku 302
Vaikka-Toista. Rivit 303
Grafiikka. Suora 303
Grafiikka. Piirit 304
Taulukot. Täyttö, nosto, määrä / määrä 305
Taulukot. Permutaatiot 305
Taulukot. Haku 306
Taulukot. Sekit 307
Taulukot. Huippu 307
Aliohjelmat ilman parametreja 307
jouset. Osa I 308
jouset. Osa II 309
Aliohjelmat parametreillä. Osa I 309
Aliohjelmat parametreillä. Osa II 310
Aliohjelmat parametreillä. Osa III 310
Tiedostot 311
Yksisuuntainen luettelo 312
Rekursio 313

Kirjan ensimmäisen painoksen ilmestymisen jälkeen kollegamme ja opiskelijamme alkoivat ottaa meihin yhteyttä yhä useammin ja pyytää täydentämään ensimmäistä painosta tiedolla tutkituimmista ja kysytyimmistä tietorakenteista. Tähän painokseen olemme lisänneet useita lukuja tietueista, dynaamisista muuttujista, pinosta, jonosta ja luetteloista. Yritimme myös korostaa yhtä ohjelmoinnin vaikeimmista aiheista - rekursiivisten algoritmien rakentamista.
Liitteessä päätimme luopua kotitehtäväkokoelmasta, jossa on monia vaihtoehtoja useista aiheista. Sen sijaan laitamme sovellukseen suuren määrän temaattisia tehtäviä, jotka on järjestetty 5-8 tehtävän lohkoihin. Jokaisen lohkon tehtävät on järjestetty helposta vaikeaan. Käytämme niitä tunneillamme järjestääksemme käytännön oppitunteja teoreettisen materiaalin vahvistamiseksi (yksi oppitunti - yksi lohko).
Kirjoittajat ilmaisevat syvimmät kiitollisuutensa yhdelle parhaista opiskelijoistaan, St. Evgeny Mikhailovich Linsky hänen tuestaan, monista hyödyllisistä neuvoista ja suuresta avusta kirjan toisen painoksen parissa.

Pascal on korkean tason ohjelmointikieli. Mutta se on hyvin vanhentunutta moraalisesti. Koska maailma ei pysy paikallaan. Ja muut kielet, kuten: C # ja Java, ovat kysytympiä ja tehokkaampia koodin kirjoittamisessa kuin Pascal. Sitä ei tutkita niinkään käytettäväksi kuin opetukseen oppilaitoksissa. Koska se on helppo ymmärtää, eikä se voi vahingoittaa järjestelmää väärällä käyttäjäkoodilla. Olen toimittanut sinulle luettelon oppitunneista, joiden avulla voit opiskella sitä perusteellisesti.

Jos haluat kirjoittaa ohjelmia Pascalilla, sinun on mentävä ohjelmointiympäristöön. Jos sinulla ei ole tätä ohjelmaa, voit ladata sen mistä tahansa sivustosta

Jos sinulla on se, aloitetaan oppimisprosessi.

Kaikkien oppituntien suorittamisen jälkeen saat esimerkkejä ongelmien ratkaisemisesta, käsityksen ohjelmien kirjoittamisesta yleensä ja opit myös ohjelmointikielen Turbo Pascal.

Kehittäjä: NTU "KhPI" professori Domnin Felix Arkadievich

2. painos - SPb .: 2011. - 320kanssa.

Tämä kirja ei ole oppikirja, vaan apulainen ohjelmointikielen Pascal hallitsemisessa, johon kaikki koululaiset tutustuvat tietojenkäsittelyn tunneilla. Se koostuu käytännön ohjelmoinnin ja ongelmanratkaisun oppitunneista. Lukuisat esimerkit auttavat sinua ymmärtämään paremmin algoritmin kehittämisen, oman ohjelman kirjoittamisen ja sen tekstin oikean muotoilun. Vihjeet ja huomautukset auttavat lukijaa kiinnittämään huomiota tärkeisiin yksityiskohtiin, välttämään sudenkuoppia ja kirjoittamaan ohjelmia tehokkaammin. Kirjan ovat laatineet koulun tietojenkäsittelytieteen opettajat, joilla on laaja kokemus useiden vuosien käytännön työstä. Toinen painos lisää useita uusia lukuja tietueista, dynaamisista muuttujista, pinosta, jonosta ja luetteloista. Se kattaa myös yhden ohjelmoinnin vaikeimmista aiheista - rekursiivisten algoritmien rakentamisen.

Muoto: pdf(2011, 2. painos, 320s.)

Koko: 14,5 Mt

Katso, lataa: docs.google.com

Sisältö
Toisen painoksen esipuhe 15
Johdanto 16
Kustantaja 16
AIHE 1. Kuinka kirjoittaa yksinkertainen ohjelma Pascal 17:ssä
Oppitunti 1.1. Viestin näyttäminen näyttöruudulla 18
Oppitunti 1.2. Kuinka laittaa tämä ohjelma tietokoneeseen 19
Tietokoneohjelman luomisen vaiheet 20
Oppitunti 1.3. Tekstin muotoilu näytöllä 28
Johtopäätökset 34
Testikysymykset 34
AIHE 2. Numeerisen tiedon sisällyttäminen työhön 36
Oppitunti 2.1. Aloitetaan yksinkertaisella: kokonaisluvut 37
Muuttujan ymmärtäminen 38
Kokonaislukutyyppi. Tehtäväoperaattori. Näyttö 38
Kokonaislukuoperaatiot 40
Vakiofunktiot, joiden tyyppi on Kokonaisluku 42
Kuinka kokonaislukumuuttujat esitetään
tietokoneen muistissa 43
Oppitunti 2.2. Sisällytämme työhön reaaliluvut 45
Kuvaus todellisesta tietotyypistä (real) 45
Reaalimuuttujien tallennusmuodot 46
Todelliset liiketoimet 46
Vakiotoiminnot kuten real 47
Matemaattisten lausekkeiden kirjoittaminen 48
Kuinka todelliset muuttujat esitetään tietokoneen muistissa 50
Oppitunti 2.3. Kokonaisluku- ja reaalimuuttujien yhdistäminen 51
Tyyppimuunnos 51
Toiminnan prioriteettisäännöt 52
Toimenpiteet erityyppisillä tiedoilla 53
Oppitunti 2.4. Tietojen syöttö ja tulostus 56
Muuttujien syöttäminen näppäimistöltä 57
Kaunis näyttö 57
Muuttujien arvojen asettaminen satunnaislukugeneraattorilla 61
Oppitunti 2.5. Miksi tarvitsemme vakioita ohjelmaan? 62
Johtopäätökset 64
Testikysymykset 64
AIHE 3. Opi työskentelemään symbolien kanssa 66
Oppitunti 3.1. Kuinka tietokone ymmärtää symboleja 67
ASCII-kooditaulukko 67
Merkkityypin kuvaus ja vakiotoiminnot 68
Oppitunti 3.2. Char-tyyppi on järjestystyyppi! 70
Johtopäätökset 71
Testikysymykset 72
AIHE 4. George Boole ja hänen logiikkansa 73
Oppitunti 4.1. Yksi tyyppi tarvitaan lisää - loogista! 74
Boolen tietotyyppi 75
Suhdetoiminnot 75
Boolen I/O 76
Oppitunti 4.2. Loogiset (Boolen) operaatiot 76
Looginen kertolasku (konjunktio) 76
Looginen summaus (disjunktio) 77
XOR (mod 2 lisäys) 77
Looginen negaatio (inversio) 78
Loogisten operaatioiden käyttäminen ohjelmassa 78
Boolen prioriteetti 80
Johtopäätökset 81
Testikysymykset 81
AIHE 5. Tilanteen analyysi ja komennon suoritusjärjestys 82
Oppitunti 5.1. Kunnon tarkistus ja haarautuminen algoritmissa 83
If-lauseen täydellinen ja epätäydellinen muoto 84
Ohjelmointi 86
Oppitunti 5.2. Operaattorilohkot 88
Oppitunti 5.3. Haarautuminen useilla ehdoilla (tapausselvitys) 92
Johtopäätökset 96
Testikysymykset 96
AIHE 6. Toistuvat toiminnot 98
Oppitunti 6.1. Silmukkaoperaattori hintaan 99
For-lause, jossa laskuri kasvaa peräkkäin 100 For-lause, jossa laskurin 101 peräkkäinen lasku
Oppitunti 6.2. Laskurisilmukoiden käyttäminen 101
Silmukka silmukan 102 sisällä
Jälki 103
Sarjan 105 summan laskeminen
Johtopäätökset 108
Testikysymykset 109
AIHE 7. Silmukat ehdolla 110
Oppitunti 7.1. Silmukka, jossa on ennakkoehto 111
Kuvaus silmukasta, jossa on ennakkoehto 111
Äärettömän sarjan 112 summan likimääräinen laskelma
Luvun nostaminen määrättyyn kokonaislukupotenssiin 115
Oppitunti 7.2. Silmukka jälkiehdon 119 kanssa
Kuvaus silmukasta jälkiehdon 120 kanssa
Repeat- ja while-silmukoilla 120
While- ja toista-lausekkeiden suhteellinen valinta 123
Johtopäätökset 129
Testikysymykset 129
AIHE 8. Taulukot – Strukturoitu tietotyyppi 131
Oppitunti 8.1. Samantyyppisten tietojen tallentaminen taulukon muodossa 132
Taulukoiden kanssa työskentelyn perusvaiheet 133
Kuvaus taulukosta Pascal 133:ssa
Taulukon täyttäminen satunnaisluvuilla ja taulukon näyttäminen näytöllä 134
Mukautetun tietotyypin luominen 137
Matriisin maksimialkion löytäminen 140
Tietyillä ominaisuuksilla olevan taulukon alkioiden summan ja lukumäärän laskeminen 144
Oppitunti 8.2. Taulukkohaku 148
Negatiivisen elementin olemassaolon määrittäminen taulukossa valintaruudun 148 avulla
Negatiivisten elementtien läsnäolon määrittäminen taulukossa laskemalla niiden lukumäärä 149
Matriisin negatiivisten elementtien lukumäärän löytäminen 150
Oppitunti 8.3. Kaksiulotteiset taulukot 154
Johtopäätökset 156
Testikysymykset 157
AIHE 9. Apualgoritmit. Menettelyt ja toiminnot. Strukturoitu ohjelmointi 1 58
Oppitunti 9.1. Ylhäältä alas -algoritmin suunnittelu 159
Käytännön ongelma apualgoritmeilla 160
Oppitunti 9.2. Esimerkki työskentelystä funktion kanssa: Maksimielementin löytäminen 167
Johtopäätökset 168
Testikysymykset 169
AIHE 10. Kuinka työskennellä merkkijonojen kanssa 170
Oppitunti 10.1. Työskentely merkkijonojen kanssa: merkkijonotyyppi 171
Merkkijonomuuttujan 171 kuvaus
Peruslinjatoiminnot 172
Oppitunti 10.2. Joitakin Pascal-funktioita ja menettelytapoja merkkijonojen kanssa työskennellessä 173
Kirjaston merkkijonorutiinien käyttäminen 173
Johtopäätökset 175
Testikysymykset 175
AIHE 11. Toimenpiteet ja toiminnot parametreilla 176
Oppitunti 11.1. Yksinkertaisia ​​esimerkkejä aliohjelmien käytöstä parametrien kanssa 177
Yksinkertaisimmat toimenpiteet parametreilla 177
Muodolliset ja todelliset parametrit 179
Perustoiminnot parametreilla 179
Oppitunti 11.2. Parametrien hyväksymismenetelmät 181
Johtopäätökset 183
Testikysymykset 184
AIHE 12. Tiedostot: tallennamme työtulokset seuraavaan kertaan 185 asti
Oppitunti 12.1. Kuinka työskennellä tekstitiedoston kanssa 186
Tiedoston avaaminen lukemista varten 186
Tiedoston avaaminen kirjoittamista varten 188
Oppitunti 12.2. Kaksiulotteisen numerotaulukon tallentaminen tekstitiedostoon 192
Numeeristen tietojen tallentaminen tekstitiedostoon 192
Numerojoukon tallentaminen tekstitiedostoon 192
Liitä tiedot tiedoston loppuun 196
Johtopäätökset 197
Testikysymykset 197
Aihe 13. Graafinen toimintatapa. Kaavio 199 -moduuli
Oppitunti 13.1. Kytke graafinen toimintatila 200 päälle
Grafiikkatyöskentelyn ominaisuudet 200
Vaihtaminen videosovittimen 201 grafiikkatilaan
Oppitunti 13.2. Jatkamme Graph 203 -moduulin ominaisuuksien tutkimista
Viivojen piirtäminen Graph 203 -moduulilla
Ympyröiden piirtäminen Graph 205 -moduulilla
Johtopäätökset 206
Testikysymykset 207
Aihe 14. Operaattorit muuttavat ohjelman luonnollista kulkua 208
Oppitunti 14.1. Käytä goto 210 ehdotonta hyppyoperaattoria
Oppitunti 14.2. Operaattorit muuttavat silmukan edistymistä 213
Katkosilmoitus 213
Jatkolausunto 214
Johtopäätökset 215
Turvakysymykset 215
Aihe 15. Tietojen ryhmittely: tietueet 216
Oppitunti 15.1. Tietueen 218 tietotyypin kuvaus
Oppitunti 15.2. Milloin ja miten käyttää 220 tietuetta viisaasti
Luo oma tietotyyppi - tietue 220
Tietueita 220
Liitä operaattori 221:een
Esimerkki tietorakenteen valinnasta 223
Äänitykset 224
Johtopäätökset 225
Testikysymykset ja -tehtävät 225
Aihe 16. Dynaamiset muuttujat 226
Oppitunti 16.1. Muistin varaus 227
Oppitunti 16.2. Osoite 229
Oppitunti 16.3. Osoittimet 230
Osoittimet yksittäisiin muuttujiin 230
Osoittimet muuttujalohkoihin 232
Oppitunti 16.4. Dynaaminen muistin varaus 232
Uusi ja hävitä 233
Dynaaminen muistin varaus taulukoille 235
GetMem ja FreeMem 236
Dynaamisesti luodun taulukon elementtien käyttäminen 237
Muuttuvan pituinen taulukko 238
Johtopäätökset 241
Testikysymykset 242
Aihe 17. Dynaamiset tietorakenteet. Pino 244
Oppitunti 17.1. Kuvataan tietotyyppi 245
Oppitunti 17.2. Pinon luominen ja pinon perustoiminnot 247
Kohteen lisääminen pinoon (Push) 248
Kohteen poksaaminen pinosta (Pop) 251
Pinon tyhjyyden tarkistaminen (StacklsEmpty) 252
Oppitunti 17.3. Pinon käyttö 253
Pinoohjelmointi taulukolla 255
Johtopäätökset 256
Testin kysymykset ja tehtävät 256
Aihe 18. Dynaamiset tietorakenteet. Jono 258
Oppitunti 18.1. Toimintaperiaate ja tietotyypin 259 kuvaus
Oppitunti 18.2. Jonon perustoiminnot 261
Kohteen lisääminen jonoon (EnQueue) 261
Kohteen hakeminen jonosta (DeQueue) 263
Jonon tyhjyyden tarkistaminen (QueuelsEmpty) 264
Oppitunti 18.3. 264-jonon käyttö
Jonon ohjelmointi taulukon avulla 267
Johtopäätökset 269
Testikysymykset 269
Aihe 19. Dynaamiset tietorakenteet. Yksisuuntainen 270-lista
Oppitunti 19.1. Tietotyypin kuvaus ja toimintaperiaate 271
Oppitunti 19.2. Yksisuuntaisen luettelon perustoiminnot 272
Kaikkien luettelon kohteiden peräkkäinen tarkastelu 272
Kohteen sijoittaminen luetteloon 273
Kohteen poistaminen luettelosta 275
Oppitunti 19.3. Listan käsittely 276
Yksisuuntaisen luettelon käyttömahdollisuus 278
Johtopäätökset 280
Testikysymykset 280
Aihe 20. Rekursio 281
Oppitunti 20.1. Periaatteen kuvaus 282
Oppitunti 20.2. Hanoin tornit 285
Oppitunti 20.3. Toistuvan aliohjelman rakenne 287
Oppitunti 20.4. Esimerkki toistuvasta ratkaisusta ei-toistuvaan ongelmaan 288
Oppitunti 20.5. Esimerkki toistuvan ongelman toistuvasta ratkaisusta 289
Johtopäätökset 291
Turvakysymykset 291
Liite 1. Lohkokaavioiden elementit 292
Liite 2. Tavoitteet 295
Kokonaisluku. Kuvaus. Tulla sisään. Lähtö. Toiminta 296
Todellinen. Kuvaus. Tulla sisään. Lähtö. Toiminnot ja ominaisuudet 296
Todellinen. Ilmaisujen kirjoittaminen ja arviointi 297
Hiiltyä. Kuvaus. Tulla sisään. Lähtö. Toiminnot 298
Boolean. Ilmaisujen kirjoittaminen 298
Boolean. Lausekkeiden arviointi 299
Jos. Yksinkertaisia ​​vertailuja. Min / max / keskiarvo 300
Jos. Yhtälöt ja epäyhtälöt parametreilla 300
varten. Siirrot 300
varten. Laskutoimitukset silmukkalaskimella 301
varten. Tyhjäkäyntivertailu 302
Vaikka-Toista. Haku 302
Vaikka-Toista. Rivit 303
Grafiikka. Suora 303
Grafiikka. Piirit 304
Taulukot. Täyttö, nosto, määrä / määrä 305
Taulukot. Permutaatiot 305
Taulukot. Haku 306
Taulukot. Sekit 307
Taulukot. Huippu 307
Aliohjelmat ilman parametreja 307
jouset. Osa I 308
jouset. Osa II 309
Aliohjelmat parametreillä. Osa I 309
Aliohjelmat parametreillä. Osa II 310
Aliohjelmat parametreillä. Osa III 310
Tiedostot 311
Yksisuuntainen luettelo 312
Rekursio 313

Kirjan ensimmäisen painoksen ilmestymisen jälkeen kollegamme ja opiskelijamme alkoivat ottaa meihin yhteyttä yhä useammin ja pyytää täydentämään ensimmäistä painosta tiedolla tutkituimmista ja kysytyimmistä tietorakenteista. Tähän painokseen olemme lisänneet useita lukuja tietueista, dynaamisista muuttujista, pinosta, jonosta ja luetteloista. Yritimme myös korostaa yhtä ohjelmoinnin vaikeimmista aiheista - rekursiivisten algoritmien rakentamista.
Liitteessä päätimme luopua kotitehtäväkokoelmasta, jossa on monia vaihtoehtoja useista aiheista. Sen sijaan laitamme sovellukseen suuren määrän temaattisia tehtäviä, jotka on järjestetty 5-8 tehtävän lohkoihin. Jokaisen lohkon tehtävät on järjestetty helposta vaikeaan. Käytämme niitä tunneillamme järjestääksemme käytännön oppitunteja teoreettisen materiaalin vahvistamiseksi (yksi oppitunti - yksi lohko).
Kirjoittajat ilmaisevat syvimmät kiitollisuutensa yhdelle parhaista opiskelijoistaan, St. Evgeny Mikhailovich Linsky hänen tuestaan, monista hyödyllisistä neuvoista ja suuresta avusta kirjan toisen painoksen parissa.

(luokille 6-7)

Joskus kuulemme koululaisilta, että Pascal on tylsä ​​ja epäkiinnostava. Itse asiassa Pascal-kieli on eräänlainen "kertotaulukko" kaikille, jotka haluavat tuntea ohjelmoinnin "maun". Helppo ja suoraviivainen, siitä tulee perusta kaikkien muiden ohjelmointikielten hallitsemiselle.

Minskissä Comp-As School of Computer Sciencessa opetamme Pascalia lapsille. Olemme kehittäneet "Free Pascal Video Tutorials" -projektin auttaaksemme koululaisia ​​varmistamaan, että ohjelmointi on hauskaa ja jännittävää!

Mitä ilmaiset Pascal-video-opetusohjelmat tekevät?

Ilmaiset opetusvideot perustuvat koulun opetussuunnitelmaan. Täältä löydät monia ratkaistuja ongelmia ja valmista kotitehtäväsi helposti.

Mitä voit oppia kasvokkain koulun luokista?

Koululaisten tietokonekursseilla opiskelemme Pascalia ja muita ohjelmointikieliä syvällisemmin: PHP, C, C++ ja Java. Haluatko jatkaa opintojasi, tulla ohjelmoinnin asiantuntijaksi ja tulevaisuudessa - saada lupaava työ IT-alalta? Soita ja tule Comp-As Schoolin kursseille!

Kuinka opiskella ilmaisia ​​opetusvideoita?

Kielen puhuminen on mahdotonta, kun on tutustunut siihen vasta oppikirjasta. Samoin et voi tulla ohjelmoijaksi kirjoittamatta yhtä ohjelmaa. Siksi suosittelemme, että kun olet katsonut jokaisen ilmaisen video-opetusohjelman, siirryt suoraan harjoitteluun - ja tarkistat ohjelmien toiminnan tietokoneellasi.

6. luokka

7. luokka

Kutsumme sinut matkalle ohjelmointimaan halki!
”Ohjelmointia voi verrata valtavaan maahan, joka on täynnä ihmeitä, yllätyksiä, upeita löytöjä ja jopa... vaaroja! Aloitteleva käyttäjä tai kokenut "pelaaja" - virtuaalisten hirviöiden voittaja ei aina tiedä, että vaikka hän hallitsee ohjelmoinnin perusteet, hän voi saada tietokoneen piirtämään kuvia, jotka ovat kauneudeltaan hieman huonompia kuin tietokonegrafiikkapelien mestariteokset, tai soittaa melodiaa silmää silmää samalla näppäimistönsä merkkivaloilla.

No, mikä ei ole ihmeellinen mahdollisuus - ratkaisu monimutkaiseen ohjelmointiongelmaan, ratkaisu, jota sinä etkä kukaan muu voi löytää, ja nyt sadat ja tuhannet käyttäjät "lataavat" ohjelmasi Internetin kautta välittäen sen nimen. luoja toisilleen!

Mutta entä vaarat? On myös vaaroja. Ohjelmoinnin historiaan kuuluu ohjelmoijan virhe, joka loi ohjausohjelman amerikkalaiselle planeettojenväliselle luotain ja "kirjoitti" pisteen pilkun sijaan. Pilkku menetti häntänsä, ja planeettojenvälinen luotain "välitti" Venuksen useita miljoonia kilometrejä. Entä jos jotain vastaavaa tapahtuu ohjelmassa, joka ohjaa esimerkiksi taisteluohjuksen lentoa?"