Tải bản đầy đủ (.pdf) (10 trang)

new ôn thi liên thông

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (198.94 KB, 10 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

<b>CH</b>

ƯƠ

<b>NG 2 – CÁC GI</b>

<b>I THU</b>

<b>T S</b>

<b>P X</b>

<b>P </b>



<b>Bài 1a.</b><sub> Viết chương trình con đếm số lần xuất hiện của phần tử </sub><b>x</b><sub> trong mảng cho trước. </sub>
int <b>Count1a(</b>int <b>mang[]</b>, int <b>n</b>, int <b>x)</b>


<b>Bài 1b.</b><sub> Cho dãy sau: 23 , 78 , 45 , 8 , 32 , 56 </sub>


Dùng phương pháp sắp xếp (<b>selection sort</b><sub>), sau </sub><b>2</b><sub> lần lặp dãy có dạng nào ? </sub>


<b>A.</b><sub> 8,23,78,45,32,56 </sub> <b>B.</b><sub> 8,23,32,78,45,56 </sub> <b>C.</b><sub> 8,23,32,56,45,78 </sub> <b>D.</b><sub> 23,78,45,8,32,56</sub>


<b>Bài 2a.</b><sub> Viết chương trình con in ra vị trí xuất hiện của phần tử </sub><b>x</b><sub> trong mảng cho trước. </sub>
void <b>Print2a(</b>int <b>mang[]</b>, int <b>n</b>, int <b>x)</b>


<b>Bài 2b.</b><sub> Cho dãy sau: 23 , 78 , 45 , 8 , 32 , 56 </sub>


Dùng phương pháp sắp xếp (<b>selection sort</b><sub>), sau </sub><b>3</b><sub> l</sub>ần lặp dãy có dạng nào ?


<b>A.</b><sub> 8,23,78,45,32,56 </sub> <b>B.</b><sub> 8,23,32,78,45,56 </sub> <b>C.</b><sub> 8,23,32,56,45,78 </sub> <b>D.</b><sub> 23,78,45,8,32,56 </sub>


<b>Bài 3a.</b><sub> Viết chương trình con chèn phần tử </sub><b>x</b><sub> vào vị trí giữa của mảng. </sub>
void <b>Insert3a(</b>int <b>x</b>, int <b>mang[]</b>, int <b>n)</b>


<b>Bài 3b.</b><sub> Cho dãy sau: 23 , 78 , 45 , 8 , 32 , 56 </sub>


Dùng phương pháp sắp xếp (<b>selection sort</b><sub>), sau </sub><b>4 </b><sub>lần lặp dãy có dạng nào ? </sub>


<b>A.</b><sub> 8,23,78,45,32,56 </sub> <b>B.</b><sub> 8,23,32,45,78,56 </sub> <b>C.</b><sub> 8,23,32,56,45,78 </sub> <b>D.</b><sub> 23,78,45,8,32,56 </sub>


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

<b>Bài 4b.</b><sub> Cho dãy sau: 23 , 78 , 45 , 8 , 32 , 56 </sub>



Dùng phương pháp sắp xếp (<b>selection sort</b><sub>), sau </sub><b>5 </b><sub>lần lặp dãy có dạng nào ? </sub>


<b>A.</b><sub> 8,23,78,45,32,56 </sub> <b>B.</b><sub> 8,23,32,45,56,78 </sub> <b>C.</b><sub> 8,23,32,78,56,45 </sub> <b>D.</b><sub> 23,78,45,8,32,56 </sub>


<b>Bài 5a.</b><sub> Viết chương trình con nối 2 mảng 1 và 2 thành mảng 3 </sub>


void <b>Join5a(</b>int <b>mang1[]</b>, int <b>n1</b>, int <b>mang2[]</b>, int <b>n2</b>, int <b>mang3[], </b>int <b>&n3)</b>


<b>Bài 5b.</b><sub> Cho dãy sau: </sub><sub>42,23,74,11,65,58</sub>


Dùng phương pháp sắp xếp (<b>insertion sort</b><sub>), sau </sub><b>3 </b><sub>lần lặp dãy có dạng nào ? </sub>


<b>A. </b><sub>11,23,42,74,65,58</sub> <b>B. </b><sub>11,23,42,65,74,58</sub> <b>C. </b><sub>11,23,58,65,42,74</sub> <b>D. </b><sub>11,23,42,74,58,65</sub>


<b>Bài 6a.</b><sub> Viết chương trình con tách 1 mảng thành 2 mảng : mảng chứa số chẵn và mảng chứa số lẻ. </sub>
void <b>Split6a(</b>int <b>mang[]</b>, int <b>n</b>, int<b> a[]</b>, int <b>&sa</b>, int <b>b[]</b>, int <b>&sb)</b>


<b>Bài 6b.</b><sub> Cho dãy sau: </sub><sub>42,23,74,11,65,58</sub>


Dùng phương pháp sắp xếp (<b>insertion sort</b><sub>), sau </sub><b>4 </b><sub>lần lặp dãy có dạng nào ? </sub>


<b>A. </b><sub>11,23,42,74,65,58</sub> <b>B. </b><sub>11,23,42,65,74,58</sub> <b>C. </b><sub>11,23,58,65,42,74</sub> <b>D. </b><sub>11,23,42,74,58,65</sub>


<b>Bài 7a.</b><sub> Vi</sub>ết chương trình con xoá các phần tử là số chẵn trong mảng cho trước.
void <b>Delete7a(</b>int <b>mang[]</b>, int <b>&n)</b>


<b>Bài 7b.</b><sub> Cho dãy sau: </sub><sub>42,23,74,11,65,58</sub>


Dùng phương pháp sắp xếp (<b>insertion sort</b><sub>), sau </sub><b>5 </b><sub>lần lặp dãy có dạng nào ? </sub>



</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

<b>CH</b>

ƯƠ

<b>NG 3A – CON TR</b>



<b>Bài 1.</b><sub> Cho đoạn code sau, khi chạy xong giá trị của biến a và b là bao nhiêu </sub>
int <b>a, b, *pa, *pb; </b>


a = 1; b = 2; pa = &a; pb = &b; (*pa)++; (*pb)++; *pa = *pb;


<b>A.</b><sub> a = 1 , b = 2 </sub> <b>B.</b><sub> a = 2 , b = 2 </sub> <b>C.</b><sub> a = 2 , b = 1 </sub> <b>D.</b><sub> a = 3 , b = 3 </sub>


<b>Bài 2.</b><sub> Cho đoạn code sau, khi chạy xong giá trị của biến a và b là bao nhiêu </sub>
int <b>a, b, *pa, *pb; </b>


a = 1; b = 2; pa = &a; pb = &b; *pa = *pb * *pa; (*pb)++;


<b>A.</b><sub> a = 1 , b = 2 </sub> <b>B.</b><sub> a = 2 , b = 2 </sub> <b>C.</b><sub> a = 2 , b = 3 </sub> <b>D.</b><sub> a = 3 , b = 3 </sub>


<b>Bài 3.</b><sub> Cho đoạn code sau, khi chạy xong giá trị của biến a và b là bao nhiêu </sub>
int <b>a, b, *pa, *pb; </b>


a = 1; b = 2; pa = &a; pb = &b; *pa = (*pb)++; (*pa)++;


<b>A.</b><sub> a = 1 , b = 2 </sub> <b>B.</b><sub> a = 2 , b = 2 </sub> <b>C.</b><sub> a = 2 , b = 3 </sub> <b>D.</b><sub> a = 3 , b = 3 </sub>


<b>Bài 4.</b><sub> Cho đoạn code sau, khi chạy xong giá trị của biến a và b là bao nhiêu </sub>
int <b>a, b, *pa, *pb, *pc; </b>


a = 1; b = 2; pa = &a; pb = &b; pc = pa; *pc = *pb; *pc = (*pa)++ + *pb;
<b>A.</b><sub> a = 1 , b = 2 </sub> <b>B.</b><sub> a = 2 , b = 2 </sub> <b>C.</b><sub> a = 4 , b = 3 </sub> <b>D.</b><sub> a = 5 , b = 2 </sub>


<b>Bài 5.</b><sub> Cho </sub>đoạn code sau, khi chạy xong giá trị của biến a và b là bao nhiêu


int <b>a, b, *pa, *pb, *pc; </b>


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

<b>Bài 6.</b><sub> Cho đoạn code sau, khi chạy xong giá trị của biến a và b là bao nhiêu </sub>
int <b>a, b, *pa, *pb; </b>


a = 1; b = 2; pa = &a; pb = &b; pa = pb; (*pa)++ ; (*pb)--; *pa = *pb * *pa;
<b>A.</b><sub> a = 1 , b = 2 </sub> <b>B.</b><sub> a = 0 , b = 2 </sub> <b>C.</b><sub> a = 1 , b = 4 </sub> <b>D.</b><sub> a = 1 , b = 3 </sub>


<b>Bài 7.</b><sub> Cho đoạn code sau, khi chạy xong giá trị của biến b là bao nhiêu </sub>
int <b>a[3], b, *pa, *pb, *pc; </b>


a[0] = 1; a[1] = 2; a[2] = 3; b = 2;


pa = a; pb = &b; pc = &a[2]; (*pa)++ ; (*pb)--; *pb = *(pa+2) + *(pc-2);


<b>A.</b><sub> b = 3 </sub> <b>B.</b><sub> b = 4 </sub> <b>C.</b><sub> b = 5 </sub> <b>D.</b><sub> b = 6 </sub>


<b>CH</b>

ƯƠ

<b>NG 3B – LINKED LIST, STACK, QUEUE </b>



<b>Bài 1a.</b><sub> Viết chương trình con đếm số lần xuất hiện của phần tử </sub><b>x</b><sub> trong dslk cho trước. </sub>
int <b>Count1a(</b>node *<b>pFirst</b>, int <b>x)</b>


<b>Bài 1b.</b><sub> Khai báo biến S là kiểu stack và biến Q là kiểu queue. Hãy vẽ hình biểu diễn chồng stack S và </sub>


hàng đợi Q sau khi thực hiện đoạn lệnh sau :
1 Push(S,3);


2 Push(S,12);
3 Enqueue(Q,5);
4 Enqueue(Q,8);


5 x = GetTop(S);
6 Pop(S);


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

<b>Bài 2a.</b><sub> Viết chương trình con in ra vị trí xuất hiện của phần tử </sub><b>x</b><sub> trong dslk cho trước. </sub>
void <b>Print2a(</b>node <b>*pFirst</b>, int <b>x)</b>


<b>Bài 2b.</b><sub> Khai báo biến S1 và S2 là kiểu stack. Vẽ hình biểu diễn S1, S2 sau khi thực hiện đoạn lệnh sau : </sub>
1 Push(S1,3);


2 Push(S1,5);
3 Push(S1,7);
4 Push(S1,9);
5 Push(S1,11);
6 Push(S1,13);


7 while (!EmptyStack(S1)){
x = GetTop(S1);


Pop(S1);


Push(S2,x);
}


<b>Bài 3a.</b><sub> Vi</sub>ết chương trình con chèn phần tử<b>x</b><sub> vào v</sub>ị trí cuối của dslk.
void <b>Insert3a(</b>node<b>* &pFirst</b>, int <b>x)</b>


<b>Bài 3b.</b><sub> Khai báo biến S1 và S2 là kiểu stack. Vẽ hình biểu diễn S1, S2 sau khi thực hiện đoạn lệnh sau : </sub>
1 Push(S1,3);


2 Push(S1,5);


3 Push(S1,7);
4 Push(S1,9);
5 Push(S1,11);
6 Push(S1,13);


7 while (!EmptyStack(S1)){


Pop(S1);


x = GetTop(S1);


Pop(S1);


</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

<b>Bài 4a.</b><sub> Viết chương trình con xố phần tử ở vị trí cuối của dslk. </sub>
void <b>Delete4a(</b>node<b>* &pFirst)</b>


<b>Bài 4b.</b><sub> Khai báo biến Q1, Q2, Q3 là kiểu queue. Vẽ hình biểu diễn Q3 sau khi thực hiện đoạn lệnh sau : </sub>
1 MakeNullQueue(Q3);


2 count = 0;


3 while (!EmptyQueue(Q1) && !EmptyQueue(Q2)){
count = count + 1;


x = Q1.Front->info;
Dequeue(Q1);


y = Q2.Front->info;
Dequeue(Q2);



if (y == count) Enqueue(Q3,x);
}


Biết rằng dữ liệu lúc đầu của Q1 và Q2 như sau (Front là bên phải còn Rear là bên trái)
Q1 : 15 12 11 10 14 25 20 19 31 41 30 42


Q2 : 13 10 4 5 4


<b>Bài 5a.</b><sub> Vi</sub>ết chương trình con nối dslk 1 vào cuối dslk 2
void <b>Join5a(</b>node* <b>&pList1</b>, node* <b>&pList2)</b>


<b>Bài 5b.</b><sub> Khai báo biến S là kiểu stack và biến Q là kiểu queue. Hãy vẽ hình biểu diễn chồng stack S và </sub>


hàng đợi Q sau khi thực hiện đoạn lệnh sau :
1 Push(S,12);


2 Enqueue(Q,8);
3 Push(S,3);
4 Enqueue(Q,5);
5 x = GetTop(S);
6 Pop(S);


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

<b>Bài 6a.</b><sub> Viết chương trình con tách 1 dslk thành 2 dslk : dslk chứa số chẵn và dslk chứa số lẻ. </sub>
void <b>Split6a(</b>node *<b>pList</b>, node* <b>&pEvenList,</b> node* <b>&pOddList)</b>


<b>Bài 6b.</b><sub> Khai báo biến S1 và S2 là kiểu stack. Vẽ hình biểu diễn S1, S2 sau khi thực hiện đoạn lệnh sau : </sub>
1 Push(S1,3);


2 Push(S2,5);
3 Push(S1,7);


4 Push(S2,9);
5 Push(S1,11);
6 Push(S2,13);


7 while (!EmptyStack(S1)){
x = GetTop(S1);


Pop(S1);


Push(S2,x);
}


<b>Bài 7a.</b><sub> Vi</sub>ết chương trình con xố các phần tử là số chẵn trong dslk cho trước.
void <b>Delete7a(</b>node* <b>&pList)</b>


<b>Bài 7b.</b><sub> Khai báo biến S là kiểu stack và biến Q là kiểu queue. Hãy vẽ hình biểu diễn chồng stack S và </sub>


hàng đợi Q sau khi thực hiện đoạn lệnh sau :
1 Enqueue(Q,5);


2 Enqueue(Q,8);
3 Push(S,3);
4 Push(S,12);
5 x = GetTop(S);
6 Pop(S);


7 Enqueue(Q,x);
8 y = Q.Front->info;
9 Push(S,2);



</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

<b>CH</b>

ƯƠ

<b>NG 4 – TREE </b>



<b>Bài 1. </b><sub>Trình bày kết quả khi duyệt cây theo các giải thuật sau: </sub>


a) Duyệt <b>LNR</b><sub>: </sub>


_______________________________________
b) Duyệt <b>NLR</b><sub>: </sub>


_______________________________________
c) Duyệt <b>LRN</b><sub>: </sub>


_______________________________________
d) Duyệt <b>RNL</b><sub>: </sub>


_______________________________________


<b>Bài 2. </b><sub>Trình bày kết quả khi duyệt cây theo các giải thuật sau: </sub>


a) Duyệt <b>LNR</b><sub>: </sub>


_______________________________________
b) Duyệt <b>NLR</b><sub>: </sub>


_______________________________________
c) Duyệt <b>LRN</b><sub>: </sub>


_______________________________________


<b>RNL</b>



2



2

0

0



1



1

0

0



1



1

7

7



3



3

5

5



2



2

5

5

4

4

2

2



2



2

0

0



1



1

0

0



5




5

1

1

7

7



2



2

1

1



3



3

5

5



2



2

2

2

4

4

2

2



2



</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>

<b>Bài 3. </b><sub>Trình bày kết quả khi duyệt cây theo các giải thuật sau: </sub>


a) Duyệt <b>LNR</b><sub>: </sub>


_______________________________________
b) Duyệt <b>NLR</b><sub>: </sub>


_______________________________________
c) Duyệt <b>LRN</b><sub>: </sub>


_______________________________________
d) Duyệt <b>RNL</b><sub>: </sub>



_______________________________________


<b>Bài 4. </b><sub>Trình bày kết quả khi duyệt cây theo các giải thuật sau: </sub>


a) Duyệt <b>LNR</b><sub>: </sub>


_______________________________________
b) Duyệt <b>NLR</b><sub>: </sub>


_______________________________________
c) Duyệt <b>LRN</b><sub>: </sub>


_______________________________________
d) Duyệt <b>RNL</b><sub>: </sub>


_______________________________________


3



3

5

5



2



2

0

0



2



2

7

7



2




2

5

5



4



4

5

5



3



3

7

7



4



4

0

0



5



5

0

0



3



3

6

6



2



2

0

0



1



1

0

0




5



5

1

1

7

7



1



1

5

5



3



3

5

5



2



2

2

2



3



3

0

0



4



4

2

2



1



</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

<b>Bài 5. </b><sub>Trình bày kết quả khi duyệt cây theo các giải thuật sau: </sub>


a) Duyệt <b>LNR</b><sub>: </sub>



_______________________________________
b) Duyệt <b>NLR</b><sub>: </sub>


_______________________________________
c) Duyệt <b>LRN</b><sub>: </sub>


_______________________________________
d) Duyệt <b>RNL</b><sub>: </sub>


_______________________________________


<b>Bài 6. </b><sub>Trình bày kết quả khi duyệt cây theo các giải thuật sau: </sub>


a) Duyệt <b>LNR</b><sub>: </sub>


_______________________________________
b) Duyệt <b>NLR</b><sub>: </sub>


_______________________________________
c) Duyệt <b>LRN</b><sub>: </sub>


_______________________________________
d) Duyệt <b>RNL</b><sub>: </sub>


_______________________________________


4



4

0

0




3



3

0

0



2



2

0

0

3

<sub>3</sub>

5

5



5



5

3

3



5



5

0

0



4



4

5

5



2



2

5

5



5



5

5

5



4




4

3

3



4



4

0

0



3



3

0

0



2



2

0

0

<sub>3</sub>

<sub>3</sub>

<sub>5</sub>

<sub>5</sub>



5



5

3

3



5



5

0

0



4



4

5

5



2



2

5

5




5



5

5

5



3



3

7

7



6



</div>

<!--links-->

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×