1. Trang chủ
  2. » Cao đẳng - Đại học

Hướng dẫn tự học môn cơ sở lập trình đại học kinh tế quốc dân

148 1,2K 1

Đ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 148
Dung lượng 2,28 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

MỤC TIÊU 7  Mô tả được quy trình xây dựng bài toán trên MTĐT;  So sánh được sự khác nhau giữa câu lệnh, chương trình và phần mềm;  Biết được lịch sử ra đời, quá trình hình thành và p

Trang 1

 Nhóm GV: ThS Nguyễn Quỳnh Mai

ThS Cao Thị Thu Hương ThS Trần Thị Mỹ Diệp

TS Phạm Minh Hoàn

 Địa chỉ: BM Công nghệ thông tin - C100, ĐH Kinh tế Quốc dân,

207 Đường Giải Phóng, Hai Bà Trưng, Hà Nội

 Website: http://cntt.neu.edu.vn

 Số điện thoại: (84-4) 36 280280 / 6689

Trang 2

Phân bố thời gian giảng dạy

Trang 3

3

5

 Đánh giá của giảng viên: 10% số điểm

Hình thức: tham dự học, làm bài tập về nhà hàng tuần và

tham gia thảo luận trên lớp

 Kiểm tra giữa kỳ: 20% số điểm

Hình thức: kiểm tra, lập trình trên máy tính

 Thi kết thúc học phần: 70% số điểm

Hình thức: lập trình trên máy tính

 Điều kiện dự thi:

Sinh viên phải có mặt trên lớp tối thiểu 80% số tiết học

PHƯƠNG PHÁP ĐÁNH GIÁ HỌC PHẦN

CHƯƠNG 1

NHỮNG KHÁI NIỆM CƠ BẢN CỦA LẬP TRÌNH

6

Trang 4

MỤC TIÊU

7

 Mô tả được quy trình xây dựng bài toán trên MTĐT;

 So sánh được sự khác nhau giữa câu lệnh, chương trình và

phần mềm;

 Biết được lịch sử ra đời, quá trình hình thành và phát triển

của ngôn ngữ C, C++;

 Liệt kê được các kỹ thuật lập trình cơ bản;

 Giải thích được khái niệm, tính chất và các cách biểu diễn

Trang 5

4. Chuẩn hoá dữ liệu

5. Viết thuật giải cho bài toán

6. Viết chương trình cho bài toán

7. Thử nghiệm chương trình

8. Chạy với dữ liệu thật

9. Phân tích, đánh giá, sử dụng kết quả và viết hướng dẫn sử dụng

9

1.2 Chương trình và lập chương trình

Chương trình: là một dãy các lệnh mà MTĐT hiểu được và cần

thực hiện theo một thứ tự xác định để giải một bài toán nào đó

Lập chương trình: (gọi tắt là lập trình) là quá trình viết chương

trình bằng một công cụ lập trình (ngôn ngữ lập trình) nào đó Người

viết chương trình được gọi là lập trình viên (programmer)

10

Trang 6

1.2 Chương trình và lập chương trình

Phần mềm

Chương trình 2

Chương trình 1

Câu lệnh Câu lệnh Câu lệnh

Trang 7

7

 Ngôn ngữ C được thiết kế bởi Dennis Ritchie tại phòng thí nghiệm

Bell vào đầu những năm 1970

 Sự phát triển của C dựa trên các ngôn ngữ đã có: ALGOL; CPL;

BCPL, B (Ken Thompson, 1970)

 C là ngôn ngữ lập trình được sử dụng rất phổ biến để lập trình hệ

thống cùng với Assembler và phát triển các ứng dụng

 Những năm 1980, ngôn ngữ C có một phiên bản mới là C++ Nó

thực hiện tất cả các chức năng của C, và được bổ sung nhiều khái

niệm và khả năng mới

 C là một ngôn ngữ có cấu trúc Module

 C là ngôn ngữ được các nhà tin học chuyên nghiệp dùng phổ

biến, nhất là trong việc viết các phần mềm hệ thống (hệ điều

hành, chương trình dịch, cơ sở dữ liệu, bảng tính,…)

14

Trang 8

1.4 Các kỹ thuật lập trình

Lập trình có cấu trúc

 Chương trình giải bài toán được chia thành các phần nhỏ hơn, độc

lập với nhau, gọi là các khối chương trình Mỗi khối chương trình

Lập trình hướng đối tượng

 Lập trình hướng đối tượng (Object Oriented Programming): là phương

pháp lập trình cho phép xây dựng các chương trình từ các đối tượng

 Ưu thế của lập trình hướng đối tượng là:

Trang 9

9

1.5 Thuật toán

1.5.1 Khái niệm thuật toán

1.5.2 Các tính chất của thuật toán

1.5.3 Các cách biểu diễn thuật toán

17

1.5.1 Khái niệm thuật toán

18

Thuật toán (giải thuật): là một quá trình gồm một dãy hữu hạn

các thao tác có thể thực hiện đƣợc sắp xếp theo một trình tự nhất

định dùng để giải một bài toán

Trang 10

1.5.2 Các tính chất của thuật toán

Trang 11

 Mỗi đoạn mã giả phải bắt đầu với một từ BEGIN Ðể hiển

thị giá trị nào đó, từ DISPLAY đƣợc dùng Mã giả kết thúc

với từ END

BEGIN DISPLAY ‘Hello World !’

Trang 12

1.5.3 Các cách biểu diễn thuật toán – Lưu đồ

Các biểu tượng trong lưu đồ

1.5.2 Các cách biểu diễn thuật toán - Lưu đồ

Trang 13

13

1.6 Cấu trúc dữ liệu

25

Dữ liệu (Data):

 Là những mẩu tin được máy tính lưu trữ và xử lý hoặc truy suất theo

yêu cầu của người dùng hoặc theo tiến trình hoạt động của máy

 Dữ liệu được chứa trong bộ nhớ của máy tính với một số lượng ô

nhớ nhất định, tính theo đơn vị Byte

Kiểu dữ liệu (Data type): được định nghĩa với hai điểm chính:

 Một tập hợp các giá trị (miền giá trị) mà một biểu thức thuộc kiểu

đó có thể nhận được

 Trên đó xác định một số phép toán

1.6 Cấu trúc dữ liệu

26

Cấu trúc dữ liệu: là một cách tổ chức các dữ liệu thành một đơn

vị hoàn chỉnh bao gồm các thành phần (phần tử) là các dữ liệu cơ

bản, các mối liên kết giữa các phần tử ấy và các thao tác cơ bản trên

chúng Các thao tác này thường được gọi là các phép toán trên cấu

trúc dữ liệu xác định

Mối quan hệ giữa cấu trúc dữ liệu và giải thuật

Chương trình = Cấu trúc dữ liệu + Giải thuật

Trang 14

TÓM TẮT CHƯƠNG 1

27

 Một số thuật ngữ cơ bản: câu lệnh, chương trình, lập trình,

lập trình cấu trúc, lập trình hướng đối tượng, dữ liệu, cấu

trúc dữ liệu

 Các bước trong quy trình giải toán trên máy tính

 Lịch sử hình thành và phát triển của ngôn ngữ C, C++ Ưu

điểm của ngôn ngữ lập trình C

 Khái niệm thuật toán và các cách biểu diễn thuật toán

CHƯƠNG 2

28

CÁC KHÁI NIỆM CƠ BẢN CỦA

NGÔN NGỮ LẬP TRÌNH C

Trang 15

15

MỤC TIÊU

29

 Giải thích được khái niệm cơ bản về ngôn ngữ lập trình C

 Mô tả một số quy tắc khi viết chương trình

 Trình bày cấu trúc một chương trình C

 Làm quen với môi trường lập trình C

NỘI DUNG

30 2.1 Các khái niệm cơ bản

2.2 Một số quy tắc khi viết chương trình

2.3 Cấu trúc một chương trình

2.4 Giới thiệu môi trường lập trình C

Trang 16

2.1 Các khái niệm cơ bản

31 2.1.1 Tập ký tự dùng trong ngôn ngữ C

Trang 17

Đặt tên cho kiểu dữ liệu: int, float, double…

Mô tả các lệnh, các cấu trúc lập trình: if, while, case…

 Chú ý:

• Tất cả từ khóa trong C đều viết bằng chữ cái thường

Trang 18

2.1.2 Từ khoá

35

Từ khóa hay dùng trong C

break case char const continue

default

do double else enum float for

goto if int interrupt long

 Định danh (Identifier – hoặc còn gọi là Tên) là một dãy các

kí tự dùng để gọi tên các đối tượng trong chương trình

 Các đối tượng trong chương trình:

Trang 19

19

2.1.3 Cách đặt tên trong C

37

 Quy tắc đặt tên (định danh) trong C

 Các kí tự được sử dụng: chữ cái, chữ số và dấu gạch dưới “_”

 Bắt đầu của định danh phải là chữ cái hoặc dấu gạch dưới

“_”, không được bắt đầu định danh bằng chữ số

 Định danh do người lập trình đặt không được trùng với các

• so luong, ti le (có dấu cách - kí tự không hợp lệ)

• int, char (trùng với từ khóa của ngôn ngữ C)

Trang 20

nhap_du_lieu, tim_kiem, xu_li Hàm

sinh_vien, mat_hang Cấu trúc

 Mỗi câu lệnh có thể viết trên một hoặc nhiều dòng, nhưng phải

được kết thúc bởi dấu chấm phảy (;)

 Xâu ký tự phải được viết trong một cặp dấu nháy kép Mỗi xâu

ký tự chỉ được viết trên một dòng

 Dấu ; được dùng để ngăn cách các câu lệnh và bắt buộc phải viết

vào Tuy nhiên trong chương trình C có một số chỗ không dùng

Trang 21

- Trên phần còn lại của dòng

2.2 Một số quy tắc khi viết chương trình

42

Quy tắc 3

 Trong chương trình có sử dụng hàm chuẩn thì đầu chương trình

cần khai báo thư viện chứa hàm đó như sau:

Trang 22

2.2 Một số quy tắc khi viết chương trình

43

Quy tắc 4: Cấu trúc chương trình C

Một chương trình C có một hàm main() bắt buộc và có thể

có thêm nhiều hàm khác

 Hàm của C là đoạn chương trình được viết ra một lần song

có thể sử dụng nhiều lần

 Về nguyên tắc hàm phải trả lại một giá trị nào đó cho tên

hàm Riêng đối với hàm main( ), chúng ta không trả lại kết

quả cho main nên người ta cũng thường viết void main( )

2.3 Cấu trúc một chương trình

44 2.3.1 Cấu trúc tổng quát

2.3.2 Câu lệnh

2.3.2 Khối lệnh

2.3.3 Hàm

2.3.4 Ví dụ

Trang 23

Phần 1: Khai báo tệp tiêu đề: #include < >

Phần 2: Định nghĩa kiểu dữ liệu mới: typedef

Phần 3: Khai báo các nguyên mẫu hàm

Phần 4: Khai báo các biến toàn cục

Phần 5: Hàm main()

Phần 6: Nội dung các hàm đã khai báo

Trang 24

2.3.1 Cấu trúc tổng quát

47

 Phần 1: Khai báo tệp tiêu đề:

• Thông báo cho chương trình dịch biết là chương trình có sử

dụng những thư viện nào

• VD: #include <stdio.h> // chứa các hàm vào ra dữ liệu

#include <math.h> // chứa các hàm toán học

 Phần 2: Định nghĩa các kiểu dữ liệu mới

• Định nghĩa các kiểu dữ liệu mới (nếu cần) dùng cho cả chương

trình

2.3.1 Cấu trúc tổng quát

48

 Phần 3: Khai báo các nguyên mẫu hàm:

Giúp cho chương trình dịch biết được những thông tin cơ bản của

Trang 25

Trong hàm main( ) có thể có lệnh gọi tới các hàm khác

 Phần 6: Nội dung của các hàm đã khai báo

• Cài đặt (viết mã) cho các hàm đã khai báo nguyên mẫu ở phần 3

2.3.2 Câu lệnh

50

• Bắt đầu bằng một từ khóa, có thể viết trên một hoặc nhiều dòng

• Kết thúc câu lệnh bằng một dấu chấm phảy (;)

Trang 26

2.3.2 Khối lệnh

51

• Khối lệnh là một dãy các câu lệnh đặt trong dấu ngoặc nhọn {}

• Không đặt dấu ; sau dấu ngoặc nhọn kết thúc

• Khối lệnh tương đương với câu lệnh riêng lẻ về mặt cú pháp

2.3.3 Hàm

52

 Hàm là đơn vị làm việc độc lập của chương trình:

 Các hàm có vai trò ngang nhau Không cho phép xây dựng một

hàm ở bên trong một hàm khác

 Mỗi hàm có các biến, mảng,… riêng của mình và chúng chỉ

được sử dụng nội bộ bên trong của hàm Nói cách khác hàm có

tính chất khép kín

Trang 27

27

TÓM TẮT CHƯƠNG 2

53

 Một số khái niệm cơ bản: tập kí tự, từ khóa, cách đặt tên

Cấu trúc một chương trình C và 4 quy tắc cần nhớ khi viết

chương trình

 Cài đặt môi trường lập trình C: Có thể lựa chọn một trong

các công cụ sau: Turbo C, Borland C; Dev C, C Free; Code

Trang 28

 Liệt kê, thảo luận các loại biểu thức, toán tử

 Hiểu, áp dụng đƣợc việc chuyển đổi kiểu giá trị

NỘI DUNG

3.1 Các kiểu dữ liệu cơ bản

3.2 Các kiểu dữ liệu dẫn xuất

Trang 29

29

3.1 Các kiểu dữ liệu cơ bản

57 3.1.1 Kiểu số nguyên (int)

3.1.2 Kiểu số thực với độ chính xác đơn (float)

3.1.3 Kiểu số thực với độ chính xác kép (double)

3.1.4 Kiểu kí tự

3.1.5 Kiểu void

void char

double

3.1 Các kiểu dữ liệu cơ bản

Kiểu dữ liệu cơ bản

float

int

58

Trang 32

3.1.5 Kiểu void

63

 Không lưu bất cứ dữ liệu gì

 Báo cho trình biên dịch không có giá trị trả về

3.2 Các kiểu dữ liệu dẫn xuất

int

( chiếm ít bộ nhớ hơn int )

Kiểu dữ liệu dẫn xuất Kiểu dữ liệu

Trang 33

33

3.3 Hằng

Hằng (constant): là một đại lượng không thay đổi trong suốt thời

gian thực hiện chương trình

Trang 34

const int SI_SO_LOP = 50;

const float DIEM_CHUAN = 20.5;

const char CN[20] = “Cong nghe”;

Trang 35

35

3.4 Biến

69 3.4.1 Khái niệm

3.4.2 Khai báo biến

3.4.3 Khởi tạo giá trị cho biến

3.4.1 Khái niệm

 Biến là đại lượng có thể thay đổi trong quá trình tính toán

 Các ngôn ngữ lập trình hiện đại cho phép sử dụng các tên tượng

trưng gọi là biến (variable), chỉ đến một vùng bộ nhớ nơi mà các

giá trị cụ thể được lưu trữ

70

Trang 36

3.4.2 Khai báo biến

 Một biến trước khi sử dụng phải được khai báo

 Cú pháp khai báo:

kiểu_dữ_liệu tên biến;

char int ch; // biến kiểu kí tự

 Nếu các biến thuộc cùng kiểu dữ liệu thì có thể khai báo trên

cùng một dòng:

kiểu_dữ_liệu danh sách tên biến;

float x, y;

72

Trang 37

37

3.4.3 Khởi tạo giá trị cho biến

 Có thể khởi tạo giá trị cho biến trong dòng khai báo bằng cú

Trang 38

3.5.1 Định nghĩa mảng

3.5.1 Định nghĩa mảng:

Mảng là một tập hợp các phần tử dữ liệu có cùng kiểu Mỗi phần tử

được lưu trữ ở các vị trí kế tiếp nhau trong bộ nhớ Những phần tử

Trang 39

 Các phần tử của mảng có cùng kiểu dữ liệu

 Mỗi phần tử của mảng có thể đƣợc sử dụng nhƣ một biến riêng lẻ

 Kiểu dữ liệu của mảng có thể là int, char, float hoặc double

3.5.4 Một số quy tắc sử dụng mảng

Trang 40

3.5.5 Quản lý mảng trong C

79

 Trong ngôn ngữ C, mảng được “đối xử” không giống hoàn toàn

với biến

 Hai mảng có cùng kiểu và cùng kích thước cũng không được xem

là tương đương nhau

 Không thể gán trực tiếp một mảng cho một mảng khác Phải gán

trị cho từng phần tử của mảng

3.5.6 Khởi tạo mảng

80

 Các mảng cũng có thể được khởi tạo khi khai báo Điều này được

thực hiện bằng việc gán tên mảng với một danh sách các giá trị

phân cách nhau bằng dấu phẩy, đặt trong cặp dấu ngoặc nhọn {}

 Các giá trị này được gán cho các phần tử trong mảng theo đúng

thứ tự xuất hiện

 Ví dụ:

int deci[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};

static float rates[4] = {0.0, -2.5, 13.75, 18.0};

char company[5] = {„A‟, „P‟, „P‟, „L‟, „E‟};

Trang 41

 Mỗi ký tự trong chuỗi chiếm một byte và ký tự cuối cùng của

chuỗi là “\O” (null)

 Các hàm xử lý chuỗi đƣợc tìm thấy trong thƣ viện chuẩn

<string.h>

3.5.7 Chuỗi - Mảng kí tự

Tên hàm Chức năng

strcmp(s1, s2) Trả về 0 nếu s1 và s2 là giống nhau; nhỏ hơn 0 nếu s1<s2; lớn hơn

0 nếu s1> s2

strstr(s1, s2) Trả về một con trỏ trỏ đến vị trí xuất hiện đầu tiên của chuỗi s2

trong chuỗi s1

82

Trang 42

3.6 Lớp lưu trữ

83

 Mỗi biến trong C có một tính chất được gọi là lớp lưu trữ

 Lớp lưu trữ định nghĩa hai đặc tính của biến:

Thời gian sống của một biến là khoảng thời gian nó duy trì

3.7.2 Toán tử

Trang 43

43

3.7.1 Biểu thức

85 Biểu thức là sự kết hợp các toán tử và các toán hạng

- Nếu BT đúng, giá trị biểu thức là E1

- Ngƣợc lại giá trị của biểu thức là E2

và y

86

Trang 44

3.7.2 Toán tử

87

Toán tử gán:

Toán tử gán (=) có thể đƣợc dùng với bất kỳ biểu thức C hợp lệ nào

(Giá trị trái) (Giá trị phải)

Nhị phân (Bitwise)

Trang 45

45

Toán tử số học

89 Những toán tử số học đƣợc sử dụng để thực hiện những thao tác

mang tính số học Chúng đƣợc chia thành hai lớp :

Toán tử số học một ngôi (unary)

Toán tử số học hai ngôi (binary)

Trang 46

Toán tử quan hệ (so sánh)

91

Toán tử quan hệ: Ðƣợc dùng để kiểm tra mối quan hệ giữa hai

biến hay giữa một biến và một hằng

Toán tử luận lý: là những ký hiệu dùng để kết hợp hay phủ định

biểu thức chứa các toán tử quan hệ

Toán tử Ý nghĩa

&& AND: Kết quả là True khi cả 2 điều kiện

đều đúng

|| OR : Kết quả là True khi chỉ một trong

hai điều kiện là đúng (đúng cả khi cả hai

đk đúng)

! NOT: Tác động trên các giá trị riêng lẻ,

chuyển đổi True thành False và ngƣợc lại

Trang 47

47

Độ ƣu tiên của các toán tử

93

 Độ ƣu tiên của toán tử so sánh luôn đƣợc tính từ trái sang phải

 Độ ƣu tiên của toán tử luận lý theo thứ tự là: NOT, AND, OR

 Khi có nhiều toán tử luận lý trong một điều kiện, ta áp dụng quy

tắc tính từ phải sang trái

Khi một biểu thức có nhiều loại toán tử thì độ ƣu tiên giữa chúng

phải đƣợc thiết lập theo thứ tự sau:

3.8.2 Ví dụ

3.8.3 Ép kiểu

Trang 48

3.8 Chuyển đổi kiểu giá trị

95

 Việc chuyển đổi kiểu giá trị thường diễn ra một cách tự động

trong hai trường hợp sau:

 Khi biểu thức gồm các toán hạng khác kiểu

 Khi gán một giá trị kiểu này cho một biến kiểu kia

 Ngoài ra, ta cũng có thể chuyển từ một kiểu giá trị sang một kiểu

bất kỳ mà ta muốn bằng phép ép kiểu

96

1 char và short được chuyển thành int và float được chuyển thành

double

2 Nếu có một toán hạng kiểu double, toán hạng còn lại sẽ được

chuyển thành double, và kết quả là double

3 Nếu có một toán hạng kiểu long int, toán hạng còn lại sẽ được

chuyển thành long int, và kết quả là long int

4 Nếu có một toán hạng là unsigned, toán hạng còn lại sẽ được

chuyển thành unsigned và kết quả cũng là unsigned

5 Nếu tất cả toán hạng kiểu int, kết quả là int

3.8.1 Quy tắc chuyển đổi kiểu giá trị tự động

Ngày đăng: 22/01/2017, 11:57

HÌNH ẢNH LIÊN QUAN

Bảng mã định dạng: - Hướng dẫn tự học môn cơ sở lập trình đại học kinh tế quốc dân
Bảng m ã định dạng: (Trang 53)
Hình thức - Hướng dẫn tự học môn cơ sở lập trình đại học kinh tế quốc dân
Hình th ức (Trang 88)
Hình thức. - Hướng dẫn tự học môn cơ sở lập trình đại học kinh tế quốc dân
Hình th ức (Trang 91)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

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