Cursus Raku / Elementa / Fundamenta ordinis exsecutionis / Conditiones comprobationes / Exercises / Annus bisextilis
Solutio: Annus bisextilis
Disclaimer
Solutio infra proposita intendit te exercere utendo conditionibus. In
vita reali, potes discere methodos classis Date in-builtae.
Hoc discemus in secunda parte cursus.
Solutio
Algorithmus detectionis si annus est bissextilis:
- si annus non est divisibilis per 4 => annus communis
- si annus non est divisibilis per 100 => annus bissextilis
- si annus non est divisibilis per 400 => annus communis
- aliter => annus bissextilis
Nota quod potes uti typis in-builta ad operandum cum data et tempore, itaque ad hanc quaestionem redibimus in secunda parte cursus.
Codex 1
Prima solutio reproduciit gradus supra litteratim:
my $year = prompt 'Annus: ';
if $year % 4 {
say 'Annus communis';
}
elsif $year % 100 {
say 'Annus bissextilis';
}
elsif $year % 400 {
say 'Annus communis';
}
else {
say 'Annus bissextilis';
}🦋 Inveni programmam in archivo leap-year.raku.
Codex 2
In secunda solutione, logica compacta est in unam expressionem. Parentheses non semper necessariae sunt sed hic additae sunt pro claritate.
my $year = prompt 'Annus: ';
say (($year %% 400) || (($year %% 4) && ($year % 100))) ?? 'Annus bissextilis' !! 'Annus communis';🦋 Inveni programmam in archivo leap-year-formula.raku.
Exitus
Experire utrumque programma cum casibus criticis, exempli gratia, 1900, 2000, 2020, 2021.
$ raku exercises/conditional-checks/leap-year.raku
Annus: 1900
Annus communis
$ raku exercises/conditional-checks/leap-year.raku
Annus: 2000
Annus bissextilis$ raku exercises/conditional-checks/leap-year-formula.raku
Annus: 2020
Annus bissextilis
$ raku exercises/conditional-checks/leap-year-formula.raku
Annus: 2021
Annus communis%%tipblock ## %% vs %
Nota quod in contextibus Booleanis, operatores %% et
% sunt complementarii. Potes uti hoc facto ad eligendum
unum ex operatoribus ad vitandum explicitum comparationem cum zero.
CodeBlockPlaceholder5 %%/tipblock
Navigatio cursus
← Annus bisextilis | Ansae →