YOMEDIA
NONE

Vận dụng trang 116 SGK Tin học 11 Cánh diều - CD

Vận dụng trang 116 SGK Tin học 11 Cánh diều

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ố?

ATNETWORK

Hướng dẫn giải chi tiết Vận dụng

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]);

}

}

-- Mod Tin Học 11 HỌC247

Nếu bạn thấy hướng dẫn giải Vận dụng trang 116 SGK Tin học 11 Cánh diều - CD HAY thì click chia sẻ 
YOMEDIA

Chưa có câu hỏi nào. Em hãy trở thành người đầu tiên đặt câu hỏi.

AANETWORK
 

 

YOMEDIA
ATNETWORK
ON