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

nội dung ôn tập tin học lớp 11

21 10 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 21
Dung lượng 567,64 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trong ngôn ngữ lập trình Pascal, để xóa ký tự đầu tiên của xâu ký tự S A.. Xóa đi một trong 2 dấu cách đầu tiên trong xâu; C.. Trong ngôn ngữ lập trình Pascal, để in một xâu ra màn hình

Trang 1

ÔN TẬP 11 VIẾT CHƯƠNG TRÌNH GIẢI BÀI TOÁN SAU

TRONG SÁCH BÀI TẬP TIN 11

Dữ liệu vào: Không có

 Dữ liệu ra: Tệp văn bản FIBO.DAT gồm 45 dòng Mỗi dòng là một số Fibonaccy

2 Xây dựng ý tưởng giải thuật:

Sử dụng vòng lặp While… Do

 Sơ đồ khối của thuật toán:

Bài 2: Bài tập 5.9 :

3 Tìm hiểu đề bài:

 Dữ liệu vào: Số n là số tháng mà đoàn thám hiểm quay lại đảo

 Dữ liệu ra: Số thỏ trên đảo sau n tháng

4 Xây dựng ý tưởng giải thuật: Dựa vào tính chất của dãy số Fibonacci

Sử dụng vòng lặp While… Do

Trang 2

 Sơ đồ thuật toán:

5 Trình bày lời giải:

Trang 3

Bài 3: Bài 5.41:

1 Tìm hiểu đề bài:

- Input: Tệp văn bản DUONGI.TXT

- Output: Khoảng cách của nhóm so với trại

2 Ý tưởng giải thuật:

- Do chỉ cần biết được khoảng cách của nhóm so với trại nên ta gắn vào hướng đi của nhóm theo một hệ trục toạ độ: Gốc là trại, chiều dương trục Ox là hướng Đông, chiều dương trục Oy là hướng Bắc

- Dùng biến tạm h để tính toạ độ của nhóm với quy ước rẽ trái h giảm đi 1, rẽ phải

Trang 4

Bài 4: Bài 319(sbt trang 21):

Cho ba số nguyên p, q, r(#0) Kiểm tra ba số này, theo thứ tự nhập vào có tạo thành một cấp

số nhân hay không Viết chương trình thực hiện yêu cầu trên

until( q<>0) and( p<>0)and (r<>0);

if q/p=r/q then writeln(p, ' ', q, ' ', r, ': la cap so nhan')

else writeln(p, ' ', q, ' ', r, ': khong phai cap so nhan');

-Chuẩn hóa xâu theo quy tắc sau:

+xóa các dấu cách ở đầu xâu nếu có;

+xóa các dấu cách ở cuối xâu nếu có;

+thay dãy nhiêu dấu cách liên tiếp bằng một dấu cách

Trang 5

B2 xóa trong xâu s đi 1 kí tự nếu có hai kí tự trắng liền nhau

B3 kiểm tra kí tự đầu và cuối nếu chúng là kí tự trắng thì xóa

B4.đưa lần lươt s[i] ra màn hình đến hết

if s[length(s)]=' ' then delete(s, length(s), 1);

writeln('xau sau khi duoc chuan hoa la ');

for i:=1 to length(s) do

Trang 6

Bài 6: Bài 3.34:Tuổi cha hiện nay là B và tuổi con là C (0<C<B, B, C là số nguyên và theo luật hôn

nhân và gia đình B-C>=19) Viết chương trình kiểm tra xem tuổi cha có gấp đôi tuổi con hay không, nếu đúng thì đưa ra màn hình câu thông báo ‘HIEN NAY TUOI CHA GAP ĐOI TUOI CON’, trong trường hợp ngược lại, hãy tính số năm N mà trước đó hoặc sau đó tuổi cha gấp đôi tuổi con và đưa câu thông báo dạng ‘N NĂM TRƯỚC ĐÂY TUỔI CHA GẤP ĐÔI TUỔI CON’ hoặc ‘SAU N NĂM TUỔI CHA SẼ GẤP ĐÔI TUỔI CON’

VÍ DU, với B=59, C=29 thì in ra câu thông báo sẻ là:

SAU 1 NĂM NỮA TUÔI CHA SE GẤP ĐÔI TUỔI CON

N:=B-2*C

Sau N năm t ổi cha s

ẻ g ấp đ ôi tuôi con

N=2*C-B

Tr ư ớc đ ó N N ĂM TU ỔI CHA G ẤP ĐÔI TU ỔI CON

END

Trang 7

B4:CHƯƠNG TRÌNH

begin

repeat

writeln('nhap tuoi cha');readln(b);

writeln('nhap tuoi con');readln(c);

if(b-c<19) or(c<0) or (b<c) then

writeln('ban phai nhap lai');

until(c>0) and (c<b) and (b-c>=19);

if b=2*c then writeln('hien tuoi cha gap doi tuoi con')

 V := x + y nếu x > 1 và y > 1 Chuyển qua bước 3;

 V := x – y nếu x > 1 và y <= 1;Chuyển qua bước 3;

 V := - x + y nếu x <= 1 và y > 0;Chuyển qua bước 3;

 V := - x - y nếu x <1 và y <=0;Chuyển qua bước 3; B3: In giá trị của v

 Bước 3: Chương trình

If (x > 1) and (y > 1) then v:=x + y

Else

If (x > 1) and (y <= 1) then v:=x - y Else

If (x <= 1) and (y <=0 ) then v:=x + y Else v:= - x – y;

Trang 8

Writeln(‘ Gia tri cua ham la ‘,v);

Output: Nếu là cấp số cộng thì gấp đôi giá trị mỗi số

Nếu không thì giảm mỗi số một đơn vị

Bước 2: Ý tưởng giải thuật

Kiểm tra điều kiện k+m=n*2?

Nếu điều kiện đúng thì nhân đôi mỗi số, nếu sai thì giảm mỗi số một đơn vị

m+k=n*2

Trang 9

Bài tập tương tự: Nhập vào 3 số a, b, c, kiểm tra xem có phải a, b, c tạo thành cấp số nhân

không? Nếu là cấp số cộng thì thông báo đồng thời gấp đôi mỗi số Ngược lại thì giảm mỗi

số 2 đơn vị

Bài 9: Bài 4.20

Bước 1: Xác định Input, Output

Input: Nhập xâu bất kì

Output: Chuẩn hóa xâu

Bước 2: Ý tưởng giải thuật

- Dùng lệnh while s[1]=' ' do delete(s,1,1) để xóa các kí tự trắng đầu xâu

- Dùng lệnh while s[length(s)]=' ' do delete(s,length(s),1) để xóa các kí tự trắng cuối xâu

- Dùng lệnh while pos(' ',s)<>0 do delete(s,pos(' ',s),1) để xóa những kí tự trắng liền nhau ở giữa xâu

Trang 11

- Xây dựng bài toán tương đương:

Nhập xâu bất kì, đếm số từ có trong xâu ( từ là tập hợp các kí tự kết thúc bằng dấu cách)

Trang 12

Bài 10: Bài 3.40 Nhập vào bàn phím số nguyên dương N (0<N<2*109) Tính và đưa ra màn hình tổng bình phương các chử số của N Ví dụ, với N=125, tổng bình phương các chử

số cảu nó sẽ là 12

+22+52=30

Phân tích bài toán

Bước 1 Tìm hiểu đề bài

- Input: N nguyên dương (0<N<2*109

)

- Output: tổng bình phương các chử số của N

- Tổng bình phương các chử số bằng tổng bình phương của tất cả các chử số có mặt trong số đó

Bước 2 Xây dựng ý tưởng giải thật

- Để tính tổng binh phương các chử số thì ta phải lấy ra được các chử số của số đó

- Cách lấy các chử số trong một số:kết hợp hai toán tử MOD và DIV ta sẽ lần lượt lấy được từng số dư trong từng hàng đơn vị, chục, trăm, nghìn

- Bình phương chúng lên rồi cộng dồn vào biến tổng sẽ cho ta kết quả cần tính

Write (‘ Nhap N= ‘); Readln (N);

If (N≤0) or(N≥2.exp(9*ln(10))) Then write(‘ Nhap lai N ’);

Trang 13

- Điều kiện ràng buộc đầu vào của N (N>0) and (N<2.109)

- Điều kiện lặp N>0 chứ không phải là N≥0 Vì khi N=0 thì phải dừng lặp, các câu lệnh dưới không có ý nghĩa nữa

- Kiểu dữ liệu: N là longint (vì 0<N<2*109)., Tong phải là Interger; du là byte (vì du chỉ nhận giá trị từ 0 9)

Bước 4 Nghiên cứu về lời giải

- Mở rộng bài toán: có thể thay vòng lặp While do bằng vòng lặp Repeat until

- Lớp bài toán tương đương

+ Nhập số N nguyên dương và cho biết N có bao nhiêu chử số, tính tổng các chử số đó?

+ Phân tích số thành tích của các thừa số nguyên tố

+ Viết hàm Dao_so(N) để cho ra số nghịch đảo của số đó?

Trang 14

Bài 11: Bài 3.16 (Sách bài tập Tin Hoc 11)

Lập trình nhập từ bàn phím hai số nguyên khác nhau m và n, thay số nhỏ hơn bằng hiệu của

số lớn với số bé, thay số lớn hơn bằng tổng của hai số ban đầu Đưa ra các giá trị mới của m

và n ra màn hình

Giải:

* Tìm hiểu đề bài:

In put: m,n

Out put: giá trị mới của m,n

* Ý tưởng giải thuật:

Trang 15

writeln('gia tri moi cua m la:',m);

writeln('gia tri moi cua n la:',n);

readln;

end

Trang 16

NỘI DUNG ÔN TẬP –TRẮC NGHIỆM TIN 11THÁNG 3-2020

1 Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau thực hiện công việc gì?

d:=0;

for i:=1 to length(s) do

if s[i]=’ ‘ then d:=d+1; {‘’ là khoảng trắng};

A Xóa các dấu khoảng trắng trong xâu s;

B Đếm số ký tự có trong xâu s;

C Xóa đi các chữ số có trong xâu s;

D Xóa đi chữ số đầu tiên trong xâu s;

2 Trong ngôn ngữ lập trình Pascal, để xóa ký tự đầu tiên của xâu ký tự S

A Xóa hai dấu cách liên tiếp nhau đầu tiên trong xâu;

B Xóa đi một trong 2 dấu cách đầu tiên trong xâu;

C Xóa các dấu cách trong xâu s để s không còn 2 dấu cách liền nhau;

D Xóa các dấu cách liền nhau cuối cùng trong xâu;

Trang 17

5 Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau đây làm công việc gì?

A Xóa tất cả các dấu cách trong xâu x;

B Xóa tất cả các dấu cách bên trái của xâu x;

C Xóa tất cả các dấu cách bên phải của xâu x;

D Xóa tất cả các dấu cách ở hai đầu của xâu x;

6 Trong ngôn ngữ lập trình Pascal, để in một xâu ra màn hình theo thứ

tự ngược lại giữa các ký tự trong xâu (Ví dụ ‘abcd’ thì in ra là ‘dcba’), đoạn chương trình nào sau đây thực hiện việc này?

A For i:=1 to length(s) do write(s[i]);

B For i:=1 to length(s) downto write(s[i]);

C For i:=1 to length(s) do write(s);

D For i:=1 to length(s) div 2 do write(s[i]);

7 Trong ngôn ngữ lập trình Pascal, với xâu ký tự ta có thể:

A So sánh hai xâu ký tự;

B So sánh hai xâu ký tự, gán biến xâu cho biến xâu và gán một ký

tự cho biến xâu;

C Gán biến xâu cho biến xâu và gán một ký tự cho biến xâu;

D So sánh và gán một biến xâu cho biến xâu

8 Trong ngôn ngữ lập trình Pascal, hai xâu ký tự được so sánh dựa trên:

A Mã của từng ký tự trong các xâu lần lượt từ trái sang phải;

B Độ dài tối đa của hai xâu;

C Độ dài thực sự của hai xâu;

D Số lượng các ký tự khác nhau trong 2 xâu;

9 Trong ngôn ngữ lập trình Pascal, hàm Upcase(ch) cho kết quả là:

A Chữ cái in hoa tương ứng với ch;

B Xâu ch toàn chữ thương;

C Xâu ch toàn chữ hoa;

Trang 18

C Tập hợp các chữ cái trong bảng chữ cái tiếng anh;

D Tập hợp các chữ cái và các chữ số trong bảng chữ cái tiếng anh;

11 Trong ngôn ngữ lập trình Pascal cách khai báo xâu ký tự nào sau đây

D Không phải là xâu ký tự

14 Trong ngôn ngữ lập trình Pascal phần tử đầu tiên của xâu ký tự mang chỉ số là:

A 0

B 1

C Do người lập trình khai báo

D Không có chỉ số

15 Trong ngôn ngữ lập trình Pascal, khai báo nào trong các khai báo sau

là sai khi khai báo xâu ký tự

A Xóa trong xâu c a ký tự bắt đâu từ vị trí b;

B Xóa trong xâu a b ký tự bắt đâu từ vị trí b;

C Xóa trong xâu c b ký tự bắt đâu từ vị trí a;

D Xóa trong xâu b c ký tự bắt đâu từ vị trí a;

Trang 19

17 Trong ngôn ngữ lập trình Pascal, thủ tục Insert(S1,S2,n) thực hiện công việc gì?

A Chèn thêm xâu S1 vào xâu S2 bắt đầu từ vị trí n của S1;

B Chèn thêm xâu S1 vào xâu S2 bắt đầu từ vị trí n của S2;

C Chèn thêm xâu S2 vào xâu S1 bắt đầu từ vị trí n của S1;

D Chèn thêm xâu S2 vào xâu S2 bắt đầu từ vị trí n của S1;

18 Trong ngôn ngữ lập trình Pascal, hàm length(s) cho kết quả gì?

A Độ dài xâu S khi khai báo;

B Số ký tự hiện có trong xâu S không tính các khoảng trắng(Ký tự trắng, khoảng cách);

C Số các ký tự của xâu không tính dấu cách cuối cùng;

D Số ký tự hiện có của xâu S;

19 Trong ngôn ngữ lập trình Pascal sau khi thực hiện đoạn chương trình sau, giá trị của biến S là:

S:=’Ha Noi mua thu’;

Delete(S,7,8);

Insert(‘Mua thu’,S,1);

A Ha Noi Mua thu;

B Mua thu Ha Noi mua thu;

C Mua thu Ha Noi;

A Được lưu trữ trên ROM;

B Chỉ được lưu trữ trên RAM;

C Chỉ được lưu trữ trên đĩa cứng;

D Được lưu trữ trên bộ nhớ ngoài;

22 Dữ liệu kiểu tệp:

A Sẽ bị mất hểt khi tắt máy;

B Sẽ bị mất hết khi mất điện đột ngột;

C Không bị mất khi tắt máy hoặc mất điện;

D Vẫn giữ nguyên trên ROM khi tắt máy hoặc cúp điện;

Trang 20

23 Số lượng phần tử trong tệp

A Không được lớn hơn 128;

B Không được lớn hơn 255;

C Phải được khai báo trước;

D Không bị giới hạn mà chỉ phụ thuộc vào dung lượng đĩa;

24 Trong Pascal, để khai báo tệp văn bản ta sử dụng cú pháp

A var <tên tệp>:text;

B <tên biến tệp>:text;

C var <tên tệp>: String;

D var <tên biến tệp>: String;

25 Trong Pascal để khai báo hai biến tệp văn bản f1, f2 ta viết như sau:

B ta nhất thiết phải gán tên tệp cho tên biến tệp;

C ta nên sử dụng trực tiếp tên tệp trong chương trình;

D ta nhất thiết phải sử dụng trực tiếp tên tệp trong chương trình;

27 Để gán tên tệp cho tên biến tệp ta sử dụng câu lệnh:

A <tên biến tệp>:=<tên tệp>;

B <tên tệp>:=<tên biến tệp>;

C.asign(<tên biến tệp>:=<tên tệp>);

D asign(<tên tệp>:=<tên biến tệp>);

28 Để gán tệp kq.txt cho biến tệp f1 ta sử dụng câu lệnh

Trang 21

B nằm ở cuối tệp;

C nằm ở giữa tệp;

D nằm ngẩu nhiên bất kỳ vị trí nào;

31 để ghi kết quả vào tệp văn bản ta có thể sử dụng thủ tục sau:

A read(<tên tệp>,<danh sách kết quả>);

B read(<tên biến tệp>,<danh sách kết quả>);

D write(<tên tệp>,<danh sách kết quả>);

C write(<tên biến tệp>,<danh sách kết quả>);

32 để đọc dữ liệu từ tệp văn bản ta có thể sử dụng thủ tục sau:

A read(<tên tệp>,<danh sách kết quả>);

B read(<tên biến tệp>,<danh sách kết quả>);

D write(<tên tệp>,<danh sách kết quả>);

C write(<tên biến tệp>,<danh sách kết quả>);

Ngày đăng: 18/03/2022, 09:26

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w