Giáo án Tin - Thực hành tin - pdf 17

Download miễn phí Giáo án Tin - Thực hành tin



II_Bài 2:
- Hãy đọc và tìm hiểu những phân tích để
viết chơng trình giải bài toán :
- Cho mảng A gồm n phần tử . Hãy viết
chơng trình tạo mảng B[1.n], trong đó
B là tổng của i phần tử đầu tiên của A.



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

1
Bài thực hành số 4
Giáo viên hớng dẫn : Thầy Trần Doãn Vinh
Sinh viên thực tập : Phạm Thị Minh Thùy
Lớp K56A_Khoa CNTT_ĐHSP Hà Nội
2
I_Bài 1:
► a) Hãy tìm hiểu và chạy thử chơng
trình thực hiện thuật toán sắp xếp dãy số
nguyên bằng thuật toán tráo đổi với các
giá trị khác nhau của n dới đây.Qua đó
nhận xét về thời gian chạy của chơng
trình ?
3
I_Bài 1:
Uses Crt ;
Const Nmax=250 ;
Type ArrInt =
array[1..Nmax] of integer ;
Var n , i , j , t : integer ;
A : ArrInt ;
BEGIN
ClrScr;
Randomize ;
Write (‘Nhap n = ‘) ;
Readln(n);
For i :=1 to n do
A :=random(300)-
random(300);
For i:=1 to n do
write (A :5) ;
Writeln ;
4
I_Bài 1:
For j := N downto 2 do
For i :=1 to j – 1 do
If A > A[i+1] then
Begin
t :=A;
A := A[i+1];
A[i+1] := t ;
End ;
Writeln (‘ Day so duoc
sap xep : ‘) ;
For i := 1 to n do
Write (A :7 );
Writeln ;
Readln
END.
5
I_Bài 1:
►b) Khai báo thêm biến nguyên Dem và
bổ sung vào chơng trình những câu lệnh
cần thiết để biến Dem tính số lần thực
hiện tráo đổi trong thuật toán .Đa kết quả
tìm đợc ra màn hình .
6
I_Bài 1:
+ Khai báo : n , i , j ,t , d :integer ;
+ Bổ sung chơng trình :
d :=0 ;
For j:= N downto 2 do
For i:=1 to j – 1 do
If A > A[i+1] then
Begin
d:= d+1 ;
t := A ;
A := A[i+1]
A[i+1] := t ;
End ;
Writeln (‘ So lan thuc hien
thuat toan :’,d,’’);
Writeln (‘ Day so duoc sap xep: ‘);
For i:=1 to n do
Write (A : 7);
Write (d);
Writeln;
Readln
End.
7
II_Bài 2:
► Hãy đọc và tìm hiểu những phân tích để
viết chơng trình giải bài toán :
► Cho mảng A gồm n phần tử . Hãy viết
chơng trình tạo mảng B[1..n], trong đó
B là tổng của i phần tử đầu tiên của A.
8
II_Bài 2:
Program SubSum1;
Const max=100;
Type
MyArray=array[1..max]
of integer;
Var A , B : MyArray;
n , i , j : integer ;
Begin
Radomize;
Write (‘ Nhap n =’);
Readln(n) ;
For i :=1 to n do
A := random(300) –
random(300) ;
For i :=1 to n do
write(A :5);
Writeln ;
9
II_Bài 2:
For i :=1 to n do
Begin
B:=0;
For j :=1 to i do
B:=B+A[j];
End ;
For i :=1 to n do write (B
:6);
Readln
End.
Ta tạo các phần tử thứ i của
mảng B bằng cách cho vòng
For chạy từ 1 đến i , sau đó
cộng dần các A lại với
nhau :
For i :=1 to n do
Begin
B :=0 ;
For j := 1 to i do B
:= B+A[j] ;
10
II_Bài 2:
►Ta có hệ thức sau :
B[1]:=A[1] ;
B:=B[i-1]+A , 1<i =< n .
►Do đó có đoạn chơng trình khác là :
B[1]:=A[1] ;
For i :=2 to n do B:=B[i-1]+A ;
►Với 2 lệnh này máy chỉ phải thực hiện n-1 phép
cộng .
11
Bài tập về nhà :
► -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 ?
► - Hớng dẫn qua : + Xác định dữ liệu vào , dữ liệu ra
?
+ Sử dụng biến j để lu giá trị max
.
12
Xin Thank các bạn
đã theo dõi !
...
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status