1. Trang chủ
  2. » Công Nghệ Thông Tin

BÀI THỰC HÀNH TIN HỌC SỐ 4 docx

12 751 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 12
Dung lượng 2,93 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 ► a Hãy tìm hiểu và chạy thử chơng trình thực hi

Trang 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

Trang 2

2

► 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 ?

Trang 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[i] :=random(300)- random(300);

For i:=1 to n do write (A[i] :5) ; Writeln ;

Trang 4

4

I_Bµi 1:

For j := N downto 2 do

For i :=1 to j – 1 do

If A[i] > A[i+1] then

Begin

t :=A[i];

A[i] := A[i+1];

A[i+1] := t ;

End ;

Writeln (‘ Day so duoc sap xep : ‘) ;

For i := 1 to n do Write (A[i] :7 );

Writeln ; Readln END

Trang 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

Trang 6

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[i] > A[i+1] then

Begin

d:= d+1 ;

t := A[i] ;

A[i] := 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[i] : 7);

Write (d);

Writeln;

Readln End

Trang 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[i] là tổng của i phần tử đầu tiên của A

Trang 8

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[i] := random(300) – random(300) ;

For i :=1 to n do write(A[i] :5);

Writeln ;

Trang 9

II_Bài 2:

For i :=1 to n do

Begin

B[i]:=0;

For j :=1 to i do

B[i]:=B[i]+A[j];

End ;

For i :=1 to n do write (B[i]

: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[i] lại với nhau :

For i :=1 to n do Begin

B[i] :=0 ; For j := 1 to i do B[i] := B[i]+A[j] ;

Trang 10

10

II_Bài 2:

►Ta có hệ thức sau :

B[1]:=A[1] ;

B[i]:=B[i-1]+A[i] , 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[i]:=B[i-1]+A[i] ;

►Với 2 lệnh này máy chỉ phải thực hiện n-1 phép

cộng

Trang 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

Trang 12

12

Xin cảm ơn các bạn

đã theo dõi !

Ngày đăng: 11/08/2014, 07:20

TỪ KHÓA LIÊN QUAN

w