ÔN TẬP: 1. Nắm đước cấu trúc tổng quát của 1 chương trình Pascal 2. Nắm đước cách khai báo Kiểu, biến Record, Array 3. Nắm được cách tính kết quả của một số chương trình sau: Ví dụ: a. Tính tổng của dãy Function TONG(var d: day; k: integer): Longint; Var i: integer; S: Longint; Begin S:=0; For i:= 1 to n do S:= S+d[i]; TONG:= S; END. BEGIN { Cho dãy sau } a[1]:= 4; a[2]:= 6; a[3]: = 7; a[4]:= 3; Writeln(‘Tong day = ‘, TONG(a,4); { Tình tổng dãy a gồm 4 phần tử} { Cách tính Lấy a[1] + a[2] + a[3] + a[4] ta được kết quả = 20 Vậy: Kết quả xuất ra màn hình là 20} END. b. Tính tổng các phần tử của dãy có giá trị >0 Function TONG1(var d: day; k: integer): Longint; Var i: integer; S1: Longint; Begin S1:=0; For i:= 1 to n do If d[i]>0 then S1:= S1+d[i]; TONG1:= S1; END. BEGIN { Cho dãy sau } a[1]:= -4; a[2]:= 6; a[3]: = 7; a[4]:= -3; Writeln(‘Tong day = ‘, TONG1(a,4); { Tình tổng dãy a gồm 4 phần tử nhưng chỉ tính những phần tử có giá trị dương} { Cách tính Lấy các phần tử có giá trị dương cọng lại a[2]+ a[3] = 13 Vậy: Kết quả xuất ra màn hình là 13} END. c. Tính tổng các phần tử của dãy có giá trị <0 Function TONG2(var d: day; k: integer): Longint; Var i: integer; S2: Longint; Begin S2:=0; For i:= 1 to n do If d[i]<0 then S2:= S2+d[i]; TONG1:= S2; END. BEGIN { Cho dãy sau } a[1]:= -4; a[2]:= 6; a[3]: = 7; a[4]:= -3; Writeln(‘Tong day = ‘, TONG1(a,4); { Tình tổng dãy a gồm 4 phần tử nhưng chỉ tính những phần tử có giá trị dương} { Cách tính Lấy các phần tử có giá trị âm cọng lại a[1]+ a[4] = -7 Vậy: Kết quả xuất ra màn hình là -7} END. d. Tính tổng S1 =1 + 2 + 3 + … + n Function S1(n: integer): longint; Begin If n= 1 then S1:= 1 Else S1:= S1 + n; End; BEGIN Writeln(‘Tong S1:=’, S1(4)); { Cách tính: Với lời gọi ham S1(4) tức là n =4 S1 = 1+2+3+4 =10 Vậ kết quả in ra màn hình là 10} END. e. Tính tổng S2 =1 2 + 2 2 + 3 2 + … + n 2 Function S2(n: integer): longint; Begin If n= 1 then S2:= 1 Else S2:= S2 + n*n; End; BEGIN Writeln(‘Tong S1:=’, S2(4)); { Cách tính: Với lời gọi ham S1(4) tức là n =4 S2 = 1 2 +2 2 +3 2 +4 2 =30 Vậ kết quả in ra màn hình là 30} END. f. Tìm giá trị lớn nhất Function TIM1(d: day; k: integer): integer; Var Max, i: integer; Begin Max:= d[1]; i:= 2; While i<=k do Begin If Max <d[i] then Max:= d[i] i:= i+1; End; TIM1:= Max; end; BEGIN {Cho dãy sau } a[1]:= -4; a[2]:= 6; a[3]: = 7; a[4]:= -3; Writeln(‘Tong day = ‘, TIM1(a,4); { Cách tìm Xem phần tử nào trong dãy có giá trị lớn nhất (Ví dụ này là 7) Vậy: Kết quả xuất ra màn hình là 7} END. f. Tìm giá trị nhỏ nhất Function TIM2(d: day; k: integer): integer; Var Min, i: integer; Begin Min:= d[1]; i:= 2; While i<=k do Begin If Min > d[i] then Min:= d[i] i:= i+1; End; TIM2:= Max; end; BEGIN {Cho dãy sau } a[1]:= -4; a[2]:= 6; a[3]: = 7; a[4]:= -3; Writeln(‘Tong day = ‘, TIM2(a,4); { Cách tìm Xem phần tử nào trong dãy có giá trị nhỏ nhất (Ví dụ này là -4) Vậy: Kết quả xuất ra màn hình là -4} END. . tổng của dãy Function TONG(var d: day; k: integer): Longint; Var i: integer; S: Longint; Begin S:=0; For i:= 1 to n do S:= S+d[i]; TONG:= S; END. BEGIN. >0 Function TONG1(var d: day; k: integer): Longint; Var i: integer; S1: Longint; Begin S1:=0; For i:= 1 to n do If d[i]>0 then S1:= S1+d[i]; TONG1:= S1;