Bài giảng Tin học đại cương - Bài 8: Mảng một chiều trình bày khái niệm mảng một chiều, khai báo mảng, sử dụng mảng. Cuối bài giảng có phần bài tập giúp người học có thể ôn tập và củng cố kiến thức đã học.
TIN ĐẠI CƯƠNG Bài 8: MẢNG MỘT CHIỀU Nội dung Khái niệm mảng chiều Khai báo mảng Sử dụng mảng Bài tập Khái niệm mảng chiều Ví dụ : Nhập liệu điểm môn Tin học đại cương cho 120 sinh viên lớp N03 Đếm hiển thị hình điểm thi Sử dụng 120 biến phân biệt d1, d2, ., d120 để lưu trữ xử lí điểm thi ? việc quản lí biến khơng dễ dàng khó sử dụng cấu trúc lặp khơng tổng qt, khó nâng cấp chương trình → Giải pháp : kiểu liệu mảng Mảng Mảng dãy hữu hạn phần tử có kiểu liệu chiếm vùng liên tục nhớ Các phần tử mảng truy cập thông qua số chúng (index) Ví dụ : Mảng A gồm giá trị nguyên kiểu int Các phần tử đánh số từ đến 4 Khai báo mảng Cú pháp : [] ; Ví dụ : int A[5] ; //mảng A có phần tử dạng int float B[10] ; //mảng B có 10 phần tử dạng float với số từ đến Khai báo mảng Có thể gán giá trị ban đầu cho phần tử mảng khai báo mảng cách đặt giá trị hai dấu { } Ví dụ : int A[5] = {100, 34, 23, 213, 500 } ; int A[ ] = {100, 34, 23, 213, 500 } ; //không định cỡ mảng → khai báo mảng với cỡ đủ để chứa giá trị khởi tạo int A[5] = {100, 34, 23 } ; //điền giá trị từ đầu mảng, điền phần lại với giá trị Sử dụng mảng Sử dụng số đặt cặp dấu [ ] để truy cập đến phần tử mảng : [] int A[5] = {100, 34, 23, 213, 500 } ; → A[0] = 100, A[1] = 34, A[2] = 23, A[3] = 213, A[4] = 500 Có thể thao tác với phần tử mảng thao tác với biến thông thường A[0] -= ; A[3] *= ; → → A[0] = 91 A[3] = 426 Chỉ số biến nguyên biểu thức nguyên size = ; → A[size-1] = 500 //phần tử cuối mảng A[size/2] = A[2] = 23 Chú ý Kích thước mảng phải cố định (mảng tĩnh) Mảng khơng thể thay đổi kích thước q trình chương trình chạy Có thể dùng có tên để định kích thước mảng Trình biên dịch báo lỗi Trình biên dịch khơng báo lỗi kich_thuoc biến kich_thuoc Mảng a có 10 thay đổi giá trị phần tử Chú ý Chỉ số đánh số từ đến size-1 C++ "cho phép" vượt khỏi miền, trình biên dịch không phát lỗi ! kết khơng đốn trước ! lập trình viên phải tự kiểm soát miền số Lỗi hay gặp : float diemthi[120] ; diemthi[120] = 8.5 ; //chỉ số 120 nằm miền Một số thao tác Nhập liệu cho mảng In giá trị mảng hình 10 Một số tốn với mảng Tính tổng phần tử mảng Đếm số phần tử dương Tìm phần tử lớn nhất/nhỏ vị trí chúng mảng Sắp xếp mảng theo thứ tự tăng dần/giảm dần 11 Tìm phần tử lớn dãy 12 Sắp xếp dãy số theo thứ tự tăng 13 Bài tập Bài Nhập vào dãy 10 số thực Hiển thị dãy số hình Bài Nhập vào dãy 10 số nguyên số nguyên n Đếm vị trí phần tử dãy có giá trị n nhỏ n ước số n Bài Nhập vào dãy 10 số thực Tìm phần tử nhỏ vị trí dãy số 14 ... niệm mảng chiều Khai báo mảng Sử dụng mảng Bài tập Khái niệm mảng chiều Ví dụ : Nhập liệu điểm môn Tin học đại cương cho 120 sinh viên lớp N03 Đếm hiển thị hình điểm thi Sử dụng 120 biến phân biệt... theo thứ tự tăng 13 Bài tập Bài Nhập vào dãy 10 số thực Hiển thị dãy số hình Bài Nhập vào dãy 10 số nguyên số nguyên n Đếm vị trí phần tử dãy có giá trị n nhỏ n ước số n Bài Nhập vào dãy 10 số... biên dịch báo lỗi Trình biên dịch khơng báo lỗi kich_thuoc biến kich_thuoc Mảng a có 10 thay đổi giá trị phần tử Chú ý Chỉ số đánh số từ đến size-1 C++ "cho phép" vượt khỏi miền, trình biên dịch