1. Trang chủ
  2. » Ngoại ngữ

Tài liệu ôn tập môn Tin 11-Phần 1

15 14 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 15
Dung lượng 453,58 KB

Nội dung

- Để 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ư [r]

(1)

Ô

ÔNN TTPP 1111 V

VIITT CCHHƯƯƠƠNNGG TTRRÌÌNNHH GGIIII BBÀÀII TTOOÁÁNN SSAAUU T

TRROONNGGSSÁÁCCHH BBÀÀII TTPP TTIINN 1111

PHẦN 1: LÝ THUYẾT

1. CẤU TRÚC RẼ NHÁNH

2. CẤU TRÚC LẶP

PHẦN 2: BÀI TẬP

Bài 1: Bài tập 3.34: SỐ FIBONAXI)

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

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

 Dữ liệu ra: Tệp văn FIBO.DAT gồm 45 dòng Mỗi dòng số Fibonaccy Xây dựng ý tưởng giải thuật:

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

 Sơ đồ khối 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 số tháng mà đoàn thám hiểm quay lại đảo

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

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

(2)

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

(3)

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

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

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

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

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

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

h tăng lên

1 ; 1

2 1;

3 ; 1

4 1;

x x y y x x y y h

x x y y x x y y

   

    

 

    

    

(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 cấp số nhân hay khơng Viết chương trình thực yêu cầu

Bước 1:

Input: bộ ba số p, q, r

Output: kiểm tra xem day p, q, r có cấp số nhân không Bước 2:

Sơđồ khối:

Bước 3:viết chương trình

program bai319_bt11; var p, q, r:integer; Begin

repeat

writeln('nhap ba so nguyen p, q, r de kiem tra'); readln(p, q, r);

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'); readln;

end

Bước

Mở rộng cho hs giải tốn tương tự kiểm tra cấp số cộng khơng, trường hợp lớn số làm nào? Xác định số hạng cấp số nhân (số cộng)

Bài 5: Bài 440(sbt trang 45):Hãy lập trình

-Nhập xâu từ bàn phím -Chuẩn hóa xâu theo quy tắc sau: +xóa dấu cách đầu xâu có; +xóa dấu cách cuối xâu có;

+thay dãy nhiêu dấu cách liên tiếp dấu cách -đưa kết chuẩn hóa hình

Begin

q/p=r/q

Thông báo phải Thông báo

(5)

Bước 1:

Input: nhập xâu s

Output:Đưa xâu s chuẩn Bước 2:

B1.nhập xâu s;

B2 xóa xâu s kí tự có hai kí tự trắng liền B3 kiểm tra kí tự đầu cuối chúng kí tự trắng xóa B4.đưa lần lươt s[i] hình đến hết

B5 kết thúc

Bước 3:viết chương trình program chuanhoaxau;

var s:string; i:integer; Begin

writeln('nhap vao mot xau '); readln(s);

for i:=1 to length(s) write(s[i]);

while pos(' ', s)<>0 delete(s, pos(' ', s), 1); if s[1]=' 'then delete(s, 1, 1);

if s[length(s)]=' ' then delete(s, length(s), 1); writeln('xau sau duoc chuan hoa la '); for i:=1 to length(s)

write(s[i]); readln; end

Bước

(6)

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

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

VÍ DU, với B=59, C=29 in câu thơng báo sẻ là: SAU NĂM NỮA TUÔI CHA SE GẤP ĐÔI TUỔI CON B1:input:nhập B, C;

Output: đưa hình câu thơng báo tuổi cha gấp đơi tuổi con, sau N năm tuổi cha gáp đôi tuổi trước N năm tuổi cha gấp đơi tuổi

var b, c, n, k:integer;

B2: Ý tưởng:sử dụng câu lệnh if , b=2*c thơng báo hình HIỆN NAY TUỎI CHA GẤP ĐƠI TUỔI CON, cịn b-2*c>0 thơng báo “SAU N=b-2*c TUỔI CHA SẺ GẤP ĐƠI TUỔI CON’, cịn b-2*c<0 thơng báo ‘N NĂM TRƯỚC ĐĨ TUỔI CHA GẤP ĐÔI TUỔI CON

B3:SƠ ĐỒ KHỐI:

Begin

NHAP B, C

B>C>0 B-C>19

B:=2*C B>2*C

N:=B-2*C

Sau N năm t ổi cha s ẻ g ấp đ ôi tuôi

N=2*C-B

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

(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') else

if b>2*c then

writeln('sau', b-2*c, 'nam tuoi cha se gap doi tuoi') else

k:=2*c-b;

write(2*c-b, 'nam truoc day tuoi cha gap doi tuoi con'); readln;

end

Bài 7: Bài 3.21: Viết đoạn chương trình dùng câu lệnh IF tính:

x + y x > y > v:= x – y x > y <=

- x + y x <= y > - x - y x <1 y <=0

Bài giải:

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

- Input: x,y; - Output: v;

Bước 2:Ý tưởng thuật toán:

B1: Đọc giá trị x, y nhập vào B2: Xét giá trị x,y

- Tính v:

 V := x + y x > y > Chuyển qua bước 3;

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

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

 V := - x - y x <1 y <=0;Chuyển qua bước 3; B3: In giá trị 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

(8)

Writeln(‘ Gia tri cua ham la ‘,v); Hoặc:

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

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

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

If (x <= 1) and (y <=0) then v:=x + y ;  Bước 4:Thiết kế tập tương tự:

Tính giá trị y x – x>=1;

Y= x+ (x>=0) (x<1) – x – (x<0)

Bài 8: Bài 3.18:

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

Input: m,n,k

Output: Nếu cấp số cộng gấp đơi giá trị số Nếu khơng giảm số đơ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 nhân đơi số, sai giảm số đơn vị

Sơ đồ khối:

Begin

Nhập m,n,k

m+k=n*2

m:=m*2; n:=n*2; k:=k*2;

m:=m-1; n:=n-1; k:=k-1;

In m,n,k

End

F T

Nhập m,n,k

(9)

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

Var m,n,k:integer;

Begin

Write('Nhap so m,n,k'); Readln(m,n,k);

If m+k=n*2 then

Begin

m:=m*2; n:=n*2; k:=k*2;

End Else

Begin

m:=m-1; n:=n-1; k:=k-1; End;

Write('Gia tri m,n,k sau kiem trala:',m:3,n:3,k:3); Readln;

End

Bước 4:

Bộ test:

Giá trị m,n,k Kiểm tra Giá trị m,n,k sau kiểm tra 3, 6, Là cấp số cộng 6, 12, 18

3, 4, Không phải cấp số cộng 2, 3,

Bài tập tương tự: Nhập vào 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 cấp số cộng thơng báo đồng thời gấp đơi số Ngược lại giảm số đơn vị

Bài 9: Bài 4.20

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

Input: Nhập xâu Output: Chuẩn hóa xâu

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

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

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

(10)

Sơ đồ khối:

Begin

Nhập xâu s

s[1]=#32

delete(s,1,1);

s[length(s)]=#32

delete(s,length(s),1);

Pos(‘ ‘,s)<>0

delete(s,pos(‘ ‘,s),1;

In xâu s

F

T

F

F T

T

(11)

Bước 3: Chương trình Var s:string;

Begin

Writeln('Nhap xau bat ki:'); readln(s);

while s[1]=' ' do

delete(s,1,1);

while s[length(s)]=' ' do

delete(s,length(s),1);

while pos(' ',s)<>0 do

delete(s,pos(' ',s),1);

Writeln('xau sau chuan hoa: ',s); Readln;

End Bước 4:

- Bộ test:

Nhập xâu Xâu sau chuẩn hóa

Phan Thị Bình Phan Thị Bình

- Xây dựng tốn tương đương:

(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 đưa hình tổng bình phương chử số N Ví dụ, với N=125, tổng bình phương chử số cảu 12

+22+52=30

Phân tích tốn Bước Tìm hiểu đề

- Input: N nguyên dương (0<N<2*109) - Output: tổng bình phương chử số N

- Tổng bình phương chử số tổng bình phương tất chử số có mặt số

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

- Để tính tổng binh phương chử số ta phải lấy chử số số - Cách lấy chử số số:kết hợp hai toán tử MOD DIV ta lấy số dư hàng đơn vị, chục, trăm, nghìn

- Bình phương chúng lên cộng dồn vào biến tổng cho ta kết cần tính - Sơ đồ khối

Bước Viết chương trình Var N:longint;

Tong:interger; Du:byte; Begin

Repeat

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

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

Begin

Nhập N

Tong:=0

N>0 In tong End

(13)

Tong:=0; White N>0 Begin

Du:= N mod 10;

Tong:=Tong + sqr(du); N:=N div 10;

End;

Writeln (‘ Tong binh phuong cac so cua ‘,N, ‘ la: ‘, Tong’); Readln;

End

 Chú ý:

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

- Điều kiện lặp N>0 khơng phải N≥0 Vì N=0 phải dừng lặp, câu lệnh khơng có ý nghĩa

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

Bước Nghiên cứu lời giải - Xây dựng text

STT N du Tong

1 125 0

2 125 25

3 12 29

4 1 30

5

- Mở rộng tốn: thay vịng lặp While vòng lặp Repeat until - Lớp toán tương đương

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

(14)

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

Lập trình nhập từ bàn phím hai số ngun khác m n, thay số nhỏ hiệu số lớn với số bé, thay số lớn tổng hai số ban đầu Đưa giá trị m n hình

Giải:

* Tìm hiểu đề bài: In put: m,n

Out put: giá trị m,n * Ý tưởng giải thuật:

-Bước 1: Nhập vào m, n từ bàn phím -Bước 2: Nếu m>n

Tg:=m; m:=m+n; n:=tg-n; Nếu n>m thi Tg:=n; n:= n+m; m:=tg-m;

-Bước 3: Đưa hình giá trị m n -Bước 4: Kết thúc

Sơ đồ khối:

* Thuật toán: var m,n,tg:integer;

Be gin Nhập m,n

m>=n

Tg:=n; n:= m-n; m:=tg+m Tg:=m;

m:= n-m; n:=tg+n

In m, n

End

Đ

(15)

begin

write('Nhap vao so m,n:');readln(m,n); if m>n then

begin tg:=n; n:=m-n; m:=tg+m; end

else begin tg:=m; m:=n-m; n:=tg+n; end;

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

Ngày đăng: 06/02/2021, 09:56

TỪ KHÓA LIÊN QUAN

w