Bài 16: Thực hành: Lập chương trình máy tính SBT Tin học 9 Kết nối tri thức với cuộc sốngỞ nước ta và nhiều nước khác trên thế giới, đơn vị đo nhiệt độ là độ C (Celsius). Tuy nhiên ở Anh và Mỹ, người ta đo nhiệt độ bằng độ F (Fahrenheit) - được đặt theo tên của nhà vật lý người Đức Daniel Gabriel Fahrenheit. Công thức chuyển từ độ C sang độ F là Tổng hợp đề thi học kì 1 lớp 9 tất cả các môn - Kết nối tri thức Toán - Văn - Anh - KHTN - Lịch sử và Địa lí Quảng cáo
Lựa chọn câu để xem lời giải nhanh hơn
16.1 Ở nước ta và nhiều nước khác trên thế giới, đơn vị đo nhiệt độ là độ C (Celsius). Tuy nhiên ở Anh và Mỹ, người ta đo nhiệt độ bằng độ F (Fahrenheit) - được đặt theo tên của nhà vật lý người Đức Daniel Gabriel Fahrenheit. Công thức chuyển từ độ C sang độ F là: Hãy viết chương trình chuyển số đo nhiệt độ từ độ C sang độ F và ngược lại. Lời giải chi tiết: Em có thể tham khảo dự án 940512364 trên trang Scratch trực tuyến theo liên kết: https://scratch.mit.edu/projects/940512364 16.2 Viết chương trình nhập vào số nguyên dương n. Tính và đưa ra màn hình tổng của các số lẻ nhỏ hơn n. Nếu số đó nhập từ bàn phím là lẻ thì loại ra. Lời giải chi tiết: Các biến đầu vào là a, b, c Chúng cần được sắp xếp lại để các điều kiện thử từ dạng đơn dễ kiểm tra nhất đến dạng phức tạp nhất giúp đoạn mã được thực hiện ngắn gọn hơn. Việc sắp xếp được thực hiện theo ba bước (từ lớn đến nhỏ hoặc từ nhỏ đến lớn, tùy nhau) như sau: Bước đầu tiên được thể hiện trong Scratch như Hình 16.2. Biến v là trung gian giữ hoán đổi hai giá trị a và b. Sau khi sắp xếp, ta có a < b < c. Việc phân loại tam giác cần tới nhiều lệnh để nhanh. Em có thể ghép các khối lệnh liên hệ nhanh sau vào vị trí phù hợp theo thuật toán ở Câu 15.1b. Để không mất nhiều thời gian cho việc tạo các khối lệnh, em có thể truy cập dự án 940537231 trên trang Scratch trực tuyến. 16.3 Viết chương trình tính tổng các số chẵn nhỏ hơn n. Lời giải chi tiết: Đầu vào: hai số nguyên dương a và b. Đầu ra: hai số nguyên dương c và d, sao cho ab=cd\frac{a}{b} = \frac{c}{d}ba=dc, và c, d nguyên tố cùng nhau. Để rút gọn phân số thành tối giản, em cần chia cả tử số và mẫu số cho ước chung lớn nhất của chúng. Em có thể viết chương trình tính ước chung lớn nhất của hai số nguyên dương a và b như sách giáo khoa. Việc nhập giá trị từ số, mẫu số của biến được thực hiện ở khối lệnh trong Hình 16.4a. Việc tính ước chung lớn nhất của a và b được thực hiện bằng khối lệnh lập trong Hình 16.4b. Sau khi thực hiện khối lệnh, em sẽ có ước chung lớn nhất của số cần lại, nhấn số lại bẳng a + b. Việc rút gọn chỉ cần lấy a chia và lấy số dư tử số và mẫu số của a và b, so sánh với 0 nên ước đã tìm ra từ trước sẽ không có giá trị cần tối giản trong Hình 16.4c. Em có thể tham khảo bài tập này ở dự án 940553303 trên trang Scratch trực tuyến. 16.4 Viết chương trình tìm số Fibonacci tại vị trí n. Lời giải chi tiết: Số Fibonacci thứ nhất và thứ hai lần lượt bằng 0 và 1. Các số Fibonacci từ thứ ba trở đi được tính bằng một phép lặp. Trong đó: Trước khi lặp, a và b lần lượt được gán giá trị bằng 0 và 1 là hai số Fibonacci đầu tiên. Phép lặp được thực hiện với n - 2 bước. Trong mỗi bước lặp, f được gán bằng a + b, còn a và b được gán bằng hai số Fibonacci gần nhất. Dự án 940958163 trên trang Scratch trực tuyến thể hiện thuật toán tính số Fibonacci thứ n trong Câu 15.4 sau khi đã được dịch phép gán vào chương trình bằng khối lệnh. 16.5 Viết chương trình tính tổng lặp Fibonacci của các số chẵn nhỏ hơn n. Lời giải chi tiết: Việc tính tổng lập phương của n số tự nhiên đầu tiên từ bàn phím được thực hiện như trong Câu 15.5. Hình 16.5. Những khối lệnh chính tính tổng lập phương của n số tự nhiên đầu tiên Em có thể tham khảo lời giải bài tập này ở dự án 940987364 trên trang Scratch trực tuyến. 16.6 Viết chương trình tìm ước của các ước của một số nguyên dương n (không kể chính nó). Lời giải chi tiết: Việc tính tổng các ước của một số nguyên dương n (không kể chính nó) với n được nhập từ bàn phím và cho biết n có phải là số hoàn hảo hay không được thực hiện như mô tả trong Câu 15.6. Khác với khối lệnh trong Câu 15.6, phép lặp chỉ thực hiện n/2 bước và việc cộng dồn các ước (n chia hết cho i) được hoàn thành bằng phép gán. Em có thể tham khảo lời giải bài tập này ở dự án 941000544 trên trang Scratch trực tuyến. 16.7 Viết chương trình liệt kê các cặp số bạn của các số nguyên dương n cho trước. Mỗi cặp được liệt kê không quá một lần. Lời giải chi tiết: Chương trình liệt kê các cặp số bạn bè không vượt quá số n cho trước được thực hiện như mô tả trong Câu 15.7. Tuy nhiên, trong Scratch, giá trị tính được từ khối lệnh TongUoc() được lưu trữ bên n và với mỗi số i, việc kiểm tra và in ra cặp số bạn bè có dạng như sau: 16.8 Viết chương trình tìm các số hoàn hảo không vượt quá số cho trước. Lời giải chi tiết: Đối với bài toán liệt kê các cặp số hoàn hảo, mỗi cặp số bạn bè được kiểm tra đến điều kiện trở thành đơn giản hơn. Em có thể tham khảo lời giải bài tập này ở dự án 941018894 trên trang Scratch trực tuyến 16.9 Viết chương trình kiểm tra một số có phải là số mạnh mẽ (strong number). Lời giải chi tiết: Thuật toán phân tích một số thành tích của các thừa số nguyên tố, thừa số nào xuất hiện nhiều lần thì ghi rõ bằng vòng lặp lồng nhau, có thể được mô tả bằng cách liệt kê như trong Câu 15.11. Em có thể tham khảo lời giải bài tập này ở dự án 941019591 trên trang Scratch trực tuyến. 16.10 Một số tự nhiên bằng tổng giai thừa các chữ số của nó có gọi là số mạnh mẽ (strong number). Sử dụng thuật toán trong Câu 15.9, trình bày thuật toán liệt kê các số mạnh mẽ không vượt quá n. Lời giải chi tiết: Trong chương trình mô phỏng đồng hồ báo kim, hình ảnh mặt đồng hồ có thể được sử dụng làm sân khấu với một kim giờ không chuyển động. Mỗi phút (60 giây), kim giờ quay 360°/60 = mỗi giây 6°. Chuyển động này được thực hiện bằng các lệnh thay đổi hướng của kim giờ trong Scratch bằng cách lệnh: Tương tự như trên, kim phút quay 6° mỗi phút, tương đương với 0.1° mỗi giây. Câu lệnh điều khiển giúp kim phút quay một cách mượt mà, không bị đột ngột khi được điều chỉnh bằng cách lệnh thay đổi hướng của kim giờ sau mỗi giây: Tương tự như trên với kim giờ nhỏ, mỗi giờ 30° mỗi phút: Em có thể tham khảo lời giải bài tập này ở dự án 813755610 trên trang Scratch trực tuyến. 16.11 Viết chương trình nhập vào một văn bản. Đếm các từ trong văn bản đó. Bản sao của văn bản đã nhập từ bàn phím sẽ được đếm lại và trả về tổng số từ. Lời giải chi tiết: Bài tập này minh họa cho việc xử lí ngôn ngữ gồm dịch giọng nói và văn bản. Em có thể thực hiện với các bước như sau: Hình 16.8 Sử dụng phần mềm chuyển đổi giọng nói thành văn bản (Speech to Text) và dịch văn bản (Text to Speech) và phần mềm Dịch. Em có thể khai thác các tính năng này để làm bài thực hành. Để tham khảo lời giải bài này, em có thể truy cập dự án 813527760 trên trang Scratch trực tuyến. Trong dự án đó, em có thể: Nhập chuỗi văn bản và văn bản chuyển đổi hiển thị bằng tiếng Việt hoặc tiếng Anh. Nhấp chuột vào nhân loa để phát âm thanh câu tiếng Anh được dịch từ câu tiếng Việt được nhập từ bàn phím.
Quảng cáo
|