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

Bài giảng Cơ sở lập trình: Chương 8 - Lê Viết Mẫn

23 8 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 23
Dung lượng 569,96 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 Cơ sở lập trình: Chương 8 - Các cấu trúc dữ liệu khác. Nội dung chính trong chương này gồm có: Cấu trúc (struct), cấu trúc với bảng dữ liệu, một số thao tác với struct, truyền struct cho hàm, trả về struct, cấu trúc lồng nhau, tập tin (file),... Mời các bạn cùng tham khảo.

Trang 1

v 1.0 - 11/2012

Các cấu trúc dữ liệu khác

Trang 4

Nội dung

1 Cấu trúc

2 Tập tin

Trang 5

Cấu trúc

struct

Đây là lý thuyết cấu trúc theo Lập trình Cấu trúc (sử dụng ngôn ngữ C#),

Trang 6

Cấu trúc

• Tập hợp các biến được tham chiếu bởi cùng một tên

• Khai báo một cấu trúc chỉ như một cái “khuôn” (không được cấp phát bộ

nhớ)

• Các cấu trúc được khai báo trong class Program và ngoài các hàm

• Các khai báo biến (variable declarations) có thể có bất kỳ kiểu gì ngoại

trừ kiểu struct đang được khai báo

Mỗi biến được gọi là một thành viên hay trường

• Trong C#, khai báo một struct nghĩa là định nghĩa ra một kiểu

Trang 7

! public int modelnumber;

! public int partnumber;

! public float cost;

};

Part p1, p2, p3;

Trang 8

Sử dụng

• Bộ nhớ không được cấp phát cho khai báo struct, mà chỉ cấp phát cho các

khai báo biến

• Một biến kiểu struct được cấp phát trên stack

• Khi khai báo biến, các thành phần không được khởi gán giá trị

• Các thành phần chỉ có thể được truy xuất một khi đã được gán dữ liệu

• Toán tử dấu chấm được dùng để truy xuất thành phần của struct

static void Main(){

12

XY

Trang 9

! public int year;

public int month;

public int day;

Trang 10

Một số thao tác

Date[] dates = new Date[10];

Trang 11

Truyền struct cho hàm

static void PrintDate(Date d)

Trang 12

! Console.Write("Enter a year : ");

! d.year = int.Parse(Console.ReadLine());

! Console.Write("Enter a month : ");

! d.month = int.Parse(Console.ReadLine());

! Console.Write("Enter a day : ");

! d.day = int.Parse(Console.ReadLine());

Trang 13

Cấu trúc lồng nhau

struct Range

{

! public Date start;

! public Date end;

};

struct Date

{

! public int year;

public int month;

public int day;

! Date end;! ! // error

};

Range r;

r.start.year = 1776;

Trang 14

Tập tin

File

Trang 15

Tập tin văn bản

• Có hai loại tập tin

• Tập tin nhị phân

• Tập tin văn bản

• Namespace System.IO cung cấp hai lớp StreamWriter và

StreamReader để ghi và đọc các tập tin văn bản

• Cả hai lớp này đều làm việc với ký tự Unicode

• Các bước cần thiết để làm việc với tập tin nhị phân :

• Mở tập tin

• Đọc/ghi tập tin

• Đóng tập tin

Trang 16

Close() Hàm này đóng tập tin và giải phóng các tài nguyên

Flush() Hàm này thực hiện ghi dữ liệu trong bộ đệm vào tập tin và

xoá sạch bộ đệm ghiNewLine Thuộc tính chỉ ký tự xuống dòng và về đầu dòngWrite() Hàm này ghi dữ liệu ra tập tin và không xuống dòngWriteLine() Hàm này ghi dữ liệu ra tâp tin có xuống dòng

Trang 17

Ví dụ

static void Main( string [] args)

{

// Mở tập tin

StreamWriter writer = new StreamWriter ("reminders.txt");

if (writer == null ) return ; // error

// Ghi dữ liệu vào tập tin

writer.WriteLine("Don’t forget Mother’s Day this year "); writer.WriteLine("Don’t forget these numbers:");

for ( int i = 0; i < 10; i++)

Trang 18

Peek() Hàm này trả ra ký tự tiếp theo mà không thay đổi vị trí đầu

đọc Trả ra giá trị -1 để báo kết thúc tập tin

Read() Hàm đọc dữ liệu từ tập tin

ReadBlock() Hàm đọc một số lượng ký tự xác định từ tập tin và ghi vào

bộ đệmReadLine() Hàm đọc một dòng ký tự và trả ra một chuỗi ký tự stringReadToEnd() Hàm đọc tất cả ký tự từ vị trí hiện tại đến cuối tập tin và trả

về một chuỗi ký tự duy nhất

Trang 19

Ví dụ

static void Main( string [] args)

{

// Mở tập tin

StreamReader reader = new StreamReader ("reminders.txt");

if (reader == null ) return ;

// Đọc từng dòng văn bản trong tập tin

string input = null ;

while ((input = reader.ReadLine()) != null )

Trang 20

Tổng kết

Trang 21

Cơ sở lập trình

• Cái cốt lõi là tư duy lập trình chứ không phải là ngôn ngữ

• Cấu trúc điều khiển

• Biểu thức điều kiện

• Biến, hằng, kiểu dữ liệu

• Hàm (chia nhỏ chương trình lớn)

Trang 22

Tư duy lập trình là

tư duy của máy tính

Cách máy tính thực hiện chương trình

Trang 23

Cảm ơn sự chú ý

Câu hỏi ?

Ngày đăng: 21/05/2021, 14:57

TỪ KHÓA LIÊN QUAN

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