Bài tập và thực hành 4

Chia sẻ bởi Nguyễn Thị Thương Huyền | Ngày 10/05/2019 | 42

Chia sẻ tài liệu: Bài tập và thực hành 4 thuộc Tin học 11

Nội dung tài liệu:

Bài tập và thực hành 4
1. Cho dãy A gồm n số nguyên (n≤ 200). Mỗi số có trị tuyệt đối không vượt quá 300. ViÕt chương trình sắp xếp dãy A thành dãy không giảm.
Input: dãy A gồm n số nguyên a1,a2,...an (n≤200). Mỗi số có trị tuyệt đối không vượt quá 300.
Output: sắp xếp dãy A thành dãy không giảm.
Kiểm tra lại máy và các thiết bị kết nối với MT
Khởi động Turbo Pascal
- Thực hành theo các yêu cầu sau:
VD: Input: -23 56 127 21 12 -32 45 -250
Output:-250 -32 -23 12 21 45 56 127
Thuật toán:
Hướng dẫn vi?t CT:
Khai báo tên CT;
thư viện;
biến; biến mảng;
Begin
Nhập số lượng phần tử dãy A;
Nhập giá trị các phần tử dãy A;
Duyệt lần lượt các phần tử: nếu ai > ai+1 thì đổi chỗ ai cho ai+1, (cần 1 biến trung gian).
Đưa dãy đã sắp xếp ra màn hình.
End.
Lưu tên tệp lop11a3.pas
2. Chạy CT với: n=5, dãy A= 5 -12 -6 25 6
n=8; dãy A= 12 35 6 -4 27 -8 10
So sánh chương trình em viết với CT trong sgk trang 65. Có điểm gì khác biệt giữa 2 CT này.
3. Câu lệnh trong CT sgk trang 65:
For i:=1 to n do A[i]:=random(300)-random(300);
có tác dụng gì?
4. Hãy thay thế câu lệnh:
For i:=1 to n do A[i]:=random(300)-random(300);
cho đoạn CT: for i:=1 to n do
begin
write(‘nhap phan tu thu ‘, i, ‘:’);
readl(A[i]);
end;
Ghi lại CT, dịch và thực hiện lại 3 lần với n=5, 10, 15. Theo dõi kết quả chạy CT, nhận xét.
5. Sửa lại CT đã viết để dãy A được sắp xếp thành dãy không tăng.
VD: Input: -23 56 127 21 12 -32 45 -250
Output: 127 56 45 21 12 -23 -32 -250
?
6. Khai báo thêm biến dem và bổ sung vào CT những câu lệnh cần thiết để biến dem tính số lần thực hiện việc tráo đổi trong thuật toán.
- Lệnh khởi tạo biến dem được đặt ở đâu trong CT?
- Lệnh tăng biến dem được đặt ở vị trí nào trong CT:
+ Trước câu lệnh sắp xếp: for j:=n dowto 2 do
+ Ngay trước câu lệnh thể hiện 1 lượt duyệt: for i:=1 to j-1 do
+ Ngay trước câu lệnh đầu tiên của đoạn lệnh tráo đổi: tg:=A[i];
+ Ngay sau câu lệnh cuối cúng của đoạn lệnh tráo đổi: A[i+1]:=tg;
- Biến đếm không thể vượt qua số nào nếu trong dãy có n phần tử?
* Khai báo mảng 1 chiều:
- Trực tiếp:
Var :array[kiểu chỉ số] of ;
- Gián tiếp:
Type =array[kiểu chỉ số] of ;
Var :;
* Cách tham chiếu đến phần tử mảng:
[chỉ số]
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Dung lượng: | Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)