Xem mẫu

  1. ĐỀ CƯƠNG ÔN TẬP HỌC KỲ 2 – TIN HỌC 11 Năm học: 2020-2021 Nội Dung: 1. Chủ đề: Cấu trúc lặp 1. Câu lệnh For: - Nắm được cú pháp và cách hoạt động của câu lệnh For, biến đếm, giá trị đầu, điều kiện và tăng giảm. 2. Cấu trúc While: - Nắm được cú pháp và cách hoạt động của câu lệnh While, điều kiện dừng. Bài tập: Các bài toán tính toán có tính lặp đơn giản. 2. Chủ đề: Kiểu mảng (mảng một chiều) - Khái niệm và cách khai báo. - Truy xuất đến các phần tử của mảng. Bài tập: duyệt mảng, tìm kiếm tuần tự trong mảng, sắp xếp dữ liệu trong mảng. 3. Chủ đề: Kiểu xâu: - Khái niệm, khai báo và các thao tác xử lí xâu. - Một số bài tập ví dụ, bài tập thực hành về xâu. - Duyệt xâu từ đầu đến cuối xâu và ngược lại. - Sử dụng một số hàm xử lí xâu. 4. Chủ đề: Kiểu dữ liệu tệp và Thao tác với tệp: - Khai báo được tệp để đọc, Khai báo được tệp để ghi dữ liệu. - Hiểu được quá trình truy xuất tệp. - Đọc dữ liệu từ tệp để gán cho mảng và xử lí dữ liệu. - Một số bài toán tìm kiếm tuần tự, tính toán từ dữ liệu tệp. 5. Một số câu hỏi tham khảo:          1/  Để in ra màn hình các số liên tiếp từ 1 đến 10 ta dùng câu lệnh ? a cout = 1; i­­) cout 
  2.   3/  Để in ra màn hình các số liên tiếp từ 10 đến 1 ta dùng câu lệnh ? a for (int i = 10; i >= 1; i­­) cout 
  3. b 10  8  6  4  2      c  9  6  3  d 10  9  8  7  6  5  4  2  1   8/ Những dòng có lỗi cú pháp trong chương trình sau là: a 8 ­ 10 ­12 b 10 ­ 11 ­ 12 c 6 ­ 8 ­ 11 d 6 ­ 10 ­ 11   9/ Chọn phát biểu sai trong các phát biểu sau đây: a Tùy từng trường hợp cụ thể (khi mô tả một thuật toán), khi thì ta biết trước số lần  lặp, khi thì ta không cần hoặc không xác định được trước số lần lặp các thao tác nào  đó. b Để mô tả việc lặp đi lặp lại một số thao tác (hoặc câu lệnh) trong một thuật toán  ta có thể dùng cấu trúc lặp. c Không thể mô tả được mọi thuật toán bằng ngôn ngữ lập trình bậc cao nếu  không dùng cấu trúc lặp. d Có thể dùng cấu trúc lặp để thay cho cấu trúc rẽ nhánh trong mô tả thuật toán.  10/ Nguyên lý của cấu trúc while là: a  Chương trình sẽ lặp đi lặp lại khối lệnh cho đến khi biểu thức điều kiện sai. b Chương trình sẽ lặp đi lặp lại khối lệnh cho đến khi biểu thức điều kiện đúng. c Chương trình sẽ lặp đi lặp lại khối lệnh cho đến khi biểu thức điều kiện bằng 0. d Không có đáp án đúng.  11/ Trong vòng lặp while, câu lệnh được thực hiện khi: a Không cần điều kiện b Điều kiện sai c Điều kiện không xác định
  4. d Điều kiện còn đúng  12/ Câu lệnh while có cú pháp nào dưới đây ? a while ()  ;  b while ()  ;  c while   ;  d while (); ;  13/ Kiểu dữ liệu của biến lặp trong câu lệnh lặp for là: a Không cần phải xác định kiểu dữ liệu b Cùng kiểu với giá trị đầu và giá trị cuối c Chỉ cần khác kiểu với giá trị đầu d Cùng kiểu với các biến trong câu lệnh  14/ Câu lệnh lặp for (int i=1; ii d i>n  15/ Câu lệnh lặp for (i=1; i=b c a
  5. Để tổ chức việc lặp như vậy ta dùng câu lệnh while có dạng: while ()  ;  Chọn phát biểu sai trong các phát biểu dưới đây : a Nếu không có lệnh nào thay đổi điều kiện trong câu lệnh của thân cấu trúc lặp  này    thì có thể gặp hiện tượng lặp vô hạn khi thực hiện chương trình, nghĩa là lặp  không dừng được. b Về mặt cú pháp, những biểu thức có thể điền vào điều kiện trong cấu trúc while  cũng có thể điền vào điều kiện trong cấu trúc rẽ nhánh if ... else. c Không cần có lệnh thay đổi điều kiện trong câu lệnh của thân cấu trúc lặp này,    vì giá trị của biểu thức điều kiện được tự động điều chỉnh sau mỗi lần thực hiện  câu lệnh lặp. d Điều kiện là biểu thức cho giá trị logic.  19/ Trong các ngôn ngữ lập trình bậc cao thường có cấu trúc lặp để mô tả việc lặp đi  lặp lại một số thao tác nào đó khi một điều kiện cho trước được thỏa mãn. Để tổ chức việc lặp như vậy ta dùng câu lệnh while có dạng: while ()  ;  Chọn phát biểu đúng trong các phát biểu dưới đây : a Biểu thức điều kiện được tính và kiểm tra, nếu biểu thức đó sai thì câu lệnh của  thân cấu trúc lặp này được thực hiện. b Câu lệnh của thân cấu trúc lặp này bao giờ cũng được thực hiện ít nhất một lần. c Điều kiện trong cấu trúc lặp while có thể là một biểu thức kiểu nguyên hoặc kiểu  kí tự. d Khi xác định được trước số lần lặp vẫn có thể dùng cấu trúc lặp while.   20/ Câu lệnh lặp while không thực hiện lần nào khi: a sau điều kiện của câu lệnh while chỉ có một câu lệnh. b điều kiện của câu lệnh while luôn đúng. c lúc đầu điều kiện nhận giá trị False. d lúc đầu điều kiện nhận giá trị True.  21/ Câu lệnh for (int i=­10; i
  6. int i = 0;      for (   ;   ;   )          cout 
  7. for (int i = 0; i 
  8. cin >>x; while (x>0)  { S=S+x; cout x; } ... a Tính tổng các số nhập từ bàn phím chừng nào số nhập vào còn >0 b Tính tổng các số nguyên x nhập từ bàn phím c Tính tổng các số >=0 nhập từ bàn phím d Tính tổng các số nhập từ bàn phím chừng nào số nhập vào còn >=0  30/ Đoạn chương trình sau cho kết quả S là: ... int S=0, a=5; while (a>0) a=a­1; S=S+a; cout 
  9. b Lỗi biên dịch c Lặp vô hạn d 0 1 4  33/ Cho đoạn lệnh: for (int i = 1; i 
  10. if (M>N)  M=M­N;  else N=N­M;      x=x/M; a Bội chung lớn nhất của M và N b Ước chung lớn nhất của M và N c Ước chung nhỏ nhất của M và N d Bội chung nhỏ nhất của M và N  37/ Đoạn chương trình sau, S có kết quả là: int main() {          int S=5; for (int i=1; i
  11.  41/ Cho biết ý nghĩa của khai báo sau: float A[100]; a Khai báo biến mảng A gồm max số nguyên. b Khai báo biến mảng A gồm tối đa 100 số thực. c Khai báo biến mảng A gồm max số nguyên. d Khai báo biến mảng A gồm 100 số thực.  42/ Lệnh nào sau đây là đúng khi sử dụng để khai báo một mảng 10 ký tự có tên  letters ? a letters: char[10];  b char array letters[10]; c char[10] letters; d char letters[10];   43/ Đoạn khai báo sau dùng để: const int n=50;      bool a[n]; a Khai báo biến mảng một chiều a gồm n phần tử kiểu logic b Khai báo biến mảng một chiều a tối đa 50 phần tử kiểu logic c Khai báo biến mảng mảng một chiều a gồm 50 phần tử d Khai báo biến mảng một chiều a gồm nhiều phần tử kiểu logic  44/ Cho mảng a được khai báo như sau: bool a[100]; Các phần tử của mảng a có thể nhận giá trị nào sau đây: a true / false b true c false d Số nguyên nhỏ hơn hoặc bằng 100  45/ Kích thưóc mảng: double b[8] là bao nhiêu ?  a 64 Bytes b 8 Bytes c 128 Bytes d 32 Bytes  46/ Muốn tham chiếu đến một phần tử nào đó trong mảng ta cần phải có tối  thiểu các thông tin a Tên biến mảng, chỉ số phần tử b Giá trị của phần tử, biến mảng c Tên kiểu dữ liệu, tên biến mảng d Chỉ số phần tử, tên kiểu dữ liệu
  12.  47/ Chỉ số của mảng có thể là kiểu gì ? a Kiểu logic b Kiểu số thực  c Kiểu số nguyên d Kiểu kí tự  48/ Cách làm việc với mảng một chiều như thế nào? a Làm việc trực tiếp với mảng. b Thông qua tên biến mảng. c Thông qua tên biến và chỉ số của mảng. d Thông qua chỉ số của mảng.  49/ Mỗi phần tử của mảng phải: a Có kiểu dữ liệu khác nhau. b Có kiểu dữ liệu giống nhau. c Có thể có kiểu dữ liệu giống hoặc khác nhau. d Tất cả các phương án đều sai.  50/ Các phần tử của mảng có thể thuộc các kiểu dữ liệu nào ? a Kiểu số thực b Kiểu kí tự c Kiểu logic d Cả ba kiểu trên  51/ Phát biểu nào dưới đây về kiểu mảng là phù hợp? a Độ dài tối đa của mảng là 255 b Mảng không thể chứa kí tự c Là một tập hợp các số nguyên d Là một dãy hữu hạn các phần tử cùng kiểu  52/ Hãy chọn phương án ghép đúng nhất. Để khai báo số phần tử của mảng  trong C++, người lập trình cần: a khai báo chỉ số đầu tiên của mảng là 0 b không cần khai báo gì, hệ thống sẽ tự xác định c khai báo một hằng số là số phần tử của mảng d khai báo chỉ số bắt đầu và kết thúc của mảng  53/  Phát biểu nào dưới đây về chỉ số của mảng là phù hợp nhất? a Dùng để quản lí kích thước của mảng b Dùng để đếm số phần tử của mảng c Dùng để truy cập đến một phần tử bất kì trong mảng
  13. d Dùng trong vòng lặp với mảng để quản lí kích thước của mảng  54/ Hãy chọn phương án hợp lý nhất. Trong ngôn ngữ lập trình C++: a Các phần tử của mảng một chiều được sắp thứ tự theo giá trị tăng dần b Các phần tử của mảng một chiều được sắp thứ tự theo chỉ số c Các phần tử của mảng một chiều không sắp thứ tự d Các phần tử của mảng một chiều được sắp thứ tự theo giá trị giảm dần  55/ Để khởi tạo số ngẫu nhiên, sử dụng hàm nào ? a srand(time(0)) b rand() c sqrt() d time(0)  56/ Để phát sinh một số ngẫu nhiên, sử dụng hàm nào ? a sqrt() b rand() c time() d srand()  57/ Hàm rand() trả về 1 số nguyên ngẫu nhiên trong khoảng nào ? a (0, 32767) b (1, 32767) c (1, 32777) d (0, 32766)  58/ Để in giá trị phần tử thứ 10 của mảng một chiều A ra màn hình ta viết: a cout 
  14. b truy cập đến phần tử bất kì c chèn thêm phần tử và xóa phần tử d chèn thêm phần tử  61/ Câu lệnh nào sau đây là đúng khi gán ký tự ‘Z’ cho phần tử thứ tư của mảng  letters ? a letters[3] = 'Z';  b letters[3] = 'z'; c letters[4]:= "Z";  d letters[4] = "Z";   62/ Cho khai báo biến: int A[5]; Chọn lệnh gán đúng: a A(3) = ­5 ; b A[1] =  ­5 c A0 = ­5 ;  d A[2] = ­5 ;   63/ Lệnh nào sau đây là đúng ? a int billy[] = new int [5]; b int billy[5]; c int[] billy = new int[5]; d int[] billy;  64/ Cho khai báo: int A[Nmax]; Khai báo trên ĐÚNG trong trường hợp nào? a Nmax là một biến nguyên đã được khai báo trước đó.  b Nmax là một hằng số nguyên đã được khai báo trước đó. c Nmax phải là kiểu số nguyên hoặc kiểu ký tự hoặc kiểu logic. d Mọi trường hợp.  65/ Cho khai báo:       int A[10], i; Ðể nhập dữ liệu cho A, chọn câu nào: a for (i = 0; i 
  15. cin >> A[i]; } a Tạo ngẫu nhiên giá trị cho 10 phần tử của mảng A b Nhập giá trị từ bàn phím cho 10 phần tử của mảng A c Ghi ra màn hình giá trị của 10 phần tử trong mảng A, mỗi giá trị trên một dòng d Nhập giá trị từ bàn phím cho 9 phần tử đầu tiên của mảng A  67/  Hàm rand()%51 cho giá trị là: a Số ngẫu nhiên từ 0 đến 49. b Số ngẫu nhiên từ 0 đến 50. c Số ngẫu nhiên từ 1 đến 49. d Số ngẫu nhiên từ 1 đến 50.  68/ Lệnh nào in giá trị các phần tử trong mảng trên cùng một dòng? a for (int i = 0 ; i 
  16. b In giá trị của phần tử nguyên dương đầu tiên trong A ra màn hình c In chỉ số của phần tử nguyên dương cuối cùng trong A ra màn hình d In chỉ số của phần tử nguyên dương đầu tiên trong A ra màn hình  72/ Đoạn chương trình sau thực hiện công việc gì? a Sắp xếp dãy a theo chiều không giảm. b Tìm phần tử có giá trị lớn nhất của dãy a. c Hoán đổi các giá trị của dãy a với nhau. d Sắp xếp dãy a theo chiều không tăng.  73/ Đoạn chương trình sau cho kết quả là: a Dãy B: 8 5 9 7 2 4 6 b Dãy B: 8 5 9 4 6 2 7 c Dãy B: 9 5 8 4 6 2 7 d Dãy B: 2 4 5 6 7 8 9  
  17. 74/ Đoạn chương trình sau cho kết quả là: a s=14; t=8 b s=14; t=0 c s=15; t=7 d s=0; t=14  75/ Đoạn chương trình sau cho kết quả là: a s=14; t=8 b s=0; t=14 c s=15; t=0 d s=15; t=7  76/ Cho mảng A gồm N số nguyên. Đoạn chương trình sau thực hiện công việc  gì?
  18. for (int i = 0 ; i 
  19. a Giá trị lớn nhất của mảng a gồm n phần tử. b Giá trị nhỏ nhất của mảng a gồm n phần tử. c Giá trị có chỉ số lớn nhất của mảng gồm n phần tử. d Chỉ số nhỏ nhất của mảng gồm n phần tử.  81/ Đoạn chương  trình sau cho kết quả của M là: a Giá trị lớn nhất của mảng a gồm n phần tử. b Giá trị có chỉ số lớn nhất của mảng gồm n phần tử. c Giá trị nhỏ nhất của mảng a gồm n phần tử. d Chỉ số nhỏ nhất của mảng gồm n phần tử.  82/ Đoạn chương  trình sau cho kết quả của M là: a Chỉ số của giá trị nhỏ nhất trong mảng a gồm n phần tử. b Chỉ số nhỏ nhất của mảng gồm n phần tử. c Giá trị có chỉ số lớn nhất của mảng gồm n phần tử. d Chỉ số của giá trị lớn nhất trong mảng a gồm n phần tử.  83/ Đoạn chương  trình sau cho kết quả của M là:
  20. a Chỉ số của giá trị nhỏ nhất trong mảng a gồm n phần tử. b Giá trị có chỉ số lớn nhất của mảng gồm n phần tử. c Chỉ số của giá trị lớn nhất trong mảng a gồm n phần tử. d Chỉ số nhỏ nhất của mảng gồm n phần tử.  84/ Cho mảng A gồm N số nguyên. Đoạn chương trình sau thực hiện công việc  gì?  int dem = 0;    for (int i = 0; i = 0)  dem = dem + 1;  cout 
nguon tai.lieu . vn