Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 24 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
24
Dung lượng
267,83 KB
Nội dung
Thành Viên Tuổi Học Trò 123doc.org Bài tập thực hành Tin Học tự chọn lớp 8 I. Các kiểu dữ liệu và phép toán 1. Kiểu số nguyên 1.1 Các kiểu số nguyên Tên kiểu Phạm vi giá trị Số byte Giải thích ShortInt -128 127 1 1 bit chứa dấu, 7 bit chứa giá trị Byte 0 255 1 8 bit chứa giá trị Integer -32768 32767 2 1 bit chứa dấu, 15 bit chứa giá trị Word 0 65535 2 16 bit chứa giá trị LongInt -2147483648 2147483647 4 1 bit chứa dấu, 31 chứa giá trị 1.2 Các phép toán Phép toán Trong toán học Trong Pascal Các phép toán số + (cộng), - (trừ), x (nhân), div (chia +, -, *, div, mod 1 Con trỏ Các kiểu dữ liệu Đơn giản Có cấu trúc Chuẩn Do người dùng định nghĩa Mô tả sẵn Do người dùng định nghĩa Logic (boolean) Ký tự (char) Nguyên (integer) Thực (real) Liệt kê (enumerate) Đoạn con (sub range) Xâu ký tự (string) Mảng (array) Tập hợp (set of) Bản ghi (record) Tệp (file) Ngăn xếp (stack) Hàng đợi (queue) Danh sách (list) Cây (tree) …. … Thành Viên Tuổi Học Trò 123doc.org học với số nguyên nguyên), mod (lấy phần dư) 2. Kiểu số thực 2.1 Kiểu Real và các kiểu mở rộng Kiểu Real là kiểu số thực thông dụng nhất dùng để biểu diễn các số thực x có trị tuyệt đối |x| nằm trong khoảng từ 2.9*10 -39 đến 1.7*10 +38 . Nếu |x| > 1.7*10 +38 thì không biểu diễn x trong máy được, còn nếu | x| < 2.9*10 -39 thì x được coi là bằng 0. Có hai cách biểu diễn các số thực: - Cách 1 (Biểu diễn dưới dạng dấu phẩy tỉnh): Viết bình thường, trong đó dấu phẩy thập phân được thay bằng dấu chấm thập phân, ví dụ như: 18.6 có nghĩa là 18,6 - Cách 2 (Biểu diễn dưới dạng dấu phẩy động): 1.257E+01 (có giá trị = 1.257*10 1 = 12.57 ) 1257.0E-02 (có giá trị = 1257*10 -2 = 12.57 ) Trong dạng này số gồm có hai phần, phần đứng trước E gọi là phần định trị, được viết theo cách 1, phần đứng sau E gọi là phần bậc, gồm dấu cộng hoặc trừ, tiếp đến là một số nguyên. Số viết theo cách 1 còn gọi là số có dấu chấm thập phân cố định, số viết theo cách 2 còn gọi là số có dấu chấm thập phân di động hay số dạng khoa học (Scientific). Tên kiểu Phạm vi giá trị Số byte Real 2.9*10 -39 1.7*10 38 6 Single 1.5*10 -45 3.4*10 38 4 Double 5.0*10 -324 1.7*10 308 8 Extended 3.4*10 -4932 1.1*10 4932 10 Comp -9.2*10 18 9.2*10 18 8 Chú ý: Turbo Pascal thường chỉ làm việc với một kiểu Real. Muốn dùng 4 kiểu thực còn lại, phải chuyển sang mode 8087 bằng cách viết chỉ thị {$N+} ở ngay đầu chương trình. 2.2 Các phép toán Phép toán Trong toán học Trong Pascal Các phép toán số học với số thực + (cộng), - (trừ), x (nhân), : (chia) +, -, *, / 2 Thành Viên Tuổi Học Trò 123doc.org II. Câu lệnh gán Lệnh gán là một trong những lệnh hay dùng nhất trong ngôn ngữ lập trình PASCAL. Cú pháp: <Tên biến>:=<Biểu thức>; Thực hiện: Tính giá trị biểu thức bên phải dấu gán ‘:=’ và ghi giá trị đó vào địa chỉ của biến có tên ở bên trái dấu gán ‘:=’, tức là gán giá trị cho biến. Chú ý: Kiểu của biểu thức phải phù hợp với kiểu của tên biến. Ví dụ: Sau khi thực hiện các lệnh gán sau đây thì giá trị của các biến x, y, z là bao nhiêu? 1) x:=1; 2) y:=2; 3) z:=3; 4) x:=x+1; {Tăng giá trị của biến x lên 1 đơn vị ≈ thủ tục Inc(x)} 5) y:=y-1; {Giảm giá trị của biến y xuống 1 đơn vị ≈ thủ tục Dec(y)} 6) x:=x+y+z; 7) y:=y+z-x; 8) z:=x+y-z; Giải thích ý nghĩa khi thực hiện các câu lệnh: Câu lệnh 1, 2, 3: Thực hiện gán giá trị 1, 2, 3 cho các biến tương ứng là x, y, z (giá trị của x là 1, giá trị của y là 2, giá trị của z là 3). Câu lệnh 4: Thực hiện tính giá trị biểu thức bên phải dấu gán được giá trị 2, lấy giá trị đó gán cho biến x (giá trị của x là 2) Câu lệnh 5: Thực hiện tính giá trị biểu thức bên phải dấu gán được giá trị 1, lấy giá trị đó gán cho biến y (giá trị của y là 1) Câu lệnh 6: Thực hiện tính giá trị biểu thức bên phải dấu gán được giá trị 6, lấy giá trị đó gán cho biến x (giá trị của x là 6) Câu lệnh 7: Thực hiện tính giá trị biểu thức bên phải dấu gán được giá trị -2, lấy giá trị đó gán cho biến y (giá trị của y là -2) Câu lệnh 8: Thực hiện tính giá trị biểu thức bên phải dấu gán được giá trị 1, lấy giá trị đó gán cho biến z (giá trị của z là 1) Trả lời: Sau khi thực hiện các câu lệnh gán trên thì giá trị của x là 6,giá trị của y là -2, giá trị của z là 1. Chú ý: - Khi gán giá trị phải đảm bảo tính tương thích giữa kiểu dữ liệu và giá trị gán, ví dụ khai báo biến x kiểu Integer thì không thể gán nó cho giá trị 6.5. - Trong câu lệnh gán có một ngoại lệ đó là biến kiểu thực có thể nhận giá trị nguyên. III. Hạn chế nhận giá trị cho một biến: 3 Thành Viên Tuổi Học Trò 123doc.org Ví dụ 1: { } Var Ch:Char; Begin Repeat { } Write(‘Tiep tuc hay khong? Co-C, Khong-K’); Ch:=ReadKey Until Ch In [’K’,’k’]; End. Ví dụ 2: { } Var T:Word; Begin { } Write(‘Nhap so hieu thang T=’); Repeat Readln(T); Until T In [1 12]; End. Ví dụ 3: Chương trình nhập một số tự nhiên N nằm trong khoảng từ 1 đến 20 Program Vidu3; Uses Crt; Var x,y,N:Integer; Begin Clrscr; Write(‘Nhap so N:’); x:=Wherex; y:=Wherey; Repeat Gotoxy(x,y); Clreol; Readln(N); Until (N>=1) and (N<=20); End; IV. Chương trình con 1. Chương trình con 4 Thành Viên Tuổi Học Trò 123doc.org - Việc giải quyết bài toán phức tạp thường bao gồm nhiều giai đoạn. Mỗi giai đoạn giải quyết một bài toán con đơn giản hơn. Do vậy cần phân chương trình thành các khối, mỗi khối bao gồm các lệnh giải quyết một bài toán con nào đó. Các khối lệnh sẽ được xây dựng thành các chương trình con. Sau đó chương trình sẽ được xây dựng nên từ các chương trình con này. - Làm chương trình dễ đọc dễ hiểu, dễ kiểm tra để phát hiện ra lỗi và sửa sai. - Có thể nhiều người cùng viết một chương trình. Mỗi người viết một chương trình con rồi sau đó lắp ghép lại. - Việc sử dụng chương trình con tránh phải viết lặp đi lặp lại cùng một nhóm lệnh nào đó. - Có hai loại chương trình con: Thủ tục (Procedure) và Hàm (Function) 2. Cách viết và sử dụng thủ tục 2.1 Cấu trúc Procedure Tên_thủ_tục; { mô tả nhãn, hằng} { kiểu, biến} Begin { dãy các lệnh} End; 2.2 Vị trí của thủ tục trong chương trình Trong chương trình có sử dụng thủ tục thì các thủ tục phải được mô tả trước trong phần khai báo của chương trình, sau phần khai báo biến. Program Tên_chương_trình; Const { } Type { } Var { } Procedure Tên_thủ_tục; {Bắt đầu khai báo thủ tục} { } Begin { } End; {Kết thúc khai báo thủ tục} { Khai báo các thủ tục và hàm khác} BEGIN { Thân chương trình chính} Tên_thủ_tục; {Lời gọi thực hiện thủ tục} { } END. 2.3 Ví dụ 4: Lập chương trình vẽ các hình vuông có dạng: *** 5 Thành Viên Tuổi Học Trò 123doc.org * * *** Program Vidu4; Uses Crt; Procedure Ve_hv; {Bắt đầu thủ tục} Begin Writeln(‘***’); Writeln(‘* *’); Writeln(‘***’); End; BEGIN Clrscr; Ve_hv; Writeln; Writeln; Ve_hv; Writeln; Writeln; Ve_hv; Readln; END; 2.4 Tham số 2.4.1 Tham số giá trị Trong thủ tục Ve_hv mô tả ở trên chỉ vẽ được hình vuông có cạnh là 3. Giả sử trong chương trình cần vẽ các hình vuông có cạnh khác nhau. Để thủ tục Ve_hv có thể vẽ được các hình vuông có cạnh khác nhau, ta đưa vào thủ tục một tham số Canh.Tham số Canh được đưa vào đầu thủ tục. Ví dụ 5: Program Vidu5; Uses Crt; Procedure Ve_hv(Canh:Integer); {Bắt đầu thủ tục} Var i,j: Integer; Begin For i:=1 to Canh Do Write(‘*’); {Vẽ cạnh trên của hình vuông} Writeln; For i:=1 to Canh-2 Do {Vẽ 2 cạnh bên của hình vuông} Begin Write(‘*’); For j:=1 to Canh-2 Do Writeln(‘ ’); Writeln(‘*’); 6 Thành Viên Tuổi Học Trò 123doc.org End; For i:=1 to Canh Do Write(‘*’); {Vẽ cạnh dưới của hình vuông} Writeln; End; BEGIN Clrscr; Ve_hv(3); Writeln; Writeln; Ve_hv(5); Writeln; Writeln; Ve_hv(7); Readln; END; - Một thủ tục có thể không có tham số hoặc có thể có một hoặc nhiều tham số. Các tham số được đưa vào trong cặp dấu ngoặc tròn sau tên của thủ tục khi khai báo được gọi là tham số hình thức. Tham số hình thức Canh trong thủ tục Ve_hv(Canh:Integer) thuộc loại tham số giá trị (còn gọi là tham trị). Sở dĩ Canh là tham số giá trị vì khi gọi thủ tục, tham số Canh được thay bởi các giá trị (3, 5, 7 trong ví dụ trên). - Khi gọi thủ tục, một tham số hình thức thuộc loại tham số giá trị có thể được thay thế bởi biểu thức có cùng kiểu dữ liệu với tham số đó. Trong ví dụ trên, Canh là tham số thuộc kiểu Integer và X là một biến thuộc kiểu Integer, khi đó các lời gọi thủ tục sau đây đều hợp lệ: Ve_hv(3); Ve_hv(X); Ve_hv(3*X+2); Trong các lời gọi thủ tục trên, hằng nguyên 3, biến nguyên X, biểu thức nguyên 3*X+2 được gọi là tham số thực sự. Trong lời gọi thứ nhất tham số Canh được thay thế bởi giá trị hằng 3; trong lời gọi thứ hai tham số Canh được thay thế bởi giá trị của biến X; trong lời gọi thứ ba tham số Canh được thay thế bởi giá trị của biểu thức 3*X+2. - Khi gọi thủ tục, các tham số hình thức được thay thế bởi các tham số thực sự. 2.4.2 Tham số biến Trong thủ tục, ngoài việc sử dụng các tham số giá trị ta còn có thể sử dụng các tham số biến. Khi gọi thủ tục, các tham số biến chỉ được phép thay thế bằng các biến (tham số thực sự). Các biến này chịu mọi sự biến đổi trong thủ tục và giữ lại mọi biến đổi chúng trong quá trình thực hiện thủ tục. Ví dụ 6: Chương trình tráo đổi giá trị của 2 biến: Program Vidu6; Var a,b:Integer; Procedure Trao_doi(Var x,y:Integer); 7 Thành Viên Tuổi Học Trò 123doc.org Var tg:Integer; Begin tg:=x; x:=y; y:=tg; End; BEGIN Clrscr; a:=3; b:=5; Writeln(a:5,b:5); Trao_doi(a,b); Writeln(a:5,b:5); Readln; END. Trong thủ tục Trao_doi ở chương trình trên, biễu diễn Var x,y:Integer chỉ rằng x và y là hai tham số biến kiểu nguyên. Xét lời gọi thủ tục Trao_doi(a,b). Trong lời gọi này, các tham số biến x và y được thay thế bởi các biến nguyên trương ứng là a và b. Các biến này chịu sự biến đổi trong thủ tục, cụ thể là: tg:=a; a:=b; b:=tg; do vậy, sau khi thực hiện thủ tục Trao_doi(a,b), biến a sẽ nhận giá trị của biến b và biến b nhận giá trị của biến a. Để nhận biết sự khác nhau giữa tham số biến và tham số giá trị, xét chương trình sau: Ví dụ 7: Program Vidu7; Var x,y:Integer; Procedure Thay_doi(Var z:Integer; w:Integer); Begin z:=1; w:=1; End; BEGIN x:=0; y:=0; Thay_doi(x,y); Writeln(x:5,y:5); END. Khi chương trình thực hiện, sẽ nhận được kết quả 1 0 Chương trình có hai biến là x và y. Thủ tục Thay_doi có một tham số biến z (có từ khóa Var) và một tham số giá trị w. Bước vào thân chương trình, đầu tiên x và y đều có giá trị 0. Khi gọi thủ tục Thay_doi(x,y), tham số biến z được thay bởi biến x. Điều này có nghĩa 8 Thành Viên Tuổi Học Trò 123doc.org là mọi thao tác đối với z trong thủ tục bây giờ sẽ xẩy ra đối với x, cụ thể là lệnh gán z:=1 sẽ gán 1 cho biến x. Còn khi thay tham số giá trị w bởi biến y trong lời gọi Thay_doi(x,y) thì giá trị của biến y được sao chép sang cho biến w. Tức là w có giá trị 0 (vì y có giá trị 0). Khi bước vào thân thủ tục không có một liên quan nào nữa giữa biến y và biến w, vì vậy lệnh gán w:=1 không ảnh hưởng gì đến giá trị của y (giá trị của y vẫn là 0). Như vậy giá trị của x được in ra là 1, còn của y là 0. Trong mọi thủ tục có thể đưa vào các tham số hình thức được đặt sau tên thủ tục và trong cặp dấu ngoặc tròn. Có hai loại tham số hình thức: Tham số giá trị và tham số biến. Các tham số có từ khóa Var đứng trước là tham số biến, còn không có từ khóa Var đứng trước là tham số giá trị. Các tham số cùng kiểu và cùng loại ngăn cách nhau bởi dấu phẩy, còn các nhóm tham số khác kiểu hoặc khác loại được ngăn cách nhau bởi dấu chấm phẩy. Mỗi tham số phải được khai báo một kiểu dữ liệu. Khi cần tham số ghi giữ lại những biến đổi trong thủ tục thì tham số phải được khai báo là tham số biến. Ví dụ: Xét đầu thủ tục Procedure Beta(Var a,b:Real;c,d:Real;i,j:Integer); Trong thủ tục trên a và b là các tham số biến có kiểu thực, c và d là các tham số giá trị có kiểu thực, i và j là các tham số giá trị có kiểu nguyên. Trong lời gọi thủ tục, các tham số giá trị được thay thế bởi giá trị các biểu thức cùng kiểu (trường hợp riêng của biểu thức là hằng và biến), các tham số biến chỉ được phép thay thế các biến cùng kiểu; sự thay thế phải theo đúng trật tự các tham số đã khai báo trong đầu thủ tục. Ví dụ: Xét đầu thủ tục Procedure Gama(Var x:Integer; y:Integer); Với a là biến nguyên, khi đó các lời gọi sau là hợp lệ Gama(a,2); Gama(a,3*a+5); Còn lời gọi Gama(a+3,1); là sai vì tham số biến x không thể được thay thế bởi các biểu thức a+3. Chú ý: Khi khai báo kiểu dữ liệu của các tham số, không được khai báo trực tiếp mà phải thông qua tên kiểu. Ví dụ: Không được viết: Procedure Delta(x:Array[1 10] of Integer); Muốn khai báo tham số x có kiểu mảng như ở trên ta phải xác định trước kiểu Mang Type Mang=Array[1 10] Of Integer; Rồi sau đó mới viết Procedure Delta(x:Mang); 3. Cách viết và sử dụng hàm - Việc thực hiện hàm luôn cho một giá trị kết quả thuộc kiểu xác định và giá trị đó được gán cho tên hàm. Kiểu của hàm phải được khai báo trong đầu của hàm. Ví dụ 8: Chương trình giản ước một phân số có sử dụng hàm tính ước chung lớn nhất Procedure Vidu8; Var 9 Thành Viên Tuổi Học Trò 123doc.org Tu,mau,a:Integer; Function Ucln(x,y:Integer):Integer; {Bắt đầu hàm Ucln} Var Du:Integer; Begin While y<>0 do Begin Du:=x mod y; x:=y; y:=Du; End; Ucln:=x; End; {Hết hàm Ucln} BEGIN Readln(tu,mau); A:=Ucln(tu,mau); If a>1 then Begin Tu:=Tu Div a; Mau:=Mau Div a; End; Writeln(Tu:5,Mau:5); END. Cách viết một hàm: Trong chương trình trên, hàm Ucln được mô tả bắt đầu bởi đầu của hàm: Function Ucln(x,y:Integer):Integer; Đầu của hàm luôn bắt đầu bởi từ khóa Function, sau đó đến tên của hàm. Sau tên của hàm có thể có tham số hình thức. Chẳng hạn, hàm Ucln có hai tham số hình thức x và y. Hàm phải luôn luôn thuộc một kiểu dữ liệu xác định và phải chỉ ra tên kiểu của hàm ngay trong đầu hàm. Cách viết đầu hàm: Function Tên _hàm(Danh_sách_tham_số:Tên_kiểu_tham_số):Tên_kiểu_của_hàm; Chú ý rằng kiểu kết quả của hàm (kiểu của hàm) chỉ có thể là các kiểu: Integer, Real, Char, Boolean, String. Ngoài đầu của hàm, hàm có cấu trúc hoàn toàn giống như thủ tục. Một điều quan trọng là trong thân của hàm phải có ít nhất một câu lệnh gán để gán giá trị cho tên hàm Tên_hàm:=Biểu thức; Vế phải của lệnh gán trên là một biểu thức xác định giá trị của hàm. Chẳng hạn trong hàm Ucln ở ví dụ trên có câu lệnh gán Ucln:=x; Cách sử dụng hàm: Sử dụng hàm khác với sử dụng thủ tục ở điểm sau: Lời gọi thủ tục đứng riêng tạo thành câu lệnh (câu lệnh gọi thủ tục). Còn lời gọi hàm không bao giờ đứng riêng một mình mà 10 [...]... niệm Bài toán được cấu thành bởi hai thành phần cơ bản: Input và Output Input: Các thông tin đã có Output: Các thông tin cần tìm từ Input Thuất toán để giải một bài toán là một dãy hữu hạn các thao tác được sắp xếp theo một trình tự xác định sao cho sau khi thực hiện dãy thao tác ấy, từ Input của bài toán ta nhận được Output cần tìm Ví dụ: Tìm giá trị lớn nhất của một dãy số nguyên - Xác định bài toán:... nhau; B8: Quay lại B5 Mô tả thuật toán qua ngôn ngữ lập trình Pascal: For i:=1 to N-1 For j:=i+1 to N do 20 Thành Viên Tuổi Học Trò 123doc.org If a[i] > a[j] then Begin tg:=a[i]; a[i]:=a[j]; a[j]:=tg; End; III Tìm kiếm dữ liệu 1 Khái niệm: Bài toán tìm kiếm dữ liệu là bài toán đặt ra vấn đề cần tìm một đối tượng cụ thể nào đó trong tập hợp các đối tượng cho trước 2 Thuật toán tìm kiếm tuần tự: 2.1 Bài. .. Assign(f,fo); Rewrite(f); Writeln(f,S); 17 Thành Viên Tuổi Học Trò 123doc.org Close(f); End; BEGIN Doctep; Xuly; Ghitep; END Ví dụ 17 Học sinh một trường THCS tổ chức cắm trại Sơ đồ các trại được lưu trong một tệp văn bản trai.inp theo hình tam giác bởi 1, 3, 5, dấu ‘*’ Các trại không dính nhau Tệp văn bản trai.inp có số dòng không han chế, mỗi dòng có không quá 1 28 ký tự Hãy đếm xem có bao nhiêu trại Dữ... trình - Cấu trúc chương trình con tương tự như cấu trúc chương trình: có đầu chương trình con (Procedure, Function), có phần khai báo và phần câu lệnh - Chương trình con có thể có tham số hình thức khi khai báo và tham số thực sự (khi gọi) Khai báo tham số biến dùng từ khóa Var Tham số thực sự của tham số giá trị có thể là hằng, giá trị của biến hoặc biểu thức Tham số thực sự của tham số biến chỉ có thể... biểu diễn không gian nhớ để thực hiện chương trình trước khi gọi thủ tục: Không gian nhớ cấp phát cho các biến toàn bộ tu và mau Hình b) biểu diễn không gian nhớ trong thời gian thực hiện chương trình: Không gian nhớ cấp phát cho các biến cục bộ x, y, du Hình c) biểu diễn không gian nhớ sau khi thủ tục đã được thực hiện Như vậy các biến cục bộ chỉ tồn tại trong thời gian thực hiện thủ tục Để thấy rõ... =0} Writeln(' f = ',f :8: 3); Readln; End VI Vào ra dữ liệu kiểu tệp văn bản Khai báo: Var Biến_kiểu_tệp:Text; Đọc tệp: Assign(Biến_kiểu_tệp,Tên_tệp); Reset(Biến_kiểu_tệp); Read(Biến_kiểu_tệp, ); Readln(Biến_kiểu_tệp, ); Ghi tệp: Assign(Biến_kiểu_tệp,Tên_tệp); Rewrite(Biến_kiểu_tệp); Write(Biến_kiểu_tệp, ); Writeln(Biến_kiểu_tệp, ); Đóng tệp: Close(Biến_kiểu_tệp); 16 Thành Viên Tuổi Học Trò 123doc.org Ví... bản SN.INP có cấu trúc: - Dòng đầu tiên ghi số nguyên dương N - Dòng tiếp theo ghi không quá N (1 ≤ N ≤ 1 28) số nguyên của dãy số A Các số ghi cách nhau ít nhất là một ký tự trống Dữ liệu ra là tệp văn bản SN.OUT ghi một số duy nhất là tổng các số của dãy số A Program Vidu16; Uses Crt; Const Nmax=1 28; fi=’SN.INP’; fo=’SN.OUT’; Var i,N:Integer; S:LongInt; A:Array[1 Nmax] of Integer; f:Text; Procedure Doctep;... x:Intger; Procedure Thay_doi; Begin x:=1; End; BEGIN x:=0; Thay_doi; Writeln(x); END 12 Thành Viên Tuổi Học Trò 123doc.org Chương trình này chỉ có một biến x – nó là biến toàn bộ Trong chương trình chính, đầu tiên x có giá trị bằng 0 (lệnh gán x:=0) Chương trình gọi thủ tục Thay_doi làm thay đổi giá trị của x thành 1 và giá trị này được in ra bởi lệnh cuối cùng trong chương trình Ví dụ 11: Program... Camtrai; Uses Crt; Const Nmax=130; fi='trai.inp'; fo='trai.out'; BL=' '; Var f:Text; dem:Longint; x,y:String; Procedure Xuly; Var i:Integer; Begin dem:=0; x:=BL; For i:=1 to Nmax-1 do x:=x+BL; 18 Thành Viên Tuổi Học Trò 123doc.org Assign(f,fi); Reset(f); While not Eof(f) do Begin Readln(f,y); y:=BL+y+BL; For i:=2 to length(y)-1 do If (y[i]='*') and (y[i-1]=BL) and (y[i+1]=BL) and (x[i]=BL) then Inc(dem);...Thành Viên Tuổi Học Trò 123doc.org chỉ có thể nằm trong một biểu thức nào đó Trong chương trình trên, câu lệnh có lời gọi hàm chính là câu lệnh gán (hàm xuất hiện trong biểu thức bên phải của câu lệnh): a:=Ucln(tu,mau) Vế phải câu lệnh gán này là lời gọi hàm Ucln(tu,mau); chương trình tính ước chung lớn nhất của tu và mau để gán cho biến a Lời gọi hàm có thể là thành phần của các biểu . Thành Viên Tuổi Học Trò 123doc.org Bài tập thực hành Tin Học tự chọn lớp 8 I. Các kiểu dữ liệu và phép toán 1. Kiểu số nguyên 1.1 Các. 3.4*10 -4932 1.1*10 4932 10 Comp -9.2*10 18 9.2*10 18 8 Chú ý: Turbo Pascal thường chỉ làm việc với một kiểu Real. Muốn dùng 4 kiểu thực còn lại, phải chuyển sang mode 80 87 bằng cách viết chỉ thị {$N+}. TOÁN I. Khái niệm Bài toán được cấu thành bởi hai thành phần cơ bản: Input và Output. Input: Các thông tin đã có. Output: Các thông tin cần tìm từ Input. Thuất toán để giải một bài toán là một