1 Užduoties analizė 1.1. Užduotis 22.Turime sporto klubo klientu sarasa: Numeris, Vardas, pavarde, narystes pradzia, narystes pabaiga, mokestis. Suformuoti sarasa lankytoju kuriems naryste nera pasibaigusi: Numeris, Vardas, pavarde, mokestis, dienu likusiu iki narystes pabaigos kiekis. 1.2. Duomenų analizė Apačioje išvardintiems duomenims aš priskiriu šiuos tipus: Nr.-Tai yra nario numeris, nauduojamas sveikasis skaičius. Pavardė –Pavardė laukas yra simboliu eilutė. Vardas - Vardas laukas yra simboliu eilutė. NP,NG – Sudaro metai, mėnuo, diena tai yra sveikieji skaičiai, pradžios ir galutinės narystes. Kaina – tai realus skaičius kad suskaičiuoti pajamos už nariste. 1.3. Programos struktūra 1.4. Programos globalieji aprašai Type TData=Record Y,M,D:Longint; End; TDat=Record Nr:Byte; Vardas,Pavarde:String; NP,NG:TData; {Narises pradzia, pabaiga} Kaina:Real; LD:Word; {Liko dienu} End; Const {Pavadinimai tekstiniu failu} Duom:String='Duomenys.txt'; Rez:String='Rezult.txt'; 1.5. Programos lokalieji aprašai Var Kiek:Byte; Dat:Array[1..100] of TDat; 1.6. Programos kodas Begin Isvaliti; If Ikelimas Then Begin Resultatas; End Else Begin Writeln('Failo klaida...'); End; Readln; End. 2 Procedūra Skaldimas, Resultatas. 2.1. Procedūros paskirtis Skaldimas-Suskaldo eilutė į dales kad galimą butu įkelti į masyvą apdorojimui Rusiavimas-Surušioja duomenys pagal varda, nauduodamas burbulini rušiavimą Resultatas-Išveda pradinius duomenys iš masyvo. Pateikia ušklausą paieškai (duomenys įvedami iš klaviaturos) Isvaliti-;Isvalo masyva. 2.2. Procedūros formalieji parametrai ir jų paskirtis Procedure Skaldimas(S:String; a:Byte); S-Eilute apdorojimui a-Apdorojantis elementas} 2.3. Procedūros vidiniai kintamieji ir jų paskirtis Procedure Skaldimas(S:String; a:Byte); {Skaldo eilute dalelem ir ikelia jos i masyva} Var Ch:String; {eilute apkirpimui ir apdarojimui} b:Real; {Nenauduojamas} c:Integer; {Konvirtavimo klaida} Procedure Resultatas; Var YY,MM,DD:Longint; {Ivedama data } a:Byte; {išsirinkamas elementas} t,tt,ttt:Longint; {Data paverciamos i dienas} F:Text; {Rezultatu failas} Label 10; Procedure Rusiavimas; {Rusiavimas burbulu} Var TData:TDat; a,b:Byte; Procedure Isvaliti;{Isvalo masyva} Var a:Byte; 2.4. Procedūros kodas Procedure Skaldimas(S:String; a:Byte); {Skaldo eilute dalelem ir ikelia jos i masyva} Var Ch:String; b:Real; c:Integer; Begin Val(Copy(S,1,Pos(' ',S)-1),Dat[a].Nr,c); Delete(S,1,Pos(' ',S)); {Dat[a].Nr=1} {S=‘Petras Jonaitis 2007 4 5 2007 7 20 200.99‘} Dat[a].Vardas:=Copy(S,1,Pos(' ',S)); Delete(S,1,Pos(' ',S)); {Dat[a].Vardas=‘Petras‘} {S=‘Jonaitis 2007 4 5 2007 7 20 200.99‘} Dat[a].Pavarde:=Copy(S,1,Pos(' ',S)); Delete(S,1,Pos(' ',S)); {Dat[a].Pavarde=‘Jonaitis‘} {S=‘2007 4 5 2007 7 20 200.99‘} Val(Copy(S,1,Pos(' ',S)-1),Dat[a].NP.Y,c); Delete(S,1,Pos(' ',S)); {Dat[a].NP.Y=2007} {S=‘4 5 2007 7 20 200.99‘} Val(Copy(S,1,Pos(' ',S)-1),Dat[a].NP.M,c); Delete(S,1,Pos(' ',S)); {Dat[a].NP.M=4} {S=‘5 2007 7 20 200.99‘} Val(Copy(S,1,Pos(' ',S)-1),Dat[a].NP.D,c); Delete(S,1,Pos(' ',S)); {Dat[a].NP.D=5} {S=‘2007 7 20 200.99‘} Val(Copy(S,1,Pos(' ',S)-1),Dat[a].NG.Y,c); Delete(S,1,Pos(' ',S)); {Dat[a].NG.Y=2007} {S=‘7 20 200.99‘} Val(Copy(S,1,Pos(' ',S)-1),Dat[a].NG.M,c); Delete(S,1,Pos(' ',S)); {Dat[a].NG.M=7} {S=‘20 200.99‘} Val(Copy(S,1,Pos(' ',S)-1),Dat[a].NG.D,c); Delete(S,1,Pos(' ',S)); {Dat[a].NG.D=20} {S=‘200.99‘} Val(S,Dat[a].Kaina,c); Delete(S,1,Length(S)); {Dat[a].Kaina=200.99} {S=‘‘} End; Procedure Rusiavimas; {Rusiavimas burbulu} Var TData:TDat; a,b:Byte; Begin For a:=1 to Kiek-1 do For b:=a+1 to Kiek do Begin If Dat[a].Vardas>Dat[b].Vardas then Begin TData:=Dat[a]; Dat[a]:=Dat[b]; Dat[b]:=TData; End; End; End; Procedure Resultatas; Var YY,MM,DD:Longint; a:Byte; t,tt,ttt:Longint; F:Text; Label 10; Begin 10:Writeln; Writeln('Iveskite data: '); Write('Metai - ' ); Readln(YY); Write('Menuo - ' ); Readln(MM); Write('Diena - ' ); Readln(DD); If (MM>12) or (DD>30) Then {Patikrina ar teisingai ivesta data} Begin Writeln('Neteisingai ivesta data...'); Goto 10; End; Writeln; Writeln('Perziura klientu nurodita data...'); Writeln('Ivesta data - ',YY,'-',MM,'-',DD);; Writeln; Assign(F,Rez); ReWrite(F); For a:=1 to 100 do Begin If Dat[a].Nr0 Then Begin t:=Dat[a].NP.Y*365+(Dat[a].NP.M-1)*30+Dat[a].NP.D; tt:=YY*365+(MM-1)*30+DD; ttt:=Dat[a].NG.Y*365+(Dat[a].NG.M-1)*30+Dat[a].NG.D; If (tt>=t) And (tt
Šį darbą sudaro 921 ž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!