Tải bản đầy đủ (.docx) (3 trang)

Viet chuong trinh cho may tinh chu vi dien tich vaduong cheo cua ba hinh chu nhat

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (126.09 KB, 3 trang )

<span class='text_page_counter'>(1)</span>1) Đáp ứng nhu cầu xóa bỏ sự hạn chế Xét bài toán : “Viết chương trình cho máy tính chu vi, diện tích và đường chéo của ba hình chữ nhật theo hai kích thước của mỗi hình. Trong đó: - Hình thứ nhất có hai kích thước là a1, a2 - Hình thứ hai có hai kích thước là b1, b2 - Hình thứ ba có hai kích thước là a1+b1 và a2*b2”. Var a1, b1, a2, b2, c1, c2, c3, d1, d2, d3, m1, m2, m3 : Real; Begin Writeln('Nhap hai canh cua hinh chu nhat thu nhat:'); Write('a1 = '); Readln(a1); Write('b1 = '); Readln(b1); Writeln('Nhap hai canh cua hinh chu nhat thu hai:'); Write('a2 = '); Readln(a2); Write('b2 = '); Readln(b2); c1 := 2 * (a1 + b1); c2 := 2 * (a2 + b2); c3 := 2 * ((a1 + b1) + (a2 * b2)); d1 := a1 * b1; d2 := a2 * b2; d3 := (a1 + b1) * (a2 * b2); m1 := sqrt(a1 * a1 + b1 * b1); m2 := sqrt(a2 * a2 + b2 * b2); m3 := sqrt(sqr(a1 + b1) + sqr(a2 * b2)); Writeln('Hinh chu nhat thu nhat:'); Writeln('Chu vi bang : ',c1:0:2); Writeln('Dien tich bang : ',d1:0:2); Writeln('Duong cheo bang: ',m1:0:2); Writeln('Hinh chu nhat thu hai:'); Writeln('Chu vi bang : ',c2:0:2);.

<span class='text_page_counter'>(2)</span> Writeln('Dien tich bang : ',d2:0:2); Writeln('Duong cheo bang: ',m2:0:2); Writeln('Hinh chu nhat thu ba:'); Writeln('Chu vi bang : ',c3:0:2); Writeln('Dien tich bang : ',d3:0:2); Writeln('Duong cheo bang: ',m3:0:2); Readln End. Chương trình trên để thực hiện được yêu cầu của đề bài, chúng ta phải viết đi viết lại ba dòng liên tiếp tính chu vi, diện tích và đường chéo của từng hình chữ nhật. Giả sử nếu phải tính đến n hình chữ nhật thì vấn đề quả thực là hết sức phức tạp. Trong bài toán trên ta còn chưa có phần kiểm tra điều kiện nhập vào của mỗi hình. Nếu có thêm điều kiện này, chắc chắn chương trình còn dài nữa. Vấn đề đặt ra là: làm thế nào có thể xóa bỏ được sự hạn chế này? Ở đây, chúng ta có thể hướng dẫn cho học sinh sử dụng chương trình con để khắc phục sự hạn chế đó. Thay vì phải viết nhiều lần lệnh nhập, tính đi tính lại cho từng hình ta có thể viết 2 thủ tục: 1. Thủ tục nhập hai cạnh của hình chữ nhật. 2. Thủ tục Tính ba giá trị cho mỗi hình. Var a1, b1, a2, b2: Real; Procedure Nhap(Var x, y: Real; i: Byte); Begin Writeln('Nhap hai kich thuoc cua hinh chu nhat thu ',i,':'); Repeat Write('Canh thu nhat: '); Readln(x); Write('Canh thu hai : '); Readln(y); If (x <= 0) Or (y <= 0) Then Writeln('Nhap lai!'); Until (x > 0) And (y > 0);.

<span class='text_page_counter'>(3)</span> End; Procedure Tinh(a, b: Real; k: Byte); Begin Writeln('Hinh chu nhat thu ',k,':'); Writeln('Chu vi bang : ',2 * (a + b):0:2); Writeln('Dien tich bang : ',a * b:0:2); Writeln('Duong cheo bang: ',sqrt(a * a + b * b):0:2); End; Begin Nhap(a1, b1, 1); Nhap(a2, b2, 2); Tinh(a1, b1, 1); Tinh(a2, b2, 2); Tinh(a1 + b1, a2 * b2, 3); Readln End..

<span class='text_page_counter'>(4)</span>

×