1. Mērvienību pārrēķināšanas kalkulators

Aplūkosim tipisku uzdevumu, kas rodas autovadītājam Latvijā, kad tas nopircis lietotu auto no ASV. Problēma ir mērvienības dažādos paneļa rādījumos, piemēram, atālums tiek uzrādīts jūdzēs (miles), ātrums - jūdzēs stundā (mph - miles per hour), degvielas patēriņš - jūdzēs uz galonu. Lai saprastu, kas notiek, Eiropas cilvēkam vismaz sākumā ir šie skaitļi jāpārrēķina uz km, km/h, l/100km.

 

Aplūkosim ātruma pārveidošanu no mph uz km/h. Tā kā viena šajā sakkarā lietotā jūdze ir 1,609344 km, tad ir viegli ieraudzīt formulu: ātrums_LV = ātrums_US * 1,609344 (zvaigznīte * ir reizināšanas simbols programmēšanas valodās).

 

Programmu veidosim tā, ka katru reizi pēc atstarpes taustiņa nospiešanas var veikt jaunu aprēķinu, zaļo karodziņu atkārtoti nespiežot. Līdz ar to vienkāršākais šādas programmas koda variants dots 1. attēlā, tomēr tam ir vismaz viena būtiska nepilnība - rezultāts nav noapaļots.
 

Scratch kods mph uz km/h

1. att. Scratch kods v.1 mph uz km/h.


Lai rezultātu noapaļotu līdz 2 cipariem aiz komata, ir jāizveido neliels algoritms, jo Scratch iebūvētā noapaļošana noapaļo veselos skaitļos. Algoritma ideja ir vienkārša: vispirms skaitli pareizinam ar 100, tad noapaļojam un tad izdalam ar 100. Skat. 2. att., tajā dalīšana (/) nav pievienota 'mainīgais2' izteiksmei, bet nākamajā rindā, lai parādītu, ka Scratch pieļauj aritmētiskās darbības arī operatorā teikt (say).

 

Scratch kods v.2 mph uz km/h.

2. att. Scratch kods v.2 mph uz km/h.


Tā kā jebkuru programmu vienmēr var pilnveidot, tad pievienosim pārbaudi, vai lietotāja ievadītie dati vispār ir skaitlis. Ja to neizdara, Scratch atgriež rezultātu nulle, bet citas programmēšanas valodas nav tik saprotošas un tajās ievaddatu pārbaude ir ļoti vēlama. Kā viegli ieraudzīt, pārbaudes algoritms var būt vienkāršs: ja 'mainigais1'*1='mainigais1' , tad ievadīts ir skaitlis, citādi gariņš saka, ka nebija skaitlis; jo burtu virkni reizinot nekas nesanāks- Scratch iekšienē būs kļūdas ziņojums, un tas nebūs vienāds ar ievadīto burtu virkni. Skat. programmiņas gala versiju 3. un 4. att. 


Scratch kods v.3 mph uz km/h.

3. att. Scratch kods v.3 mph uz km/h.


http://scratch.mit.edu/projects/25680429/

4. att. Programmas saskarne.


Tā nu sanāca, ka šajā programmiņā tika pielietoti 2 mazi algoritmi, viens - noapaļošanai, otrs- ievaddatu pārbaudei.

 

Programmiņu var padarbināt tiešsaistē: http://scratch.mit.edu/projects/25680429/


UZDEVUMI:

1. Izveido programmu, kas rēķina pretēji - km/h uz mph.

2. Izveido programmu, kas rēķina degvielas patēriņu mpg uz l/100km, pārveidojumiem nepieciešamos datus var atrast tiešsaistes resursos (1 Mile per gallon = 235.214583 l/100km).