Em hãy liệt kê một số ca kiểm thử cho chương trình:

Vận dụng

Câu 1.  Em hãy liệt kê một số ca kiểm thử cho chương trình:

a) Tìm số x trong một dãy số (đã cho cụ thể).

b) Sắp xếp một dãy số.


a) Gợi ý

  • Bước 1: Ta khai báo một mảng tĩnh số nguyên có 100 ô nhớ int a[100].
  • Bước 2: Ta khai báo số nguyên int n là số lượng phần tử có trong mảng với điều kiện n>1 hoặc n<100 nếu không thỏa mãn thì yêu cầu nhập lại n.
  • Bước 3: Ta khỏi tạo hàm void Nhap(int a[], int n) dùng để nhập dữ liệu từ bàn phím cho mảng. Trong hàm ta sử dụng vòng for bắt đầu từ int i =0 và kết thúc khi i<n và mỗi lần i tăng lên một để nhập dữ liệu cho từng phần tử từ a[0] đến a[n-1], trong vòng for thì nhập vào dữ liệu của a[i].
  • Bước 4: Ta khởi tạo hàm void Xuat(int a[], int n) dùng để hiển thị dữ liệu từ mảng ra màn hình. Trong hàm ta sử dụng vòng for bắt đầu từ int i =0 và kết thúc khi i<n và mỗi lần i tăng lên một để hiển thị dữ liệu của từng phần tử từ a[0] đến a[n-1] ra màn hình, trong vòng for in a[i] ra màn hình.
  • Bước 5: Ta khởi tạo hàm int TimKiem(int a[], int n) dùng để tìm kiếm phần tử; ta khai báo biến int x là số cần tìm và nhập vào giá trị của x; tiếp theo sử dụng vòng lặp for bắt đầu từ int i =0 và kết thúc khi i<n và mỗi lần i tăng lên một để hiển thị dữ liệu của từng phần tử có trong mảng; trong vòng lặp ta dùng if với điều kiện nếu a[i]==x thỏa mãn thì ta in i ra màn hình.
  • Bước 6: Trong hàm main ta gọi hàm Nhap(a,n), Xuat(a,n) để hiển thị mảng gốc ta gọi thêm hàm TimKiem(a,n) rồi chạy chương trình.

b) Sắp xếp một dãy số giảm dần

#include <stdio.h>
 
int main(){
    int a[100];
    int n;
    printf("\nNhap so luong phan tu n = ");
    do{
        scanf("%d", &n);
        if(n <= 0){
            printf("\nNhap lai n = ");
        }
    }while(n <= 0);
    
    for(int i = 0; i < n; i++){
        printf("\nNhap a[%d] = ",i);
        scanf("%d", &a[i]);
    }
    
    // Sap xep dung thuat toan sap xep chon
    int tg;
    for(int i = 0; i < n - 1; i++){
        for(int j = i + 1; j < n; j++){
            if(a[i] < a[j]){
                // Hoan vi 2 so a[i] va a[j]
                tg = a[i];
                a[i] = a[j];
                a[j] = tg;        
            }
        }
    }
    
    
    printf("\nMang da sap xep la: ");
    for(int i = 0; i < n; i++){
        printf("%5d", a[i]);
    }
    
    
}

Bình luận

Giải bài tập những môn khác