Фанидан амалий машғулотларни бажариш бўйича услубий кўрсатмалар


-амалий машғулот. Чизиқли маълумотлар тузилмаси стеклар


Download 1.74 Mb.
bet14/15
Sana26.11.2020
Hajmi1.74 Mb.
#152242
1   ...   7   8   9   10   11   12   13   14   15
Bog'liq
МТА amaliyot boyicha korsatmalar


3-амалий машғулот. Чизиқли маълумотлар тузилмаси стеклар,
навбатлар, деклар устида амаллар бажариш
Маълумотлар тузилмаси гуруҳлашган маълумотларни тўпламини ўзида аск этиради. Бунга содда мисол сифатида массивларни келтирса бўлади. Массивларни барча эоементлари бир хил тоифада бўлади. Айрим ҳолларда
Муаллифлар: М.Х.Худойбердиев, Б.Б.Акбаралиев

шундай масалаларга дуч келинади-ки, уларда тоифалар у ѐки бу тартибда бўлади. Бундай маълуотларга стеклар, навбатлар, деклар мисол бўлади.


Стек деб шундай маълумотлар тузилмасига айтилади-ки, бунда энг охири келган элемент биринчи ўчирилади. Стек одатда вертикал массив сифатида охирги элементини кўрсатувчи кўрсаткичи билан тасвирланади ва бу кўрсаткич (top) стек учи деб юритилади. Янги элемент стек учига жойлаштирилади ва у биринчи бўлиб ўчирилади. Стек кўпинча LIFO деб юритилади (Last in, First out – биринчи келган охири чиқади). Агар стекда битта элемент бўлиб, у ҳам ўчирилса, ушбу стекга бошка элемент жойлаштириб бўлмайди. Бундай стек бўш стек деб юритилади.
Масалан, стекда А, В ва С элементларга эга бўлиб, булардан А биринчи эдемент, С охирги элемент бўлса, у график шаклда қуйидагича ифодаланади:

←top


top




















а-расм. Стекни ташкил

б-расм. Стекдан

этувчи элементлар

ўчирилган элмент

←top


в-расм. Стекга қўшилган элмент

Муаллифлар: М.Х.Худойбердиев, Б.Б.Акбаралиев

Стек устида элемент киритиш, стек бўшлигини текшириш ва стекдан элементни ўчириш амаллари бажарилади ҳамда қуйидаги функциялар ѐрдамида амалга оширилади:
стекга элемент критиш функцияси:
void Push(LIFO, top, number)
навбат бўшлигини текшириш функцияси:
void Empty(top)
навбатдан элементни ўчириш ѐки чиқариш функцияси:
void Pop(top)


Навбатлар
Навбат деб шундай маълумотлар тузилмасига айтилади-ки, бунда белгиланган оралиқга элементларни киритиш ва хизмат кўрсатилган элементни чиқариш ѐки ўчириш бажарилади. Агар навбатда хеч қандай элемент бўлмаса, навбат бўш дейилади. Бундай ҳолда Start ва last кўрсаткичлар навбатни фақат бир жойни кўрсатади.
Навбатни амалга оширишнинг турли усуллари мавжуд. Улардан энг соддаси қуйидагича: навбат амалга оширилаѐтган массивда иккита кўрсаткич бўлади. Биринчиси навбат бошини кўрсатса, иккинчиси мос ҳолда навбат охирини кўрсатади.
Навбат боши – бу массивдан ўчириладиган элементнинг рақами.
Навбат охири – бу навбатга киритиладиган массив элементи.
Навбатни ишлаш тамойили биринчи келган элементга биринчи бўлиб хизмат кўрсатилади: FIFO (First In, First Out-биринчи келган биринчи кетади).


A

B

C

D
































st










L

art










ast

г-расм. Навбатни биринчи элементи А ва охирги элементи D.


Муаллифлар: М.Х.Худойбердиев, Б.Б.Акбаралиев

Навбат устида элемент киритиш, навбат бўшлигини текшириш ва навбатдан элементни ўчириш амаллари бажарилади ҳамда қуйидаги функциялар ѐрдамида амалга ошириш мумкин:


навбатга элемент киритиш функцияси:
void Add(int last, int number)
навбат бўшлигини текшириш функцияси:
void Empty(int start, int last)
навбатдан элементни ўчириш ѐки чиқариш функцияси:
void Remove(int strat, int last)


Стекга мисол:
1-мисол. Агар стекка кирувчи сон ѐнма-ѐн турган элементлари тенг бўлса уларни ўчирсин ва "yes" ѐзуви, акс ҳолда "no" ѐзувини экранга чиқсин.
Стек элементлари: 2211558866
#include
#include
using namespace std;
char lifo[100],ch[100];int i,top;
void push(char number);
int main(){
cin >>ch;
top=0;
for(i=0;ipush(ch[i]);
if(lifo[top-1]==lifo[top-2]&&top>1)
top-=2;
}
if(top==0)cout <<"yes";else cout<<"no";
getch();
Муаллифлар: М.Х.Худойбердиев, Б.Б.Акбаралиев

return 0;


}
void push(char number){
lifo[top]=number;
top++;
}

9 - топшириқ


1–вариант. Баландлиги h=30 см бўлган қутига, ўлчами h=3 см бўлган ѐғоч тахтадан (ѐғоч тахта қутини юзаси билан бир хил ўлчамда) нечта киритилганда қути тўлишини кўрсатувчи дастурни тузинг.
2–вариант. 10 элементли бир ўлчамли массив берилган. Ушбу массив стек хусусиятига эга бўлиб, унга 11-элемент киритилганда стек тўлиб кетганини маълум қилувчи дастурни тузинг.
3–вариант. Қуйида келтирилган вазифани бажарувчи дастурни тузинг. Стек ўлчами 5 га тенг. Унга 3 та элемент киритилганда top кўрсаткич қиймати нечага тенг бўлади.
4–вариант. Стекда 7 та элемент мавжуд. Мазкур стекни элементлардан бўшатиш дастурини тузинг.
5–вариант. Стекда 10 та элемент мавжуд. Элементларни битта-битта танловчи дастурни тузинг.
6–вариант. Автомобилни максимум тезлиги 220 км/с. Мазкур автомобил тезлиги 60 км/с, 80 км/с, 100 км/с тезликлардан ортиб борганда, мазкур тезлик қандай ахоли пунктларида ва қандай йўллар учун мўлжалланганлиги ҳақидаги хабарни экранга чиқарувчи дастурни тузинг. Бунда ҳар бир тезлик кўрсаткичи стекга элемент сифатида киритилсин.
7–вариант. Қўшиш (+) арифметик амали асосида стекка элемент киритиш дастурини тузинг. Элементларини киритиш жараѐни қуйидагича бўлсин: биринчи ва иккинчи элементлар стекка киритилгандан сўнг, учинчи элементни дастур биринчи ва иккинчи элементлар йиғиндисидан ҳосил
Муаллифлар: М.Х.Худойбердиев, Б.Б.Акбаралиев

бўлсин. Тўртинчи элемент эса иккинчи ва учинчи элементлар йиғиндисидан ҳосил бўлсин. Шу тариқа стекка 7 та элемент киритиш дастурини тузинг.





Стек

Киритил

Стек

ўлчами

аѐтган рақам

таркибидаги




ва амал

элементлар










1

3

3










2

1

3, 1










3

+

3, 1, 4,










4

+

3,1,4,5










5

+

3,1,4,5,9










6

+

3, 1, 4, 5, 9, 14










7

+

3, 1, 4, 5, 9, 14,







23











8–вариант. Айриш (-) арифметик амали ѐрдамида стекка элемент киритиш дастурини тузинг. Юқоридаги вариантдаги каби биринчи ва иккинчи элементларни фойдаланувчи томонидан киритилади. Қолган элементни эса дастур ўзи қўшни элементларни жуфтлиги айирмасидан ҳосил бўлган қийматларни киритиб бориш натижасида стекни тўлдирсин. Бунда ҳам стек элементлари 7 та бўлгунча давом этсин. Бу жараѐн қуйидаги жадвалда келтирилган:


Стек

Киритил

Стек

ўлчами

аѐтган рақам

таркибидаги




ва амал

элементлар










1

3

3










2

1

3, 1










3

-

3, 1, 2,










4

-

3,1,2,1









Муаллифлар: М.Х.Худойбердиев, Б.Б.Акбаралиев



5

-

3,1,2,1,1










6

-

3,1,2,1,1,0










7

-

3, 1, 2, 1, 1, 0,







1











9–вариант. Алгебрик ифодадаги рақамлар устида бажарилган арифметик амаллар ва рақамлар ўртасидаги мос муносабатларни ўрнатиш орқали (ҳар бир амал натижасида ҳосил бўлган қиймат стекни битта элементи бўлсин) стекка элемент киритиш дастурини тузинг. Бу жараѐн қуйидаги жадвалда келтирилган:



Киритилаѐтга

Стек

н рақам ѐки белги

таркибидаги




элементлар







4

4







6

4, 6







3

4,6,3







-

4, 3







*

12







8

12, 8







6

12, 8, 6







-

12, 2







2

12, 2, 2







/

12, 1







+

13






а) (1+2)-3*(4+6)+(7-5)+45/9. бунда хар бир амал бажариш натижасида ҳосил бўлган сон стекка битта элемент бўлиб киради.


б) а=2, b= 3, c=4, d=5 рақамлар берилган қуйидаги ифодани ҳисоблаш жараѐнидаги хар бир амал бажарилганда ҳосил бўлган қийматни стекка битта элемент қилиб киритиш дастурини тузинг:
-a*b +c – d/a +c*d.
Муаллифлар: М.Х.Худойбердиев, Б.Б.Акбаралиев

10–вариант. N та акробат навбатда кўргазмали чиқишида минора ҳосил қилишди. Ушбу минорани ҳар бир босқичидаги акробатларни сонли миқдори стекка биттадан элемент бўлиб кирсин. Биринчи босқич стекни биринчи элементи, иккинчи босқич иккинчи ва ҳ.к., бўлсин.


11–вариант. Элементлар киритилиб, навбат шакллантирилсин. 15 та элементдан иборат навбатни ташкил қилувчи дастурни тузинг.
12–вариант. Элементлар киритилиб, навбат шакллантирилсин. Навбатни биринчи ва охирги элементлари ўрни алмаштирувчи дастурни тузинг.
13–вариант. 6 та элементга мўлжалланган навбатга элементлар киритиш дастурини тузинг.
14–вариант. Навбатни ўртасидани элемент ўчирилсин. Агар навбат элементлари сони тоқ бўлса битта элемент, акс ҳолда иккита элемент навбатдан ўчирилсин.
15–вариант. Элементлар киритилиб, навбат шакллантирилсин.
Навбатни жуфт ўринда турган элементларини ўчирувчи дастур тузилсин.
16–вариант. Элементлар киритилиб, навбат шакллантирилсин. Навбат ўртасига '+' белгини жойлаштирувчи дастур тузилсин.
17–вариант. Элементлар киритилиб, навбат шакллантирилсин. Энг кичик элемент топилиб ва ундан кейин “0”ни жойлаштирувчи дастур тузилсин.
18–вариант. 7 та элементга мўлжалланган навбат берилган. Элементлар киритилиб, навбат шакллантирилсин. Навбатнинг энг катта элемент топилиб, ундан кейин “***” белгини жойлаштирилсин ҳамда навбатдаги ўрнатилган ўлчам сақланишини таъминловчи дастур тузилсин.
19–вариант. 10 та элементга мўлжалланган навбат берилган. Элементлар киритилиб, навбат тўлдирилсин ва ундаги энг кичик элементни топиб ўчирувчи дастур тузилсин.
Муаллифлар: М.Х.Худойбердиев, Б.Б.Акбаралиев

20–вариант. Элементлар киритилиб, навбат навбат шакллантирилсин. Ушбу навбатни ўлчами 9 га тенг. Навбатни биринчи элементга тенг барча элементлар ўчирилсин.


21–вариант. Элементлар киритилиб, навбат шакллантирилсин. Навбатнинг охирги элементга тенг барча элементларни ўчирувчи дастур тузилсин.
22–вариант. Элементлар киритилиб, навбат шакллантирилсин. Навбатнинг ўлчами 9 га тенг ва энг катта элементга тенг барча элементларини ўчирувчи дастур тузилсин.

Муаллифлар: М.Х.Худойбердиев, Б.Б.Акбаралиев

4-амалий машғулот. Чизиқсиз маълумотлар тузилмаси. Боғланган
рўйхатлар. Дарахтсимон маълумотлар тузилмаси
1-мисол. Рўйхат устида қуйидаги амалларни бажарувчи процедура ѐки функцияларни ўз ичига олган дастурни тузинг:


  • рўйхатга элемент қўшиш;




  • рўйхат элементларини экранга чиқариш;




  • рўйхатдан элемент қидириш;




  • рўйхатдан элемент ўчириш;

дастури қуйида келтирилган:


#include


#include
#include
#include
struct TNode {
int value;
TNode* pnext;
TNode(int val): pnext(0), value(val) {}
};


  • Рўйхатга элемент қўшиш

void add2list(TNode **pphead, int val) {


TNode **pp = pphead, *pnew;
while(*pp) {
if(val < (*pp)->value)
break;
else
pp = &((*pp)->pnext);
}
pnew = new TNode(val);
Муаллифлар: М.Х.Худойбердиев, Б.Б.Акбаралиев

pnew->pnext = *pp;


*pp = pnew;
}


  • Рўйхат элементларини экранга чиқариш

void print(TNode *phead) {


TNode* p = phead;
while(p) {
cout <<""<< p->value<<"|" <<"--> ";


  1. = p->pnext;

}
cout << endl;


}


  • Рўйхатда элементни қидириш, C++

TNode* Find(TNode *phead, int x)


{
TNode *p=phead;
while(p)
if (p->value==x) return p;
else p = p->pnext;
return 0;
}


  • Рўйхат элементини ўчириш

void deleteList(TNode *phead) {


if(phead) {
deleteList(phead->pnext);
if(phead)
delete phead;
Муаллифлар: М.Х.Худойбердиев, Б.Б.Акбаралиев

}
}




  • Асосий қисм

int main() {int mas[1000], N, key; TNode* T; TNode *phead = 0;


//srand(time(0));
cout<<"Royhat uzunligini kirit"<cin>>N;
cout<<"Elementlarni kirit!"<for(int j=0; jcin>>mas[j];
for(int i = 0; i < N; ++i)
add2list(&phead,mas[i]);
cout<<"Qidiruv elementni kiriting!"<cin>>key;
// rand() % 100);
cout << "Elements of the list:" << endl;
print(phead);
T=Find(phead,key);
if (T==0) cout <<"Bunday element yoq"<else cout <<"Bunday element bor"<<" "<value<<"
"<deleteList(phead);
getch();
}
2-мисол. Дарахт устида амаллар:


  • Дарахтнинг илдизини ҳосил қилиш;




  • Дарахтга элемент қўшиш;

Муаллифлар: М.Х.Худойбердиев, Б.Б.Акбаралиев



  • Дарахтдан элемент ўчириш;




  • Дарахтда элемент мавжудлигини текшириш;

#include


#include
#include
#pragma hdrstop
typedef int Tinfo;
typedef struct Item* Pitem;
struct Item {
Tinfo Key;
Pitem Left;
Pitem Right;
};
class TTree{
private :
Pitem Root;
public :
TTree();
void Add(Tinfo);
void Del(Tinfo);
void View();
void Exist(Tinfo Key);
~TTree();
};
//-----------------------------------
TTree::TTree(){
Root=0;
};
//----------------------------
Муаллифлар: М.Х.Худойбердиев, Б.Б.Акбаралиев

static void IniTree(Pitem& P,Tinfo X)


{
P=new Item;
P->Key=X;
P->Left=0;
P->Right=0;
};
static void Iendleft(Pitem& P,Tinfo X)
{
Pitem R;
R=new Item;
R->Key=X;
R->Left=0;
R->Right=0;
P->Left=R;
}
static void InRight(Pitem P,Tinfo X)
{
Pitem R;
R=new Item;
R->Key=X;
R->Left=0;
R->Right=0;
P->Right=P;
}
static void Tree_Add(Pitem P,Tinfo X)
{
int OK;
OK=false;
while(!OK){
Муаллифлар: М.Х.Худойбердиев, Б.Б.Акбаралиев

if(X>P->Key)


if(P->Right!=0)
P=P->Right;
else {
InRight (P,X);
OK=true;
}
else if(P->Left!=0)P=P->Left;
else{Iendleft(P,X);
OK=true;}
}
}
void TTree::Add(Tinfo Key)
{
if(Root==0)
IniTree(Root,Key);
else Tree_Add(Root,Key);
}
static void delete_(Pitem& P,Tinfo);

static void Del(Pitem& R,Pitem& Q)


{
if(R->Right!=0)
Del(R->Right,Q);
else
{
Q->Key=R->Key;
Q=R;
R=R->Left;

Муаллифлар: М.Х.Худойбердиев, Б.Б.Акбаралиев

}
}

static void delete_(Pitem& P,Tinfo X)


{
Pitem Q;
if(P!=0)
if(X
Key)
delete_(P->Left,X);
else
if(X>P->Key)
delete_(P->Right,X);
else{
Q=P;
if(Q->Right==0)
P=Q->Left;
else
if(Q->Left==0)
P=P->Right;
else
Del(Q->Left,Q);
delete Q;
}
else
cout<<"Bunday element daraxtda yuq..."<}
void TTree::Del(Tinfo Key)
{
delete_(Root,Key);
}
Муаллифлар: М.Х.Худойбердиев, Б.Б.Акбаралиев

static void PrintTree(Pitem R,Tinfo L)


{
int i;
if(R!=0){
PrintTree(R->Right,L+3);
for(i=1;i<=L;i++)
cout<<" ";
cout<Key<PrintTree(R->Left,L+3);
}
}

void TTree::View()


{
PrintTree(Root,1);
}
//-----------------------------
static void Search(Pitem& P,Tinfo X )
{
if(P==0){
cout<<"bunday element yuq"<}else
if(X>P->Key)
Search(P->Right,X);
else if(X
Key)
Search(P->Left,X );
else
cout<<"Bunday element bor..."<}
Муаллифлар: М.Х.Худойбердиев, Б.Б.Акбаралиев

void TTree::Exist(Tinfo Key)


{
Search(Root,Key);
}
static void Node_Dispose(Pitem P)
{
if(P!=0){
if(P->Left!=0)
Node_Dispose(P->Left);
if(P->Right!=0)
Node_Dispose(P->Right);
delete P;
}
}
TTree::~TTree()
{
Node_Dispose(Root);
}
//------------------------------------------------------------

void inputKey(char S[128],Tinfo& Key)


{

cout<
cin>>Key;

}


TTree *Tree=new TTree;
Муаллифлар: М.Х.Худойбердиев, Б.Б.Акбаралиев

int N;
Tinfo Key;


int main(int argc,const char* argv[] )
{

do{

cout<<"1-daraxtga element qoshish..."<>N;

switch(N){


case 1:{inputKey("qoshiluvchi element qiymatini
kiriting...",Key);
Tree->Add(Key);
};
case 2:{inputKey("uchiriladigan element qiymatini
kiriting...",Key);

istagan ",Key);Tree


Tree->Del(Key);
} break;
case 3:Tree->View();break;
case 4:{
inputKey("element kiriting,borligini
->Exist(Key);
} break; }
}while(!(N==5));

siz


bilishni

Муаллифлар: М.Х.Худойбердиев, Б.Б.Акбаралиев



getch();
return EXIT_SUCCESS;

}
Natija:



10-топшириқ


1–вариант. Автобус паркидаги автобус ҳақидаги динамик маълумотлардан ташкил топган дастур тузинг.
Ҳар бир автобус ҳақидаги маълумотлар қуйидагилардан иборат:


  • автобус номери (рақами);







  • йўналиш номери;

Дастур қуйидагиларни таъминлаб бериши керак:




  • паркдаги барча автобуслар ҳақидаги дастлабки маълумотларни рўйхат кўринишида тақдим этиш;




  • ҳар бир автобус паркдан чиқаѐтганда унинг номери киритилади ва у ҳақидаги маълумотлар паркдаги автобуслар ҳақидаги маълумотлар рўйхатидан чиқарилиб, йўналишда бўлган автобуслар ҳақидаги маълумотлар рўйхатига қўшиб қўйиш;

Муаллифлар: М.Х.Худойбердиев, Б.Б.Акбаралиев



  • ҳар бир автобус йўналишдан паркка кирганда унинг номери киритилади ва у ҳақидаги маълумотлар йўналишда бўлган автобуслар ҳақидаги маълумотлар рўйхатидан паркдаги автобуслар ҳақидаги маълумотлар рўйхатига қўшиб қўйиш;




  • сўров бўйича паркда ѐки йўналишда бўлган автобус ҳақидаги маълумотларни чиқариш.


2–вариант. Кутубхонада мавжуд китобнинг айни вақтдаги ҳолати ҳақидаги маълумотлар билан ишловчи дастур яратинг.
Ҳар бир китоб қуйидаги маълумотлардан ташкил топади:


  • УДК номери;




  • Муаллиф исми шарифи;




  • Номи;




  • Нашр этилган санаси;




  • Китобнинг кутубхонадаги миқдори;

Дастур қуйидагиларни амалга ошириши керак:




  • кутубхонадаги барча китоблар ҳақидаги маълумотларни иккилик дарахт кўринишида тасвирлаш;




  • кутубхонага келган янги китоб ҳақидаги маълумотларни рўйхатга қўшиш;




  • кутубхонадан чиқариб ташланган китоб ҳақидаги маълумотларни рўйхатдан чиқариб ташлаш;




  • сўров бўйича кутубхонада мавжуд китоблар ҳақидаги маълумотларни чиқарилган йили бўйича тартиблаб босмага чиқариш.


3–вариант. Айни вақтдаги буюртма берилган авиабилетлар ҳақидаги маълумотлар билан ишловчи дастур тузинг.
Ҳар бир буюртма қилинган маълумотлар қуйидагилагдан ташкил топади:


  • белгиланган пункт (бўлим);




  • рейс номери;




  • фамилия исми шарифи;

Муаллифлар: М.Х.Худойбердиев, Б.Б.Акбаралиев



  • учиш кўзланган сана;

Дастур қуйидагиларни амалга ошириши керак:




  • барча буюртмаларни рўйхат тарзида сақлаш;




  • рўйхатга янги буюртма қўшиш;




  • буюртмани ўчириш;




  • белгиланган рейс номери ва учиш вақти бўйича буюртмаларни чиқариш;




  • барча буюртмаларни чиқариш.


4–вариант. Айни вақтдаги буюртма берилган авиябилетлар ҳақидаги маълумотлар билан ишловчи дастур тузинг.
Ҳар бир буюртма қилинган маълумотлар қуйидагилагдан ташкил топади:


  • белгиланган пункт (бўлим);




  • рейс номери;




  • фамилия исми шарифи;




  • учиш кўзланган сана;

Дастур қуйидагиларни амалга ошириши керак:




  • барча буюртмаларни иккилик дарахт тарзида сақлаш;




  • рўйхатга янги буюртма қўшиш ва ўчириш;




  • белгиланган рейс номери ва учиш вақти бўйича кетма-кет ўчирилиш тартибида босмага чиқариш;




  • барча буюртмаларни чиқариш.


5–вариант. Кутубхонада мавжуд китобнинг айни вақтдаги ҳолати ҳақидаги маълумотлар билан ишловчи дастур яратинг.
Ҳар бир китоб қуйидаги маълумотлардан ташкил топади:


  • УДК номери;




  • Муаллиф исми шарифи;




  • Номи;




  • Нашр этилган санаси;




  • Китобнинг кутубхонадаги миқдори;

Муаллифлар: М.Х.Худойбердиев, Б.Б.Акбаралиев

Дастур қуйидагиларни амалга ошириши керак:


  • кутубхонадаги барча китоблар ҳақидаги маълумотларни рўйхат кўринишида тасвирлаш;




  • кутубхонага келган янги китоб ҳақидаги маълумотларни рўйхатга қўшиш;




  • китоб китобхонга берилганда унинг УДК номери киритилади, дастур кутубхонада мавжуд китоблар сонини биттага камайтиради ѐки сўралган китоб кутубхонада мавжуд эмаслиги ѐки у қўлда эканлиги ҳақида маълумот чиқариш;




  • кутубхонага қайтган китобнинг УДК номери киритилади ва дастур китоблар рўйхатини биттага орттириш;




  • сўров бўйича кутубхонада мавжуд китоблар ҳақидаги маълумотларни чиқариш.


6–вариант. Автобус паркидаги автобус ҳақидаги динамик маълумотлардан ташкил топган дастур тузинг.
Ҳар бир автобус ҳақидаги маълумотлар қуйидагилардан иборат:


  • автобус номери (рақами);




  • ҳайдовчи исми шарифи;




  • йўналиш номери;




  • автобусни паркда ѐки йўналишда эканлигини ифодаловчи

белги.
Дастур қуйидагиларни таъминлаб бериши керак:




  • паркдаги барча автобуслар ҳақидаги дастлабки маълумотларни рўйхат кўринишида тақдим этиш;




  • ҳар бир автобус паркдан чиқаѐтганда унинг номери киритилади ва дастур шу автобус ҳақидаги маълумотларга “автобус йўналишда” белгиси қўйилади;




  • ҳар бир автобус паркка кирганда унинг номери киритилади ва дастур шу автобус ҳақидаги маълумотларга “автобус паркда”

белгиси қўйилади;
Муаллифлар: М.Х.Худойбердиев, Б.Б.Акбаралиев

  • сўров бўйича автобус паркда ѐки йўналишда эканлиги ҳақидаги маълумотларни чиқариш.


7–вариант. Либирентдан қидириш усулига мўлжалланган дастур яратиш. Лабирент квадратлардан иборат бўлган матрица кўринишда ифодаланган. Ҳар бир квадрат очиқ ѐки ѐпиқ бўлиши мумкин. Ёпиқ квадратга кириш тақиқланган. Агар квадрат очиқ бўлса унга кириш мумкин, фақат бурчакдан эмас. Ҳар бир квадрат матрицадаги координатаси билан ифодаланади.
Дастур лабирент орқали белгиланган жойдан кириш керак. Ўтиш йўли қидирилганидан сўнг, топилган ўтиш йўли квадратларнинг координаталари кўринишида чиқарилади. Йўлларни сақлаш учун стекдан фойдаланинг.
8–вариант. Автомобил тўхташ жойида битта машиналар туриш чизиғидан иборат ва у ягона киришга ва ягона чиқишга эгадир. Автомашина эгалари ихтиѐрий вақтда ва жойдан автомашиналарини олиб кириш ҳамда чиқиб кетиш имконияти йўқ. Энди автомашина эгаси ўз машинасини тўхташ жойидан олиб кириш ѐки чиқиб кетиши учун белгиланган тартибда амалга оширади.
Шундай дастур тузиш керак-ки, дастур автомашиналар тўхташ жойига машинани олиб кириш ва чиқиш жараѐнини моделлаштирсин. Дастурни буйруқ киритиш сатрига ихтиѐрий автомашина рақамини киритилгандан уни тўхташ жойига қачон криши ѐки қачон чиқиб кетиши ҳақида маълумот берсин. Ушбу жараѐн навбат шаклида ташкил қилинсин.
9–вариант. Эгилувчан магнит дискка ѐзишни моделлаштирувчи дастур яратинг. Дискдаги умумий ҳажм 360 Кбайт. Файллар 18 байтдан 32 Кбайтгача бўлган оралиқдаги ихтиѐрий узунликка эга. Файллар ишлатилиш жараѐнида дискка ѐзилиши ѐки ўчирилиши мумкин.
Дастлаб файллар бир текисда, кетма кет ѐзилади. Дискдан файл ўчирилгач ўрнида бўшлиқ ҳосил бўлади ва янги ѐзилаѐтган файл шу бўшлиққа сиғса у шу ерга ѐзилади. Акс ҳолда янги файл дискдаги энг охирида ѐзилган файлдан кейинги ўринга ѐзилади.
Муаллифлар: М.Х.Худойбердиев, Б.Б.Акбаралиев

Агар файл ҳажми энг катта бўш жойдан ортиб кетса ҳалокат хабари берилади. Файлни ѐзиш ѐки ўчириш жараѐнида буйруқлар сатрида файл номи, унинг узунлиги (байтларда) ва ѐзиш ѐки ўчириш кераклиги ҳақидаги белгини киритиш талаб этилади. Дастур сўров асосида дискдаги бўш жой ҳақида маълумот бериши керак.


Кўрсатма: дискдаги бўш ва банд хотира жойлари рўйхатини тузиб чиқиш керак бўлади.
10–вариант. Файл тизимида файллар каталоглари чизиқли рўйхат кўринишида тасвирланган.
Ҳар бир файл учун каталогда қуйидаги маълумотлар мавжуд:


  • файл номи;




  • яратилган вақти;




  • файлга мурожаатлар сони.

Дастур қуйидагиларни амалга ошириши керак:




  • файл каталогининг дастлабки формаси;




  • файл каталогини чиқариш;




  • яратилган вақти кўрсатилган вақтдан кичик бўлган файлларни

ўчириш;



  • файлларни кўпроқ мурожаат қилинганлиги бўйича танлаш.

Дастур меню ѐрдамида ишлаши ва киритиш жараѐнидаги хатоликларни назорат қилиши керак.


11–вариант. Бир нечта дастурлар учун ѐрдамчи матнлар чизиқли рўйхат кўринишида ташкил этилган. Ҳар бир ѐрдамчи матн компонентаси термин (сўз) ва шу терминни тушунтирувчи матндан ташкил топган. Бир терминга боғланган матн сатрлари сони бирдан бештагача бўлиши мумкин.
Дастур қуйидагиларни амалга ошириши керак:


  • ѐрдамчи матннинг дастлабки тузилиши;




  • ѐрдамчи матнни чиқариш;




  • киритилган термин бўйича тушинтирувчи матнни чиқариш.

Муаллифлар: М.Х.Худойбердиев, Б.Б.Акбаралиев

Дастур меню ѐрдамида мулоқот қилиш ва киритиш вақтидаги хатоликларни назорат қилиши керак.
12–вариант. Квартира айирбошлаш бюросида картотека чизиқли рўйхат тарзида ташкил этилган. Ҳар бир квартира ҳақидаги маълумотларга қуйидагилар киради:


  • хоналар сони;




  • қават;




  • майдони;




  • манзили;

Дастур қуйидагиларни амалга ошириши керак:




  • каталогнинг дастлабки формировкаси;




  • айирбошлаш учун ариза қабул қилиш;




  • картотекалар ичидан кераклисини топиш: хоналар сони ва қавати мос келган ва майдони орасидаги фарқ 10% бўлган квартираларни чиқариш ва рўйхатдан ўчириш. Акс ҳолда аризани рўйхатга қўшиб қўйиш;




  • барча рўйхатларни чиқариш.

Дастур меню ѐрдамида мулоқот қилиш ва киритиш вақтидаги хатоликларни назорат қилиши керак.


13–вариант. Инглизча-русча луғат иккилик дарахт кўринишида ташкил этилган. Ҳар бир компонента инглизча сўздан ва шу сўзга мос келувчи русча сўзлардан шу билан бирга шу компонентага қилинган мурожаатлар сонидан ташкил топган. Даставвал дарахт инглиз алфавити тарзида тартибланган. Қўлланилиш вақтида ҳар бир компонентага қилинган мурожаат унинг счетчигини биттага оширади. Дастур қуйидагиларни амалга ошириши керак:


  • аниқ бир мурожаатлар сони билан келтирилган луғатнинг дастлабки ҳолатини таъминлаш;




  • қуйидаги алгоритм асосида луғатни қуйидаги тарзда ташкил қилсин:

Муаллифлар: М.Х.Худойбердиев, Б.Б.Акбаралиев

а) эски луғатдан счетчик энг юқори қўйилган компонентани қидириш;
б) топилган компонента янги луғатга келтирилади ва эскиси ўчирилади;
в) токи чиқувчи луғат вужудга келмагунча дастлабки а) бўлимга
ўтиш.


  • чиқувчи ва янги луғатни чиқариш.

Дастур меню ѐрдамида мулоқот қилиш ва киритиш вақтидаги хатоликларни назорат қилиши керак.


14–вариант. Аҳолининг сўров анкетаси икки хил сўровлар гуруҳидан иборат.
Биринчи гуруҳ респондент ҳақидаги маълумотлардан ташкил топган:


  • ѐши;




  • жинси;




  • маълумоти (бошланғич, ўрта, юқори).

Иккинчи гуруҳ анкетанинг махсус саволларидан ташкил топган, бу саволларга фақат “ҲА” ѐки “ЙЎҚ” деб жавоб бериш керак бўлади.


Дастур қуйидагиларни амалга ошириши керак:


  • анкеталарнинг дастлабки шаклидан чизиқли рўйхат ташкил этиш;




  • анкеталар таҳлили асосида қуйидаги саволларга жавоб топилиши керак: а) 40 ѐшдан катта бўлган олий маълумотли эркаклардан нечтаси анкета саволларига “ҲА” деб жавоб берди; б) 30 ѐшдан кичик ўрта маълумотли бўлган аѐллардан нечтаси анкета саволларига “ЙЎҚ” деб жавоб берди; в) 25 ѐшдан кичик бошланғич маълумотга эга бўлган эркаклардан нечтаси анкета саволларига “ҲА” деб жавоб берди;




  • барча анкета ва саволларга жавобларни чиқариш.

Дастур меню ѐрдамида мулоқот қилиш ва киритиш вақтидаги хатоликларни назорат қилиши керак.


Муаллифлар: М.Х.Худойбердиев, Б.Б.Акбаралиев

15–вариант. Кутубхонада мавжуд китобнинг айни вақтдаги ҳолати ҳақидаги маълумотлар билан ишловчи дастур яратинг. Ҳар бир китоб қуйидаги маълумотлардан ташкил топади:




  • УДК номери;




  • Муаллиф исми шарифи;




  • Номи;




  • Нашр этилган санаси;




  • Китобнинг кутубхонадаги миқдори;

Дастур қуйидагиларни амалга ошириши керак:




  • кутубхонадаги барча китоблар ҳақидаги маълумотларни рўйхат кўринишида тасвирлаш;




  • кутубхонага келган янги китоб ҳақидаги маълумотларни рўйхатга қўшиш;




  • чиқариб ташланган китоб ҳақидаги маълумотларни ўчириб ташлаш;




  • сўров бўйича кутубхонада мавжуд китоблар ҳақидаги маълумотларни нашр этилган санаси бўйича тартиблаб чиқариш.


16–вариант. Халқаро телефон станциясида абонент картотекаси телефон номер ва шу номер эгаси ҳақидаги маълумотлар билан чизиқли рўйхат тарзида ташкил этилган. Дастур қуйидагиларни амалга ошириши керак бўлади:


  • картотекани дастлабки формасини чизиқли рўйхат тарзида ташкил этиш;




  • барча картотекаларни чиқаришни амалга ошириш;




  • телефон номери ва суҳбат вақтини киритиш;




  • телефон мулоқоти учун тўловни амалга ошириш учун чиқариш.

Дастур меню ѐрдамида мулоқот қилиш ва киритиш вақтидаги хатоликларни назорат қилиши керак.


17–вариант. Халқаро телефон станциясида абонент картотекаси телефон номер ва шу номер эгаси ҳақидаги маълумотлар билан иккилик
Муаллифлар: М.Х.Худойбердиев, Б.Б.Акбаралиев

дарахт кўринишида ташкил этилган. Дастур қуйидагиларни амалга ошириши керак бўлади:




  • картотекани дастлабки формасини иккилик дарахт кўринишида ташкил этиш;




  • барча картотекаларни чиқаришни амалга ошириш;




  • телефон номери ва суҳбат вақтини киритиш;




  • телефон мулоқоти учун тўловни амалга ошириш учун чиқариш.

Дастур меню ѐрдамида мулоқот қилиш ва киритиш вақтидаги хатоликларни назорат қилиши керак.


18–вариант. Темир йўл вокзалининг автоматлаштирилган тизими поездлар жўнаши ҳақидаги маълумотлардан ташкил топган. Ҳар бир поезд қуйидаги маълумотларга эга:


  • поезд номери;




  • кўзланган бекат;




  • жўнаш вақти.

Ахборот тизимида ахборотлар чизиқли рўйхат тарзида ташкил этилган.


Дастур қуйидагиларни амалга ошириши керак бўлади:


  • ахборот тизимига дастлабки маълумотларни киритиш ва уларни чизиқли рўйхат тарзида ташкил этиш;




  • барча рўйхатни чиқариш;




  • поезд номери киритиш ва шу поездга тегишли барча маълумотларни чиқариш;




  • кўзланган бекат номини киритиш ва шу бекатга келиши керак бўлган поезд ҳақидаги маълумотларни чиқариш.

Дастур меню ѐрдамида мулоқот қилиш ва киритиш вақтидаги хатоликларни назорат қилиши керак.


19–вариант. Темир йўл вокзалининг автоматлаштирилган тизими поездлар жўнаши ҳақидаги маълумотлардан ташкил топган. Ҳар бир поезд қуйидаги маълумотларга эга:


  • поезд номери;

Муаллифлар: М.Х.Худойбердиев, Б.Б.Акбаралиев



  • кўзланган бекат;




  • жўнаш вақти.

Ахборот тизимида ахборотлар иккилик дарахт тарзида ташкил этилган.


Дастур қуйидагиларни амалга ошириши керак бўлади:


  • ахборот тизимига дастлабки маълумотларни киритиш ва уларни иккилик дарахт тарзида ташкил этиш;




  • барча рўйхатни чиқариш;




  • поезд номери киритиш ва шу поездга тегишли барча маълумотларни чиқариш;




  • кўзланган бекат номини киритиш ва шу бекатга келиши керак бўлган поезд ҳақидаги маълумотларни чиқариш.

Дастур меню ѐрдамида мулоқот қилиш ва киритиш вақтидаги хатоликларни назорат қилиши керак.


20–вариант. Қуйидаги ишларни бажарувчи процедура ѐки функцияни ѐзинг:


  • Е параметрга бўш бўлмаган Т дарахтнинг энг чапда жойлашган баргининг ѐзуви ўзлаштирилсин;




  • Е ѐзувни Т дарахтга киритилиш сонини аниқлаш.


21–вариант. Дарахт тугунлари ҳақиқий сонлар бўлсин. Қуйидаги ишларни бажарувчи процедура ѐки функцияни ѐзинг:


  • дарахт барча тугунларини ўрта арифметик қийматини ҳисоблаш;




  • қиймати юқоридаги процедура(функция)да ҳосил бўлган сонга тенг элементни дарахтга қўшиш.


22–вариант.Дарахт тугунлари ѐзуви ҳақиқий сонлар бўлсин. Ёзуви манфий бўлган дарахт тугунларини ўчирувчи процедура тузинг.
23–вариант. Дарахт тугунлари ѐзуви – ҳақиқий сонлар бўлсин.
Қуйидаги ишларни бажарувчи процедура ѐки функцияни ѐзинг:


  • бўш бўлмаган дархтда ѐзув қиймати максимал ѐки минимал бўлган тугунларни топиш;




  • дарахтнинг барча барглари ѐзувини чоп этувчи.

Муаллифлар: М.Х.Худойбердиев, Б.Б.Акбаралиев

24–вариант. Қуйидаги ишларни бажарувчи процедура ѐки функцияни ѐзинг:


  • дарахт тугуни ѐзуви Е бўлган элемент Т дарахтга тегишли ѐки тегишли эмаслигини аниқлаш;




  • агар бундай ѐзув топилмаса, уни дарахтга қўшиш.


Download 1.74 Mb.

Do'stlaringiz bilan baham:
1   ...   7   8   9   10   11   12   13   14   15




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling