Tin học 11 Bài tập và thực hành 3

Để giúp các em học tập thật tốt chương trình SGK môn Tin học lớp 11, đội ngũ eLib đã biên soạn và tổng hợp nội dung bài tập và thực hành số 3 được trình bày cụ thể, chi tiết dưới đây. Hy vọng đây sẽ là tài liệu tham khảo hữu ích cho các em học sinh. Chúc các em học tốt!

Tin học 11 Bài tập và thực hành 3

1. Tóm tắt lý thuyết

1.1. Mục đích, yêu cầu

a. Kiến thức:

Củng cố lại các kiến thức cơ bản về kiểu dữ liệu mảng.

b. Kỹ năng:

- Nâng cao kỹ năng sử dụng một số lệnh kiểu dữ liệu mảng trong lập trình, cụ thể:

+ Khai báo kiểu dữ liệu mảng một chiều;

+ Nhập/xuất dữ liệu cho mảng;

+ Duyệt qua tất cả các phần tử của mảng để xử lí từng phần tử của mảng.

- Cung cấp cho học sinh 3 thuật toán cơ bản và đơn giản thường gặp với dữ liệu kiểu mảng

- Tính tổng và đếm các phần tử thỏa mãn điều kiện nào đó.

- Tìm phần tử max (min) của mảng cùng với vị trí của nó trong mảng

1.2. Nội dung

Hoạt động 1

Tạo mảng A gồn n (n<=100) số nguyên, mỗi số có giá trị tuyệt đối không vượt quá 300. Tính tổng các phần tử của mảng là bội số của một số nguyên dương k cho trước.

a) Tìm hiểu và chạy thử chương trình sau đây:

Chú ý: Hàm chuẩn random(n) cho giá trị là số nguyên ngẫu nhiên trong đoạn từ 0 đến n-1, còn thủ tục randomize khởi tạo cơ chế sinh số ngẫu nhiên.

b) Hãy đưa các câu lệnh sau đây vào những vị trí cần thiết nhằm sửa đổi chương trình trong câu a) để có được chương trình đưa ra số các số dương và số các số âm trong mảng.

Hoạt động 2

Viết chương trình tìm phần tử có giá trị lớn nhất của mảng và đưa ra màn hình chỉ số và giá trị của phần tử tìm được. Nếu có nhiều phần tử có cùng giá trị lớn nhất thì đưa ra phần tử có chỉ số nhỏ nhất.

a) Hãy tìm hiểu chương trình sau đây:

Kết quả:

b) Chỉnh sửa chương trình trên để đưa ra chỉ số của các phần tử có cùng giá trị lớn nhất.

Kết quả:

Đưa ra chỉ số của các phần tử có cùng giá trị lớn nhất.

2. Luyện tập

Câu 1: Cho khai báo mảng và đoạn chương trình như sau:

Var a : array[0..50] of real;

       k := 0;

       for i := 1 to 50 do

       if a[i] > a[k] Then k := i;

Đoạn chương trình trên thực hiện công việc gì dưới đây?

A. Tìm chỉ số của phần tử lớn nhất trong mảng

B. Tìm chỉ số của phần tử nhỏ nhất trong mảng

C. Tìm phần tử lớn nhất trong mảng

D. Tìm phần tử nhỏ nhất trong mảng

Câu 2: Cho khai báo mảng như sau:

Var m : array[0..10] Of integer ;

Phương án nào dưới đây chỉ phần tử thứ 10 của mảng?

A. a[10]

B. a(9)

C. a(10)

D. a[9]

Câu 3: Thế nào là khai báo biến mảng gián tiếp?

A. Khai báo thông qua kiểu mảng đã có

B. Khai báo mảng xâu kí tự

C. Khai báo mảng của các bản ghi

D. Khai báo mảng hai chiều

Câu 4: Phát biểu nào dưới đây về chỉ số của mảng là phù hợp nhất?

A. Dùng trong vòng lặp với mảng để quản lí kích thước của mảng

B. Dùng để quản lí kích thước của mảng

C. Dùng để truy cập đến một phần tử bất kì trong mảng

D. Dùng trong vòng lặp với mảng

Câu 5: Phương án nào dưới đây là khai báo mảng hợp lệ?

A. mang : ARRAY[0..10] : INTEGER;

B. mang : ARRAY[0..10] OF INTEGER;

C. mang : ARRAY(0..10) : INTEGER;

D. mang : ARRAY[0..10] : INTEGER;

3. Kết luận

Sau khi học xong bài thực hành số 3 các em sẽ nắm được một số nội dung quan trọng sau đây:

  • Hệ thống lại nội dung kiến thức đã học
  • Tìm kiếm đơn giản trên máy tính.
  • Biết cách sử dụng một số câu lệnh và một số kiểu dữ liệu
  • Chạy thử các chương trình có sẵn đã học ở trên và biết giải một số bài toán tính toán
Ngày:11/09/2020 Chia sẻ bởi:Minh Ngoan

CÓ THỂ BẠN QUAN TÂM