Add multilingual Agila learning examples and Git practice guide
This commit is contained in:
commit
85f487afb0
79 files changed
+813
No files matched your search
@@ -0,0 +1,9 @@
|
||||
# Bahagi para sa pag-usad na dumaan sa pagsusuri
|
||||
|
||||
Palawakin ang bahaging para sa level gamit ang sarili mong operasyong may malinaw na specification. Isumite ang ebidensiya ng matagumpay at inaasahang kabiguang mga kaso kasama ang paliwanag na maaaring suriin.
|
||||
|
||||
- Itala ang pinapayagang input at ipinangakong resulta.
|
||||
- Panatilihing nakabukas ang assertion checking at itala ang compiler settings.
|
||||
- Subukan ang mababa at mataas na wastong input at hiwalay na paglabag sa precondition.
|
||||
- Ipakitang nahuhuli ang sadyang maling body, at pagkatapos ay ibalik ito.
|
||||
- Ipaliwanag ang natitirang limitasyon at tukuyin ang susunod na hakbang sa pag-aaral.
|
||||
@@ -0,0 +1,18 @@
|
||||
pragma Assertion_Policy (Check);
|
||||
with Ada.Text_IO;
|
||||
|
||||
procedure Main is
|
||||
subtype Level is Integer range 0 .. 10;
|
||||
function Next_Level (Current : Level) return Level
|
||||
with Pre => Current < Level'Last,
|
||||
Post => Next_Level'Result = Current + 1;
|
||||
|
||||
function Next_Level (Current : Level) return Level is
|
||||
begin
|
||||
return Current + 1;
|
||||
end Next_Level;
|
||||
begin
|
||||
pragma Assert (Next_Level (0) = 1);
|
||||
pragma Assert (Next_Level (9) = 10);
|
||||
Ada.Text_IO.Put_Line ("Pumasa ang dalawang pagsusuri sa hangganan");
|
||||
end Main;
|
||||
@@ -0,0 +1,8 @@
|
||||
# Ang maipapaliwanag kong anunsiyo sa pag-aaral
|
||||
|
||||
Sumulat ng maikling programang Ada na nagpapahayag ng layunin sa pag-aaral at naglalabas ng mensahe ng pag-usad kapag natugunan ang kondisyon.Suriin ang iyong source, hula, at aktuwal na resulta. Gamitin ang puna ng awtomatikong pagsusuri upang balikan ang mali at piliin ang susunod na test.
|
||||
|
||||
- Ipaliwanag sa sarili mong salita ang with, deklarasyon, begin/end, :=, at =.
|
||||
- Ipakita ang isang panimulang halagang naglalabas ng mensaheng may kondisyon at isa na hindi.
|
||||
- Itala ang isang sadyang mali sa syntax at kung paano nakatulong ang compiler upang mahanap ito.
|
||||
- Kilalanin ang anumang tulong ng AI at ipaliwanag ang bawat linyang pinanatili mo.
|
||||
@@ -0,0 +1,11 @@
|
||||
with Ada.Text_IO;
|
||||
|
||||
procedure Main is
|
||||
Lessons_Done : Natural := 0;
|
||||
begin
|
||||
Ada.Text_IO.Put_Line ("Ang una kong sesyon ng pag-aaral sa Agila");
|
||||
Lessons_Done := Lessons_Done + 1;
|
||||
if Lessons_Done = 1 then
|
||||
Ada.Text_IO.Put_Line ("Natapos ang isang aralin");
|
||||
end if;
|
||||
end Main;
|
||||
@@ -0,0 +1,9 @@
|
||||
# Pagkuwenta ng plano sa pag-aaral na muling magagamit
|
||||
|
||||
Bumuo at subukan ang maliit na bahaging nagkukuwenta ng bilang ng aralin. Magsimula sa nested function; maaari mo itong ilipat sa isang Ada package sa lokal na proyektong maraming file.
|
||||
|
||||
- Sabihin ang tuntunin para sa Total/Done nang hindi tumutukoy sa source code.
|
||||
- Suriin ang (0,0), (4,0), (4,3), (4,4), at (4,5).
|
||||
- Ipaliwanag kung bakit naaabot lamang ang subtraction kapag mas mababa ang Done sa Total.
|
||||
- Ihiwalay ang pagkukuwenta sa output.
|
||||
- Magsama ng tala para sa pagsusuri na nagpapaliwanag ng isang pasya sa disenyo at isang limitasyon.
|
||||
@@ -0,0 +1,13 @@
|
||||
with Ada.Text_IO;
|
||||
|
||||
procedure Main is
|
||||
function Remaining (Total, Done : Natural) return Natural is
|
||||
begin
|
||||
if Done >= Total then
|
||||
return 0;
|
||||
end if;
|
||||
return Total - Done;
|
||||
end Remaining;
|
||||
begin
|
||||
Ada.Text_IO.Put_Line (Natural'Image (Remaining (4, 1)));
|
||||
end Main;
|
||||
@@ -0,0 +1,9 @@
|
||||
# Tagasuri ng marka na may talahanayan ng mga test
|
||||
|
||||
Baguhin ang panimulang code upang maging maipapaliwanag na tagasuri ng marka na may dokumentadong hangganan para sa pagsusuri. Gumamit muna ng nakatakdang raw values para madaling maulit ang pagsasanay bago magdagdag ng interaktibong input.
|
||||
|
||||
- Idokumento ang pinapayagang halaga at tugon sa hindi wastong halaga.
|
||||
- Subukan ang -1, 0, 1, 99, 100, at 101.
|
||||
- Subukan ang magkabilang panig at ang eksaktong hangganan para sa pagsusuri.
|
||||
- Ipaliwanag ang membership test, conversion, at anumang pag-aayos ng mensahe.
|
||||
- Bahagi ng pag-usad na maaari mong mapatunayan
|
||||
@@ -0,0 +1,12 @@
|
||||
with Ada.Text_IO;
|
||||
|
||||
procedure Main is
|
||||
subtype Score is Integer range 0 .. 100;
|
||||
Raw : Integer := 101;
|
||||
begin
|
||||
if Raw in Score then
|
||||
Ada.Text_IO.Put_Line ("Tinanggap" & Score'Image (Score (Raw)));
|
||||
else
|
||||
Ada.Text_IO.Put_Line ("Dapat nasa pagitan ng 0 at 100 ang marka");
|
||||
end if;
|
||||
end Main;
|
||||
@@ -0,0 +1,9 @@
|
||||
# Pagsusuri ng draft na may hangganan na parang ginawa ng AI
|
||||
|
||||
Suriin at ayusin ang function na sadyang mali sa hangganan.Suriin ang iyong source, hula, at aktuwal na resulta. Gamitin ang puna ng awtomatikong pagsusuri upang balikan ang mali at piliin ang susunod na test.
|
||||
|
||||
- Muling sabihin sa sarili mong salita ang requirement na hindi bababa sa 70.
|
||||
- Sundan ang 69, 70, at 71 bago patakbuhin.
|
||||
- Ipakita ang mali at itinamang paghahambing kasama ang aktuwal na resulta.
|
||||
- Ipaliwanag ang type ng input, resultang Boolean, at tawag para sa output.
|
||||
- Bahagi ng pag-usad na maaari mong mapatunayan
|
||||
@@ -0,0 +1,10 @@
|
||||
with Ada.Text_IO;
|
||||
|
||||
procedure Main is
|
||||
function Passed (Score : Integer) return Boolean is
|
||||
begin
|
||||
return Score > 70; -- Sadyang halimbawang susuriin
|
||||
end Passed;
|
||||
begin
|
||||
Ada.Text_IO.Put_Line (Boolean'Image (Passed (70)));
|
||||
end Main;
|
||||
@@ -0,0 +1,9 @@
|
||||
# Pakete para sa pagsusuri sa Agila Forge
|
||||
|
||||
Suriin ang iyong source, hula, at aktuwal na resulta. Gamitin ang puna ng awtomatikong pagsusuri upang balikan ang mali at piliin ang susunod na test.
|
||||
|
||||
- Isama ang README na may problema, kailangan bago magsimula, eksaktong command, at limitasyon.
|
||||
- Isumite ang source at hiwalay na ebidensiya para sa normal na kaso, hangganan, at kabiguan.
|
||||
- Suriin ang diff at ipaliwanag ang bawat pinanatiling pagbabago.
|
||||
- Idokumento ang tulong ng AI at ang pagpapatunay na ginawa mo mismo.
|
||||
- Suriin ang iyong source, hula, at aktuwal na resulta. Gamitin ang puna ng awtomatikong pagsusuri upang balikan ang mali at piliin ang susunod na test.
|
||||
@@ -0,0 +1,20 @@
|
||||
# Pakete para sa pagsusuri
|
||||
|
||||
Problema at nilalayong kilos:
|
||||
|
||||
Mga tool / compiler / revision ng SDK:
|
||||
|
||||
Mga command sa pagbuo at pagpapatakbo:
|
||||
|
||||
Test case | Inaasahan | Aktuwal | Bakit mahalaga ang kasong ito
|
||||
|
||||
Pasya sa disenyo at patakaran sa kabiguan:
|
||||
|
||||
Tulong ng AI at pagpapatunay ko:
|
||||
|
||||
Kilalang mga limitasyon:
|
||||
|
||||
Puna ng awtomatikong pagsusuri at mga rebisyon:
|
||||
|
||||
Susunod na layunin sa pag-aaral:
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
# Maikling ulat ng bug na may nauulit na ebidensiya
|
||||
|
||||
Gawing malinaw na ulat ng bug at pag-aayos ang depekto sa hangganan. Isama ang hiwalay na inaasahang mga resulta, regression test, at malinaw na limitasyon.
|
||||
|
||||
- Sabihin ang requirement at tukuyin ang inaasahan bago patakbuhin.
|
||||
- Ipakita ang pinakamaliit na input na naglalantad ng orihinal na pagkakasalungat.
|
||||
- Ipakitang nabibigo ang test para sa depekto at pumapasa matapos ayusin.
|
||||
- Itala ang assertion policy at compiler command.
|
||||
- Ipaliwanag ang isang hindi nasubukang requirement at magmungkahi ng susunod na kaugnay na kaso.
|
||||
@@ -0,0 +1,14 @@
|
||||
pragma Assertion_Policy (Check);
|
||||
with Ada.Text_IO;
|
||||
|
||||
procedure Main is
|
||||
function Passed (Score : Integer) return Boolean is
|
||||
begin
|
||||
return Score >= 70;
|
||||
end Passed;
|
||||
begin
|
||||
pragma Assert (not Passed (69));
|
||||
pragma Assert (Passed (70));
|
||||
pragma Assert (Passed (71));
|
||||
Ada.Text_IO.Put_Line ("Pumasa ang mga pagsusuri sa hangganan");
|
||||
end Main;
|
||||
@@ -0,0 +1,9 @@
|
||||
# Pagsusuri ng SDK na may ebidensiya
|
||||
|
||||
Suriin ang maikling draft sa Flying V batay sa inilabas na SDK. Gumawa ng suportadong prototype at listahan ng mga pahayag na nangangailangan pa ng dokumentasyon.
|
||||
|
||||
- Suriin ang UI field, pagkakasunod-sunod ng lifecycle, at pahayag tungkol sa graphics output.
|
||||
- Itala ang eksaktong source path at revision ng SDK na ginamit.
|
||||
- Uriin ang mga pahayag bilang suportado, sinasalungat, o hindi napatunayan.
|
||||
- Patakbuhin ang suportadong prototype at ihambing ang inaasahan sa aktuwal na output.
|
||||
- Ipaliwanag ang hangganan ng sandbox at panatilihing nakatatak na mungkahi ang interaksiyon sa hinaharap.
|
||||
@@ -0,0 +1,5 @@
|
||||
import agila
|
||||
|
||||
fn main() {
|
||||
agila.preview(agila.Button{label: 'Simulan ang pagsasanay'})
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
# Tala ng pag-aaral sa tatlong hakbang
|
||||
|
||||
Sumulat ng programang Flying V na nagla-log ng simula, layunin, at katapusan ng sesyon ng pag-aaral gamit ang dokumentadong function ng SDK.
|
||||
|
||||
- Gamitin ang agila.log at tukuyin ang depinisyon nito sa pampublikong SDK.
|
||||
- Hulaan ang eksaktong output, kasama ang prefix ng SDK, bago patakbuhin.
|
||||
- Ipaliwanag ang import, main, string argument, at pagkakasunod-sunod ng mga utos.
|
||||
- Itala ang isang diagnostic dahil sa maling baybay ng function at ang pag-aayos nito.
|
||||
- Suriin ang iyong source, hula, at aktuwal na resulta. Gamitin ang puna ng awtomatikong pagsusuri upang balikan ang mali at piliin ang susunod na test.
|
||||
@@ -0,0 +1,5 @@
|
||||
import agila
|
||||
|
||||
fn main() {
|
||||
agila.log('Kaya kong ipaliwanag ang programang ito')
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
# Laboratoryo ng lifecycle na may inaasahang kabiguan
|
||||
|
||||
Bumuo ng maliit na application at mga hiwalay na eksperimento sa lifecycle. Ipaliwanag kung aling error ang nakikita ng SDK at kung ano ang susunod na ginagawa ng application.
|
||||
|
||||
- Ipakita ang normal na pagkakasunod-sunod na create/start/request/stop.
|
||||
- Hiwalay na subukan ang walang lamang id at walang lamang pangalan.
|
||||
- Hiwalay na subukan ang request bago start at dalawang start.
|
||||
- Ipaliwanag ang pagkakaiba ng error handler na nagre-return at ng nagpapatuloy.
|
||||
- Itala ang source, output, at limitasyon ng pagsusuri ng capability sa sandbox para sa reviewer.
|
||||
@@ -0,0 +1,15 @@
|
||||
import agila
|
||||
|
||||
fn main() {
|
||||
mut app := agila.new_app('dev.student.study', 'Kaagapay sa Pag-aaral') or {
|
||||
eprintln(err.msg())
|
||||
return
|
||||
}
|
||||
app.start() or {
|
||||
eprintln(err.msg())
|
||||
return
|
||||
}
|
||||
app.request(.ui) or { eprintln(err.msg()) }
|
||||
agila.log('Handa nang mag-aral')
|
||||
app.stop()
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
# Paglalarawan ng study card para sa baguhan
|
||||
|
||||
Gamitin ang ibinigay na mga uri ng widget upang ilarawan ang study card. Ihiwalay ang napatunayang sandbox output sa guhit ng nilalayong interaktibong kilos sa hinaharap.
|
||||
|
||||
- Bumuo ng Column gamit ang mga child na Text at Button.
|
||||
- Hulaan at suriin ang bilang ng child para sa isa, dalawa, at tatlo.
|
||||
- I-preview ang hiwalay na Text at Button at ipaliwanag ang kanilang paglalarawan.
|
||||
- Pumili ng madaling maunawaang teksto at itala ang puna ng isang mambabasa.
|
||||
- Ilista nang hiwalay ang nilalayong interaksiyon at ipaliwanag kung bakit walang callback ang kasalukuyang Button.
|
||||
@@ -0,0 +1,11 @@
|
||||
import agila
|
||||
|
||||
fn main() {
|
||||
view := agila.Column{
|
||||
children: [
|
||||
agila.Text{value: 'Ngayon: unawain ang isang function'},
|
||||
agila.Button{label: 'Simulan ang pagsasanay'},
|
||||
]
|
||||
}
|
||||
agila.preview(view)
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
# Maipapaliwanag na prototype ng Agila study app
|
||||
|
||||
Maghanda ng prototype sa Flying V na maaaring suriin, gamit ang dokumentadong lifecycle at UI contracts. Magdagdag ng hiwalay na eksperimento sa descriptor validation; idokumento kung ano ang naipapakita ng sandbox at kung ano ang nangangailangan ng production runtime.
|
||||
|
||||
- Ipaliwanag ang lahat ng API na ginamit at ituro ang sanggunian sa pampublikong SDK.
|
||||
- Isama ang matagumpay na lifecycle at isang kasong may hinawakang error.
|
||||
- Isama ang UI description at tumpak na inaasahang sandbox output.
|
||||
- Hiwalay na subukan ang wasto, zero, at negatibong mesh counts.
|
||||
- Suriin ang iyong source, hula, at aktuwal na resulta. Gamitin ang puna ng awtomatikong pagsusuri upang balikan ang mali at piliin ang susunod na test.
|
||||
@@ -0,0 +1,12 @@
|
||||
import agila
|
||||
|
||||
fn main() {
|
||||
mesh := agila.MeshDescriptor{
|
||||
vertex_count: 3
|
||||
index_count: 3
|
||||
}
|
||||
agila.submit_mesh(mesh) or {
|
||||
eprintln(err.msg())
|
||||
return
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
program HelloAgila;
|
||||
begin
|
||||
writeln('Kumusta, Agila!');
|
||||
end.
|
||||
@@ -0,0 +1 @@
|
||||
fn main() { println!("Kumusta, Agila!"); }
|
||||
Reference in new issue
Block a user