Tóm tắt chương IV

Lý thuyết và bài tập cho Tóm tắt chương IV, Chương 4, Tin học 11

1. Kiểu dữ liệu có cấu trúc được xây dựng từ những kiểu dữ liệu đã có theo quy tắc, khuôn dạng do ngôn ngữ lập trình cung cấp.

2. Mảng một chiều

- Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu.

- Khai báo: tên mảng, kiểu chỉ số, kiểu phần tử.

- Tham chiếu phần tử mảng: tên biến mảng [chỉ số phần tử]

3. Mảng hai chiều

- Mảng hai chiều là bảng các phần tử cùng kiểu.

- Khai báo: tên mảng, kiểu chỉ số dòng, kiểu chỉ số cột, kiểu phần tử.

Bài Tập / Bài Soạn: 

Câu 1 trang 79 SGK Tin học 11

Đề bài

Tại sao mảng là kiểu dữ liệu có cấu trúc ?

Lời giải chi tiết

Câu 2 trang 79 SGK Tin học 11

Đề bài

Tại sao phải khai báo kích thước của mảng ?

Lời giải chi tiết

Mảng là 1 tập hợp các phần tử được đánh số có thứ tự thường là từ 0 hoặc 1 cho nên khi khai báo mảng ta cần khai báo thêm kích thước để máy có thể cấp phát đủ bộ nhớ chứa số lượng các phần tử.

Câu 3 trang 79 SGK Tin học 11

Đề bài

Các phần tử của mảng có thể có những kiểu gì ?

Lời giải chi tiết

Kiểu dữ liệu của mảng có thể là những kiểu dữ liệu chuẩn (integer, byte, real,…), kiểu dữ liệu có cấu trúc (string, kiểu bản ghi).

Câu 4 trang 79 SGK Tin học 11

Đề bài

Tham chiếu đến phần tử của mảng bằng cách nào ?

Lời giải chi tiết

- Tham chiếu đến phần tử của mảng có 2 kiểu : 

** Với mảng 1 chiều: 

- Cách tham chiếu đến mảng: A[i] với i là chỉ số phân tử trong mảng. 

Ví dụ: Vẫn xét mảng 10 20 30 5 6 7 

A[1]=10; A[2]=20; A[3]=30; A[4]=50; A[5]=6; A[7]=7 

- Cách khai báo mảng: Có 2 cách khai báo: 

Khai báo trực tiếp:

Thường thì cách khai báo trực tiếp được dùng nhiều hơn vì nó ngắn gọn. 

Câu 5 trang 79 SGK Tin học 11

Đề bài

Viết chương trình nhập từ bàn phím số nguyên dương N (N ≤ 100) và dãy A gồm N số nguyên A1...AN có giá trị tuyệt đối lớn hơn 1000. Hãy cho biết dãy A có phải là một cấp số cộng hay không và thông báo kết quả ra mành hình.

Lời giải chi tiết

Bài 6 trang 79 SGK Tin học 11

Đề bài

Viết chương trình nhập từ bàn phím số nguyên dương N (N ≤100) và dãy A gồm N số nguyên A1, A2 ...AN có giá trị tuyệt đối không lớn hơn 1000. Hãy đưa ra những thông tin sau:

a) Số lượng số chẵn và số lượng số lẻ.

b) Số lượng số nguyên tố trong dãy.

Lời giải chi tiết

Câu 7 trang 79 SGK Tin học 11

Đề bài

Dãy F là dãy Phi-bo-na-xi nếu :

F0=0, F1 = 1, Fn = Fn-1 + Fn-2 với N ≥ 2

Viết chương trình nhập từ bàn phím số nguyên dương N và đưa ra màn hình số hạng thứ N của dãy Phi-bo-na-xi. Chương trình của bạn thực hiện với giá trị lớn nhất của N là bao nhiêu ?

Lời giải chi tiết

Ta cần viết chương trình nhập vào từ bàn phím số nguyên dương N và đưa ra màn hình số hạng thứ N của dãy Phi-bô-nan-xi và đưa ra kết luận: với giá trị lớn nhất nào của N thì chương trình thực hiện được ?

Chương trình:

Bài 8 trang 79 SGK Tin học 11

Đề bài

Chương trình sau đây thực hiện những gì ?

program BT8;

const NMax = 50;

type Mass = array [1...NMax, O..NMax-1] of real;

var A: Mass;

i,j N: byte; C: real;

begin

Write ('Nhap N= ?');

readln(N); for i:= 1 to N do

for 0 to N-1 do

begin

write('A[i,j; readln(A[i,j ] )

end,

for i:= 1 to N do

for j:= 1 to N-1 do

begin

C:= A[i,j];

A[i , j ] := A[N-i+1, j ]

A [N-i+1,j] := C;

end;

for i:=1 to N do begin

Câu 9 trang 80 SGK Tin học 11

Đề bài

Cho mảng hai chiều kích thước nxm với các phần tử là những số nguyên. Tìm trong mỗi dòng phần tử lớn nhất rồi đổi chỗ nó với phần tử có chỉ số dòng bằng chỉ số cột.

Chương trình sau đây giải bài toán trên:

program Diag; 

var

N, i, j, max, Ind, Vsp: integer;

A: array[1..15, 1..15] of integer;

begin

write('Nhap N:');

readln(N),

for i:= 1 to N do for j:= 1 to N do

begin

write(’A[',i,',',j,']= ');

readln(A[i,j]);

end;

for i:=1 to N do

begin

Câu 10 trang 80 SGK Tin học 11

Đề bài

Viết chương trình nhập vào từ bàn phím xâu kí tự s có độ dài không quá 100. Hãy cho biết có bao nhiêu chữ số thập phân xuất hiện trong xâu s. Thông báo kết quả ra màn hình.

Lời giải chi tiết

Chương trình nhập vào từ bàn phím xâu kí tự s có độ dài không quá 100. Cho biết số chữ số thập phân xuất hiện trong xâu s. Thông báo kết quả ra màn hình.

Chương trình:

program bai_10_chuong_4;

uses crt;

var

s: string[100];

i, dem: integer;

Begin

clrscr;

Câu 11 trang 80 SGK Tin học 11

Đề bài

Hãy bổ sung thêm chương trình xeploai (ở §13) những lệnh cần thiết để chương trình đưa ra danh sách học sinh xếp loại A.

Lời giải chi tiết

Chương trình xeploai:

program xEp_loai ;

uses crt;

const max=60;

type Hocsinh = record

hoten: string[30];

ngaysinh: string [10];

Diachi: string[50];

Toan, Van: real;

Xeploai: char;

end;

var

Lop: array[1..max] of hocsinh;

N, i: byte;

Begin

clrscr;

readln(N)


Giải các môn học khác

Bình luận