Jump to content

Kā sauc veselus skaitļus, kurus nevar iegūt no iepriekšējo skaitļu summas?


Konko
 Share

Recommended Posts

Tā nu ir sanācis, ka esmu informātikas skolotājs un šobrīd 12.klašu skolēniem jātaisa ieskaites darbs programmēšanā. Līdz šim apguvām Pascal, bet ieskaites darbs būs VBA.

Un man ir jāatrod tie risinājumu varianti, ko saprotu ne tikai es, bet kurus es jūtu, ka varēšu ieskaidrot arī skolēniem.

Variants ar skaitļu piesaisti čekboksiem man šķiet pietiekami vienkārš un ceru, ka tā nav rupja kļūda.

Paldies par ieteikumiem.

Link to comment
Share on other sites

  • Replies 101
  • Created
  • Last Reply

Top Posters In This Topic

  • Vilx-

    25

  • bubu

    5

  • Konko

    40

  • nullchar

    6

Top Posters In This Topic

Guest ADEX

Tā, kā to centies pasniegt tu, tā ir rupja kļūda. Skolā tā mācīt nedrīkst. Tā var programmēt sava prieka pēc.

Link to comment
Share on other sites

Kāpēc labi programmētāji nestrādā par skolotājiem.

Ir divi iemesli:

1.Alga

2.Lielākā daļa skolēnu ir nesekmīgi un neko no programmēšanas nesaprot. Savukārt bērnu vecāki čakli savāc parakstus vēstulei uz ministriju.

Rezultāts. Skolās strādā tie kas prot pasniegt programmēšanu skolēniem saprotamā veidā. Zinātniskā puse starp citu tiek ignorēta praktiski visos mācību priekšmetos. Ja jāizvēlas starp zinātniskumu un pareizību un saprotamību, kā likums izvēlas saprotamību. Tāda ir bijusi un būs skolas būtība.

Tikai augstskolā var atļauties faktu, ka puse kursa programmēšanas dēļ pamet studijas.

Mani pieminētie fakti ir realitāte. Gan konkrētas skolas, gan konkrētas augstskolas.

Labots - Konko
Link to comment
Share on other sites

Guest ADEX

Vilx- variants ir saprotamāks. Ja kādam liekas citādi, viņam nav pat vērts sākt mācīties programmēt.

Ar šiem skaitļiem ir jāstrādā kā ar atsevišķiem bitiem. Iedomājies skaitli kā atsevišķus bitus, kur katrs bits atbilst vienam čekboksim, mož kļūs saprotamāks tas, ko Vilx- centās pateikt.

Labots - ADEX
Link to comment
Share on other sites

Intereses pēc rīt pamēģināšu to variantu. Pirmais ko viņš piedāvāja negāja. Dziemžēl VBA iet tikai tad ja ir aptvertas visas iespējamās kombinācijas.

Ar skaitļiem man ir 100% garantija, ka tā arī būs. Uzrakstu visus uz papīra un nodefinētos variantus pamazām izsvītroju.

Šobrīd 5 čekboksiem varu to uztaisīt dažās minūtēs. Ja ar zinātnisko variantu tam paies pāris stundas, tad iztēlojos cik viegli to sapratīs skolēni.

Pascalā pat ar visvienkāršākajām loģiskajām operācijām bija smagas problēmas.

Link to comment
Share on other sites

Guest ADEX

Nu es nezinu, kā tur tajā VBA ir ar tām loģiskajām operācijām, kas jāveic nevis statrp diviem booleaniem, bet starp diviem baitiem, pa bitam. Bet tas noteikti ir saprotamāk. Un pareizāk.

Link to comment
Share on other sites

Skolā māca programmēšanas pamatus. Pēc tam aiziet mācīties par programmētājiem vai kļūst par tādiem tikai daži procenti skolēnu. Bet sekmīgiem ir jābūt praktiski visiem.

Labots - Konko
Link to comment
Share on other sites

Viņiem izmantojot VBA ir jāizveido strādājoša apmācošā testa programma. Jābūt dažādiem atbilžu sniegšanas variantiem - TextBox, Radiopoga, ChekBox u.t.t. Atbildes jānovērtē ar punktiem dažādos variantos. Teiksim - pareiza tikai 1 atbilde; Pareizas 2 no 5 u.t.t. Beigās punkti jāsummē un jāizliek atzīme.

Ieskaites darba izvēle nav stingri reglamentēta. Šis variants dod iespēju daudzmaz vienādi visus salīdzināt un novērtēt.

Katrs skolēns pats var izvēlēties kurā mācību priekšmetā šis VBA tests tiks veidots. Kā arī dažādi kombinēt jautājumu un atbilžu variantus.

Link to comment
Share on other sites

Cik redzēti iesācēju darbi programmēšanā, es teiktu, ka ar saprašanu šajā gadījumā ir šādi (sakārtots no visnesaprotamākā uz vissaprotamāko):

  • Binārā sistēma un bitu operācijas;
  • Citas savstarpēji izslēdzošās virknes (nosaukumu pats nupat izdomāju) - piem. 1, 10, 100, 1000...
  • Milzīgi samežģīti IF'i. Šermuļi pār kauliem skrien reizēm, skatoties, kādi IF'i ir sarakstīti. :D

Kā noproti, es tomēr joprojām iesaku izmantot IF'us, kuros ar AND'iem, OR'iem un NOT'iem (XOR varbūt var izlaist) ir kopā kabināti CheckBox.Value. Tici man - konceptus par IF, AND, OR un NOT Tev būs daudz vieglāk izskaidrot (un tas tāpat būs jādara), nekā vēl papildus mahinācijas ar skaitļiem. Un, jā - padomā pats - šajā gadījumā jebkurā variantā uzdevuma pildītājam vajadzēs spēt izdomāt visus iespējamos variantus, kā tie čekbokši var būt saķeksēti. Vienalga, vai tiks izmantoti CheckBox.Value, vai Tavi skaitļi.

 

Pievienots: Starp citu - nejauksim līdzīgas, bet tomēr principiāli atšķirīgas lietas:

  • VBScript;
  • VBA;
  • Visual Basic līdz 6.0 versijai;
  • Visual Basic.NET

Link to comment
Share on other sites

Velnsviņzin. :p Es puslīdz pazīstu tikai VB.NET. :D VBScript mazliet ir aiztikts, bet VBA un VB 6.0 (un jaunāki) gan ne. Nē, nu, patiesībā, sensenos laikos (pirms kādiem 10 gadiem) esmu arī mazliet kaut ko mēģinājis tajā VBA taisīt. Cik no tām dienām atceros, tas bija kaut kas diezgan savdabīgs...

 

Pievienots: He, nupat ienāca prātā variants, kādu es sagaidītu skolnieku darbos. :D

IF (NOT CheckBox1.Value AND	 CheckBox2.Value AND NOT CheckBox3.Value AND	 CheckBox4.Value) THEN Result = 2
IF (	CheckBox1.Value AND	 CheckBox2.Value AND NOT CheckBox3.Value AND NOT CheckBox4.Value) THEN Result = 1
IF (NOT CheckBox1.Value AND	 CheckBox2.Value AND	 CheckBox3.Value AND NOT CheckBox4.Value) THEN Result = 1
IF (	CheckBox1.Value AND NOT CheckBox2.Value AND NOT CheckBox3.Value AND	 CheckBox4.Value) THEN Result = 1
IF (NOT CheckBox1.Value AND NOT CheckBox2.Value AND	 CheckBox3.Value AND	 CheckBox4.Value) THEN Result = 1
IF (	CheckBox1.Value AND NOT CheckBox2.Value AND	 CheckBox3.Value AND NOT CheckBox4.Value) THEN Result = 0
IF (NOT CheckBox1.Value AND	 CheckBox2.Value AND	 CheckBox3.Value AND	 CheckBox4.Value) THEN Result = 0
IF (	CheckBox1.Value AND NOT CheckBox2.Value AND	 CheckBox3.Value AND	 CheckBox4.Value) THEN Result = 0
IF (	CheckBox1.Value AND	 CheckBox2.Value AND NOT CheckBox3.Value AND	 CheckBox4.Value) THEN Result = 0
IF (	CheckBox1.Value AND	 CheckBox2.Value AND	 CheckBox3.Value AND NOT CheckBox4.Value) THEN Result = 0
IF (	CheckBox1.Value AND NOT CheckBox2.Value AND NOT CheckBox3.Value AND NOT CheckBox4.Value) THEN Result = 0
IF (NOT CheckBox1.Value AND	 CheckBox2.Value AND NOT CheckBox3.Value AND NOT CheckBox4.Value) THEN Result = 0
IF (NOT CheckBox1.Value AND NOT CheckBox2.Value AND	 CheckBox3.Value AND NOT CheckBox4.Value) THEN Result = 0
IF (NOT CheckBox1.Value AND NOT CheckBox2.Value AND NOT CheckBox3.Value AND	 CheckBox4.Value) THEN Result = 0
IF (NOT CheckBox1.Value AND NOT CheckBox2.Value AND NOT CheckBox3.Value AND NOT CheckBox4.Value) THEN Result = 0
IF (	CheckBox1.Value AND	 CheckBox2.Value AND	 CheckBox3.Value AND	 CheckBox4.Value) THEN Result = 0

Principā tieši tas arī ir - šeit ir uzskaitīti VISI iespējamie varianti, kādos var būt ieķeksēti 4 čekbokši. Pieraksts, protams, ir stipri garš (un tāpēc tajā viegli kļūdīties), toties skolniekiem būs viegli saprotams.

Link to comment
Share on other sites

(labots)

Pārbaudīju abus Vilxs variantus. Neviens neiet. Ja gribētu izmantot tad varētu to īsāko, bet cik saprotu tam ir kļūda ka netiek nodefinēti VISI iespējamie varianti. Līdz ar to kods neiet. Arī garākajā ir kļūdas. Atrast tās un izlabot jau varētu, bet kods ir šausmīgi apjomīgs (vismaz 2 reizes lielāks nekā manējais) un tas nav manuprāt racionāli. Pie tam manam kodam ir viena priekšrocība, ka visiem rezultāta variantiem kods ir saspiests vienā rindiņā.

2 - viena rindiņa

1 - viena rindiņa

0 - viena rindiņa.

Veidojos šo kodu atklāju VBA īpatnību, ka ja vienam rezultātam ir divas rindiņas, kods pārstāj darboties.

Tas ir ja es rezultātam 1 piekārtoju divas loģisko sakarību virknes, kods neiet.

Sarakstīt visas kombinācijas atbilstošas 1 vienā rindiņā ar Vilxs pēdējo piedāvājumu, praktiski ir neiespējami.

Vēl pacīnīšos ar Vilxs īsako variantu.

Pievienoju koda variantu ar 5 čekboksiem, kur pilnīgi pareiza atbilde ir 1, 3 un 5 čekbokss. Kods darbojas ļoti labi. Būtu interesanti vai to ar pareizajiem programmēšanas variantiem var tik vienkārši uztaisīt.

Un atklātis sakot nezinu kur ir mana programmēšanas nepareizība. Galu galā tas pats NOT taču tomēr ir nodefināts, un kas par to, ka ar skaitli - 0! Vai tiešām jāraksta gudri, pareizi un milzīgi nesaprotami un gari? Es savu kodu saprotu pilnībā un varu to izskaidrot pat vismazāk saprotošajam skolniekam.

Private Sub CommandButton1_Click()
If CheckBox1.Value = True Then a = 1
If CheckBox1.Value = False Then a = 0
If CheckBox2.Value = True Then b = 2
If CheckBox2.Value = False Then b = 0
If CheckBox3.Value = True Then c = 4
If CheckBox3.Value = False Then c = 0
If CheckBox4.Value = True Then d = 8
If CheckBox4.Value = False Then d = 0
If CheckBox5.Value = True Then e = 16
If CheckBox5.Value = False Then d = 0

z = a + b + c + d + e
If (z = 21) Then TextBox2.Value = 3

If (z = 5) Or (z = 17) Or (z = 20) Or (z = 7) Or (z = 13) Or (z = 19) _
Or (z = 25) Or (z = 22) Or (z = 28) Then TextBox2.Value = 2

If (z = 1) Or (z = 3) Or (z = 9) Or (z = 11) _
Or (z = 4) Or (z = 6) Or (z = 12) Or (z = 14) _
Or (z = 16) Or (z = 18) Or (z = 24) Or (z = 26) _
Then TextBox2.Value = 1

If (z = 2) Or (z = 10) Or (z = 15) Or (z = 20) Or (z = 23) _
Or (z = 27) Or (z = 30) Or (z = 31) Then TextBox2.Value = 0

Labots - Konko
Link to comment
Share on other sites

nullchar

Kas tieši tev Vilx kodā nestrādā? Tikko VBA pāris min. laikā pārbaudīju un viss notiek... Ieliec formā 4 Checkboxus un 1 Command button un šitādu kodu:

Dim CB1 As Boolean
Dim CB2 As Boolean
Dim CB3 As Boolean
Dim CB4 As Boolean
Dim Result As Integer

Private Sub CommandButton1_Click()
CB1 = CheckBox1.Value
CB2 = CheckBox2.Value
CB3 = CheckBox3.Value
CB4 = CheckBox4.Value
If CB2 And CB4 And Not CB3 And Not CB1 Then
   Result = 2
ElseIf (CB2 Xor CB4) And (Not CB1 Or Not CB3) Then
   Result = 1
Else
   Result = 0
End If
MsgBox Result

End Sub

Kaut arī neesmu nekāds programmētājs, man Vilx variants šķiet daudz loģiskāks un saprotamāks nekā tava saskaitīšanas metode. Vai tad ir tik traki to XOR ieskaidrot skolēniem?

Link to comment
Share on other sites

(labots)

Vēlreiz pārbaudīju visus Vilka ieteiktos variantus.

Neiet un viss. Vajdzīgs lai strādātu un dotu novērtējumu punktos pie jebkuras iespējamās izvelēto čekboksu kombibācijas.

Definējot tās ar skaitļiem, kuri nekad neatkārtojas manuprāt, ir vieglāk nekā ar loģiskajām kombinācijām. Tad visu laiku jādomā vai kaut kas nav palaists garām. Ar skaitļiem - ja man katram skaitlim ir tikai viens rezultāts un ir aptverti visi skaitļi, viss darbojas lieliski!

Esmu ejošu risinājumu atradis un acīmredzot pie tā arī palikšu.

Skolniekiem vienkārši pateikšu, ka no programmēšanas viedokļa mans variants nav labs,

bet tas STRĀDĀ! Un ir ļoti viegli sakombinēt visdažādākos atbilžu un punktu variantus.

Bet paldies par palīdzību visiem!

Labots - Konko
Link to comment
Share on other sites

Nē, nu, OK - dari, kā zini.... lai arī mani pašu interesē, kas gan manā īsajā variantā nestrādāja? (Garajā variantā saprotu, ka varētu būt nokļūdījies). IMHO es tur tomēr uzskaitīju visus variantus...

 

Ā, un vēl viena ideja iešāvās prātā - Tev taču klasē(-s?) ir jābūt arī vismaz vienam diviem ļautiņiem, kuriem šitā štelle patīk, un kuri visu labi saprot, ne? Pamēģini uzdot viņiem šo uzdevumu, un paskaties, kā viņi to atrisinās. Varbūt vēl kāda laba ideja uzrodas!

 

Pievienots: Ē, starp citu - vai tad mācību programmās nav apstāstīts, kādas grāmatas jāizmanto or something? Caur turieni nevar atrast, kā mūsu bāleliņi IZM ir paredzējuši, ka šādus uzdevumus risina?

Link to comment
Share on other sites

(labots)

Īsajā cik saprotu nepietiek ar to, ka Else Rezult = 0. Manuprāt VBA grib lai tiktu precīzi uzrādītas visas kombinācijas pie kurām Rezult = 0.

Par to variantu ar skolniekiem padomāšu. Jo mums ir paredzēts, ka 8 var dabūt, ja izdara visu pareizi pēc tiem kodiem ko iesaka skolotājs.

9 vai 10 paredzēts augstākas grūtības variants. Tad arī tiem kas uz to pretendē iedošu lai izkož šeit piedāvātos variantus.

Klasē ir vismaz 2-3 kuri to varētu dabūt gatavu!

Te ir mācību materiāls latviešu valodā - autors Gultniece - "VBA - Vizuālais BASIC Microsoft lietojumprogrammās"

http://informatika.liis.lv/default.aspx?tabid=9〈=1&id=306

Pats vēl izmantoju krievu grāmatu Andrei Garnajev "VBA v podljennike" - apm.800lpp. bieza.

Labots - Konko
Link to comment
Share on other sites

Vai tad viņš to Else neizpilda? Varbūt tur ir kāda sintakses kļūda - es VBA nepārzinu. Bet idejai vajadzētu būt skaidrai. Ja pielabotu sintaksi vajadzētu būt OK. Paskaties nullchar variantu, tas izskatās ar visu pilno sintaksi.

 

Kādos čekbokšu variantos viņš tur neatgriež pareizu rezultātu?

 

Pievienots: Brr! Izskatās, ka tur ir gaužām maz par pašiem programmēšanas pamatiem. :p Iesaku savu mīļāko grāmatu par programmēšanas pamatiem. Tur lejāk ir arī linki, kur var atvilkt (ja pirmais nestrādā, pamēģini pārējos, manējais toč strādā). Lai arī nav gluži par mūsdienīgu BASIC dialektu, tomēr principi dikti labi izstāstīti.

 

Ā, un vēl NPS parasti tiek visur ieteikts, kā pirmklasīgs avots, lai mācītos programmēt. Tas gan ir par Pascal.

Link to comment
Share on other sites

(labots)

Vai nu izmet ārā vispār no Formas vai strādā tikai ar variantiem kuri atbilst Rezult = 2 un Rezult = 1.

Tiklīdz ir kombinācija atbilstoša Else Rezult = 0, viss sačakarējas. Vienkārši izmet ārā vai pat uzkar PowerPoint.

Taisu iekš PowerPoint.

Pamatus jau mēs izgājām ar Pacal. Tur literatūras un interneta avotu ir kaudzēm. Vienkārši gribējās beigt ar kaut ko kam ir praktisks pielietojums.

Labots - Konko
Link to comment
Share on other sites

Domāju, ka VBA grib lai precīzi tiek uzskaitīti visi Rezult = 0 varianti. Bet tas ir diezgan darbietilpīgi.

Link to comment
Share on other sites

Nedomāju, ka VBA to grib. Tam taču ELSE ir domāts - "visiem pārējiem gadījumiem"... :unsure:

Link to comment
Share on other sites

Diemžēl pat ar skaitļiem, kamēr nebiju 100% nodefinējis visus iespējamos variantus kods negāja.

Var gadīties ka VBA ar else saprot tikai precīzi nodefinētu sakarību. Ja ar else domāti visi pārējie varianti, VBA apmulst!

Link to comment
Share on other sites

nullchar

Nez, tajā kodā, ko es augstāk iepostēju, man viss strādā (VBA iekš Word 2003). Ja tu tomēr gribi apskatīt visus iespējamos variantus, tad tā garā nosacījumu blāķa vietā varu ieteikt izmantot Select..Case:

Select Case z
 Case 21
   TextBox2.Value = 3
 Case 5, 17, 20, 7, 13, 19, 25, 22, 28
   TextBox2.Value = 2
 Case 1, 3, 9, 11, 4, 6, 12, 14, 16, 18, 24, 26
   TextBox2.Value = 1
 Case Else
   TextBox2.Value = 0
End Select

Link to comment
Share on other sites

nullchar

Ieinteresēja drusku tā tava problēma :) un ienāca prātā cits variants, kā to varētu risināt. Man liekas, ka nav būtiski zināt, kādās kombinācijās lietotājs ir saķeksējis atbildes, visu vajadzīgo informāciju satur 2 skaitļi - cik ir ieķeksēto variantu un cik no tiem ir pareizi.

Kā es mēģinātu darīt:

Ir 2 (boolean) masīvi.

1. masīvā glabājas pareizās atbildes uz jautājumu. 1 jeb "True" ir pareiza, 0 jeb "False" - nepareiza. Tavā gadījumā ar 5 Checkboxiem tas būtu

1 0 1 0 1

2. masīvā glabājas lietotāja saķeksētais variants. Piem, ja iečekots 1. un 4., tad masīvs izskatās

1 0 0 1 0

Noskaidro, cik atbildes lietotājs ir saķeksējis, tb saskaiti, cik "1" ir otrajā masīvā (šajā gadījumā 2).

Noskaidro, kuras no lietotāja atzīmētajām atbildēm ir pareizas. To var izdarīt, salīdzinot katru 1. un 2. masīva n-to elementu ar AND palīdzību. Rezultāts būtu

1 0 0 0 0

Tālāk saskaiti pareizās atbildes (šajā gad. - viena).

Tālāk noskaidro, cik punkti jāpiešķir.

Ja 0 pareizas atbildes - viss skaidrs...

Ja 1 pareizā atbilde - tad jāskatās, vai kopējais atķeksēto variantu skaits nepārsniedz kādu robežu. Piemēram, ja ir 2, kā piemērā, tad OK, 1 punkts. Ja lietotājs bez 1 pareizā saķeksējis veselu gūzmu nepareizu variantu (piem. >= 2), tad nekā...

Līdzīgā veidā ar 2, 3 vai cik nu tur ir pareizās atbildes.

 

Vienīgi te jāzin drusku par masīviem un cikliem, nez, vai skolnieciņi to spēj.

Link to comment
Share on other sites

Var gadīties ka VBA ar else saprot tikai precīzi nodefinētu sakarību. Ja ar else domāti visi pārējie varianti, VBA apmulst!
Nu, tā nu gan nevar būt! Tad jau ELSE zūd jēga. Problēma noteikti ir kur citur. Pamēģini iet cauri step-by-step un paskatīties, kas tur īsti notiek. Iesaku to izdarīt ne jau tāpēc, lai izmantotu manu kodu, bet gan tāpēc, ka acīmredzami tur ir kaut kāda problēma, par kuru Tu neko nezini. Un, ja jau Tu uz viņas tik viegli uzrāvies, tad Tavi skolnieki arī noteikti. Tāpēc derētu izpētīt, kas tieši tur ir par vainu, lai zinātu, ko stundā teikt skolniekiem.
Link to comment
Share on other sites

Man jau pilnīgi apmierina tie case varianti. Ļoti uzskatāmi un saprotami. Arī skolnieki sapratīs. Ar masīviem būtu grūtāk.

Link to comment
Share on other sites

A starp citu - tā ieskaite obligāti jāliek VBA? Viņa tur no IZM nāk vai kā tā? Ja Tu pats taisi ieskaiti, kāpēc gan ne Pascal?

Link to comment
Share on other sites

(labots)

Man iešāvās prātā kur ir problēma ar Vilx kodu.

Var gadīties ka VBA zem precīzi nenodefinēta varianta Else sāk ņemt par pilnu ne tikai čekboksus bet arī visu pārējo Userformas informāciju. Gan Labelus gan Textlauciņus u.t.t.

Un tad arī uzkaras.

 

Tikko atradu informāciju par VBA - "ja vien tas ir iespējams ir jāizvairās no If..Then..Else lietošanas". Acīmredzot VBA ar tiem tiešām ir problēmas.

 

Ar Pascal mēs ņēmāmies gandrīz pusotru gadu. Tad nāca Web (Html un Css, nedaudz JavaScript) un pēdējā viela Makrokomandas un VBA.

Esam divi skolotāji (klase dalās uz pusēm) un vienojāmies tieši par VBA. Ieskaites darba tematika un programmēšanas valoda ir pašu skolotāju ziņā.

Labots - Konko
Link to comment
Share on other sites

"ja vien tas ir iespējams ir jāizvairās no If..Then..Else lietošanas".

jawdrop.gif

Man... trūkst vārdu... Sorry, bet IF-THEN-ELSE ir programmēšanas stūrakmens. Bez tā nav iespējams dzīvot. Tas ir visa cita pamatā. Un cilvēku, kurš spēj uzrakstīt augstāk minēto teikumu, vajadzētu bez vārda runas atlaist no darba un neļaut programmēšanai ne tuvoties, kur nu vēl mācīt citiem. Es varu iedomāties, ka VBA ir untumaina valoda. Patiesībā IMHO to nevajadzētu mācīt skolā. Bet nu tas ir cits stāsts. Taču pamata konstrukcijas kā IF-THEN-ELSE; FOR; WHILE; funkcijas; mainīgie; masīvi - bez tām iztikt nevar nevienā normālā programmā.

Link to comment
Share on other sites

nullchar

If-Then-Else iekš VBA strādā lieliski. Tev kodā noteikti ir kāda sintakses kļūda, varbūt ieliec to koda gabalu, kur tev Else nestrādā?

Link to comment
Share on other sites

(labots)
Taču pamata konstrukcijas kā IF-THEN-ELSE; FOR; WHILE; funkcijas; mainīgie; masīvi - bez tām iztikt nevar nevienā normālā programmā.

Par šo gan var pastrīdēties - funkcionālās programmēšanas valodas iztiek ļoti labi bez if-then-else un for/while konstrukcijām. Protams, imperatīvajās/OOP valodās (kā VBA) bez tiem neiztikt un tas ir ļoti normāli tur lietot if-then-else/for/... konstrukciajs.

Labots - bubu
Link to comment
Share on other sites

(labots)

If CheckBox2 And CheckBox4 And Not CheckBox1 And Not CheckBox3 Then TextBox2.Value = 2
ElseIf (CheckBox2 Xor CheckBox4) And (Not CheckBox1 Or Not CheckBox3) Then TextBox2.Value = 1
Else: TextBox2.Value = 0
End If

Tas bija pirmais kods. Tagd otrs:

If CheckBox2.Value = True And CheckBox4.Value = True _ 
And Not CheckBox1.Value = True And Not CheckBox3.Value = True Then TextBox2.Value = 2
ElseIf (CheckBox2.Value = True Xor CheckBox4.Value = True) _ 
And (Not CheckBox1.Value = True Or Not CheckBox3.Value = True) Then TextBox2.Value = 1
Else: TextBox2.Value = 0
End If

Neiet neviens, kļūdu it kā neredzu.

Bet ieteikums izvairīties no Ifiem ir no tās Andreja Garnajeva grāmatas - "VBA v podlennike" - 781.lpp

Garnajevs - Fizikas - matemātikas doktors, SanktPēterburgas valsts universtitātes profesors. Laikam jau muļķis nav!

Labots - Konko
Link to comment
Share on other sites

Ja viņš iesaka neizmantot IF-THEN-ELSE, tad es tik drošs vis nebūtu. :roll:

 

Jebkurā gadījumā - iesaku tomēr rakstīt ieskaiti Pascal. Šī valoda būs daudz piemērotāka visos variantos.

Link to comment
Share on other sites

Es jau visus kodus šobrīd esmu atradis. Arī rezultējošajai formai kur saskaita kopējos punktus un izliek atzīmi. Tā kā lai pamokās vien ar VBA.

Link to comment
Share on other sites

Guest ADEX

Atceros - kad tikko sāku spēlēties ar pascal, man arī bija problēmas ar IF-THEN-ELSE. Problēmas beidzās tad, kad sapratu, ka aiz tā operatora, kurš ir pirms ELSE, nedrīkst likt semikolu. Gan jau topika autoram arī kaut kāda līdzīga sintakses kļūda.

Link to comment
Share on other sites

Izveido kontu, vai pieraksties esošajā, lai komentētu

Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas

Izveidot jaunu kontu

Piereģistrējies un izveido jaunu kontu, tas būs viegli!

Reģistrēt jaunu kontu

Pierakstīties

Jums jau ir konts? Pierakstieties tajā šeit!

Pierakstīties tagad!
 Share


×
×
  • Izveidot jaunu...