1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đề cương ôn tập chương 4 môn Tin học 11 năm 2019-2020 - Trường THPT Đức Trọng

8 214 4

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 8
Dung lượng 738,78 KB

Nội dung

Nhằm giúp các bạn học sinh đang chuẩn bị cho kì thi học kì sắp tới cùng củng cố và ôn luyện kiến thức, rèn kỹ năng làm bài thông qua việc giải Đề cương ôn tập chương 4 môn Tin học 11 năm 2019-2020 - Trường THPT Đức Trọng. Hi vọng đây là tài liệu hữu ích cho các bạn trong việc ôn tập.

Trang 1

Trường THPT Đức Trọng

Tổ: Tin học

CHƯƠNG IV: KIỂU DỮ LIỆU CÓ CẤU TRÚC

A/ TÓM TẮT LÍ THUYẾT

 Kiểu dữ liệu có cấu trúc được xây dựng từ những kiểu dữ liệu đã có theo qui tắc, khuôn dạng do ngôn ngữ lập trình cung cấp

 Mảng một chiều:

 Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu

 Khái báo:

C1: Var <tên biến mảng>: array[kiểu chỉ số] of <kiểu phần tử>;

C2: Type <tên kiểu mảng>= array[kiểu chỉ số] of <kiểu phần tử>;

Var <tên biến mảng>: <tên kiểu mảng> ;

 Tham chiếu phần tử mảng: tên biến mảng[chỉ số phần tử]

 Kiểu dữ liệu xâu:

 Xâu là dãy kí tự trong bộ mã ASCII, số lượng kí tự trong xâu là độ dài của xâu, xâu có độ dài =0 gọi là xâu rỗng, kí hiệu: ’’, độ dài lớn nhất của xâu không vượt quá 255

 Khai báo:

C1: Var <tên biến xâu>: String[độ dài lớn nhất của xâu];

C2: Type <tên kiểu xâu>= string;

Var <tên biến xâu>: <tên kiểu xâu> ;

 Tham chiếu phần tử xâu: tên biến xâu[chỉ số phần tử]

 Các thao tác xử lí thường sử dụng

o Phép ghép xâu: (+)

o Phép so sánh: >, <, =, <>, >=, <=

Các thủ tục chuẩn:

+ Delete(s, vt, n);

+ Insert(s1, s2, vt);a

o Các hàm chuẩn:

+ Length(s) + Copy(s, vt, n) + Pos (s1,s2) + Upcase(ch) B/ CÂU HỎI VÀ BÀI TẬP

1/ Một số câu hỏi trắc nghiệm:

Câu 1. Giả sử mảng A được khai báo như sau: Var A:array[-2 10] of integer; Để tham chiếu đến phần tử thứ 3 của mảng, ta viết

C. A[0] D. không thể tham chiếu được vì kiểu chỉ số sai

Câu 2. Hãy cho biết phần tử thứ 10 của mảng C có giá trị là bao nhiêu? For i:=1 to

100 do C[i]:=1;

Câu 3. Cho xâu S1='Dat chuan quoc gia' và xâu S2='Duc Trong' Thủ tục

Copy(S1,1,Length(S2)) cho kết quả là:

Trang 2

A. 'Dat chuan' B. 'Duc Trong'

C. 'quoc gia' D. 'Duc Trong Dat chuan quoc gia'

Câu 4. Cho xâu S1='Tin hoc khoi 11 rat kho' và xâu S2='Hoc sinh' Thủ tục Delete(S1,9,Length(S2)) cho kết quả là:

A. 'khoi 11 ' B. 'Tin hoc' C. 'Hoc sinh' D. 'Tin hoc rat kho'

Câu 5. Cho S kiểu số thực, i và n thuộc kiểu số nguyên Để tính tổng bình phương các

số chẵn từ 1 đến n, câu lệnh nào sau đây đúng?

A For i:=3 to n do If i mod 2=0 then S:=S+sqt(i);

B For i:=1 to n do S:=S+sqt(i);

C For i:=1 to n do If i mod 2=0 then S:=S+sqr(i);

D For i:=n downto 1 do If i mod 2<>0 then S:=S+sqt(i);

Câu 6. Cho biết kết quả của đoạn chương trình sau:

S:=0; For i:=1 to 6 do If (i mod 2=0) then S:=S+i; Write(S);

a 3

b 12

c 6

d 9

Câu 7 Cho biết kết quả của đoạn chương trình sau:

S:=0; i:=0; While S<=10 do begin i:=i+1; S:=S+i; end; Write(S);

a 5

b 15

c 20

d 10

Câu 8 Cho biết kết quả của đoạn chương trình sau:

S:=0; For i:=1 to 10 do If (i mod 3=0) Or (i mod 4=0) then S:=S+i; Write(S);

a 15

b 45

c 30

d 0

Câu 9 Cho biết kết quả của đoạn chương trình sau:

T:=0; For i:=1 to 10 do T:=T+i; Write(i);

a 1

b 55

c 10

d 0

Câu 10 Cho khai báo sau: Var C:array[1 5] of integer; Để lưu trữ biến C cần bao nhiêu byte bộ nhớ?

a 2

b 5

c 10

d 1

Câu 11 Mảng là kiểu dữ liệu có cấu trúc vì :

a Được xây dựng từ các kiểu dữ liệu chuẩn

b Khai báo biến mảng ở dạng phức tạp

c Là một dãy các phần tử khác kiểu mà mỗi phần tử có một chỉ số khác nhau

d Là dãy các phần tử bất kì mà mỗi phần tử có một chỉ số khác nhau

Câu 12 Hãy cho biết dòng lệnh nào sau đây dùng để tạo ngẫu nhiên mảng gồm n số nguyên trong phạm vi từ 0 đến 299

a For i:=1 to n do A[i]:= random(0) - random(299);

b For i:=1 to n do A[i]:= random(1) - random(300);

c For i:=1 to n do A[i]:= random(300) - random(300);

Trang 3

d For i:=1 to n do A[i]:= random(299) - random(299);

Câu 13 Cho A={30, 15, 9, 23, 5, 27, 14} Hãy cho biết khai báo nào sau đây là đúng nhất?

a Var A:array['a' 'g'] of byte;

b Var A:array[1 7] of char;

c Var A:array[1 7] of byte

d Var A:array[5 30] of byte;

Câu 14 Giả sử mảng A được khai báo như sau: Var A:array[-2 3] of integer; Để tham chiếu đến phần tử thứ 2 của mảng, ta viết

a A[6]

b A[2]

c A[-1]

d A(2)

2/ Một số câu hỏi tự giải:

Câu 1: Viết khai báo xâu cho chương trình sau:

Viết chương trình nhập từ bàn phím xâu kí tự S1 có độ dài không quá 100 hãy tạo xâu S2 gồm tất cả các chữ số có trong S1

Câu 2: Cho xâu S1 = ‘Hinh 1’ và xâu S2 = ‘2’ Thủ tục Insert(S2,S1,6) cho kết quả là? Câu 3: Điền vào chỗ trống … trong câu sau:

“Xâu là dãy … … … trong bộ mã ASCII”

Câu 4: Giá trị của xâu S = ‘Em se la mua xuan cua me’ Hãy sử dụng thủ tục Delete như thế nào để có

kết quả là ‘Em la mua xuan cua me’ ?

Câu 5: Hàm Pos(‘em’, ‘ngay mai em di bien nho ten em goi ve’) cho kết quả là? Câu 6: Cho xâu S1=’Dat chuan quoc gia’ và xâu S2=’Duc Trong’

Hàm Copy(S1,1,Length(S2)); cho kết quả là?

Câu 7: Cho xâu S=’500 dong’ Hàm Length(S); cho kết quả là?

Câu 8: Cho xâu S=’Lop 11’ Hàm Upcase(S); cho kết quả là?

Câu 9: Viết cấu trúc khai báo biến kiểu xâu?

Câu 10: Cho xâu S=’TRAN VAN AN’ Để tham chiếu đến kí tự đầu tiên của tên ta viết như thế nào?

3/ Một số dạng bài tự luận:

Câu 1: Tạo mảng B gồm n (n<=200) số nguyên, mỗi số có trị tuyệt đối không vược

quá 500 Hãy cho biết có bao nhiêu số hạng trong mảng B có giá trị bằng 0

Program zero;

Uses Crt;

Const Nmax = 200;

Type ArrInt = Array[1 Nmax] of Integer;

Var i,n,dem: byte;

B:ArrInt;

Begin

Clrscr;

Write('Nhap so luong phan tu cua day so, N = ');

Readln(N);

For i:=1 to N do

Trang 4

Begin

Write('Phan tu thu ',i,' = ');

Readln(B[i]);

End;

dem:=0;

For i:=1 to N do

If B[i] = 0 then dem:=dem+1;

Write('Co ',dem,' so hang trong mang B co gia tri bang 0');

Readln

End

Câu 2: Tạo mảng C gồm n (n<=100) số nguyên, mỗi số có trị tuyệt đối không vược quá 300 Cho biết Chỉ số và giá trị nhỏ nhất trong dãy số đã cho (nếu có nhiều phần tử

nhỏ nhất thì đưa ra tất cả vị trí của chúng)

Program cau2;

Uses crt;

Const Nmax = 100;

Type ArrInt = array[1 Nmax] of Integer;

Var i,n,min: integer;

C:ArrInt;

Begin

Clrscr;

Write('Nhap so luong phan tu cua mang, N = ');

Readln(N);

For i:=1 to N do

Begin

Write('C[',i,']= ');

Readln(C[i]);

End;

For i:=1 to N do write(C[i]:5);

Writeln;

Min:=C[1];

For i:=2 to N do

If C[i] < Min then Min:=C[i];

Writeln('Ket qua la : ',Min);

For i:=1 to N do

If C[i] = Min then write(i:5);

Readln

End

Câu 3: Viết chương trình Pascal nhập từ bàn phím dãy A gồm n (n<=100) số nguyên dương A1, A2, … , AN Hãy xuất ra những thông tin sau:

a/ Tổng các số lẻ trong dãy

b/ Số lượng và vị trí của các số chẵn trong dãy

Program kt_th1;

Trang 5

Uses crt;

Const Nmax = 100;

Type ArrW = Array[1 Nmax] of word;

Var A: ArrW;

i,n,d:byte; S:Word;

Begin

clrscr;

write('Nhap so luong phan tu mang : '); Readln(N);

For i:=1 to n do

Begin

write('Nhap phan tu thu ',i,' = ');

Readln(A[i]);

End;

S:=0;

Writeln('Vi tri cac so chan nhu sau:');

For i:=1 to n do

If A[i] mod 2 = 1 then S:=S+A[i]

Else

Begin

d:=d+1;

Write(i:5);

End;

Writeln;

Writeln('Co ',d,' so chan trong day');

Writeln('Tong cac so le trong day la : ',S);

Readln

End

Câu 4: Viết chương trình Pascal nhập từ bàn phím dãy A gồm n (n<=100) số nguyên

A1, A2, … , AN Hãy xuất ra những thông tin sau:

a/ Tổng các số âm trong dãy

b/ Số lượng và vị trí của các số dương trong dãy

Program kt_th2;

Uses crt;

Const Nmax = 100;

Type ArrInt = Array[1 Nmax] of Integer;

Var A: ArrInt;

i,n,d:byte; S:Integer;

Begin

clrscr;

write('Nhap so luong phan tu mang : '); Readln(N);

For i:=1 to n do

Begin

write('Nhap phan tu thu ',i,' = ');

Trang 6

Readln(A[i]);

End;

S:=0; d:=0;

Writeln('Vi tri cac so duong trong day la:');

For i:=1 to n do

If A[i] < 0 then S:=S+A[i]

Else

Begin

d:=d+1;

Write(i:5);

End;

Writeln;

Writeln('Co ',d,' so duong trong day');

Writeln('Tong cac so am trong day la : ',S);

Readln

End

Câu 5: Sử dụng ngôn ngữ lập trình Pascal, viết chương trình nhập từ bàn phím số nguyên

dương N (0<N  100) và dãy A gồm N số thực A1, A2, … , AN Hãy đưa ra những thông tin sau:

- Khi người sử dụng nhập N ngoài đoạn (0<N  100) thì yêu cầu nhập lại

- Hãy tạo ra dãy B gồm các phần tử trong dãy A có chỉ số là lẻ và xuất kết quả ra màn hình

Ví dụ:

Dãy A 2.5 43.7 43.6 8.9 23.4 45.2 22.9 56.1 34.6 3.8

Dãy B được tạo ra như sau:

B 2.5 43.6 23.4 22.9 34.6

Giải

Program mang_cau1;

Uses crt;

Var A, B : Array[1 100] of real;

i,j,n: Integer;

Begin

clrscr;

write('So phan tu cua day A(0<N<=100), N = ');

readln(N);

While (N<=0) or (N>100) do

begin

write('Nhap lai, so phan tu cua day A(0<N<=100), N = ');

readln(N);

end;

For i:=1 to N do

begin

write('Phan tu thu ',i,' = ');

Trang 7

readln(A[i]);

end;

j:=0;

For i:=1 to N do

If i mod 2 <> 0 then

begin

j:=j+1;

B[j]:=A[i];

end;

writeln('Cac phan tu cua day B : ');

For i:=1 to j do write(B[i]:10:1);

readln

End

Câu 6: Sử dụng ngơn ngữ lập trình Pascal, viết chương trình nhập từ bàn phím số nguyên

dương N (0<N  100) và dãy A gồm N số nguyên A1, A2, … , AN có giá trị tuyệt đối không lớn hơn 1000 Hãy đưa ra những thơng tin sau:

- Khi người sử dụng nhập N ngồi đoạn (0<N  100) thì yêu cầu nhập lại

- Hãy tạo ra dãy B gồm các phần tử trong dãy A cĩ giá trị chia hết cho 3 và 5 và xuất kết quả ra màn hình

Ví dụ:

Dãy B được tạo ra như sau:

Giải

Program mang_cau2;

Uses crt;

Var A, B : Array[1 100] of Integer;

i,j,n: Integer;

Begin

clrscr;

write('So phan tu cua day A(0<N<=100), N = ');

readln(N);

While (N<=0) or (N>100) do

begin

write('Nhap lai, so phan tu cua day A(0<N<=100), N = ');

readln(N);

end;

For i:=1 to N do

begin

write('Phan tu thu ',i,' = ');

readln(A[i]);

end;

j:=0;

For i:=1 to N do

If (A[i] mod 3 = 0) and (A[i] mod 5 = 0) then

begin

Trang 8

j:=j+1;

B[j]:=A[i];

end;

writeln('Cac phan tu cua day B : ');

For i:=1 to j do write(B[i]:5);

readln

End

4/ Một số bài tập tự giải:

Câu 1: Viết chương trình nhập từ bàn phím một xâu kí tự Cho biết độ dài của xâu vừa nhập?

Câu 2: Viết chương trình nhập từ bàn phím một xâu kí tự Cho biết trong xâu vừa nhập có bao nhiêu kí tự trắng ?

Câu 3: Viết chương trình nhập từ bàn phím một xâu kí tự Xuất ra màn hình xâu kí tự đó nhưng xóa đi tất cả các kí tự ’A’ hoặc ’a’

Câu 4: Viết chương trình nhập từ bàn phím một xâu kí tự

a/ Cho biết có bao nhiêu kí tự số

b/ Cho biết có bao nhiêu kí tự chữ

Câu 5: Viết chương trình nhập từ bàn phím một xâu kí tự và một kí tự ’k’ Cho biết có bao nhiêu kí tự ’k’?

Câu 6: Viết chương trình nhập từ bàn phím một xâu kí tự Cho biết trong xâu có bao nhiêu cụm kí tự ’anh’?

Câu 7/ Cho xâu s:=’Truong THPT Duc Trong’;

Cho biết kết quả của hàm và thủ tục sau:

+ Delete(s, 5, 4);

+ Cho s1:=’Duc’; Insert(s1, s, 4);

+ Length(s) + Copy(s, 3, 8) + Cho s1:=’Duc’; vt:=Pos (s1,s) + Upcase(S[5]);

Câu 8/ Viết chương trình cho hàm copy và thủ tục Insert Sự khác nhau giữa hàm và thủ tục

5/ Sách giáo khoa

-Bài 1 đến bài 5 SGK trang 71 – 72

-Bài 1; 2; 3 SGK trang 73

-Bài 5; 6 SGK trang 79

-Bài 10 SGK trang 80

Ngày đăng: 08/01/2020, 21:32

TỪ KHÓA LIÊN QUAN

w