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>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>
<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>
<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
<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>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);
<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);
7 while (!EmptyStack(S1)){
Pop(S1);
x = GetTop(S1);
Pop(S1);
<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);
<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);
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);
<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>
<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>
_______________________________________
<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>
_______________________________________