Sergejs Trofimovs
Pēdējā laikā bieži dzirdu, ka filozofija ir mirusi. Ka līdz ar Aristoteļa, Hēgeļa, Berdjajeva laikmetu aizgāja arī filozofija, ka tagad cilvēku prātus pilnībā nodarbina eksaktās zinātnes, un filozofijai vairs nav vietas. Taču filozofija galvenokārt ir pasaules uzskats, prizma, caur kuru cilvēks uztver apkārtējo pasauli, savu vietu šajā pasaulē, savu vietu apkārtējo cilvēku vidū. Cilvēce, ar tehnoloģiskā progresa palīdzību saņēmusi jaunus instrumentus apkārtējās pasaules pētīšanai, vienlaikus saņēma instrumentus, lai ietekmētu šo pasauli un sevi kā vides daļu. Cilvēkiem steidzami jāapzinās sava vieta tehnoloģiskā progresa apstākļos, tehnisko jauninājumu ietekme uz pašu cilvēku, jāizkopj rūpīga apiešanās ar gigantisko spēku, ko cilvēcei dod tehniskais progress.
Ievads.
Programmēšana kā kibernētikas sastāvdaļa parādījās tikai divdesmitajā gadsimtā. Savukārt kibernētikas rašanos sagatavoja vairāki zinātnes un dabas zinātnes sasniegumi automātiskās vadības teorijas un radioelektronikas jomā, kas ļāva projektēt ātrdarbīgas skaitļošanas ierīces.
Sākumā, kad šādu ierīču programmas bija diezgan vienkāršas, ar tām rīkojās paši datoru ražotāji. Taču, pieaugot programmu sarežģītībai un apjomam, sāka pieprasīt cilvēkus ar īpašu sagatavotību un, galvenais, ar īpašu domāšanas veidu, kuri spēja “ieelpot” arvien inteliģentākajās elektroniskajās “smadzenēs”. Tad viņi sāka uzskatīt programmu rakstīšanu elektroniskajiem datoriem par īpašu intelektuālās darbības veidu, ko dažreiz salīdzina ar mākslu.
Vārda plašā nozīmē jēdziens “programmēšana” attiecas uz tehnisko ierīču programmu apkopošanu. Šeit aplūkosim programmēšanas jautājumus tādām programmā vadāmām skaitļošanas ierīcēm kā personālajiem datoriem, kas ir vispieejamākie plašam cilvēku lokam un kas ir pietiekami attīstīti tā sauktajai "inteliģentajai programmēšanai". Ar terminu "inteliģentā programmēšana" šeit tiks saprasts tādu programmu apkopojums, kas spēj konkurēt ar cilvēka prātu vai palīdzēt tam intelektuālu problēmu risināšanā.
Elektroniskie datori atšķirībā no ierīcēm, kas pārveido enerģiju vai vielu, darbojas ar informāciju, kas nav materiāla. Jēdziens "informācija" kā zināšanu kopums ir svarīgs programmēšanas dziļo procesu izpratnei. Informācija ir tīras zināšanas, kuras cilvēks no savām smadzenēm ir pārnesis uz materiālo vai elektronisko mediju. Šīs informācijas pārvaldīšana, apstrāde, pārveidošana citā, meklēšana gigantiskos zināšanu masīvos prasa precīzu algoritmisku domāšanu un skaidrus norādījumus šī darba veikšanai.
Tomēr nav iespējams neņemt vērā elektroniskā datora apgriezto ietekmi uz cilvēka prātu. Kā mainās cilvēka dzīvesveids, viņa uzvedība un garīgās vērtības kibernētiskā progresa ietekmē. Šajā darbā tiks aplūkoti jautājumi par programmu ietekmi uz cilvēka personību un paša cilvēka ietekmi uz programmām, programmēšanas morāles un ētiskās problēmas un citi tikpat svarīgi jautājumi.
Elektronisks cilvēka domas iemiesojums.
Ir zināms, ka cilvēku sociālās materiālās un garīgās darbības produkts ir zināšanas. Senatnē cilvēki saņēma zināšanas, pamatojoties uz viņu personīgo pieredzi, izmēģinājumu un kļūdu ceļā. Dažus instinktus noteica daba, bet šie instinkti bija zemāki, dzīvnieki un zināšanas nebija, jo tie nav veidojušies uz cilvēka darbības pamata. Cilvēku evolūcijas cīņas rezultātā papildus pirmajai signālu sistēmai, kas atspoguļo dzīvnieku realitāti, izveidojās otra signālu sistēma - verbāla, kas saistīta ar verbāli abstrakto domāšanu, kas ļāva ar runas palīdzību apmainīties ar iegūtajām zināšanām. .
Pirms rakstniecības parādīšanās cilvēku iegūtās zināšanas tika nodotas no mutes mutē, no tēva uz dēlu, no vectēva uz mazdēlu, pārauga leģendās, pasakās un eposos, arvien vairāk zaudējot objektīvo zināšanu pavedienu un iegūstot personības pieskārienu. katra stāstnieka pieredze.
Līdz ar rakstniecības parādīšanos dabas un dabas parādību izpētē notika radikālas pārmaiņas. Zināšanas sāka uzkrāt un nodot nākamajām paaudzēm precīzi, bez sagrozīšanas. Uz šo zināšanu pamata radās zinātnes, kas nebija balstītas uz konkrēta indivīda pieredzi, bet uzkrāja simtiem un tūkstošiem cilvēku pieredzi. Cilvēkam vairs nebija jāmācās pasaule ar izmēģinājumu un kļūdu palīdzību, izpētot iepriekšējo paaudžu pierakstīto pieredzi, bija iespējams iedomāties apkārtējās pasaules priekšstatu, tērējot tam nesamērīgi mazāk laika un pūļu.
Attīstoties zinātnei un tehnoloģijām, mainījās arī zināšanu nesēji. Lai gan drukātajos materiālos bija visa uzkrātā informācija, to uzglabāšanai bija nepieciešams arvien vairāk vietas. Nepieciešamās informācijas atrašana starp miljoniem informācijas apjomu kļuva arvien grūtāka. Cilvēka dzīve prasīja ne tikai rezultātā uzkrātā saglabāšanu zinātniskā darbība zināšanas, bet arī sabiedrības ikdienai nepieciešamās specializētās informācijas saglabāšana un apstrāde. Kā piemēru var minēt grāmatvedību dažādās komercdarbības jomās, statistisko grāmatvedību.
Līdz ar elektronisko datoru parādīšanos tika mēģināts lielāko daļu ikdienas informācijas vākšanas un apstrādes darbu pārcelt uz "dzelzs pleciem". Taču tikai šodien, kad personālie datori ir gandrīz katrā mājā, var droši teikt, ka datori ir tvēruši un tur plaukstu darbā ar informāciju.
Sākumā datori veica tikai parastās skaitīšanas un meklēšanas darbības, pēc tam datorprogrammas kļuva arvien sarežģītākas, to darba loģika sāka tuvoties cilvēka smadzeņu darbam. Jau tagad datorprogrammas tādas ļoti inteliģentas spēles kā šahs spēlē labāk nekā cilvēki. Piemērs tam ir Deep Blue programmas uzvara šaha mačā pret pasaules čempionu Gariju Kasparovu.
Zemākajā līmenī programma ir miljardu vienkāršu informācijas bitu kopums, nulles un vieninieki. Dators pārvērš šos informācijas bitus iekšējā loģiskā algoritmā, kas kļūst arvien sarežģītāks, palielinoties programmas izmēram. Cilvēka smadzenes darbojas tāpat. Tās darbības pamatā ir elektriskie impulsi, kas pulsē starp neironiem, kas tiek pārvērsti domās un komandās cilvēka orgāniem. Bet ir milzīga atšķirība starp datora darbību un cilvēka smadzenēm. Programmu vienreiz raksta viens vai vairāki cilvēki, un tā darbojas datorā. Un cilvēks katru sekundi maina savu uzvedības “programmu”, viņš var dažādi reaģēt uz vieniem un tiem pašiem stimuliem, smadzeņu darbība, nemitīgi pilnveidojot savu iekšējo programmu, nav aprakstāma. Tā ir cilvēka doma, kas ir iestrādāta elektroniskajās “smadzenēs”, skaidri aprakstīta, sadalīta miljardos informācijas bitu, un vienkārši nav kur ņemt vairāk par to, ko cilvēks iegulda. Var sniegt vienkāršu piemēru. Programma ir lielā Grāmata cilvēku rakstītas un pilnīgi jaunas lapas, kuras neviens nav rakstījis, nekad nebūs. Jūs varat pievienot dažas jaunas lapas vai pat dot datoram norādījumus to izdarīt, taču šajā gadījumā jaunās lapas tiks saliktas no tā, kas jau ir “dzelzs prāta” iekšienē.
Programmēšana – māksla vai amatniecība?
Cilvēks saņem estētisku gandarījumu, kad viņš kaut ko rada savām rokām, kad no meistara rokām iznāk mākslas darbs, kas sagādā baudu ne tikai radītājam, bet arī daudziem desmitiem un tūkstošiem cilvēku, padara tevi piedzīvot prieka, skumjas, naida sajūtas uc Mākslas uzdevums ir atklāt patiesību jutekliskā formā, mākslinieciskā noformējumā, no šī viedokļa programmu var uzskatīt arī par mākslas darbu.
Tiklīdz parādījās pats programmēšanas jēdziens, cilvēkiem sāka rasties jautājums: vai programmēšana ir māksla vai amatniecība?
Programmā ir arī māksla kā realitātes estētisks atspoguļojums. Programmētājs var modelēt reālās pasaules objektus tā, kā viņš tos redz, un pārveidot tos pēc saviem ieskatiem, taču, lai izveidotu mākslas darbu, nepietiek tikai ar reālās pasaules objektu modelēšanu. Šeit mēs nonākam tuvu jautājumam par to, kad patiesībā kaut kas pārstāj būt vienkāršs, utilitārs amats un nonāk mākslas darbu kategorijā.
Var kuloni vienkāršs piemērs. Ja drēbes šuj ikdienai, parasti nevienam neienāk prātā šādu lietu nosaukt par mākslas darbu, taču ir īpaši modeļu nami, kur skatītājiem tiek prezentēti slavenu modes dizaineru darinātie apģērbi, bieži vien vienā eksemplārā, kuru apcerēšana cienītājiem sagādā patiesu baudījumu. Vai tas nav mākslas darbs? Var pieņemt, ka viena no mākslas darba pazīmēm būs ekskluzīvs, vienots darījums. Taču nevienam neienāk prātā, ka slavenu dzejnieku dzejoļi pēc iznākšanas miljonos eksemplāru ir zaudējuši savu skaistumu. Bet galu galā dzejoļi ir sarakstīti reiz, kā, piemēram, skulptūra. Un tad tie tika pārrakstīti, daudzos tūkstošos eksemplāru. Šīs kopijas nav zaudējušas oriģināla skaistumu un pievilcību.
Arhitektūras ansambļos un pat cilvēka prāta un roku radītajos mehānismos ir sava pievilcība un skaistums. Ne velti Maskavā nav tukšas Politehniskā muzeja zāles, kurās apkopoti dažādos laikos un dažādās valstīs cilvēka radīto mehānismu “evolūcijas” modeļi un “dzīvie” piemēri.
Datorprogramma ir tāds cilvēka prāta radījums, kas sevī absorbē gan valodas, gan mehānisma skaistumu. Programmu ārējā grafiskā izpausme ir ietverta jēdzienā “datorgrafika”. Tagad datorgrafika ir ieņēmusi savu pelnīto vietu starp tādām mākslas jomām kā glezniecība, kinematogrāfija, animācija. Cilvēks paņēma rokās rīku, kas ļauj pārvērst savas fantāzijas īstās bildēs un parādīt tās plašai skatītāju auditorijai. Datorgrafikas tehniskā puse ir sasniegusi tādus augstumus, ka elektroniskā datora reāllaikā radītās bildes cilvēka smadzenes nespēj atšķirt no īstajām. Tomēr aiz katras datorizētas gleznas slēpjas tās patiesais cilvēka radītājs. Dators ir objektīvs, kas palielina un publicē idejas un attēlus dziļi cilvēka prātā. Datoru var salīdzināt ar mākslinieka molbertu vai kinorežisora kameru.
Tomēr nedrīkst aizmirst, ka ne katrs dzejolis ir mākslas darbs un ne katra spēlfilma sniedz estētisku gandarījumu. Iespaids ļoti atkarīgs no radītāja personības, no viņa prasmes un spējas darbā ielikt dvēseli. Un tikai tad, kad programma, tāpat kā jebkura cita lieta, ir veidota ar dvēseli, ar pilnu atdevi, kad darbā ir ieguldītas visas radītāja jūtas, pieredze un prāts, tikai tad programma iziet no vienkāršo amatniecības kategorijas, un tā radītājs no amatnieku kategorijas.
Indivīda iemiesojums programmā.
Zināms filozofiskais jēdziens – cilvēka “es” atspoguļojums indivīda darbībā. Tāpat kā jebkurā darbībā, programmētājs veidojamajā programmā iegulda savas zināšanas, pieredzi un labu programmētāju un savu dvēseli. Katrs indivīds, uzkrājis kādu iepriekšēju pieredzi, ieliek to lietās, ko rada. Un programmētājs nav izņēmums. Programma iemieso viņa pasaules uzskatu un attieksmi. Dators kļūst it kā par cilvēka prāta paplašinājumu. Darbojoties pēc cilvēka sastādītas programmas, dators “runā” ar vārdiem, ko tajā ievieto cilvēks un noteiktas situācijas reaģē tā, kā reaģētu persona, kas to ieprogrammēja. Programmas rakstīšana ir līdzīga bērna audzināšanai. Tikai izglītība aizņem visu mūžu, un programmēšanai joprojām ir ierobežots laiks. Tāpat kā programmētājs mazam bērnam paskaidro, kas datoram jādara tajā vai citā situācijā. Kādas būs sekas viņa darbībām un kas būs jādara, lai šīs sekas mainītu. Un tāpat kā bērna audzināšana ir atkarīga no vecāku personības un piemēra, tā programma ir atkarīga no programmētāja personības. Labs cilvēks ieguldīs datorā darbību kopumu, kas cilvēkiem palīdzēs darbā, mācībās vai atpūtā. Bezatbildīgs cilvēks “iemācīs” datoru lauzt, iznīcināt, iznīcināt citu cilvēku radītās zināšanas. Tipisks piemērs ir tā saukto datorvīrusu neizsmeļamā straume, programmas, kuras, kopējot sevi no datora uz datoru, destruktīvi iedarbojas uz datorsistēmām, izpildot tām piemītošo destruktīvo algoritmu.
Programmas ietekme uz indivīdu.
Cilvēkam ir dziļi attīstīta sajūta sekot autoritātēm, sekot līderim. Šī īpašība veidojas no bērnības, kad katrs pieaugušais bija līderis mazam cilvēkam. Viss, ko teica pieaugušie, bija neapstrīdama patiesība, kas nebija pakļauta šaubām. Pieaugot, cilvēks sāk kritiski izturēties pret apkārtējo pasauli un citu cilvēku viedokļiem. Taču šī kritiskā pieeja lielā mērā ir atkarīga no cilvēka pasaules redzējuma, izglītības un dzīves pieredzes. Ir zināma likumsakarība, ka pret drukāto vārdu cilvēks ir mazāk kritisks nekā pret dzīvo. Tas ir saistīts ar cilvēku izglītības sistēmas attīstību. Vairums zinātniskās zināšanas indivīds saņem ar iespieddarbu starpniecību. Un līdz pa lielam Cilvēka pasaules uzskats veidojas tieši mācību procesā. Šajos gados veidojas izpratne par pasauli un indivīda vietu tajā. Tiek veidota vērtību un autoritātes sistēma. Tieši šajā laikā saistība ar drukāto vārdu kā ar neapstrīdamu autoritāti ir ielikta dziļi zemapziņā. Var atcerēties nesenos sociālistiskās cenzūras laikus, kad visa caur drukātajiem medijiem izskanējusī informācija tika rūpīgi filtrēta un ķemmēta, lai izaudzinātu tā saukto "komunistisko pasaules uzskatu".
Tagad drukāto mediju autoritāte lielā mērā ir zudusi. Vēstures mācību grāmatas tiek pārrakstītas ar apskaužamu biežumu. Laikraksti un žurnāli publicē šādu informāciju, ko dažos gadījumos var droši attiecināt uz mītu un leģendu kategoriju. Taču drukāto mediju zaudēto autoritāti nekavējoties pārņēma elektroniskie mediji. Un līdz ar globālā tīkla attīstību internets migrēja uz to. Tagad frāzi “Es lasīju internetā...” var dzirdēt biežāk nekā “biju bibliotēkā...”. Es personīgi pazīstu cilvēkus, parasti vecāko paaudzi, kuri bez ierunām tic visam, ko dators "teica". To plaši izmanto negodīgi tirgotāji. Vēl nesen pašā Maskavas centrā varēja sastapt biznesmeni ar portatīvo datoru, kurš par noteiktu summu “paprasīja” no datora astroloģisko prognozi vai tamlīdzīgi. Un viņš turpat izsniedza izdrukātas prognozes. Un, ja paskatās reklāmas, kas griežas televīzijā, grūti nepamanīt, ka katrā otrajā no tiem dators ieņem padomdevēja lomu šīs vai citas lietas lietošanā. Tēls, kurā redzams vīrietis baltā mētelī, nospiežot pogu datorā ar kādu grafiku uz ekrāna, vienkārši klīst no video uz video.
Arī šīs cilvēku ticības skaitļošanas mašīnas nemaldīgumam pamatā ir iekšējās bailes no neaptveramā. Galu galā viss, ko dara dators, ir paslēpts no ziņkārīgo acīm kaut kur dziļi tumsā vadu instalāciju un mikročipu zirnekļu pinumos ar nesaprotamiem uzrakstiem. Un ekrānā pēkšņi parādās tikai uzraksti, padomi, gatavas receptes visiem gadījumiem. Cilvēki baidās no sava pārpratuma, tā visa sarežģīts dizains un tāpēc tici tās nemaldībai.
Pēdējā laikā pilnībā izpaudusies problēma neizprast lietu patieso vērtību un savas rīcības patiesās sekas. Un datorprogrammas kopā ar zemas kvalitātes filmām, kuras pat nevar nosaukt par mākslinieciskām, dod savu ne mazāko ieguldījumu šajā problēmā. Īpaši spēcīga ir “elektroniskā guru” ietekme uz pusaudžu trauslajām dvēselēm. Milzīgs skaits datorprogrammu veicina vardarbību. Spēles, kurās pusaudži kontrolē asiņainu cīņu, arvien vairāk tiek pārnestas uz realitāti. Pusaudzis joprojām nevar saprast, ka datorspēlē var bez sekām iesist pretiniekam ar šūpošanos, taču arī reālajā dzīvē pārcelta darbība var novest līdz traģēdijai. Pusaudži nesaprot savas rīcības reālās sekas, tiek pārnesti uz virtuālo pasauli, kurā viss nav īsts, viņi iegūst pieredzi, ko nevar pielietot praksē, veidojas sagrozīta izpratne par apkārtējo pasauli. Un jo reālāk izpildīts" virtuālā realitāte”, jo grūtāk ir atgriezties reālajā pasaulē ar tās reālajām problēmām un objektīvajiem likumiem, ko neapgriež elektroniskās tehnoloģijas. Pusaudžu vidū ir tāds jēdziens “čakarēties”, kas attiecināms arī uz datorspēļu spēlētājiem. Šajā kontekstā tas nozīmē, ka cilvēks ir tik ļoti iegrimis “virtuālajā” pasaulē, ka pārstāj sajust objektīvo realitāti un nevar atrauties no monitora, kamēr “iziet cauri” visai spēlei līdz galam.
Šis stāvoklis ir līdzīgs dzērumam pieaugušajiem. Sajūta tāda pati. Cilvēks ienirst sirreālā fantāziju pasaulē, un ir diezgan grūti viņu no turienes dabūt ārā.
Bieži vien cilvēks zaudē izpratni par patiesajām vērtībām un pārstāj adekvāti uztvert apkārtējo realitāti saistībā ar to. Šāda vērtību zaudējuma piemērs ir tā sauktie "tamagoči" - elektroniski dzīvnieki, kas šobrīd ir kļuvuši plaši izplatīti. "Tamagotchi" ir mazs elektronisks atslēgu piekariņš ar ekrānu un vairākām pogām, caur kurām var vadīt šajā ierīcē iegulto programmu. Programma ir veidota pēc tāda algoritma, ka tās darbības laikā šķiet, ka šī ierīce ir dzīva. Tas ir elektroniski “jāpabaro”, jāspēlē, “jāārstē” utt. plkst pareiza secība“Tamagotchi” ir “aug” un “laimīgs”, ja secība ir nepareiza, tas var “saslimt” vai “nomirt”. Tādējādi programma nepārtrauc savu darbu ne dienu, ne nakti, radot iespaidu, ka “tamagoči” ir dzīvs. Pieaugušie ar jau iedibinātiem uzskatiem saprot, ka šī nav nekas vairāk kā elektroniska rotaļlieta, taču bērni joprojām nevar atšķirt dzīvas būtnes no elektroniskā modeļa. Tas nāk no dzīves pieredze. Galu galā ir zināms, ka bērna attīstības laikā ir nedzīvu lietu garīguma periods, kas pāriet ar vecumu. Bet šāda elektroniska rotaļlieta “uzvedas” kā dzīva, kas bērnam apgrūtina tās garīguma pareizu novērtēšanu. Ir zināms gadījums, kad bērns iesita savam jaunākajam brālim, jo viņš “nogalināja” Tamagotchi, un šādi gadījumi nav atsevišķi. Tādējādi sākotnēji šķiet laba ideja ieaudzināt bērnā rūpes par citiem, kas galu galā pāraug šķībā skatījumā un dzīves vērtību maiņā. Galu galā es neaizvietotu dzīvu būtni, par kuru var rūpēties un bērnos audzināt mīlestību pret savu tuvāko, ar elektronisko surogātu.
Reja Bredberija novele "The Veld" spilgti ataino tieši šādu situāciju. Pat pirms šāda veida elektronisko rotaļlietu izgudrošanas kāds izcils rakstnieks attēloja sekas, ko rada patieso vērtību aizstāšana ar elektronisko modeli. Šajā skaņdarbā bērni brutāli izturējās pret saviem vecākiem tikai tāpēc, ka viņi "nogalināja" hologrāfisko attēlu, izslēdzot ekrāna jaudu. Šeit es nemudinu pilnībā atteikties no elektroniskām lietām un programmām un doties akmens laikmetā, taču šīm lietām ir jāpieiet pietiekami nopietni, lai novērstu programmu kaitīgo ietekmi uz trauslo psihi.
Interesanti, ka programmām ir tieša ietekme ne tikai uz elektronisko preču “patērētājiem”, bet arī uz “ražotājiem”, t.i. programmētājiem. Programmētājs pierod domāt mašīnu kategorijās un novirza tās uz citiem. Pat izskats kļūst viegli atpazīstams. Ja redzat sev priekšā kalsnu, klusu briļļu vīrieti ar bezmiega nakts riņķiem zem acīm, tad ar lielu varbūtību varam pieņemt, ka tas ir dedzīgs datorzinātnieks. Programmētājs, ar pietiekami ilgu saziņu ar mašīnu , iegūst īpašu domāšanas veidu. Viņš ir pieradis sniegt precīzas atbildes uz jautājumiem, tāpat kā rakstot programmas. Ir zināms sens stāsts no anekdošu kategorijas. Uz ielas kāds garāmgājējs citam jautā: "Vai šis autobuss brauc uz staciju?" - “Jā.”, garāmgājējs nezināja, ka viņa sarunu biedrs ir programmētājs, kurš precīzi atbildēja uz jautājumu, taču klusēja, ka pirms autobusa nokļūšanas stacijā vispirms sasniedz pēdējo, apmet apli un tikai tad. iet pareizajā virzienā. Ja kāds garāmgājējs uzdotu jautājumu “Kā nokļūt stacijā?” Un arī noskaidrotu, ka interesē optimālākais ceļš, viņš saņemtu atbildi, ka jāšķērso iela, jābrauc ar autobusa numuru tāds un tāds. un brauc divas pieturas. Bet tas, kas parastajā dzīvē šķiet smieklīgs, ir vienkārši nepieciešams, strādājot ar elektronisku mašīnu. Viņai ir vajadzīgas precīzas instrukcijas, kā veikt noteiktas darbības un cik precīzi programmētājs var formulēt soli pa solim algoritms darbības ir atkarīgas no viņa kvalifikācijas. Interesanti, ka militārpersonas programmēšanā sasniedz noteiktus augstumus. Tas skaidrojams ar to, ka militārpersonas māca dot precīzas pavēles un vadīt lielas cilvēku grupas, stingri sadalot autoritāti un darbu starp grupas dalībniekiem. Šo paņēmienu var viegli attiecināt arī uz datorprogrammām, kad nepieciešams precīzi aprakstīt katras programmas daļas algoritmu, tās dažādo daļu mijiedarbību.
Elektroniskās domas dzīve (vai datori domā).
Jebkuras lietas radīšanā agri vai vēlu pienāk brīdis, kad tās veidotājs “ieliek pēdējo sitienu”, kad viņš nolemj, ka ir izdarījis visu, ko varējis, un ir laiks nosūtīt savu darbu uz “ lieliska dzīve". Un no šī brīža programma sāk dzīvot patstāvīgu dzīvi neatkarīgi no tās veidotāja. Šeit rodas tāds jēdziens kā “mākslīgais intelekts”, kas ir tieši saistīts ar jēdzieniem “domāšana” un “smadzenes”. Ir zināms, ka elektronisko datoru bieži sauc par "elektroniskajām smadzenēm". Tad, zīmējot analoģiju starp cilvēka smadzenēm un to domām, mēs varam saukt programmu par elektronisko smadzeņu "elektronisko domu". Apskatīsim pašu jēdzienu “smadzenes” un to, vai to var attiecināt uz elektronisko datoru. Dabiski, ka ārēji cilvēka smadzenēm un datoram nav nekā kopīga, taču šo objektu darbībā var atrast līdzības.
Pavlova darbos M.G. , Sechenova I.M. tika pierādīts refleksu aktivitāte cilvēka smadzenes. Cilvēkiem procesā notiek vēsturiski izveidoto darbības formu asimilācija individuālā attīstība persona. Tāpēc tādas īpašas cilvēka spējas kā runas un mūzikas auss, abstraktās domāšanas spējas ir neirodinamisko smadzeņu struktūru funkcijas, kas ir samērā stabilas. Cilvēku garīgās darbības process ir saistīts ar cilvēka pieredzes formu attīstību, tās uzglabāšanu, nodošanu un apstrādi.
Pastāv tieša līdzība starp cilvēka smadzeņu darbību un elektroniskās datorprogrammas darbību. Tās darbībā tiek izmantoti elektriskie impulsi, kas iet caur miljoniem tranzistoru (līdzīgi impulsiem, kas iet caur neironiem). Cilvēka smadzenes piedzimstot bērnam ir tikpat tīras kā dators bez programmas. Pieaugot cilvēks iegūst zināšanas, un dators, saņemot sarežģītāku programmu, “kļūst gudrāks”. Datorprogrammas jau ir pārākas par cilvēkiem tādā abstraktā spēlē kā šahs. Viņi var veikt gan rutīnas, gan intelektuālu darbu, rosinot cilvēku, piemēram, kaut ko projektējot, gatavus risinājumus, darbojoties kā eksperti. Bet vai šo procesu var saukt par domāšanu? Galu galā domāšana ir aktīvs process objektīvās pasaules atspoguļojumi koncepcijās, spriedumos, teorijās utt. kas saistīti ar noteiktu problēmu risināšanu.
Tur ir interesants piemērs no virknes tā saukto pašmācības sistēmu. Šīs sistēmas, pamatojoties uz izmēģinājumiem un kļūdām, saņem informāciju par pareizo lēmumu un pēc tam izmanto to, lai pieņemtu lēmumu līdzīgās situācijās. Programma saglabā savā atmiņā situācijas, kurās radušās kļūdas, un izveido algoritmu turpmākajām darbībām, lai šādas situācijas notiktu ar vismazāko varbūtību. Turklāt šīs sistēmas var veidot uz tīri mehāniskiem principiem un loģiskiem likumiem. Mēs varam teikt, ka šīs sistēmas "pazīst" pasauli, bet vai tās var izdarīt secinājumus, secinājumus vai secināt teorijas? Noteikti nē. Saņemot zināmu “pieredzi”, šīs sistēmas tādā pašā situācijā pieņems pareizais risinājums, bet, ja situācija kaut nedaudz atšķiras no tās, kurā tie bijuši, sistēma nonāks strupceļā. Šādām sistēmām nav iespēju abstrahēties no konkrētas situācijas, nav iespēju analizēt, un neatkarīgi no tā, cik laba ir datorprogramma, tā tikai izvēlas risinājumu, izmantojot loģiku no iegulto situāciju kopas, un, ja situācija ir nav pazīstams ar datoru, tas novedīs pie kļūmes.
Tādējādi var droši teikt, ka šajā datoru attīstības posmā programmas un līdz ar to arī datori nevar domāt.
Programmēšanas morāli ētiskās problēmas.
Termins "datorvīrusi" ir stingri ienācis mūsu dzīvē. Jebkurš cilvēks, vismaz nedaudz pārzinot mūsdienu datorus, ir dzirdējis šo frāzi, un kāds ir tieši saskāries ar tās postošo ietekmi. Tātad, kas ir "datorvīrusi"? Tās ir programmas, kas ar savu darbību izjauc citu programmu darbību, iznīcina datus un neļauj datora lietotājiem normāli strādāt. Turklāt šādas programmas var pārkopēt sevi no datora uz datoru, lai iegūtu jaunas teritorijas saviem "netīrajiem darbiem".
Ja šī ir cilvēka rakstīta programma, tad rodas pamatots jautājums: kurš raksta šādas programmas? Šādai personai ir jābūt zināmām prasmēm darbā ar datoru, īpaši programmu rakstīšanā. Viņam ir jābūt piekļuvei datoram. Viņam ir jābūt iemeslam izplatīt vīrusu. Protams, miljoniem cilvēku ir pietiekami kvalificēti, lai tīši vai nejauši uzrakstītu vīrusu programmu. To var izdarīt jebkurš programmēšanas students un daudzi gudri pusaudži.
Protams, programmētāji var izveidot arī vīrusu programmas. Taču viņi novērtē savu darbu un, pirms ķersies pie lietas, centīsies atrast vieglāku un mazāk riskantu veidu, kā sasniegt savu mērķi. Tagad pieņemts likums, kas paredz sodu par datora datu tīšu bojāšanu līdz pat kriminālam (KL 273.p.). BET datorprogramma ir tā radītāja, viņa domu un prāta iemiesojums. Protams, ja vīrusu uzraksta terorists vai kaimiņvalsts spiegs, tad pat kriminālsoda draudi viņu neapturēs, taču lielāko daļu vīrusu, kā liecina prakse, neraksta teroristi pilnā nozīmē. vārdu, bet cilvēki, kurus vajā Herostrāta godība, barbari, kuri nemeklē peļņu no savām darbībām. Viņi vēlas demonstrēt savu garīgo pārākumu, parādīt, ka spēj to, ko citi nevar, un ir diezgan efektīvi, bet tajā pašā laikā nomocās no dīkstāves. Šie cilvēki ir tie, kas izsit logus, aizdedzina liftus, aplej ar skābi gleznas muzejos. Viņus vada pretrunīga vēlme. No vienas puses, viņi vēlas demonstrēt savu pārākumu pār citiem cilvēkiem, no otras puses, tīri huligāniski, barbariski mudinājumi izdarīt kaut ko nejauku. Ja šādam cilvēkam ir nepieciešamās prasmes, viņš var uzrakstīt datorvīrusu.
Šeit rodas vispārzināma problēma, ja ņemam Raskoļņikova piemēru. Cirvis nenogalina, bet gan cilvēks. Tāpat arī cilvēka radīts datorvīruss satur programmētāja ļaunos nolūkus savā ķermenī.
Sabiedrības morāle jeb, citiem vārdiem sakot, vispārpieņemtās uzvedības normas nosoda vandālismu un huligānismu jebkurā tā izskatā, un mūsdienu sabiedrība attiecas arī uz datorvandaļiem. Bet cilvēks ir tā iekārtots, viņam dvēseles dziļumos ir kāre pēc iznīcības. Un, ja pilsonis ir audzināts sabiedrībā un šīs sabiedrības morāles principi viņam ir iespiedušies dziļi prātā, viņš, pirms sēsties pie vīrusu programmas sastādīšanas, padomās, vai nav interesantāks viņa zināšanu un spēka pielietojums, vai ir iespējams darīt kaut ko tādu, kas sagādās prieku citiem cilvēkiem un galu galā arī pašam. Tikai tie cilvēki veido augstas klases programmētājus, kuri tiecas pēc radīšanas, nevis iznīcināšanas, un visu savu dzīvi velta šim cēlajam mērķim.
Secinājums.
Šajā dokumentā aplūkotie jautājumi ir pietiekami plaši, lai tos pilnībā atklātu ierobežotā apjomā. Programmēšana kā ļoti jauna zinātne ir vajadzīga filozofiskais skatījums, dziļā izpētē par tā ietekmi uz cilvēka personību un tālāk cilvēku sabiedrība vispār. Šīs problēmas var uzskatīt par daļu no filozofiskām problēmām, kas saistītas ar zinātnes un tehnoloģiju progresu, taču tādi jautājumi kā mākslīgais intelekts sniedzas daudz tālāk. Kamēr programmas netiek uzskatītas par dzīviem organismiem, cilvēks nesaskaras ar tādām morālām problēmām kā, piemēram, mākslīgā organisma “nogalināšana”. Šīs un daudzas citas filozofiskiem jautājumiem ko zinātniskā un tehnoloģiskā revolūcija mums izvirza, joprojām prasa filozofisku pārdomu, mūsdienu filozofu rūpīgu uzmanību.
Bibliogrāfija
Kibernētikas filozofiskie jautājumi M. SOTSEGIZ 1961 -392s.
Kibernētika. Domāšana. Dzīve M. Doma 1964. - 511lpp.
Koretskis S. Mākslīgais intelekts- mīts vai realitāte? Hard'n'Soft #2 1999.
Sečenovs I.M. Smadzeņu refleksi. 1863. gads.
Māksla un zinātnes un tehnikas progress. M. 1973–461s.
Solovjovs V.S. Mākslas filozofija un literatūras kritika. M Art 1991 - 699s.
Vižļecovs G.P. Estētika filozofisko zināšanu sistēmā. Ļeņingradas Valsts universitāte 1983.g.
Hēgeļa "Estētika" 4 sējumos, Maskava, 1969
Krutova O.N. Morāle: apziņa un uzvedība. Filozofijas institūts M.Nauka 1986 –207lpp.
Pantsurin V.A. Personības un mākslas iekšējā pasaule. Sverdlovska 1990 -212lpp.
Cīņas F. Džonstons P. Krats M. Datorvīruss: problēmas un prognoze: Per. No angļu valodas. - M. Mir, 1994.- 176. gads. slim.
Dostojevskis F.M. Noziegums un sods. M. 1974. 542s.
Bodaļevs A.A. Populāra psiholoģija vecākiem. M.: Pedagoģija, 1988 - 256 lpp.
Bredberijs R. Par mūžīgajiem klejojumiem un par Zemi: -M.: Pravda, 1987.-656 lpp., ill.
Mūsu programmas modelē pasauli. Ikviens, kurš ir ņēmis pie sirds OOP postulātus, ātri vien saskarsies ar faktu, ka modelēšanas process šīs metodes ietvaros ir principiāli nenoteikts. Apspriedīsim sīkāk.
Tālāk aplūkošu kopīgu grāmatas piemēru ar uzņēmuma darbiniekiem, rakstīsim kaut kā SI līdzīgā veidā. Darbinieku klases atvasināšana no Personas klases ir lieliska ideja, it īpaši, ja datus glabājat tikai atmiņā: SQL ir dažas problēmas ar tabulu pārmantošanu, taču tas nav galvenais - OOP ar savu hierarhismu, apkopojumiem, sastāviem un mantojumiem piedāvā ideāls veids datu organizācija. Problēmas ar metodēm.
Aiz katras biznesa loģikas metodes slēpjas pasaules fakts, ko šī metode (bieži vien ne viena) modelē. Programmēšanas fakti ir darbības: turpmāk tos tā sauksim. Padarot metodi par klases locekli, OOP mums ir jāsaista darbība ar objektu, kas nav iespējams, jo operācija ir objektu (divu vai vairāku) mijiedarbība, izņemot unāras darbības gadījumā, tīru atspoguļojumu. PaySalary metodi var attiecināt uz klasēm Darbinieks (Darbinieks), Kasieris (Nauda), Bankas konts (Konts) - tās visas ir līdzvērtīgas īpašumtiesībās. Metodes atrašanās vietas dilemma pavada visu izstrādes procesu: tās neveiklā izšķirtspēja var būt kritiska un pat letāla.
Programmēšanas grāmatās godīgi autori nekaunīgi atzīst, ka "objekti patiesībā nav objekti", un OOP ir tikai koda organizēšanas veids, nevis modelēšanas mehānisms. Bet visa būtība ir tāda, ka "pasaule ir faktu, nevis lietu kopums" - tātad fundamentāla nespēja izveidot adekvātu modeli, izmantojot OOP tādā formā, kā to pieprasa mācību grāmatu rakstītāji. Ir svarīgi saprast, ka pasauli ir iespējams modelēt kodā, bet modeļa atomiem jābūt faktiem, nevis objektiem.
Amerikāņi ir diezgan ieguldījuši pasaules un jo īpaši angļu valodas literatūrā. Labāk teikt, ka tā sauktais amerikāņu fantastikas zelta laikmets ir viens no pēdējiem pavērsieniem pasaules literatūras attīstībā, ja ne pēdējais.
2015. gadā jūs, iespējams, pamanījāt izmaiņas JavaScript lietojumprogrammu izstrādes veidā. Izstrādātāji virzās no neparedzamas mainīgas stāvokļa arhitektūras uz prognozējamāku, nemainīgu lietojumprogrammu arhitektūru.
Ar tādiem ietvariem kā Backbone bija ierasts sinhronizēt pašus datus un datu prezentāciju - šim nolūkam bija manuāli jāabonē nepieciešamie dom notikumi. Šī metode bija pakļauta kļūdām un piespieda izmantot pārāk daudz vispārīga koda. Angular nāca līdzi un salaboja to ar automātisku divvirzienu iesiešanu.
Taču tagad viss virzās citā virzienā.
... bet tas ir normāli. Jebkurš dizains ir nepatīkams. Un tas vienmēr būs sūdīgi.
Ja netici, paskaidro...
Neviens projekts nepārdzīvo tikšanos ar īstenošanu
Uzsākot īstenot iecerēto, realitātē neizbēgami saskarsies ar lietām, kas neatbilst tavām sākotnējām cerībām.
Iespējams, trūkst datu (vai tie ir nederīgi), un tie, kuri, jūsuprāt, būs nepieciešami ārējā pakalpojuma atbildē. Paredzamā unikalitāte praksē var nebūt unikāla (pat sha1 dažkārt notiek sadursmes). Procesi, kuriem vajadzēja būt uzticamiem, avarēs daudz biežāk, nekā jūs gaidījāt.
Tas ir labi.
Dažos gadījumos varat vienkārši pārtraukt taimautu, izdarīt izņēmumu vai skaļi avarēt kādā citā veidā. Citos gadījumos jums ir jāatslābina sistēmas prasības. Vai arī pievienojiet papildu filtra slāni, kas jau tiks "tīrīts" un nodots pareizais variants ievades dati.
Trūkstošos datus var padarīt neobligātus vai aizstāt pēc noklusējuma.
Nepareizus datus var uzskatīt par trūkstošiem, vai arī varat rakstīt tos "kā ir" un pievienot papildu apstiprinātu versiju, kas ir pieejama tikai tad, ja oriģināls ir derīgs.
Unikalitātes ierobežojums var
Pat lasot, man atgādināja Edsgers Dijkstra ar viņa slaveno frāzi: “Es katru dienu lūdzu, lai vairāk manu programmu biedru atrastu līdzekļus, kā atbrīvoties no lāsts no saderības") no The Humble Programmer (1972 sic!!!). Un vēlāk Ēriks Raimonds ar savu Cathedral and Bazaar (1997). Taču Vinges teksts nav tikai par saderības lāstu, trīs lappusēs tiek uzcelts (un kopumā atstāts bez atbildes) vesels jautājumu slānis:
- Saderības problēma plašā nozīmē;
- Vecā koda uzturēšanas problēma;
- Cilvēka dzīves atkarības problēma "no nejūtīgiem robotiem" (c), kurai mēs strauji tuvojamies;
- Datu ieguves problēma kopumā un gatavu risinājumu meklējumi bezdibena recepšu mucā (github, steka pārpilde?);
- Vecā koda "pārrakstīšanas" problēma (gan slikta, gan laba) - šis brīdis rada vēlmi to pārlasīt :);
- IT tehnoloģiju bezgalības problēma. Dažreiz tiek teikts, ka pēdējais universālais fiziķis dzīvoja pagājušā gadsimta vidū, ar to domājot Levu Landau. Šķiet, ka tuvojas (vai jau ir pienācis) laiks, kad vairs nav iespējams atrast universālu programmētāju;
- Teksts nesatur vārdu hakeris ne pozitīvā, ne negatīvā konotācijā. Bet tiek rakstīts arī par pētniekiem un par ieguvumiem, ko var iegūt, zinot šīs vai tās aizmugures durvis, un par to, kādu spēku tas var dot.
- Un varbūt tas vēl nav viss... :)
Rodas iespaids, ka to rakstījis cilvēks, kurš šīs problēmas izjutis uz savas ādas.
Gribu norādīt, ka Depth in the Sky tika uzrakstīts 1999. gadā, kad liela daļa no tā, par ko raksta Vinge, vēl nebija problēma vai pat tikai parādījās pie apvāršņa.
Kā kritiku vēlos atzīmēt, ka Vinge pagāja garām AI (gan stiprs, gan vājš, kopumā skrēja garām, pat nepieskārās neironu tīkliem) un samazināja IT priekšrocības līdz veiktspējai. Tāpat tekstā nav jūtama megakorporāciju klātbūtne (lai gan, protams, "Deep in the Sky" uz kiberpanku neattiecas), izņemot Qeng-Ho kā tādu. Nav patentu karu, nav skarts autortiesību jautājums un slēgto patentēto izstrādņu problēma, kuru pirmkodi nav publicēti.
Nevis par programmēšanu, bet par standartiem
Tālāk tajā pašā nodaļā tiks skarts interesantais jautājums par galaktisko apraidi, lai izplatītu savas tehnoloģijas. Priekš kam? Standartizācija. Savas valodas un savu standartu un tehnoloģiju izplatība, kas, no vienas puses, novedīs atpalikušās civilizācijas līdz tirdzniecībai pieņemamam līmenim un, no otras puses, samazinās saziņas un savietojamības nodrošināšanas izmaksas un rezultātā , atvieglo tirdzniecību un palielina marginalitāti. Interesanti, vai Vinge grāmatas rakstīšanas laikā zināja par Anglijas flotes kuģu aprīkojuma standartizāciju Lielo iekarojumu laikā, kas ļāva samazināt remonta un apkopes izmaksas? Kā ir ar angļu valodas kā biznesa, zinātniskās u.c. valodas izplatību? Angļi mācīja (piespieda mācīt?) vietējos pamatiedzīvotājus savā valodā. Spāņi un franči darīja to pašu. Un tagad angļu, spāņu, franču, portugāļu valoda ir ļoti izplatīta. Bet holandieši uzskatīja, ka vietējiem nav jāmāca viņu valoda. Vai pasaulē ir daudz citu vietu, kur bez pašas Holandes runā holandiešu valodā?
Tagad angļu valodas mācīšana notiek visā pasaulē. Standartizētu metodoloģiju un mācību grāmatu, standartizētu eksāmenu un vērtēšanas skalu izmantošana. Vai tas ir tikai privātais bizness?
Zemāk ir interesantākais fragments no teksta. Romānā ir daudz citu interesantu lietu, kas nav saistītas ar programmēšanu, ne velti viņš savāca vairākas balvas. Tāpēc es iesaku to izlasīt, un oriģinālā tulkojums, kas man sanāca, nav pārāk labs.
Priecīgu lasīšanu :)
Mans kods nevienam nerūp. Es biju šokā, kad to sapratu, strādājot par programmētāju. Es pavadīju daudz laika, slīpējot savu kodu, līdz sapratu, ka tas nevienu neinteresē, jo ne jau pats kods ir svarīgs, bet gan produkts. Ja programmētājs pieņems šo faktu, palielināsies viņa darba produktivitāte un vērtība.
Atšķirība starp produktu un projektu ir tāda, ka, izstrādājot produktu, ir plāns, un, izstrādājot projektu, ir izpēte. Ja jums ir kāda neatrisināta problēma, teiksim, ka vēl neesat izlēmis, kuru datu bāzi izmantot savā projektā, jums būs jāizpēta šī problēma, tas ir, jāizpēta. To sauc par tehnoloģiju izpēti. Izpēte, tas nemaz nav vajadzīgs, kaut kas pilnīgi jauns pasaules mērogā, ja būvē tiltu, tad ir jāizpēta augsne šajā konkrētajā vietā, un kamēr šī grunts nav izpētīta, tilts, kā produkts, vēl neeksistē, pagaidām ir - projekts. Pagaidām nav zināms, kāda grunts, tas nozīmē, ka nav zināms, no kā veidot tiltu, kā to nostiprināt, nav iespējams aprēķināt budžetu un plānot darbu grafiku.
Kas prot kopēt, tas prot DARĪT. Leonardo da Vinči to teica. Redziet, jūs sekojat saviem priekšstatiem par to, kas ir XP, Windows, OS. Kā cilvēki runā:
Es vēl biju jauns, man bija XP, tie bija zelta laiki, bet tagad nav tā, kā tagad. Jauni laiki, moderna programmatūra. Nesaprotu, kāpēc rakņāties gruzī? Uztaisītu vismaz klonu no desmitā Windows, bet kur ar savu ātrumu, tad uztaisīsi pēc 100 gadiem.
Bet tas, ka cilvēki kopē veco programmatūru, nenozīmē, ka viņi ir retrogrādi vai nekrofīli. Pirmkārt, viņi to dara tagad, atrodoties iekšā mūsdienu apstākļos zinot visas tendences un virzienus. Otrkārt, programmatūras novecošana kopumā ir ārkārtīgi pretintuitīva lieta. Piemēram, vismodernākajās lietojumprogrammās ir koda fragmenti, kas rakstīti pirms vairāk nekā divdesmit gadiem, un, ņemiet vērā, neviens tos negrasās pārrakstīt. Tā ir informācija, tā nenolietojas, kā nolietojas metāls vai koks. Bet cilvēki mēdz pārvērst savu ikdienas uztveri lietās, kas ir netveramas un kurām ir nepieciešams pavisam cits izskats. Vai tu saproti? Informācija. Tā nav lieta. Salīdziniet ar Puškina dzejoļiem.
Vai ir vērts mācīties programmēt?
“Programmēšana” ir ļoti plašs jēdziens. Dažas programmēšanas valodas ir daudz vienkāršākas nekā citas. Dažām valodām ir nepieciešama izpratne par to, kā programma "runā" ar datoru. Vissvarīgākā kodu apguves daļa ir pareiza domāšanas veida uzturēšana. Lieta nav teikt sev: "Es to varu" vai lasīt nepieciešamo literatūru ...
Apakšējā līnija ir šāda…
Mācīties vai nemācīties programmēt?
Prasmei jebkurā datorvalodā, sākot no vienkārša HTML līdz sarežģītam C++, ir nepieciešama ne tikai tehnoloģija, bet arī tās nebeidzamās izmaiņas. HTML5 kāda iemesla dēļ beidzas ar skaitli. Kad pietiekami tīmekļa pārlūkprogrammas sāks atbalstīt HTML6, izstrādātājiem atkal būs jāmācās kaut kas jauns.
Iespējamie iemesli, kāpēc jūs vēlētos iesaistīties jauns process mācīšanās:
- Gūstiet pārliecību: Man bija vairāki klienti, kuri domāja, ka, ja viņi apgūs programmēšanas valodu, datori viņus mazāk biedēs.
- Nepieciešamība: tehniskas problēmas var rasties jebkurā brīdī.
- Aizraušanās: daži cilvēki vienkārši vēlas apgūt jaunas prasmes.
- Lai saprastu, kas ir iespējams: kad izstrādātājs saka: "To nav iespējams izdarīt!" Vai viņš domā, ka tas tiešām nav iespējams, vai arī viņš vienkārši nevēlas uzņemties šīs galvassāpes?
Vienmēr esi ziņkārīgs
Neviens nevēlas būt kļūda uz sava vējstikla. Kas attiecas uz mani, tad cilvēkus biedē nevis bailes no neveiksmes, bet gan bailes no iespējas pazust. Pārliecinoša bezcerība veicina mazvērtības sajūtu. Drosme un neatlaidība nav pretlīdzeklis pārņemtības sajūtai, taču savlaicīga apstāšanās, pirms šī sajūta tevi būs pārņēmusi, būs labākās zāles.
Man ir trīs pieejas problēmas risināšanai ar jebkuru projektu:
- Atrodiet tēmu, kas jūs kaitina
Laiks un samaksa ir labi. Taču nekas nedos lielāku impulsu kā nieze, ko nevar aizsniegt. Daudzsološā nākotnē programmēšana nedrīkst būt pašmērķis. Tam vajadzētu kalpot kā jūsu "smērvielai čīkstošām durvīm".
- Jums vajadzētu saņemt atlīdzību par papildu pūlēm
Atklājot sakāmvārdu niezi, arī cilvēkiem, kuri studē programmēšanu, vajadzētu rast atvieglojumu. Nekādas pamācības, nekādi rīki, nekādas uzslavas nevienam nepalīdzēs kļūt par CODE meistaru. Tikai pēc vārdiem "Es uzrakstīju šo un ... paskatieties, ko es izdarīju!" jūs jutīsiet, ka esat pārvarējis šķērsli. Tas izklausīsies muļķīgi, līdz neizmēģināsi pats. Pārbaudīts kods, kas darbojas, radīs adrenalīna pieplūdumu un liks jums justies tā, it kā būtu kļuvis par datorprogrammēšanas meistaru.
- Jūsu projekts ir jāpaveic, kamēr smadzenēm ir apetīte.
Trenējiet savas smadzenes. Uzlādējot, treneri mudina cilvēkus nedaudz pārsniegt savas robežas. Mācīšanās ir izsalkums. Jūsu smadzenēm vienmēr ir apetīte pēc jaunām zināšanām.
Trenējies katru dienu
Vienīgais veids, kā iemācīties programmēt un atcerēties to uz visiem laikiem, ir praktizēt katru dienu. Tāpat kā ar jebkuru jaunu prasmju apgūšanu, konsekvents darba grafiks ar jauniem mērķiem un uzdevumiem pakāpeniski noslīpēs jūsu prasmes līdz galam.
Dmitrijs Jakuševs
"Filozofija"
C++ programmēšana
otrais izdevums, palielināts un labots
UDK 004,43 BBK 32 973 202
Jakuševs D. M.
Ya49 programmēšanas "filozofija" C++ valodā. / D. M. Jakuševs. - 2. izd. - M.: Buk press, 2006. - 320 lpp.
ISBN 5 9643 0028 6
C++ valodas autors ir Bjarne Stroustrup, pazīstamā uzņēmuma AT&T darbinieks. C++ (pareizāk sakot, tā priekšgājējs C ar klasēm) tika izveidots Simula valodas ietekmē (jāsaka, ka šī programmēšanas valoda parādījās tālajā 1967. gadā). Faktiski, kad parādījās C++, C jau bija izpelnījies sev popularitāti; profesionāli programmētāji to ciena par to, ka spēj izmantot noteiktas arhitektūras priekšrocības, vienlaikus veidojot programmas valodā, kas ir salīdzinoši augsts līmenis.
C++ mūsdienās ir viena no populārākajām (ja ne vispopulārākajām) programmēšanas valodām. Tas ir C++, kas ļauj rakstīt programmu, izmantojot objektorientētas pieejas (un programmas, kurām tas nepieciešams, parasti ir ļoti lielas) un tajā pašā laikā pietiekami "ātri".
Šī grāmata iepazīstinās lasītāju ar C++ programmēšanas "filozofiju" un pamatiem. Grāmatā ir daudz autora apkopotu un pārbaudītu piemēru.
UDK 004,43 BBK 32 973 202
1. daļa.
1. nodaļa. C++ ir vispārēja lietojuma programmēšanas valoda. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
2. nodaļa. Vārdnīca. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6 3. nodaļa. Sintakse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10 4. nodaļa. Darbības joma. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 5. nodaļa. Definīcijas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12 6. nodaļa. Izkārtojums. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 7. nodaļa. Atmiņas klases. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 8. nodaļa. Pamattipi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 9. nodaļa. Atvasinātie veidi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 10. nodaļa. Objekti un VĒRTĪBA (adreses) . . . . . . . . . . . . . . . . . . . . . . . . .15 11. nodaļa. Simboli un veseli skaitļi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15 12. nodaļa. Pārvērtības. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17 13. nodaļa. Izteiksmes un darbības. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 14. nodaļa. Apraksti. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 15. nodaļa. Uzglabāšanas klašu specifikācijas. . . . . . . . . . . . . . . . . . . . . .31 16. nodaļa. Deskriptori. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 17. nodaļa. Klašu apraksti. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39 18. nodaļa. Inicializācija. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51 19. nodaļa. Pārslogoti funkciju nosaukumi. . . . . . . . . . . . . . . . . . . . .58 20. nodaļa. Uzskaitījuma apraksts. . . . . . . . . . . . . . . . . . . . . . . . . . . . .59 21. nodaļa. Apraksts Asm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60 22. nodaļa. Operatori. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61 23. nodaļa. Ārējās definīcijas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66
24. nodaļa Kompilatora komandrindas . . . . . . . . . . . . . . . . . . . .68 25. nodaļa. Veidu pārskats. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70 26. nodaļa. Mobilitātes apsvērumi. . . . . . . . . . . . . . . . . . . . . . . . . .75 27. nodaļa. Brīva atmiņa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76
2. daļa. Turbo C++
1.nodaļa. Integrētā attīstības vide. . . . . . . . . . . . . . . . . . . .78 2. nodaļa. Izvēļņu josla un izvēlnes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79 3. nodaļa. TURBO C++ logi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79 4. nodaļa. Darbs ar OSD izvēlne. . . . . . . . . . . . . . . . . . . . . . . . . . . . .80
5. nodaļa. Failu struktūra, datu tipi un I/O operatori. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87
6. nodaļa. Aritmētiskās, loģiskās darbības un relāciju un piešķiršanas darbības. . . . . . . . . . . . . . . . . . . . . . .91
7. nodaļa. Programmas loģiskā organizācija un vienkāršākā funkciju izmantošana. . . . . . . . . . . . . . . . . . . . . . . . . .95
8. nodaļa. Vienkāršas programmas loģiskā organizācija. . . . . . . . . . .95 9. nodaļa. Dažādu veidu konstantu izmantošana. . . . . . . . . . . . .96 10. nodaļa. Kontroles struktūras. . . . . . . . . . . . . . . . . . . . . . . . . . . .98
11. nodaļa
strādājot ar masīviem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100
3. daļa. No teorijas līdz praksei
1. nodaļa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103 2. nodaļa. STLport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104 3. nodaļa. Microsoft programmēšanas valoda: C# . . . . . . . . . . . . . .106 4. nodaļa. C++ veidotājs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108 5. nodaļa. "Viedo" rādītāju izmantošana. . . . . . . . . . . . . . . . . . . . . .111 6. nodaļa. Spriedums par "viedajām" norādēm. . . . . . . . . . . . . .116 7. nodaļa. Virtuālie iznīcinātāji. . . . . . . . . . . . . . . . . . . . . . . . . . . .122 8. nodaļa. Datu struktūru rakstīšana binārajos failos. . . . . . . . . . . .126
9. nodaļa . . . . . . . . . . . . . . . . .132 10. nodaļa. Virtuālais konstruktors. . . . . . . . . . . . . . . . . . . . . . . . . . .136 11. nodaļa. Avota tekstu lasīšana. . . . . . . . . . . . . . . . . . . . . . . . . . . .141 12. nodaļa. Funkcija gets() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .143 13. nodaļa. Rekvizīti. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146 14. nodaļa. Komentāri. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149 15. nodaļa. Tīmekļa programmēšana. . . . . . . . . . . . . . . . . . . . . . . . . . . . .154 16. nodaļa. Kļūdas darbā ar atmiņu. . . . . . . . . . . . . . . . . . . . . . . . . .158 17. nodaļa. Sižetu veidošana ar plotiku . . . . . . . . . . . . . . .161 18. nodaļa. Lietojumprogrammu automatizācija un motorizācija. . . . . . . . . . .164 19. nodaļa. C/C++ kompilatoru EMX un Watcom pārskats . . . . . . . . . .183 20. nodaļa. #import direktīvas izmantošana. . . . . . . . . . . . . . . . . . .188
21. nodaļa
Windows operētājsistēmā Borland C++Builder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .204 Jautjumi un atbildes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .214
Zinātniska un populāra publikācija
Jakuševs Dmitrijs Mihailovičs
C++ PROGRAMMĒŠANAS "FILOZOFIJA".
Galvenais redaktors B. K. Ļeontjevs
Galvenais redaktors A. G. Benetašvili
I. V. Carika oriģinālais makets
Mākslinieks O. K. Alehins
Mākslas redaktors M. L. Mišins Tehniskais redaktorsK. V. Šapiro
Korektori L. S. Zimina, K. V. Tolkačeva
Parakstīts publicēšanai 07.05.2006. Formāts 60x90/16. Austiņas "Newton". Ofseta papīrs. Ofseta druka. Pech. l. 20. Tirāža 3000.
Ievads C++ programmēšanas valodā | ||
1. daļa. Ievads valodā
c++ programmēšana
C++ - vispārējas nozīmes programmēšanas valoda
C++ valodas autors ir pazīstamās kompānijas AT&T darbinieks Bjorns Stroustrups. C++ (precīzāk, tā priekštecis C ar klasēm) radās Simula iespaidā (jāteic, ka šī programmēšanas valoda parādījās tālajā 1967. gadā). Patiesībā līdz tam laikam (kad parādījās C ++) C jau bija izpelnījies sev popularitāti; parasti tas ir ļoti cienīts, jo tas spēj izmantot noteiktas arhitektūras iezīmes, vienlaikus izmantojot salīdzinoši augsta līmeņa valodu. Tiesa, parasti tieši tāpēc viņiem viņš nepatīk. Protams, tas zaudēja (vai izkropļoja) dažus programmas veidošanas principus; piemēram, C valodā praktiski nav iespējams izveidot modulāras programmas. Nē, protams, tie tiek izveidoti, bet ar dažu “kruķu” palīdzību priekšprocesora direktīvu veidā - nav tādas modularitātes kā, piemēram, Modula 2 vai Ada, C. Starp citu, tas joprojām nenotiek C++ valodā.
Jau pašā sākumā tika uzsvērts, ka C++ ir C valodas attīstība, iespējams, kāds no tās dialektiem. Par to liecina fakts, ka pirmais (joprojām pastāvošais) kompilators bija cfront, kas veica C++ avota pārtulkošanu C avotā. Šis viedoklis joprojām pastāv, un, jāsaka, tas joprojām nav nepamatots; tomēr C un C++ - dažādas valodas programmēšana.
Galvenā atšķirība starp C++, kad tas pirmo reizi parādījās, bija tā nepārprotams atbalsts objektorientētai pieejai programmēšanai. Jums jāsaprot, ka varat programmēt, izmantojot OOP un OOA jebkur, pat ja rīkkopa to nepārprotami neatbalsta; kā piemēru varat ņemt lietotāja interfeisa bibliotēku
Ievads C++ programmēšanas valodā |
||
sejas GTK+, kas rakstīts "tīrā" C valodā un izmantojot objektorientētā "dizaina" principus. Rīku ieviešana OOP atbalstam programmēšanas valodā nozīmē, ka kompilācijas stadijā (nevis programmas izpildes posmā) tiks pārbaudīta tipu saderība, metožu klātbūtne utt. Principā tas ir diezgan ērti.
Atkal, tāpat kā C nav tīra augsta līmeņa programmēšanas valoda (jo tā ļauj veikt pārāk daudz triku), C++ nav, stingri ņemot, objektorientēta programmēšanas valoda. To kavē tādas pazīmes kā virtuālo funkciju esamība (jo, runājot par polimorfismu, neviens nekad nenosaka, ka dažas metodes tajā piedalīsies, dažas nē), galvenās () funkcijas līdzšinējā klātbūtne utt. . Tāpat C++ valodā nav entītiju, piemēram, metaklases (lai gan tās, iespējams, nav īpaši vajadzīgas) un interfeisus (tā vietā tiek izmantota daudzkārtēja mantošana). Neskatoties uz to, C++ šobrīd ir viena no populārākajām (ja ne vispopulārākajām) programmēšanas valodām. Kāpēc? Jā, jo visas šīs "neglītības" ļauj galu galā uzrakstīt programmu, izmantojot objektorientētas pieejas (un programmas, kurām tas nepieciešams, parasti ir ļoti lielas) un tajā pašā laikā diezgan "ātri". To veicina tieši virtuālo funkciju klātbūtne (t.i., ar ko projektēšanas laikā dalās pats programmētājs, kur viņam vajadzīgs polimorfisms un kur pietiks ar kādu funkciju apvienošanu grupā pēc kāda atribūta), obligātā klātbūtne. optimizētājs un tā tālāk. Tas viss ļauj, pareizi izmantojot, joprojām uzrakstīt darba programmu. Tiesa, diezgan bieži sastopami analfabētiskas lietošanas piemēri, kā rezultātā C ++ izvēle projekta īstenošanai pārvēršas programmētāju un vadības spīdzināšanā.
Pašlaik ir C++ programmēšanas valodas standarts, kas cita starpā ietver standarta veidņu bibliotēku. Par šabloniem ir īpaša diskusija, formāli tie arī ir “kruķi”, lai kompilācijas stadijā, tā teikt, polimorfismu taisītu (un kā tādi ļoti noderīgi), bet bibliotēka
Neapšaubāmi pareizs jauninājums no visām pusēm. Visbeidzot, standarta veidi, kā kārtot sarakstu pārnēsājamā (tas nozīmē, no kompilatora līdz kompilatoram) veidā (izņemot visu attiecīgo apakšprogrammu un datu struktūru rakstīšanu pašam), programmētāja dzīvi padarīja daudz vieglāku. Tiesa, joprojām ir daudz cilvēku, kuriem ir vājš priekšstats par to, kā STL darbojas un kā to lietot (izņemot std::cin un std::cout).
Ievads C++ programmēšanas valodā | ||
Svarīgs pavērsiens programmēšanas attīstībā bija C++ valodas izveide un plaša izmantošana. Šī valoda, saglabājot C valodas (procedurāli orientētās valodas) līdzekļus, kas kļuvusi par vispāratzītu standartu rakstīšanas sistēmu un lietojumprogrammu rakstīšanai, tika ieviesta
programmēšanas prakse jaunas tehnoloģiskās pieejas iespējai programmatūras izstrādē, ko sauc par "objektorientētu programmēšanu".
C++ programmēšanas valoda ir C* paplašināta, ieviešot klases, iekļautas funkcijas, pārslogotus operatorus, pārslogotus funkciju nosaukumus, konstantos tipus, atsauces, brīvās atmiņas pārvaldības operācijas, funkciju parametru pārbaudi.
Objektorientētas paradigmas ieviešana programmu rakstīšanas praksē izraisa jaunu informātikas jomu attīstību, ievērojamu izveidoto programmatūras rīku izgatavojamības līmeņa paaugstināšanos, programmu izstrādes un uzturēšanas izmaksu samazināšanos, to attīstību. atkārtota izmantošana un iesaistīšanās datoru intelektuālo spēju paplašināšanas procesā.
Priekšmetu informācijas modelēšanas objektu pieeja arvien veiksmīgāk tiek izmantota kā pamats to informācijas refleksiju un jo īpaši zināšanu bāzu strukturēšanai.
C++ ir vispārējas nozīmes programmēšanas valoda. Šī valoda ir labi pazīstama ar savu efektivitāti, ekonomiju un pārnesamību.
Šīs C++ priekšrocības nodrošina laba kvalitāte gandrīz jebkura veida programmatūras produkta izstrāde.
Izmantojot C++ kā rīku valodu, varat iegūt ātras un kompaktas programmas. Daudzos gadījumos programmas, kas rakstītas C++ valodā, pēc ātruma ir salīdzināmas ar programmām, kas rakstītas montāžas valodā.
Šeit ir dažas būtiskas C++ valodas funkcijas:
C++ nodrošina pilnu strukturētu programmēšanas operatoru komplektu;
C++ piedāvā neparasti lielu darbību kopumu;
Ievads C++ programmēšanas valodā |
||
Dažādas darbības ļauj izvēlēties to dažādās kopas, lai samazinātu iegūto kodu;
C++ atbalsta norādes uz mainīgajiem un funkcijām;
Rādītājs uz programmas objektu atbilst šī objekta mašīnas adresei;
Pārdomāti izmantojot norādes, var izveidot programmas, kas izpilda efektīvi, kā norādes ļauj atsaukties uz objektiem tādā pašā veidā, kā to dara dators;
C++ atbalsta rādītāja aritmētiku un tādējādi ļauj tieši piekļūt un manipulēt ar atmiņas adresēm.
2. nodaļa. Vārdnīca
Ir sešas marķieru klases: identifikatori, atslēgvārdi, konstantes, virknes, operatori un citi norobežotāji. Atstarpes, tabulēšanas un jaunās rindiņas rakstzīmes, kā arī komentāri (kopā "baltās atstarpes"), kā aprakstīts tālāk, tiek ignorēti, izņemot gadījumus, kad tie kalpo kā marķiera atdalītāji.
Lai atdalītu identifikatorus, ir nepieciešama neliela atstarpe, atslēgvārdi un konstantes, kas citādi būtu aizkustinoši. Ja ievades straume tiek parsēta marķieros līdz noteiktai rakstzīmei, tiek pieņemts, ka nākamajā marķierā ir garākā rakstzīmju virkne, kas var veidot marķieri.
komentāri
Rakstzīmes /* sāk komentāru, kas beidzas ar */ rakstzīmēm. Komentārus nevar ievietot ligzdā.
Rakstzīmes // sāk komentāru, kas beidzas tās rindas beigās, kurā tās parādās.
Identifikatori (vārdi)
Daudzas C++ darbības atbilst mašīnas instrukcijām un tāpēc ļauj tieši tulkot mašīnkodā;
Identifikators - patvaļīga garuma burtu un ciparu secība; pirmajai rakstzīmei jābūt burtam; pasvītra "_" tiek uzskatīta par burtu; lielie un mazie burti atšķiras.
Parakstītie un nepastāvīgie identifikatori ir rezervēti izmantošanai nākotnē.
Konstantes
Pastāv vairāku veidu konstantes. Tālāk ir norādīts kopsavilkums aparatūras īpašības, kas ietekmē to izmēru.
Veselu skaitļu konstantes
Vesela skaitļa konstante, kas sastāv no ciparu virknes, tiek uzskatīta par oktālu, ja tā sākas ar 0 (nulles cipars), un pretējā gadījumā par decimāldaļu. Cipari 8 un 9 nav oktāli cipari.
Ciparu secība, kuras priekšā ir 0x vai 0X, tiek uzskatīta par veselu heksadecimālu skaitli.
Heksadecimālie cipari ietver burtus no a vai A līdz f vai F , kuru vērtības ir no 10 līdz 15.
Decimālā konstante, kuras vērtība ir lielāka par lielāko zīmogu, tiek uzskatīta par garu; oktālā un heksadecimālā konstante, kuras vērtība ir lielāka par lielāko
Ievads C++ programmēšanas valodā | ||
kakla zīme mašīnas vesels skaitlis, uzskatīts par garu; pretējā gadījumā veselu skaitļu konstantes tiek uzskatītas par int .
Skaidri dotas garas konstantes
Decimāldaļa, oktālā vai heksadecimālā konstante, kam tūlīt seko l (latīņu burts "el") vai L, tiek uzskatīta par garu konstanti.
Simboliskās konstantes
Rakstzīmju konstante sastāv no rakstzīmes, kas ievietota atsevišķās pēdiņās (apostrofos), piemēram, "x" . Rakstzīmju konstantes vērtība ir rakstzīmes skaitliskā vērtība iekārtas rakstzīmju kopā (alfabēts).
Rakstzīmju konstantes tiek uzskatītas par int tipa datiem. Dažas rakstzīmes, kas nav grafiskas, viena pēdiņa " un atpakaļvērstā slīpsvītra \ , var tikt attēlotas saskaņā ar šo atsoļa secību sarakstu:
jaunās rindiņas rakstzīme NL(LF) | ||
horizontālā cilne NT | ||
vertikālā cilne VT | ||
atgriezieties pie BS darbības | ||
karietes atgriešanās CR | ||
FF formāta tulkojums | ||
atpakaļvērstā slīpsvītra \ | ||
viens citāts (apostrofs)" | ||
bitu kopa 0ddd | ||
bitu komplekts 0xddd |
Atsoļa secība \ddd sastāv no atpakaļvērstās slīpsvītras, kam seko 1, 2 vai 3 oktālie cipari, kas norāda vajadzīgās rakstzīmes vērtību. Īpašs šīs konstrukcijas gadījums ir \0 (neseko cipari), kas norāda nulles rakstzīmi.
Emisijas secība \xddd sastāv no atpakaļvērstās slīpsvītras, kam seko 1, 2 vai 3 heksadecimālie cipari, kas norāda vajadzīgās rakstzīmes vērtību. Ja rakstzīme aiz atpakaļvērstās slīpsvītras nav viena no uzskaitītajām rakstzīmēm, atpakaļvērstā slīpsvītra tiek ignorēta.
Ievads C++ programmēšanas valodā |
||
Peldošā komata konstantes
Peldošā komata konstante sastāv no vesela skaitļa daļas, decimāldaļas, mantisas, e vai E un vesela skaitļa eksponenta (pēc izvēles, bet ne obligāti ar parakstu). Vesela skaitļa daļa un mantisa sastāv no ciparu virknes. Vesela skaitļa daļu vai mantisu (bet ne abus) var izlaist; vai decimālzīmi, vai (E) kopā ar visu eksponentu (bet ne abām daļām vienlaikus) var izlaist. Peldošā komata konstante ir dubultā tipa.
Uzskaitītas konstantes
Vārdi, kas deklarēti kā skaitītāji, ir tipa konstantes
uz int .
Aprakstītās konstantes
Jebkura veida objektam var definēt nemainīgu vērtību visā tā nosaukuma diapazonā. Rādītāju gadījumā, lai to panāktu, tiek izmantots deklarators *const; objektiem, kas nav norādes, tiek izmantots const deskriptors.
Virkne ir rakstzīmju secība, kas ievietota dubultpēdiņās: "..." . Virknei ir rakstzīmju tipa masīvs un glabāšanas klase static , tā tiek inicializēta ar norādītajām rakstzīmēm.
Kompilators katras rindas beigās ievieto nulles (tukšo) baitu \0, lai programma, kas skenē rindu, varētu atrast rindas beigas.
Virknē pirms dubultpēdiņu rakstzīmes " vienmēr jābūt \ ; turklāt var izmantot tās pašas atsoļa secības, kas aprakstītas rakstzīmju konstantēm.
Visbeidzot, jaunās rindas rakstzīme var parādīties tikai uzreiz aiz \ ; tad gan -\, gan jaunrindas rakstzīme tiek ignorētas.
3. nodaļa Sintakse
Sintakses ieraksts
Saskaņā ar sintaktiskajiem apzīmējumu noteikumiem sintaktiskās kategorijas ir slīprakstā, bet burtiski vārdi un rakstzīmes ir nemainīga platuma fontā.
Ievads C++ programmēšanas valodā | ||
Alternatīvās kategorijas ir rakstītas dažādās rindās. Neobligāts termināla vai netermināla simbols tiek apzīmēts ar apakšindeksu “opt”, tādējādi (opt izteiksme) norāda, ka izteiksme cirtainajās iekavās nav obligāta.
Nosaukumi un veidi
Nosaukums apzīmē (apzīmē) objektu, funkciju, veidu, vērtību vai etiķeti. Nosaukums tiek ievadīts programmas aprakstā. Nosaukumu var izmantot tikai programmas teksta apgabalā, ko sauc par tā darbības jomu. Nosaukumam ir veids, kas nosaka tā lietojumu.
Objekts ir atmiņas apgabals. Objektam ir krātuves klase, kas nosaka tā kalpošanas laiku. Objektā atrastās vērtības nozīmi nosaka nosaukuma veids, kas izmantots, lai tam piekļūtu.
Redzamības zona
Ir četru veidu darbības jomas: lokālais, fails, programma un klase.
Vietējais
Blokā deklarētais nosaukums ir lokāls šim blokam, un to var izmantot tikai šajā blokā aiz deklarācijas vietas un slēgtajos blokos.
Izņēmums ir etiķetes, kuras var izmantot jebkurā funkcijā, kurā tās ir aprakstītas. Formālo funkciju parametru nosaukumi tiek apstrādāti tā, it kā tie būtu deklarēti.
iekšā pats āra vienībašī funkcija.
Nosaukumu, kas deklarēts ārpus jebkura bloka vai klases, var izmantot datnē, kur tas ir deklarēts pēc deklarēšanas vietas.
Klases dalībnieka nosaukums ir lokāls tās klasei, un to var izmantot tikai šīs klases dalībnieka funkcijā pēc tam, kad darbība ir piemērota tās klases objektam vai pēc tam, kad darbība > ir lietota rādītājam uz savas klases objekts.
Statiskās klases dalībniekus un dalībnieku funkcijas var arī atsaukties, izmantojot operatoru ::, ja to klases nosaukums ir tvērumā.
Ievads C++ programmēšanas valodā |
||
Klase, kas deklarēta klasē, netiek uzskatīta par dalībnieku, un tās nosaukums pieder aptverošajam tvērumam.
Vārdu var paslēpt, skaidri aprakstot to pašu nosaukumu blokā vai klasē. Nosaukums blokā vai klasē var būt aizsegts tikai ar nosaukumu, kas deklarēts aptverošajā blokā vai klasē.
Slēptu nelokālu nosaukumu var izmantot arī tad, ja tā darbības jomu nosaka operācija ::.
Klases nosaukumu, kas paslēpts ar nosaukumu, kas nav tipa nosaukums, joprojām var izmantot, ja pirms tā ir klase, struktūra vai savienība. Enum nosaukumu enum, kas paslēpts ar nosaukumu, kas nav tipa nosaukums, joprojām var izmantot, ja pirms tā ir enum .
5. nodaļa. Definīcijas
Deklarācija ir definīcija, izņemot gadījumus, kad tā apraksta funkcijas, nenorādot funkcijas pamattekstu, ja tajā ir ārējais (1) specifikators un nav inicializatora vai funkcijas korpusa vai kad tā ir klases deklarācija.
6. nodaļa. Izkārtojums
Faila nosaukums, kas nav skaidri deklarēts kā statisks, ir kopīgs katram failam vairāku failu programmā. Tas ir arī funkcijas nosaukums. Šādi nosaukumi esot ārēji.
Katra ārējā nosaukuma deklarācija programmā attiecas uz to pašu objektu, funkciju, klasi, enum vai enum vērtību.
Visās ārējo nosaukumu deklarācijās norādītajiem veidiem ir jābūt identiskiem. Var būt vairāk nekā viena veida definīcija, uzskaitījums, iekļauta funkcija vai nesalikta const , ja vien definīcijas ir identiskas, parādās dažādos failos un visi inicializatori ir nemainīgas izteiksmes.
Ievads C++ programmēšanas valodā | ||
Visos citos gadījumos programmā jābūt tieši vienai ārējā nosaukuma definīcijai.
Īstenošanai var būt nepieciešams, lai saliktais const, kas tiek izmantots, ja nav sastopama const definīcija, ir skaidri jādeklarē ārējam, un tai programmā jābūt tieši vienai definīcijai. Tādus pašus ierobežojumus var noteikt iekļautajām funkcijām.
7. nodaļa
Ir divas aprakstītas atmiņas klases:
auto
statisks.
Automātiskie objekti ir lokāli katram bloka izsaukumam un tiek atiestatīti, kad bloks iziet.
Statiskie objekti pastāv un saglabā savu vērtību visas programmas darbības laikā.
Daži objekti netiek nosaukti, un to kalpošanas laiku nepārprotami kontrolē jaunie un dzēšanas operatori.
8. nodaļa
Objekti, kas deklarēti kā rakstzīmes (char), ir pietiekami, lai saglabātu jebkuru mašīnas rakstzīmju kopas elementu, un, ja šai kopai piederoša rakstzīme tiek saglabāta rakstzīmju mainīgajā, tad tās vērtība ir vienāda ar šīs rakstzīmes veselo skaitļa kodu.
Pašlaik ir trīs veselu skaitļu izmēri, kas aprakstīti kā short int , int un long int . Garāki veseli skaitļi (long int ) nodrošina ne mazāku krātuvi kā īsāki veseli skaitļi (short int ), bet pēc ieviešanas, vai nu garie, vai īsie, vai abi, var kļūt līdzvērtīgi parastam veselam skaitlim.
"Parastiem" veseliem skaitļiem ir dabisks izmērs, ko nosaka centrālās mašīnas arhitektūra; citi izmēri ir izgatavoti, lai atbilstu īpašām vajadzībām.
Ievads C++ programmēšanas valodā |
||
Katrs enum ir nosauktu konstantu kopa. Enum īpašības ir identiskas int īpašībām. Neparakstīti veseli skaitļi, kas aprakstīti kā neparakstīti, atbilst aritmētikas modulo 2n noteikumiem, kur n ir bitu skaits to attēlojumā.
Viena (peldošā) un dubultā (dubultā) peldošā komata skaitļi dažās mašīnu implementācijās var būt sinonīmi.
Tā kā iepriekš uzskaitīto tipu objektus var interpretēt kā skaitļus, mēs tos sauksim par aritmētiskajiem tipiem.
Char , visu izmēru int un enum veidi kopā tiks saukti par veselu skaitļu tipiem. Peldošie un dubultie veidi kopā tiks saukti par peldošiem veidiem.
Datu tips void (tukšs) definē tukšu vērtību kopu. Nederīgā objekta (neesošo) vērtību nevar izmantot nekādā veidā, nevar izmantot ne tiešas, ne netiešas konversijas.
Tā kā tukša izteiksme apzīmē neesošu vērtību, šādu izteiksmi var izmantot tikai kā izteiksmes operatoru vai kā kreiso operandu semikola izteiksmē. Izteicienu var nepārprotami atmest .
9. nodaļa Atvasinātie veidi
Papildus pamata aritmētiskajiem tipiem ir konceptuāli bezgalīgi daudz atvasinātu tipu, kas izveidoti no pamattipiem, kā norādīts tālāk.
šāda veida objektu masīvi;
funkcijas, kas ņem noteikta tipa argumentus un atgriež noteikta tipa objektus;
norādes uz šāda veida objektiem;
konstantes, kas ir noteikta veida vērtības;
Ievads C++ programmēšanas valodā | ||
struktūras, kas ir klases bez piekļuves ierobežojumiem;
savienības, kas ir struktūras, kas dažādos laikos var saturēt dažāda veida objektus.
AT kopumā šīs objektu konstruēšanas metodes var pielietot rekursīvi.
Void* tipa objektu (rādītājs uz void ) var izmantot, lai norādītu uz nezināma tipa objektiem.
Objekti un LVALUE (adreses)
Objekts ir atmiņas apgabals; Lvalue (adrese) ir izteiksme, kas attiecas uz objektu. Acīmredzams adreses izteiksmes piemērs ir objekta nosaukums.
Ir operācijas, kas dod adreses izteiksmes: piemēram, ja E ir rādītāja tipa izteiksme, tad *E ir adreses izteiksme, kas attiecas uz objektu, uz kuru norāda E .
Termins "lvalue" nāk no piešķiršanas izteiksmes E1=E2 , kurā kreisajam operandam E1 ir jābūt vērtības izteiksmei.
Turpmākajā katra operatora apskatā ir norādīts, vai tam ir nepieciešami adreses operandi un vai tas atgriež adreses vērtību.
11. nodaļa
Ja var izmantot veselu skaitli, var izmantot rakstzīmi vai īsu veselu skaitli. Visos gadījumos vērtība tiek pārveidota par veselu skaitli.
Īsa vesela skaitļa pārveidošana par garu veselu skaitli vienmēr ietver zīmes paplašināšanu; veseli skaitļi ir lielumi ar zīmēm. Tas, vai rakstzīmēs ir ietverts zīmes bits, ir atkarīgs no mašīnas. Precīzāks neparakstītās rakstzīmes veids ierobežo vērtības izmaiņas no 0 uz no mašīnas atkarīgu maksimumu.
Iekārtās, kurās rakstzīmes tiek uzskatītas par parakstītām (parakstītām), ASCII kodu kopas rakstzīmes ir pozitīvas.
Ievads C++ programmēšanas valodā |
||
Tomēr rakstzīmju konstante, ko dod oktālā secība esc, tiek paplašināta un var kļūt par negatīvu skaitli; tā, piemēram, "\377" vērtība ir 1 .
Kad garais vesels skaitlis tiek pārveidots par īsu veselu skaitli vai simbolu , tas tiek saīsināts pa kreisi; liekie biti vienkārši tiek zaudēti.
Pludiņš un dubults
Peldošā komata izteiksmēm var veikt vienas precizitātes peldošā komata aritmētiku. Pārvēršana starp vienreizējiem un dubultiem precizitātes skaitļiem tiek veikta tik matemātiski pareizi, cik to atļauj aparatūra.
peldošs un vesels
Pārveidojumi no mainīgās uz integrālo vērtību parasti ir atkarīgi no mašīnas. Jo īpaši negatīvo skaitļu saīsināšanas virziens dažādās mašīnās atšķiras. Ja vērtībai nav pietiekami daudz vietas, rezultāts nav definēts.
Integrālās vērtības pārvēršana pludiņā darbojas labi. Ja aparatūras ieviešanai trūkst nepieciešamo bitu, ir zināms precizitātes zudums.
Rādītāji un veseli skaitļi
Vesela skaitļa tipa izteiksmi var pievienot rādītājam vai atņemt no tā; šādā gadījumā pirmais tiek pārveidots, kā norādīts pievienošanas darbības apspriedē.
Varat atņemt vairāk nekā divus rādītājus uz viena veida objektiem; šajā gadījumā rezultāts tiek pārveidots par int vai long tipu atkarībā no iekārtas.
Ikreiz, kad neparakstīts vesels skaitlis tiek apvienots ar parastu veselu skaitli, parasts vesels skaitlis tiek pārveidots par veidu unsigned, un rezultāts ir tips unsigned .
Vērtība ir mazākais neparakstītais veselais skaitlis, kas vienāds ar veselu skaitli ar zīmi (mod 2** (vārda garums)) (t.i., modulo 2** (vārda garums)). Papildu binārajā attēlojumā šī transformācija ir tukša, un reālas izmaiņas binārajā attēlojumā nenotiek.
Bens Beržerons ir bijis CrossFit Games dalībnieks divas reizes un viņam ir bijis arī tas gods trenēt tādus izcilus sportistus kā Kriss Spīlers (7 reizes CrossFit Games dalībnieks, 3. vieta 2011. gadā), Becca Voigt (7 reizes CrossFit Games dalībnieks, 3. vieta 2011. gadā) . 2010), Hetere Beržerona (2x CrossFit spēles, 8. vieta 2010. gadā), Mišela Letendre (4x CrossFit spēles, 4. 2014. gadā), Braiens Kērlijs (2010. gada meistars), Liza Mikelsone (2012. gada meistarsacīkšu čempione) un Jaunanglijas CrossFit komanda ( Pasaules čempioni 2011, vicečempioni 2013).
Šādu sportistu apmācība ir ļāvusi man izstrādāt visefektīvākās un efektīvākās programmas. Šajā rakstā ir sniegti treniņu piemēri, kas ir manas konkurentu apmācības vietnes izveides pamatā.
trīsgalvainais briesmonis
Galvenais uzdevums ir kļūt par šo trīsgalvaino briesmoni. Lai gūtu panākumus CrossFit, jums ir jāattīsta trīs pamatīpašības: spēks, prasmes un sagatavotība. Vissvarīgākais ir vienādi barot visas trīs galvas: tas ir, katru dienu, katru nedēļu, katru mēnesi sekot līdzi trīs pamatīpašību vienveidīgai attīstībai. Ja sportistam šķiet, ka kāda no īpašībām atpaliek attīstībā (viena galva ir mazāka par pārējām divām), tad pie tās jāstrādā, līdz tā panāk pārējās.
Stāvoklis
Stāvoklis- tas ir "sports fitnesā", fitness šajā gadījumā nozīmē darba spējas. Sportistam ir jāspēj izturēt pārbaudījums neatkarīgi no grūtības pakāpes.
Lai gūtu panākumus CrossFit, jums ir jāattīsta trīs pamatīpašības: spēks, prasmes un sagatavotība.
dotais uzdevums un neatkarīgi no tā, cik ilgi un pūles var iztērēt. Daudzi vīrieši sportisti var veikt 10-20 pietupienus uz krūtīm ar 102 kg, bet, veicot 225 pietupienus bez svara, viņu sirdsdarbība palielinās līdz 190 sitieniem.
Spēks
CrossFit mīl spēcīgus sportistus. Zemāk ir Crossfit Games 2013 dalībnieku raksturojums (vīrieši/sievietes).
raušana: 259/153 mārciņas (117/69 kg);
Tīrīšana un saraustīšana: 319/187 mārciņas (145/85 kg);
Pietupiens mugurā: 434/247 mārciņas (197/112 kg);
Grāve: 509/311 mārciņas (231/141 kg).
Visprognozējamākais izaicinājums bija CJ kāpnes (svara pievienošana ik pēc 90 sekundēm uz tīrības un saraustīšanas). Vīriešu labāko desmitniekā bija sportisti, kuri pārbaudījumu pabeidza ar vidēji 325 mārciņām (147 kg). Vietas no 11. līdz 20. tika sadalītas starp sportistiem ar rezultātu 315 mārciņas (143 kg), bet 21.-30.rindu ieņēma sportisti, kuru rezultāts bija 313 mārciņas (142 kg).
Vissvarīgākais ir vienādi barot visas trīs galvas: tas ir, katru dienu, katru nedēļu, katru mēnesi sekot līdzi trīs pamatīpašību vienveidīgai attīstībai.
Pēdējās 15 vietas sadalīja sportisti ar 295 mārciņām (134 kg) tīrā un ņemamā posmā. Citiem vārdiem sakot, jo spēcīgāks ir sportists, jo lielākas ir viņa izredzes gūt panākumus. Taču tas ir iespējams tikai ar abu pārējo īpašību klātbūtni un pietiekamu attīstību.
Prasmes
Ir tikai dažas īpašības, kas vairāk nekā viņa prasmes var palīdzēt atšķirt labu sportistu no labākajiem. Sniegums un spēks ir ļoti svarīgi, lai gūtu panākumus, taču nav nozīmes tam, cik spēcīgs ir sportists (227 kg pacelšana) vai viņa izturība (spēj noskriet 5 jūdzes) vai cik daudz burpiju un tējkanna šūpošanos viņš spēj veikt. Ja sportists nespēs apgūt lielus riņķa izbraukumu komplektus, atspiešanos uz rokām, dubulto lēcienu virvi, tauriņu pievilkšanos, tad viņš būs spiests apstāties tur, kur beidzas viņa prasmju arsenāls.
No trīsgalvu briesmoņa līdz piecu ieroču spēlētājam
Mobilitāte
Pamatojoties uz nosaukumu, ir skaidrs, ka šī ir kvalitāte, kas ļauj pārvietoties ar lielāku efektivitāti un trenēties lielākā apjomā.
Morāle
Svarīgs faktors sacensībās ir sportista pašsajūta, runājot publiski. Garīgā stāvokļa kontrole palīdz izmantot nervus un adrenalīnu, lai uzlabotu savu sniegumu, koncentrētos uz uzdevumu un ignorētu troksni. Daudzi sportisti lieliski uzrāda, trenējoties sporta zālē, taču lielajā laukumā viņi vienkārši nevar īstajā brīdī savākties; tā ir psiholoģiska barjera, kas ir jāpārvar. Tāpēc ir vērts pievērst uzmanību un kontrolēt morāli katra treniņa laikā.
Labākais piemērs no visiem 5 sportistiem, protams, ir Ričs Fronings.
Viņam ir visi ieroči: spēks, sagatavotība, prasmes, mobilitāte un morālā izturība, lai sacenstos jebko, jebkur un jebkurā līmenī. Tas ir tas, ko mēs cenšamies panākt.
Programmēšanas piemēri
Šādi tiek veidota programmēšana Comprtitors Wod mājaslapā, apmācību programmas ir sadalītas vairākās grupās.
Gatavošanās Crossfit spēlēm
Izaicinājums sportistiem, kuri ir kvalificējušies spēlēm, ir vienkārši izdzīvot mēnešus, nedēļas, dienas starp reģionālajām spēlēm un spēlēm. Treniņu procesa mērķis šajā situācijā ir sagatavot sportistu nezināmajam.
Gatavošanās reģionālai
Šāda treniņu programma ir izveidota sportistiem, kuri ir pārliecināti, ka tiks pieteikti reģionālajās sacensībās. Viņiem nevajadzētu tērēt savu enerģiju, atkārtojot The Open Challenges, tā vietā labāk ir sākt gatavoties reģionālajām sacensībām. Šim procesam jākoncentrējas uz sacensību prasībām (slodze, kustība, apjoms utt.). Mūsu mērķis šajā situācijā ir vienmērīgi attīstīt 5 sportista īpašības.
Nedēļas cikla piemērs
pirmdiena
Pirmais komplekss:
- Paķert ar lielu svaru;
- Ņemšana un grūšana ar lielu svaru;
- dažāda veida pietupieni;
- Vingrošanas vingrinājumi (atspiešanās, zeķes uz stieņa, izkāpšana uz riņķiem, burpes, pistoles utt.);
Otrais komplekts:
- Metcon;
- Viduslīnija (hiperekstensija, stiepšanās (mugura, gurni), L-turēšana, reversā hiperekstensija, muguras izliekumi).
trešdiena
Darbs pie tehnoloģijas:
- domuzīme;
- Ņem un spied;
- tupēt;
- Vingrošanas prasmes;
- Airēšana;
Otrais komplekts:
- Metcon;
- Vidējā līnija.
piektdiena
- Darbs pie raušanas tehnikas (vilces, sumo vilkšanas, stieņa tīrības, raušanas, aizmugures līknes);
- Pamata vingrinājumi 20 vai 100 atkārtojumiem;
- Metcon, pievienojot aprīkojumu (atsvari, bumbiņas, virves, riepas, akmeņi, āmurs utt.);
- Airēšana;
- Strādājiet pie vidējās līnijas.
otrdiena
- Sprints vai lēcieni (shuttle skrējiens, 40-60-100-200m sprints, lēcieni lodziņā, lēcieni ar vienu kāju, tāllēkšana);
- grūdiens (stienis, sumo, sasvēršanās ar stieni uz muguras, stieņa pacelšana uz krūtīm no grīdas);
- Pamatvingrinājumi 20 vai 100 atkārtojumiem (ņemšana, grūšana, raušana, vilkšana, sumo, pietupieni un izklupieni ar stieni uz krūtīm, uz muguras, virs galvas);
ceturtdiena
Darbs pie lokanības / mobilitātes (joga, iesildīšanās ar rullīti, stiepšanās, statika).
Dinamiskā atveseļošanās (staigāšana, airēšana, riteņbraukšana, sērfošana, klinšu kāpšana utt.), vēlams ārā.
sestdiena
(viens piegājiens, divi komplekti)
- Garo distanču skriešana;
- Svarcelšana;
- Vingrošanas vingrinājumi/Metcon;
- Darbs pie spēka īpašībām (iegurņa celšana guļus stāvoklī ar stieni, bulgāru pietupieni ar hanteles, spiešana guļus ar šauru satvērienu, vingrinājumi tricepsam, vingrinājumi kājas aizmugures muskuļiem).
svētdiena
Svētki.
TA kustība: Savā treniņu programmā iekļaujam dažādas raušanas, tīras un raušanas kustības: reizi nedēļā ar lieliem svariem un otro reizi strādājot pie izpildes tehnikas. Ātras stieņa kustības ir CrossFit sacensību stūrakmens. Pastāv 100% iespēja, ka nākamajās sacensībās parādīsies kāda no svarcelšanas kustībām, tāpēc tam nav jātērē laiks un pūles.
Pietupieni: ļoti svarīgs! Katrs sportists plaukst, kļūstot stiprāks, un vairs nav efektīvs vingrinājums nekā pietupieni ar stieni. 3 reizes nedēļā jāveic dažāda veida pietupieni ar smagiem un vidējiem svariem. Pat ar metcon pietupieniem, TA un 20 atkārtojumiem pamata vingrinājumiem, tas ir tikai vidējais pietupienu skaits.
20 pamata vingrinājumu atkārtojumi: Mēs mainīsim kustības un mainīsim atkārtojumu skaitu no 20 uz 100 divas reizes nedēļā. Ar 20 atkārtojumiem ir pietiekami, lai pārliecinātos, ka mēs attīstām vairāk nekā tikai maksimālo spēku. Darbam jābūt vērstam uz izturības, izturības un kustību efektivitātes trenēšanu. Jā, “100 atkārtojumi” izklausās vienkārši pretīgi, taču sacensību laikā sportists tos sāk atcerēties ar pateicību.
Vilce: visa aizmugurējo muskuļu ķēde ir sava veida dzinējs. Spēcīgi sēžas muskuļi un mugura ir vieta, no kurienes nāk viss spēks. To attīstībai ir nepieciešams veikt vilci no grīdas. Tāpat šie vingrinājumi ir viduslīnijas stabilitātes veidošanai, kas ir svarīgi ikvienam sportistam neatkarīgi no sporta veida.
Vingrošana: jāveic 2 vingrošanas kompleksi nedēļā. Viena pamata vingrinājumu praktizēšanai un kustību trenēšanai, izmantojot ķermeņa svaru, bet otra prasmju, līdzsvara un spēka attīstīšanai.
lekt. Sportistiem jābūt asiem. Šīs pliometriskās kustības palīdzēs palielināt ātrumu, koordināciju, veiklību, asumu, strādājot ar stieni, un galu galā palīdzēs jums kļūt par labu sportistu. Tam ir labs piemērs: NFL atlasē svarīgākais kritērijs ir vertikālais lēciens.
Metcon: plkst veiksmīga kombinācija ar diviem vai trim vingrinājumiem var sasniegt daudz. Pievienojiet tam ātru tempu un vairākus atkārtojumus, un tagad sportists jau ir spēcīgāks un izturīgāks nekā 90% citu sportistu.
Airēšana: Concept 2 ir pārsteidzoši spēcīgs rīks sportista veiktspējas attīstīšanai: gan no vielmaiņas, gan izturības viedokļa tas viss palīdz bez pauzes izpildīt visu izaicinājumu. Mans padoms ikvienam, kurš vēlas kļūt stiprāks, ir airēt vairāk.
Elastība/Mobilitāte: iespējams, nepietiekami novērtētais no 10 fitnesa komponentiem. Mobilitāte (domā par lakrosa bumbiņām, skrituļslidām, gumijām utt.) ir lieliska, taču nevajadzētu atstāt novārtā tradicionālo stiepšanos.
Aktīvā atveseļošanās: Trešdiena nav atpūtas diena. Aktīvā atpūta palīdzēs ātrāk atgūties un sagatavoties nākamajai dienai. Brīvdabas aktivitātes palīdz sportistam paplašināt redzesloku, kā arī pielietot treniņu pieredzi reālā vidē.
Darbs pie vidējās līnijas: viss, ko mēs darām, tā vai citādi, ir atkarīgs no viduslīnijas stipruma. Savā treniņu programmā mēs veiksim viduslīnijas stabilizāciju sestdienās, kā arī dažu vingrošanas vingrinājumu laikā pirmdienās un ceturtdienās.
atpūtas dienas: jums vajadzētu pilnībā pasargāt sevi no fiziskā un garīgā stresa. Tas ir nepieciešams, lai paliktu svaigs, veselīgs un stiprs.
Mazliet par skaļumu: Reģionālās sacensībās sportistam ir jāpieliek maksimāla piepūle neatkarīgi no laika perioda, svara un vingrinājumiem. Mūsu treniņu programma spēj sagatavot sportistu visam, ko no viņa var sagaidīt sacensībās.
Gatavošanās The Open
Šī programma ir īpaši paredzēta sportistiem, kuri vēlas sasniegt labāko sniegumu un nopelnīt vietu reģionālajās (vai meistaru kvalifikācijas spēlēs). Uzdevums ir sagatavot sportistus Open sacensību prasībām (slodze, kustības, apjoms utt.)
pirmdiena
Metcon;
TA ar lielu svaru;
Spēks.
otrdiena
Metcon;
Strādājiet pie prasmēm.
trešdiena
Metcon;
TA darbs pie tehnikas;
Spēks.
ceturtdiena
Atpūta.
piektdiena
Metcon;
prasmes;
Spēks.
sestdiena
Metcon.
svētdiena
Atpūta.
Metcon. Atklātās sacensības galvenokārt ir pārbaudījums darba apjomam, ko sportists spēj veikt noteiktā laika periodā. 100% testu pēdējo 3 gadu laikā bija balstīti uz kondicionēšanas testiem. Mūsu uzdevums numur 1 ir izveidot jaudīgu dzinēju. Metkoni parādīsies katrā treniņu kompleksā, jo tie palīdzēs sasniegt mērķi. Metcons balstīsies uz pēc iespējas vairāk atkārtojumu veikšanu 4-20 minūtēs, kā arī sastāvēs no kustībām, kas bijušas iepriekšējās sacensībās un var parādīties nākamajās. Skriešana, staigāšana ar rokām, airēšana, L veida vilkšana, hiperekstensija, riņķa dips ir populāri CrossFit un ir ļoti efektīvi vispārējai fiziskajai sagatavotībai, taču sportisti ar tiem atklātajās sacensībās diez vai saskarsies.
TA. Atklātajās sacensībās līdz šim nekad nav bijis uzdevums uzņemties maksimālo svaru, taču, tā vai citādi, vajadzētu piestrādāt pie TA prasmju pilnveidošanas. Pēdējo 3 gadu laikā 36% elementu, kas tika izveidoti atklātajās sacensībās, bija kaut kādi raušanas, tīrības un raustīšanas veidi.
Spēks. Jums nav jābūt īpaši spēcīgam, lai labi veiktu Opens, taču spēks noteikti palīdz ar lielu svaru. 25% no visiem vingrinājumiem tiek veikti, izmantojot vidējus vai smagus svarus. Kļūt stiprākam ir svarīgi, bet ne uz citu īpašību rēķina. Nedrīkst veikt ciklu, kas sastāv tikai no spēka vingrinājumiem, ja sportista mērķis ir labi veikt Opens.
Prasmes. Balstoties uz iepriekšējo sacensību pieredzi, ļoti svarīgi ir apgūt konkrētas kustības: lēcienus pa lodziņu, dubultlēcienus pa virvi, izkāpšanu uz riņķiem, zeķes pie stieņa, krūtis pie stieņa. Protams, nav garantijas, ka šie vingrinājumi parādīsies vēlreiz, taču jums ir jācenšas kļūt par to profesionālu.
Mazliet par skaļumu. Lai veiktu labus rezultātus atklātajās sacensībās, nedēļā jāveic 1-2 kompleksi ar maksimālo efektu 4-20 minūtes. Tās ir ļoti zemas apjoma prasības. Ja sportists trenēsies lielā apjomā, cerot kvalificēties Regionals, viņš tiks izlaists. Tā vietā labāk ir koncentrēties uz treniņa intensitāti un kvalitāti.
Apmācība un prakse
Ir ļoti svarīgi saskatīt vājās vietas un strādāt pie tām. Darbību algoritms, ko izmanto, lai uzlabotu izteikti neiroloģiskās kustības, piemēram, dubultlēcienus, izeju ar gredzenu un tauriņu pievilkšanos, ļoti atšķiras no ļoti organisku kustību algoritma, piemēram, pacelšanas nāves, pievilkšanas un taisnas pievilkšanās.
Labākais veids, kā trenēt neiroloģiskās adaptācijas (veiklumu, līdzsvaru, koordināciju un precizitāti), ir prakse. Prakse ietver darbu pie prasmēm, izpildes laika un kvalitātes. Praksi nedrīkst veikt ar muskuļu un sirds un asinsvadu stresu. Vislabāk ir praktizēt ar vienmērīgu sirdsdarbību, vieglu svaru un vidē, kur tehniku var kontrolēt.
Lielākā daļa efektīva metode organiskās adaptācijas (sirds un asinsvadu izturības, spēka, izturības un lokanības) attīstībai ir treniņš. Apmācība ir saistīta ar intensīvu darbu, ar ātru sirdsdarbību, lielu svaru un maksimālu intensitāti.
Ir ļoti svarīgi noteikt cēloni un izmantot to, lai izveidotu apmācību programmu. Piemēram, ja sportists nav spēcīgs skriešanā vājas vielmaiņas dēļ, tad viņam skriešanā vajadzētu trenēties pēc iespējas biežāk. Ja sportists izpildes formas dēļ nav spēcīgs skriešanā, tad skriešana ar maksimālu triecienu rezultātu nedos. Labāk koncentrēties uz skriešanas vingrinājumiem. Kas uzlabos izpildes tehniku.
Oriģinālais raksts http://competitorstraining.com/programming-philosophy/
Tulkojis Keinihs K.