Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 17 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
17
Dung lượng
873,5 KB
Nội dung
Kiểm tra bài cũ Câu 1: Nêu khái niệm mảng một chiều. Viết cách khai báo mảng một chiều (trực tiếp hoặc gián tiếp)? Câu 2: Cho một dãy số nguyên gồm 20 số. Hãy viết khai báo dãy số trên bằng một trong hai cách? H ng d n tr l iướ ẫ ả ờ Câu 1. – M ng m t chi u là m t dãy h u h n các ph n t có ả ộ ề ộ ữ ạ ầ ử cùng ki u.ể – Khai báo • Cách 1. Var <Tên bi n m ng> : Array[ki u ch s ] of <ki u ph n t > ;ế ả ể ỉ ố ể ầ ử • Cách 2 : Type <Tên ki u m ng> = Array [<ki u ch s >] of <ki u ph n ể ả ể ỉ ố ể ầ t >;ử Var <tên bi n m ng> : <tên ki u m ng>;ế ả ể ả Câu 2. Khai báo Cách 1. Var a : Array[1 20] of integer ; Cách 2: Type songuyen = Array [1 20] of integer ; Var a : songuyen ; Gi¸o ¸n ®iÖn tö tin häc líp 11 Bài 1. Tìm phần tử lớn nhất của dãy số nguyên , 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. * INPUT: Nhập số nguyên dơng n và dãy n số nguyên dơng a 1 ,a 2 , ,a n . (n 250, A[i] 500) * OUTPUT: Chỉ số và giá trị của phần tử lớn nhất trong dãy. Qu¶ 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 max MAX ý tởng: - Đặt giá trị Max = a 1 . - Lần lợt cho i chạy từ 2 đến N, so sánh giá trị a i với giá trị Max, nếu a i > Max thì Max nhận giá trị mới là a i . Liệt kê các bớc Liệt kê các bớc B1: Nhập N và dãy a B1: Nhập N và dãy a 1 1 , , a , , a N N ; ; B2: Max B2: Max a a 1 1 ; i ; i 2; 2; B3: Nếu i > N thì đa ra giá trị Max rồi kết thúc; B3: Nếu i > N thì đa ra giá trị Max rồi kết thúc; B4: B4: Bớc 4.1: Nếu a Bớc 4.1: Nếu a i i > Max thì Max > Max thì Max a a i i ; ; Bớc 4.2: i Bớc 4.2: i i+1 rồi quay lại B3. i+1 rồi quay lại B3. 1. NhËp n vµ d·y a 1 , ,a n ; 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. Program 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 luong phan tu: ’) ; 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 := 2 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 luong phan tu : 7 Phan tu thu 1 = 15 20 16 25 18 12 19 Gia tri cua phan tu Max : 25 Chi 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 = . 2: Type songuyen = Array [1 20] of integer ; Var a : songuyen ; Gi¸o ¸n ®iÖn tö tin häc líp 11 Bài 1. Tìm phần tử lớn nhất của dãy số nguyên , nếu dãy có nhiều phần tử cùng giá trị thì