Tải bản đầy đủ (.doc) (8 trang)

CÁC DẠNG BÀI TẬP LOGO

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (451.96 KB, 8 trang )

Bài 1: hãy vẽ đa giác cạnh p nhập từ bàn phím nếu đa giác lớn hơn 11 và bé hơn 3 thì báo không
hợp lệ
to dagiac :p :n
cs
rt 90
ifelse or(:p<3)(:p>11) [label(list "khong "hop "le)] [repeat :p[fd
:n rt 180­(1­2/:p)*180)]]
{nếu đa giác có cạnh p nhỏ hơn 3 hoặc lớn hơn 11 thì xuất thông 
báo ra sân chơi “không hợp lệ” ngược lại thì vẽ đa giác p ra sân 
chơi}
ht
end
bài 2: tính tổng S = 1 + 2 + ... + n biết tổng nhỏ hơn 100 tìm số n
cách 1:
to tong :n
cs 
rt 90
make "s 0
make "i 0
while [:s < :n] [make "i :i + 1 make "s :s + :i]
label(list "so "can "tim "la :i ­ 1)
ht
end
cách 2:
to tong :n
cs  {xóa sân chơi}
rt 90 {rùa quay phải 90 độ}
make "s 0 {gán cho tổng bằng 0}
make "i 0 {gán cho I bằng 0}
until [or(:s=:n)(:s > :n)] [make "i :i + 1 make "s :s + :i] {khi 
tổng nhỏ hơn hoặc chưa bằng số cần tìm thì tằng biến I lên 1 và 


tổng cộng dồn theo i}
label(list "so "can "tim "la :i ­ 1) {xuất thông báo ra sân chơi}
ht {rùa ẩn}
end
bài 3: tính tổng S= 1+2+ ... + n ; n nhập từ bàn phím
to tinhtong :n
cs 
rt 90
make "s 0 {gán tổng bằng 0}
for [i 1 :n 1][make "s :s + :i] {biến I chạy từ 1 tới n; tổng cộng
dồn theo biến i}
label(list "tong "cua "day "1+2+3+...+n "= :s)
ht


sety ­50 {xuống dòng}
end
bài 4: so sánh hai số bất kì a và b nhập từ bàn phím
to sosanh :a :b
cs
rt 90
ifelse :a<:b [label(list "so "lon "la :b)] [label(list "so "lon 
"la :a)]
ht
end 
bài 5: so sanh ba số bất kì a, b, c nhập từ bàn phím
to sobaso :a :b :c
cs
rt 90
make "max :a 

make "min :a
if :b>:max [make "max :b] 
if :c>:max [make "max :c]
if :b<:min [make "min :b]
if :c<:min [make "min :c]
label(list "so "lon "nhat "la :max)
pu {nhất bút không vẽ khi di chuyển}
sety ­50
label(list "so "nho "nhat "la :min)
ht
end 
bài 6: tính tổng S=0 + 2 + 4 + ....+ k ; tím số k biết tổng nhỏ hơn một số bất kì n nhập từ bàn phím
cách 1:
to tongchan :n
cs 
rt 90
make "s 0
make "i 0
while [:s<:n] [make "i :i+2 make "s :s+:i]
label(list "so "can "tim :i­2)
pu
sety ­50
label(list "tong "la :s­:i)
ht
cách 2:
to tongchan :n
cs 
rt 90
make "s 0



make "i 0
until [or(:s=:n)(:s>:n)] [make "i :i+2 make "s :s+:i]
label(list "so "can "tim :i­2)
pu
sety ­50
label(list "tong "la :s­:i)
ht 
end
bài 7: tính tổng S= 1 + 3 + 5 + .... + k ; tìm số k biết tổng nhỏ hơn một số bất kì n nhập từ bàn phím
bài 8: tính tổng các số chẵn S = 2 + 4 + ... + n ; n nhập từ bàn phím
to tongchan :n
cs
rt 90
make "s 0
for [i 2 :n 2] [make "s :s+:i]
label(list "tong "cac "so "chan "cua "day "la :s)
ht
end
bài 9: tính tổng các số lẻ L = 1 + 3 + 5 + ... + n ; n nhập từ bàn phím
to tongle :n
cs
rt 90
make "s 0
for [i 1 :n 2] [make "s :s+:i]
label(list "tong "day "la :s)
ht
end
bt: duong tron màu đỏ, chữ màu xanh


to tron
cs
setpencolor 4
repeat 36[arc2 360 50 fd 20 rt 10]
pu
bk 150 rt 90
setpencolor 2
label[KI THI GVDG CAP HUYEN]


end
bài 10 

to hinh
repeat 2 [fd 50 rt 72 fd 50 rt 108] 
repeat 2 [fd 80 rt 72 fd 80 rt 108]
fd 80 rt 72 fd 80
setheading towards [0 0]
make "d distance [0 0]
fd :d
rt 144
end
to xoay
cs
repeat 5[hinh rt 72]
rt 36 
repeat 5[hinh rt 72]
fd 50 rt 108
repeat 6[fd 50 rt 72 fd 50 rt 36]
lt 36 fd 50 rt 72

repeat 10[fd 50 rt 36]
end
Make "d 129.442719
Một số bài toán được giải bằng logo
Bai 11 : tính tổng s=1 + 2+3+…+n
to tong :n
make "s 0


make "a 1
repeat :n [make "s :s + :a make "a :a +1] rt 90 label :s
end
chạy thủ tục tong 3 ta được kết quả s=6
Bài 12 : tính tổng s=3+7+11+15+19+…cho đến khi số cuối cùng gần
bằng 100 nhất
to tong
make "s 0
make "a 3
while [:a <100 ][make "s :s +:a make "a :a +4] rt 90 label :s
end
chạy thủ tục tong ta được kết quả là 1275
Bài 13 :tính tổng các số lẻ nhỏ hơn 200
to tong
make "s 0
make "a 1
while [:a <200 ][make "s :s +:a make "a :a +2] rt 90 label :s
end
chạy

thủ


tục

tong ta đươc kết quả là 10000

Bài 14: tính tổng các dãy số sau s=1/2 +1/4 +1/8+1/16+…+1/512
to tong
make "s 0
make "a 2
while [:a <513 ] [make "s :s +1/:a make "a :a *2] rt 90 label :s
end


chạy thủ tục tong ta được kết quả

0.998046875

Bài 15:sư dụng vòng lặp while tính tổng các số lẻ bé hơn n với n
nhập trên bàn phím
to tong :n
make "s 0
make "a 1
while [:a <:n+1 ] [make "s :s +:a make "a :a+2] rt 90 label :s
end
chạy thủ tục tong 10 ta được kết quả 25
Bài 16:sử dụng vòng lặp while tính tổng s=1+1/2+1/3+...1/n với
nhập vào tự bàn phím
to tong :n
make "s 0
make "a 1

while [:a <:n +1 ] [make "s :s +1/:a make "a :a+1] rt 90 label :s
end
chạy thủ tục tong 2 ta được kết quả 1.5
Bài 17:tính tổng s=1*2*3*…*n
to tong :n
make "s 1
make "a 1
while [:a<:n+1][make "s :s*:a make "a :a+1] rt 90 label :s
end
chạy thủ tục tong 3 ta đươc kết quả 6
Bài 18: tính tổng:
S=1.2+2.3+3.4+…+8.9+9.10+10.11+…+28.29 +29.30


to tong
make "s1 0
make "a 1.2
while [:a<9][make "s1 :s1+:a make "a :a+1.1]
make "s2 0 make "b 9.1
while [:b<30][make "s2 :s2+:b make "b :b +1.01]
make "s :s1 +:s2
rt 90 label :s
end
chạy thủ tục tong ta được kết quả 443.6
Bài 19: Cho dãy số 5,8,11…trong đó số cuối cung không lớn hơn 64
000. Tính trung bình cộng của dãy số trên.
To tbc
make "s 0
make "a 5
while [:a<64000][make "s :s+:a

make "a :a+3]
make "n :a-3
make "n1 (:n-5)/3+1
make "tbc :s/:n1
rt 90 label :tbc
end
Chạy thủ tục tbc ta được kết quả 32001.5
Bài 20: Cho dãy số bất kỳ tính tổng của n số hạng và trung bình
cộng của nó


to timsohangthu :n :d :k    ;n so hang  ,d so hang dau, k khoang 
cach
cs pennormal rt 90
make "s 0
make "c (:n­1)*:k+:d
for[i :d :c :k][make "s :s+:i ]
label(list "tong "cua :n "so "hang "la :s)
home pu bk 30 rt 90 pd
label(list "trung "binh "cong "cua "day "so "la :s/:n)
ht
end



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×