Bài 6: Kiểm thử và sửa lỗi chương trình

Bạn chưa đăng nhập. Vui lòng đăng nhập để hỏi bài
Minh Lệ

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.

Time line
19 tháng 8 2023 lúc 7:08

Tham khảo:

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<<"Nhap n: "; cin>>n;

    }while(n <= 0 || n >=100);

    nhap(n,a);

    cout<<"\n--------XUAT MANG----\n";

    xuat(n,a);

    cout<<"Trung binh cong: "<<tinhTBCongint(n,a)<<"\n\n";

    cout<<"Trung binh so duong: "<<tinhTBCongDuong(n,a)<<"\n\n";

    cout<<"Trung binh so am: "<<tinhTBCongAm(n,a)<<"\n\n";

}


Các câu hỏi tương tự
Minh Lệ
Xem chi tiết
Minh Lệ
Xem chi tiết
Minh Lệ
Xem chi tiết
Minh Lệ
Xem chi tiết
Minh Lệ
Xem chi tiết
Minh Lệ
Xem chi tiết