1. Trang chủ
  2. » Giáo án - Bài giảng

Tim uoc chung lon nhat cua 2 so

3 13 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 3
Dung lượng 5,91 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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]

Trang 1

Xuất phát từ bài toán: “Tìm ước chung lớn nhất của 2 số ”.

Var a, b: Integer;

Begin

Repeat

Writeln('Nhap vao 2 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 do 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 con để tìm ước chung lớn nhất của ba số ” Đến đây, để viết hàm tính ước chung lớn

nhất của hai số, chúng ta nên hướng dẫn học sinh sử dụng thuật toán Ơclit để viết chương trình nhằm tăng tốc độ tính toán

Var a, b, c, tam: Integer;

Function UCLN(Var x, y: Integer): Integer;

Var tam: Integer;

Begin

While y<>0 do Begin

tam := x mod y; x := y;

y := tam;

Trang 2

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 khi thực hiện việc sử dụng chương trình con để tìm ước chung lớn nhất của ba số thành công Khái quát: chúng ta yêu cầu học sinh giải bài toán:

“Viết chương trình tìm ước chung lớn nhất của n số ”.

Để thực hiện, ta có thể hướng dẫn học sinh dùng thủ tục tìm ước chung lớn nhất của hai số 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 Cuối cùng, ước chung lớn nhất của dãy chính là 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 do Begin

tam := x mod y;

x := y;

y := tam;

Trang 3

End;

Begin

Write('Ban can tinh UCLN cua bao nhieu so? Nhap: '); Readln(n); For i := 1 to n do Begin

Write('So thu ',i,': '); Readln(A[i]);

End;

Write('UCLN(');

For i := 1 to n-1 do Write(a[i],',');

Write(a[n],') = ');

u := a[1];

For i:= 2 to n do

UCLN(u, a[i]);

Write(u); Writeln;

Readln

End

Ngày đăng: 24/05/2021, 00:19

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w