Mar. 7, 2017

Tehnoloģijas un IT.

Diendienā saskaramies ar dažādām tehnoloģijām, programmām, kas darbina datorus un telefonus, bērni stundām sērfo netā un sūta viens otram dažādu informāciju, par ko vecāki pat nevar iedomāties. Ir pieejami dažādi maksas un bezmaksas kursi, kuros var iemācīties vispār darboties ar datoru, lietot dažādas programmas, strādāt ražošanā pie darbgaldiem, programmēt, darboties ar elektroniskām ierīcēm. Tomēr katrs ar tehnoloģijām, IT un dažādām prasmēm saprot kaut ko citu.

Vispirms būtu jāsaprot nedaudz vēstures un jāatšķir nozares daudzveidīgās izpausmes un iespējas. Diezgan plaši izplatītais priekšstats, ka veikla failu pārsūtīšana un darbošanās ar interaktīvo tāfeli ir tehnoloģiju zināšana, tā nav, tas ir zināms lietotāja līmenis un viss. Intelektuālais izaicinājums bildes vai teksta pārsūtīšanai, saglabāšanai un izmainīšanai nav īpaši lielāks par veļas mašīnas programmas iestatīšanu un saprašanu, kad kuru lietot. Uzklikšķināt uz copy-paste-save-font size, file name - nu nekas tur tāds nav, programma pārsūta vai pārtaisa šo failu ar šito, spied tik next, save un viss būs - lietotājs, kas lieto datoru, telefonu vai ir iemācījies darbgaldam iestatīt, cik un kādas detaļas no tā koka vai metāla gabala gatavot - tas, kas to prot, ir labāks vai sliktāks lietotājs un viss.

Lai vai kā, viss sākas ar matemātiku - Jānītim ir konfektes, Anniņai par 2 vairāk, bet Pēterim divreiz vairāk, nekā abiem kopā, pavisam konfekšu ir 26, cik ir Jānītim un kad Pēterītis ies pie zobārsta. Ja šito ar x + x + 2 un tā tālāk nevar atrisināt, tad ar simboliem, formulām un mainīgajiem būs kā būs – slikti. Tad ir spēles, noteikumi, iespējamie gājieni, vēl ir visādi trīsstūri, apļi, cilindri, kubi, šķautnes, kuriem vajag rēķināt šķēluma laukumus, saskares punktus, perimetrus un, ja šitas ir saprotams kādā 7.klasē, tad uzreiz jau varētu rakstīt arī programmiņu - te mainīgie būs, te mēs viņus ievadīsim, te spiedīsim enter pie katra ievades, te mums paziņos, ja mēs būsim tur ievadījuši burtus, ķeburus vai nepareiza lieluma skaitļus, te būs formula, kas iestāsta datoram, ka šitie ir jāsaskaita un šitie jāreizina, visus komatuis, kolus, iekavas saliku, programma darbojas. Pirmais izaicinājums ir saprast, kā simboliski tās konfektes apzimēt, kā nosaukt trīsstūra malas, kā uzrakstīt formulu un otrs izaicinājums ir sintakse - kā pēc valodas likumiem padarīt to skaidru datoram, ko tu no viņa gribi. Šeit uzreiz jau ir citas prasmes un īpašības - valodas sintakse, labi paraugi un gatavo risinājumu bibliotēka, kur ņem gatavu piemēru un tikai pamaina mainīgos. Vēl jau ir tādas valodas, kas rūpējas par datora vai mikrokontroliera labsajūtu, lai tas nerezervētu tādus resursus un tādu atmiņu, kas varētu rēķināt komētu orbītas vai meteoroloģijas prognozes pēc 20 nemitīgi mainīgu faktoru apstrādes, ja patiesībā tas noliktavā uzskaitīs preču daudzumu 200 plauktos un katras preces pieejamo atlikumu. Ja vēl tuvāk "mašīnai", tad var skatīties, cik bitu mašīna tā ir, kā tā organizē datus un cik taktis paiet, kamēr salīdzina 2 skaitļus, izvelk no atmiņas divus citus, salīdzina tos un izpilda loģisku funkciju atkarībā no rezultāta. Šeit būtu loģiski pāriet pie Būla algebras, taču reālie sasniegumi e- veselībā un dažādās kļūdas, kas ir ikdienā plaši lietotos produktos, kur ir klāt bijis programmētājs, liek izdarīt mazu atkāpi. Pie Būla algebras nonāksim caur procesu analīzi un vienkāršiem algoritmiem. Ja skatās uz tiem rezultātiem, kas ir aplami, saprotot programmēšanas pašu sākumu, pašu pamatu - algoritmu izpratni, tad vai nu vesels bars ir smagi slinkojuši, kad viņiem mācīja algoritmu teoriju, vai arī pats process ir nejēdzīgi sadalīts vairākās daļās un tieši tāpēc nedarbojas, ka katrs cer, ka iespējamās kļūdas būs pamanījis un novērsis cits un uz viņa izpratni par procesu var paļauties. e - veselībā tieši tā arī esot bijis – iepirkuma likuma vai vēl sazin kādu apsvērumu dēļ viss esot bijis sadalīīts 3 daļās un tad daži jau esot teikuši, ka ar savietojamību būs problēmas. Var jau teikt, ka parastam programmētājam jādara, ko liek un kopaina nav vajadzīga, tam ir vadītāji, bet rezultāts te nu ir, kāds ir.

Algoritmu daļa valodas mācīšanās procesā aizņem neproporcionāli mazu daļu. Kāda jēga teorētiski zināt, ka algoritmu kvadrātiņi un rombiņi apraksta triviālus ikdienas uzdevumus, ja paskatoties uz to pašu e-veselību, skaidri redzams, ka te kāds ir par pamatu ņēmis vienkāršotus algoritmus, ko pats nemaz dabā nav pētījis, gan jau viņam nolika priekšā projekta vadītājs, kurš pirms tam bija parunājis ar medicīnas ierēdni, kas tam autoritatīvi paziņoja, ka ārsti raksta slimības vēstures, receptes un pie viņiem reizēm ir rindas, kuras vajadzētu kaut kā organizēt. Nekādas detalizētākas informācijas klātbūtne, šķiet, tur nebija vis. Tas, ka gana daudz neatnāk, netiek pateikts un programmētājs braši programmē, izejot no priekšštata, ka rindā visi godīgi stāv un viss. Spriedelēšanu par e-veselibu apgrūtina tas, ka jādiskutē par informācijas drumslām, kas kaut kā ir izsūkušās cauri juridiski nobruņotajai informācijai. Dakteriem pat esot kaut kāds paraksts par to, ka, lietojot sistēmu, viņi apkārt pa pasauli nemuldēs par tās trūkumiem.

Paņemsim vienu piemēru - ģimenes ārstu priekšniece Veide teica, ka receptēs nav tieša pieeja zāļu registram! Apdeits 14.martā - nupat LNT Veide teica, ka ievadot zāļu nosaukumu, jāgaida 3 minūtes! Ideālā pasaulē šāda pieeja būtu, iedrukājot zāles nosaukuma ailē Asp... automātiski tiktu parādīta ērta izvēlne, kur ir jāuzkliksķina uz attiecīgā veida aspirīna ar vai bez piedevām ar to vai citu devu, ar pavisam citu firmas izdomātu nosaukumu un tablešu skaitu kastītē. Kaut kad ļoti sen bija tāds reģistrs, kur bija zāļu pieejamība, varēja apskatīties, vai tuvākajā aptiekā tās tabletes ir. Tas, protams nozīmē vienotu visu aptieku pieejamības reģistru un šādas tādas iespējas izmantot šos datus konkurences cīņā. Lai vai kā, uzvārdam, diagnozei, medikamentam, devai, pieejamībai, receptes veidam - vai to daļēji vai pilnīgi sedz valsts, jābūt pieejamam izvēlnē, nevis katra deva, adrese, medikaments jāraksta pašam. Aptiekām esot arī kaut kādas problēmas ar saņemto recepšu apstrādi, daudz laika aizņemot. Nu ko, arī aptiekā neviens nav skatījies, kas un kā tur strādā.

Apcerot algoritmus un procesu izpratni, jāatzīmē, ka, lai tas IT un tehnoloģiju produkts sanāktu labs, kaut kā jātiek pie elementāras cieņas pret produkta pasūtītāju, lietotāju, kolēģiem un savu darbu galu galā. Ja šīs attieksmes ir tādas, kādas ir, tad arī rodas šie dažādie brīnumi, kad jādomā – pasūtīt jaunu vai labot kaut ko. Viena no problēmām pilnīgi noteikti ir autoritārisms un neelastīga produktu izstrādes politika. Pasūtītājs atnāk pie firmas, kā nu prot, izstāsta, ko viņam vajag, firmas darbinieks pieņem to pasūtījumu, visticamāk, pat neuzdod pietiekami daudz jautājumu, neveic pietiekamu procesu izpēti, sākuma lēmumu pieņemšanas stadijā nepieaicina konkrētos tehniķus un programmētājus, kas to visu darīs, neaptverot visus faktorus, sāk izstrādi un, protams, sataisa kļūdas. Ja par jau pieminēto e-veselību, tad pēc tam, kad izrādās, ka daudz kas tur nestrādā kā vajag, paziņo, ka pie visa vainīgs pasūtītājs. Viņš, lūk, neesot devis pareizās norādes, kā tur viss jātaisa.

 Te nu padomāsim loģiski – vai tam ierēdnim ir amata pienākumos zināt algoritmu pamatus? Ja viņs to zinātu, tad gan viņš varētu tādu pasūtījumu izveidot, ka tur viss būtu atrunāts. Vajag medikamentu reģistra darbību kopā ar e- recepti, ātru, intuitīvu, iespējams, pašu reģistru izvietot datorā, lai nav viss jāmeklē tieššaitē, visu jāvar aizpildīt intuitīvi, ātri unn viegli, visiem sinonīmiem, devām un datiem jāuznirst izvēļņu logā viegli un ātri. Ir pilnīgi skaidrs, ka šāds detalizēts apraksts nav bijis.

 Kā tad vajadzēja izpausties programmēšanas teicamniekam? Viņam bja vai nu jāsēž reālā kabinetā un jāskatās, kas notiek, jāuzdod jautājumi vai jāskatās speciāli viņam uzvestu iestudējumu, jo pacientu reālie dati tomēr ir sensitīvi, tad nu uzvedam teātri, pārsaucam Bērziņu par Kļaviņu, pamainam gadus, biogrāfiju, bet atstājam principu - tik ilga saruna par lietu, tik - pieklājības saruna, tik laika receptei, tad kabinetā iebrāžas kāds bez rindas, tad atkal saruna, tad zvans un steidami kārtojams cits jautājums un viss pārējais, kas nu tur notiek. Vai, šo redzējis tas programmētājs parūpēsies, lai programma ērti paglabā to, ko dakteris paspējis sarakstī un lai to var ērti dabūt atpakaļ, uzpiežot uz izvēlnes - nepabeigtās recepes, vēstures, rindas saraksts, kas nav pārskatīts, jo dazi atteicās un pārcēla laikus. Cik tas aizņem laika un, ka viņš nevar sēdēt pie datora noteiktu laiku, viņiem kaut kas cits ir jāpadara un, ja pārtrauksies savienojums pusaizpildītai lapai, kura nesaglabājas, tad tas nebūs labi. Tāpat aptiekā receptei jābūt visādām papildus izvēlnēm, kas automātiski un ērti aizpilda vajadzīgos laukus pēc gataviem paraugiem un ir laika ierobežojums, ko var veltīt vienai receptei. Pēc tā, kas bija pieejams sabiedrībai, var secināt, ka nekas tās nav darīts. Te, protams, daļēji var vainot pasūtītāju. Praksē droši vien bija tā - receptes viņi raksta, te paraugs, slimības vēstures arī, te paraugs, rinda ir un viss. Zāļu registram ērta pieeja no receptes sagatves - ai, neiedomājos, un vispār to reģistru programmējis cits kantoris un nav atstājis galus, kā un kas tur jāsaliek, lai viss notiek ērti un ātri.

 Tad kā būtu jāmāca algoritmi. Tieši tā arī jāmāca - programmētājs pats skatās procesu un to izprot un jautā attiecīgajam speciālistam, kas tiek darīts, kāpēc tiek darīts un kas būtu jādara, lai tas būtu ērtāk. Līdzīgi būtu, ja programmētājs dodas uz maizes ceptuvi, grāmatvedības uzņēmumu vai pēta metināšanas procesu. Kas būs, ja uzmetinās starp divām metāla loksnēm punktiņus un kas būs, ja vienlaidus metinās 2 metrus garu šuvi, kas ir siltuma deformācija un kādi parametri jāregulē, varbūt vienlaikus jādarrbojas 2 vai 4 metināšanas automātiem, lai šo siltuma deformāciju samazinātu.

Lai to saprastu, jāmācās fizika, elektronikas pamati, ir labi, ja zin ķīmiju un saprot, kā uzbūvēta materiālā pasaule. Diezgan izplatīts veids, ka apgūt to pašu progammmēšanu, ir izvēlēties, ko mācīties un tad ātri, ātri un šauri specifiski kaut ko uztaisīt, ignorējot tādus sikumus, ka algoritmsku domāšanu, procesu izpratni un tos pašus elektronikas un Būla algebras pamatus. Tad nu tāds programmētājs ir sarakstījis kaudzi darbojošos programmu, prot atrast gatavas bibliotēkas ar kodiem un likt tās kopā un veidot darbojošos produktu, bet kārtīga fundamentāla procesa izpratne – tā paliek citiem, viņš tikai savu šauri specializēto kā nu sapratīs izdarīs un viss.

Ja kāds ir visus savu laiku veltījis tikai datoru tehnikas komponentiem un to likšanai kopā, lai tur viss strādā un komunicē ar citiem datoriem un/vai programmēšanai, bet nav interesējies par dabaszinātnēm, tad var nonākt pie situācijām, kad šo likumu nezināšanā traucē kvalitatīvi strādāt. Tāpat būtiski ir izprast procesus, kā darbojas tā vai cita nozare, kas tur ir galvenie faktori un kam jāpievērš uzmanība.

Ko tad parasti dara jaunais programmētājs - ātri, ātri mēģina sevi pierādīt. Tas, kur sevi pierādit, atkarīgs no tā, ko izdodas atrast, meklējot internetā un tur var atrast visu ko. Tikai ne sistemātisku pakāpenisku virzīšanos uz pinīgu procesu izpratni, kārtīgu algoritmu bāzi, tās iekārtas, kas to programmu izpildīs, iespēju un trūkumu apjēgšanu un to, kas notiks, ka ar to visu darbosies parasts lietotājs, kurš var arī galīgi aplamus datus ievadīt vai nepareizas pogas saspiest. Un jā, tam vajag kaut kādu reālu modeli un veselu kaudzi if, else if, ja viņš vadīs tik dumu kombināciju, ja apsēdīsies uz pults vai rūpnieciskai iekārtai pazūdīs elektrība, tad gan dati saglabāsies, gan nekās ar drošību nenotiks. Pietiek paņemt pilnīgi reālu satelīta pulti no uztvērēja ar dubulto satelīta galvu - tās kastes, kam ir cietais disks, kas var vienu kanālu rakstīt un otru rādīt, aizmirst, ka viens kanāls rakstās, otru skaties, uzspiest trešo kanālu un panākt, ka visa iekārta ir jāpārstartē. Programmētāja ideālajā pasaulē tādas kļūdas iedomāšanai taču nav vietas, tie gala lietotāji taču ir ņergas.

Un kāpēc viņi valodas izvēlnē dekodera pultij meklē nākamo valodu, ja zina, ka tās valodas mainās pa strīpu, nevis pa apli un visu laiku spiežot tikai turp taustiņu, sistēma uzkaras! Vajadzēja atcerēties, ka spāņu valoda ir pēdēja sarakstā un spiest atpakaļ taustiņu!

 Lai saprastu algoritmus un domāšanu simboliskā līmenī, jāzina, kā risināt matemātikas uzdevumus. Tāpēc vērts saprast Būla algebru un elementus, kas veic vienkāršas darbības. Pie tam šai izpratnei jāatīstās paralēli ar programmēšanas valodas mācīšanos. Sākumā, protams labi jāizprot algoritmi un tikai tad jāsāk ņemties ar sintaksi.

Es varu iedomāties, ka kaut kāds jauns censonis sen jau šito te ir beidzis lasīt un ticis cauri Hello, world! uzraksta izsaukšanai uz ekrāna, meklē gatavus piemērus un mācās uzrakstīt savus "if else if" paraugus, kas kaut ko dara. Tad kā vajadzētu! Vajadzētu pavisam citādi - inscinējam kādu risināmu uzdevumu - to pašu grāmatvedību, ģimenes ārstu, noliktavas pārzini, stikla gabalu vai metāla konstrukciju, kas ir jāsagriež, jāsametina vai jāizkausē, jebko, ko vajadzētu automatizēt vai vadīt un rakstam algoritnmus. Skatamies, vai pamana visus, ko esam pamanījuši. Varbūt pamana ko tādu, ko neesam pamanījuši. Tad pētam procesa aprakstu un visādus "ja". Ko tad, ja pārtrūks sakari, vai atvērtā recepte, kas tiko sākta, saglabāsies? 

Kā to visu labāk saprast visma laba lietotāja vai IT produkta pasūtītāja līmenī? 

Kas tad ir datoru darbības pamatā? Sāksim beidzot ar to bināro matemātiku un Būla algebru. Komandas ērti organizēt pēc principa – 0 vai 1, jeb ir/nav, balts/melns, slēdzis ieslēgts/izslēgts. Tas ir tehniski noteikts, ir neērti apstrādāt 1000 dažādus signāla līmeņus ieejas datos vai uz atmiņas diska vienā punktā uzdrukāt pilnīgu balts, pilnīgi melns un vēl 998 starpstāvokļus. Ērti ir melns/balts. Pēdējā laikā gan tehnoloģija ļauj gan atmiņas šūnā, gan optiski, gan magnētiski uzrakstīt vairāk par 0 un 1, Piemēram, 8 vai 16 dažādus līmeņus, kas pēc tam, protams, ir āatkodē, bet par to vēlāk.

 Slēdzis ieslēgts - elektrība pienāk pie lampas un tā dod gaismu, slēdzis izslēgts – strāva nepienāk un gaismu tā lampa nedod. Astoņi slēdži un lampas rindā dod jau iespēju attēlot, piemēram, burtu i vai svītru, tāpat koamdas kodu - 8 dažāads koamdas vai 256 dažāads koamdas, ja ayšifrē katru kombināciju, nevis tikai vienu 0 vai 1 kā komandas kodu. Tāpat pietiekami daudz lampu (gaismas diožu, attēla punktu) atļauj izveidot kaut kādu simbolu vai attēlu. Pie tam tas punkts attēlā arī var būt lielāks vai mazaks melnbaltā bildē vai sastāvēt no dažādām pamatkrāsu komponentēm un tas ir kaut kads skaitlis, nevis 0 vai 1.

Tieši tagad būtu jāmāca risināt triviālus praktiskus algoritmu uzdevumus. Par slēdžiem vienā rindā un baitiem vēlāk, bet kas būs, ja tv vai kāda cita pults kontakts ir tāds, kas uz vienu pogas nospiešanu dod 2 vai 3 kontaktus un tikpat daudz reižu noraida baitu 01010111, 01010111, 01010111. Nevis vienu reizi, bet trīs. Ko darīs dators, ko darīs maziņš mikrokontrolieris, kam jāmēģina saprast, ko nu, ignorēt trīs vienādus, vispār neuztvert pārāk ātras sekojošus baitus vai vēl kā. Varbūt to var atrisināt mehāniski, izvēloties labas kvalitātes vai citas konstrukcijas pogas, varbūt elektroniski – katra poga iet caur elektrisku shēmiņu, kas formē noteikta garuma impulsu un nereaģe uz atkārotu nospiešanu, ja tas izdarīts pārāk ātri. Varbūt to visu var darīt softiski, programmā?

Diezgan garlaicīgi, jaunais censonis jau ir aizlēkšojis 20 kilometrus priekšā, uzrakstījis pamatprogrammu pultij, iemācījies ar citu programmu salipināt gatavus nokopētus kodus un viss it kā strādā. Taču izpratnes par dažām pamatproblēmām nav, kas tur tajā sazin no kurienes atvilktajā un miljonos reižu tiražētajā un uzlabotajā vai neuzlabotajā kodā ir, cik tas ātrs, drošs un efektīvs – šīs saprašanas nav.

 Tātad par bitiem un baitiem. Tās nulles un vieniniekus mēs varam salikt rindiņā. Lai būtu 8 lampas, kurās varam ieslēgt gaismu. Tikpat labi tā var būt pusautomātiska virpa, kurai ir ieslēgts 3 ātrums un grieznis kustās ar 2 ātrumu pret virpojamo detaļu.

 Tagad ir diezgan svarīgs princips – variantu skaits, kas iespējams vienam slēdzim ir 2 – vai nu ieslēgts, vai izslēgts, diviem slēdžiem jau 4 varianti, trim slēdžiem jau 8 varianti. Uzrakstīsim tos 000 001 010 011 100 101  110 111

Ko tad nozīmē 110, 111 un pārējie. Tātad ar trim nullēm vai vieniniekiem, atkarībā no tā, kā esam izdomājuši, mēs varam tur iekodēt 8 dažādus burtus, komandas, pelēkā toņus, skaņas signāla līmeni konkrētajā milisekundē un visu ko citu. Ar četriem bitiem sanāks 16 varianti, ar 8 vai baitu – 256.

 Ko tad var aprakstīt ar šiem bitiem – burtus, ciparus, krāsas, skaņu, komandas, lapas numuru, kurā glabāt tekstu, visu, ko vien var iedomāties. Lai vai kā, tēma ir datu tipi un programmēšanas valodās tie tipi ir dažādi. Katrs var palasīt par int, double, char un citiem. Jāsaprot arī ASCII (American Standard Code for Information Interchange) - Amerikas informācijas apmaiņass standartizēto kods - ieviests 1963. gadā. Katrs simbols ir kodēts ar vienu baitu un tabulā kopā ir 256 simboli. Pirmā puse tabulas ir nemainīga, un tajā atrodas cipari, lielie un mazie burti, kā arī citas rakstzīmes. Otro tabulas pusi izmanto specifisko nacionālo simbolu kodēšanai, kā arī grafiskiem simboliem. Pie viena atšķirības un kopīgais starp binaro, astotnieku, sešpadsmitnieku skaitīšanas sistēmām un kā to apstrādā. Palasiet paši par heksadecimālo sistēmu un paniekojieties ar krāsu kodiem rapidtables.co m/web/color/RGB_Color.htm

Pie viena var padomāt par to, kas jādara, ja no šādiem krāsu punktiem sastāvošš attēls jāpagriež par 3, 39 vai 90 grādiem, kas kur jāpārvieto un no kā jārēķina vidējais skaitlis.

Burts A lielais - to var pārveidot par bināru skaitli vai decimālu skaitli, vai bināram skaitlim apmainīt 0 pret 1 un 1 pret 0, vai pabīdīt to virkni pa labi vai pa kreisi. Var pateikt, lai programma un daors to saprot, ka visi burti ir mazie un visu ko citu. Skaitļus var lasīt kā skaitļus, dažādi pārveidot vai lasīt kā simbolus un skaitļu kopas kā string formātu. Šī daudzveidība ļauj visādi izdarīties un atrast ērtāko veidu sev, lai būrtu ērti strādāt, labāko veidu lietotājam, lai varētu veikli visu atrast un darboties un ja īpaši piepūlas – optimālo veidu datoram, lai tas pārāk nepārpūlas un neglabā skaitli 89 lielā lapā kā attēlu vai kā vienu no 1024 bināriem skatļiem, kas šai lapai iedalīti atmiņā. Ja grib līst vēl dziļāk un tuvāk tai iekārtai, kas ar to visu strādās, tad jāpēta shēmas, kā padod datus, kā komandas, cik taktis tas aizņem, ieskatam var paskatīties 4 bitu summatora shēmiņu, cik loģikas elementu tur ir un salīdzināt ar 8 bitu summatoru, reizinātāju vai ko citu. Internetā meklē pēc ..... Un jā, par to jau jāsāk domāt sākumā, varbūt tas būs tas virziens, kas interesēs.

 Binārā loģika nosaka vienkāršas loģiskas likumsakarības. Loģiskais UN (AND) nosaka, ka kombinācija 11 dod izejā 1 un neviena cita. Elektriski tas būtu, ja ir ieslēgts kopējais slēdzis, kas atslēdz visu maju no elektrības un slēdzis istabā, tad lampa spīdēs. Tikai lielā slēdža vai tikai mazā slēdža ieslēgšana neko nedod. Kaut gam, dod gan – pārvērš to bināro primitīvo slēdzi par slēdzi, kuru vari slēgāt cik gribi, lampa nedegs vai arī par tādu, kurā pēc viena slēdža ieslēgšanas būs gaisma. Vēlāk - apraksts par pārējām binārajām shēmam.

Mēģināsim no esošajām zināšanam izveidot algoritmu shēmu zolei. Kā tad aprakstīt ·šo spēli mašīnai saprotamā valodā? Ja mēs rakstām, ka kreica dāma ir visstiprākāā, mēs pamatīgi tērējam baitus. Katrs burts aizņem baitu. Pat, ja mēs rakstīsim D1, D2, D3, D3, V1 utt. mēs aizņemam 2 baitus, pie tam mums vēl mašīnai jāpasaka, Kura stpirāka, tātad vēl vajadzēs baitu un cik katrai vērība stiķī. Cilvēku valodā - kreica dāma, stiprāka trumpe, punkti stiķī 3, ja prasa trumpi un tā ir vienīgā palikusi - jāliek, ja ir citas trumpes - var likt šo vai citu. Saprotamos burtu simbolos tas būtu šādi TR14P3PR0, 1 vai 2 - tātad, pavisam 14 trumpes, 14 ir vilsilielākais skaitlis, kas nosaka, ka stiķī salīdzinot TR14 ar TR9 (pīķa kalps) , 14 ir lielāks un stiķis savāc tas ar kreiceni. 

Aprakstīsim mums saprotamos simbolos vienu gājienu un vienu stiķi. Pīķa dūzis jau ir savācis stiķi, paņemot kungu un devītnieku. Mazais iziet ar pīķa desmitnieku, otrs mazais uzkrāmē erca dāmu un lielais kreica dāmu. Kā tas izskatās burtu simbolos, kurus mēs tomēr varam izlasīt un saprast?

PK10PR - pīķa desmitnieks, pirmais gājiens, pieprasa pīķi PR prioritāte

TR12P3PR0 - mazais uzsit ar erceni, 12 ir mazāk par 14 un 13 salīdzinājumā, bet vairāk par visām pārējām TR trumpēm, tai ir 3 punkti stiķi, PR prioritāte ir nulle, jo pīķu nav, var likt, ko grib, mašīna neprotestēs par noteikumu pārkāpumu

TR14P3PR0 - lielais pārsit ar kreiceni, 14 ir vairāk par 12, stiķis lialajam un gājiens, izejot ar jebkuru karti, tai klāt nāk prioritate - PR. Izies ar trumpi - prasa trumpi, jaliek, ja nav, var likt ko grib. Izies ar ercenu - prasa ercenu, ja nav, var likt trumpi vai citu kaut ko, piemēram kreica kungu.

(trumpes tiek apzīmētas ar TR un numuriem, lai nerasois juceklis, jo kreica dāma ir trumpe, bet dūzis, kungs, demsitnieks un devītnieks pieder kreiciem, kuriem nav nnekāda sakara ar kreica dāmu.)

Tātad, lai noskaidrotu stiķa piederību, jāsalīdzina PK10, TR12 un TR14. Algoritms ir tāds - ja stiķī ir viena kārts ar simbolu TR, tad stiķi paņem tas spēlētājs ar šo kārti. Ja divas vai trīs ar simbolu TR, tad salīdzina sekojošo skatli. Ja vēlas, to visu var uzrakstīt if elese if formā, palasiet, kas tas ir C++ valodā.

Lai noskaidrotu stiķa punktu summu, trumpēm ņem skaitli, kas ir aiz punktu simbola P. Kreiciem, pīķiem un erciem šis skaitlis ir tieši aiz PK, ER vai KR, aiz skaitļa nāk prioritātes simbols. Tur var smuki sazīmēt visas loģikas bultiņas un simbolus. Protams, ak aktram simbolam ar citu programmu pielīmē klāt bildīti un uz ekrāna mēs klikšķinam uz kreicenes bikdes, nevis uz simbola TR14P3PR0. 

Protams, ka visas 26 zoles kārtis var kodēt ar burtiem vai skaitļiem

 a būs kreicene, c būs ercene un p būs pīķa desmitnieks. Stiķis izskatīsies smuki - acp, bet ej nu zīlē, kas soreiz ir zem tiem burtiem paslēpts, lasot vairākas lapas, uzskatāmība nebūs nekāda labā, vislabākā, protams, būs ar kāršu bildēm. Pie tam tāpat tā noteikumu loģika kaut kur būs jāieraksta, ja a ir stiķī, tad stiķis aiziet a īpašniekam, ja a īpašnaiekam ir prasītais pīķis, nekādu a llikt nevar un a punktu vēriba stiķī ir 3.    

Ja simboli ir burti, tad  Dāmas abcd Kalpi efgh Kāravi ijklmn Pīķi oprs Kreici tuvz Erci xyqw

Cipari Dāmas 25,25,24,23  Kalpi 22,21,29,19  Kāravi 18,17,16,15,14,13 

Kreici 12,11,10,9  Pīķi 8,7,6,5   Erceni 4,3,2,1  

 Ja nedaudz padomā, var arī to visu dabūt iekšā vienā baitā, galu galā kārtis ir tikai 26, bet varianti - 256

Kārts stiprums, punktu skaits un prioritāte vienā baitā

Trumpes

Dāmas

Kreicene       11000110 ; pēc stipruma, pirmie divi biti 11 - 3 punkti

Pīķene          11000100 

Ercene          11000010 

Kāravene      11000000 

Kalpi

Kreica kalps  10000110 ; pēc stipruma, pirmie 2 biti 10 - 2 punkti

Pīķa kalps     10000100 

Ercena kalps 10000010 

Kārava kalps 10000000 

Kāravi

Dūzis             01001011 ; pēc stipruma, pēdējie 4 biti - 1011 - 11 punkti 

Desmitnieks   01001010 ; 1010 - 10 punkti

Kungs            01000100 ; 0100 - 4 punkti

Devītnieks      01000011 ; pēc stipruma, bet bez punktiem pēdējos 4 bitos

Astotnieks      01000010 ; apstrādā un ignorē pēdējos 2 bitus punktu skaitīšanai

Septītnieks     01000001 ; ja sākas ar 01 un tad ir 0000

Tās būtu trumpes.

Trumpes 11, 10, 01 pirmie divi biti no kreisās puses. 

Tūlīt pēc stiķa ņemšanas tiek skaitīti punkti, kas attiecīgi dāmām un kalpiem nolasās kā 11 un 10 binārā formā un decimālā - 3 un 2 attiecīgi, bet kāraviem - no pēdējiem 4 bitiem  1011 - 11 punkti Kārava dūzim, 1010 - 10 punkti Kārava desmitniekam un 0100 - 4 punkti Kārava kungam

Kārava devītnieka, astotnieka un septītnieka pēdējie divi biti punktu skaitīšanā tiek ignorēti, tie vajadzīgi tikai kāršu stipruma noteikšanai.

 Kreici

Dūzis            00111011 ; pēc stipruma, pēdējie 4 biti - 1011 - 11 punkti 

Desmitnieks  00111010 ; 1010 - 10 punkti

Kungs           00110100 ; 0100 - 4 punkti

Devītnieks     00110000 ; 0 punkti

 

Pīķi

Dūzis            00101011 ; pēc stipruma, pēdējie 4 biti - 1011 - 11 punkti 

Desmitnieks  00101010 ; 1010 - 10 punkti

Kungs           00100100 ; 0100 - 4 punkti

Devītnieks     00100000 ; 0 punkti

 

Erceni

Dūzis            00011011 ; pēc stipruma, pēdējie 4 biti - 1011 - 11 punkti 

Desmitnieks  00011010 ; 1010 - 10 punkti

Kungs           00010100 ; 0100 - 4 punkti

Devītnieks     00010100 ; 0 punkti

 Šeit attiecīgi, 0011, 0010 un 0001 nosaka ATBILSTĪBU kreiciem, pīķiem  un erceniem, nevis to, ka kāds no tiem ir stiprāks par otru.

 Un proti, ja kāds iziet ar šādu kārti, tad pretinieka kārtīs meklē atbilstību un ja tā ir, tad pieļaujama tikai attiecīgās kārts ( vai kāršu - 2 vai 3) dalība stiķa izspēlē.

Ja tās nav, tad pieļaujama jebkura cita kārts, pie tam stiprākā trumpe savāc stiķi, bet jebkura cita masta  kārts ir vājāka par prasīto un tikai piemet punktus vai atmet lieko.

 Te var diezgan skaidri apjaust galveno dilemmu - kas ir ērti mašinai - vienas kārts īpašības ietvertas vienā baitā (astoņu vienninieku vai nullīšu kombinācijā) un divu kāršu stipruma salīdzināšana praktiski nozīmē pusbaita komparatora funkciju, ko maksimāli ātri var veikt diezgan vienkārša shēmiņa electronics-tutorials.w s/combination/comb_8.html taču cilvēkam tās nullītes un vieninieki tā vien ņirb acu priekša un nekā nevar saprast. Toties, uzrakstot kārts simbolu TR12P3PR0 , kur no iepriekšteiktā var saprast, ka tā ir erca dāma, punkti ir trīs, ja citai kārtij TR cipars būs lielāks par 12, stiķi ar sito dāmu nedabūsi, ja mazāks, dabūsi un vari to stiķi ņemt vai neņemt, jo trumpi neprasa, bet tur ir veseli 9  simboli un katrs aizņem baitu!

Protams, ka parasti jau nekas tāds nenotiek, loģika tiek pierakstīta ar lasāmākiem simboliem. Taču, ja vajag sistēmu, kas darbojas ātri, primārā loģika - kas stiprāks, ko prasa, kas jāliek, cik punktu - tad tieši šajā līmenī tas arī tie risināts. Bildītes un karšu galvu pielīmē pēc tam, Protams, pilnai ainai vēl vajadzētu zināt attiecīgā datora vai mikrokontroliera arhitektūru, kas notiek ātrāk un kas prasa mazāk resursu. Kārtīgā datorā ar SSD diska ātrdarbību, pāris Gigabaitu operatīvo atmiņu un 3 gigahercu procesoru tās kārtis var mierīgi ieskenēt kā attēlus, kā tādus arī atpazīt, pilnos teikumos pierakstīt klāt, cik tās ir stipras un cik punktu tām ir, visu to atpazīt un salīdzināt un viss notiks pietiekami ātri, lai spēle nebremzētu.

Tas viss pagaidām attiecas uz vidi, kurā· var spēlēt kārtis un dators to nodrošina, tāpat kā noteikumu ievērošanu, lai neviens neblēdās un ar trumpi neņem stiķi, ja ir tas prasītais erca dūzis vai devītnieks. Par mašīnu, kas pati apsver gājienu, būs vēlāk. Kaut gam - kāpēc vēlāk? Tepat arī turpināsim pēc pāris atsaucēm uz ciriem pieleitojumism.

Ne ar ko īpaši neatšķirsies binārie kodi, kas vadīs vienkāršu virpu, kas nepretendē uz pārāk sarežģītām darbībām, bet gādā par vienveidīga darba darīšanu, lai tas nav jādara cilvēkam un tas var slinkot, filozofēt un kaut ko izgudrot, Kas tad būtu te jāņem vērā? 

Būtu jāzin datu tipi. 

int- integer ("vesels skaitlis"), kura vērtības var būt no -2147483648 līdz +2147483648 - integrer sastāv no četriem baitiem (32 bitiem) ar skaitli, kam max vērtība ir 256*256*256*256 = 4294967296, negatīvām vērtībām dalīta uz pusi un 1 bits zīmes saglabāšanai.

float-peldošā punkta skaitlis, var saturēt skaitļus ar punktu (pī - 3.141592), saglabā skaitli 3141592 un punkta atrašanās vietu šajā skaitlī. Sastāv arī no 4baitiem (32bitiem).

double- dubulti precīzs peldošā punkta skaitlis, aizņem 2x vairāk vietas. 8 baiti (64bitiem).

char-character, satur simbolu (piem. 'a','<'), viens char mainīgais aizņem 1 baitu (8biti).

bool-boolean var būt tikai 0 un jebkurš skaitlis, kas nav nulle (jeb true un false), atmiņā tas aizņem 8bitus.

 Lai domātu algoritmiski, pagaidam nekādas programmas nav jaraksta. Protams, tad, ja tiešam grib iemācīties domāt algoritmiski. Ir jāzin datu tipi, iespējāmās drabības un pārveidojumi un daži paraugi, ko var darīt ar datiem.

Jāpalasa, kas ir decimālā, kas binārā sistēma, kas ir astotnieku un sešpadsminieku skaitīšanas sistēma un jāsaprot, ka to visu var pārveidot vienu otrā un atpakaļ. Un atkal - var paskatīties kodus, kā to dara, bet atturēties no jel kādas iedziļināšanās pašā programmēšanas procesā un skriešanas uz priekšu, kamēr algoritmiskā domāšana vēl nav nostiprinājusies! Jaunais censonis jau sen ir nopircis gatavu līnijsekotāja modeli, bez jēgas par elektronikas procesiem to visu ir saspraudis kopā, nevienu mirkli nav veltījis fizikālo procesu izpratnei, iespējām uzlabot pašu sensoru novietojumu un dublēšanas principus, kaut ko gatavu ir nospiedis no interneta, vai uzprogrammējis primitīvu programmiņu un lepojas ar sasniegumiem.

Tāpat vēlams palasīt, ka praksē realizē dažādu datu apstrādi un pārveidošanu - kas ir krāsa, kas ir 8 bitu melnbaltais punkts un uzreiz padomāt par algoritmiem - iedomāties attēlu, kas sastāv no 8x8 melnbaltiem punktiem un attēls jāpagriež par 90, 180, 45, 8 grādiem, kādi dati kur jāpārvieto un tiaki tad, caur algoritma izpraatni no nākt pie matricu procesiem C++ valodā. Tas pats ar skaņu, darbgaldu komandām un datu apstrādi, tuvojoties sajēgai, kas un kā tur darbojas un tikai pēc tam, kā to sauc programmētāju valodā. Ja sšie procesi būs skaidri, pat nemākot programmet, būs zināšaans, ko īsti var no programmām gaidīt un tad tas būs kvalificēts un domājošš uznēmējs, aks pratīs noformulēt domu un pasūtīt tieši to, ko vajag, nevis e-veselības variantā - kaut ko kas kaut kā strādā.

Atgriežamies pie zoles Mēgināsim algoritmiski izprast kādu no zoles gājieniem un šoreiz mašīna domās, nevis tikai uzturēs vidi un noteikumus. Izpēlēsim standarta situāciju ar vairākiem atrisinājumiem un paskatīsimies, kas sanāks. Mašīna būs lielais, mazais iziet ar kungu, lielajam tāda veida kārts nav, ir liekais devītnieks no cita masta. Variants - atmest lieko devītnieku, paņemt ar kārava dūzi vai paņemt ar citu trumpi. Situācijas izvērtēšanai nepieciešamie dati.- ko lielais noraka, bija tas masts vai ne, cik lielajam trumpes un kādas, varbūt pīķa kalps ir lielākā trumpe un pilns ar kāraviem.

Lielais ir ņēmis galdu kā pēdējais ar septiņām mazām trumpēm, uzcēlis divus desmitniekus, tos arī noracis un ja izdotos ar savu kārava dūzi paņemt stiķi, vismaz jaņi būtu garām. Mazie galdu nav ņēmuši, diez vai kāds ir tā kodis, ka neņem galdu ar dūzi un ar 5 vai 6 lielām trumpēm, ar kurām tas varētu visu laiku iet caur lielo un otrs mazais tik piemestu desmitniekus un dūžus punktiem, gan jau atlikušās 7 lielās trumpes ir sadalītas daudzmaz  līdzīgi, ir cerība tās sasist kopā, izejot ar mazajiem kāraviem.

Pirmais variants - ņemt ar kārava dūzi. Ja pēdējais gājeins lielajam - droši jaņi  ārā, ja otrais - var arī nebūt un platais ir iztērēts. 

Otrais variants - ņemt ar kādu kārava septītnieku. Ja lielajam pēdējais gājiens, nav jēgas, ja ir kārava dūzis, jo mazāk punktu. Ja otrais gājiens, ir jēga - risks zaudēt savu karava dūzi ar punktiem un nebūs ko uzlikt  citā stiķī. Vēl jāskatās, ko mazie sametīs - kungu un devītnieku vai kungu un  atmetuši citu kungu. Ja pēdējais gājiens un punkti jau ir samesti - 8+11 jau ir 19 punkti, kopā ar diviem desmitniekiem - 39 punkti. 

Un tā talak, visi varianti , ja ir kādas stiprākas trumpes, kas notiek spēles gaitā, ja kādam mazajam beidzas trumpes un tas sāk uzmest punktus mazo stiķiem, ko tad, ja vinam to punktu ta nav utt. Kā to visu pateikt mašīnai? Mēģināsim ar tiem burtu simboliem no sākuma, labāk varēs saprast.

Vispirms saskaitam, cik ir punktu. 20. Kas bija jadara, lai to iegūtu. PK10 un ER10. Programmēšanas valodā te ir jāatšķir burti no skaitļiem. Skaitļa simboliskais apzīmējums "1" un "0" jāpārvērš par skaitli 10, tas pats jāizdara ar otru "karti" un tad javeic parasta decimāla, nevis bināra skaitļu saskaitīšana un jādabū 20. Tad ir no 31 jāatņem 20, iegūst 11 un katrs iespējamais stiķis jāizskata šādā perspektīvā - vai tas palīdz lielajam ar savām mazajām trumpēm tikt laukā no jaņiem? Tātad vai iespējamais punku skaits >= 11. Jā jā, tad jāņem un jāliek tas kārava dūzis.

Visas iespējamās loģikas apraksta vārdiski un/vai sazīmē rombiņus, aplīšus un kvadrātus ar bultiņām. Papūlieties paši un to izdariet un tikai pēc tam meklējiet, kā daļu no string tipa datiem pārveido par integer datiem.

cplusplus.co m/forum/general/13135/

angliski meklē to convert between string and int

Riktīgi pačakarējies, pamēģini kaut ko atrast latviski un mēģini apmēram saprast, cik rindiņas vajadzēs, la aprakstītiu visus variantus, arī to, ja lielajam nācies norakt trumpi un tas desmitnieks vai cits punktu skaits jāiegūst no simbolu virknes, kur ir vairāki iespējamie integer datu varianti, jo trumpes mūsu variantā mēs sarindojām pēc stipruma. Zolmanis, tehniski izprotot gājienus, visas iespējas rombiņos un bultiņās var sazīmēt un tad uzrakstīt pašu vienkāršāko kodu - kāds izgāja ar kārava devītnieku un kāds cits to stiķi savāca ar ercena kungu. Programmatiski jāsalīdzina TR3  ar TR8.  Astoņu nullīšu vai vieninieku variantā to dara ar bitwise operations, būs jāsalīdzina  00010100 ar 10000010 

Šeit var skaidri nojaust, ka spēja kombinēt un izdomāt variantus nav tas pats, kas valodas peielitojuma un paraugu zināšana. Manuprāt, sajā vietā topošajam programmetajam, kurš zina datu tipus, bināro loģiku un interesējas par mašīnas arhitektūru un tās ērtībām, vajadzētu individuālu mentoru, kas palīdz šos rombiņus un bultiņas pārvērst kodā. Šī secība ir ļoti svarīga, jo sākuma procesi nosaka tālāko programmētāja domāšanu. Ja secība ir - no reālās darba vides uz algoritmu un tad uz kodu, tad tas būs programmētājs vai vismaz ļoti kvalificēts projekta vadītājs vai pasūtītājs, kas neignorēs nīstos fizikas likumus, vidējā lietotāja realitāti uztvert un kaut ko precīzi lietot un atrast un banālas pamatzināšanas par elektorniku un slēdžiem, kas dod divus vai trīs impulsus viena vietā, saprast rezerves barošanu mikrokontrolierim, kas vismaz nenojauc visu pamatprogrammu un tamlīdzīgus sīkumus, ko modernie programmētāji diezgan bieži ignorē.

Taču daži dara tā - nekādos bināros procesos neiedziļinās, bliež pa taisno, strādā ar kilobaitiem tur, kur varbūt vajadzētu pieaicināt kādu, kas uzrakstīs programmu, kas strāda desmit reizes ātrāk. Protams, gigahercu procesori ir pamatīgi visus izlaiduši, parasti jau nekas tāds nenotiks, taču šad tad tāda domāšana rada īpašus šedevrus, kas bremzē datu apstrādi un pārraidi un programmas vispār ir ne tik drošas. Domājot par to, kāpēc e-veselībā tik ilgi jāgaida, kamēr viss notiek, jāmēģina algoritmu un tehnikas līmenī izprast, kur ir problēma. Varbūt zāļu reģistra datu bāzei jāātrodas datorā jau sākumā, nevis tai piekļūst tiešsaistē, tad varētu atruma problemas nebūt, jo tad meklēšana nenotiem caur ārējo savienojumu. Šie visi faktori ir jāapsver.

Mentoru vajag tāpēc, ka meklējot jau pieminēto 8x8 punktu attēla apstrādes programmu, būs kaudze gatavu risinājumu, kurus var ielādēt, piekombinēt kaut kam jau esošam un izmantot, bet īstie procesi paliks nesaprasti. Tam jābūt ļoti kvalificētam programmētājam, kas prot risināt šādus uzdevumus nevis pārkopē gatavas programmas.

Kā nu tās domas rodas, tā arī rakstu, varbūt vēlāk pārrakstīšu, bet šis oriģhināls arī tiks atstāts.

Jau minēju, ka algoritmu domāšanai jāsaprot datu tipi, iespējamas darbības un reālā procesa maksimāli pilnīga izpratne. Vēl svarīgs aspekts ir saprast, ko praksē nozīmē dažādi procesi - datu pārsūtīšana, organizēšana, kārtošana, atrašana, salīdzināšana, kas ir mūzikas , attēla, teksta fails, kā tas tiek glabāts, atrasts, kārtots, atainots uz ekrāna, atskaņots skaņu sistēmā, apstrādāts ar dazādiem algoritmiem.

Programmēšanas valodā apgūstot sintakses paņēmienus, lai tā programma reāli strādātu, tā domāšana konfliktē ar algoritmisko un dabaszinātņu uztveri. Dabaszinātnēs izmanto mērvienības un dažas no tām apzīmē kaut kādas vienas mērvienības attiecības ar citu mērvienību. Metrā, piemēram ir 1000 milimetru un kilogramā ir 1000 gramu. Pieņemsim, ka esam, uzrakstījuši C++ valodā mazu programmiņu, kas rēķina kaut kādam sveramam un mērāmam tehniskam produktam attiecīgā izmēra detaļas cenu un svaru. Tās var būt dzelzs, alumīnija vai baseinu polipropilēna plāksnes, vielu blīvumi ir zināmi, plākšņu biezums milimetros būs jāievada un vajadzīgais laukums arī.Programmējot visi mainīgie un konstantes ir jādefinē (iepriekš jāpasaka, ka viņi tur būs un tikai tad var rakstīt formulu, kāda būs cena, ja pirks 10 kvadrātmetrus 6 mm biezu polipropilēna plāksni). Tad nu tas 1000 tur parādīsies kā konstante, kad būs jāpāriet no milimetriem uz metriem vai no kilogramiem uz gramiem, kā nu vajadzēs. Reālajā pasaulē ir skaidrs, kad tas tūkstotis attiecas uz metru pārrēķinašanu milimetros un kad uz gramu pārrēķināšanu kilogramos, bet programmējot to var izmantot abējādi. Pēc tam lasot programmu, ja aiz // simboliem komentāros, kas neietekmē pašu programmu, bet palīdz to saprast, ja tur nebūs skaidrojums, ka te formulā konstante attiecas uz laukumiem, bet te – uz kilogramiem, tad uzreiz tā programmas lasāmība un uztveramība vairs nav tik laba.

Ir vairāki piemēri, kā atšķiras tā domāšana domājot algoritmiski un domājot par sintaksi. Tos kaut kad vēlāk.

Vai par šādiem jautājumiem būtu jādomā programmētājam, kas darīs melno darbu un desmitiem stundu ņemsies ar to visu, ko viņam nolikuši priekšā, kas jādabū programmā, lai tas reāli strādātu? Droši vien, ja ir labs projekta vadītājs, viņš par šiem jautājumiem tik daudz nedomā. Tomēr viņam vajadzētu būt sapratnei par reālo procesu analīzi, algoritmu svarīgumu un nebūtu jābūt problēmai noskaidrot neskaidros jautājumus, ja kaut kas primārajā procesa uztveres stadijā un algoritmu shēmiņu stadijā viņam nav skaidrs.

Laikam jāsaliek visas lielākās IT un elektronikas lažas vienā vietā, lai pec tam varētu tās visas bitu, baitu, programmēšanas un elektoronikas izstrādes pārdomas rakstīt bez pārtraukumiem. 

skaties.lv/auto/svariga-informacija-tiem-soferisiem-kuru-auto-aprikots-ar-keyless-go-sistemu/

www.lsm.lv/lv/raksts/latvija/zinas/aizvien-vairak-zog-jaunas-ar-bezatslegas-sistemu-aprikotas-masinas.a233813/?

Kā tad varēja šāda te problēma rasties - ar Keyless Go sistēmu un starta pogu aprīkotās automasīnas zog!

 

Turpinājums sekos.

 

sahaaeajsk

 

Viņš paskatījās pa logu. Tur kāds kaķis pa gājēju pāreju pie zaļās gaismas kārtīgi šķērsoja ielu. Uz loga rūts ūdens piliens sāka zīmēt neparedzamu trajektoriju, savācot savā ceļā citus ūdens pilienus. Ha, neparedzamu! Kā tad! Profesors Jansons ar savu algoritmu teoriju un domāšanas veidu būtu noteikti paprasījis, kādi faktori to visu ietekmē. Varbūt kaut ko mēs tomēr varam prognozēt? Kāpēc tās ūdens piles uz loga ir tur, kur tās ir? Kas ietekmē to lielumu? Kā dabūsiet aprēķinos Saules ietekmi un vēju? Vai tagad ir ziedēšanas laiks un gaisā ir putekšņi? Kas un kā tīrīja to stiklu? Vai tā nav rūpnieciskā piesārņojuma zona vai pilsētas nomale? Un tā tālāk. Pat tagad pēc trīsdesmit gadiem viņš atcerējas šo domāšanas veidu, lai uztvertu sākuma nosacījumus. Viņam pašam šajā tēmā bija stabils “labi”. Jums sanāk, Valdiņ, bija teicis Jansons. Piestrādājiet pie sīkumiem un kopainas. Mācieties no Petrika!

Petriks tur būtu sazīmējis 2 lapas. Viņš noteikti būtu salicis kopā faktu, ka uz loga ir ūdens piles ar to, ka zāle varbūt ir slapja un izdomājis, ka kaķis ievēro noteikumus nevis tāpēc, ka tos zina, bet tāpēc, ka ietve pie pārejas ir sausa un ķepas arī paliks sausas, ja neies pa zāli. Zaļā gaisma tik un tā ir ieslēgta kādu laiku un tā nu ir sakritis, ka tas lopiņš iet tad, kad viņš iet. Nejauc cēloņus ar sekām un vienādu darbību ar vienādu algoritumu izpildi, Jansons būtu atgādinājis, viltīgi smīnot. Petriks arī būtu eleganti atgriezties atpakaļ pie loga, atstājot atzīmi, ka šie notikumi varbūt ir saistiti ar šo vienu it kā sīkumu. Vienmēr atstājiet atzīmes, lai paši pēc tam varētu atcerēties, kāds, pie velna, sakars ūdens pilēm ar kaķi. Gan programmā par logu, gan programmā par kaķi. Tā būtu teicis Jansons un ar plašu žestu ielicis Petrikam automātisko ieskaiti visā kursā.

Petriks tagad braukāja pa pasauli un meklēja kļūdas dažādās programmās un vienlaicīgi paralēli vadīja vai konsultēja dažādus projektus to sākuma posmā, kad ir svarīgi precīzi uztvert visus faktorus, kas vēlāk atspēlēsies, ja tas nebūs izdarīts. Viņam bija daudz darba, tomēr kaut kā viņš iemanījās vismaz 2 mēnešus gadā nestrādāt nemaz. Viņš bija saticis Petriku pirms gada Latvijā un abi bija iedzēruši alu un kādu stundu pļāpājuši par visu ko.

Viņš sēdēja pie loga uzņēmuma B&NT IT Solutions iknedēļas pirmdienas sanāksmē. Pirmais ziņotājs – kāda projekta vadītājs nupat bija beidzis savu ziņojumu. To viņš nebija pārāk uzmanīgi klausījies, jo zināja par projektu, jo pats bija iesaistīts sākuma posmā un to ziņojumu daļēji sastādījis. Nekādu jautājumu nevienam nebija un tad nāca nākamais runātājs.

Tas nu gan nebija nekas līdzīgs Petrikam. Vispirms tas bija kādus piecpadsmit gadus jaunāks un varētu būt viens no tiem, kas būtu sūdzējušies rektoram, ka Jansons viņiem apnicis ar saviem izdomātajiem piemēriem un nevar saprast, ko viņš grib. Pieredze valsts darbā Valdi bija izmācījusi ar šādiem personāžiem, kuri nezin kāpēc ieņem, sev neatbilstošus amatus, sarunāties uzmanīgi. Kādā sakarā šis te vispār vadīja kādu projektu un uzstājās sanāksmes pirmajā daļā?! Viņi jau bija strīdējušies kādā sanāksmē par kādu projektu. Valdis zināja, kā jaunais vadītajs domā un saprata, ka neko tādu vadīt viņš nevar.

Jaunā projekta vadītāja ziņojums par projektu bija vienkārši katastrofa. Viņa izpratne par sākuma procesu bija, maigi izsakoties, stipri nepietiekama. Tur mēs paņemsim šito, salipināsim ar to, tas ir līdzīgs tam, to mēs jau darījām, būs labi. Tendence deleģēt citiem nopietnus uzdevumus un nepārraudzīt kopējo procesu bija sasniegusi jau nopietnus apmērus un reāli kaitēja tiešajam darbam. Sabojāto telefonu princips, bija teicis Petriks.