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

Bài giảng Nhập môn Tin học: Chương 3 - Ngô Quang Thạch

22 32 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 22
Dung lượng 540,35 KB

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 giảng Nhập môn Tin học: Chương 3 do Ngô Quang Thạch biên soạn nhằm mục đích phục vụ cho việc giảng dạy. Nội dung bài giảng gồm: Khái niệm cấu trúc dữ liệu, kiểu mảng (ARRAY), sắp xếp mảng, tìm kiếm trong mảng. Mời các bạn cùng tham khảo bài giảng.

Trang 1

NGÔ QUANG THẠCH

NHẬP MÔN TIN HỌC

Chương 3

Trang 3

Khái niệm cấu trúc dữ liệu

Real, Char, Boolean,

Trang 5

Mon: writeln('Ngày thứ hai');

Tue: writeln('Ngày thứ ba');

Wed: writeln('Ngày thứ tư');

Thu: writeln('Ngày thứ năm');

Fri: writeln('Ngày thứ sáu');

Sat: writeln('Ngày thứ bảy');

Else writeln('Nhập sai');

end;

Readln;

END

Trang 6

KIỂU MẢNG

Một MẢNG dữ liệu là một tập hợp số hữu hạn phần tử, giống như các biến có cùng kiểu

MẢNG được tổ chức theo một trật tự xác

định Số phần tử của mảng được khai báo ngay

từ khi định nghĩa ra mảng

Trang 7

KHAI BÁO MẢNG

Cú pháp:

TYPE <Tên mảng> = ARRAY [chỉ số] OF <Kiểu dữ liệu>;

VAR <Biến mảng>:<Tên mảng>;

Hoặc khai báo trực tiếp:

VAR <Biến mảng> : ARRAY [chỉ số] OF <Kiểu dữ liệu>;

Trang 8

Truy xuất các phần tử của mảng

Mỗi phần tử của mảng được truy xuất thông qua Tên Biến Mảng cùng với chỉ số của mảng trong dấu ngoặc vuông [ ]

VAR A : ARRAY [1 10] OF integer;

Ví dụ tên biến mảng là A, khi viết A[7], ta

hiểu nó là phần tử thứ 7 của mảng A

A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] A[9] A[10]

Trang 9

 Khai báo mảng

VAR A : ARRAY [1 10] OF integer;

 Gán giá trị cho mảng:

 A[1]:= 10; {gán giá trị 10 cho phần tử thứ 1}

 A[2]:= 15; {gán giá trị 15 cho phần tử thứ 2}

 ….

 A[10]:=100; {gán giá trị 100 cho phần tử thứ 10}

 Đọc một giá trị vào phần tử

 Readln(A[1]);

Trang 10

 Ví dụ: Viết chương trình nhập vào giá trị nguyên cho một mảng 10 phần tử:

VAR a: array [1 10] of Integer;{khai báo mảng}

Trang 11

Ví dụ: Viết chương trình xuất ra giá trị của

Trang 12

SẮP XẾP MẢNG

 Coi phần tử đầu tiên là số nhỏ nhất

 Đem phần tử đầu tiên đó so sánh lần

lượt với các số còn lại trong dãy số Nếu

có phần tử thứ i nào đó nhỏ hơn nó thì

đổi chỗ của phần tử ấy cho nó Như vậy

sau khi duyệt xong dãy số, phần tử đầu

tiên là phần tử nhỏ nhất

 Lặp lại thuật toán lần lượt với các phần

tử thứ 2, thứ 3 vv

For i := 1 to n - 1 do For j := i +1 to n do

if A[ i ] >A[ j ] then Begin

Tam := A[i]; A[i] := A[j];

A[j] := Tam; End;

Trang 13

6<8 nên không làm gì J=4, so sánh A[i] với A[j]

6<9 nên không làm gì J=5, so sánh A[i] với A[j]

6>5 => hoán đổi 2 số

Kết quả sau lần 1: 5, 7, 8, 9, 6

Trang 14

7<9 nên không làm gì J=5, so sánh A[i] với A[j]

7>6 => hoán đổi 2 số

Kết quả sau lần 2: 5, 6, 8, 9, 7

Trang 15

8>7 => Hoán đổi 2 số

Kết quả sau lần 3: 5, 6, 7, 9,8

Trang 18

Ví dụ tìm kiếm:

Var A:Array[1 10] of integer;

X, n,i,ViTri: Integer;

BEGIN

Writeln(‘Nhap N=’); Readln(n); {Nhập giá trị vào mảng}

Writeln(‘Nhap Gia tri can tim:’); Readln(X);

If (ViTri >0) then Write(X, ‘Vi tri thu’, ViTri )

Else Write(X,‘Khong co trong mang’);

Trang 19

Bài tập

Viết chương trình nhập vào một mảng, tìm giá trị lớn nhất của một mảng chứa các số nguyên gồm N phần tử

Ý tưởng:

- Cho số lớn nhất là số đầu tiên: Max:=a[1]

- Duyệt qua các phần tử a[i], với i chạy từ 2 tới N: Nếu a[i]>Max thì thay Max:=a[i];

Trang 21

Bài tập

Viết chương trình nhập vào một mảng, tính giá trị trung bình của một mảng chứa các số nguyên gồm N phần tử

Ý tưởng:

-Tính tổng các giá trị a[i], với i chạy từ 1 tới N

- Giá trị trung binh = tổng / N

Trang 22

Thank You !

Ngày đăng: 08/05/2021, 12:54

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm