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

Bài giảng tin học đại cương chương 4 trần quang hải bằng

39 390 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 39
Dung lượng 1,26 MB

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

Nội dung

Tin học đại cương - Chương 4 3bangtqh@utc2.edu.vn Khái niệm lập trình cho máy tính Giới thiệu ngôn ngữ lập trình C q Ngôn ngữ C ra ñời năm 1972 q Phát triển thành C++ vào năm 1983 q Là n

Trang 1

TIN HỌC ðẠI CƯƠNG

Chương 4: Lập trình cho máy tính

Nội dung

q Khái niệm.

q Giới thiệu ngôn ngữ lập trình C.

q Các khái niệm cơ bản trong C.

q Các lệnh nhập/xuất dữ liệu.

q Cấu trúc điều khiển rẽ nhánh.

q Cấu trúc điều khiển lặp.

q Bài tập.

Trang 2

Tin học đại cương - Chương 4 3

bangtqh@utc2.edu.vn

Khái niệm lập trình cho máy tính

Giới thiệu ngôn ngữ lập trình C

q Ngôn ngữ C ra ñời năm 1972

q Phát triển thành C++ vào năm 1983

q Là ngôn ngữ ñược sử dụng rất phổ biến

q Có nhiều trình biên dịch C khác nhau

Trang 3

Tin học đại cương - Chương 4 5

Xuống dòng Enter

Chức năng Phím

IDE Borland C++ 5.02

Một số phím soạn thảo (tiếp theo)

Tìm kiếm cụm từ và sau ñó thay thế bằng cụm từ khác Ctrl + Q + A

Tìm kiếm một cụm từ Ctrl + Q + F

Dịch chuyển con trỏ về cuối khối Ctrl + Q + K

Dịch chuyển con trỏ về ñầu khối Ctrl + Q + B

Đọc một khối từ một tệp trên đĩa Ctrl + K + R

Ghi một khối vào một tệp trên đĩa Ctrl + K + W

Xóa cả khối Ctrl + K + Y

Chuyển khối tới vị trí mới của con trỏ Ctrl + K + V

Chép khối tới vị trí mới của con trỏ Ctrl + K + C

Chức năng Phím

Trang 4

Tin học đại cương - Chương 4 7

bangtqh@utc2.edu.vn

Chương trình “Hello world”

chỉ thị tiền xử lý Hàm chính của chương trình

Dấu bắt đầu và kết thúc của

định nghĩa hàm

Kết quả thu ñược khi biên dịch

và chạy chương trình trên

Từ khóa (Key word)

q Là các từ dành riêng của ngôn ngữ C

q Từ khóa phải được sử dụng đúng cú pháp

q Một số từ khóa thông dụng

union unsigned void volatile while

Trong IDE Borland C++ 5.02

từ khóa in đậm

và có màu blue

Trang 5

Tin học đại cương - Chương 4 9

bangtqh@utc2.edu.vn

Tên (định danh)

q Dùng để ñịnh danh các thành phần của chương trình

q Tên biến, tên hàm, tên hằng, file, cấu trúc…

q Gồm chữ , số , dấu gạch nối “_”

q Độ dài tối đa 32

q Lưu ý:

– không đuợc chứa kí tự trống (space),

– không được bắt đầu bằng một chữ số,

– không được trùng với từ khóa

q Nên đặt tên một cách gợi nhớ, có ý nghĩa.

q Tên chuẩn: một số tên có sẵn của trình biên dịch.

Vd: x, hoten, a1, number_of_var, delta, TEN, …

q C là ngôn ngữ phân biệt viết hoa, viết thường chính xác đến từng ký tự

– Là công thức tính toán để có 1 giá trị theo quy tắc toán học

– Gồm các toán hạng và các phép toán (toán tử)

• Toán hạng: hằng, biến, hàm hoặc biểu thức khác.

• Phép toán: Số học, luận lý, gán, ñiều kiện, lấy địa chỉ, tăng giảm

Trang 6

Tin học đại cương - Chương 4 11

#define #undefine #include

#ifdef#else #endif

#error

Trang 7

Tin học đại cương - Chương 4 13

bangtqh@utc2.edu.vn

Các kiểu dữ liệu chuẩn

3.4e -4932 1.1e 4932

10 byte long double

1.7e -308 1.7e 308

8 byte double

3.4e -38 3.4e 38

4 byte float

- 2 31 2 32 - 1

4 byte unsigned long

- 2 31 2 31 - 1

4 byte long

0 65535

2 byte short

0 65535

2 byte unsigned int

-32768 32767

2 byte int

0 255

1 byte unsigned char

-128 127

1 byte char

Phạm vi

Độ lớn Tên kiểu

1 byte char

Phạm vi

Độ lớn Tên kiểu

Trang 8

Tin học đại cương - Chương 4 15

Lưu ý: hằng phải được khai báo trước khi sử dụng

Trang 9

Tin học đại cương - Chương 4 17

bangtqh@utc2.edu.vn

Khai báo biến

Cú pháp

kiểudữliệu TÊNBIẾN = giátrịbanđầu;

Trang 10

Tin học đại cương - Chương 4 19

TênBiến = Biểu thức giá trị ;

Tại sao sai ?

log(x) lấy logex

abs(x) lấy |x| (kết quả là số nguyên)

fabs(x) lấy |x| (kết quả là số thực)

pow(x, y) lấy x y

ceil(x) lấy số nguyên gần x nhất

floor(x) lấy số nguyên lớn nhất ≤ x

Các biểu thức phức tạp phải sử dụng biến đổi toán học ñể có ñược biểu diễn tương ứng trong C

Trang 11

Tin học đại cương - Chương 4 21

bangtqh@utc2.edu.vn

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

q Đặt tênbiến, hằng, hàm,… một cách gợi nhớ

q Khi sử dụng biến, hằng cần kiểm tra lại xem biến hằng đó ñã ñược

khai báo trước đó hay chưa ?

q C là ngôn ngữ phân biệt hoa/thường phải kiểm tra kỹ từng ký tự

khi viết

q Loại bỏ các chỉ thị#include <file *.h>không cần thiết (để lại sẽ làm chậm quá trình biên dịch và tăng kích thước file *.exe sau biên dịch)

q Viết chương trình theo cấu trúc khối (phân cấp thụt đầu dòng)

q Chương trình viết xong chưa thể biết được đúng hay sai phải chạy thửvới các bộ số liệu khác nhau (nên test thử với các bộ sốliệu đặc biệt)

Trang 12

Tin học đại cương - Chương 4 23

bangtqh@utc2.edu.vn

Xuất dữ liệu, hàm: printf

q Thuộc thư viện “ stdio.h ”

• \f sang trang mới

• \b xóa kí tự bên trái

Trang 13

Tin học đại cương - Chương 4 25

Trang 14

Tin học đại cương - Chương 4 27

– Nhỏ hơn hoặc bằng độ rộng thực tế in bình thường

– Lớn hơn độ rộng thực tế (chèn thêm khoảng trống cho đủ ñộrộng là w (nếu có dấu trừ chèn bên phải, ngược lại chèn bên trái)

q Giá trị p: quy ñịnh làm tròn đến bao nhiêu chữ số ñằng sau chấm thập phân.

Hàm puts

q Thư viện: “conio.h”

q Công dụng: in ra màn hình 1 xâu ký tự

q Ví dụ:

Trang 15

Tin học đại cương - Chương 4 29

bangtqh@utc2.edu.vn

Hàm sprintf

q Thư viện: “stdio.h”

q Công dụng: giống printf, chỉ khác ở ñiểm kết quả không xuất ra màn hình mà ñưa vào 1 biến xâu.

q Ví dụ:

Nhập dữ liệu, hàm: scanf

q Thuộc thư viện “ stdio.h ”

q Cú pháp:

– Xâu điều khiển: Cho phép định dạng dữ liệu nhập vào

– Danh sách tham số : Là ñịa chỉ các biến cần nhập liệu

q Sử dụng toán tử & ñể xác định địa chỉ các biến

Trang 16

Tin học đại cương - Chương 4 31

bangtqh@utc2.edu.vn

q Không thông báo cho

người dùng biết giá trị cần

Trang 17

Tin học đại cương - Chương 4 33

bangtqh@utc2.edu.vn

Kết hợp nhập và xuất dữ liệu

Kết quả chương trình ?

Hàm gets

q Thư viện: “conio.h”

q Công dụng: nhập vào 1 xâu ký tự

q Ví dụ:

Liệu có dùng gets nhập 1 số không?

Trang 18

Tin học đại cương - Chương 4 35

Trang 19

Tin học đại cương - Chương 4 37

3 2 1 0

Bài tập - Nhập/xuất dữ liệu

1 Viết chương trình cho nhập các hệ số của phương trình bậc nhất 1 ẩn

ax+b=0 (với a≠0) hãy in ra màn hình nghiệm của phương trình đã cho

2 Viết chương trình hiển thị ra màn hình số tiền phải trả cho 1 cuộc gọi

điện thoại N giây Biết rằng cước gọi tính theo mỗi block là xñ, và 1 block bằng 6 giây Các giá trị x, N nhập từ bàn phím

3 Viết chương trình nhập tọa độ của 3 ñiểm A, B, C trên mặt phẳng Tính và in ra màn hình chu vi, diện tích của tam giác ABC

4 Viết chương trình nhập họ tên, hệ số lương của 1 nhân viên Tính và

in ra màn hình lương còn lĩnh của nhân viên đó sau khi trừ ñi các khoản: BHYT 1.5%, BH thất nghiệp 1% và ðảng phí 1%

5 Viết chương trình hiện ra màn hình thể tích của tứ diện ABCD biết rằng A, B, C có tọa độ nhập từ bàn phím (XA, YA) (XB, YB) (XC, YC) và

chiều cao từ ñỉnh D xuống mặt phẳng ABC là h

Trang 20

Tin học đại cương - Chương 4 39

- Thực hiện 1 trong 2 lệnh tùy thuộc vào điều kiện đúng/sai

- Nếu thực nhiện nhiều hơn 1 lệnh phải để trong cặp dấu { }

Rẽ nhánh if

Trang 21

Tin học đại cương - Chương 4 41

FALSE TRUE

FALSE

FALSE

FALSE TRUE

B

FALSE FALSE

FALSE TRUE

TRUE

TRUE

A && B A

TRUE TRUE

FALSE

FALSE TRUE

B

TRUE TRUE

TRUE TRUE

A || B A

q Sử dụng các toán tử luận lý để xây dựng các điều kiện phức tạp hơn

TRUE FALSE

FALSE TRUE

! A A

Trang 22

Tin học đại cương - Chương 4 43

Trang 23

Tin học đại cương - Chương 4 45

Trang 24

Tin học đại cương - Chương 4 47

q Khi muốn chọn 1 trong n quyết định thì sử dụng

else if như sau:

Trang 25

Tin học đại cương - Chương 4 49

– Lệnh 1 ñược thực hiện nếu điều kiện đ úng

– Lệnh 2 ñược thực hiên nếu điều kiện sai

q Ví dụ:

(a > b) ? max = a : max = b;

Trang 26

Tin học đại cương - Chương 4 51

bangtqh@utc2.edu.vn

Rẽ nhánh switch … case…

q Rẽ nhánh ifchỉ cho phép chọn một trong hai phương án

q Rẽ nhánh switch … casecho phép chọn một trong nhiều phương án

– Máy sẽ ra khỏi toán tử switch khi nó gặp câu lệnh break, return

hoặc nó gặp dấu “}”của câu lệnh switch

– Chú ý, khi máy nhảy tới nhãn ni, nếu kết thúc dãy lệnh trong nhãn này không có câu lệnh break hoặc return thì máy sẽ tiếp tục thực hiện các lệnh trong nhãn ni+1

– Thường cuối mỗi dãy lệnh của một nhãn có một lệnh break

Trang 27

Tin học đại cương - Chương 4 53

bangtqh@utc2.edu.vn

Rẽ nhánh switch … case…

Trang 28

Tin học đại cương - Chương 4 55

5 Viết chương trình cho phép nhập tọa độ 3 điểm A, B, C trên mặt phẳng Hãy cho biết tam giác ABCcó là tam giác cân hay không? Chu vi và diện tích của tam giác?

Khái niệm cấu trúc lặp

q Một công việc nào đó ñược thực hiện lặp đi lặp

• Giải pháp tổng quát

– Lặp i chạy từ 1 tới 10printf(“%d\n”, i);

Trang 29

Tin học đại cương - Chương 4 57

• Các phần trong cặp dấu “[”“]”là không bắt buộc

• Các dấu “;”và cặp ngoặc “(”“)”bắt buộc phải có

• Nếu sai thoát vòng lặp

• Nếu đúng ñi vào thực hiện

Trang 30

Tin học đại cương - Chương 4 59

bangtqh@utc2.edu.vn

Lặp dạng for

q Biểu thức 1 : Thường là 1 phép gán để khởi tạo giá trị ban ñầu cho biến điều khiển

q Biểu thức 2 : Thường là 1 biểu thức điều kiện

q Biểu thức 3 : Cũng là 1 phép gán để thay ñổi giá trị biến điều khiển

Trang 31

Tin học đại cương - Chương 4 61

bangtqh@utc2.edu.vn

N S

Vòng lặp chạy ngược từ N trở

về 1

Lặp dạng for

q Nhận xét

– Biểu thức 1chỉ ñược tính một lần

– Biểu thức 2, biểu thức 3và khối lệnh trong thân

lệnh for ñược lặp đi lặp lại nhiều lần

– Dựa các giá trị khởi tạo biến điều khiển, ñiều kiện

lặp và biểu thức 3 có thể tính được số lần lặp

q Khi biểu thức 2 vắng mặt thì nó ñược xem là ñúng

( vòng lặp vô hạn ).

– Để thoát khỏi lệnh for trong trường hợp này phải

dùng lệnh breakhoặc return

q Có thể sử dụng các lệnh for lồng nhau.

Trang 32

Tin học đại cương - Chương 4 63

bangtqh@utc2.edu.vn

1 Tính TBC các số lẻ ≤ N

2 Tìm ước số chung lớn nhất ( UCLN ) của 2 số a, b

3 Kiểm tra xem số N có phải là số nguyên tố

không?

4 Số tiền nhiều nhất 1 người tham gia “ Đấu trường

100 ” có thể ñạt được là bao nhiêu ?

q NNLT C luôn chỉ ñịnh một khối nhớ liên tục cho một biến kiểu mảng

q Kích thước của mảng ñược xác định ngay khi khai báo và không bao giờ thay ñổi

Trang 33

Tin học đại cương - Chương 4 65

bangtqh@utc2.edu.vn

Khai báo array trong C

kiểu của mỗi thành phần hằng số, sốthành phần

tối đa của mảng

int a[5]; // a dãy gồm 5 số nguyên

long int big[ 100 ]; // big: chiếm 400 bytes!

double d[ 100 ]; // d: chiếm 800 bytes!

long double v[SIZE]; // v:10 long doubles

Trang 34

Tin học đại cương - Chương 4 67

bangtqh@utc2.edu.vn

q Các thành phần của mảng được truy xuất thông qua chỉ số của chúng 0 n-1

q Thao tác truy xuất không kiểm tra giới hạn của chỉ số

return 0;

}

0a

12345

59

-10 2

Giới hạn chỉ

số mảng ?

Trang 35

Tin học đại cương - Chương 4 69

bangtqh@utc2.edu.vn

1 Tính TBC các số lẻ trong dãy số a1, a2,…,aN

2 Tìm giá trị min/max trong dãy a1, a2,…,aN

3 Đếm xem trong dãy a1, a2,…,aN có bao nhiêu số

nguyên tố ?

4 Cho dãy điểm M1(x1, y1), M2(x2, y2),…,Mn(xn,

yn) trên mặt phẳng Hãy:

• Tìm độ dài đường gấp khúc M1M2 Mn

• Tìm đoạn MiMj (i≠j) có ñộ dài lớn nhất

• Đếm xem có bao nhiêu ñoạn cắt trục 0y

• Có bao nhiêu ñiểm thuộc góc phần tư thứ nhất

• Lặp while kiểm tra điều kiện trước khi thực hiện khối lệnh.

– Hãy vẽ sơ ñồ khối biểu diễn lệnh while

Trang 36

Tin học đại cương - Chương 4 71

Trang 37

Tin học đại cương - Chương 4 73

– Khối lệnh được thực hiện ít nhất 1 lần

q Hãy vẽ sơ ñồ khối biểu diễn lệnh do … while

Trang 38

Tin học đại cương - Chương 4 75

bangtqh@utc2.edu.vn

1 Viết chương trình nhập vào số nguyên N Hãy in

ra màn hình biểu diễn của nó ở dạng nhị phân

( Binary )

2 Viết chương trình tìm phần tử ñầu tiên trong dãy

a1, a2,…,an thỏa mãn: bằng tổng các phần tử

đứng trước nó.

3 Viết lại chương trình kiểm tra xem số N có

nguyên tố hay không bằng cách sử dụng

– Nếu có nhiều lệnh lặp lồng nhau thì lệnh break chỉ thoat vòng lặp trực tiếp chứa nó

q Lệnh continue

– Dùng để quay trở lại từ ñầu vòng lặp

– Thực hiện lần lặp mới mà không ñi hết các lệnh còn lại trong thân vòng lặp

Trang 39

Tin học đại cương - Chương 4 77

bangtqh@utc2.edu.vn

Ngày đăng: 04/12/2015, 09:19

TỪ KHÓA LIÊN QUAN

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