Bài giảng Bài tập mảng một chiều - Nguyễn Thái Quang

Nội dung

1. Bài củ

2. Mục tiêu

3. Bài toán 1

4. Bài toán 2

ppt15 trang | Chia sẻ: hienduc166 | Lượt xem: 563 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Bài giảng Bài tập mảng một chiều - Nguyễn Thái Quang, để tải tài liệu về máy bạn click vào nút TẢI VỀ ở trên
TRÒ CHƠI Ô CHỮCâu 1:Câu 2:Câu 4:Câu 3: 12431. Đây là một ngôn ngữ lập trình cơ bản lấy tên một nhà Bác học nguời Pháp (cho biết tên ông ta)2. Trong khi viết chương trình để lặp với số lần biết trước ta dùng cấu trúc lặp? 4. Để nhập dữ liệu từ bàn phím và xuống hàng ta dùng từ khoá3. Để đưa dữ liệu ra màn hình ta dùng từ khoá P A S C A LF O R R E A D L NW R I T E Câu 5:B Y T E 5Em hãy cho biết đây là một từ khoá của một kiểu dữ liệu trong PascalTừHàng dọcARRAY5. Đây là một kiểu dữ liệu Nguyên nhưng có bộ nhớ nhỏ nhấtCho bieát chöùc naêng cuûa caùc ñoaïn chöông trình sau: Ñoaïn 1: Ñoaïn 2: Ñoaïn 3: Ñoaïn 4:Bµi 1. T×m phÇn tö lín nhÊt cña d·y sè nguyªn (víi n  250 vµ A[i]  500), nÕu d·y cã nhiÒu phÇn tö cïng gi¸ trÞ th× ®­a ra chØ sè cña phÇn tö lín nhÊt ®Çu tiªn. H·y x¸c ®Þnh Input, Output vµ nªu thuËt to¸n t×m Max?* INPUT: NhËp sè nguyªn d­¬ng n vµ d·y n sè nguyªn d­¬ng a1,a2,...,an.* OUTPUT: ChØ sè vµ gi¸ trÞ cña phÇn tö lín nhÊt trong d·y.QUANGTHIN08@YAHOO.COM.VNQu¶ nµy lín nhÊt Qu¶ nµy míi lín nhÊt å! Qu¶ nµy lín h¬n T×m ra qu¶ lín nhÊt råi! thuËt to¸n t×m maxMAX1. NhËp n vµ d·y a1,...,an;Write(‘ Nhap vao so luong phan tu:’);Readln(n);For i:=1 to n do begin write(‘ Phan tu thu ’ ,i, ’ = ’); readln(a[i]) end;2. Max  a1 ; i  1; Max:=a[1]; csmax:=1; For i :=2 to n do IF a[i]>max then 	begin	 max:=a[i];	 csmax:=i;	end; 3. NÕu i>N ®­a ra MAX vµ chØ sè i => KÕt thóc;4. NÕu a[i]>max th× maxa[i],i  i+1 => quay l¹i b­íc 3.thuËt to¸nthÓ hiÖn b»ng pascalQUANGTHIN08@YAHOO.COM.VNProgram Tim_Max;Uses crt;Type dayso = Array[1..250] of integer;Var	 A : dayso ; i,n,max,csmax : integer;BEGIN Clrscr; write(‘ Nhap vao so phan tu cua day so : ’) ; readln(n) ; For i := 1 to n do 	Begin	 write(‘ Phan tu thu ‘,i,’ = ‘) ;	 readln(A[i]) ;	End; Max := A[1[ ; csmax :=1 ; For i := 1 to n do 	If (A[i]>max) Then 	 begin	 max := a[i];	 csmax=i;	 end; Writeln(‘ Gia tri cua phan tu Max : ’,Max) ; Writeln(‘ Chi so cua phan tu Max : ’, csmax) ; Readln ;END.Nhap vao so phan tu cua day so :7Phan tu thu 1 = 15201625181219Gia tri cua phan tu Max : 25Chi so cua phan tu Max : 4 Ch­¬ng tr×nh ch¹y vµ cho kÕt qu¶ nh­ sau:Phan tu thu 2 = Phan tu thu 3 = Phan tu thu 4 = Phan tu thu 5 = Phan tu thu 6 = Phan tu thu 7 = QUANGTHIN08@YAHOO.COM.VNBµi 2. ViÕt ch­¬ng tr×nh nhËp vµo mét d·y sè nguyªn, sau ®ã s¾p xÕp d·y theo tr×nh tù kh«ng gi¶m. * INPUT: NhËp sè nguyªn d­¬ng n vµ d·y n sè nguyªn d­¬ng a1,a2,...,an.* OUTPUT: D·y sè ®­îc s¾p xÕp theo tr×nh tù kh«ng gi¶m.QUANGTHIN08@YAHOO.COM.VNC¸c em h·y cho biÕt ®Ó gi¶i bµi to¸n trªn, chóng ta dïng thuËt to¸n g×? Lµ ThuËt to¸n tr¸o ®æi kiÓu næi bät tõ trªn xuèng! QUANGTHIN08@YAHOO.COM.VN32976Cho d·y sè sau: 3 2 9 7 6 Gi¶ sö: 	 Mçi phÇn tö ®­îc xem nh­ mét bät n­íc; L­ît 1:i ch¹y tõ ®Çu d·y ®Õn vÞ trÝ [cuèi d·y -1]Khi a[i]>a[i+1] tøc lµ bät n­íc bªn trªn nÆng h¬n bät n­íc bªn d­íi => bät n­íc trªn ch×m xuèng vµ bät n­íc bªn d­íi næi lªn (tr¸o ®æi vÞ trÝ).Sau l­ît thø nhÊt, bät n­íc cã träng l­îng lín nhÊt sÏ ch×m xuèng ®¸y. Träng l­îng cña bät n­íc thø i lµ gi¸ trÞ cña A[i]. L­ît 2:i ch¹y tõ ®Çu d·y ®Õn vÞ trÝ [cuèi d·y - 2] (bá qua phÇn tö cuèi).Sau l­ît thø hai bät n­íc cã träng l­îng lín thø hai n»m s¸t trªn bät n­íc lín nhÊt. Qu¸ tr×nh duyÖt, tr¸o ®æi ®­îc lÆp ®i lÆp l¹i cho ®Õn khi chØ cßn duyÖt hai phÇn tö vµ thu ®­îc d·y kh«ng gi¶m.NhËn xÐt: Sè phÇn tö ë c¸c l­ît duyÖt (j) sÏ gi¶m tõ n xuèng hai phÇn tö. T¹i mçi l­ît duyÖt: - Cho i ch¹y tõ 1 ®Õn sè phÇn tö -1, nÕu A[i]>A[i+1] th× 	tr¸o ®æi vÞ trÝ A[i] vµ A[i+1]	th«ng qua biÕn trung gian (Tg).C¸c em h·y cho biÕt trong Pascal nhËn xÐt 1 ®­îc thÓ hiÖn b»ng lÖnh g× ? 1For j := n downto 2 do 2For i := 1 to j-1 do IF A[i]>A[i+1] then Tg := A[i];A[i] := A[i+1];A[i+1]:=Tg;Begin end; QUANGTHIN08@YAHOO.COM.VNKhai b¸o m¶ng 1 chiÒuNhËp m¶ng 1 chiÒuXö lÝ m¶ng b»ng thuËt to¸n næi bätIn kÕt qu¶PROGRAM Sapxep;Uses crt;Type dayso = Array[1..250] of integer;Var i, j , n , tg : integer; A : dayso;BEGIN Clrscr; write(‘ Nhap vao so phan tu cua day so : ’);readln(n); For i := 1 to n do 	Begin	 write(‘ Phan tu thu ‘,i,’ = ‘); readln(A[i]);	end; 	 For j := n downto 2 do For i:= 1 to j-1 do If A[i]>A[i+1] Then 	 begin	Tg := A[i];	A[i]:=A[i+1];	A[i+1]:=Tg;	 end;	 Writeln(‘ Day so duoc sap xep ’); For i:=1 to n do Write(A[i]:5); Readln;END.Ch­¬ng tr×nh pascalMoät laàn nöõa kính chuùc Thaày coâ vui veõ, haïnh phuùc vaø thaønh ñaït trong cuoäc soáng!Môøi Thaày Coâ nghæ 

File đính kèm:

  • pptBAI TAP MANG MOT CHIEU.ppt
Bài giảng liên quan