Sách giáo khoa Tin học 8 – Phần 1: Lập trình đơn giản

Bạn đang xem

20 trang mẫu

của ebook , để tải ebook gốc về máy bạn click vào nút DOWNLOAD ở trên

Phần 1
Lập trình đơn giản
Bài 1. Laptop 
& chương trình laptop
1. Nhân loại sai bảo cho laptop như vậy nào?
Tất cả chúng ta đã biết rằng laptop là dụng cụ suport loài người để xử lí thông tin một cách rất hiệu quả. Bên cạnh đó, laptop thực chất chỉ là một thiết bị điện tử vô tri vô giác. Để laptop có thể thực hiện một công việc theo mong chờ của mình, loài người phải đặt ra những hướng dẫn phù hợp cho laptop.
Khi nháy đúp chuột lên biểu tượng của một PM trên màn ảnh nền, PM sẽ được khởi động. Bằng cách đó ta đã cho laptop những hướng dẫn, nói cách khác, đã sai bảo cho laptop khởi động PM.
Khi soạn thảo văn bản, ta gõ một phím chữ (ví dụ phím chữ α), chữ tương ứng sẽ hiện ra trên màn hình. Như thế ta cũng từng sai bảo cho laptop (in chữ lên màn hình).
Khi thực hiện lệnh copy một phần văn bản từ địa điểm này sang địa điểm khác, thực chất ta đã yêu cầu laptop thực hiện liên tiếp nhiều lệnh, trong đó có lệnh copy bài viết phần văn bản vào bộ nhớ lưu trữ của sản phẩm tính & lệnh copy bài viết có trong bộ nhớ lưu trữ vào địa điểm mới trên văn bản.
Như thế, để hướng dẫn laptop thực hiện một công việc nào đó, loài người mang cho laptop một hoặc nhiều lệnh, laptop sẽ lần lượt thực hiện các lệnh đó. 
2. Chẳng hạn: rô-bốt nhặt rác
Rô-bốt (hay người máy) là một loại máy có thể auto thực hiện được một số công việc thông qua sự điều khiển của loài người. Tất cả chúng ta sẽ khám phá cách sai bảo cho laptop thông qua một chẳng hạn về rô-bốt. 
Giả sử ta có một rô-bốt có thể thực hiện được các thao tác căn bản như tiến một bước, quay phải, quay trái, nhặt rác & bỏ rác vào thùng. Hình 1 dưới đây miêu tả địa điểm của rô-bốt, cọng rác & thùng rác. Ta cần ra các lệnh phù hợp để hướng dẫn rô-bốt di chuyển từ địa điểm hiện giờ, nhặt rác & cho vào thùng rác để ở nơi quy định. 
Hình 1. Rô-bốt "nhặt rác"
Nếu thực hiện theo các lệnh sau đây, rô-bốt sẽ giải quyết tốt công việc:
Tiến 2 bước;
Quay trái, tiến 1 bước;
Nhặt rác;
Quay phải, tiến 3 bước;
Quay trái, tiến 2 bước;
Bỏ rác vào thùng.
Giả sử các lệnh trên được viết & lưu trong rô-bốt với tên "Hãy nhặt rác". Khi đó ta chỉ cần sai bảo "Hãy nhặt rác", các lệnh đó sẽ điều khiển rô-bốt auto thực hiện lần lượt các lệnh nói trên.
3. Viết chương trình - sai bảo cho laptop làm việc
Về thực chất, việc viết các lệnh để điều khiển rô-bốt trong chẳng hạn nói trên chính là viết chương trình. Tương đương, để điều khiển laptop làm việc, tất cả chúng ta cũng viết chương trình laptop. 
Theo nghĩa đó, chương trình laptop là một dãy các lệnh mà laptop có thể hiểu & thực hiện được. Mặc dầu chương trình chứa các lệnh riêng rẽ, nhưng bản thân tên chương trình cũng được coi như một lệnh, ta có thể yêu cầu laptop thực hiện bằng cách gọi tên của nó. Như ở chẳng hạn trên, tên câu lệnh gộp chung "Hãy nhặt rác" trở thành tên của chương trình. Khi thực hiện chương trình, laptop sẽ thực hiện các lệnh có trong chương trình một cách tuần tự, nghĩa là thực hiện xong một lệnh sẽ thực hiện lệnh kế tiếp, từ lệnh trước tiên đến lệnh cuối cùng.
Trở lại chẳng hạn về rô-bốt nhặt rác, chương trình có thể có các lệnh như sau:
Hình 2. Chẳng hạn về chương trình 
Vì sao cần viết chương trình? 
Khi gõ một phím hoặc nháy chuột, thực chất ta đã "ra lệnh" cho laptop. Bên cạnh đó, trong thực tiễn các công việc loài người mong muốn laptop thực hiện rất phong phú & cầu kỳ. Một lệnh đơn giản không đủ để hướng dẫn cho laptop. Chính vì như thế việc viết nhiều lệnh & tập hợp lại trong một chương trình giúp loài người điều khiển laptop một cách đơn giản & hiệu quả hơn.
4. Chương trình & từ ngữ lập trình
Trong mục trước, tất cả chúng ta đã thử tưởng tượng ra một chương trình gồm các lệnh tiếng Việt. Để thực hiện được công việc, laptop phải hiểu các lệnh được viết trong chương trình. Vậy laptop có thể hiểu các lệnh tiếng Việt đó không? Không những thế, ta có thể sai bảo cho laptop bằng cách gõ các phím bất cứ hoặc bằng giọng nói được không?
Lủng củng
Tất cả chúng ta đã biết rằng để laptop có thể xử lí, thông tin mang vào máy phải được chuyển hóa thành dạng dãy bit (dãy các số chỉ gồm 0 hoặc 1). Như thế, khác với loài người thỏa thuận thông tin bằng từ ngữ tự nhiên (tiếng Việt, tiếng Anh,...), laptop "nói" & "hiểu" bằng một từ ngữ riêng, được gọi là từ ngữ máy. 
Khi chuyện trò với người bạn chỉ biết tiếng Anh, ta chỉ có thể nói tiếng Anh hoặc cần một người phiên dịch để dịch tiếng Việt sang tiếng Anh & trái lại. Tương đương, để laptop có thể hiểu được, loài người cũng cần phải dùng từ ngữ máy khi hướng dẫn cho laptop. Không những thế, laptop cũng chỉ có thể hiểu được một số câu lệnh khẳng định mà thôi. 
Có ý gì?
Hình 3 
Việc viết chương trình bằng từ ngữ máy rất khổ cực & mất khá nhiều thời gian, công sức. Người ta mong chờ có thể sử dụng được các từ có nghĩa, dễ hiểu & dễ nhớ để viết các câu lệnh thay cho các dãy bit khô khan. Các từ ngữ lập trình đã sinh ra để phục vụ mục đích đó. 
Từ ngữ lập trình là từ ngữ dùng để viết các chương trình laptop.
Như thế, để tạo chương trình laptop, tất cả chúng ta phải viết chương trình theo một từ ngữ lập trình nào đó. Có thể nói, từ ngữ lập trình là dụng cụ giúp để tạo thành các chương trình laptop. 
Bên cạnh đó, laptop vẫn chưa thể hiểu được các chương trình được viết bằng từ ngữ lập trình. Chương trình còn cần được chuyển hóa sang từ ngữ máy bằng một chương trình dịch tương ứng: 
Hình 4
Tóm lại, việc tạo thành chương trình laptop thực chất gồm hai bước sau: 
(1) Viết chương trình bằng từ ngữ lập trình;
(2) Dịch chương trình thành từ ngữ máy để laptop hiểu được.
Hình 5 
Kết quả thu được sau bước (1) là danh mục các lệnh được lưu thành một tệp văn bản trong laptop; còn kết quả của bước (2) là một tệp có thể thực hiện bằng máy tính. Các tệp kết quả đó được gọi chung là chương trình. 
Người ta thường viết chương trình bằng một chương trình soạn thảo (cũng giống như chương trình soạn thảo văn bản). Chương trình soạn thảo & chương trình dịch thường được phối hợp vào một PM, được gọi là môi trường lập trình. Chẳng hạn, với từ ngữ lập trình Pascal có hai môi trường làm việc thông dụng là Turbo Pascal & miễn phí Pascal.
Có rất là nhiều từ ngữ lập trình khác nhau. Có thể kể tên một số từ ngữ lập trình thông dụng hiện tại như ₵, Java, Basic, Pascal,... Mỗi từ ngữ lập trình được tạo thành với định hướng sử dụng trong một số ngành nghề rõ ràng và cụ thể & có lịch sử tiến triển, thế mạnh cũng như nhược điểm riêng.
GHI NHớ
Nhân loại hướng dẫn cho laptop thực hiện công việc thông qua các lệnh. 
	Viết chương trình là chỉ dẫn laptop thực hiện các công việc hay giải một bài toán rõ ràng và cụ thể.
Từ ngữ dùng để viết các chương trình laptop được gọi là từ ngữ lập trình.
Thắc mắc & bài tập
Trong chẳng hạn về rô-bốt, nếu biến đổi thứ tự của lệnh 1 & lệnh 2 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ận địa điểm mới của rô-bốt sau thời điểm thực hiện xong lệnh "Hãy nhặt rác". Em hãy đặt ra hai lệnh để rô-bốt trở lại địa điểm ban đầu.
Hãy cho biết lí do cần phải viết chương trình để điều khiển laptop.
Vì sao người ta phải tạo thành các từ ngữ lập trình trong lúc có thể điều khiển laptop bằng từ ngữ máy?
Chương trình dịch làm gì?
Bài 2. Làm quen với CHƯƠNG TRìNH
& Từ ngữ lập trình
1. Chẳng hạn về chương trình
Chẳng hạn 1. Hình 6 dưới đây minh hoạ một chương trình đơn giản được viết bằng từ ngữ lập trình Pascal. Sau khoảng thời gian dịch, kết quả chạy chương trình là dòng chữ "Chao Cac Ban" được in ra trên màn hình.
Hình 6
Chương trình trên chỉ có năm dòng lệnh. Mỗi dòng lệnh gồm các cụm từ khác nhau được tạo từ các chữ cái. Trong thực tiễn có những chương trình có thể có đến hàng nghìn hoặc thậm chí hàng triệu dòng lệnh. 
Trong các phần kế tiếp tất cả chúng ta sẽ khám phá các câu lệnh được viết như vậy nào.
2. Từ ngữ lập trình gồm những gì?
Trước tiên, tất cả chúng ta thấy rằng các câu lệnh được viết từ những chữ cái khẳng định. Các chữ cái này nằm trong bảng chữ cái của từ ngữ lập trình.
Giống như từ ngữ tự nhiên, mọi từ ngữ lập trình đều có bảng chữ cái riêng. Các câu lệnh chỉ được viết từ các chữ cái của bảng chữ cái đó. 
Bảng chữ cái của các từ ngữ lập trình thường gồm các chữ cái tiếng Anh & một số kí hiệu khác như dấu phép toán (+, -, *, /,...), dấu đóng mở ngoặc, dấu nháy,... Nói chung, các kí tự có trên chủ yếu các phím của keyboard laptop đều có mặt trong bảng chữ cái của mọi từ ngữ lập trình.
Mỗi câu lệnh trong chương trình trên gồm các từ & các kí hiệu được viết theo một nguyên tắc khẳng định. Các nguyên tắc này quy định cách viết các từ & thứ tự của chúng. Ví dụ, trong chẳng hạn trên các từ được cách nhau bởi một hoặc nhiều dấu cách, một số câu lệnh được chấm dứt bằng dấu chấm phẩy (;), dòng lệnh thứ tư có cụm từ nằm trong cặp dấu ngoặc đơn,... Nếu câu lệnh bị sai nguyên tắc, chương trình dịch sẽ nhận thấy được & nhắc nhở lỗi.
Mặt khác, mỗi câu lệnh đều có một ý nghĩa khẳng định. ý nghĩa của câu lệnh xác nhận các thao tác mà laptop cần thực hiện & kết quả đạt được. Câu lệnh trước tiên trong chẳng hạn trên là câu lệnh đặt tên (khai báo) cho chương trình, câu lệnh thứ tư chỉ thị cho laptop in ra màn hình dòng chữ "Chao Cac Ban",... 
Tóm lại, về căn bản từ ngữ lập trình gồm bảng chữ cái & các nguyên tắc để viết các câu lệnh có ý nghĩa xác nhận, cách sắp xếp các câu lệnh,... sao cho có thể tạo ra một chương trình hoàn chỉnh & thực hiện được bằng máy tính.
3. Từ khoá & tên
Trong chương trình trên, ta thấy có các từ như program, uses, begin, end,... Này là những từ khoá. Mỗi từ ngữ lập trình đều có một số từ khoá khẳng định. Từ khoá của một từ ngữ lập trình là những từ dành riêng, không được dùng các từ khoá này cho bất cứ mục đích nào khác ngoài mục đích sử dụng do từ ngữ lập trình quy định. Trong chẳng hạn trên, program là từ khoá dùng để khai báo tên chương trình, uses là từ khoá khai báo các thư viện, các từ khoá begin & end dùng để nhắc nhở cho từ ngữ lập trình biết khởi đầu & chấm dứt phần thân chương trình.
Ngoài các từ khoá, chương trình trong chẳng hạn 1 còn tồn tại các từ như CT_Dau_tien, crt,... Này là các tên được dùng trong chương trình. Khi viết chương trình để giải các bài toán, ta thường thực hiện tính toán với những đại lượng (chẳng hạn như so sánh chiều cao, tính điểm bình quân,...) hoặc xử lí các đối tượng khác nhau. Các đại lượng & đối tượng này đều phải được đặt tên. Chẳng hạn tên CT_Dau_tien dùng để đặt tên cho chương trình. 
Tên do người lập trình đặt theo các nguyên tắc của từ ngữ lập trình cũng như của chương trình dịch & thoả mãn:
Hai đại lượng khác nhau trong một chương trình cần có tên khác nhau. 
Tên không được trùng với các từ khoá.
Tên trong chương trình được dùng để phân biệt & nhận thấy. Tuy có thể đặt tên tuỳ ý, nhưng để dễ sử dụng nên đặt tên sao cho ngắn gọn, dễ nhớ & dễ hiểu.
Chẳng hạn 2. Tên hợp lệ trong từ ngữ lập tr ...  từ keyboard):
uses crt;
var SoPi,saiso,Epsilon:real;
 ɳ,ι, dau: integer;
begin
clrscr; 
write('Hay cho sai so de tinh gan dung so Pi =');
 readln(saiso);
 SoPi:=0; Epsilon:=3; ι:=0; dau:=-1;
 while Epsilonvàgt;=saiso do
 begin dau:=dau*(-1); SoPi:=SoPi+dau*1/(2*ι+1);
 Epsilon:=Abs(4*SoPi-Pi);ι:=ι+1 end; {Pi la ham chuan}
writeln('So Pi gan bang ',SoPi*4);
readln
end.
Ghi chú. Chương trình trên đã sử dụng hàm chuẩn Abs của Pascal. Hàm Abs cho kết quả là giá trị tuyệt đối của một số, tức Abs(Ҳ) cho giá trị Ҳ, nếu Ҳ ³ 0, trái lại Abs cho kết quả -x. 
Bài 9. Làm việc với dãy số
1. Dãy số & biến mảng
Chẳng hạn 1. Giả sử tất cả chúng ta cần viết chương trình nhập điểm kiểm soát của các học sinh trong một lớp & sau đó in ra màn hình điểm số cao nhất. Vì mỗi biến chỉ có thể lưu một giá trị duy nhất, để có thể nhập điểm & so sánh chúng, ta cần sử dụng nhiều biến, mỗi biến cho một học sinh. Chẳng hạn như trong Pascal ta cần nhiều câu lệnh khai báo & import dữ liệu dạng sau đây, mỗi câu lệnh tương ứng với điểm của một học sinh:
Var Diem_1, Diem_2, Diem_3, : real;
Read(Diem_1); Read(Diem_2), Read(Diem_3);  
Nếu số học sinh trong lớp càng nhiều thì đoạn khai báo & đọc dữ liệu trong chương trình càng dài. Việc so sánh các điểm đã nhập còn khổ cực hơn. Ta cần nhớ hết tên các biến đã khai báo & rất khó tránh khỏi lầm lẫn, sai sót.
Giả sử tất cả chúng ta có thể lưu nhiều dữ liệu có liên quan với nhau (như Diem_1, Diem_2, Diem_3,... ở trên) bằng một biến duy nhất & đánh "số thứ tự" cho các giá trị đó, ta có thể sử dụng quy luật tăng hay giảm của "số thứ tự" & một vài câu lệnh lặp để xử lí dữ liệu một cách đơn giản hơn, ví dụ: 
Với ι = 1 đến 50: hãy nhập Diem_i; 
Với ι = 1 đến 50: hãy so sánh Max với Diem_i;
Để giúp khắc phục các vấn đề trên, chủ yếu các từ ngữ lập trình đều có một kiểu dữ liệu được gọi là kiểu mảng. 
Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử có thứ tự, mọi phần tử đều có cùng một kiểu dữ liệu, gọi là kiểu của phần tử. Việc sắp thứ tự được thực hiện bằng cách gán cho mỗi phần tử một chỉ số:
Hình 40
Trong bài này, tất cả chúng ta chỉ xét các mảng có các phần tử kiểu số nguyên hoặc số thực. 
Khi khai báo một biến có kiểu dữ liệu là kiểu mảng, biến đó được gọi là biến mảng. Có thể bảo rằng, khi sử dụng biến mảng, về thực chất tất cả chúng ta sắp thứ tự theo chỉ số các biến có cùng kiểu dưới một tên duy nhất. 
Giá trị của biến mảng là một mảng, tức một dãy số (số nguyên, hoặc số thực) có thứ tự, mỗi số là giá trị của biến thành phần tương ứng. 
2. Chẳng hạn về biến mảng
Để làm việc với các dãy số nguyên hay số thực, tất cả chúng ta phải khai báo biến mảng có kiểu tương ứng trong phần khai báo của chương trình. 
Cách khai báo biến mảng trong các từ ngữ lập trình có thể khác nhau, nhưng luôn cần chỉ rõ: tên biến mảng, số lượng phần tử, kiểu dữ liệu chung của các phần tử.
Chẳng hạn, cách khai báo đơn giản một biến mảng trong từ ngữ Pascal như sau:
var Chieucao: array[1..50] of real;
var Tuoi: array[21..80] of integer;
Với câu lệnh đầu tiên, ta đã khai báo một biến có tên Chieucao gồm 50 phần tử, mỗi phần tử là biến có kiểu số thực. Với câu lệnh khai báo thứ hai, ta có biến Tuoi gồm 60 phần tử (từ 21 đến 80) có kiểu số nguyên.
Từ hai chẳng hạn trên, có thể thấy cách khai báo mảng trong Pascal như sau:
Tên mảng : array[.. ] of 
trong đó chỉ số đầu & chỉ số cuối là hai số nguyên hoặc biểu thức nguyên thoả mãn chỉ số đầu ≤ chỉ số cuối & kiểu dữ liệu có thể là integer hoặc real.
Chẳng hạn 2. Tiếp tục với chẳng hạn 1, thay vì khai báo các biến Diem_1, Diem_2, Diem_3,... để lưu điểm số của các học sinh, ta khai báo biến mảng Diem như sau: 
var Diem: array[1..50] of real;
Cách khai báo & sử dụng biến mảng như trên bổ ích gì? 
Trước tiên, có thể thay rất là nhiều câu lệnh nhập & in dữ liệu ra màn hình bằng một câu lệnh lặp. Ví dụ, ta có thể viết
For ι:=1 to 50 do readln(Diem[i]);
để nhập điểm của các học sinh. Thay vì phải viết 50 câu lệnh khai báo & 50 câu lệnh nhập, ta chỉ cần viết hai câu lệnh là đủ & kết quả đạt được là như nhau.
Ta còn tồn tại thể sử dụng biến mảng một cách rất hiệu quả trong xử lí dữ liệu. Để so sánh điểm của mỗi học sinh với một giá trị nào đó, ta cũng chỉ cần một câu lệnh lặp, ví dụ
For ι:=1 to 50 do 
if Diem[i]>8.0 then writeln('Gioi');
Điều này giúp tiết kiệm rất là nhiều thời gian & công sức viết chương trình. 
Hơn nữa, mỗi học sinh có thể có nhiều điểm theo từng môn học: điểm Toán, điểm Văn, điểm Lí,... Để xử lí song song các loại điểm này, ta có thể khai báo nhiều biến mảng:
var DiemToan: array[1..50] of real;
var DiemVan: array[1..50] of real;
var DiemLi: array[1..50] of real;
hay
var DiemToan, DiemVan, DiemLi: array[1..50] of real;
Khi đó, ta cũng có thể xử lí điểm thi của một học sinh rõ ràng và cụ thể (chẳng hạn như tính điểm bình quân của Lan, tính điểm cao nhất của Châu,...) hoặc tính điểm bình quân của cả lớp,...
Hình 41
Sau khoảng thời gian một mảng đã được khai báo, tất cả chúng ta có thể làm việc với các phần tử của nó như làm việc với một biến thông thường như gán giá trị, đọc giá trị & thực hiện các tính toán với các giá trị đó.
Chẳng hạn 2 cũng cho thấy rằng, tất cả chúng ta gán giá trị, đọc giá trị & tính toán với các giá trị của một phần tử trong biến mảng thông qua chỉ số tương ứng của phần tử đó. Ví dụ, trong câu lệnh trên Diem[i] là phần tử thứ ι của biến mảng Diem.
Ta có thể gán giá trị cho các phần tử của mảng bằng câu lệnh gán:
?[1]:=5;
?[2]:=8;
hoặc import dữ liệu từ keyboard bằng câu lệnh lặp: 
for ι := 1 to 5 do readln(α[i]);
3. Tìm giá trị lớn nhất & nhỏ nhất của dãy số
Chẳng hạn 3. Viết chương trình nhập ɳ số nguyên từ keyboard & in ra màn hình số nhỏ nhất & số lớn nhất. ɳ cũng được nhập từ keyboard (xem lại thuật toán trong chẳng hạn 6, bài 5).
Trước tiên ta khai báo biến ɳ để nhập số các số nguyên sẽ được nhập vào. Sau đó khai báo ɳ biến lưu các số được nhập vào như là các phần tử của một biến mảng ?. Không những thế, cần khai báo một biến ι làm biến đếm cho các lệnh lặp & biến Max để lưu số lớn nhất, Min để lưu số nhỏ nhất. Phần khai báo của chương trình có thể như sau: 
program MaxMin;
uses crt;
Var
 ι, ɳ, Max, Min: integer;
 ?: array[1..100] of integer;
Phần thân chương trình sẽ tương đương dưới đây:
Begin
 clrscr;
 write('Hay nhap do dai cua day so, ɳ = '); readln(ɳ);
 writeln('Nhap cac phan tu cua day so:');
 For ι:=1 to ɳ do
 Begin
 write('α[',i,']='); readln(α[i]);
 End;
 Max:=α[1]; Min:=α[1];
 for ι:=2 to ɳ do 
 begin if Maxvàlt;α[i] then Max:=α[i];
 if Minvàgt;α[i] then Min:=α[i] 
 end;
 write('So lon nhat la Max = ',Max);
 write('; So nho nhat la Min = ',Min);
 readln
End.
Trong chương trình này, tất cả chúng ta hãy cảnh báo điểm sau: Số tối đa các phần tử của mảng (nói một cách khác là kích cỡ của mảng) phải được khai báo bằng một số rõ ràng và cụ thể (bước này là 100, mặc dầu số các số nhập vào sau này có thể bé hơn nhiều đối với 100).
Ghi nhớ
Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử có thứ tự & mọi phần tử đều có cùng một kiểu dữ liệu.
Việc gán giá trị, nhập giá trị & tính toán với các giá trị của một phần tử trong biến mảng được thực hiện thông qua chỉ số tương ứng của phần tử đó.
Sử dụng các biến mảng & câu lệnh lặp giúp cho việc viết chương trình được ngắn gọn & đơn giản hơn. 
Thắc mắc & bài tập
Hãy nêu các lợi nhuận 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 Ҳ: Array[10,13] Of Integer; 
var Ҳ: Array[5..10.5] Of Real; 
var Ҳ: Array[3.4..4.8] Of Integer; 
var Ҳ: Array[10..1] Of Integer; 
var Ҳ: Array[4..10] Of Real; 
"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?
Câu lệnh khai báo biến mảng sau đây laptop có thực hiện được không?
 var ɳ: integer;
 ?: array[1..N] of real;
Viết chương trình Pascal sử dụng biến mảng để nhập từ keyboard các phần tử của một dãy số. Độ dài của dãy cũng được nhập từ keyboard.
Bài thực hành 7
Xử lí dãy số trong chương trình
1. Mục đích, yêu cầu
Làm quen với việc khai báo & sử dụng các biến mảng.
Ôn luyện cách dùng câu lệnh lặp fordo.
Củng cố các kĩ thuật đọc, hiểu & cân chỉnh chương trình.
2. Bài viết
Bài 1. Viết chương trình nhập điểm của chúng ta trong lớp. Sau đó in ra màn hình số bạn đạt thành tích học tập loại giỏi, khá, bình quân & kém (theo tiêu chí từ 8.0 trở lên đạt loại giỏi, từ 6.5 đến 7.9 đạt loại khá, từ 5.0 đến 6.4 đạt bình quân & dưới 5.0 xếp loại kém).
Xem lại các chẳng hạn 2 & chẳng hạn 3, bài 9 về cách dùng & khai báo biến mảng trong Pascal.
Liệt kê các biến dự kiến sẽ sử dụng trong chương trình. Khám phá phần khai báo dưới đây & khám phá công dụng của từng biến:
program Phanloai;
uses crt;
Var
 ι, ɳ, Gioi, Kha, Trungbinh, Kem: integer;
 ?: array[1..100] of real;
Gõ phần khai báo trên vào laptop & lưu tệp với tên Phanloai. Khám phá các câu lệnh trong phần thân chương trình dưới đây:
Begin
clrscr;
write('Nhap so cac ban trong lop, ɳ = '); readln(ɳ);
writeln('Nhap diem:');
For ι:=1 to ɳ do Begin write(ι,'. '); readln(α[i]); End;
Gioi:=0; Kha:=0; Trungbinh:=0; Kem:=0;
for ι:=1 to ɳ do
 begin 
if α[i]>=8.0 then Gioi:=Gioi+1;
if α[i]<5 then Kem:=Kem+1;
if (α[i]=6.5) then Kha:=Kha+1;
if (α[i]>=5) and (α[i]<6.5) then Trungbinh:=trungbinh+1
 end;
writeln('Ket qua hoc tap:');
writeln(Gioi,' ban hoc gioi');
writeln(Kha,' ban hoc kha');
writeln(Trungbinh,' ban hoc trung binh');
writeln(Kem,' ban hoc kem');
readln
End.
Gõ tiếp phần chương trình này vào laptop sau phần khai báo. Dịch, chạy chương trình.
Bài 2. Bổ sung & cân chỉnh chương trình trong bài 1 để nhập hai loại điểm Toán & Ngữ văn của chúng ta, sau đó in ra màn hình điểm bình quân của mỗi bạn trong lớp (theo phương thức điểm bình quân = (điểm Toán + điểm Ngữ văn)/2), điểm bình quân của cả lớp theo từng môn Toán & Ngữ văn. 
Khám phá ý nghĩa của các câu lệnh sau đây:
Phần khai báo:
Var
 ι, ɳ: integer;
 TbToan, TbVan: real;
 DiemToan, DiemVan: array[1..100] of real; 
Phần thân chương trình:
begin
writeln('Diem trung binh:');
 for ι:=1 to ɳ do
 writeln(ι,'. ',(DiemToan[i]+DiemVan[i])/2:3:1);
TbToan:=0; TbVan:=0;
for ι:=1 to ɳ do
begin TbToan:=TbToan+DiemToan[i];
TbVan:=TbVan+DiemVan[i] end;
TbToan:=TbToan/ɳ; TbVan:=TbVan/ɳ;
writeln('Diem trung binh mon Toan: ',TbToan:3:2);
writeln('Diem trung binh mon Van: ',TbVan:3:2);
end.
Bổ sung các câu lệnh trên vào địa điểm phù hợp trong chương trình. Thêm các lệnh thiết yếu, dịch & chạy chương trình với các số liệu thử. 
TổNG KếT
Cú pháp khai báo biến mảng kiểu số nguyên & số thực trong Pascal có dạng: 
	Var :array[..]of integer;
Var : array[..] of real; 
	trong đó chỉ số đầu không to hơn chỉ số cuối.
Tham chiếu tới phần tử của mảng được xác nhận bằng cách:
(*8*)
Xem Thêm  Khóa duy nhất trong SQL - thêm máy chủ sql khóa duy nhất

Viết một bình luận