Laboratorinis darbas Nr.1
SUSIPAŽINIMAS SU TURBO PASKALIO APLINKA
TIKSLAS Išmokti įeiti į Turbo Paskalio aplinką iš WINDOWS’95. Įsisąvinti integruotos Paskalio aplinkos: 1)Redaktorių;2)Kompiliatorių;3)Komponuotoją. Susipažinti su Paskalio algoritminės kalbos sintakse, programosforma, struktūra.
UŽDUOTIS 1.Įeikite į D:\DARBINE 1. Iškviekite darbui (užleiskite) programą Išnagrinėkite kaip ji parašyta (žiūr.”Info-2-teo” 67pusl.). Tam tikslui: 2.Įeikite į Turbo-Paskalį. 2.1. Įėjimui naudojama Windows’95 ikona “TURBO PASCAL7”. Šiuo atveju Jus iš karto atsirasite direktorijoje DARBINE irgalėsite suvedinėti (redaguoti) programas, jas kompiliuoti ir iškviestidarbui. Turbo Paskalio aplinka charakteringa “užuolaidėle” visam ekranui ir pagrindinio meniu eilute ekrano viršuje.Pagrindiniame meniu yra tokie skyriai:
File Edit Search Run Compile Debug Tools Options Windows Help
2.2. Aplinka turi būti sukonfigūruota taip, kad Turbo Paskaliskompiliuotų ir iškviestų darbui failus <*.pas> iš katalogo D:\DARBINE. Jeigu taip nėra,tai: 2.3. Pagrindiniame meniu išrinkti skyrių . Atsidariusiame kabanančiame lange išrinkti opciją ir pasirodžiusiame katalogų sąraše išrinkti , tai patvirtinti pelytes spragtelėjimu dešinėjeesančiame langelyje , o vėliau ir langelyje . Dabar, jeigu Jus vėl išrinksite pagrindinio meniu skyrelį ir toliau opciją , tai ekrane matysite, kurie <*.pas> failai yra kataloge ir kuriuos Paskalio kompiliatorius gali pasiimti apdorojimui (pvz. ). 2.4.Nusiuskite į redaktoriaus buferį ir paredaguokiteišvedamą į ekraną tekstą(pagal savo skonį). 3. Susipažinimas su TP7 kompiliatoriumi. 3.1. Sukompiliuokite programą bendroji.pas. Tam tikslui naudokitėspagrindinio meniu Compile skyrelį. 4. Susipažinimas su TP7 komponuotoju (vadinamuoju “linkeriu”). 4.1. Sukomponuokite programą bendroji.pas (tuo pačiu iškviesite jądarbui). Čia naudokitės pagrindinio meniu Run skyreliu. 5.Įeikite į D:\DARBINE ir “užleiskite” programą 6.Sudarykite sprendimo algoritmą uždaviniui:” Nustatyti, ar galimaįkišti plytą su matmenimis a, b, c į stačiakampę angą, kurios kraštinės x
ir y ”. Parašyti šiam uždaviniui sręsti Paskalio programą vardu (žiūr.”Info-2-teo” 3pusl.). 7. Susipažinimas su TP7 redaktoriumi. 7.1. Pagrindiniame “meniu” išrinkite skyrių . Pasirodžiusiame “submeniu” išrinkite opciją (tai reiškia naujofailo sukūrimą) ir suvęskite į kompiuterį programą . 8.Sukompiliuokite įvesta programą ir ištaisykite klaidas. 9.Sukomponuokite programą . 10. Ataskaitai pateikti programos algoritmo blokinęschemą ir paskalinį failą.Laboratorinis darbas Nr. 2.
B E N D R A S D I D Ž I A U S I A S D A L I K L I S
TIKSLAS Susipažinti su uždavinio sprendimo algoritmo sudarymu.Pagal algoritmoblokschemą parašyti programą Paskalio algoritmine kalba.Algoritmą irprogramą “suderinti” taip, kad uždavinys turėtų atsakymą prie bet kokiųpradinių reikšmių.
UŽDUOTIS A lygis.(0.8 balo)
Pagal Euklido algoritmą parašyti programą dviejū sveikų skaičiųbendram didžiausiam dalikliui rasti, ją suvęsti į kompiuterį, sukompiliuotiir iškviesti darbui. Vieną iš dviejų skaičių paimti lygų nuliui. Nustatyti, kas šiuoatveju įvyks. Pataisyti algoritmą taip, kad procesorius patikrinęspradinius duomenysir radęs vieną iš įvestųjų skaičių lygu nuliui, nesiūstų tokių duomenųEuklido blokui, o BDD priskirtų skaičių, kuris nelygus nuliui ir baigtųprogramą. Vieną iš dviejų skaičių įvęsti neigiamą. Nustatyti, kas ir kodėlatsitinka šiuo atveju. Pataisyti algoritmą taip, kad įvęstieji neigiamiskaičiai nesutrikdytų programos darbo. Įdėti dar vieną “saugiklį” tam atvejui, jeigu nepatyręs vartotojasįvęstų abu nulinius skaičius. Šiuo atveju reikia išvęsti pranešimą, kad BDDieškojimas dabar neturi prasmės.
B lygis.(0.9 balo)
Įvęsti į algoritmą papildomą skaitiklį, rodantį kiek ciklų“prasisuka” iki surandamas BDD. Pasiūlyti efektyvesnį BDD radimo algoritmą (pvz., naudojant dalybosveiksmą).
C lygis.(1.0 balo)
Papildomai parašyti REKURSINĘ BDD radimo programą.
ATASKAITAI pateikti naudotų algoritmų blok-schemas ir veikiančiasprogramas.
L aboratorinis darbas Nr.3
M A X – M I N
TIKSLAS Pagal paskaitose išnagrinėtus atsitiktinių skaičių masyvo sudarymoir maksimalaus bei minimalaus masyvo elementų radimo algoritmus, parašytiprogramą ir įsisąvinti masyvo tipo duomenų aprašymą bei selektoriusatskiriems masyvo nariams.
UŽDUOTIS A lygis.(0.8 balo)
1.Parašyti vienmačio atsitiktinių sveikų skaičių masyvo(su atsitiktiniais ženklais) generavimo ir išvedimo į ekraną programą. Programos aprašomojoje dalyje aprašyti dvi procedūras: GENER irPRINT. Procedūroje GENER užtikrinti minėto masyvo (elemento reikšmės ribosnuo 0 iki 10, o elementų skaičius N=10) generavimą, naudojant procedūrąRANDOMIZE ir funkciją RANDOM(X). Procedûroje PRINT aprašyti sugeneruoto masyvo išvedimą į ekranąeilute, nurodant masyvo elemento selektorių ir elemento reikšmę, pvz. A[1]=6;A[2]=-2;A[3]=… Programos vykdomojoje dalyje numatyti jos kartojimo ir stabdymogalimybes. Programą sukomoiliuoti ir iškviesti darbui, peržiūrėti keletąmasyvo realizacijų su RANDOMIZE ir be jos. 2.Papildyti jau veikiančią programą dar viena procedūra MAXMIN,kurioje užprogramuoti nuoseklią visų masyvo narių peržiūrą tikslu rastimaksimalią ir minimalią reikšmes, jas išvęsti į ekraną. Užprogramuoti ekstremalių elementų vietų nustatymą ir jų išvedimą įekraną.
B lygis.(0.9 balo)
Pasiūlyti ir įgyvendinti naujus skaičiaus ženklo generavimoalgoritmus.
ATASKAITAI pateikti naudotų algoritmų blok-schemas ir veikiančiasprogramas.
Laboratorinis darbas Nr. 4
MASYVO ELEMENTŲ RIKIAVIMAS
TIKSLAS Susipažinti su masyvo elementų rikiavimo algoritmais.
UŽDUOTIS
A lygis.(0.8 balo)
Laboratorinio darbo Nr. 3 užduotyje esamą procedūrą MAXMIN pakeistiprocedura MARIKI, kurioje užprogramuoti sugeneruoto masyvo rikiavimądidėjimo (arba mažėjimo) tvarka (vienas iš rikiavimo algoritmų nagrinėtasper paskaitas). Užtikrinti surikiuoto ir nesurikiuoto masyvų išvedimą įekraną. Numatyti programos kartojimo galimybę, tikslu gauti nau-
jas masyvų realizacijas.B lygis.(0.9 balo)
Pasiūlyti kitokių rikiavimo algoritmų.
ATASKAITAI pateikti naudotų algoritmų blok-schemas ir veikiančiasprogramas.
Laboratorinis darbas Nr.5
M A T R I C A
TIKSLAS Susipažinti su matricomis, jų formavimu,užpildymu,išvedimu. Susipažinti su kai kuriais veiksmais, atliekamais sumatricomis. UŽDUOTIS A lygis.(0.8 balo)
1. Sugeneruoti stačiakampę E-eilučių ir S-stulpelių matricą suatsitiktiniais trupmeniniais atsitiktinio ženklo skaičiais (E ir S imtineviršijant reikšmės 6). Aprašyti tai kaip procedūrą MGEN. Pagrindinójeprogramoje numatyti dialogą: -Kelių eilučių matricą generuoti?(E=); -Kelių stulpelių matricą generuoti?(S=).1. Parašyti matricos išvedimo į ekranÝ procedūrą PRINE.Pastaba. Skaičius išvedinėti dviejų ženklų po kablelio tikslumu.
B lygis.(0.9 balo)
Papildomai sugeneruoti sveikų skaičių 3×3 matricą ir rasti jos determinantą.
C lygis.(1.0 balo)
Papildomai sugeneruoti dvi sveikų skaičių 3×3 matricas A ir B. Rasti jų sandaugos matricą C = A * B.
ATASKAITAI pateikti naudotų algoritmų blok-schemas ir veikiančiasprogramas.
Laboratorinis darbas Nr.6
C I K L I N I S S U M A V I M A S
TIKSLAS Susipažinti ir įsisąvinti ciklinį sumavimą.
UüDUOTIS
A,B,C lygiai.(0.8 balo)
Sugeneruoti 3×3 matricą (žiūr. lab. darbą Nr.5) ir, vienodvigubo ciklo metu: a) suskaičiuoti kiek matricoje yra neigiamų narių; b) suskaičiuoti visų teigiamų narių sumą.Ekrane parodyti sugeneruotąją matricą ir suskaičiuotas sumas.
ATASKAITAI pateikti naudotų algoritmų blok-schemas ir veikiančiasprogramas.
Labotatorinis darbas Nr.7
C I K L I N Ė D A U G Y B A
TIKSLAS Susipažinti su ciklinės daugybos principais.
UŽDUOTIS A lygis.(0.8 balo)
Parašyti Paskalio funciją sveiko skaičiaus faktorialui rasti (pvz., naudojant ciklą FOR). Pagrindinėje programoje numatyti dialogą: -įvęskite sveiką skaičių N= (5) …………………………. Skaßiaus 5!=120.Nustatyti, kokio didžiausio sveiko skaičiaus faktorialą gali teisingai
suskaičiuoti kompiuteris, jeigu faktorialo kintąmąjį aprašyti: a) integer; b) longint.Abiem atvejais numatyti “saugiklius”, kad būtų skaičiuojami tikneperpildantys nurodyto kintamojo lastelės skaičiai.B lygis.(0.9 balo)Papildomai parašyti faktorialo skaičiavimo funkcijas suWHILE ir REPEATciklais ir faktorialo kintamojo lastelės tipu .
C lygis. (1.0 balo)Papildomai parašyti rekursinę faktorialo skaičiavimo programą.
ATASKAITAI pateikti naudotų algoritmų blok-schemas ir veikiančiasprogramas.
Laboratorinis darbas Nr.8
V ĖL I A V Ė L Ė
TIKSLAS Susipažinti su “vėliavėlių” panaudojimu nustatant “trasą”algoritmo “kaliuose”.
UŽDUOTIS A lygis. (0.8 balo) Pagal paskaitose išnagrinėtą algoritmą parašyti programąatsitiktinio vienmačio sveikų skaičių su atsitiktiniais ženklais masyvoteigiamų narių, jeigu jie didesni už pirmą teigiamą masyvo narį sumavimui.Ekrane parodyti sugeneruotąjį masyvą, pirmą teigiamą masyvo narį ir sumą.Numatyti priemones programos kartojimui, tikslu patikrinti rezul-tatus keliose masyvo realizacijose.
B lygis.(0.9 balo) Papildomai parašyti programą minėto masyvo teigiamųnarių sumavimui, jeigu jie didesni už antrą teigiamą.
C lygis.(1.0 balo) Papildomai parašyti programą minėto masyvo teigiamųnarių sumavimui, jeigu jie didesni už bet kurį (nurodomą) teigiamą.
ATASKAITAI pateikti naudotų algoritmų blok-schemas ir veikiančiasprogramas.
Laboratorinis darbas Nr.9
T E K S T O Š I F R A V I M A STIKSLAS Susipaýinti su failinio tipo kintamaisiais, failų “pririšimu” prieprocesoriaus, jų atidarymu skaitymui ir rašymui,jų uždarymu, funkcijomis EOLN ir EOF.Susipaýinti su CHAR tipo kintamaisiais, funkcijomis CHR ir ORD.Susipažinti su SEKOS sąvoka ir sekų programavimu Paskalyje.
UŽDUOTIS A lygis.(0.8 balo)
1. Sukurkite tekstinį failą vardu , kurioturinį užpildykite šitokiu trieiliu (ASCII kodais):
Kol jaunas, o broli, Sek paselio gruda Ir dirvos neapleisk.
2. Naudodamiesi programa sukurkite algoritmą minėtotrieilioužkodavimui. Koduoti galima įvairiai, pvz., taip: Visą lotyniškų radžių
abėcėlęsuskirstyti į kelias (3-4) grupes (if ch IN [‘a’..’i’,’A’..’I’] THEN ELSE;).Skaitant nuosekliai po vieną simbolį iš originalo, nustatyti kuriai grupeijis priklauso, ir, atitinkamai, keliais vienetais pakeisti (padidinti arbasumaýinti)to simbolio kodą. Tą simbolį (su nauju kodu) įrašyti į naująfailą, tarkime vardu. Taip, perskaitę, užkodavę ir įrašę naują tekstą, gausimeoriginalo šifruotę. 3. Sukurkite algoritmą, tame pačiame ekrane parodantį užšifruotątekstą.B,C lygiai.(0.9 balo)
Papildomai pasiūlykite kitus kodavimo algoritmus.
ATASKAITAI pateikti naudotų algoritmų blok-schemas ir veikiančiasprogramas.
Laboratorinis darbas Nr.10
T E K S T O D E Š I F R A V I M A S
TIKSLAS Susipažinti su failinio tipo kintamaisiais, failų “pririšimu” prieprocesoriaus, jų atidarymu skaitymui ir rašymui,jų uždarymu, funkcijomis EOLN ir EOF.Susipažinti su CHAR tipo kintamaisiais, funkcijomis CHR ir ORD.Susipažinti su SEKOS sąvoka ir sekų programavimu Paskalyje.
UüDUOTIS A lygis.(0.8 balo)
1. Sukurti algoritmą užšifruoto teksto atkodavimui ir jįrealizuoti. (papidomai žiūr.).
B ir C lygiai. (0.9 balo)
1. Parašyti jungtinę programą, leidžiančią dialogo režimepasirinkti, kokį darbą vartotojas pageidaus (naudoti “meniu” algoritmoprincipus):
1)užšifravimą; 2)dešifravimą.
ATASKAITAI pateikti naudotų algoritmų blok-schemas ir veikiančiasprogramas.
Laboratorinis darbas Nr.11
P R O G R A M A “M E N I U”
TIKSLAS Susipažinti su “meniu” programų sudarymo principais.
UŽDUOTIS B C lygiai. (2.0 balai) Pagal pakaitose nagrinėtą meniu algoritmą-tipo “KĄ DARYTI” sukurtialgoritmą-tipo “KAIP DARYTI”. Parašyti programą taip, kad ji veiktųneblogiau, už demonstracinę programą .
ATASKAITAI pateikti naudotų algoritmų blok-schemas ir veikiančiasprogramas.
Laboratorinis darbas Nr.12
GRAFINIS MENIU
TIKSLAS Susipažinti su kompiūterio darbu grafiniame režime(atsakyti įžemiau pateiktus klausimus): 1) Kokius žinote grafinius draiverius?Kas tai yra grafinio
draiverio modė?; 2) Grafinio režimo inicializavimas; 3) Pagrindinės modulio GRAPH procedūros. 4) Teksto ir skaičių išvedimas grafiniame režime.UŽDUOTIS C lygis.(3.0 balo) Naudojant paskaitose nagrinėtą polinomo šaknų radimo algoritmąsudaryti algoritmo blok-schemą nurodytam polinomui analizuoti. Parašyti programą, kad ji veiktų neblogiau už demonstracinę.
ATASKAITAI pateikti naudotų algoritmų blok-schemas ir veikiančiasprogramas.