Laboratorinis darbas Nr.4
Užduotis
Parašyti perl skriptus:
- susipažinti su nuorodomis ir funkcijomis:
- gauti nuorodą į skaliarinį, masyvo, asociatyvaus masyvo, failo deskriptoriaus
kintamuosius, įvardintą ir anoniminę funkciją, masyvo ir asociatyvaus masyvo
elementus, naudojant atvirkščio brūkšnio sintaksę;
- gauti reikšmes, esančias pagal aukščiau išvardintas nuorodas, pakeisti jas (kur
įmanoma);
- gauti nuorodą į skaliarinį, masyvo, asociatyvaus masyvo, failo deskriptoriaus
kintamuosius, įvardintą ir anoniminę funkciją, masyvo ir asociatyvaus masyvo
elementus, naudojant žvaigždutės arba žvaigždutės su tipu sintaksę;
- gauti reikšmes, esančias pagal aukščiau išvardintas nuorodas, pakeisti jas (kur
įmanoma);
- parašyti funkcijų poras kv.lygties šaknim spausdinti (determinantas ir pačių
šaknų skaičiavimas/ spausdinimas), kurios
- parametram perduoti naudotų globalius kintamuosius;
- parametrų reikšmes imtų tiesiai iš spec.kintamojo @_
- parametrus imtų iš įvardintų lokalių kintamųjų
- šaknų spausdinimo funkcija gautų parametrus, tačiau D funkcija parametrus
gautų per globalius kintamuosius (2 variantai: naudojant my ir
local)
- parašyti ir iškviesti funkciją, kuri kaip antrą iš trijų parametrų turi gauti
masyvą (2 variantai: su prototipais ir be jų);
- aprašyti ir panaudoti konstantą;
- realus uždavinys:
- parašyti funkcijas darbui su binariniu medžiu
- turi būti pridėjimo, išmetimo, spausdinimo ir paieškos (pagal raktą) operacijos
- medyje turi būti saugoma informacija:
- tel. numeris (raktas)
- pavardė
- adresas
- laukų įvardijimui naudoti konstantas
- Signalai ir klaidų apdorojimas
Parašyti skriptą, kuris:
- vykdydamas vieną funkciją ignoruotų HUP signalus (tikslui pasiekti
naudoti tik vieną priskyrimą);
- vykdytų dalybą iš 0 ir nesukeltų fatalinės klaidos;
- perdengų ir patikrintų, kad veikia warn ir die funkcijas;
- cikle priimtų iš vartotojo perl'inę išraišką, bandytų ją įvykdyti ir išeitų iš
ciklo tik vartotojui pateikus tam tikrą komandą.
- Pertvarkyti (2) punkto programą taip, kad:
- medžio struktūrą apdorotų klasė;
- prie jos būtų galima prieiti per sąsają;
- sukurtą medį būtų galima įrašyti/nuskaityti į/iš failo;
- kai kurie medžio apdorojimo metodai būtų įtraukiami į programos kontekstą tik juos
specialiai nurodžius;
- įjungiant modulį į programą jis išvestų (C) informaciją;
- bandant kviesti neparašytą funkciją "draugiškai" apie tai praneštų ir toliau
vykdytų programą;
- programa naudojanti modulį atspausdintų vardus visų simbolių, kurie yra
įjungiamame modulyje;
(C) 1998, 1999,
Aidas Kasparas
<kaspar@soften.ktu.lt>