1. Trang chủ
  2. » Công Nghệ Thông Tin

Tai lieu logo dành cho học sinh tiểu học

9 4,6K 373

Đ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 9
Dung lượng 222,52 KB
File đính kèm Tai lieu logo hay.rar (135 KB)

Nội dung

Giải toán bằng LogoI Làm các phép tính trong LOGOCó thể sử dụng các phép tính cộng (+), trừ (), nhân () và chia () trong LOGO.Khi đó, LOGO sẽ hiện kết quả trong khung xám của cửa sổ lệnh bằng lệnh PRINT (pr)Ví dụ: Pr 3+5 sẽ hiện kết quả của phép tính 3+5.Nếu biểu thức cần tính kết quả là đây các phép tính thì LOGO sẽ thực hiện nhânchia trước, cộng trừ sau.Nếu dãy các phép tính chỉ có cộng và trừ hoặc nhân và chia thì LOGO sẽ thựchiện các phép tính tuần tự từ trái qua phải.Nếu có các thành phần nằm trong cặp dấu ngoặc đơn thì các thành phần đỏ sèđược ưu tiên thực hiện trước.Khi giải các bài toán, ngoài việc thực hiện các phép toán để tìm ra đáp số thì cònphải ghi lời giải của nó.Để ghi lời giải dạng văn bản hoặc kết quả các phép tính vào màn hình chính củaLOGO ta dùng lệnh LABEL. Nội dung viết ra được đặt trong cặp dấu . Sử dụng biến trong LogoBiến là một đại lượng có thể thay đổi giá trị của nó.Tại sao phải dùng biến? có thể hiểu một cách đơn giản nhất: Dùng biến để đảmbảo tính tổng quát của một dạng bài toán. Sau này khi sử dụng thành thạo, ta sẽ thấy cònnhiều trường hợp khác cũng phải dùng đến biến.Ghi chú: với cách giải toán bằng phương pháp dùng ký hiệu thay thế thì các kýhiệu thay thế đó cũng được gọi là các biến. Các cấu trúc xét điều kiện trong Logo+ ififesle+ While

Trang 1

Tài liệu LẶP TRÌNH LOGO (Dành cho học sinh tiêu học)

C h ư ơ n g 1

L À M Q U E N V Ơ I L O G O (Quyén 2 sách củng học Tin học)

C h ư ơ n g 2

V I Ế T C Á C T H Ủ T Ụ C T R O N G L O G O (Quyén 3 sách củng học Tin học)

C h ư ơ n g 3

G IẢ I T O Á N B Ả N G L O G O

I - Làm các phcp tính trong LOGO

Có thế sử dụng các phép tính cộng (+), trừ (-), nhân (*) và chia (/) trong LOGO Khi đó, LOGO sè hiện kẻt quả trong khung xám của cửa sô lệnh băng lệnh PRINT (pr)

Ví dụ: Pr 3+5 sè hiện kết quả của phép tính 3+5

Nếu biếu thức cẩn tính kết quà là dây các phép tính thì LOGO sè thực hiện nhân chia trước, cộng trừ sau

Nếu dày các phép tính chi có cộng vả trừ hoặc nhân và chia thì LOGO sè thực hiện các phép tính tuần tự từ trái qua phải

Nếu cỏ các thảnh phần nằm trong cặp dấu ngoặc đơn thì các thành phần đỏ sè được ưu tiên thực hiện trước

Ví dụ: Print 2+3*4 cho kết quà lả 14

Print (2+3)*4 cho kết quả là 20

Ghi chú: c ỏ thé sừ dụng lệnh SHOW cùng cho kết quả tương tự như lệnh PRINT Bài tập:

3.1 - Dùng LOGO đé tính các biéu thức sau:

II - Giải toán bằng LOGO

Khi giải các bài toán, ngoài việc thực hiện các phép toán đề tim ra đáp số thỉ còn phải ghi lời giài cũa nỏ

Đê ghi lời giãi dạng văn bàn hoặc kết quà các phép tính vào màn hỉnh chính cùa LOGO ta dùng lệnh LABEL Nội dung viẽt ra được đặt trong cặp dâu [ ]

Trang 2

LABEL 10+5*25 ; viết các giá trị thỉ không cỏ cặp dấu [ ].

Trẽn màn hình chính sè hiển thị kết quà của phép tính 10+5*25 là 135

Cần chủ ý: ơ chế độ mặc định, rùa luôn hướng lẽn trên (theo phương thẳng đứng) nên trước khi viết bầng lệnh LABEL cần chuyến hướng của rùa theo phương nằm ngang bầng cách xoay 90°

Ví dụ: Bạn Mai có 20 cái kẹo Mai cho Minh 5 cái, sau đó Mai lại ăn hết 3 cái Hỏi Mai còn lại mấy cái kẹo?

Một cách đơn giàn, ta cỏ thể viết câu lệnh sau:

Print 2 0 - 5 - 3 Ket quả là 12 sè hiện tại khung xám của cửa sô lệnh

LABEL [So keo con lai la: ] ; Viết ra câu trả lời

Cần chú ý: - Lệnh LABEL sè viết ra tại vị trí cùa rùa theo hướng hiện tại v i vậy nếu trong thủ tục cỏ nhiều lệnh LABEL cần phài tính toán số bước di chuyển và thực hiện treo trinh tự: Nhấc bút - Di chuyến - Hạ bút - viết

- Có thề ghi nhiều câu lệnh trên một dòng, ví dụ:

RT 90 LABEL [So keo con lai la: ] PU FD 250 PD LABEL 20-5-3

Bài tập

3.2 - Một miếng đất hình chừ nhật cỏ chiều dài là 150 mét chiểu rộng là 70 mét Người ta chia miếng đất cho hai người theo cạnh dài cùa nỏ người thử nhất được 85 mét phần còn lại đé cho người thứ 2 Hày tính diện tích đất được chia cho mồi người 3.3 - Hai sổ cỏ trung bỉnh cộng là 108 Hày tìm 2 số đó biết ràng thương của nỏ bàng 5

3.4 - Cho dày số 3, 7, 11, 15, 19, Hày tìm số thứ 6 vả số thứ 7 của dày ưẽn và tính trung bỉnh cộng của cà 7 số cỏ trong dày

2

Trang 3

C hư ơng 4

SỬ DỤNG BIÉN TRO N G LO G O

1 - Khải niệm về biến

Biến là một đại lượng cỏ thể thay đồi giá trị của nỏ

Tại sao phải dùng biến? cỏ thế hiểu một cách đom giàn nhất: Dùng biến đế đàm bào tính tống quát của một dạng bải toán Sau này khi sử dụng thành thạo, ta sè thấy còn nhiều trường hợp khác cùng phài dùng đến biến

Trở lại ví dụ ỡ phần trước: Bạn Mai cỏ 20 cái kẹo Mai cho Minh 5 cái sau đó Mai lại ăn hết 3 cái Hỏi Mai còn lại mấy cái kẹo?

Trong bài toán này ta đà biết trước (chắc chắn) lả: số kẹo Mai cỏ lả 20 số kẹo Mai cho Minh là 5, sổ kẹo mai ăn lả 3

Ớ dạng tông quát, bài toán trên được phát biéu như sau: Ban Mai cỏ a cái kẹo

Mai cho Minh b cái, sau đó Mai lại ăn hết ccái Hòi Mai còn lại may cái kẹo?

Ta thấy rang các số a, b , c chưa biết ngay khi ta viết thủ tục, và cỏ thề thay chúng

bàng bất cứ so nào Trường họp này, ta gọi các số fl, b, clả các biến

Ghi chú: với cách giãi toán bàng phương pháp dùng kỷ hiệu thay thế thỉ các kỷ hiệu thay thế đỏ cùng được gọi lả các bien

II - Cách khai báo biến trong thủ tục

/ - Đ ổi vói cá c biến nhận g iá trị trự c tiếp từ bên ngoài

Trong bài toán tính số kẹo kể trẽn, các biến a, b và c sè được đưa vào từ bên ngoải đê chương trinh thực hiện tính toán, khi đỏ ta sè khai báo các biến nảy cùng dòng với dòng ghi tên thủ tục bằng cách ghép dấu hai chấm (:) ngay trước tên biến:

TO KEO :a :b :c Lúc này, các biến a, b, c sè ưở thành các giá trị đế thực hiện các biéu thức cỏ trong thủ tục:

TO KEO :a :b :c

cs

RT 90 LABEL [So keo con lai la: ]

PU FD 250 PD LABEL :a - :b - :c

END

Khi thực hiện, ta sè nhập các giá ưị của a b c ngay cùng dòng với lệnh gọi thũ tục tại cừa sổ lệnh, ví dụ: TO KEO 20 5 3 Khi đó các bien a b c sè lần lượt nhận các giá ưị là 20, 5 và 3 và thực hiện tính kết quả

Thực hành: chạy lại thủ tục ưẻn với nhiều giá trị a b c khác nhau

2 - Đ ối vói cá c biến nhận g iá trị tron g k h i ch ạ y thù tục.

Trường hợp các biến nhận giá trị từ một biểu thức cỏ trong thủ tục, ta khai báo

Trang 4

cần phân biệt: Nếu biến nhận giá trị từ bên ngoải thì dùng dấu hai chấm ngay trước tên biến, thi đối với biến nhận giá trị từ một bieu thức trong thủ tục sè dùng dấu nháy kép ngay trước tên biến

Loại biến này thường sứ dụng khi giải toán bàng phương pháp dùng kỷ hiệu thay thế

Ví dụ: Một hỉnh chừ nhật cỏ chu vi là 56 cm Biết rang chiểu rộng bẳng 3/4 chiều dài hày tính diện tích của hình chừ nhật đỏ

Ta gọi a và b là chiểu dài và chiểu rộng của hỉnh chừ nhật, ta có:

(a + b) X 2 = 56 => a + b = 28

Mà b = (3/4) X a => a + (3/4) X a = 28 => 7xa = 28x4

Tức là a = (28x4)/7

b = 28 - a Gọi s là diện tích của hình chừ nhật, ta cỏ s = a X b

Ta viết thủ tục như sau:

to dientich

Make "a (28*4)/7

Make "b 28 - :a

Make " s :a * :b

RT 90 LABEL [Dien tich hinh chu nhat la: ]

PU FD 250 PD LABEL :S

end

Bài tập

4.1 - Một người buôn 1200 đồng một quà trứng Đem về bị vờ mất 20 quả số trứng còn lại bán như sau: 2/4 số trứng bán với giá 2000 đồng một quà; l/4số trứng bán với giá 1800 đồng 1 quả; cò n lại bao nhiêu bán với giá 1500 dồng một quá Sau khi bán xong người đỏ lãi 206.000 đồng Tỉm số trứng người đó đà mua

Hướng dần cách giãi:

Gọi số trứng sau khi bị vờ 20 quả lả a ta có số tiền bán trứng thu được là:

(2xa/4) X 2000 + (a/4) X 1800 + (a/4) X 1500 = 1.000 X a + 450 X a + 345 X a = 1.825 X a

Sổ tiền mua trứng ban đầu là: (a + 20) X 1.200 = 1200 X a + 24.000

Ta có 1.825 X a = 1.200 X a + 24.000 + 206.000 = 1.200 a X 230.000

1.825 X a - 1.200X3 = 230.000

625 X a = 230.000 suy ra a = 368 Vậy số trứng mua ban đầu là 368 + 20 = 388 (quả)

4

Trang 5

C h ư o n g 5

C Á C C Ấ U T R Ú C X E T Đ I È U K I Ệ N

I - Vòng lặp có điều kiện While

Ta đà biết câu lệnh lặp REPEAT đé lặp lại một số công việc Trong câu lệnh này,

số bước lặp đà được biết trước và LOGO sè thực hiện đủng so bước đà chi định

Ví dụ 1: cần tỉnh t ổ n g S = 1 + 2 + 3 + 4 + 5 + + N

Ta cỏ thế giãi quyết bài toán trẽn với 2 biến s vả A và thực hiện như sau: Đầu tiên, ta cho s = 0 vả A = 1; thực hiện lặp N lần với hai công việc là cho s = s + A và cho A = A + 1

to c o n g :N

c s

M A K E "S 0

M A K E "A 1

R E P E A T :N [MAKE "S :S+:A M A K E "A :A+1]

RT 90 LABEL :S

end

Với bài toán trẽn, mặc dù N lả môt biến nhưng ta đà biết trước khi thực hiện chương trinh Trong nhiều trường hợp so lần lặp lại không biết trước và số vòng lặp được xác định bời một điều kiện nào đỏ Khi đó cần sử dụng vòng lặp cỏ điểu kiện While (hay còn gọi lả vòng lặp không xác định)

Ví dụ 2: Tính tổng S = 3 + 7 + ll + 1 5 + 1 9 + cho đến khi số hạng cuổi cùng gần bàng 100 nhất

Cùng giống như bài ưẽn ta cỏ thể giãi quyết với 2 biến lả s và A đầu tiên ta cho

s = 0 vả A = 4; sau đó thực hiện lặp với hai việc lả cho s = s + A và cho A = A + 4 (vỉ

khoảng cách giừa các sô hạng là 4) Vân đê đặt ra là: số làn lập là bao nhiêu?

Vòng lặp cỏ điều kiện While như sau: WHILE [điều kiện] [công việc]

Cách thực hiện vòng lặp như sau: Đầu tiên LOGO sè kiếm tra [điều kiện] nếu điều kiện được thỏa màn (tức là ĐỦNG) thi [công việc] được thực hiện, sau đỏ lại kiểm tra [điều kiện] nếu điều kiện vần được thỏa màn thỉ [công việc] tiếp tục được thực hiện , cứ như thế cho đến khi [đièu kiện] không được thỏa màn nừa (tức là SAI) thi dừng lại

Ớ ví dụ 2 ta nhận thấy: Biến A liên tục được tăng lẻn sau mồi lần lặp ta sè xác định điểu kiện là A < 100 tức lả: nếu A lớn hơn 100 vì ket thúc vòng lặp

Chương trinh tính tổng tại ví dụ 2 với vòng lặp WHILE như sau:

to co n g W

c s

M A K E "S 0

M A K E "A 3

W H I L E [:A < 100] [

Trang 6

Ớ VÍ dụ 1, mặc dù sổ lần lặp đà biết trước, nhưng ta vần cỏ thẻ sứ dụng vòng lặp While như sau:

to congW2 : N

c s

M a k e "S 0

M a k e "A 1

W h i l e [:A <= :N] [

Ma ke "S : s + : A

Ma ke "A :A + 1

RT 90 Label i:S

Cần chú ý : [côngviệc] trong lệnh WHILE cỏ thề lả một hoặc nhiều công việc

được đặt trong cặp dấu [ ] Trường hợp có nhiều còng việc thì ta nên viết mồi việc trẽn một dòng cho tường minh và dề soát lồi Trong trường hop này, dấu mờ [ đặt ờ cuối dòng cỏ lệnh WHILE và dấu đóng ] đẻ ở cuối dòng lệnh cuổi cùng (xem ví dụ)

Ví dụ 3: Giài bài toán cổ:

Vừa gà vừa chó

Bó lại cho tròn

Ba mươi sáu con Một trăm chân chần.

Với bài toán này, khi học toán ta thường dùng phương phái giả thiết tạm (giả sử

gà cỏ 4 chân hoặc già sữ chỏ cỏ 2 chân), đày là phương pháp khoa học nhất Tuy nhiên,

ta cùng cỏ thề dùng phương pháp thử loại trừ dần:

Nếu cỏ 1 con gà và 35 con chỏ thì sổ chân lả 142 > 100 nên loại

Nếu cỏ 2 con và và 34 con chỏ thì số chân lả 140 > 100 nên loại

Cứ như thế nếu số chân đúng bàng 100 thỉ ta chọn phương án đỏ

Cách giải này dề nhưng quá dài vả mất nhiều thời gian Tuy nhiên, đối với máy tính, việc “lây cân cù bù khả năng" lả một ưu thê, nên nêu sứ dụng phương pháp nảy sè thuận lợi hơn cho người viết chương trình

Gọi số gà lả X, số chỏ là y, bắt đầu với X = 1 vả y = 35, sau đỏ lần lượt kiếm tra số chân, khi nào tồng số chân đúng bầng 100 thi dừng lại

to ga c h o

c s

m a k e "x 1

m a k e "y 35

m a k e "chan 2 * : x + 4 * : y

W h i l e [ ¡chart <> ÎOO] [

m a k e "x :x + 1

m a k e "y : y - 1

m a k e "chan 2 * : x + 4*:y ]

RT 90 Label :x PU FD 50 PD Label :y

end

6

Trang 7

BÀI TẬP 5.1 - Giãi bài toán sau:

Trong g iỏ vừa thó vừa gà

100 cá i cang, 43 cải đầu

Hòi có bao nhiêu gà bao nhiêu thỏ?

5.2 - C huồn ch u ồ n và N h ệ n

Chuồn chuồn và N hện hợp sức đế chống lại lào Tò vò độc ác Một hôm chúng tập trung lại để cùng tấn công Tò vò Mới đầu chúng đồng loạt bò trẽn mặt đẩt và lào

Tò vò đem được tất cà cỏ 200 cái chân Sau đó chúng thay đồi chiến thuật, nhện thì bò dưới đất còn chuồn chuồn thì con bay con bò làm lào tò vò hoa mắt vả chi đém được tất

cả cỏ 28 cái đầu không biết mồi loại cỏ m ấy con Em hăy tính giúp xem cỏ bao nhiêu Nhện và bao nhiêu c h u ồ n chuồn củng tấn công lào Tò vò, biết ràng 1 con nhện cỏ 8 chân, 1 con chuồn chuổn cỏ 6 chân

5.3 - Giãi bài toán cổ:

Trâm trâu trảm cỏ Trâu đứng ãn 5 Trâu nam ãn 3

Lụ khụ trâu già

3 con 1 bỏ

Hỏi cỏ bao nhiêu trâu đứng, bao nhiêu trâu nằm bao nhiêu trâu già?

5.4 - Tim so viên bi.

Việt cỏ 20 viên bi, Nam có 8 viên bi C à v iệ t và N am cùng cho Bình một số viên

bi như nhau, sau đó v iệ t lại cho Nam số viên bi đúng bằng số viên bi mà N am hiện có,

vả nhận thấy rang số bi của v iệ t và N am là bầng nhau Hỏi cả v iệ t và Nam cùng cho Binh mấy viên bi?

5.5 - C ho dãy số c h o dày số 5, 8, 11, trong đỏ số cuối củng không lớn horn 64.000 Hày tính trung bỉnh cộng của các sô cỏ trong dày

Trang 8

2 - Câu lệnh xét điều kiện

2.1 - Câu lệnh IF

Một hành động chi được thực hiện nếu một điều hiện nào đó được thỏa màn sè được thực hiện bời một câu lệnh cỏ điêu kiện

Ví dụ 1: hày vè một đa giác cỏ N cạnh, chiều dài mồi cạnh là 50 bước rùa với số cạnh lớn nhất lả 10

to dag ỉ a c :N

c s

IF :N <= 10 [ Repeat :N [FD 50 RT 360/:N]]

end

Trong ví dụ trên, ta sử dụng càu lệnh IF:

IF <điều_kiện> [công việc]

Ví dụ 2: hày in ra màn hình tất cà các số chia hết cho 5 cỏ trong 50 số lé đầu tiên

to dkỉenl

c s RT 90

M a k e "A 1

M a k e "N 0

M a k e "dem 0

W h i l e [idem <= 50] [

M a k e "Ktra :A + :N

IF (MODULO :Ktra 5) - 0 [PU FD 35 Label :Ktra]

M a k e "N :N + 2

M a k e "dem idem + 1 ]

end

Giải thích:

- Trong chưorng trinh cỏ sử dụng bển dem để đếm sổ lượng các số được tạo trong dày, khi nào biến dem đạt giá trị là 50 thi dừng lại.

- Biến Ktra là các số lẻ cỏ trong dày đà được xác định.

- Câu lệnh:

IF (MODULO :Ktra 5) = 0 [PU FD 35 Label :Ktra]

dùng để kiếm tra xem giá trị của biến Ktra cỏ chia hết cho 5 hay không, nếu chia

hết thỉ viết ra giá trị cùa nỏ

Ghi nhở: hàm MODULO :A :B đé xác định số dư của phép chia số A cho số B

Gộp nhiều diều kiện:

Hây xem lại v í dụ 1 (vè đa giác), ta nhận thấy: Một hỉnh đa giác phải cỏ ít nhất là

3 cạnh (gọi là tam giác) Như vậy với số cạnh lả N được đưa từ ngoài vảo, ngoải việc

8

Trang 9

kiềm tra điều kiện không quá 10, ta còn phãi kiềm tra xem số đỏ cỏ lớn hơn 2 hay không? Trong LOGO cỏ sử dụng một sô hàm đê gộp các điêu kiện như sau:

Hàm AND <điều_kiệnl> <điều_kiện2>

hàm sè xét các điều kiện và chi cho là thỏa màn (ĐÚNG) khi tất cả các điều kiện đêu thỏa màn (ĐỦNG), ch i cần một điêu kiện không thỏa màn (SAI) thì hàm sè cho là tât cà không thỏa màn (SAI)

Hàm OR <điều_kiệnl> <điều_kỉện2>

ngược lại với hàm AND, hàm sè xét các điều kiện và cho lả thỏa màn (ĐÚNG) nêu chi càn 1 điêu kiện thỏa màn (ĐUNG), ch i khi nào tât cả các điêu kiện đêu không thỏa màn (SAI) thỉ hàm mới cho là không thỏa màn (SAI)

Với ví dụ I phải đồng thời thỏa màn 2 điều kiện là N > 2 và N <= 10 nên ta phải viẻt lại càu lệnh IF như sau:

IF AND (:N <- 10) (:N > 2) [ Repeat :N [FD 50 RT 360/:N]]

2.2 - Câu lệnh IFELSE

Ớ câu lệnh IF nếu điểu kiện thỏa màn thì [công việc] được thực hiện, còn nếu điêu kiện thỏa màn thì không lảm gỉ cả

Với vỉ dụ vè hình đa giác, nếu thỏa màn 2 điều kiện là N > 2 và N <= 10 thl LOGO sè vè hình đa giác, ngược lại sè không làm gỉ Mong muốn cùa người dùng là phải thông báo cho biẻt trường hợp không vẽ được

Ví dụ 3: hày vè một đa giác cỏ N cạnh, chiều dài mồi cạnh là 50 bước rùa với số cạnh lớn nhất là 10 Trường hợp không vè được thì in ra màn hình câu thông báo

•‘Không hợp lệ"

to dagiac3 :N

c s

IFELSE AND (:N <= 10) (:N > 2) [Repeat :N [FD 50 RT 360/:N]] [

RT 90 Label [Khong hop le]]

end

Trong ví dụ trên ta nhận thấy: Thay vỉ sừ dụng lệnh IF thì ta dùng lệnh IFELSE với củ pháp như sau:

IFELSE <điều_kiện> [công việcl] [công_việc2]

Câu lệnh này được LOGO thực hiện như sau: Nếu điều kiện được thỏa màn (ĐUNG) thỉ thực hiện [công việcl] còn nêu điêu kiện không thỏa màn (SAI) thỉ thực hiện [công_việc2]

Ngày đăng: 23/02/2017, 09:27

TỪ KHÓA LIÊN QUAN

w