Bài tập và thực hành 7 trang 105 SGK Tin học 11
Đề bài
Bài tập và thực hành 7 trang 105 SGK Tin học 11
Lời giải chi tiết
1. Mục đích, yêu cầu
- Nâng cao kĩ năng viết, sử dụng chương trình con.
- Biết cách viết một chương trình có cấu trúc để giải một bài toán trên máy tính.
2. Nội dung
a) Tìm hiểu việc xây dựng các hàm và thủ tục thực hiện tính độ dài các cạnh, chu vi, diện tích, kiểm tra các tính đều, cân, vuông của tam giác được trình bày dưới đây:
Giả thiết tam giác được xác định bởi tọa độ của ba đỉnh. Ta sử dụng kiểu bản ghi để mô tả một tam giác:
type
Diem = record
X, y: real;
end;
Tamgiac= record
A, B, c:Diem;
end;
Ta xây dựng thủ tục và hàm:
• Thủ tục nhận dữ liệu vào là biến mô tả tam giác R và đầu ra là độ dài của ba cạnh a, b, c:
Procedure Daicanh(var R: Tamgiac; var a, b, C:real);
• Hàm tính chu vi của tam giác R:
function Chuvi(var R: Tamgiac): real;
• Hàm tính diện tích của tam giác R:
function Dientich(var Rrtamgiac): real;
• Thủ tục nhận đầu vào là biến mô tả tam giác R và đầu ra là tính chất của tam giác (Deu hay Can hay Vuong)-,
procedure Tinhchat(var R:Tamgiac;var Deu, Can, Vuong: Boolean);
• Thủ tục hiển thị tọa độ ba đỉnh tam giác lên màn hình:
procedure Hienthi(var R: tamgiac);
• Hàm tính khoảng cách giữa hai điểm P, Q:
function Kh_cach(P, Q: Diem): Real;
b) Tìm hiểu chương trình nhập vào tọa độ ba đỉnh một tam giác và sử dụng các hàm, thủ tục được xây dựng dưới đây để khảo sát các tính chất của tam giác.
program tam_giac;
uses crt
const ep:= 1.0E-6;
type
Diem = record
X, y: real;
end;
Tamgiac= record
A, B, C: Diem;
end;
var T: Tamgiac;
Dou, can, vuong: Boolean;
function Kh_cach(P(Q: Diem): Real; begin
Kh_cach: sqrt((P.x-Q.x)*(P.x-Q.x)+(P.y-Q.y)*(P.y-Q.y));
end ;
Procedure Daicanh(var R: Tamgiac; var a, b, c: real);
begin
a:= Kh_cach(R.B, R.C),
b:= Kh_cach(R.A, R.C);
c:= Kh_cach(R.A,R.B) ;
end;
functio-n Chuvi (var R: Tamgiac) : real;
var a, b, c: real;
begin
Daicanh(R, a, b, c) ;
ChuVi:= a+b+c;
end;
functioin Dientich(var R: tamgiac) : real;
var a, b, c, p: real;
begin
Daicanh(R/ a, b, c) ;
p:= (a+b+c)/2;
Dienntich: = sqrt (p* (p-a) * (p-b) * (p-c))
end;
procedure Hienthi (var R: tamgiac) ;
begin
writeln ('Toa do 3 dinh cua tam giac la:');
writeln('Dinh A(',R.A.x:0:3,',',R.A.y:0:3,')');
writeln('Dinh B(',R.B.x:0:3,',R.B.y:0:3, ')');
writeln('Dinh C (',R.C.x:0:3,',',R.C.y:0:3,')');
end;
procedure Tinhchat(var R:Tamgiac; var Deu, Can, Vuong: Boolean )
var a b, c: real;
begin
Deu:= false; Can:= false; Vuong:= false;
Daicanh(R, a, b, c);
if (abs(a-b)<eps) and (abs(a-c)<eps) then
begin
Deu:= true;
Can:= true;
else
if (abs (a-b) <eps) or tabs (a-c) <eps) or (abs (b-r) <eps)
then Can:= true;
if (abs(a*a+b*b-c*c)<eps) or (abs(a*a+c*c-b*b)ceps ) or (abs(b*b+c*c-a*a)<eps) then Vuong:= true;
end;
Begin
clrscr;
writeln('Nhap tam giac:');
write('Toa do dinh A:'); readln(T.A.x, T.A.y) ;
write('Toa do dinh B:'); readln(T.B.x, T.B.y);
write('Toa do dinh c:■); readln(T.c.x, T.C.y) ;
writeln(' == = = = = = = ===== ================ =====') ;
Hienthi(T);
writeln('Dien tich:', dientich(T):9:3);
writeln ( ' Chu vi : ' , chuvi (T) : 9 : 3);
Tinhchater, Deu, Can, Vuong);
writeln('Tam giac co tinh chat:');
If Deu then writeln('la tam giac deu')
else if Can then writeln(' la tam giac can ');
if Vuong then writeln('la tam giac vuong');
readln;
End.
c) Viết chương trình sử dụng các hàm và thủ tục xây dựng ở trên để giải bài toán:
Cho tệp dữ liệu TAMGIAC.DAT có cấu trúc như sau:
- Dòng đầu tiên chứa số N;
- N dòng tiếp theo, mỗi dòng chứa sáu số thực xA, yA, xB, yB, xC, yC là tọa độ ba đỉnh A(xA, yA), B(xB,yB), C(xC, yC) của tam giác ABC.
Hãy nhập dữ liệu từ tệp đã cho và trong số N tam giác đó, đưa ra tệp TAMGlAC.OUT gồm ba dòng:
• Dòng đầu tiên là số lượng tam giác đều;
• Dòng thứ hai là số lượng tam giác cân (nhưng không là đều);
• Dòng thứ ba là số lượng tam giác vuông
Xemloigiai.com
SGK Tin học lớp 11
Giải bài tập tin học lớp 11 đầy đủ kiến thức và bài tập thực hành tin học 11 giúp để học tốt môn tin 11
Chương 1: Một số khái niệm về lập trình và ngôn ngữ lập trình
Chương 2: Chương trình đơn giản
- Bài 3: Cấu trúc chương trình
- Bài 4: Một số kiểu dữ liệu chuẩn
- Bài 5: Khai báo biến
- Bài 6: Phép toán, biểu thức, câu lệnh gán
- Bài 7: Các thủ tục chuẩn vào/ra đơn giản
- Bài 8: Soạn thảo, dịch, thực hiện và hiệu chỉnh chương trình
- Bài tập và thực hành 1
Chương 3: Cấu trúc rẽ nhánh và lặp
Chương 4: Kiểu dữ liệu có cấu trúc
- Bài 11: Kiểu mảng
- Bài tập và thực hành 3
- Bài tập và thực hành 4
- Bài 12: Kiểu xâu
- Bài tập và thực hành 5
- Bài 13: Kiểu bản ghi
- Tóm tắt chương IV
Chương 5: Tệp và thao tác với tệp
Chương 6: Chương trình con và lập trình có cấu trúc
Lớp 11 | Các môn học Lớp 11 | Giải bài tập, đề kiểm tra, đề thi Lớp 11 chọn lọc
Danh sách các môn học Lớp 11 được biên soạn theo sách giáo khoa mới của bộ giáo dục đào tạo. Kèm theo lời giải sách bài tập, sách giáo khoa, đề kiểm tra 15 phút, 45 phút (1 tiết), đề thi học kì 1 và học kì 2 năm học 2024 ngắn gọn, chi tiết dễ hiểu.
Toán Học
Vật Lý
Hóa Học
Ngữ Văn
- Soạn văn 11
- SBT Ngữ văn lớp 11
- Văn mẫu 11
- Soạn văn 11 chi tiết
- Soạn văn ngắn gọn lớp 11
- Soạn văn 11 siêu ngắn
Sinh Học
GDCD
Tin Học
Tiếng Anh
Công Nghệ
Lịch Sử & Địa Lý
- Tập bản đồ Địa lí lớp 11
- SBT Địa lí lớp 11
- SGK Địa lí lớp 11
- Tập bản đồ Lịch sử lớp 11
- SBT Lịch sử lớp 11
- SGK Lịch sử lớp 11