Nội dung chính
Xử lý dữ liệu từ bàn phím
Đây là một bài viết nâng cao thích hợp cho các thầy cô nghiên cứu tuy nhiên một phần nhỏ trong này cũng rất thích hợp để các thầy cô hướng dẫn cho họ trò của mình, đầu tiên tôi hướng dẫn cách các chúng ta kiểm tra xem phím nào được nhấn và xử lý phím đó. Phím được nhấn có 2 trạng thái 1 là khi nhấn xuống 2 là khi buông ra. Ở ví dụ sau đây tôi dùng bốn phím mũi tên để điều khiển rùa đi trên sân chơi, nếu bấm mũi tên lên thì đi tới, mũi tên xuống đi lùi, mũi tên trái quay về bên trái, mũi tên phải quay về phía bên phải.
Bên cạnh đó khi nhấn giữ phím Space bar thì nhấc rùa(PU), bỏ nhấn Space thì hạ pen(PD), điều này có nghĩa là bạn có thể vừa nhấn Space bả vừa bấm 4 phím mũi tên.
Code
TO KDown IF KEYBOARDVALUE = 38 [FD 1] ;Up IF KEYBOARDVALUE = 40 [BK 1] ;Down IF KEYBOARDVALUE = 37 [LT 1] ;Right IF KEYBOARDVALUE = 39 [RT 1] ;Left IF KEYBOARDVALUE = 32 [Pu] ; Space ;Show KEYBOARDVALUE ; Show giá trị phím ra cửa sổ lệnh, dùng để biết code ascii của phím END TO KUp IF KEYBOARDVALUE = 32 [PD] END To RuaDien CS PD SETFOCUS [MSWLogo Screen] ;Nếu bạn sử dụng FMSWLogo thì phải chỉnh lại tên cửa sổ của MSWLogo (KEYBOARDON [KDown] [KUp]) ;Bật kiểm tra bàn phím KEYBOARDOFF sẽ tắt đi END
Nhập dữ liệu từ bàn phím
Khi muốn nhận một giá trị nào đó mà giá trị này được nhập vào từ bán phím thì bạn sử dụng RL viết đầy đủ là READLIST hoặc QUESTIONBOX, để thuận tiện cho người dùng thì trước khi hiện hộp thoại nhập giá trị bạn nên có một thông báo nhắc nhở, hướng dẫn người dùng nếu bạn dùng RL. Nếu bạn dùng QUESTIONBOX thì thông báo ngay trong hộp thoại, . Tuy nhiên khi làm theo cách này thì rất có thể dữ liệu đưa vào sẽ không đúng, ví dụ nhập vào 2 số a và b cách nhau một khảng cách, nhưng người dùng lại vô tình hoặc cố ý nhập aa 5 thì chương trình của bạn sẽ chạy không đúng.
Trong ví dụ dưới đây, chúng tôi viết một chương trình nhập vào 2 số a và b sau đó so sánh và in ra số lớn. Để cho người dùng biết họ pahir làm gì thì chương trình đưa ra một thông báo : MESSAGEBOX [THONG BAO] [Nhap so va bam Enter] bạn hoàn thiện nội dung để người dùng hiểu rõ hơn về việc mình phải làm.
To xx MESSAGEBOX [THONG BAO] [Nhap so va bam Enter] Make "a first ReadList Make "b first RL IfElse :a>:b [OUTPUT :a][OUTPUT :b] End
Trong ví dụ bạn thấy OUTPUT :giá trị đây là cách mà chúng ta trả về một giá trị cho chương trình con ví dụ các bạn có thể thục hiện phép tính thông qua tên chương trình gõ tại cửa sổ lệnh Show xx + xx nó sẽ hiện ra 4 hộp thoại cho bạn nhập số vào, sau đó lấy ra 2 con số lớn và cộng lại với nhau.
Lưu ý các bạn có thể nhập a và b cùng một lúc cách nhau bởi khoảng cách, nhưng vào chương trình các bạn phải xử lý chuỗi vừa nhập để lấy ra giá trị của a và b.
Cách khác dùng QUESTIONBOX
To zz Make "a first QUESTIONBOX [Thong Bao][Nhap so thu nhat] Make "b first QUESTIONBOX [Thong Bao][Nhap so thu hai] IfElse :a>:b [OUTPUT :a][OUTPUT :b] End
Do dữ liệu đưa vào thông qua hộp thoại của ReadList và QUESTIONBOX là mảng do đó bạn phải dùng First để lấy giá trị đầu tiên :). Tuy nhiên nếu gặp trường hợp cố tình nhập tầm bậy thì chương trình sẽ bị báo lỗi.
Tổng kết:
Trong bài này có đề cập 3 kiến thức mới
- Kiểm tra bàn phím.
- Trả về một giá trị cho chương trình con (Hàm).
- Nhập dữ liệu từ bàn phím.
Theo mình nghĩ kiến thức phần 2, 3 các thầy cô có thể truyền tải cho học trò, còn phần 1 thì chỉ dành để tham khảo.
bài 3 đề này làm thế nào
http://dethi.violet.vn/present/show/entry_id/11156618
Đề này chúng tôi có đề cập trên fanpage tuy nhiên không có ai hứng thú để làm bài này, Bắc Ninh đi vào huyền thoại với những cái đề cẩu thả, hi vọng năm nay thi quốc gia ở đó không tới nỗi thảm họa.
add có tài liệu hướng dẫn ôn thi tin học trẻ ko cho mình xin với
Bạn xem hướng dẫn trên fanpage để nhận tài liệu https://www.facebook.com/posts/482359095459599
thầy ơi làm sao mình biết được nút nào có giá trị nào
Nó có một bảng danh sách các phím bấm và giá trị nhận được sau khi bấm. Key KEYBOARDVALUE Backspace 8 Tab 9 Clear 12 Enter 13 Shift 16 Ctrl 17 Alt 18 Pause 19 Caps Lock 20 Esc 27 Spacebar 32 Page Up 33 Page Down 34 End 35 Home 36 Left Arrow 37 Up Arrow 38 Right Arrow 39 Down Arrow 40 Print Screen 44 Insert 45 Delete 46 0 Key 48 1 Key 49 2 Key 50 3 Key 51 4 Key 52 5 Key 53 6 Key 54 7 Key 55 8 Key 56 9 Key… Read more »