Sau đó, dùng một biến tạm là u để lưu giữ giá trị đầu tiên của dãy số, tiếp theo ta lần lượt xác định ước chung lớn nhất của u với từng giá trị của dãy từ vị trí thứ hai.[r]
(1)7) Khái quát hóa
Xuất phát từ tốn: “Tìm ước chung lớn số ” Var a, b: Integer;
Begin Repeat
Writeln('Nhap vao so:'); Readln(a,b);
If (a<=0) Or (b<=0) then Writeln(‚Nhap lai!’); Until (a>0) And (b>0);
Write('UCLN(',a,',',b,') = '); While a <> b Begin If a > b Then a := a - b Else b := b - a;
End; Write(a); Readln End
Tiếp theo, Chúng ta yêu cầu học sinh: “Sử dụng chương trình để tìm ước chung lớn ba số ” Đến đây, để viết hàm tính ước chung lớn hai số, nên hướng dẫn học sinh sử dụng thuật tốn Ơclit để viết chương trình nhằm tăng tốc độ tính tốn
Var a, b, c, tam: Integer;
Function UCLN(Var x, y: Integer): Integer; Var tam: Integer;
Begin
While y<>0 Begin
(2)End; UCLN := x; End;
Begin
Writeln('Nhap ba so: '); Readln(a, b, c); Write('UCLN(',a,',',b,',',c,') = ');
tam := UCLN(a, b); Write(UCLN(tam, c)); Readln
End
Sau thực việc sử dụng chương trình để tìm ước chung lớn ba số thành công Khái quát: yêu cầu học sinh giải tốn:
“Viết chương trình tìm ước chung lớn n số ”
Để thực hiện, ta hướng dẫn học sinh dùng thủ tục tìm ước chung lớn hai số Sau đó, dùng biến tạm u để lưu giữ giá trị dãy số, ta xác định ước chung lớn u với giá trị dãy từ vị trí thứ hai Cuối cùng, ước chung lớn dãy giá trị u
Var A: Array[1 100] Of Integer; a1, u, i, n: Integer;
Procedure UCLN(Var x, y: Integer); Var tam, tg: Integer;
Begin
While y<>0 Begin tam := x mod y; x := y;
(3)End; End; Begin
Write('Ban can tinh UCLN cua bao nhieu so? Nhap: '); Readln(n); For i := to n Begin
Write('So thu ',i,': '); Readln(A[i]); End;
Write('UCLN(');
For i := to n-1 Write(a[i],','); Write(a[n],') = ');
u := a[1];
For i:= to n
UCLN(u, a[i]); Write(u); Writeln;