giáo trình kỹ thuật lập trình nghề quản trị mạng máy tính trung cấp

135 0 0
Tài liệu đã được kiểm tra trùng lặp
giáo trình kỹ thuật lập trình nghề quản trị mạng máy tính trung cấp

Đ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

MĀC TIÊU CĂA MÔN HàC Sau khi học xong môn học này, ng°ßi học có kh¿ năng: * KiÁn thức: - Trình bày đ°ợc khái niệm về kỹ thuÁt lÁp trình máy tính; - Mô t¿ đ°ợc ngôn ngữ lÁp trình: cú pháp

Trang 2

Khoa Công nghệ thông tin – TCN Quang Trung Trang 2

LâI GIàI THIàU

Giáo trình <Kỹ thuật lập trình” được tóm gọn lý thuyết căn bản, các bài thực

hành mẫu thiết thực, cung cấp các kiến thức bản nhất làm nền tảng cho chuyên ngành CNTT Nội dung giáo trình được trình bày qua các chương sau: tổng quan về kỹ thuật lâp trình, các khái niệm cơ bản, các lệnh có cấu trúc, hàm, kiểu mảng Giáo trình được trình bày đa dạng các bài tập và hươꄁng dẫn giải vơꄁi nhiều chủ đề khác nhau như căn bản về kỹ thuật lập trình, từ các bài ứng dụng thực tiễn và ngôn ngữ lập trình minh họa là C hoặc C#… Các bài tập được sắp xếp thứ tự cấp độ từ dễ đến mở rộng phw hợp cho người tự học, tự thực hành,…trình độ trung cấp trung cấp…làm nền tảng về kiến thức căn bản của chuyên ngành CNTT

Mặc dw cố gắng biên soạn, tuyển chọn các bài thực hành thiết thưc, dễ sử dụng … nhưng không thể tránh khỏi các thiếu sót ngoài mong muốn Rất mong bạn đọc gần xa góp ý để giáo trình được tốt hơn

Mọi góp ý vui lòng liên hệ:

Nguyễn Văn Lân

Email: nguyenlangroup@gmail.com – nguyenlan@live.com Website: www.ThuVienHocTap.Net

Điện thoại: 098 560 1838 Trân trọng giơꄁi thiệu đến bạn

Trang 3

Khoa Công nghệ thông tin – TCN Quang Trung Trang 3

MĀC LĀC

LâI GIàI THIàU 2

GIÁO TRÌNH MÔN HàC 5

TÊN MÔN HàC: Kþ THUÀT LÀP TRÌNH 5

CH¯¡NG 1: TäNG QUAN V Kþ THUÀT LÂP TRÌNH 6

8.BiÅu dißn l°u đã 12

9.Môi tr°ãng viÁt mã nguãn 19

Trang 4

Khoa Công nghệ thông tin – TCN Quang Trung Trang 4

Trang 5

Khoa Công nghệ thông tin – TCN Quang Trung Trang 5

GIÁO TRÌNH MÔN HàC TÊN MÔN HàC: Kþ THUÀT LÀP TRÌNH

Mã mô đun/môn hác: MH 09

I VÞ TRÍ, TÍNH CHÂT CĂA MÔN HàC

- Vị trí: Mô đun đ°ợc bố trí sau khi học sinh học xong các môn học, mô đun

chung, tin văn phòng, căn b¿n về tin học

- Tính chÁt: Là môn học c¡ sá nghề bắt buộc, làm nền t¿ng cho các môn học,

mô đun khác

II MĀC TIÊU CĂA MÔN HàC

Sau khi học xong môn học này, ng°ßi học có kh¿ năng:

* KiÁn thức:

- Trình bày đ°ợc khái niệm về kỹ thuÁt lÁp trình máy tính;

- Mô t¿ đ°ợc ngôn ngữ lÁp trình: cú pháp, công dÿng cāa các câu lệnh; - Phân tích đ°ợc ch°¡ng trình: xác định nhiệm vÿ ch°¡ng trình;

- Thực hiện đ°ợc các thao tác trong môi tr°ßng phát triển phần mềm: biên

tÁp ch°¡ng trình, sử dÿng các công cÿ, điều khiển, thực đ¡n lệnh trợ giúp, gỡ rối, b¿y lỗi,v.v.;

- Mô t¿ đ°ợc bài toàn thực tiễn vào máy tính, dữ liệu vào, dữ liệu ra, xử lí

mã nguồn

* Kÿ nng:

- Thực hành viết ch°¡ng trình từ căn b¿n đến bài toàn thực tiễn; - Phân tích bài toán, xác định rõ dữ liệu vào-ra và xử lí mã nguồn; - Tìm lỗi, xử lí lỗi, đọc các thông báo cāa trình biên dịch;

- Thao tác sử dÿng các chăc năng cāa trình biên dịch; - Kỹ năng sử dÿng máy tính thành thạo h¡n;

- Phát triển t° duy, phân tích vÁn đề, phân tích bài toán cần xử lí * Nng lāc tā chă và trách nhiám:

- Rèn luyện lòng yêu nghề, t° thế tác phong công nghiệp, tính kiên trì, sáng

tạo trong công việc, trao đổi học hỏi bạn bè, làm việc nhóm, trách nhiệm với môn học, nội quy thực hành, kh¿ năng tự tìm hiểu

- Rèn luyện trách nhiệm tự học, tự tìm hiểu thêm về môn học

- Thực hiện an toàn sử dÿng máy tính, điện, trách nhiệm với trang thiết bị

phòng học

Trang 6

Khoa Công nghệ thông tin – TCN Quang Trung Trang 6

- Bố trí làm việc khoa học đ¿m b¿o an toàn cho ng°ßi và ph°¡ng tiện học

tÁp

NÞI DUNG MÔN HàC

CH¯¡NG 1: TäNG QUAN V Kþ THUÀT LÂP TRÌNH Mã ch°¢ng: MH09-01

LÁp trình là sử dÿng ngôn ngữ để viết, hiểu các dòng lệnh, cÁu trúc dữ liệu

và thuÁt toán để gi¿i quyết bài toán

Mã ch°¡ng trình đ°ợc thông dịch và biên dịch để ch°¡ng trình sau cùng chạy đ°ợc

Thông dßch là quá trình kiểm tra và chuyển đổi câu lệnh t°¡ng ăng với ngôn

ngữ máy, thực hiện từng câu lệnh

Biên dßch là quá trình kiểm tra toàn bộ mã ch°¡ng trình và chuyển đoi thành

ch°¡ng trình thực thi đ°ợc

Ngôn ngÿ lÁp trình là hệ thống các ký hiệu tuân theo các qui °ớc về ngữ pháp

và ngữ nghĩa, dùng để xây dựng thành các ch°¡ng trình cho máy tính

ThuÁt toán: là tÁp hợp (dãy) hữu hạn cac chỉ thị (hành động) đ°ợc định nghĩa

rõ ràng nhằm gi¿i quyết một bài toán cÿ thể nào đó

Bao gãm 5 tính chÃt căa thuÁt toán:

Trang 7

Khoa Công nghệ thông tin – TCN Quang Trung Trang 7

Tính chính xác: quá trình tính toán hay các thao tác máy tính thực hiện là

chính xác

Tính rõ ràng: các câu lệnh minh bạch đ°ợc sắp xếp theo thă tự nhÁt định

Tính khách quan: đ°ợc viết bái nhiều ng°ßi trên máy tính nh°ng kết qu¿

- Cú pháp: đ°ợc hiểu bái ngôn ngữ đ°ợc định nghĩa nh° ngôn ngữ Pascal

định nghĩa cú pháp khác với ngôn ngữ C#,…

- Ngÿ ngh*a: Phạm vi tác động cāa các đối t°ợng trong khối lệnh cāa ch°¡ng

trình

- Tên: Các đối t°ợng đ°ợc khai báo trong mã ch°¡ng trình

Trang 8

Khoa Công nghệ thông tin – TCN Quang Trung Trang 8

- Từ khoá (tên dùng riêng): Ngôn ngữ lÁp trình đ°ợc định danh bái những

tên dùng riêng, chúng ta không sử dÿng tên này để đặt tên biến Do vÁy, khi viết mã ch°¡ng trình chúng ta đặt tên đúng và dễ hiểu nhÁt không đ°ợc trùng tên từ khoá

- Hằng: Có giá trị không đổi trong quá trình thực hiện ch°¡ng trình

- BiÁn: Do ng°ßi dùng đặt, chúng dùng để l°u trữ giá trị và có thể thay đổi

Tuỳ thuộc vào ngôn ngữ và kiểu dữ liệu cāa biến có miền giá trị khác nhau Khi khai báo biến căn că vào phạm vi cāa cāa nó mà có biến cÿc bộ và toàn cÿc

- Chú thích: Khi viết mã ch°¡ng trình, chúng ta th°ßng chú thích để hiểu,

diễn gi¿i đối t°ợng khai báo, lí do thực hiện… Tuỳ thuộc vào ngôn ngữ mà có chú thích khác nhau nh° Pascal( { }, (*…*), C - C++ - Java – C# (//…từng dòng lệnh, /*… */) Visual Basic (8….)

Một số ngôn ngữ hiện đại đ°ợc sử dÿng rộng rãi để xây dựng phần mềm nh° Java, Visual Basic.NET, C# Ph°¡ng pháp lÁp trình mới là lÁp trình h°ớng đối t°ợng đ°ợc sử dÿng rộng rãi

Một số ngôn ngữ lÁp trình nh°: ngôn ngữ máy, hợp ngữ, ngôn ngữ bÁc cao

3. ThuÁt giÁi (Algorithm)

Là một dãy các thao tác xác định trên một đối t°ợng, sao cho sau khi th°c hiện một số hữu hạn các b°ớc thì đạt đ°ợc mÿc tiêu Theo R.A.Kowalski thì b¿n chÁt cāa thuÁt gi¿i:

ThuÁt giÁi = Logic + ĐiÃu khiÅn

Logic: Đây là phần khá quan trọng, nó tr¿ lßi câu hỏi "ThuÁt gi¿i làm gì, gi¿i quyết van đề gì?", những yếu tố trong bài toán có quan hệ với nhau nh° thế nào v.v… à đây bao gồm những kiến thăc chuyên môn mà bạn ph¿i biết để có thể tiến hành gi¿i bài toán

Điều khiển: Là cách thăc tiến hành áp dÿng thanh phần logic để gi¿i quyết vÁn đề

Các tính chÁt cāa thuÁt toán gồm 5 tính chÁt sau:

Tính chính xác: quá trình tính toán hay các thao tác máy tính thực hiện là chính xác

Tính rõ ràng: các câu lệnh minh bạch đ°ợc sắp xếp theo thă tự nhÁt định

Tính khách quan: đ°ợc viết bái nhiều ng°ßi trên máy tính nh°ng kết qu¿ ph¿i nh° nhau

Tính phổ dụng: có thể áp dÿng cho một lớp các bài toán có đầu vào t°¡ng tự nhau Tính kết thúc: hữu hạn các b°ớc tính toán

Trang 9

Khoa Công nghệ thông tin – TCN Quang Trung Trang 9

4. Mßt sá ph°¢ng pháp lÁp trình

LÁp trình tuyÁn tính: Sử dÿng ngôn ngữ máy để lÁp trình và sử dÿng các khoá

cāa c¡ khí để nạp vào máy Ph°¡ng pháp rÁt khó khi viết mã và khó khăn trong việc kiểm soát ch°¡ng trình

LÁp trình cÃu trúc: Ch°¡ng trình gồm các hàm, thā tÿc riêng rẽ Giữa chúng có

thể độc lÁp hoặc giao tiếp với nhau Ph°¡ng pháp này đ¡n gi¿n cho việc lÁp trình nh°ng với những ch°¡ng trình phăc tạp khó khăn trong việc tổ chăc kiểu dữ liệu

LÁp trình h°áng đái t°ÿng: Ph°¡ng pháp này kế thừa từ ph°¡ng pháp lÁp trình

cÁu trúc kết hợp với trừu t°ợng hoá dữ liệu Ph°¡ng pháp này giúp cho việc lÁp trình nhanh chóng h¡n, kh¿ năng tái sử dÿng, kế thừa thích trong c¿ đội ngā lÁp trình

LÁp trình trāc quan: Đây là ph°¡ng pháp lÁp trình thực tế đ°ợc sử dÿng, kế

thừa những thành qu¿ từ các ph°¡ng pháp tr°ớc Với cách lÁp trình này ng°ßi thiết kế thÁy ngay kết qāa Một số ngôn ngữ nh° Java (sử dÿng các công cÿ hỗ trợ lÁp trình trực quan), Visual Basic.NET, Visual C# là những ví dÿ điển hình về ph°¡ng pháp lÁp trình này

Với sự phát triển cāa công nghệ phần mềm thì từ những ph°¡ng pháp lÁp trình trên sinh ra các nhánh lÁp trình mới nh° lÁp trình nhúng, lÁp trình với các thành phần có sẵn…

5. Ch°¢ng trình

Là một tÁp hợp các mô t¿, các phát biểu, nằm trong một hệ thống qui °ớc về ý nghĩa và thă tự thực hiện, nhằm điều khiển máy tính làm việc Theo Niklaus Wirth thì:

Ch°¢ng trình = ThuÁt toán + CÃu trúc dÿ liáu

Các thuÁt toán và ch°¡ng trình đều có cÁu trúc dựa trên 3 cấu trúc điều khiển

cơ bản:

* Tuần tự (Sequential): Cac b°ớc thực hiện tuần tự một cách chính xác từ trên

xuống, mỗi b°ớc chỉ thực hiện đúng một lần

* Chọn lọc (Selection): Chọn 1 trong 2 hay nhiều thao tác để thực hiện

* Lặp lại (Repetition): Một hay nhiều b°ớc đ°ợc thực hiện lặp lại một số lần

Muốn trá thành lÁp trình viên chuyên nghiệp bạn hãy làm đúng trình tự để có thói quen tốt và thuÁn lợi sau này trên nhiều mặt cāa một ng°ßi làm máy tính Bạn hãy làm theo các b°ớc sau:

Trang 10

Khoa Công nghệ thông tin – TCN Quang Trung Trang 10

Tìm, xây dựng thuÁt gi¿i (trên giÁy) → viết ch°¡ng trình trên máy → dịch ch°¡ng trình → chạy và thử ch°¡ng trình

6. Các b°ác lÁp trình

Ng°ßi lÁp trình nắm tổng quát các b°ớc chính khi xây dựng một ch°¡ng trình ăng dÿng sẽ có ý nghĩa quan trọng trong tiến trình phát triển xây dựng phần mềm ăng dÿng Qua đó, giúp cho ng°ßi phát triển nắm rõ công việc, tiến trình thực hiện để tiếp nhÁn yêu cầu ban đầu đến triển khai, b¿o trì và phát trien các phiên b¿n cÁp nhÁt trong quá trình sử dÿng

Theo thßi gian, các b°ớc lÁp trình có thể có nhiều công đoạn khác nhau, với khuôn khổ tài liệu học tÁp, chúng tôi tóm gọn những b°ớc chính căn b¿n nhÁt trong tiến trình xây dựng phần mềm ăng dÿng

B°ác 1: Xác định mÿc tiêu cāa ch°¡ng trình cần xây dựng là gì; B°ác 2: Thiết kế ch°¡ng trình;

B°ác 3: Viết mã ch°¡ng trình nguồn; B°ác 4: Biên dịch;

B°ác 5: Chạy ch°¡ng trình;

B°ác 6: Kiểm tra và gỡ lỗi ch°¡ng trình; B°ác 7: B¿o trì và nâng cÁp ch°¡ng trình

Trang 11

Khoa Công nghệ thông tin – TCN Quang Trung Trang 11

7. Xác đßnh IPO

IPO (Input-Process-Output) là cách xác định dữ liệu đ°a vào để hệ thống để xử

lí sau đó tr¿ kết qu¿ xử lí

Quy trình xử lý c¡ b¿n cāa máy tính gồm I-P-O

Ví dā minh háa: Máy tính bỏ túi khoa học mà học sinh th°ßng sử dÿng là có

chăc năng gi¿i ph°¡ng trình bÁc 2 với một ẩn số

VÁy thì, dữ liệu đ°a vào máy tính là các hệ số A,B,C Máy tính đã cài đặt sẵn ch°¡ng trình để xử lí gi¿i ph°¡ng tringh bÁc 2 với một ẩn số từ các hệ số A,B, C Ng°ßi sử dÿng chỉ quan tâm kết qu¿ cuối cùng là nghiệm cāa ph°¡ng trình x1, x2

Tóm tắt:

I: các hệ số số A, B, C

P: Máy tính đã cài đặt sẵn ch°¡ng trình để xử lí O: Nghiệm X1, X2

Input

Trang 12

Khoa Công nghệ thông tin – TCN Quang Trung Trang 12

Nh° vÁy, câu hỏi đặt ra là máy tính đã cài đặt ch°¡ng trình xử lí bài toán nh° thế nào? Để gi¿i ph°¡ng trình bÁc 2 một ẩn này máy tính đã đ°ợc cài đặt ch°¡ng trình lÁp trình sẵn tích hợp vào máy tính bỏ túi đó Công việc này, ng°ßi lÁp trình ph¿i viết mã nguồn để gi¿i quyết bài toán này

Ví dā 1: Xác định Input, Process, Output cāa ch°¡ng trình tính tiền l°¡ng công

nhân tháng 10/2002 biết rằng l°¡ng = l°¡ng căn b¿n * ngày công

Input : l°¡ng căn b¿n, ngày công

Process : nhân l°¡ng căn b¿n với ngày công

8. BiÅu dißn l°u đã

L°u đồ thuÁt toán là công cÿ dùng để biểu diễn thuÁt toán, việc mô t¿ nhÁp (input), dữ liệu xuÁt (output) và luồng xữ lý thông qua các ký hiệu hình học Ph°¡ng pháp duyệt là: Duyệt từ trên xuống; Duyệt từ trái sang ph¿i

KÝ HIàU

Bắt đầu và kết thúc ch°¡ng trình Luồng xử lí

Kiểm tra điều kiện NhÁp

Trang 13

Khoa Công nghệ thông tin – TCN Quang Trung Trang 13

XuÁt

Xử lí dữ liệu Giá trị tr¿ về Điểm ghéo nối

Trang 14

Khoa Công nghệ thông tin – TCN Quang Trung Trang 14

CÃu trúc for/while CÃu trúc do while

Ví dā 3: NhÁp năm sinh cāa một ng°ßi Tính tuổi ng°ßi đó

Trang 15

Khoa Công nghệ thông tin – TCN Quang Trung Trang 15

Ví dā 4: NhÁp 2 số a và b Tính tổng, hiệu, tính và th°¡ng cāa hai số đó

Ví dā 5: NhÁp tên s¿n phẩm, số l°ợng và đ¡n giá Tính tiền và thuế giá trị gia

tăng ph¿i tr¿, biết:

tiền = số l°ợng * đ¡n giá thuế giá trị gia tăng = 10% tiền

Trang 16

Khoa Công nghệ thông tin – TCN Quang Trung Trang 16

Ví dā 6: NhÁp điểm thi và hệ số 3 môn Toán, Lý, Hóa cāa một sinh viên Tính

điểm trung bình cāa sinh viên đó

Trang 17

Khoa Công nghệ thông tin – TCN Quang Trung Trang 17

Ví dā 7: NhÁp bán kính cāa đ°ßng tròn Tính chu vi và diện tích cāa hình tròn

đó

Ví dā 8: NhÁp vào 2 số nguyên Tính min và max cāa hai số đó

Trang 18

Khoa Công nghệ thông tin – TCN Quang Trung Trang 18

Ví dā 9: Gi¿i và biện luÁn ph°¡ng trình: ax+b=0

Ví dā 10: Tính tổng: S = 1+ 2 + 3 +…+ n , với n>0

Trang 19

Khoa Công nghệ thông tin – TCN Quang Trung Trang 19

9. Môi tr°ãng viÁt mã nguãn

Integrated Development Environment (IDE) là một phần mềm chăa tÁt c¿

những thă bạn cần để phát triển ăng dÿng nh° viết mã (coding) biên dịch (compiler), liên kết (linker) và gỡ lỗi (debug), xuÁt b¿n ăng dÿng (publish),…ch°¡ng trình cāa bạn

IDE căa Borland C++ 5.02 /Tubor C++:

Môi tr°ßng phát triển tích hợp IDE (Integrated Development Environment) Biên tÁp ch°¡ng trình nguồn (Trình EDIT)

Biên dịch ch°¡ng trình (Trình COMPILE) Chạy ch°¡ng trình nguồn (Trình RUNTIME) Sửa lỗi ch°¡ng trình nguồn (Trình DEBUG)

Phần này các em khám phần mềm khi thực hành, giáo viên h°ớng d¿n một số chăc năng cāa phần mềm Borland C++ 3.2 Một số yêu cầu cần thực hiện:

✓ Cài đặt phần mềm Borland C++ hoặc Tubor C++ ✓ Sử dÿng các Menu chăc năng

Trang 20

Khoa Công nghệ thông tin – TCN Quang Trung Trang 20

✓ Má - l°u file, đóng môi tr°ßng soạn th¿o…

✓ Đặt tên File, sao chép file mã nguồn sang các thiết bị khác nh° ổ đĩa căng, USB…

Quá trình viết mã nguồn chạy ch°¡ng trình thì IDE sẽ chuyển theo trình tự:

Trang 21

Khoa Công nghệ thông tin – TCN Quang Trung Trang 21

Chú ý: Với môi tr°ßng Windows 7, 10, 11 thì Borland C++ 5.02/ Tubor C++ không còn hỗ trợ để lÁp trình Do đó, bạn cần sử dÿng phiên b¿n Windows cũ h¡n hoặc tùy biến để chạy đ°ợc môi tr°ßng Windows mới hoặc sử dÿng IDE khác phù hợp nhÁt

IDE căa Dev C++:

Để Viết ch°¡ng trình C với Dev C++, tr°ớc hết chúng ta cần tạo một file mới để ghi mã nguồn ch°¡ng trình Hãy Chọn File/New/Source File (Hoặc Án Ctrl+N) để tạo một file mới nh° sau:3

Trang 22

Khoa Công nghệ thông tin – TCN Quang Trung Trang 22

Hãy copy hoặc nhÁp mã nguồn này vào file vừa tạo, sau đó l°u lại file trên với tên helloworld.c tại một th° mÿc bÁt kỳ, ví dÿ nh° là D:\code\c\helloworld.c chẳng hạn, bằng cách Chọn File/Save (Hoặc Án Ctrl+S) để l°u file vừa viết

Hãy nhÁp tên file helloworld.c vào hộp Filename và chọn đuôi file c(đối với file C) trong hộp Save as Type , và sau đó nhÁn Save để hoàn tÁt quá trình l°u file Sau khi đã l°u file helloworld.c á trên, chúng ta sẽ tiến hành Biên dịch và chạy ch°¡ng trình C với Dev C++ bằng cách Chọn Execute/Compile & Run (Hoặc Án F11):

Trang 23

Khoa Công nghệ thông tin – TCN Quang Trung Trang 23

IDE cāa Visual C++ (cāa bộ Visual Studio)

Visual Studio Code là một trình biên tÁp mã đ°ợc phát triển bái Microsoft dành cho Windows, Linux và macOS Nó hỗ trợ chăc năng debug, đi kèm với Git, có syntax highlighting, tự hoàn thành mã thông minh, snippets, và c¿i tiến mã nguồn Nó cũng cho phép tùy chỉnh, do đó, ng°ßi dùng có thể thay đổi theme, phím tắt, và các tùy chọn khác Visual Studio Code miễn phí và là phần mềm mã nguồn má

Trang 24

Khoa Công nghệ thông tin – TCN Quang Trung Trang 24

10.Bài tÁp

1 Trình bày một số khái niệm nh° phần mềm là gì, các b°ớc xây dựng phần mềm ăng dÿng CNTT

2 Trình bày thuÁt toán là gì

3 Các cách biểu diễn thuÁt toán? ¯u và khuyết điểm cāa từng ph°¡ng pháp Cho ví dÿ minh họa

4 Liệt kê một số phần mềm ăng dÿng á môi tr°ßng Web, điện thoại, máy tính Windows… mà em đ°ợc biết

5 Hãy trình bày thuÁt toán (cách thăc gi¿i) với ph°¡ng trình một ẩn bÁc nhÁt ax +b=0

6 Hãy trình bày cách tính số tuổi mộ ng°ßi khi biết năm sinh cāa họ

Trang 25

Khoa Công nghệ thông tin – TCN Quang Trung Trang 25

7 Trình bày cách xử lí bài toán: NhÁp 2 số a và b Tính tổng, hiệu, tính và th°¡ng cāa hai số đó

8 Trình bày cách xử lí bài toan: NhÁp tên s¿n phẩm, số l°ợng và đ¡n giá Tính tiền và thuế giá trị gia tăng ph¿i tr¿, biết:

tiền = số l°ợng * đ¡n giá thuế giá trị gia tăng = 10% tiền

9 Hãy trình giã ngữ mô t¿ trạng thái đèn tín hiệu giao thông với 3 trạng thái: Xanh-Vàng-Đỏ

Hãy xác đßnh IPO các bài toán sau:

10 Pha chế một ly cà phê sữa đá

11 Học sinh đi công chăng bằng tốt nghiệp THCS 12 Mang laptop thay ổ căng SSD hoặc thay bàn phím

13 NhÁp năm sinh cāa một ng°ßi Tính tuổi ng°ßi đó so với năm hiện tại 14 NhÁp 2 số a và b Tính tổng, hiệu, tính và th°¡ng cāa hai số đó

15 NhÁp tên s¿n phẩm, số l°ợng và đ¡n giá Tính tiền và thuế giá trị gia tăng ph¿i tr¿, biết rằng:

tiền = số l°ợng * đ¡n giá; thuế giá trị gia tăng = 10% tiền

16 NhÁp điểm thi và hệ số 3 môn Toán, Lý, Hóa cāa một sinh viên Tính điểm trung bình cāa sinh viên đó

17 NhÁp bán kính cāa đ°ßng tròn Tính chu vi và diện tích cāa hình tròn đó 18 NhÁp vào số xe (gồm 4 chữ số) cāa bạn Cho biết số xe cāa bạn đ°ợc

Trang 26

Khoa Công nghệ thông tin – TCN Quang Trung Trang 26

26 Viết ch°¡ng trình nhÁp vào N số nguyên, tìm số lớn nhÁt, số nhỏ nhÁt 27 Tìm số lớn nhÁt trong 3 số

28 NhÁp số n kiểm tra số d°¡ng hay âm 29 Gi¿i ph°¡ng trình bÁc 2: ax2 + bx + c = 0

30 NhÁp các số a, b, c, d In ra màn hình số lớn nhÁt, số bé nhÁt

31 NhÁp số có ba chữ số, tính tích các chữ số cāa n Ví dÿ: n = 123 thì 1*2*3 = 6

32 Viết ch°¡ng trình nhÁp từ bàn phím số gồm 4 chữ số XuÁt ra màn hình các số tăng dân Ví dÿ 281 thì in ra màn hình 1 2 8

33 Viết ch°¡ng trình nhÁp vào 1 số từ 0 đến 9 In ra chữ số t°¡ng ăng Ví dÿ: nhÁp vào số 7, in ra "Bay"

34 NhÁp số nguyên d°¡ng N.Tính tổng bình ph°¡ng các số lẻ và tổng bình ph°¡ng các số chẵn đầu tiên (từ 1->N)

35 Viết ch°¡ng trình nhÁp chỉ số điện tháng hiện tại và tháng tr°ớc đó để tính

36 Viết ch°¡ng trình tính n!

37 NhÁp vào 6 số thực a, b, c, d, e, f Gi¿i hệ ph°¡ng trình sau :

38 Tính giá trị cāa biểu thăc S = 1*2*…*n = n! S = 1! + 2! + … + n!

Tính S = 1 + 2+ 3+ … + n (n>0)

Tính S = 12 + 22 + 32 + 42 + …+ n2 (n>0) 39 Tính giá trị biểu thăc, với n >0

40 Tính giá trị biểu thăc, với n >0

41 Tính giá trị biểu thăc, với n >0

Trang 27

Khoa Công nghệ thông tin – TCN Quang Trung Trang 27

CH¯¡NG 2: CÁC KHÁI NIàM CN BÀN Mã ch°¢ng: MH09-02

Giái thiáu:

Ch°¡ng này chúng ta cùng tìm hiểu các khái niệm về ngôn ngữ lÁp trình C, các thành phần căn b¿n cāa ngôn ngữ này Đây đ°ợc xem là ngôn ngữ nền t¿ng căn b¿n nhÁt để sử dÿng các ngôn ngữ hiện đại h¡n nh° C++, Java, C#,… Với ng°ßi mới bắt đầu sử dÿng ngôn ngữ lÁp trình thì tìm hiểu các thành phần căn b¿n cāa ngôn ngữ đóng vài trò quan trọng để tìm hiểu sâu h¡n các chā điểm khác nh° hàm lÁy dữ liệu, xuÁt dữ liệu, các thành phần cāa ngôn ngữ lÁp trình nh° từ khóa, khối lệnh, biến, quy °ớc đặt tên, phạm vi hoạt động cāa biến…

Māc tiêu:

- Trình bày và sử dÿng đ°ợc hệ thống kí hiệu và từ khóa ngôn ngữ lÁp

trình C;

- Mô t¿ đ°ợc các kiểu dữ liệu;

- Trình bày đ°ợc và vÁn dÿng đ°ợc các loại biến, hằng biểu thăc cho từng

Ngôn ngữ lÁp trình C ra đßi trong những thÁp kỷ 60 và 70 để thiết kế phần

mềm hệ thống nh° hệ điều hành Unix Năm 1972 ngôn ngữ này do Ken Thompson và Dennis Ritchie phát triển tại phòng thí nghiệm Bell Telephone

Là ngôn ngữ lÁp trình có cÁu trúc và phân biệt chữ Hoa - th°ßng (case sensitive) và thuần chuẩn ANSI C

Ngôn ngữ này đ°ợc nhiều hãng phát triển thành các ngôn ngữ mới nh° C++, Visual C++…Giáo trình này chúng ta thực hành với ngôn ngữ C chuẩn á môi tr°ßng Borland C++ 3.1 (DOS) hoặc 5.02 (Windows)

¯u điểm cāa C

RÁt mạnh và linh động, có kh¿ năng thể hiện bÁt că ý t°áng nào

Trang 28

Khoa Công nghệ thông tin – TCN Quang Trung Trang 28

Đ°ợc sử dÿng rộng rãi bái các nhà lÁp trình chuyên nghiệp

Có tính kh¿ chuyển, ít thay đổi trên các hệ thống máy tính khác nhau Rõ ràng, cô đọng

LÁp trình đ¡n thể, tái sử dÿng thông qua hàm

QUÁ TRÌNH THĀC THI MÃ NGUâN

Quá trình thực thi mã nguồn ngôn ngữ C nh° sau: 1 Ch°¡ng trình C (mã nguồn) đ°ợc gửi đến Preprocessor đầu tiên Preprocessor có trách nhiệm chuyển đổi các chỉ thị tiền xử lý thành các giá trị t°¡ng ăng Bộ tiền xử lý tạo ra một mã nguồn má rộng

2 Mã nguồn đ°ợc má rộng đ°ợc gửi tới trình Compiler biên dịch mã và chuyển đổi nó thành mã assembly

3 Mã assembly đ°ợc gửi đến Assembler để lắp ráp mã và chuyển đổi nó thành mã đối t°ợng Bây giß tệp hello.obj đ°ợc tạo ra

4 Mã đối t°ợng đ°ợc gửi đến Linker liên kết nó tới th° viện nh° các tệp header Sau đó, nó đ°ợc chuyển đổi thành mã thực thi Một tÁp tin hello.exe đ°ợc tạo ra

5 Mã thực thi đ°ợc gửi đến Loader nạp nó vào bộ nhớ và sau đó nó đ°ợc thực thi Sau khi thực hiện, output cāa ch°¡ng trình đ°ợc gửi đến console

Trang 29

Khoa Công nghệ thông tin – TCN Quang Trung Trang 29

2. Các thành phÅn cn bÁn ngôn ngÿ C 1 Các kí hiáu

{ } Bắt đầu và kết thúc hàm hay khối lệnh

void main() {

} ; Kết thúc khai báo biến, một lệnh,

một lßi gọi hàm, hay khai báo nguyên m¿u hàm

int x; void

NhapMang(int a[], int &n);

2 Từ khóa

Từ khóa là từ có ý nghĩa xác định dùng để khai báo dữ liệu, viết câu lệnh… Trong C có các từ khóa sau:

register return short static struct signed sizeof switch typedef union unsigned void volatile while

Chú ý: Từ khóa ph¿i viết chữ th°ßng, nếu dùng Borland C++ thì chữ màu trắng

3 Chú thích

Trình biên dịch sẽ bỏ qua các chú thích trong mã ch°¡ng trình Chú thích một dòng:

//Chú thích một dòng Ví dÿ:

//Ham nay dung de nhap mang

void NhapMang(int a[], int &n); Chú thích nhiều dòng:

/*

Chú thích nhiều dòng */

Trang 30

Khoa Công nghệ thông tin – TCN Quang Trung Trang 30

4 Khai báo Header - th° vián

Để sử dÿng các hàm, đối t°ợng đ°ợc cài đặt sẵn cāa ngôn ngữ C, chúng ta cần khai báo th° viện

Ví dÿ:

#include"stdio.h" #include"conio.h" #include"string.h" #include<stdlib.h> #include<dos.h> #include"math.h"

5 KiÅu dÿ liáu

Turbo C có 4 kiểu c¡ sá nh° sau:

Kiểu số nguyên: giá trị cāa nó là các số nguyên nh° 2912, -1706, … Kiểu số thực: giá trị cāa nó là các số thực nh° 3.1415, 29.12, -17.06, … Kiểu luÁn lý: giá trị đúng hoặc sai

Kiểu ký tự: 256 ký tự trong b¿ng mã ASCII

TT KiÅu dÿ liáu

(Type) th°ác Kích (Length)

MiÃn giá trß (Range)

1 2 3 4 5 6 7 8 9 10 11

unsigned char char

enum

unsigned int short int int

unsigned long long

float double

long double

1 byte 1 byte 2 bytes 2 bytes 2 bytes 2 bytes 4 bytes 4 bytes 4 bytes 8 bytes 10 bytes

0 đến 255 – 128 đến 127 – 32,768 đến 32,767

0 đến 65,535 – 32,768 đến 32,767 – 32,768 đến 32,767

0 đến 4,294,967,295 – 2,147,483,648 đến 2,147,483,647

3.4 * 10–38 đến 3.4 * 1038

1.7 * 10–308 đến 1.7 * 10308

3.4 * 10–4932 đến 1.1 * 104932

Trang 31

Khoa Công nghệ thông tin – TCN Quang Trung Trang 31

6 Tên biÁn và khai báo biÁn

Một dãy ký tự dùng để chỉ tên một hằng số, hằng ký tự, tên một biến, một kiểu dữ liệu, một hàm một hay thā tÿc

Không đ°ợc trùng với các từ khóa và đ°ợc tạo thành từ các chữ cái và các chữ số nh°ng bắt buộc chữ đầu ph¿i là chữ cái hoặc _

Số ký tự tối đa trong một tên là 255 ký tự và đ°ợc dùng ký tự _ chen trong tên nh°ng không cho phép chen giữa các kho¿ng trắng

Cú pháp: Kiểu dữ liệu Tên biến;

Ví dÿ:

float f; //khai báo biến f kiểu dữ liệu float

int i; //khai báo biến i có kiểu dữ liệu int

long l; //khai báo biến l có kiểu dữ liệu là long

Ví dÿ: Khai báo và khái tạo int a, b, c;

a = 1; b = 2; c = 5; Hoặc:

int a = 1, b = 2, c = 5; Phạm vi cāa biến

Trang 32

Khoa Công nghệ thông tin – TCN Quang Trung Trang 32

Khi khai báo và sử dÿng biến chúng ta cần xem xét phạm vi sử dÿng cāa nó Có hai lo¿i ph¿m vi căa biÁn:

Khai báo biến ngoài (biến toàn cÿc): Vị trí biến đặt bên ngoài tÁt c¿ các hàm, cÁu trúc Các biến này có ¿nh h°áng đến toàn bộ ch°¡ng trình Chu trình sống cāa nó là bắt đầu chạy ch°¡ng trình đến lúc kết thúc ch°¡ng trình

Khai báo biến trong (biến cÿc bộ): Vị trí biến đặt bên trong hàm, cÁu trúc… Chỉ ¿nh h°áng nội bộ bên trong hàm, cÁu trúc đó… Chu trình sống cāa nó bắt đầu từ lúc hàm, cÁu trúc đ°ợc gọi thực hiện đến lúc thực hiện xong

n = 2 + 3 * 5;

=> n = 2 + (3 * 5); a > 1 && b < 2

Trang 33

Khoa Công nghệ thông tin – TCN Quang Trung Trang 33

% : lÁy phần d°áp dÿng trên các toán hạng có kiểu dữ liệu char, int, long * Thă tự °u tiên: Đ¿o dÁu +, – ( ) *, / , % +, –

Ví dā

10%4 = 2 (10 chia 4 d° 2); 9%3 = 0 (9 chia 3 d° 0) 3 * 5 + 4 = 19

<= : nhỏ h¡n hoặc bằng == : bằng

!= : khác

* Thă tự °u tiên: > , >= , < , <= == , !=

Trang 34

Khoa Công nghệ thông tin – TCN Quang Trung Trang 34

Kết qu¿ cāa phép toán quan hệ là số nguyên kiểu int, bằng 1 nếu đúng, bằng 0 nếu sai Phép toán quan hệ ngoài toán hạng đ°ợc sử dÿng là số còn đ°ợc sử dÿng với kiểu dữ liệu char

Thă tự °u tiên giữa toán tử số học và toán tử quan hệ Toán tử số học Toán tử quan hệ

Ví dÿ:

4 > 10 → có giá trị 0 (sai) 4 >= 4 → có giá trị 1 (đúng) 3 == 5 → có giá trị 0 (sai) 2 <= 1 → có giá trị 0 (sai) 6 != 4 → có giá trị 1 (đúng)

6 – 3 < 4 → có giá trị 1 (đúng), t°¡ng đ°¡ng (6 – 3) < 4

–2 * –4 < 3 + 2 → có giá trị 0 (sai), t°¡ng đ°¡ng (–2 * –4) < (3 + 2)

Phép toán luÁn lý

! : NOT (phép phā định) &&: AND (phép và)

|| : OR (phép hoặc)

Toán hạng a Toán hạng b !a a && b a || b Khác 0

Khác 0 Bằng 0 Bằng 0

Khác 0 Bằng 0 Khác 0 Bằng 0

0 (sai) 0 (sai) 1 (đúng) 1 (đúng)

1 (đúng) 0 (sai) 0 (sai) 0 (sai)

1 (đúng) 1 (đúng) 1 (đúng) 0 (sai) * Thă tự °u tiên: ! && ||

Ví dÿ :

!(2 <= 1) → có giá trị 1 (đúng) 5 && 10 → có giá trị 1 (đúng) !6 → có giá trị 0 (sai)

1 && 0 → có giá trị 0 (sai) 1 || 0 → có giá trị 1 (đúng) * Thă tự °u tiên giữa các toán tử:

! Toán tử số học Toán tử quan hệ && ||

Phép toán trên bit (bitwise)

& : và (AND)

Trang 35

Khoa Công nghệ thông tin – TCN Quang Trung Trang 35

| : hoặc (OR)

^ : hoặc loại trừ (XOR) >> : dịch ph¿i

<< : dịch trái ~ : đ¿o

Bit a Bit b ~a a & b a | b a ^ b 0

0 1 1

0 1 0 1

1 1 0 0

0 0 0 1

0 1 1 1

0 1 1 0 Ví dÿ:

a = 13 → đổi ra hệ nhị phân → 1101 b = 10 → đổi ra hệ nhị phân → 1010

1101 1101 1101 & 1010 | 1010 ^ 1010

= 1000 = 1111 = 0111

= 8 = 15 = 7(dạng thÁp phân) a = 1235 → đổi ra hệ nhị phân → 0100 1101 0011

b = 465 → đổi ra hệ nhị phân → 0001 1101 0001

0100 1101 0011 0100 1101 0011 0100 1101 0011 & 0001 1101 0001 | 0001 1101 0001 ^ 0001 1101 0001

i += 3 → i = 6  i = i + 3 i *= 3 → i = 9  i = i * 3

Phép toán tăng, giảm: ++, ––

Toán tử ++ sẽ cộng thêm 1 vào toán hạng cāa nó, toán tử –– sẽ trừ đi 1

Trang 36

Khoa Công nghệ thông tin – TCN Quang Trung Trang 36

Ví du: ta có giá trị n = 6

+ Sau phép tính ++n hoặc n++, ta có n = 7 + Sau phép tính ––n hoặc n–– , ta có n = 5

* Sự khác nhau giữa ++n và n++, ––n và n––

+ Sau phép tính x = ++n + 2, ta có x = 9 (n tăng 1 cộng với 2 rồi gán cho x) + Sau phép tính x = n++ + 2, ta có x = 8 (n cộng với 2 gán cho x rồi mới tăng 1)

Đß °u tiên căa các phép toán

Đß °u tiên

Các phép toán Trình tā kÁt hÿp

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

( ) [ ] ->

! ~ & * – ++ – – (type) sizeof

* / % + – << >>

< <= > >= == !=

& ^ | && || ? :

= += –= *= /= %= <<= >>= &= ^= |= ,

Trái sang ph¿i Ph¿i sang trái Trái sang ph¿i Trái sang ph¿i Trái sang ph¿i Trái sang ph¿i Trái sang ph¿i Trái sang ph¿i Trái sang ph¿i Trái sang ph¿i Trái sang ph¿i Trái sang ph¿i Ph¿i sang trái Ph¿i sang trái Trái sang ph¿i

3. NhÁp – xuÃt dÿ liáu 1 NhÁp dÿ liáu

Khai báo thư viện: #include <stdio.h> (standard input/output)

Cú pháp: printf(<chuỗi định dạng=, đối số);

Ý nghĩa: Kết xuÁt hiển thị dữ liệu đ°ợc định dạng

printf: tên hàm, phÁi viÁt bằng chÿ th°ãng

đối mÿc 1,…: là các mÿc dữ kiện cần in ra màn hình Các đối mÿc này có thể là biến, hằng hoặc biểu thăc ph¿i đ°ợc định trị tr°ớc khi in ra

Trang 37

Khoa Công nghệ thông tin – TCN Quang Trung Trang 37

chuỗi định dạng: đ°ợc đặt trong cặp nháy kép (" "), gồm 3 loại: + Đối với chuỗi kí tự ghi nh° thế nào in ra giống nh° vÁy

+ Đối với những kí tự chuyển đổi dạng thăc cho phép kết xuÁt giá trị cāa các đối mÿc ra màn hình tạm gọi là mã định dạng Sau đây là các dÁu mô t¿ định dạng: %c : Ký tự đ¡n

%s : Chuỗi

%d : Số nguyên thÁp phân có dÁu

%f : Số chÁm động (ký hiệu thÁp phân) %e : Số chÁm động (ký hiệu có số mũ) %g : Số chÁm động (%f hay %g) %x : Số nguyên thÁp phân không dÁu %u : Số nguyên hex không dÁu

%o : Số nguyên bát phân không dÁu

l : Tiền tố dùng kèm với %d, %u, %x, %o để chỉ số nguyên dài (ví dÿ %ld) + Các ký tự điều khiển và ký tự đặc biệt

\n : Nh¿y xuống dòng kế tiếp canh về cột đầu tiên \t : Canh cột tab ngang

\r : Nh¿y về đầu hàng, không xuống hàng \a : Tiếng kêu bip

\\ : In ra dÁu \ \" : In ra dÁu " \' : In ra dÁu ' %%: In ra dÁu %

printf(<%f=, x); → Xuất ra 15.060000 printf(<%f=, 1.0/3); → Xuất ra 0.333333

Ví dā:

int a = 1706;

float x = 176.85;

printf(<%10d=, a);printf(<\n=);

Trang 38

Khoa Công nghệ thông tin – TCN Quang Trung Trang 38

printf(<%10.2f=, x);printf(<\n=); printf(<%.2f=, x);printf(<\n=);

Ví dā: printf("Bai hoc C dau tien \n");

Trang 39

Khoa Công nghệ thông tin – TCN Quang Trung Trang 39

Kết qu¿ in ra màn hình

Tong cua 2 so 7 va 4 la 11 _

KÁt quÁ in ra màn hình

6 1234 62 165 2 965 _

Số canh về bên ph¿i bề rộng tr°ßng

printf("%-7d%-7d%-7d.\n", a, b, c); printf("%-7d%-7d%-7d.\n", 165, 2, 965);

KÁt quÁ in ra màn hình

6 1234 62 165 2 965 _

Số canh về bên trái bề rộng tr°ßng

Ví dā: gi¿ sử float a = 6.4, b = 1234.56, c = 62.3

Trang 40

Khoa Công nghệ thông tin – TCN Quang Trung Trang 40

Kết qu¿ in ra màn hình 6.40 1234.56 62.30 _

Số canh về bên ph¿i bề rộng tr°ßng 7 kí tự

Ví dā: gi¿ sử float a = 6.4, b = 1234.55, c = 62.34

printf("%10.1d%10.1d%10.1d.\n", a, b, c); printf("%10.1d%10.1d%10.1d.\n", 165, 2, 965);

KÁt quÁ in ra màn hình

6.4 1234.6 62.3 165.0 2.0 965.0 _

Số canh về bên ph¿i bề rộng tr°ßng

printf("%-10.2d%-10.2d%-10.2d.\n", a, b, c); printf("%-10.2d%-10.2d%-10.2d.\n", 165, 2, 965);

KÁt quÁ in ra màn hình

6.40 1234.55 62.34 165.00 2.00 965.00 _

Số canh về bên trái bề rộng tr°ßng

2 XuÃt dÿ liáu

Ý nghĩa: Hàm này có chăc năng lÁy dữ liệu từ thiết bị nhÁp

Khai báo thư viện: Th° viện sử dÿng: #include <stdio.h> (standard input/output) Cú pháp: scanf(“Chuỗi định dạng=, &đối số);

scanf: tên hàm, phải viết bằng chữ thường

Khung định dạng: đ°ợc đặt trong cặp nháy kép (" ") là hình ¿nh dạng dữ liệu nhÁp vào

đối mÿc 1,…: là danh sách các đối mÿc cách nhau bái dÁu phẩy, mỗi đối mÿc sẽ tiếp nhÁn giá trị nhÁp vào

Các đối số là tên các biến sẽ chăa giá trị nhÁp và đ°ợc đặt tr°ớc dÁu & Ví du: Cho a và b kiểu số nguyên

scanf(<%d=, &a); // NhÁp giá trị cho biến a scanf(<%d=, &b); // NhÁp giá trị cho biến b # scanf(<%d%d=, &a, &b);

Ngày đăng: 02/06/2024, 12:17

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan