Hãy cho một số ví dụ ca kiểm thử trang 114 tin học 11
Hãy cho một số ví dụ ca kiểm thử:
Giải Tin học 11 Bài 6: Kiểm thử và sửa lỗi chương trình - Cánh diều
Hoạt động trang 114 Tin học 11: Hãy cho một số ví dụ ca kiểm thử:
1. Chương trình giải phương trình bậc hai
2. Chương trình tính đếm (tính tổng, tính trung bình cộng,…) các số dương trong một mảng số thực.
Lời giải:
a) Gợi ý:
Ý tưởng
Dùng một vòng do while
để nhập a, b, c nếu a = 0, thì nhập lại.
Chúng ta dùng hàm sqrt()
trong thư viện math.h để tính căn delta hoặc tính căn không dùng hàm sqrt()
tại đây.
Chúng ta tạo hàm giaiPT
trả về kiểu int
chính là số nghiệm của phương trình (1).
Chúng ta sẽ đưa tham chiếu 2 biến x1 , x2 vào hàm giaiPT
để gán giá trị hai nghiệm.
Nếu pt (1) vô nghiện thì giaiPT
sẽ trả về 0 , đồng thời gán x1 = x2 =0 .
Nếu pt (1) có nghiệm kép thì giaiPT
sẽ trả về 1 , đồng thời gán x1 = x2 = -b/2a .
Nếu pt (1) có 2 nghiệm thì giaiPT
sẽ trả về 2 , gán x1 = (-b+√delta ) / 2a x = (-b-√delta ) / 2a .
b) Gợi ý:
#include<iostream>
using
namespace
std;
void
nhap(int
&n, int
a[]){
for(int
i=0;i<n;i++){
cout<<"a["<<i+1<<"]=";cin>>a[i];
}
}
void
xuat(int
n, int
a[]){
for(int
i=0;i<n;i++){
cout<<a[i]<<" ";
}
}
int
tinhTBCongint(int
n, int
a[]){
int
sum=0,dem=0;
for(int
i=0;i<n;i++){
sum+=a[i];dem++;
}
return
sum/n;
}
int
tinhTBCongDuong(int
n, int
a[]){
int
sum=0,dem=0;
for(int
i=0;i<n;i++){
if(a[i]> 0) {
sum+=a[i];dem++;
}
}
if(dem==0) return
0;
return
sum/dem;
}
int
tinhTBCongAm(int
n, int
a[]){
int
sum=0,dem=0;
for(int
i=0;i<n;i++){
if(a[i]<0){
sum+=a[i];dem++;
}
}
if(dem==0) return
0;
return
sum/dem;
}
int
main(){
int
n;
int
a[100];
do{
cout<<"Nhapn: "; cin>>n;
}while(n<= 0 || n >=100);
nhap(n,a);
cout<<"\n--------XUATMANG----\n";
xuat(n,a);
cout<<"Trungbinh cong: "<<tinhTBCongint(n,a)<<"\n\n";
cout<<"Trungbinh so duong: "<<tinhTBCongDuong(n,a)<<"\n\n";
cout<<"Trungbinh so am: "<<tinhTBCongAm(n,a)<<"\n\n";
}
Lời giải Tin 11 Bài 6: Kiểm thử và sửa lỗi chương trình hay khác: