Top 14 # Giải Sbt Tin Học Lớp 8 Bài 4 / 2023 Xem Nhiều Nhất, Mới Nhất 12/2022 # Top Trend | Caffebenevietnam.com

Giải Sbt Tin Học Lớp 4 Bài 1: Những Gì Em Đã Biết (Trang 3) / 2023

Để học tốt Tin học lớp 4, phần dưới là các bài giải bài tập sách Bài tập Cùng học Tin học Quyển 2 lớp 4 Bài 1: Những gì em đã biết (trang 3). Bạn vào tên bài hoặc Xem lời giải để theo dõi bài giải soạn bài tập Tin học lớp 4 tương ứng.

Giải SBT Tin học lớp 4 Bài 1: Những gì em đã biết (trang 3)

Bài 1 trang 3 SBT Tin học lớp 4:

Đây là thư điện tử của bạn Tý Lade gửi cho Miu Miu

Em hãy cho biết:

Địa chỉ hộp thư điện tử của Tý Lade?

Địa chỉ hộp thư điện tử của Miu Miu?

Lời giải:

Địa chỉ hộp thư điện tử của Tý Lade: [email protected]

Địa chỉ hộp thư điện tử của Miu Miu: [email protected]

Bài 2 trang 4 SBT Tin học lớp 4

Lời giải:

Bài 3 trang 5 SBT Tin học lớp 4

Miu nằm mơ thấy mình lạc vào mê cung với rất nhiều phòng, mỗi phòng có một quà tặng. Chợt Bụt hiện lên đưa cho Miu một tờ giấy và nói với em rằng: “Cháu hãy tìm các bộ phận và lắp xong một máy tính thì ta sẽ thưởng cho cháu cái máy tính đó và tất cả quà tặng có trong mê cung này. Cháu hãy viết các dòng lệnh ra giấy rồi ta sẽ sai Robot Ngộ Không thực hiện các lệnh đó”. Miu mừng rỡ cám ơn Bụt rồi mở tờ giấy ra thì có các dòng sau đây:

Robot Ngộ Không hiện đang ở cùng phòng với cháu đấy, nhưng cháu không nhìn thấy đâu, vì Ngộ Không đang tàng hình. Cháu nhớ tìm lấy các bộ phận theo thứ tự: Bộ xử lí – Màn hình – Bàn phím – Chuột

Lời giải:

1. Robot và Miu đang đứng tại phòng 9. Muốn ra lệnh cho Robot đến phòng 7 để lấy bộ xử lí (đặt trong thùng đựng thân máy) Miu phải viết: T2

2. Sau khi lấy bộ xử lí, Robot đứng tại phòng 7. Muốn đến phòng 18 để lấy màn hình Robot phải đi xuống 1 phòng rồi đi sang phải 5 phòng. Do đó Miu phải viết 2 dòng lệnh:

X1

P5

3. Từ phòng 18 Robot phải đi tiếp đến phòng 4 để lấy bàn phím. Vậy Miu phải viết 2 dòng lệnh:

L2

T2

4. Cuối cùng, Robot phải đi từ phòng 4 đến phòng 14 để lấy chuột. Vây Miu phải viêt 2 dòng lệnh.

X2

T2

Bài 4 trang 7 SBT Tin học lớp 4

Chủ Nhật này Miu xây dựng một thời gian biểu với khá nhiều việc. Bé Bống, em gái Miu, đọc thời gian biểu của anh rồi nói: “Nhiều việc quá anh Miu ơi. Chắc chắn anh không làm hết đâu”. Miu nói: “Anh sẽ làm xong, vì anh dùng máy tính và mạng Internet. Nhà mình lại có sẵn máy in”.

Theo em, Miu sẽ sử dụng máy tính, máy in và mạng Internet vào những công việc nào?

Em hãy điền vào các ô trống ứng với mỗi công việc trong thời gian biểu trên các số 0, 1, 2, 3 hoặc 4 nếu em đoán rằng khi thực hiện công việc đó Miu sẽ:

0 – không dùng máy tính

1 – dùng máy tính

2 – dùng máy tính và mạng Internet

3 – dùng máy tính và máy in

4 – dùng máy tính, máy in và mạng Internet.

Lời giải:

Bài 5 trang 8 SBT Tin học lớp 4

Cặp sách của em có thể chứa được 20 quyển vở. Hiện này trong cặp của em đã có 12 quyển. Vậy

Lời giải:

A. Sức chứa của cặp sách là: 20

B. Sức chứa hiện dùng của cặp sách là: 12

C. Sức chứa còn lại của cặp sách là: 8

Bài 6 trang 9 SBT Tin học lớp 4

Bể chứa nước sinh hoạt trên mái nhà em có:

Lời giải:

A. Dung lượng là 2000 lít

B. Dung lượng hiện dùng là 1200 lít

C. Dung lượng còn lại là: 800 lít

Bài 7 trang 9 SBT Tin học lớp 4

Với các thiết bị ghi thông tin trong máy tính người ta dùng các đơn vị đo dung lượng như sau:

Lời giải:

Bài 8 trang 9 SBT Tin học lớp 4

USB của Miu có thể chứa thêm ba bản sách điện tử Cùng học Tin học hay không?

Cùng học tin học Quyển 1: 8 MB

Cùng học tin học Quyển 2: 10 MB

Cùng học tin học Quyển 3: 12 MB

Lời giải:

Em giải thích:

A. Dung lượng của USB là: 256 MB.

B. Dung lượng hiện dùng của USB là 200 MB.

C. Dung lượng còn lại của USB là 44 MB.

D. Tổng dung lượng của 3 quyển Cùng học Tin học điện tử là:

8 + 10 + 12 = 30 MB

Vậy USB của bạn Miu có thể chứa thêm ba bản sách điện tử Cùng học Tin học.

Bài 9 trang 10 SBT Tin học lớp 4

Bảo quản đĩa mềm, đĩa CD, đĩa cứng hoặc các thiết bị nhớ flash.

Lời giải:

Bài Giảng Môn Tin Học Lớp 8 / 2023

3. Sử dụng biến trong chương trình :

Tên biến := Biểu thức ;

Lệnh nhập giá trị cho biến :

Readln(tênbiến);

VD: Readln(r);

Ví dụ: Hãy giải thích ý nghĩa của các câu lệnh sau đây

a. a:=200; b. x:=100/2;

c. s:=’School’; d. Readln(a);

ĐÁP ÁN Cuù phaùp: var :; AÙp duïng: var x,y: integer; a,b: real; hoten: string; NỘI DUNG BÀI HỌC 3. Sử dụng biến trong chương trình 2. Khai báo biến 1. Biến là công cụ trong lập trình 4. Hằng - Caùc Thao taùc coù theå thöïc hieän vôùi bieán laø: + Tính toaùn vôùi giaù trò cuûa bieán: thực hiện tính toaùn caùc bieåu thöùc chöùa bieán töông töï nhö caùc bieåu thöùc soá cuï theå + Gaùn giaù trò cho bieán 3. Sử dụng biến trong chương trình : gán giá trị -c/b vào cho biến x biến x nhận giá trị -c/b bieán x ñöôïc gaùn giaù trò cuûa bieán y bieán i ñöôïc gaùn giaù trò hiện tại của i cộng theâm 5 đơn vị - Caâu leänh gaùn giaù trò trong caùc NNLT coù daïng: Ví duï: 3. Sử dụng biến trong chương trình : - Kí hieäu pheùp gaùn trong Pascal laø daáu := - Cú pháp câu leänh gaùn giaù trò cho bieán: := ; Tăng giá trị của biến x lên 1 đơn vị, kết quả gán lại cho biến x. 3. Sử dụng biến trong chương trình : - Kí hieäu pheùp gaùn trong Pascal laø daáu := := ; - Caâu leänh gaùn giaù trò cho bieán trong Pascal coù daïng: Qua VD treân em thaáy khi gaëp caâu leänh gaùn Pascal seõ laøm gì? - Khi gaëp caâu leänh gaùn := Pasal seõ tính toaùn giaù trò cuûa bieåu thöùc ôû beân phaûi pheùp gaùn vaø gaùn giaù trò naøy cho bieán ôû beân traùi pheùp gaùn - Kí hieäu pheùp gaùn trong Pascal laø daáu := - Caâu leänh gaùn giaù trò cho bieán trong Pascal coù daïng: * Löu yù: - Kieåu döõ lieäu cuûa giaù trò ñöôïc gaùn cho bieán phaûi thường truøng vôùi kieåu cuûa bieán vaø khi ñöôïc gaùn giaù trò môùi thì giaù trò cuõ cuûa bieán seõ bò xoùa 3. Sử dụng biến trong chương trình : := ; 3. Sử dụng biến trong chương trình : - Lệnh gán : - Lệnh nhập giá trị cho biến : Readln(tªnbiÕn); Tªn biÕn := BiÓu thøc ; VD: Readln(r);

Giải Các Bài Tập Tin Học 8 / 2023

1. Sao chép cụm từ cần tìm vào bộ nhớ (ta gọi đây là cụm từ 1).

2. Sao chép cụm từ sẽ thay thế cụm từ tìm được vào bộ nhớ (cụm từ 2).

3. Tìm cụm từ 1 trong văn bản.

4. Xóa cụm từ 1 tìm được trong văn bản.

5. Sao chép cụm từ 2 vào vị trí con trỏ trong văn bản.

1. Sao chép dãy kí tự cần tìm vào bộ nhớ (dãy 1).

2. Sao chép dãy kí tự sẽ thay thế dãy kí tự tìm được vào bộ nhớ (dãy 2).

3. Đặt con trỏ trước kí tự đầu tiên trong văn bản.

4. Sao chép dãy kí tự (tính từ vị trí con trỏ sang phải) có độ dài bằng dãy kí tự cần tìm vào bộ nhớ (dãy 3).

5. So sánh dãy 1 và dãy 3. Nếu dãy 3 không trùng với dãy 1, chuyển đến lệnh 8.

Bài 1. Máy tính và chương trình máy tính Câu hỏi và bài tập Khi soạn thảo văn bản trên máy tính và yêu cầu chương trình tìm kiếm một cụm từ trong văn bản và thay thế bằng một cụm từ khác, thực chất ta đã yêu cầu máy tính thực hiện những lệnh gì? Có thể thay đổi thứ tự những lệnh đó mà vẫn không thay đổi kết quả được không? Trong ví dụ về rô-bốt, nếu thay đổi thứ tự của hai lệnh trong chương trình, rô-bốt có thực hiện được công việc nhặt rác không? Hãy xác định vị trí mới của rô-bốt sau khi thực hiện xong lệnh "Hãy quét nhà" và đưa ra các lệnh để rô-bốt trở lại vị trí ban đầu của mình. Hãy cho biết lí do cần phải viết chương trình để điều khiển máy tính. Tại sao người ta phải tạo ra các ngôn ngữ lập trình trong khi có thể điều khiển máy tính bằng ngôn ngữ máy? Chương trình dịch làm gì? Hãy cho biết các bước cần thực hiện để tạo ra các chương trình máy tính. Hướng dẫn trả lời Sao chép cụm từ cần tìm vào bộ nhớ (ta gọi đây là cụm từ 1). Sao chép cụm từ sẽ thay thế cụm từ tìm được vào bộ nhớ (cụm từ 2). Tìm cụm từ 1 trong văn bản. Xóa cụm từ 1 tìm được trong văn bản. Sao chép cụm từ 2 vào vị trí con trỏ trong văn bản. Sao chép dãy kí tự cần tìm vào bộ nhớ (dãy 1). Sao chép dãy kí tự sẽ thay thế dãy kí tự tìm được vào bộ nhớ (dãy 2). Đặt con trỏ trước kí tự đầu tiên trong văn bản. Sao chép dãy kí tự (tính từ vị trí con trỏ sang phải) có độ dài bằng dãy kí tự cần tìm vào bộ nhớ (dãy 3). So sánh dãy 1 và dãy 3. Nếu dãy 3 không trùng với dãy 1, chuyển đến lệnh 8. Xóa dãy 3 trong văn bản. Sao chép dãy 2 vào vị trí con trỏ soạn thảo trong văn bản. Di chuyển con trỏ sang phải một kí tự và quay lại lệnh 4. Qua các lệnh liệt kê theo thứ tự nói trên, dễ thấy rằng có thể thay đổi thứ tự thực hiện của một vài lệnh (1 và 2), nhưng nói chung việc thay đổi thứ tự các lệnh sẽ không cho kết quả mong muốn. Nếu thay đổi thứ tự của hai lệnh trong chương trình điều khiển rô-bốt, rô-bốt sẽ không thực hiện được công việc nhặt rác vì rô-bốt sẽ không đi đúng hướng và có thể không đi tới vị trí có rác, hoặc thực hiện việc nhặt rác tại vị trí không có rác,.... Ví dụ, nếu thay đổi thứ tự của lệnh 1 "Tiến 2 bước" và lệnh 2 "Quay trái, tiến 1 bước", tác dụng của cả hai lệnh này sẽ là "Quay trái và tiến 3 bước". Khi đó rô-bốt sẽ nhặt rác tại vị trí không có rác. Nói chung, các lệnh điều khiển rô-bốt hay chương trình cần được đưa ra theo một thứ tự xác định sao cho ta đạt kết quả mong muốn. Trong một số ít trường hợp, ta có thể đưa ra các lệnh khác nhau, nhưng vẫn đạt kết quả. Chẳng hạn, trong ví dụ về rô-bốt, thay cho hai câu lệnh đầu tiên, ta có thể điều khiển rô-bốt đến đúng vị trí có rác bằng các lệnh sau: "Quay trái, tiến 1 bước" và "Quay phải, tiến 2 bước" hoặc "Quay phải, tiến 2 bước", "Quay trái, tiến 2 bước" và "Quay trái, tiến 4 bước". Trong một số ít các trường hợp khác, việc thay đổi thứ tự của một vài câu lệnh vẫn cho kết quả đúng như yêu cầu. Tuy nhiên, như là một nguyên tắc chung, việc thay đổi thứ tự các câu lệnh sẽ không cho kết quả đúng. Có thể liên hệ với thứ tự các bước của thuật toán trong Bài 5. Vị trí mới của rô-bốt sau khi thực hiện xong lệnh "Hãy quét nhà" là vị trí có thùng rác (ở góc đối diện). Ta có nhiều cách khác nhau để đưa ra hai lệnh để rô-bốt trở lại vị trí ban đầu của mình, một trong các cách đó là hai lệnh "Quay trái, tiến 5 bước" và "Quay trái, tiến 3 bước". Lí do: Điều khiển máy tính tự động thực hiện các công việc đa dạng và phức tạp mà một lệnh đơn giản không đủ để chỉ dẫn. Tuy ngôn ngữ máy cũng là một loại ngôn ngữ lập trình, nhưng ở đây chúng ta hiểu ngôn ngữ lập trình là ngôn ngữ lập trình bậc cao. Trong ngôn ngữ máy mọi chỉ thị đều được biểu diễn bằng các con số nhị phân 0 và 1. Ngôn ngữ máy khó đọc và khó sử dụng, tuy vậy ngôn ngữ máy là ngôn ngữ duy nhất mà bộ vi xử lí có thể nhận biết và thực hiện một cách trực tiếp. Ngoài ra yếu điểm chính của các chương trình viết bằng ngôn ngữ máy là phụ thuộc vào phần cứng máy tính. Các ngôn ngữ lập trình bậc cao được phát triển để khắc phục các yếu điểm trân của ngôn ngữ máy. Ngôn ngữ lập trình sử dụng các cụm từ tự nhiên nên dễ nhớ, dễ học và không phụ thuộc vào phần cứng máy tính. Chương trình dịch là chương trình có chức năng chuyển đổi chương trình được viết bằng ngôn ngữ lập trình thành chương trình thực hiện được trên máy tính. Như vậy, chương trình dịch chuyển đổi tệp gồm các dòng lệnh được soạn thảo thành tệp có thể chạy trên máy tính. Hai bước cơ bản để tạo ra các chương trình máy tính là (1) viết chương trình theo ngôn ngữ lập trình và (2) dịch chương trình thành ngôn ngữ máy để máy tính hiểu được và kết quả là tệp tin có thể thực hiện được trên máy tính. Lưu ý rằng, đây chỉ là hai bước cơ bản trong lập trình và chỉ là một phần của công việc giải quyết bài toán bằng máy tính. Bài 2. Làm quen với Ngôn ngữ lập trình Câu hỏi và bài tập Hãy cho biết các thành phần cơ bản của một ngôn ngữ lập trình . Ta có thể viết các chương trình bằng các câu lệnh có các chữ cái của tiếng Việt, chẳng hạn "rẽ trái", được không? Tại sao? Tên trong chương trình là gì? Cho biết sự khác biệt từ khóa và tên, cách đặt tên trong chương trình. Trong số các tên sau đây do người viết chương trình đặt trong một chương trình Pascal, tên nào là hợp lệ và tên nào không hợp lệ: a, Tamgiac, 8a, Tam giac, beginprogram, end, b1, abc? Hãy cho biết các phần chính trong cấu trúc của mọi chương trình và vai trò của chúng. Trong các phần đó, phần nào là quan trọng nhất? Hãy cho biết chương trình Pascal sau đây có hợp lệ không, tại sao? a) Chương trình 1. begin end. b) Chương trình 2. begin program CT_thu; writeln('Chao cac ban'); end. Hướng dẫn trả lời Các thành phần cơ bản ngôn ngữ lập trình gồm bảng chữ cái và các quy tắc để viết các câu lệnh (cú pháp) có ý nghĩa xác định, cách bố trí các câu lệnh,... sao cho có thể tạo thành một chương trình hoàn chỉnh và chạy được trên máy tính. Lưu ý rằng các quy tắc nhắc đến ở đây bao gồm các thuật ngữ chuyên môn là cú pháp và ngữ nghĩa. Xem SGK, Mục 2, Bài 2. Không. Các cụm từ sử dụng trong chương trình (từ khóa, tên) phải được viết bằng các chữ cái trong bảng chữ cái của ngôn ngữ lập trình. Các ngôn ngữ lập trình phổ biến hiện nay đều có bảng chữ cái là bảng chữ cái tiếng Anh và các kí hiệu khác, trong đó không có các chữ cái có dấu của tiếng Việt. Lưu ý rằng câu hỏi trong bài là "viết chương trình bằng các câu lệnh...". Điều này không có nghĩa là trong chương trình không thể có các chữ cái có dấu của tiếng Việt (hay của một ngôn ngữ khác) như là dữ liệu dạng văn bản cần xử lí. Các chữ có dấu đó sẽ được ngôn ngữ lập trình xử lý mã kí tự tương ứng trong các bảng mã ASCII mở rộng. Ví dụ chương trình Pascal sau đây hoàn toàn hợp lệ: begin program CT_thu; writeln(' Chào các bạn'); end. Tên trong chương trình là dãy các chữ cái hợp lệ được lấy từ bảng chữ cái của ngôn ngữ lập trình. Từ khoá của một ngôn ngữ lập trình (hay còn được gọi là từ dành riêng) là tên chỉ được dùng cho các mục đích sử dụng do ngôn ngữ lập trình quy định, không được dùng cho bất kì mục đích nào khác. Người lập trình có thể đặt tên một cách tùy ý nhưng phải tuân thủ các quy tắc của ngôn ngữ lập trình cũng như của chương trình dịch, trong đó (1) Hai đại lượng khác nhau phải có tên khác nhau; (2) Tên không được trùng với các từ khoá. Các tên hợp lệ: a, Tamgiac, beginprogram, b1, abc, tên không hợp lệ: 8a (bắt đầu bằng số), Tam giac (có dấu cách), end (trùng với từ khóa). Xem SGK, Mục 4, Bài 2. a) Chương trình 1 là chương trình Pascal đầy đủ và hoàn toàn hợp lệ, mặc dù chương trình này chẳng thực hiện điều gì cả. Phần nhất thiết phải có trong chương trình là phần thân chương trình được đảm bảo bằng hai từ begin và end. (có dấu chấm). b) Chương trình 2 là chương trình Pascal không hợp lệ vì câu lệnh khai báo tên chương trình program CT_thu; nằm ở phần thân chương trình. Bài 3. Chương trình máy tính Và Dữ LIệU Câu hỏi và bài tập Hãy nêu ít nhất một lí do cho thấy sự cần thiết phải phân chia dữ liệu thành các kiểu! Hãy nêu ít nhất hai kiểu dữ liệu và một phép toán có thể thực hiện được trên một kiểu dữ liệu, nhưng phép toán đó không có nghĩa trên kiểu dữ liệu kia. Cho dãy chữ số 2010. Dãy chữ số đó có thể thuộc kiểu dữ liệu nào? Cho hai xâu kí tự "Lớp" và "8A". Hãy thử định nghĩa một "phép toán" có thể thực hiện được trên hai xâu kí tự đó. Hãy phân biệt ý nghĩa của các câu lệnh Pascal sau đây: Writeln('5+20=','20+5'); và Writeln('5+20=',20+5); Hai lệnh sau có tương đương với nhau không? Tại sao? Writeln('100'); và Writeln(100); Chuyển các biểu thức được viết trong Pascal sau đây thành các biểu thức toán: (a+b)*(a+b)-x/y b/(a*a+c) a*a/(2*b+c)*(2*b+c) 1+1/2+1/2*3+1/3*4+1/4*5 Hãy xác định kết quả của các phép so sánh sau đây: 15 - 8 ≥ 3 (20 - 15)2 ≠ 25 112 = 121 Viết các phép so sánh trong Bài tập 8 với các kí hiệu trong Pascal. Nêu một số ví dụ về tương tác giữa người và máy tính khi chương trình hoạt động. Hướng dẫn trả lời Vì dữ liệu và các thao tác xử lí dữ liệu rất đa dạng, lí do dễ nhận thấy nhất là việc phân chia dữ liệu thành các kiểu giúp xác định các phép xử lí (phép toán) có thể thực hiện trên mỗi kiểu dữ liệu. Ngoài ra việc phân chia kiểu dữ liệu còn cho biết các giá trị có thể (phạm vi) của dữ liệu, giúp cho việc quản lý tài nguyên của máy tính (đặc biệt là bộ nhớ trong) một cách hiệu quả. Có thể nêu các ví dụ sau đây: Dữ liệu kiểu số và dữ liệu kiểu xâu kí tự. Phép cộng được định nghĩa trên dữ liệu số, nhưng không có nghĩa trên dữ liệu kiểu xâu. Dữ liệu kiểu số nguyên và dữ liệu kiểu số thực. Phép chia lấy phần nguyên và phép chia lấy phần dư có nghĩa trên dữ liệu kiểu số nguyên, nhưng không có nghĩa trên dữ liệu kiểu số thực. Dãy chữ số 2010 có thể thuộc kiểu dữ liệu số nguyên, số thực hoặc kiểu xâu kí tự. Tuy nhiên, để chương trình dịch Turbo Pascal hiểu 2010 là dữ liệu kiểu xâu, chúng ta phải viết dãy số này trong cặp dấu nháy đơn ('). var a: real; b: integer; begin writeln('123'); writeln(123); a:=2010; b:=2010; end. Cho hai xâu kí tự "Lớp" và "8A". Có thể định nghĩa nhiều "phép toán" trên tập hợp các dữ liệu kiểu xâu. Chẳng hạn phép ghép: Lớp + 8A = Lớp8A. Hướng dẫn trả lời Tìm một từ nhất định bị gõ sai chính tả trong văn bản và sửa lại cho đúng. Số từ cần phải sửa chưa được biết trước. Khi chuẩn bị tô phở để phục vụ cho khách, cô bán hàng thường thực hiện các công việc sau đây: Cho một lượng bánh phở vào nồi nước phở để làm nóng bánh phở, cho bánh phở đã làm nóng vào bát, làm chín một ít thịt và cho vào bát bánh phở đã được làm nóng, cho thêm gia vị, thêm nước phở đang được đun sôi và bát phở,... Các thao tác đó được thực hiện lặp lại mỗi khi có khách ăn phở. Trong suốt ca bán hàng số lần thực hiện các thao tác lặp đó là không thể biết trước. Trong xưởng may, mỗi cô công nhân may cùng một chi tiết của chiếc áo, hay chiếc quần với các đường may đã được thiết kế trước. May xong một sản phẩm, cô công nhân sẽ may sản phẩm tiếp theo cho đến khi hết giờ làm việc. Sự khác biệt giữa câu lệnh lặp với số lần lặp cho trước và câu lệnh lặp với số lần lặp chưa biết trước là ở các điểm sau đây: Như tên gọi của nó, câu lệnh lặp với số lần lặp cho trước chỉ thị cho máy tính thực hiện một lệnh hoặc một nhóm lệnh với số lần đã được xác định từ trước, còn với câu lệnh lặp với số lần lặp chưa biết trước thì số lần lặp chưa được xác định trước. Trong câu lệnh lặp với số lần cho trước, điều kiện là giá trị của một biến đếm có giá trị nguyên đã đạt được giá trị lớn nhất hay chưa, còn trong câu lệnh lặp với số lần lặp chưa biết trước, điều kiện tổng quát hơn nhiều, có thể là kiểm tra một giá trị của một số thực, cũng có thể là một điều kiện tổng quát khác, ví dụ như một số có chia hết cho 3 hay không,... Trong câu lệnh lặp với số lần cho trước, câu lệnh được thực hiện ít nhất một lần, sau đó kiểm tra điều kiện. Trong câu lệnh lặp với số lần chưa xác định trước, trước hết điều kiện được kiểm tra. Nếu điều kiện được thỏa mãn, câu lệnh mới được thực hiện. Do đó có thể có trường hợp câu lệnh hoàn toàn không được thực hiện. Mô tả thuật toán: Bước 1. Đặt S ơ R (S là bán kính đường tròn sẽ vẽ), n ơ 0, x ơ 0.5. Bước 2. Nếu S < 1.2, chuyển tới bước 4. Bước 3. Vẽ đường tròn bán kính S, S ơ S - x và quay lại bước 2. Bước 4. Kết thúc thuật toán. a) Thuật toán 1: 10 vòng lặp được thực hiện. Khi kết thúc thuật toán S = 5.0. Đoạn chương trình Pascal tương ứng: S:=10; x:=0.5; writeln(S); b) Thuật toán 2: Không vòng lặp nào được thực hiện vì ngay từ đầu điều kiện đã không được thỏa mãn nên các bước 2 và 3 bị bỏ qua. S = 10 khi kết thúc thuật toán. Đoạn chương trình Pascal tương ứng: S:=10; n:=0; while S<10 do begin n:=n+3; S:=S-n end; writeln(S); Nhận xét: Trong các thuật toán và chương trình trên, điều kiện được kiểm tra trước khi các bước lặp được thực hiện. Do đó nếu điều kiện không được thỏa mãn ngay từ đầu, các bước lặp sẽ bị bỏ qua. Điều này đặc biệt đúng đối với câu lệnh lặp while..do. a) Chương trình thực hiện 5 vòng lặp. b) Vòng lặp trong chương trình được thực hiện vô tận vì sau câu lệnh n:=n+1; câu lệnh lặp kết thúc nên điều kiện S=0 luôn luôn được thỏa mãn. Nhận xét: Trong câu lệnh thực hiện, điều kiện cần phải được thay đổi để sớm hay muộn chuyển sang trạng thái không thỏa mãn. Khi đó vòng lặp mới được kết thúc sau hữu hạn bước. Để làm được điều này, câu lệnh trong câu lệnh lặp chúng tôi thường là câu lệnh ghép. a) Thừa dấu hai chấm trong điều kiện; b) Thiếu dấu hai chấm trong câu lệnh gán; c) Thiếu các từ khóa begin và end trước và sau các lệnh n:=n+1; S:=S+n, do đó vòng lặp trở thành vô tận. Viết thuật toán và chương trình Pascal có câu lệnh lặp với số lần không xác định để tính lũy thừa bậc n của x (tức xn), với n là số tự nhiên và x là số thực được nhập vào từ bàn phím. Hãy so sánh với thuật toán trong Bài tập 8, Bài 7. Thuật toán: Bước 1. Đọc các giá trị x và n. Bước 2. A ơ 1, k ơ 1. Bước 4. A = A.x, k ơ k + 1 và quay lại bước 3. Bước 5. Thông báo kết quả là A và kết thúc thuật toán. Chương trình Pascal: var n,k: integer; A, LT: real; begin write('Nhap so A= '); readln(A); write('Nhap so n= '); readln(n); LT:=1; k:=1; while k<=n do begin LT:=LT*A, k:=k+1 end end. Tính tích của N số tự nhiên đầu tiên với số lần lặp không xác định (với N là số tự nhiên được nhập vào từ bàn phím). Bước 1. Đọc giá trị N. Bước 2. T ơ 1, k ơ 1. Bước 3. Nếu k ≤ N, T = T.k; ngược lại, chuyển xuống bước 5. Bước 4. k ơ k + 1 và quay lại bước 3. Bước 5. Kết thúc thuật toán. Thuật toán: Bước 1. Đọc giá trị n. Bước 2. S ơ 0, i ơ 2. Bước 4. Nếu n chia hết cho i, S ơ S + i, i ơ i + 1 và quay lại bước 3. Bước 5. Ghi giá trị S và kết thúc thuật toán. Chương trình có thể như sau: var n,i,S: integer; begin write('Cho so tu nhien n= '); readln(n); i:=2; S:=0; while i<=n-1 do begin if (n mod i)=0 then S:=S+i; i:=i+1; end; write('Tong cac uoc so thuc su cua ',n,' la: ',S); readln; end. Chương trình có thể như sau: Uses CRT; Var A, sum: real; i: integer; Begin Write('cho so A: '); readln(A); i:=1; sum:= 0; While (sum<=A) do Begin sum:= sum+1/i; i:= i+1; end; Write('Gia tri N bang ', i:6); Readln; End. Bài 9. Làm việc với dãy số Câu hỏi và bài tập "Có thể xem biến mảng là một biến được tạo từ nhiều biến có cùng kiểu, nhưng chỉ dưới một tên duy nhất." Phát biểu đó đúng hay sai? Hãy nêu các lợi ích của việc sử dụng biến mảng trong chương trình. Các khai báo biến mảng sau đây trong Pascal đúng hay sai: var X: Array[10,13] Of Integer; var X: Array[5..10.5] Of Real; var X: Array[3.4..4.8] Of Integer; var X: Array[10..1] Of Integer; var X: Array[4..10] Of Real; Câu lệnh khai báo mảng sau đây có được máy tính thực hiện không? var N: integer; A: array[1..N] of real; Viết chương trình Pascal sử dụng mảng để nhập từ bàn phím các phần tử của một dãy số. Độ dài của dãy cũng được nhập từ bàn phím. Đoạn chương trình sau dùng để sắp xếp lại dãy số được ghi trong mảng A[i], i = 1,2,..., N, theo thứ tự tăng dần: For i:=1 to N do For j:=i to N do Begin Tg:=A[i]; A[i]:=A[j]; A[j]:=Tg; End; Hãy kiểm tra tính đúng đắn của đoạn chương trình trên. Hãy viết chương trình nhập 5 số ngyên từ bàn phím và ghi ra màn hình số lớn nhất trong 5 số đó theo hai cách: không sử dụng biến mảng và sử dụng biến mảng. Viết chương trình sử dụng biến mảng để tính giá trị trung bình của tổng N số nguyên được nhập vào từ bàn phím. Viết chương trình sử dụng biến mảng để nhập n số nguyên từ bàn phím và tính tổng các số dương trong số các số đó (xem lại Bài tập 7b, Bài 5). Trong Bài tập 9, em đã viết chương trình để tính tổng các ước số thực sự của một số nguyên, nhưng chưa liệt kê được các ước số đó. Hãy viết chương trình sử dụng biến mảng để in các ước số của số nguyên n (được nhập vào từ bàn phím). Hướng dẫn trả lời Đúng. Đáp án a) Sai. Phải thay dấu phảy bằng hai dấu chấm; b) và c) Sai, vì giá trị nhỏ nhất và lớn nhất của chỉ số mảng phải là số nguyên; d) Sai, vì giá trị đâu của chỉ số mảng phải nhỏ hơn hoặc bằng chỉ số cuối; e) Đúng. Không. Giá trị nhỏ nhất và lớn nhất của chỉ số mảng phải được xác định trong phần khai báo chương trình. Chương trình có thể như sau: uses crt; var N, i: integer; A: array[1..100] of real; begin clrscr; write('Nhap so phan tu cua mang, n= '); readln(n); for i:=1 to n do begin write('Nhap gia tri ',i,'cua mang, a[',i,']= '); read(a[i]) end; end. Đúng. a) Nếu không sử dụng biến mảng, chương trình có thể dài như sau: uses crt; var So_1, So_2, So_3, So_4, So_5, Max: integer; begin clrscr; write('Nhap so thu nhat: '); readln(So_1); write('Nhap so thu hai: '); readln(So_2); write('Nhap so thu ba: '); readln(So_3); write('Nhap so thu tu: '); readln(So_4); write('Nhap so thu nam: '); readln(So_5); Max:=So_1; If Max<So_2 then Max:=So_2; If Max<So_3 then Max:=So_3; If Max<So_4 then Max:=So_4; If Max<So_5 then Max:=So_5; writeln('So lon nhat: ',Max); end. b) Nếu sử dụng biến mảng, chương trình chỉ ngắn gọn như sau: uses crt; var i, Max: integer; A: array[1..5] of integer; begin clrscr; for i:=1 to 5 do begin write('Nhap so thu ',i,':'); readln(A[i]) end; Max:=a[1]; for i:=2 to 5 do If Max<a[i] then Max:=a[i]; writeln('So lon nhat: ',Max); end. Lưu ý. Xem cách viết chương trình ngắn gọn hơn và không sử dụng biến mảng trong Bài tập 9, Bài 7. Tuy nhiên, cách viết đó sẽ không cho kết quả mong muốn nếu sau khi nhập giá trị của các biến còn cần thực hiện các thao tác dữ liệu khác. Viết chương trình sử dụng biến mảng để tính giá trị trung bình của tổng N số nguyên được nhập vào từ bàn phím. uses crt; var N, i: integer; TB: real; A: array[1..100] of real; begin clrscr; write('Nhap so phan tu cua mang, n= '); read(n); for i:=1 to n do begin write('Nhap gia tri ',i,'cua mang, a[',i,']= '); readln(a[i]) end; TB:=0; for i:=1 to n do TB:=TB+a[i]; TB:=TB/n; write('Trung binh bang ',TB); end. Chương trình nhập n số nguyên từ bàn phím và tính tổng các số dương: uses crt; var n,k,S: integer; X: array[1..1000] of integer; begin clrscr; write('Nhap so tu nhien n: '); readln(n); for k:=1 to n do begin write('Nhap X[',k,']='); readln(X[k]) end; S:=0; for k:=1 to n do writeln('Tong cac duong S=',S); readln; end. Nội dung Bài 2 của Bài thực hành 6 là viết chương trình nhận biết một số tự nhiên có phải là số nguyên tố hay không. Nội dung của Bài tập 9, Bài 8, là viết chương trình tính tổng các ước số thực sự của một số nguyên, nhưng chưa liệt kê được các ước số đó. Để có thể liệt kê, chương trình cần phải ghi lại chúng. ý tưởng chính là sử dụng một biến mảng phục vụ cho điều này. Chương trình tương tự như trong Bài tập 9, Bài 8: uses crt; var n,i,k,S: integer; X: array[1..10000] of integer; begin clrscr; i:=2; S:=0; for k:=1 to (n-1) do X[k]:=0; {Dat lai = 0} while i<=(n-1) do {Ghi lai uoc so vao X[i]} begin if (n mod i)=0 then begin X[i]:= i; S:=S+X[i] end; i:=i+1; end; writeln('Tong cac uoc so thuc su cua ',n,' la: ',S); if S0 then begin write('Cac uoc so cua ',n,' la: '); for i:=1 to (n-1) do if X[i]0 then write(X[i],' ') end else writeln(n,' la so nguyen to.'); readln; end.

Giải Bài Tập Sgk Tin Học 8 Bài 7 / 2023

Giải bài tập SGK Tin học 8 bài 7: Câu lệnh lặp được VnDoc sưu tầm và đăng tải, tổng hợp các câu hỏi trong sách giáo khoa nằm trong chương trình giảng dạy môn Tin học lớp 8. Hi vọng rằng đây sẽ là những tài liệu hữu ích trong công tác giảng dạy và học tập của quý thầy cô và các bạn học sinh. Mời các quý thầy cô và các bạn cùng tham khảo

Bài 1 (trang 59 sgk Tin học lớp 8): Cho một vài ví dụ về hoạt động được thực hiện lặp lại trong cuộc sống hàng ngày.

Trả lời:

– Hàng ngày ta đi học từ thứ 2 đến 7.

– Hàng ngày ta ăn một ngày ba bữa cơm.

– Hàng ngày đêm đến ta đều đi ngủ.

Bài 2 (trang 59 sgk Tin học lớp 8): Chương trình Pascal sau đây thực hiện hoạt động nào?

var i: integer;

begin

for i:=1 to 1000 do;

end.

Trả lời:

– Chương trình chạy biến i từ 1 đến 1000 rồi không làm gì cả.

Bài 3 (trang 59 sgk Tin học lớp 8): Hãy mô tả thuât toán để tính tổng A sau đây (n là số tự nhiên được nhập vào từ bàn phím):

Trả lời:

– Bước 1: Nhập n. Gán i=1, A:=0;

– Bước 2: A=1/i(i+2).

– Bước 3: i:= i+1;

– Bước 4: In ra A.

– Bước 5 kết thúc vòng lặp.

Tìm hiểu mở rộng (trang 59 sgk Tin học lớp 8): Ngoài lệnh lặp đã biết, Pascal còn có câu lệnh lặp tương tự:

Trong câu lệnh này, ban đầu biến đếm nhận giá trị đầu. Sau mỗi lần thực hiện câu lệnh, biến đếm bị giảm đi một đơn vị và câu lệnh được lặp lại tới khi biến đếm bằng giá trị cuối.

Ví dụ. Đoạn chương trình sau sẽ ghi trên màn hình các số từ 100 đến 1 theo thứ tự giảm dần:

Writeln (‘Dem nguoc’);

For i:=100 downto 1 do writeln(i);

Nếu sử dụng lệnh for … to em phải làm thế nào? Hãy tìm hiểu cách thức sử dụng câu lệnh for … downto và thể hiện trong một chương trình.

Trả lời:

– Nếu sử dụng lệnh for.. to thì chương trình đếm ngược sẽ là:

– Ví dụ với downto cho thuật toán ở câu 3: