1 Деректер қорына кіріспе. Негізгі түсініктердің жалпы сипаттамасы Мақсаты



Pdf көрінісі
бет1/2
Дата15.12.2022
өлшемі381,81 Kb.
#57514
  1   2


1 Деректер қорына кіріспе. Негізгі түсініктердің жалпы сипаттамасы 
Мақсаты: ЭЕМ-де шешілетін есептердің түрінің өзгеруіне байланысты 
бағдарламалауда, соның ішінде деректер қоры секілді, деректерді ұсынудың 
жаңа түрлерінің пайда болатынын көрсету. 
1.1 Деректерді ұсынудың негізгі түсініктерінің дамуы 
Кез келген есепетуіш үрдіс келген деректердің шығу деректеріне 
бейнеленуін (белгілі бір алгоритм бойынша) білдіреді. 
1.1 сурет – Алгоритм 
Өңделетін деректер мен есептеу алгоритмдерін ұсыну күрделілігінің 
қатынасы есептердің екі класын анықтайды: 
1) Есептеуіш есептер – есептеу дерекетерін ұсынудың жеткілікті 
қарапайым және күрделі көп операциялық үрдісі. 
2) Деректерді өңдеудің есептері (есептеуіш емес есептер) – деректерді 
өңдеудің қарапайым алгоритмі және өңделетін деректердің күрделі ұсынылуы. 
Бағдарламалауды үйренудің бастапқы сатысында есептерді шешу 
алгоритмін жасақтауға негізгі көңіл бөлінеді. Алайда, нақты есепті шешу 
мүмкіндігі (немесе мүмкінсіздігі) таңдалған алгоритмге ғана байланысты емес, 


сонымен қатар өңделетін деректерді ұсыну үшін қандай түсініктер 
қолданылатынына да байланысты. 
Келесі формула бойынша есептелетін қарапайым мысалды қарастырайық: 
Y=X
2
+5X, 
мұндағы X және Y – анықталған сандар, олар мұнда деректердің 
қарапайым бірлігі (деректер элементтері) болып табылады. 
Осы есепті шешу алгоритмін бағдарламалау кезінде (формуланы 
бағдарламалау) деректердің қарапайым түрі – қарапайым айнымалылар (X және 
Y бағдарламада қарапайым айнымалылар ретінде ұсынылады) қолданылады. 
Бағдарламалау жүйесінде қарапайым айнымалы, бағдарламалау кезінде 
таңдалуға тиісті, оның мәндерінің белгілі бір типімен сипатталады. Тіпті бұл 
қарапайым жағдайда да айнымалының типін дұрыс таңдау қажет, себебі 
қолданбалы есептің нақты шешімінің мүмкіндігі немесе мүмкінсіздігі осы 
таңдауға байланысты (мысалы, нақты деректерді ұсыну үшін берілген разрядтар 
жетпейді). 
Басқа мысалды қарастырайық: 
S=a
1
+a
2
+...+a
N

Бұл есептің шешімін, жалпы жағдайда тек қана қарапайым 
айнымалыларды қолдана отырып, алу мүмкін емес. Мұнда жай сан емес, ал 
сандар тізбегі өңделеді. Бұл жағдайда бағдарламалау кезінде, жиын (массив) 
секілді деректер түрі қолданылады. Жиын (массив) – элементтер жиынтығы, 
элементтердің әрқайсысы, индекс деп аталатын, реттелген бүтін сандар 
жиынымен байланысқан. Барлық элементтердің мәндерінің типі бірдей болуы 
қажет, ол жиын типі де болады. Бұл жағдайда a
1
, a
2
,..., a
N
сандары бағдарламада 
A(1), A(2),..., A(N) жиынымен беріледі. 
Қарастырылған мысалдар есеп түрінің өзгеруі басқа деректер түрлерін 
қолдану қажеттілігін міндеттейді. 
Бағдарламалаудың бұрынғы тілдері (ФОРТРАН, АЛГОЛ-60) ғылыми- 
техникалық есептеуіш есептерді шешу үшін арналған. Бұл тілдерде тек жоғарыда 
көрсетілген деректер түрлері (қарапайым айнымалылар және жиындар) 
қолданылған. 
60-шы жылдардың соңынан бастап, әртүрлі түрдегі құжаттарды өңдеумен 
байланысты, есептелмейтін деп аталатын есептерді шешуі үшін компьютерлерді 
қарқынды қолдана бастайды. Деректердің жаңа түрлерінің пайда болуын 
деректерді өңдеудің жеңілдетілген есептер мысалында қарастырайық. 
Тапсырма 1. Жалақыны есептеу. 
Есепті екі жеңілдетілген болжаммен қарастырайық: 
1) Қызметкерге жалақы оның айлығы (оклад) негізінде есептеледі. 
2) Бірде-бір салықтар мен ұстап қалулар ескерілмейді. 
Осы есепті шешуге арналған қызметкерлер бойынша мәліметтер келесі 
«ЕСЕПТЕП ЖАЗУ» карточкасында берілген: 
Тегі, 
аты-жөні, Айлық 
Бір айдағы жұмыс Есептелген 


әкесінің аты 
жасаған 
күндер 
саны 
сомасы 
FIO 

K
o

Әр қызметкер үшін белгілі-бір айға есептелген сома келесі формула 
бойынша есептеледі: 
S=K
o
O/K
r

мұндағы K
r
– берілген айдағы жұмыс күндерінің саны. 
Әр қызметкер үшін сәйкес деректер нақты мәнге ие, мысалы: 
Иванов 
Иван 
Иванович 
180000 
24 
180000 
Бұл мәндердің мәні бір бірімен байланыс кезінде ғана бар. Жеке таңдалған 
180000 саны өзінің мағыналық мәнін жоғалтатындықтан, мұнда оны қарапайым 
айнымалы деректер түрінде қолдануға болмайды. Сонымен бірге, нақты 
қызметкерді сипаттайтын, сәйкес мәндер жиыны әртүрлі типте (символдық және 
сандық) болады, яғни оларды ұсыну үшін жиын сияқты деректер түрінде 
қолдануға болмайды. Осылайша, «қарапайым айнымалы» және «жиын» 
түсініктері, сәйкес карточканы ұсыну үшін, жеткіліксіз. 
Есептелмейтін есептердің пәндік аймақтарында осындай деректерді 
ұсынуды бейнелеу үшін жаңа түсініктер реті енгізілді [1.1]. 
Деректер элементі (өріс) – атаулы деректердің ең кіші бірлігі. Берілген 
мысал үшін деректер элементі FIO, O, K
o
, S болып табылады. 
Қызметкер карточкасын сипаттау үшін «Логикалық жазба» түсінігі 
қолданылады. 
Логикалық жазба – деректер элементтерінің (өрістер) атаулы жиынтығы. 
Логикалық жазба данасы (экземпляр) – жазба элементтерінің ағымдағы 
мәні. 
Қызметкерлер карточкаларының барлық жиынын ұсыну үшін 
«Логикалық файл» түсінігі қолданылады. 
Логикалық файл – берілген типтегі барлық жазба даналарының атаулы 
жиынтығы. 
«ТӨЛЕМ» (НАЧИСЛЕНИЕ) логикалық файлының мысалы: 
Иванов 
Иван 
Иванович 
180000 
24 
180000 
Абаев 
Абай 
Абаевич 
220000 
20 
183000 
Акпаева 
Лиза 
Маратовна 
250000 
24 
250000 


Осылайша, енгізілген түсініктердің көмегімен сәйкес деректерді 
бейнелеуге болады. Заманауи бағдарламалау тілдерінде, есептеуіш есептерге 
және де деректерді өңдейтін есептерге арналған, осы түсініктерді бейнелеу үшін 
жаңа деректер түрі енгізілді. 
Паскаль алгоритмдік тілінде, жазба (RECORD) – әртүрлі типте бола 
алатын, бірнеше компоненттері бар күрделі айнымалылар секілді, деректер 
түрлері енгізіледі. Сонымен қатар, жазба (өріс) компоненттеріне рұқсат индекс 
бойынша емес, ал атау бойынша жүзеге асады. Тапсырма 1 Паскаль 
бағдарламалау тілінде бағдарламалау кезінде «ТӨЛЕМ» (НАЧИСЛЕНИЕ) 
логикалық жазба (логикалық файл) «RECORD» деректер түрімен ұсынылады, 
қызметкерлердің логикалық жазба даналарының жиыны, Паскаль тілінің 
құралдарымен және операциялық жүйемен құрастырылатын, «физикалық» 
файлмен ұсынылады. 
Salary = RECORD 
FIO: string; 
O: 
real; 
Ko: real; 
S: 
real; 
END; 
Мұндай есептеуіш емес есептердің маңызды ерекшелігін атап өтейік. 
Мұндай есептерге үлкен көлемді деректер (қызметкерлердің үлкен саны, 
өндірілетін өнімнің үлкен саны т.с.с.) сипаты тән. Көрсетілген деректер, ережеге 
сәйкес, есептерді шешу үшін бірнеше рет қолданылады (еңбек ақы үнемі әр ай 
сайын есептеледі), сондықтан деректер ЭЕМ жадында жеткілікті ұзақ сақталуы 
қажет. Ұзақ уақыт сақтау үшін үнемі сыртқы жады қолданылады. 
Осыған байланысты тапсырма 1 екі сатыдан тұрады. 
1. бастапқы деректерді енгізу және оларды сыртқы жадыға кіргізу. 
type 
Salary = RECORD 
FIO: 
string; 
O: 
real; 
Ko: 
real; 
S: 
real; 
END; 
FSalary = File of Salary; 
var 
F: FSalary; 
... 
{ Бастапқы деректерді енгізу } 
repeat 
write('Қызметкерлер санын енгізіңіз (көп емес', 
MaxN,' ): '); 
readln(N); 
until (N>0) AND (N<=MaxN); 
For I := 1 to N do 


Begin 
Write(I,'нөмірлі қызметкер тегін енгізіңіз: '); 
ReadLn(Sotr[i].FIO); 
Write(I,'нөмірлі қызметкердің еңбек ақысын енгізіңіз: '); 
ReadLn(Sotr[i].O); 
Write(I,'нөмірлі қызметкердің жұмыс жасаған күндер санын енгізіңіз:'); 
ReadLn(Sotr[i].Ko); 
End; 
{ Деректерді сыртқы жадыға кіргізу } 
Assign(F, 'MyFile.fsf'); 
Rewrite(F); 
For I := 1 to N do 
Write(F, Sotr[i]); 
Close(F); 
... 
2. Сыртқы жадыдан бастапқы деректерді оқу, есептелген соманың есебі 
және оларды баспаға шығару. 
... 
{ Сыртқы жадыдан мәліметтерді оқу } 
Assign(F, 'MyFile.fsf'); 
Reset(F); 
For I := 1 to N do 
Read(F, Sotr[i]); 
Close(F); 
{ есептелген сома есебі және баспаға шығару } 
For I := 1 to N do 
Begin 
Sotr[i].S := Sotr[i].O * Sotr[i].Ko / Kr; 
WriteLn(Sotr[i].FIO, ': ', Sotr[i].S); 
End; 
... 
Ұсынылған бағдарламалар қойылған есепті жасалған болжамдар бойынша 
шешеді. Бұған қажетті деректер, тек осы есепті шешу үшін арналған, MyFile.fsf 
файлында сақталады. Атап өтейік, бұл жағдайда деректерді сипаттау қолданбалы 
бағдарламаға қосылған. Жазба файлының форматын өзгерту кезінде қолданбалы 
бағдарламаны да өзгерту қажет. Осылайша, қойылған есепті шешетін, 
бағдарламалық жүйе өзінің өзіне меншікті деректерін анықтайды және оларды 
басқарады. Мұндай бағдарламалық жүйелер файлдық жүйелер деп аталады [1.2 
[ 1.3 ]. 


Достарыңызбен бөлісу:
  1   2




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет