đề 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