Bài giảng chi tiết làm việc với dãy số tin 8, các bước hướng dẫn giảng chi tiết làm việc với dãy số Bài giảng chi tiết làm việc với dãy số tin 8, các bước hướng dẫn giảng chi tiết làm việc với dãy số
Trong Pascal câu lệnh lặp với số lần chưa biết trước có dạng nào? Cách thực sao? 11:46:51 sáng Câu lệnh lặp với số lần chưa biết trước có dạng: While ; Cách thực hiện: 1.Kiểm tra điều kiện 2.Nếu điều kiện sai, câu lệnh bị bỏ qua, việc thực lệnh lặp kết thúc Nếu điều kiện đúng, thực câu lệnh quay lại bước 11:46:52 sáng Giả sử ta cần viết chương trình nhập điểm kiểm tra mơn Tin học học sinh lớp (có n học sinh) in hình điểm số cao Input: Điểm n học sinh Output: Điểm số cao Hãy viết lệnh nhập điểm cho học sinh? 11:46:52 sáng - Nhập điểm cho học sinh - Nhập điểm cho học sinh Khai báo biến sau: Var diem1: real; Readln (diem1); Readln (diem1); Readln (diem2); - Nhập Khai báo biến sau: điểm cho n học sinh sao? Var diem1, diem2: real; 11:46:52 sáng Cần biến cho toán trên? 11:46:52 sáng Var diem1, diem2, diem 3,…, diemn: real; … Chương trình trở nên dài Read(diem1); Việc quản lí Read(diem2); biến khó … Read(diemn); khăn Nhầm lẫn sai sót 11:46:52 sáng Vậy có cách để thay n biến biến hay không? Và thay n lần câu lệnh nhập câu lệnh hay Sử dụng: KIỂU DỮ LIỆU MẢNG không? 11:46:52 sáng 11:46 11:46:53 sáng Dãy số biến mảng Diem1 Diem2 Diem3 Diem4 Diemn … 10 Phần tử mảng Diem1 Diem2 Diem3 Diem4 Diem Chỉ số Diemn ……… …… 10 k Dữ liệu kiểu mảng 11:46:53 sáng Dãy số biến mảng - Dữ liệu kiểu mảng tập hợp hữu hạn phần tử có thứ tự, phần tử có kiểu liệu - Mỗi phần tử xác định số - Biến mảng biến khai báo kiểu liệu kiểu mảng Diem Chỉ số ……… 10 …… k 11:46:53 sáng Ví dụ biến mảng a) Khai báo biến mảng •Lợi ích việc sử dụng biến mảng: Có thể sử dụng biến mảng cách hiệu xử lí liệu Ví dụ: If diem1>8.0 then Write(‘Gioi’); If diem2>8.0 then Write(‘Gioi’); If diem3>8.0 then Write(‘Gioi’); … If diemn>8.0 then Write(‘Gioi’); For i:=1 to n begin If diem[i]>8.0 then Write(‘Gioi’); end; 11:46:53 sáng Ví dụ biến mảng b) Truy cập mảng • Ta sử dụng phần tử biến mảng biến thông thường: gán giá trị, nhập giá trị, tính tốn,… • Truy cập mảng: tên biến mảng[chỉ số] Ví dụ: Var diem:array [1 50] of integer; + Gán giá trị: diem[3]:= 10; + Nhập giá trị cho biến mảng: for i:=1 to readln(diem[i]); + Tính tốn: diem[1]:=diem[3]+diem[2]; + In liệu hình: for i:=1 to 40 if diem[i] >=9.0 then writeln(diem[i]); 11:46:53 sáng Ví dụ biến mảng b) Truy cập mảng • Ta sử dụng phần tử biến mảng biến thông thường: gán giá trị, nhập giá trị, tính tốn,… • Truy cập mảng: tên biến mảng[chỉ số] 11:46:53 sáng Bài LÀM VIỆC VỚI DÃY SỐ Tìm giá trò lớn nhỏ dãy số Ví dụ 3: Viết chương trình nhập N số nguyên từ bàn phím in hình số nhỏ lớn N nhập từ bàn phím Cùng tìm thuật tốn Tìm lớn Ồquả ! Quả lớnrồi Quả bé hơn, bỏ Quả Quả lớn Quả bé lớn hơn, bỏ qua ? qua MAX 7.0 8.0 4.5 9.5 6.0 Tìm giá trò lớn nhỏ dãy số Thuật toán tìm Max dãy số nguyên nhập vào từ bàn phím sau: Bước 1: Nhập N dãy A1, …, An Bước 2: Max A1 Bước 3: Lần lượt gán giá trò từ đến N cho i Với giá trò i thực Nếu Max < Ai Max A1 Bước 4: Đưa hình giá trò Max kết thúc Program vd1; Uses crt; Var A: Array[1 100] of real; i,n: integer; Max,min: real; Khai báo biến mảng BEGIN Clrscr; write( Nhap vao so học sinh : ’) ; readln(n) ; For i := to n Begin write(‘ Nhap diem Hs thu ‘,i,’ : ‘) ; readln(A[i]) ; End; Max:=A[1]; For i := to n If A[i]>Max Then Max := A[i]; Writeln(‘ Diem lon nhat la ', Max:5:1) ; Min:=A[1]; For i := to n If A[i]