Vytauto Didžiojo Universitetas Informatikos fakultetas Laboratorinis darbas Nr 2. Atliko: Kęstutis Myžetis Tikrino: A.Mickus 2005 Kaunas Labotatorinis darbas Nr. 2 Užduoties Nr. 15 sąlyga Ivedimas –išvedimas paprastoje dešimtainėje ir DC dešimtainėje systemoje. Skilčių papildymas DC desimtainėje systemoje. DC Dešimtainio skilčiaus n = 9. Užduoties algoritmas Apsirašome kintamuosius. Tekstinio failo sukurimas arba atydarymas. I Edit1 komponente vartotojas įveda skaiciu. Vartotojas pasirenka kokioje systemoje įvedė skaičių – 10-taini ar DC 10-taini paspausdamas atitinkama mygtuka. Paspaudu mygtuka „Ivestas 10-tainis skaičius“ Ivestas skaičius tikrinamas ar ne tusčia ir ar iš intervalo [+50000;-50000]. Toliau tesiant skaiciuojama pagal formule: S=(r^n)-1+X X – įvestas skaičius, S-papildinys, r-desimtainė systema(10), n-įvesto skaičiaus skilčių skaičius, Iš pradžiu : 10 pakeliame laipsniu ir atimam 1; poto pridedam įvesta skaičių. Jeigu gautas papildinys - mažiau nei 9 skiltys – skaičius didinamas pridedant „9“- jeigu vartotojas ivedė neigiama skaičių kitu atvėju –„0“. Rezultats įrašomi į memo komponente, o paspaudus mygtuka „Irašyti į tekstinį faila“ ir į tekstinį failą. Paspaudu mygtuka „Ivestas DC10-tainis skaičius“ Ivestas skaičius tikrinamas ar ne tusčia ir ar iš intervalo [100000;0]. Toliau tikrinama ar iš intervalo [+50000;0]. Toliau tesiant skaiciuojama pagal formule: S=X-100000+1 X – įvestas skaičius, S-papildinys. Ivestam skaičiui - mažiau nei 9 skiltys –didinamos skiltys pridedant „0“- jeigu vartotojas ivedė skaičių iš intervalo [+50000;0], kitu atvėju –„9“. Paprastas 10-tainis skačius gaunamas neigiamas jeigu 10-tainis skaičius >=50000. Rezultats įrašomi į memo komponente, o paspaudus mygtuka „Irašyti į tekstinį faila“ ir į tekstinį failą. Mygtukas „Vlyti“ išvalo visa rodoma ir vedama informacija. Algoritmo analizė Vartotojas įveda skaič ir paspaudia mygtuka : „Ivestas DC10-tainis skaičius“ arba „Ivestas 10-tainis skaičius“. Pirmuoju atvėju įvedus 10-taini skaičių skaičiuojama pagal formile: S=(r^n)-1+X X – įvestas skaičius, S-papildinys, r-desimtainė systema(10), n-įvesto skaičiaus skilčių skaičius. Paildini papildome iki 9 skilčių pridėdami „9“ – jeigu vartotojas ivedė neigiama skaičių kitu atvėju –„0“. PVZ: X= -3268 10 S=(r^n)-1+X S=(10^4-1-3268)=(6,7,3,1) Padidinam skiltis : (9,9,9,9,9,6,7,3,1); Kitu atvėju įvedus DC 10-taini skaičių, de6imtainis skaičius apskaičiuojamas pagal formile: S=X-100000+1 X – įvestas skaičius, S-papildinys.Paprastas 10-tainis skačius gaunamas neigiamas jeigu 10-tainis skaičius >=50000. O DC 10-tainis skaičius - mažiau nei 9 skiltys –didinamos skiltys pridedant „0“- jeigu vartotojas įvedė skaičių iš intervalo [+50000;0], kitu atvėju –„9“. PVZ: X= -3268 10 S=X-100000+1 S=(6731-10000+1)= -3268 Padidinam skiltis : (9,9,9,9,9,6,7,3,1); Programos tekstas unit Bandymas; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Edit1: TEdit; Memo1: TMemo; Label1: TLabel; Button1: TButton; Button2: TButton; Button3: TButton; Label2: TLabel; Button4: TButton; procedure Button1Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button4Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} //---------------Jei ivestas 10-tainis skaicius--------------------------------- procedure TForm1.Button1Click(Sender: TObject); var c,i,sk:integer; //Kintamuju aprasai d,a,p:string; begin d:=Edit1.Text; a:=Edit1.Text; c:=1; p:='0'; //Jeigu ivestas skaicius virsija ribas if (abs(strtoint(a))>=50000)or(a='')then begin //[+50000;-50000] arba tuscias ShowMessage('Ivestas neteisingas skaicius'); Edit1.Text:=''; end else begin if (a[1]='-')then begin //Jeigu neigiamas skaicius for i:=2 to length(d)do //10-taini skaiciu keliam laipsniu c:=c*10; //kiek yra ivestam skaiciuje skilciu sk:=c-1+strtoint(a); //atliekame veiksmus S=(r^n)-1+X p:='9'; end else sk:=strtoint(a); //kitu atveju imam pradini skaiciu d:=inttostr(sk); memo1.Lines.Add('Papildinys: '+d); //spausdinam komentara memo komponenteje for i:=1to(9-length(d))do //didinam skiltis d:=p+d; memo1.Lines.Add('Papildytas DC 10-tainis skaicius: '); memo1.Lines.Add(d); end; end; procedure TForm1.Button3Click(Sender: TObject); begin Edit1.Text:=''; memo1.Lines.add('----------------------------------------------'); end; //---------------Jei ivestas DC 10-ainis skaicius------------------------------- procedure TForm1.Button2Click(Sender: TObject); var i,sk:integer; d,a,p:string; begin d:=Edit1.Text; a:=Edit1.Text; //Jeigu ivestas skaicius virsija ribas p:='0'; //[10000;0] arba tuscias if (strtoint(a)>=100000)or(strtoint(a)50000 if (strtoint(a)>=50000)then begin sk:=strtoint(a)-100000+1; p:='9'; end else sk:=strtoint(a); d:=inttostr(sk); if (a[1]='-')then a:='0'; //jeigu randa '-' priekije memo1.Lines.Add('Papildinys: '+d); //pausdiname papildini for i:=1to(9-length(a))do //Padidiname skilciu skaiciu a:=p+a; memo1.Lines.Add('Papildytas DC 10-tainis skaicius: '); memo1.Lines.Add(a); end; end; //------------Rezultatu saugojimas i tekstini faila----------------------------- procedure TForm1.Button4Click(Sender: TObject); begin memo1.Lines.SaveToFile('rezultatai.txt'); end; //------------------------------------------------------------------------------ end. Rezultatai Vartotojui išmetama lentelė, kurioje vartotojas suvedęs duomenis ir paspaudes atitinkama mygtuka pateikiami rezultatai. Ivedimas Rezultatai Pasirinkimas ką įvedė Ivedus neteisingą skaičių – vartotojui apie tai pranesama Rezultatai iš tekstinio failo Tekstinio failo rezultatai: Papildinys: 10 Papildytas DC 10-tainis skaicius: 000000010 Papildinys: 89 Papildytas DC 10-tainis skaicius: 999999989 Papildinys: 15 Papildytas DC 10-tainis skaicius: 000000015 Papildinys: 15222 Papildytas DC 10-tainis skaicius: 000015222 Papildinys: -49999 Papildytas DC 10-tainis skaicius: 999950000
Šį darbą sudaro 676 žodžiai, tikrai rasi tai, ko ieškai!
★ Klientai rekomenduoja
Šį rašto darbą rekomenduoja mūsų klientai. Ką tai reiškia?
Mūsų svetainėje pateikiama dešimtys tūkstančių skirtingų rašto darbų, kuriuos įkėlė daugybė moksleivių ir studentų su skirtingais gabumais. Būtent šis rašto darbas yra patikrintas specialistų ir rekomenduojamas kitų klientų, kurie po atsisiuntimo įvertino šį mokslo darbą teigiamai. Todėl galite būti tikri, kad šis pasirinkimas geriausias!
Norint atsisiųsti šį darbą spausk ☞ Peržiūrėti darbą mygtuką!
Mūsų mokslo darbų bazėje yra daugybė įvairių mokslo darbų, todėl tikrai atrasi sau tinkamą!
Panašūs darbai
Atsisiuntei rašto darbą ir neradai jame reikalingos informacijos? Pakeisime jį kitu nemokamai.
Pirkdamas daugiau nei vieną darbą, nuo sekančių darbų gausi 25% nuolaidą.
Išsirink norimus rašto darbus ir gauk juos akimirksniu po sėkmingo apmokėjimo!