đề 8

Câu 1

a) F 16 = 987, công thức dãy số Fiboncci là: (1 đ)

F (n) =

b) Procedure Fibonacci(n,F) (1 đ)

• {Tạo lập 2 số fibonacci đầu tiên}

F[1]: = 1; F[2] := 1;

• {tính lần lượt các số fibonacci tiếp theo}

for i :=3 to n do F[i] := F[i-1] + F[i-2];

• {In lần lượt n số fibonacci}

for i :=1 to n do write(F[i]);

Câu 2

+ Dạng cài đặt (0.5 đ)

const n=50;

type hocsinh = record

Hoten: string[27];

lớp: string;

DiemTk: real;

end;

list = record

Eles: array[1..n]of hocsinh;

count: 0..n;

end;

var L: list;

+ Tạo danh sách có n học sinh: (1 đ)

procedure taoDS(var l:list);

var M: hocsinh;

begin

write('nhap so hoc sinh trong danh sách n= '); readln(n);

for i:=1 to n do

begin

writeln('Nhap hoc sinh thu i : ');

write('Nhạp ho ten: '); readln(M.Hoten);

write('Nhạp Lớp: '); readln(M.lop);

write('Nhạp Điem tong kết: '); readln(M.DiemTK);

insert(M,i,L);

end;

end;

+ Thêm học sinh có : Họ tên:Nguyen Van An; Lớp:TH2B ; DiêmTK:7.4 vào sau vị trí k kể từ đầu danh sách: (1 đ)

procedure insert (M: hocsinh, k: integer, var L: list);

var i: integer;

begin

i:=L.count;

while i>k do

begin

L.Eles[i]:=L.Eles[i-1];

i:=i-1;

end;

L.Eles[k]:= M;

L.count:=L.count +1;

end;

Chú ý: Trước khi gọi thủ tục có kiểm tra tính hợp lệ của k, đổ các thông tin của học sinh cần thêm vào ô nhớ M

+ Sắp xếp sinh viên theo từng lớp, in danh sách sinh viên theo từng lớp: Tương tự ý c), d) câu 2 mã đề 01 (1,5 đ)

+ Loại bỏ tất cả các học sinh có điểm tổng kết <5 ra khỏi danh sách: (1 đ)

Cách làm: b1) Tìm học sinh đầu tiên trong danh sách có điểm tổng kết <5, giả sử vị trí k

b2) Loại bỏ học sinh ở vị trí k

b3) Lặp đi lặp lại b1); b2) cho đến khi hết vị trí tìm thấy

Chú ý: - để tìm học sinh thỏa mãn điều kiện ta duyệt từ đầu danh sách k:=1 đến khi tìm thấy thì dừng

- để loại bỏ học sinh ở vị trí k, ta dồn các học sinh từ k+1 đến L.count lại 1 ô nhớ, giảm count đi 1 đơn vị

Câu 3 (1 đ)

Ưu điểm: - Tốc độ truy cập đến các phần tử là nhanh (truy cập trực tiếp)

- Các thao tác thực hiện dễ dàng

Nhược điểm: - Lãng phí bộ nhớ (hiện tượng giữ chỗ để đấy mà không dùng đến)

- Có hiện tượng co giãn các phần tử khác khi thực hiện phép laọi bỏ là cho số lượng phép tính trong giải thuật tăng lên => độ phức tạp tính toán cũng tăng theo,

- Bị giới hạn bởi không gian trống kế tiếp trong bộ nhớ, là cấu trúc tĩnh

Đề xuất cấu trúc thích hợp hơn: Cấu trúc danh sách liên kết vì: khắc phục các hạn chế của danh sách cài đặt như trên

Bạn đang đọc truyện trên: AzTruyen.Top

Tags: