Roghanna agus Cinntí

Roghanna agus Cinntí

Go dtí seo, rinne gach ríomhchlár a scríobhamar an rud céanna. Thosaigh an léirmhínitheoir ag barr an ríomhchláir agus chuaigh sé ó líne go líne díreach go dtí an bun.

Más mian linn rudaí níos casta a dhéanamh, ba chóir dúinn cinntí a dhéanamh inár ríomhchláir

Le haghaidh é sin a dhéanamh, bainimid úsáid go príomha as an ráiteas . Leis an ráiteas , is féidir linn rud amháin a dhéanamh má tá slonn éigin fíor, nó rud eile mura bhfuil.

Scríobhaimid ráiteas mar seo:

 >-- slonn éigin --< {
    >-- cód le dhéanamh má tá an slonn fíor
}  {
    >-- cód le dhéanamh má tá an slonn bréagach
}

Ní chaithfidh tú an cuid a scríobh, tá sé roghnach. Tá cód mar seo ceart freisin:

 >-- slonn éigin --< {
    >-- cód le dhéanamh má tá an slonn fíor
}

Sampla

Tosaímis leis an ríomhchlár a scríobhamar cheana. Faigheann an ríomhchlár ainm an úsáideora agus scríobhann sé é i ndiaidh “Dia duit” ar an gconsól.

ainm := ceist("Cad is ainm duit?")
scríobh("Dia duit", ainm)

Bainimid úsáid as an gníomh ceist chun ceist a chuir ar an úsáideoir faoina ainm. Stórálaimid an freagra san athróg ainm agus ansin úsáidimid scríobh le haghaidh an ainm a scríobh ar an gconsól.

Anois athraímis an ríomhchlár chun teachtaireacht speisialta a scríobh más é “Setanta” an ainm:

Bainimid úsáid as an oibritheoir == chun dhá píosa téacs a chuir i gcomparáid. Chun an athróg ainm a chuir i gcomparáid le “Setanta”, scríobhaimid ainm == "Setanta".

Ansin úsáidimid an ráiteas chun an teachtaireacht speisialta a scríobh más “Setanta” é an ainm. Féach ar an cód seo:

Bain triail as an cód sin. Má deirimid gurb é “Setanta” ár n-ainm, scríobhfaidh an ríomhchlár “Fáilte romhat Setanta”. Má deirimid aon rud eile, scríobhfaidh sé “Dia duit”.

Taispeántas

An ráiteas má ag obair

Míniú

Seo an cód a scríobhamar:

ainm := ceist("Cad is ainm duit?")

 ainm == "Setanta" {
    scríobh("Fáilte romhat Setanta")
}  {
    scríobh("Dia duit", ainm)
}
  • Ar an gcéad líne, faighimid ainm an úsáideora mar a rinneamar cheana.
  • Ar an tríú líne, scríobhaimid ainm == "Setanta". Seiceálann an slonn sin an bhfuil luach na hathróige ainm cothrom le “Setanta”.
  • Ar an ceathrú líne, scríobhamar scríobh("Fáilte romhat Setanta"). Rithfear an cód sin má tá ainm cothrom le “Setanta” mar tá an líne sin idir an chéad péire lúibíní slabhra (“{” agus “}”).
  • Ar an cúigiú líne bainimid úsáid as an focal chun an dara roinn den ráiteas a tosú. Rithfear an cód idir an dara péire lúibíní mura bhfuil an seiceáil a rinneamar fíor.
  • Ar an líne dheireanach scríobhamar scríobh("Dia duit", ainm) mar ba mhaith linn é sin a scríobh mura bhfuil ainm cothrom le “Setanta”.

Dúshlán

Déan iarracht an ríomhchlár seo a leanas a athrú ionas go scríobhann sé “Is é seacláid an bia is fearr” má deir an t-úsáideoir gurb é seacláid an bia is fearr leis, agus go scríobhann sé “Is aoibhinn liom an bia sin” má deir sé aon bia eile.

Cuimhnigh nach gá duit síneadh fada (áéíóú) a scríobh, is féidir leat ma a scríobh in ionad .

Cliceáil anseo chun an freagra a fheiceáil

Luachanna Boole

Tá dhá luachanna speisialta ag Setanta ar a dtugtar “luachanna Boole” (Ba ollúna matamaitic é George Boole i gColaiste na hOllscoile Corcaigh), is iad fíor agus bréag. (Mar is gnách, is féidir leat fior agus breag a scríobh mura féidir leat “í” nó “é” a scríobh).

Is luachanna Boole iad torthaí slonn mar x == ybia == "sceallóga".

Comparáidí

Bhaineamar úsáid as an oibritheoir == chun seiceáil an bhfuil dhá rud cothrom lena chéile, ach is féidir linn a lán níos mó a dhéanamh.

Is féidir linn oibritheoirí difriúla a úsáid le haghaidh luachanna a chur i gcomparáid ar bhealaí éagsúla:

Oibritheoir Brí
== Seiceáil an bhfuil dhá luach cothrom lena chéile
!= Seiceáil nach bhfuil dhá luach cothrom lena chéile.
> Seiceáil an bhfuil an luach ar chlé níos mó ná an cheann ar dheis.
< Seiceáil an bhfuil an luach ar chlé níos lú ná an cheann ar dheis.
>= Seiceáil an bhfuil an luach ar chlé níos mó ná nó cothrom leis an cheann ar dheis.
<= Seiceáil an bhfuil an luach ar chlé níos lú ná nó cothrom leis an cheann ar dheis.

Is é fíor toradh na hoibritheoirí sin má tá an seiceáil fíor, agus bréag mura bhfuil.

Bain triail as an cód seo:

Bá chóir duit a fheiceáil go scríobhann sé “bréag” ar an gconsól. Déanann sé sé sin mar níl 5 níos mó nó cothrom le 3.

Dúshlán

Seo píosa cód páirteach, Cuir oibritheoir ceart in ionad >-- oibritheoir anseo --< ionas go déanann an cód seiceáil an bhfuil 100 níos lú ná 20 * 6 - 18 * (2 * 1/2).

Cliceáil anseo le haghaidh an freagra.

Bá chóir go scríobhann an cód “fíor”.

Agus/Nó/Ní

Cad a dhéanfaimid más maith linn níos mó ná rud a amháin a seiceáil? Mar shampla, cad a scríobhfaimid chun seiceáil an bhfuil aois éigin níos mó ná 20, nó níos lú ná 10?

Déanfaimid é sin lé trí oibritheoir cumhachtach: & (“agus”), | (“nó”) agus ! (“ní”).

Agus

Bainimid úsáid as & nuair ba mhaith linn seiceáil an bhfuil dhá slonn fíor. Is é fíor toradh an oibritheora nuair atá an slonn ar chlé fíor, agus an slonn ar dheis.

Mar shampla:

Má ritheann tú an cód sin, scríobhann sé “fíor” ar an gcéad líne, agus ansin scríobhann sé “bréag” trí huaire. Déanann sé sin mar:

  1. Ar an gcéad líne, tá "Dia duit" == "Dia duit" agus 5 > 2 fíor. Mar sin, is é fíor toradh an slonn ar fad.
  2. Ar an dara líne, tá "Dia duit" == "Dia duit" fós fíor, ach anois níl 5 > 6 fíor. Mar sin, is é bréag toradh an slonn ar fad.
  3. Ar an tríú líne, níl "Dia duit" == "Slán" fíor, mar sín scríobhann sé “bréag”.
  4. Ar an gceathrú líne, tá "Dia duit" == "Slán" agus 5 > 6 bréagach, dá bharr sin scríobhann sé “bréag”.

Úsáidimid an oibritheoir | chun seiceáil a dhéanamh an bhfuil ceann amháin de dhá slonn fíor ar a laghad. Tá toradh an slonn fíor má tá an slonn ar chlé an slonn ar dheis fíor.

Mar shampla:

Rith an cód sin agus feicfidh tú go scríobhann sé “fíor”, “fíor”, “fíor” agus “bréag”.

  1. Ar an gcéad líne, tá "Dia duit" == "Dia duit" agus 5 > 2 fíor. Mar sin, is é fíor toradh an slonn ar fad.
  2. Ar an dara líne, tá "Dia duit" == "Dia duit" fós fíor. Mar sin, is é bréag toradh an slonn ar fad mar tá slonn amháin fíor ar a laghad.
  3. Ar an tríú líne, níl "Dia duit" == "Slán" fíor ach tá 5 > 2 fíor, mar sín scríobhann sé “fíor”.
  4. Ar an gceathrú líne, tá "Dia duit" == "Slán" agus 5 > 6 bréagach, dá bharr sin níl ceachtar slonn fíor agus scríobhann an ríomhchlár “bréag”.

Faoi dheireadh, féachaimis ar an oibritheoir !. Tá an oibritheoir seo an-simplí, glacann sé le luach Boole agus tugann sé ar ais an luach Boole eile. Mar shampla, tá !fíor cothrom le bréag, agus tá !bréag cothrom le fíor.

Bainimid úsáid as an oibritheoir sin nuair ba mhaith linn seiceáil an bhfuil slonn éigin bréagach:

 !(6 > 10) {
    scríobh("Níl 6 níos mó ná 10")
}

Seiceáil i ndiaidh seiceáil

Is féidir leat agus a úsáid le chéile chun níos mó ná seiceáil amháin a dhéanamh. Le sin is féidir leat cúpla coinníoll éagsúla a seiceáil.

Mar shampla, seo ríomhchlár gearr a ghlacann le aois an úsáideora. Má tá an t-úsáideoir níos sine ná 18, scríobhann sé “Is duine fásta thú”. Mura bhfuil an t-úsáideoir níos sine ná 18, ach sé níos sine ná nó cothrom le 13, scríobhann sé “Is déagóir thú”. Mura bhfuil an t-úsáideoir níos sine ná 18 níos sine ná 13, scríobhann an ríomhchlár “Is páiste thú”.

Bain triail as:

Bain triail as cúpla aois difriúla!

Míniú

Conas a oibríonn an ríomhchlár sin? Féach ar an ríomhchlár arís, le níos mó tráchtanna.

>-- Faigh aois an úsáideora
aois := go_uimh(ceist("Cén aois thú?"))

 aois > 18 { >-- An bhfuil an aois níos mó ná 18?
    scríobh("Is duine fásta thú")
}   aois >= 13 { >-- Níl sé níos mó ná 18, ach an bhfuil sé níos mó ná 13?
    scríobh("Is déagóir thú")
}  { >-- Níl sé níos mó ná 18 nó 13, da bhrí sin is páiste é.
    scríobh("Is páiste thú")
}

Tabharfaimid neamhaird ar an gcéad líne ar dtús, ach caithfimid súil air níos déanaí.

  1. Ar líne 4, déanann an ríomhchlár seiceáil an bhfuil an aois níos mó ná 18 (aois > 18).
    • Má tá an aois níos mó ná 18, ritear an cód idir an { agus }. Sin an líne scríobh("Is duine fásta thú") amháin. Ansin ní dhéanann sé aon seiceáil eile, tá an ríomchlár criochnaithe.
    • Mura bhfuil an aois níos mó ná 18, leanann sé ar aghaidh leis na seiceáil eile.
  2. Ar líne 6, déanann an ríomhchlár seiceáil an bhfuil an aois níos mó ná 13 (aois > 13).
    • Má tá an aois níos mó ná 13, ritear an cód idir an { agus } a leanann an seiceáil. Sin an líne scríobh("Is déagóir thú"). Tá a fhios againn gur déagóir é an t-úsáideoir már tá a fhios againn nach bhfuil an aois níos mó ná 18. Ansin ní dhéanann sé aon seiceáil eile, tá an ríomchlár criochnaithe.
    • Mura bhfuil an aois níos mó ná 13, leanann sé ar aghaidh go dtí an roinn deireanach.
  3. Ar líne 8, tosóimid an roinn cód deireanach. Ritear an píosa cód seo nuair nach raibh an dhá seiceáil roimhe seo fíor. Scríobhann an ríomhchlár “Is páiste thú” mar tá a fhios againn ag an bpointe seo níl an t-úsáideoir níos sine ná 18 nó 13.

An chéad líne

Féach arís ar an gcéad líne: aois := go_uimh(ceist("Cén aois thú?")). Cad atá ar siúl ar an líne sin?

Scríobhamar an líne sin le haghaidh aois an úsáideora a fháil.

  • Ar dtús, bainimid úsáid as an gníomh ceist chun an cheist “Cén aois thú” a chuir. Nuair a scríobhann an t-úsáideoir freagra isteach sa bhosca, is é an freagra sin toradh an gnímh.

    Mar shampla, má scríobhann an t-úsáideoir “25” isteach, is é "25" toradh an gnímh.

  • Tá an pointe seo an-tábhachtach. Is píosa téacs é toradh an gnímh, ní uimhir é. Tá difríocht idir "25" agus 25. Caithfimid an téacs a athrú go uimhir más maith linn é a chuir i gcomparáid le 18 agus 13 mar ní féidir leat píosa téacs a chuir i gcomparáid le uimhir.

    Chun é sin a dhéanamh, bainimid úsáid as gníomh nua go_uimh. Is giorrúchán é go_uimh ar “go uimhir”. Tógann an gníomh seo píosa téacs agus cuireann sé ar ais an uimhir a sheasann an téacs dó.

    Mar shampla: Tá an slonn seo fíor: go_uimh("42") == 42.

  • Anois is féidir linn an líne a thuiscint: aois := go_uimh(ceist("Cén aois thú?")). Tógaimid toradh an gníomh ceist agus tugaimid é díreach go go_uimh chun aois an úsáideora a fháil. Ansin cuirimid an toradh isteach san athróg aois.