working on reqs

This commit is contained in:
jorenchik
2024-10-21 18:50:52 +03:00
parent 4eb4fcfcfc
commit 180b8d769f
2 changed files with 133 additions and 78 deletions

Binary file not shown.

View File

@@ -28,6 +28,12 @@
/ Transpilēšana: Programmēšanas valodas pārveidošana vienā abstrakcijas / Transpilēšana: Programmēšanas valodas pārveidošana vienā abstrakcijas
līmenī citā valodā ar atšķirīgu abstrakcijas līmeni, kā arī valodas teskta līmenī citā valodā ar atšķirīgu abstrakcijas līmeni, kā arī valodas teskta
pārveidošana uz kādas programmas objektiem; pārveidošana uz kādas programmas objektiem;
// @TODO
/ Detranspilēšana: ;
// @TODO
/ Norāde: ;
// @TODO
/ Nulles objekts: ;
/ Vienkāršais teksts: teksta dati, kas reprezentē simbolus bez grafiskas reprezentācijas / Vienkāršais teksts: teksta dati, kas reprezentē simbolus bez grafiskas reprezentācijas
vai citiem objektiem; vai citiem objektiem;
], ],
@@ -62,17 +68,17 @@
// Kas ir atmiņas kartes // Kas ir atmiņas kartes
#indent-par([ #indent-par([
Atmiņas kartītes (angl. flashcards) ir izplatīts veids, kā skolēni, studenti un Atmiņas kartītes (angl. flashcards) ir izplatīts veids, kā skolēni, studenti un
citi macošies cilvēki iegaumē materiālu. Šādu kartīšu pamatā parasti ir priekša citi mācošies cilvēki iegaumē materiālu. Šādu kartīšu pamatā parasti ir priekša
un aizmugura. Priekšā atrodas jautājums vai uzdevums vai cita informācija, kas un aizmugure. Priekšā atrodas jautājums vai uzdevums vai cita informācija, kas
uzstāda mentālu vai praktisku uzdevumu, iespējams iekļaujot arī mājieni. uzstāda mentālu vai praktisku uzdevumu, iespējams iekļaujot arī mājieni.
Aizmugurā atrodas atbildes teksts, kas ar sevi atbild vai parāda pareizu Aizmugurē atrodas atbildes teksts, kas ar sevi atbild vai parāda pareizu
atbildi uz priekšā uzstādītu jautājumu vai uzdevumu. atbildi uz priekšā uzstādītu jautājumu vai uzdevumu.
]) ])
// Mācīšanās process un spaced-repetition // Mācīšanās process un spaced-repetition
Mācīšanās nolūkiem tiek veidotas vairākas atmiņas kartītes uz līdzīgu tēmu, Mācīšanās nolūkiem tiek veidotas vairākas atmiņas kartītes uz līdzīgu tēmu,
veidojas kartīšu kaudzes. Mācīšanas seansā, tiek vērtēts, cik grūti vai viegli veidojas kartīšu kaudzes. Mācīšanas seansā, tiek vērtēts, cik grūti vai viegli
jautājumi vai uzdevumi ir attiecīgi atbildāmi vai atrisināmi. Balstoties uz jautājumi vai uzdevumi ir attiecīgi atbildami vai atrisināmi. Balstoties uz
grūtību vai iespēju atbildēt, kartītes tiek grupētas noteiktās grupās, kas, grūtību vai iespēju atbildēt, kartītes tiek grupētas noteiktās grupās, kas,
savukārt, nosaka intervālu, pēc kura kartīte figurēs nākamā mācīšanās seansā. savukārt, nosaka intervālu, pēc kura kartīte figurēs nākamā mācīšanās seansā.
Piemēram, grupas - ļoti viegli, vidēji, grūti, neizdevās -, kam atbilst 5 Piemēram, grupas - ļoti viegli, vidēji, grūti, neizdevās -, kam atbilst 5
@@ -80,7 +86,7 @@ dienas, 3 dienas, 1 diena, 0 dienas attiecīgi. Jo lielāka ir subjektīva
piepūle, atbildot uz jautājumu vai risinot uzdevumu, jo tiek uzturēts garāks piepūle, atbildot uz jautājumu vai risinot uzdevumu, jo tiek uzturēts garāks
pārtraukums pirms nākamās reizes, kad šī kartīte būs izmantota. Šī mācīšanās pārtraukums pirms nākamās reizes, kad šī kartīte būs izmantota. Šī mācīšanās
metode ir atkārtošana ar intervāliem. Mācīšanās metode vai līdzīgas metodes var metode ir atkārtošana ar intervāliem. Mācīšanās metode vai līdzīgas metodes var
uzlabot atcerēšanas līmeni pēc mācīšanās (#link(<spaced-repetition-1>)[Alison uzlabot atcerēšanās līmeni pēc mācīšanās (#link(<spaced-repetition-1>)[Alison
Voice and Arran Stirton, 2020]). Voice and Arran Stirton, 2020]).
// Stuff mdemory does // Stuff mdemory does
@@ -88,13 +94,13 @@ Veidojot atmiņas kartītes manuāli tās var pazaudēt, var kļūdīties, sagat
to tekstu. Tāpēc ir iespējams kartītes veidot un uzturēt, izmantojot tīmekļa to tekstu. Tāpēc ir iespējams kartītes veidot un uzturēt, izmantojot tīmekļa
vai lokālo lietotni. Aprakstāmās programmatūras mērķis ir vienkāršot atmiņas vai lokālo lietotni. Aprakstāmās programmatūras mērķis ir vienkāršot atmiņas
kartīšu veidošanu ar iespēju veidot, mainīt un glabāt atmiņas kartītes kartīšu veidošanu ar iespēju veidot, mainīt un glabāt atmiņas kartītes
vienkāršā tekstā un mācīies izmantojot atkārtošanu ar intervāliem. Atmiņas vienkāršā tekstā un mācījies izmantojot atkārtošanu ar intervāliem. Atmiņas
kartītes ir glabātas teksta failos un glabājas direktorijā, kas pilnībā kartītes ir glabātas teksta failos un glabājas direktorijā, kas pilnībā
paliek lietotāja pārvaldē. Vienkārša teksta kartīšu glabāšana paredz, ka paliek lietotāja pārvaldē. Vienkārša teksta kartīšu glabāšana paredz, ka
lietotājs var brīvi pārvietot un mainīt kartīšu saturu, turpinot izmantot lietotājs var brīvi pārvietot un mainīt kartīšu saturu, turpinot izmantot
programmatūras mācīšanās funkcionalitāti. programmatūras mācīšanās funkcionalitāti.
Uzsvars ir uz pilnīgu atmiņas kartīšanu glabāšanas pilnīgu caurspīdīgumu - Uzsvars ir uz pilnīgu atmiņas kartīšu glabāšanas pilnīgu caurspīdīgumu -
kartītes glabājas bez slēptas informācijas. Vienkārša teksta izmantošana bez kartītes glabājas bez slēptas informācijas. Vienkārša teksta izmantošana bez
slēptas informācijas atbrīvo lietotāju no atkarības no šīs programmatūras ar slēptas informācijas atbrīvo lietotāju no atkarības no šīs programmatūras ar
iespēju pārslēgties uz citu risinājumu ar dažām teksta izmaiņām. iespēju pārslēgties uz citu risinājumu ar dažām teksta izmaiņām.
@@ -116,7 +122,7 @@ parāda produkta saistību ar atmiņu.
Ievadā tiek definēts nolūks darbības sfēra, aprakstīta galvenā programmatūras Ievadā tiek definēts nolūks darbības sfēra, aprakstīta galvenā programmatūras
produkta būtība un mērķi, saistītie dokumenti. produkta būtība un mērķi, saistītie dokumenti.
Vispārējā apraksta sadaļā tiek aprakstīts esošais stāvoklis, pāsūtītājs, produkta perspektīva, Vispārējā apraksta sadaļā tiek aprakstīts esošais stāvoklis, pasūtītājs, produkta perspektīva,
galvenās darījumprasības, pieņēmumi un atkarības. galvenās darījumprasības, pieņēmumi un atkarības.
Programmatūras prasību specifikācijas sadaļā tiek aprakstīts risinājumā Programmatūras prasību specifikācijas sadaļā tiek aprakstīts risinājumā
@@ -137,9 +143,10 @@ kartīšu importu ar vienkāršu tekstu. Taču lielākā daļa nedod iespēju
uzturēt kartītes bez vienkāršā tekstā, jo risinājumi glabā kartītes uzturēt kartītes bez vienkāršā tekstā, jo risinājumi glabā kartītes
savā, pielāgotā formātā. savā, pielāgotā formātā.
Daži risinājumi iekļauj arī vairākus specializētus jautājumu veidus, kā grupēšanas Daži risinājumi iekļauj arī vairākus specializētus jautājumu veidus, kā grupēšanas
jautājumi, vairāku atbilžu jautājumus un secības jautājumus. Tādu risinājumu piemērs ir jautājumi, vairāku atbilžu jautājumus un secības jautājumus. Tādu risinājumu piemērs ir
"Quizlet" lietotne. Minētā importa funkcija parasti nav pieejama esošos risinājumos. (#link(<quizlet>)["Quizlet"]) lietotne. Minētā importa funkcija parasti nav pieejama esošos risinājumos.
To importa funkcionalitāte realizē vienkāršu importu visbiežāk ar mērķi migrēt atmiņas kartītes To importa funkcionalitāte realizē vienkāršu importu visbiežāk ar mērķi migrēt atmiņas kartītes
vienas lietotnes ietvaros. vienas lietotnes ietvaros.
@@ -148,7 +155,9 @@ Diezgan tuvs pēc funckionalitātes mērķiem ir "Emacs" teksta editora
papildinājums "org-drill". Tas piedāvā vienkārša teksta atmiņas kartīšu veidošanu papildinājums "org-drill". Tas piedāvā vienkārša teksta atmiņas kartīšu veidošanu
un glabāšanu ar vienkāršu tekstu ar augstu pielāgojamību. Toties tas pieprasa un glabāšanu ar vienkāršu tekstu ar augstu pielāgojamību. Toties tas pieprasa
"Emacs" teksta editora izmantošanu un ir domāta tehniskākiem lietotājiem mazāk "Emacs" teksta editora izmantošanu un ir domāta tehniskākiem lietotājiem mazāk
lietotājiem draudzīgas funkcionalitātes dēļ. lietotājiem draudzīgas funkcionalitātes dēļ (#link(<org-drill>)[Paul Sexton]).
// @Improve: should I add date here?
Pašlaik neviens no esošiem risinājumiem neatbalsta minēto specializēto atmiņas Pašlaik neviens no esošiem risinājumiem neatbalsta minēto specializēto atmiņas
kartīšu veidu importu. kartīšu veidu importu.
@@ -160,7 +169,7 @@ kvalifikācijas darba ietvaros.
== Produkta perspektīva == Produkta perspektīva
Risinājums ir patstāvīga darbvirmas lietotne. Lietotnes izstrādē ir izmantotas Risinājums ir patstāvīga darbvirsmas lietotne. Lietotnes izstrādē ir izmantotas
lietotnes saskarnes bibliotēkas un programmēšanas valodas standarta bibliotēka. lietotnes saskarnes bibliotēkas un programmēšanas valodas standarta bibliotēka.
Risinājums lasīs un izmainīs teksta failus no lietotāja norādītās direktorijas. Risinājums lasīs un izmainīs teksta failus no lietotāja norādītās direktorijas.
@@ -201,12 +210,29 @@ atmiņas kartīšu dati un dati par saskarni ar kartītēm.
== Funkcionālās prasības == Funkcionālās prasības
=== Augsta līmeņa valodas specifikācija === Formātu un datu struktūru speicifikācija
Kartīšu veidošanai vienkāršā tekstā tiek izmantota vienkārša Šajā apakšsadaļā tiks apskatīti ievades un izvades vērtību
domēna specifiska valoda. Ir 4 jautājumu veidi, kuru struktūra formāti, kas tiks izmantoti funkciju aprakstos.
ir līdzīga ar dažām atšķirībām. Katrs jautājums sākas ar priekšu, kam
var būt skaitlis, kas apzīmē intervālu stundās, pēc kura tas būs atkārtoti izmantots. #let questionSource = "simbolu virkne, kas atbilst TODO";
#let questionList = "saraksts ar objektiem, kas atbilst TODO";
#let uint = "vesels pozitīvs skaitlis";
#let question = "objekts, kas atbilst TODO";
#let datetime = "simbola virkne formātā, kas atbilst TODO";
#let pageList = "saraksts ar objektiem, kas atbilst TODO";
#let mdemFilePath = "simbolu virkne, kas atbilst failam ar noteitu paplašinājumu";
#let listWithCorrectFlags = "Izvēlēto atbilžu simbolu virkņu saraksts ar pareizuma karodziņu vērtībām";
#let configValue = "viens no: skaitlis, simbolu virkne, karodziņš";
==== Kartīšu veidi
Kartīšu veidošanai vienkāršā tekstā tiek izmantota vienkārša domēna specifiska
valoda. Ir 4 jautājumu veidi, kuru struktūra ir līdzīga ar dažām atšķirībām.
Katrs jautājums sākas ar priekšu, kam var būt skaitlis, kas apzīmē intervālu
stundās, pēc kura tas būs atkārtoti izmantots. Priekša ir sākas ar "-" un
beidzas ar ">".
``` ```
- Ka sauc Latvijas galvaspilsētu? > - Ka sauc Latvijas galvaspilsētu? >
@@ -237,7 +263,8 @@ atbildes, pareizās atbildes sākas ar "+", nepareizās -- ar "-".
+ Lietuva + Lietuva
- Spānija - Spānija
``` ```
Secības jautājums. Secības jautājums -- jautājums ar vairākām vērtībām, kam ir noteikta secība,
vērtības sākas ar "-^".
``` ```
- Sakārtojiet zinātniskās metodes soļus pareizā secībā > - Sakārtojiet zinātniskās metodes soļus pareizā secībā >
@@ -247,7 +274,9 @@ Secības jautājums.
-^ Analizē datus -^ Analizē datus
``` ```
==== Grupēšanas jautājums Grupēšanas jautājums -- jautājums, kur ir vairākas grupas, kurām pieder nulle
vai vairāki elemeni. Grupas sākas ar "-" un beidas ar ":". Grupas elementi
sākas ar "-".
``` ```
- Savienojiet planētas ar to īpašībām > - Savienojiet planētas ar to īpašībām >
@@ -266,9 +295,7 @@ Secības jautājums.
- Ir gredzeni - Ir gredzeni
``` ```
=== Definētās datu strukturas ==== Kartītes datu struktūras
==== Jautājumi
Šajā apakšsadaļā ir aprakstītas datu struktūras, kas tiks izmantotas, aprakstot Šajā apakšsadaļā ir aprakstītas datu struktūras, kas tiks izmantotas, aprakstot
risinājuma funkcijas. risinājuma funkcijas.
@@ -279,7 +306,7 @@ informāciju, kas atbils noteiktam jautājuma veidam.
Pamatā jautājumam ir: Pamatā jautājumam ir:
- Teksts -- simbola virkne; - Teksts -- simbola virkne;
- Ilgums, cik kartīte nebūs izmantota atkāl intervālu metodē -- pozitīvs daļu skaitlis; - Ilgums, cik kartīte nebūs izmantota atkal intervālu metodē -- pozitīvs daļu skaitlis;
Papildus informācija iedalās vairākos veidos. Papildus informācija iedalās vairākos veidos.
@@ -297,8 +324,8 @@ Papildus informācija iedalās vairākos veidos.
Lappuse ir ir saraksts ar referencēm uz vairākiem jautājuma objektiem, kam ir Lappuse ir ir saraksts ar referencēm uz vairākiem jautājuma objektiem, kam ir
noteikts lappuses skaitlis. noteikts lappuses skaitlis.
Datumam un laikam tiek izmanots sekojošs formāts - Datumam un laikam tiek izmantots sekojošs formāts -
<dienas_numurs>.<mēneša_numurs>.<gads> <stunda>:<minūte> -, piemēram, \<dienas_numurs\>.\<mēneša_numurs\>.\<gads\> \<stunda\>:\<minūte\> -, piemēram,
"13.05.2024 12:02". "13.05.2024 12:02".
=== Funkciju sadalījums moduļos === Funkciju sadalījums moduļos
@@ -329,7 +356,8 @@ apraksīts sadalījuma tabulā (skat. @tbl:function_table tabula).
[Atmiņas bāzes lappuses iegūšana], [#link(<AB03>)[AB03]], [Atmiņas bāzes lappuses iegūšana], [#link(<AB03>)[AB03]],
[Kartīšu pievienošana], [#link(<AB04>)[AB04]], [Kartīšu pievienošana], [#link(<AB04>)[AB04]],
[Kartītes pirmteksta iegūšana], [#link(<AB05>)[AB05]], [Kartītes pirmteksta iegūšana], [#link(<AB05>)[AB05]],
[Kartītes redigēšana], [#link(<AB06>)[AB06]], // @Fix: rediģēšana everywhere
[Kartītes rediģēšana], [#link(<AB06>)[AB06]],
[Kartītes dzēšana], [#link(<AB07>)[AB07]], [Kartītes dzēšana], [#link(<AB07>)[AB07]],
[Kartītes faila saglabāšana], [#link(<AB08>)[AB08]], [Kartītes faila saglabāšana], [#link(<AB08>)[AB08]],
@@ -364,7 +392,7 @@ definētas tabulās: #link(<PR01>)[PR01], #link(<PR02>)[PR02].
apstrādāta vairākos posmos. apstrādāta vairākos posmos.
], ],
[ [
+ Simbolu virkne; + Jautājumu pirmteksts -- #questionSource;
], ],
[ [
+ Tiek nolasīti simboli, sagrupējot to tekstvienībās; + Tiek nolasīti simboli, sagrupējot to tekstvienībās;
@@ -385,8 +413,8 @@ definētas tabulās: #link(<PR01>)[PR01], #link(<PR02>)[PR02].
izvadē pievienojot kļūdu ar tās pozīciju; izvadē pievienojot kļūdu ar tās pozīciju;
], ],
[ [
+ Saraksts ar jautājumiem; + Saraksts ar jautājumiem -- #questionList;
+ Kļūda ar tekstu un tās pozīciju saturā; + Kļūda ar tekstu un tās pozīciju saturā -- TODO;
], ],
) <PR01> ) <PR01>
@@ -400,13 +428,13 @@ definētas tabulās: #link(<PR01>)[PR01], #link(<PR02>)[PR02].
kas ir daļa no metadatiem. kas ir daļa no metadatiem.
], ],
[ [
+ Jautājumu saraksts; + Jautājumu saraksts -- #questionList;
+ Datums un laiks; + Datums un laiks -- #datetime;
], ],
[ [
+ Iegūst konfigurācijas vērtības, kas nosaka cik garš ir tabulācijas simbols + Iegūst konfigurācijas vērtības, kas nosaka cik garš ir tabulācijas simbols
un kāds ir maksimāls rindiņas platums pirms tiek veidots jaunās rindas simbols; un kāds ir maksimāls rindiņas platums pirms tiek veidots jaunās rindas simbols;
+ Ja datums un laiks ir padots, pievieno datumu un laiku atbilsoši formātam; + Ja datums un laiks ir padots, pievieno datumu un laiku atbilstoši formātam;
+ Katram jautājumam veic sekojošo: + Katram jautājumam veic sekojošo:
+ Pievieno jautājuma sākumu (jeb priekšu) ar intervāla skaitli, ja tāds ir; + Pievieno jautājuma sākumu (jeb priekšu) ar intervāla skaitli, ja tāds ir;
+ Pievieno apakšpunktus atbilstoši tā veidam; + Pievieno apakšpunktus atbilstoši tā veidam;
@@ -417,7 +445,7 @@ definētas tabulās: #link(<PR01>)[PR01], #link(<PR02>)[PR02].
+ Veidojot jautājumus ievēro iegūtās konfigurācijas vērtības; + Veidojot jautājumus ievēro iegūtās konfigurācijas vērtības;
], ],
[ [
+ Simbolu virkne; + Jautājumu pirmeksts -- #questionSource;
], ],
) <PR02> ) <PR02>
@@ -428,7 +456,7 @@ Atmiņas bāze ir direktorijs ar atmiņas kartīšu failiem. Modulis atbild par
mijiedarbību ar atmiņas šiem failiem un atmiņas kartīšu prezentēšanu. Šī moduļa mijiedarbību ar atmiņas šiem failiem un atmiņas kartīšu prezentēšanu. Šī moduļa
funkcijas ir izmantotas atmiņu kartīšu saraksta funkcionalitātei. Funkcijas funkcijas ir izmantotas atmiņu kartīšu saraksta funkcionalitātei. Funkcijas
mijiedarbojas ar pagaidu glabātuvē esošām atmiņas kartītēm un failu glabātuves mijiedarbojas ar pagaidu glabātuvē esošām atmiņas kartītēm un failu glabātuves
failiem, kas satur atmiņu kartīšu informāju. Ar funkcijām saistītas datuplūsmas failiem, kas satur atmiņu kartīšu informāciju. Ar funkcijām saistītas datu plūsmas
ir attēlotas moduļa 2. līmeņa DPD (skat. @fig:abdpd2 attēlu). ir attēlotas moduļa 2. līmeņa DPD (skat. @fig:abdpd2 attēlu).
Moduļa funkcijas tiek definētas tabulās: Moduļa funkcijas tiek definētas tabulās:
#link(<AB01>)[AB01], #link(<AB01>)[AB01],
@@ -456,14 +484,14 @@ Moduļa funkcijas tiek definētas tabulās:
specifikācijai. specifikācijai.
], ],
[ [
+ Ievades faila ceļš ar noteiktu paplašinājumu; + Faila atrašanās ceļš -- #mdemFilePath;
], ],
[ [
+ Faila saturs tiek ielādēts atmiņā: + Faila saturs tiek ielādēts atmiņā:
+ Ja faila ielāde ir neveiksmīga, parāda 1. paziņojumu. + Ja faila ielāde ir neveiksmīga, parāda 1. paziņojumu.
+ Tiek nolasīts datums un laiks no faila sākuma, ja tāds eksistē: + Tiek nolasīts datums un laiks no faila sākuma, ja tāds eksistē:
+ Ja datuma un laika formāts nav korekts, parāda 2. paziņojumu + Ja datuma un laika formāts nav korekts, parāda 2. paziņojumu
ar atbilsošu iemeslu un kļūdas pazīmi, beidz apstrādi. ar atbilstošu iemeslu un kļūdas pazīmi, beidz apstrādi.
+ Tiek iegūti jautājuma objekti, izmantojot procedūru #link(<PR01>)[PR01]\; + Tiek iegūti jautājuma objekti, izmantojot procedūru #link(<PR01>)[PR01]\;
+ Ja radās kļūda, parāda 2. paziņojumu ar kļūdas informāciju, beidz + Ja radās kļūda, parāda 2. paziņojumu ar kļūdas informāciju, beidz
apstrādi. apstrādi.
@@ -471,11 +499,11 @@ Moduļa funkcijas tiek definētas tabulās:
ar atbilstošu iemeslu un kļūdas pozīciju, beidz apstrādi. ar atbilstošu iemeslu un kļūdas pozīciju, beidz apstrādi.
], ],
[ [
+ Saraksts ar jautājumiem; + Saraksts ar jautājumiem -- #questionList;
+ Faila reģistrēts datums un laiks; + Faila reģistrēts datums un laiks -- #datetime;
], ],
[ [
+ Ielādes kļūda: neizdevās atvert failu; + Ielādes kļūda: neizdevās atvērt failu;
+ Ielādes kļūda: [kļūdas iemesls] [kļūdas rinda]:[kļūdas kolonna]; + Ielādes kļūda: [kļūdas iemesls] [kļūdas rinda]:[kļūdas kolonna];
], ],
) <AB01> ) <AB01>
@@ -490,7 +518,7 @@ Moduļa funkcijas tiek definētas tabulās:
parametrus. parametrus.
], ],
[ [
+ Jautājumu objektu saraksts; + Jautājumu saraksts -- #questionList;
], ],
[ [
+ No konfigurācijas tiek iegūts jautājumu skaits lappusē, un rādāmo lappušu + No konfigurācijas tiek iegūts jautājumu skaits lappusē, un rādāmo lappušu
@@ -500,7 +528,7 @@ Moduļa funkcijas tiek definētas tabulās:
konfigurācijas vērtībai; konfigurācijas vērtībai;
], ],
[ [
+ Lappušu objektu saraksts; + Lappušu saraksts -- #pageList;
], ],
[ [
Funkcijai nav paziņojumu. Funkcijai nav paziņojumu.
@@ -515,17 +543,17 @@ Moduļa funkcijas tiek definētas tabulās:
no pagaidu glabātuves. no pagaidu glabātuves.
], ],
[ [
+ Lappuses numurs; + Lappuses numurs -- #uint;
], ],
[ [
+ No pagaides atmiņas kartīšu glabātuves tiek iegūtas atmiņas kartīšu lappuses; + No pagaidu atmiņas kartīšu glabātuves tiek iegūtas atmiņas kartīšu lappuses;
+ Tiek meklēts lappušu objekts ar norādīto numuru; + Tiek meklēts lappušu objekts ar norādīto numuru;
+ Ja lappuse tiek atrasta, saistītie atmiņas kartīšu objekti tiek atgriezti; + Ja lappuse tiek atrasta, saistītie atmiņas kartīšu objekti tiek atgriezti;
+ Ja tāda lappuse netiek atrasta, parāda 1. paziņojumu; + Ja tāda lappuse netiek atrasta, parāda 1. paziņojumu;
+ +
], ],
[ [
+ Saraksts ar lappuses atmiņas kartīšu objektiem; + Jautājumu saraksts -- #questionList;
], ],
[ [
+ Pieprasītā lappuse neeksistē; + Pieprasītā lappuse neeksistē;
@@ -540,7 +568,9 @@ Moduļa funkcijas tiek definētas tabulās:
objektos, kas pievieno tos jau esošiem jautājumiem. objektos, kas pievieno tos jau esošiem jautājumiem.
], ],
[ [
+ Simbolu virkne; + Kartītes pirmteksts -- #questionSource;
formātam TODO, lai funkcija atgrieztu pilnīgu atbilstošu jautājumu objektu
sarakstu;
], ],
[ [
+ Ja ievadīts teksts, parāda 1. paziņojumu, beidz apstrādi; + Ja ievadīts teksts, parāda 1. paziņojumu, beidz apstrādi;
@@ -553,7 +583,7 @@ Moduļa funkcijas tiek definētas tabulās:
glabātuvē. glabātuvē.
Saskarnē parādās indikators, ka atmiņas kartīšu fails tika izmainīts. Saskarnē parādās indikators, ka atmiņas kartīšu fails tika izmainīts.
+ Lappušu objektu saraksts; + Jautājumu saraksts -- #questionList;
], ],
[ [
+ Nav ievadīts neviens jautājums; + Nav ievadīts neviens jautājums;
@@ -569,17 +599,17 @@ Moduļa funkcijas tiek definētas tabulās:
Funkcija ir specializēts procedūras izmantošanas gadījums, kurā tiek Funkcija ir specializēts procedūras izmantošanas gadījums, kurā tiek
detranspilēts tikai viens jautājums. detranspilēts tikai viens jautājums.
Funkcija ir izmantota redigēšanas iespējai. Funkcija ir izmantota rediģēšanas iespējai.
], ],
[ [
+ Jautājuma objekts; + Jautājums -- #question;
], ],
[ [
+ Izmantojot procedūru #link(<PR01>)[PR01], jautājums tiek detranspilēts + Izmantojot procedūru #link(<PR01>)[PR01], jautājums tiek detranspilēts
pirmtekstā\; pirmtekstā\;
], ],
[ [
+ Simbolu virkne -- jautājuma pirmteskts; + Simbolu virkne -- #questionSource;
], ],
[ [
Funkcijai nav paziņojumu. Funkcijai nav paziņojumu.
@@ -588,15 +618,15 @@ Moduļa funkcijas tiek definētas tabulās:
) <AB05> ) <AB05>
#function-table( #function-table(
"Kartītes redigēšana", "Kartītes rediģēšana",
"AB06", "AB06",
[ [
Funkcija izmaina esošo jautājumu, pēc to pirmteksta, kas atbilst Funkcija izmaina esošo jautājumu, pēc to pirmteksta, kas atbilst
valodas specifikācijai. valodas specifikācijai.
], ],
[ [
+ Jautājuma objekts; + Jautājums -- #question;
+ Jautājuma pirmteksts; + Jautājuma pirmteksts -- #questionSource;
], ],
[ [
+ Ja ievades teksts ir tukšs, parāda 1. paziņojumu, beidz apstrādi; + Ja ievades teksts ir tukšs, parāda 1. paziņojumu, beidz apstrādi;
@@ -607,10 +637,10 @@ Moduļa funkcijas tiek definētas tabulās:
+ Padotais jautājuma objekts tiek atjaunots ar iegūta objekta datiem; + Padotais jautājuma objekts tiek atjaunots ar iegūta objekta datiem;
], ],
[ [
+ Jautājuma objekts; + Izmainīts jautājums -- #question;
], ],
[ [
Izvades jautājuma objekts tiek atjaunots atbilsošam ierakstu jautājumu pagaidu Izvades jautājuma objekts tiek atjaunots atbilstošam ierakstu jautājumu pagaidu
glabātuvē. glabātuvē.
Saskarnē parādās indikators, ka atmiņas kartīšu fails tika izmainīts. Saskarnē parādās indikators, ka atmiņas kartīšu fails tika izmainīts.
@@ -626,7 +656,7 @@ Moduļa funkcijas tiek definētas tabulās:
Funkcija izdēš kartīti no pagaidu glabātuves. Funkcija izdēš kartīti no pagaidu glabātuves.
], ],
[ [
+ Jautājuma reference; + Norāde uz jautājumu -- #question;
], ],
[ [
+ Jautājums tiek sameklēts un izdzēsts; + Jautājums tiek sameklēts un izdzēsts;
@@ -647,15 +677,15 @@ Moduļa funkcijas tiek definētas tabulās:
failā, pārveidojot tos valodai atbilstošā formātā. failā, pārveidojot tos valodai atbilstošā formātā.
], ],
[ [
+ Faila atrašanās ceļš; + Faila atrašanās ceļš -- #mdemFilePath;
+ Jautājumu saraksts; + Jautājumu saraksts -- #questionList;
+ Datums un laiks; + Datums un laiks -- #datetime;
], ],
[ [
+ Iegūst pirmtekstu padotajiem objektiem, izmantojot procedūru #link(<PR02>)[PR02]\; + Iegūst pirmtekstu padotajiem objektiem, izmantojot procedūru #link(<PR02>)[PR02]\;
+ Ja tiek izvadīta kļūda, parāda 2. paziņojumu ar kļūdas informāciju, beidz apstrādi; + Ja tiek izvadīta kļūda, parāda 2. paziņojumu ar kļūdas informāciju, beidz apstrādi;
+ Izveido vai atver failu padotā ceļā; + Izveido vai atvēr failu padotā ceļā;
+ Ja atveršana vai izveidošana neizdevās, parāda 1. paziņojumu; + Ja atvēršana vai izveidošana neizdevās, parāda 1. paziņojumu;
+ Pievienot iegūto saturu failam un saglabā to; + Pievienot iegūto saturu failam un saglabā to;
], ],
[ [
@@ -672,9 +702,9 @@ Moduļa funkcijas tiek definētas tabulās:
=== Mācīšanās modulis === Mācīšanās modulis
Mācīšanās risinājuma kontekstā ir kartīšu prezentēšana ar interaktīvu atbildes Mācīšanās risinājuma kontekstā ir kartīšu prezentēšana ar interaktīvu atbildes
funkcionalitāti, atbilsoši atmiņas kartītes tipam. Šī moduļa funkcijas ir funkcionalitāti, atbilstoši atmiņas kartītes tipam. Šī moduļa funkcijas ir
izmantotas mācīšanās loga funkcionalitātei. Funkcijas ietver darbības ar pagaidu izmantotas mācīšanās loga funkcionalitātei. Funkcijas ietver darbības ar pagaidu
glabātuvē esošām atmiņas kartītēm. Ar funkcijām saistītas datuplūsmas ir glabātuvē esošām atmiņas kartītēm. Ar funkcijām saistītas datu plūsmas ir
attēlotas moduļa 2. līmeņa DPD (skat. @fig:madpd2 attēlu). attēlotas moduļa 2. līmeņa DPD (skat. @fig:madpd2 attēlu).
Moduļa funkcijas tiek definētas tabulās: Moduļa funkcijas tiek definētas tabulās:
#link(<MA01>)[MA01], #link(<MA01>)[MA01],
@@ -698,11 +728,11 @@ Moduļa funkcijas tiek definētas tabulās:
mācīšanas procesā. Kartīšu secību nosaka mācīšanās algoritms. mācīšanas procesā. Kartīšu secību nosaka mācīšanās algoritms.
], ],
[ [
+ Pašreizējais kartīte -- kartītes objekts; + Pašreizējais jautājums -- #question;
+ Algoritms -- viens no vertībām: "fizisks", "nejaušs", "intervālu"\; + Algoritms -- viens no vērtībām: "fizisks", "nejaušs", "intervālu"\;
], ],
[ [
+ Ja pagaidu kartīšu glabāvē nav nevienas kartītes, beidz apstrādi, neatgriežot + Ja pagaidu kartīšu glabātuvē nav nevienas kartītes, beidz apstrādi, neatgriežot
kartīti; kartīti;
+ Ja padotais algoritms ir "fizisks"; + Ja padotais algoritms ir "fizisks";
+ Ja pašreizējā kartīte ir padota, izvēlās nākamo kartīti starp pagaidu + Ja pašreizējā kartīte ir padota, izvēlās nākamo kartīti starp pagaidu
@@ -717,7 +747,7 @@ Moduļa funkcijas tiek definētas tabulās:
], ],
[ [
// Add null explanation // Add null explanation
+ Nākamās kartītes objekts (iespējams nulles objekts); + Nākamās kartītes objekts (iespējams nulles objekts) -- #question;
], ],
[ [
Funkcijai nav paziņojumu. Funkcijai nav paziņojumu.
@@ -742,7 +772,7 @@ Moduļa funkcijas tiek definētas tabulās:
+ Citādi uzstāda atbildes pareizuma atbildi kā "nepareizs"; + Citādi uzstāda atbildes pareizuma atbildi kā "nepareizs";
], ],
[ [
+ Izvēlēto atbilžu simbolu virkņu saraksts ar pareizuma karodziņu vērtībām; + #listWithCorrectFlags;
], ],
[ [
Funkcijai nav paziņojumu. Funkcijai nav paziņojumu.
@@ -757,7 +787,7 @@ Moduļa funkcijas tiek definētas tabulās:
], ],
[ [
+ Atbilžu simbolu virkņu saraksts; + Atbilžu simbolu virkņu saraksts;
+ Jautājuma objekts; + Jautājums -- #question;
], ],
[ [
+ Izskata abus sarakstus paralēli; + Izskata abus sarakstus paralēli;
@@ -766,7 +796,7 @@ Moduļa funkcijas tiek definētas tabulās:
+ Citādi uzstāda atbildes pareizuma atbildi kā "nepareizs"; + Citādi uzstāda atbildes pareizuma atbildi kā "nepareizs";
], ],
[ [
+ Atbilžu simbolu virkņu saraksts ar pareizuma karodziņu vērtībām; + #listWithCorrectFlags;
], ],
[ [
Funkcijai nav paziņojumu. Funkcijai nav paziņojumu.
@@ -782,7 +812,7 @@ Moduļa funkcijas tiek definētas tabulās:
[ [
+ Negrupēto elementu simbolu virkņu saraksts; + Negrupēto elementu simbolu virkņu saraksts;
+ Grupētu simbolu virkņu sarakstu saraksts; + Grupētu simbolu virkņu sarakstu saraksts;
+ Jautājuma objekts; + Jautājums -- #question;
], ],
[ [
+ Katram nesagrupētam elementam uzstāda pareizuma pazīmi uz "nepareizs"; + Katram nesagrupētam elementam uzstāda pareizuma pazīmi uz "nepareizs";
@@ -811,7 +841,7 @@ Moduļa funkcijas tiek definētas tabulās:
[ [
+ Intervāla atbilde -- viens no: "nav atbildēts", "grūti", "vidēji", + Intervāla atbilde -- viens no: "nav atbildēts", "grūti", "vidēji",
"viegli", "ļoti viegli"; "viegli", "ļoti viegli";
+ Jautājuma objekts; + Jautājums -- #question;
], ],
[ [
+ No konfigurācijas glabātuves tiek iegūts intervāls, kas atbilst sniegtai + No konfigurācijas glabātuves tiek iegūts intervāls, kas atbilst sniegtai
@@ -819,7 +849,7 @@ Moduļa funkcijas tiek definētas tabulās:
+ Jautājumam tiek uzstādīts intervāls; + Jautājumam tiek uzstādīts intervāls;
], ],
[ [
+ Izmainīts jautājuma objekts; + Izmainīts jautājums -- #question;
], ],
[ [
Funkcijai nav paziņojumu. Funkcijai nav paziņojumu.
@@ -832,7 +862,7 @@ Konfigurācijas modulis iekļauj parametrus, ko var personalizēt saistībā ar
mācīšanās procesu, prezentāciju uc. Šī moduļa funkcijas ir izmantotas mācīšanās procesu, prezentāciju uc. Šī moduļa funkcijas ir izmantotas
konfigurējot vērtības, kas tiek glabātas konfigurācijas failā un tiek konfigurējot vērtības, kas tiek glabātas konfigurācijas failā un tiek
izmantotas risinājuma funkcionalitātē, kur tās aspektiem piemīt konfigurējamas izmantotas risinājuma funkcionalitātē, kur tās aspektiem piemīt konfigurējamas
vērtības. Ar funkcijām saistītas datuplūsmas ir attēlotas moduļa 2. līmeņa DPD vērtības. Ar funkcijām saistītas datu plūsmas ir attēlotas moduļa 2. līmeņa DPD
(skat. @fig:kfdpd2 attēlu). (skat. @fig:kfdpd2 attēlu).
Moduļa funkcijas tiek definētas tabulās: Moduļa funkcijas tiek definētas tabulās:
#link(<KF01>)[KF01], #link(<KF01>)[KF01],
@@ -860,7 +890,7 @@ Moduļa funkcijas tiek definētas tabulās:
+ Ielādētā konfigurācijā tiek sameklēts konfigurācijas vērības ieraksts; + Ielādētā konfigurācijā tiek sameklēts konfigurācijas vērības ieraksts;
], ],
[ [
+ Konfigurācijas vērtība -- viens no: skaitlis, simbolu virkne, karodziņs; + Konfigurācijas vērtība -- #configValue;
], ],
[ [
+ Konfigurācijas fails nav korekts, nevar nolasīt konfigurāciju; + Konfigurācijas fails nav korekts, nevar nolasīt konfigurāciju;
@@ -881,7 +911,7 @@ Moduļa funkcijas tiek definētas tabulās:
+ Ielādētā konfigurācijā tiek iegūtas vērtības; + Ielādētā konfigurācijā tiek iegūtas vērtības;
], ],
[ [
+ Konfigurācijas vērtību saraksts -- viens no: skaitlis, simbolu virkne, karodziņs; + Konfigurācijas vērtību saraksts -- #configValue;
], ],
[ [
+ Konfigurācijas fails nav korekts, nevar nolasīt konfigurāciju; + Konfigurācijas fails nav korekts, nevar nolasīt konfigurāciju;
@@ -896,7 +926,7 @@ Moduļa funkcijas tiek definētas tabulās:
], ],
[ [
+ Vērtības atslēga -- simbolu virkne; + Vērtības atslēga -- simbolu virkne;
+ Konfigurācijas vērtība -- viens no: skaitlis, simbolu virkne, karodziņs; + Konfigurācijas vērtība -- #configValue;
], ],
[ [
+ Ja konfigurācija vēl nebija ielādēta, tiek ielādēts konfigurācijas fails; + Ja konfigurācija vēl nebija ielādēta, tiek ielādēts konfigurācijas fails;
@@ -945,7 +975,7 @@ Pirmkodam jābūt izstrādātam ar sekojošiem nosacījumiem:
==== Pārnesamība ==== Pārnesamība
Uz pārnesamību risinājumam ir sekojoša prasība: kartīšu failiem ir jābūt pārnesamiem Uz pārnesamību risinājumam ir sekojoša prasība: kartīšu failiem ir jābūt pārnesamiem
pārkopējot visu direktoriju uz citu mašīnu. Nosacījums saglabā atgriezinisko savietojamību pārkopējot visu direktoriju uz citu mašīnu. Nosacījums saglabā atgriezenisko savietojamību
vienas galvenās versijas ietvaros. vienas galvenās versijas ietvaros.
==== Drošība ==== Drošība
@@ -967,9 +997,34 @@ Uz drošību risinājumam ir sekojošas prasības:
"Alison Voice and Arran Stirton", "Alison Voice and Arran Stirton",
[Spaced Repetition: towards more effective learning in STEM (2020).], [Spaced Repetition: towards more effective learning in STEM (2020).],
"https://web.archive.org/web/20171019211402/https://www.loc.gov/standards/datetime/ISO_DIS%208601-1.pdf", "https://web.archive.org/web/20171019211402/https://www.loc.gov/standards/datetime/ISO_DIS%208601-1.pdf",
datetime( std.datetime(
year: 2024, year: 2024,
month: 10, month: 10,
day: 12, day: 12,
), ),
)<spaced-repetition-1> )<spaced-repetition-1>
+ #hyperlink-source(
"Paul Sexton",
[org-drill.el flashcards and spaced repetition for org-mode],
"https://orgmode.org/worg/org-contrib/org-drill.html",
std.datetime(
year: 2024,
month: 10,
day: 21,
),
)<org-drill>
+ #hyperlink-source(
"",
[What are flashcard sets?],
"https://help.quizlet.com/hc/en-us/articles/360032006352-What-are-flashcard-sets",
std.datetime(
year: 2024,
month: 10,
day: 21,
),
)<quizlet>