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

Bài giảng Kỹ thuật lập trình Tổng quan về KTLT GV. Hà Đại Dương

29 411 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 29
Dung lượng 540,25 KB

Nội dung

Bài giảng Kỹ thuật lập trình Tổng quan về Kỹ thuật lập trình do GV. Hà Đại Dương biên soạn với mục đích trang bị cho sinh viên kiến thức cơ bản về phân tích bài toán, cách thức lập trình giải bài toán; mô tả về cấu trúc dữ liệu, các cấu trúc lệnh trong lập trình để giải bài toán. Mời các bạn cùng tham khảo.

Trang 1

– Thị giác máy (Computer Vision): Kết hợp với trang

bị vũ khí như MBT03, Hiệu chỉnh súng; Phát hiện

cháy (Vision-based Fire Detection) …

– Hệ thông tin quản lý (Management Information

System): Hệ quản lý đào tạo; Hệ thống quản lý bảo

hiểm xã hội …

Trang 2

Nội dung

1 Giới thiệu chung

 Tài liệu học tập, tham khảo

 Kiểm tra đánh giá

2 Bài toán và việc giải bài toán trên máy tính

 Phương pháp giải bài toán trên máy tính

 Cấu trúc dữ liệu và giải thuật

Trang 3

Giới thiệu chung

Mục đích

Kiến thức:

– Trang bị cho sinh viên kiến thức cơ bản về phân

tích bài toán, cách thức lập trình giải bài toán;

– Mô tả về cấu trúc dữ liệu, các cấu trúc lệnh trong

lập trình để giải bài toán.

Kỹ năng:

– Sử dụng thành thạo công cụ lập trình C

– Biết gỡ rối chương trình

Trang 4

Yêu cầu

– Ngôn ngữ lập trình C: mô tả dữ liệu đơn giản …

2 Cấu trúc điều kiểm: Chọn, lặp

3 Cấu trúc dữ liệu: Mảng, Xâu, Con trỏ, Tệp …

4 Tổ chức chương trình: Hàm

5 Cấu trúc dữ liệu nâng cao: Danh sách, stack …

6 Một số thuật toán: Sắp xếp, Tìm kiếm …

Trang 5

Tài liệu học tập

• Slides bài bảng

giảng Lập trình cơ bản, HVKTQS 2010;

toán trong tin học, Nhà xuất bản giáo dục

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

trình, NXB KHKT, 2001;

Trang 6

Kiểm tra đánh giá

Bài toán và việc giải quyết bài

toán trên máy tính

Trang 7

Bài toán (thực tế)

– Giải phương trình bậc 2 (quá quen)

– Tính tiền điện, tính thuế thu nhập cá nhân (???)

– Đổi số tiến dạng số -> Chữ (???)

– Kiểm soát giáo thông

– Chương trình quản lý sinh viên

Trang 8

Bài toán (thực tế)

• Ví dụ: Giải phương trình bậc 2: ax2+bx+c=0

– Dữ liệu vào: A - Các hệ số a, b, c và ???

– Kết quả ra: B - Nghiệm x1, x2và ???

– Biến đổi: => từ đầu vào A thành kết quả ra B : Tính

 = b 2 -4ac, tùy thuộc vào  để tính nghiệm …

A => B

Bài toán (thực tế)

– Dữ liệu vào: A - Hình ảnh thu được từ camera …

– Kết quả ra: B - Xe đi đúng, xe vượt đèn đỏ …

– Biến đổi: => từ đầu vào A thành kết quả ra B :

A => B

Trang 9

1 Cụ thể hóa các yêu cầu của bài toán

2 Mô tả dữ liệu: Xác định dữ liệu dùng cho BT

Chương trình trên máy tính

Phương pháp giải BT trên MT

Cụ thể hóa bài toán

– Thông báo về điều kiện đặt ra cho cách giải (=>)

thường không được nêu ra một cách minh bạch

A => B A’B’

Trang 10

Mô tả A’ , B’

• A’ dữ liệu vào (Input):

– Đơn giản: Số nguyên, số thực, ký tự

• Cách thức xử lý : Thuật toán (giải thuật)

Thuật toán: Các chỉ dẫn rõ ràng để 1 máy

(tính), hoặc 1 người có thể thực hiện được để

từ dữ liệu vào A’ đưa ra được kết quả B’

Trang 11

Ví dụ

• Giải phương trình bậc 2: ax2 + bx + c = 0

– Thuật toán:

• Bước 1: Tính Delta D

• Bước 2: Nếu D<0 -> Vô nghiệm

• Bước 3: Ngược lại (D<0),

– Bước 3.1: Nếu D = 0: Có nghiệm kép

– Bước 3.2: Ngược lại: Có 2 nghiệm phân biệt

• Tìm số lớn nhất trong ba số a, b, c: T.Toán ???

logic về thứ tự thực hiện câu lệnh sau đây:

– Tuần tự (Sequential): Các công việc (lệnh) được

thực hiện một cách tuần tự, công việc này nối tiếp

công việc kia (từ trên xuống dưới).

– Lựa chọn (Selection) : Lựa chọn một công việc (lệnh)

để thực hiện căn cứ vào một điều kiện nào đó.

– Lặp (Repeating): Thực hiện lặp lại một công việc

(lệnh) không hoặc nhiều lần căn cứ vào một điều

kiện nào đó.

Trình tự logic của thuật toán

Trang 12

Biểu diễn thuật toán

phương trình ax+b=0

Bước 1: Nhận giá trị của các tham số a, b

Bước 2: Xét giá trị của a xem có bằng 0 hay không?

Nếu a=0 thì làm Bước 3, nếu a  0 thì làm Bước 4

Bước 3: (a=0) Nếu b=0 thì ta kết luận phương trình

vô số nghiệm, nếu b  0 thì ta kết luận phương

Trang 13

else begin

if Delta<0 then Phương trình Vô nghiệm Else

Begin Phương trình có 2 nghiệm x1=(-b+sqrt(Delte))/(2*a) x2=(-b+sqrt(Delte))/(2*a) end

end

Trang 14

Cấu trúc dữ liệu và Thuật toán

Thuật toán + Cấu trúc dữ liệu = Chương trình

Niklaus Emil Wirth

In 1975 he wrte the book "Algorithms + Data Structures =

Programs", which gained wide recognition and is still

useful today.

Was born in Winterthur, Switzerland, in 1934 Professor of Informatics at ETH Zürich in 1968 Chief designer of the programming languages Euler, Algol W, Pascal

He received the ACM Turing Award for the

development of these languages and in 1994

Chương trình (phần mềm)

– Là một thể hiện Cấu trúc dữ liệu và Thuật toán

nhằm thực hiện một công việc nào đó trên 1 ngôn

ngữ lập trình.

– Là 1 dãy các chỉ lệnh nhằm thực hiện 1 công việc.

– Chương trình nguồn được biên dịch => Phần mềm.

giải pt bậc 2, biên dịch thành file dạng EXE

Trang 15

Công cụ lập trình

Ngôn ngữ lập trình

máy tính

– Được thiết kế với 1 mục đích nào đó

– Có nhiều ngôn ngữ lập trình đã được phát minh

ra và sử dụng:

• Pascal, C

• Java, PHP,

• …

Trang 16

Công cụ lập trình

development environment), cho phép:

– Soạn thảo văn bản chương trình = ngôn ngữ LT nào đó.

– Kiểm tra lỗi cú pháp, kiểm tra lỗi logic (debug)

– Biên dịch chương trình nguồn (source) thành chương trình

thực thi được trên máy tính (executable program)

Microsoft Visual studio

– C, C++, C#

– Visual Basic

– Soạn thảo văn bản chương trình

– Kiểm tra lỗi, debug, biên dịch …

Trang 17

Ngôn ngữ lập trình C/C++

Trang 18

The C programming language

• Phát triển từ đầu thập niên 1970 bởi Dennis

Ritchie để dùng trong hệ điều hành UNIX

• Từ đó, ngôn ngữ này đã lan rộng ra nhiều hệ điều

hành khác và trở thành một những ngôn ngữ phổ

dụng nhất

• C là ngôn ngữ rất có hiệu quả và được ưa

• Cũng được dùng cho việc viết các ứng dụng

• C cũng thường được dùng làm phương tiện giảng

dạy trong khoa học máy tính

Ví dụ

Trang 19

Bộ ký tự (Characters)

• 26 chữ cái latinh HOA A,B,C Z

• 26 chữ cái latinh thường a,b,c z

với mục đích đã được xác định trước

Trang 20

Tên (Identifier)

phần của chương trình: Biến, Hàm, Hằng …

• Tên là một dãy các kí tự gồm các chữ cái [a-z,

A-Z, 0-9] và gạch nối “_”

• Lưu ý:

– Tên không đuợc chứa kí tự trống,

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

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

• Nên đặt các tên gợi nhớ, có ý nghĩa, không quá

dài.

Kiểu dữ liệu cơ bản (Data Types)

– Kiểu nguyên (Integral)

– Kiểu thực (Floating point)

Tham khảo:

https://msdn.microsoft.com/en-us/library/cc953fe1.aspx

liệu Tham khảo:

https://msdn.microsoft.com/en-us/library/s3f49ktz.aspx

Trang 21

18/08/2016 41

https://msdn.microsoft.com/en-us/library/cc953fe1.aspx

Trang 22

18/08/2016 43

https://msdn.microsoft.com/en-us/library/s3f49ktz.aspx

Trang 23

• Có thể thay đổi giá trị trong khi chương trình

Trang 24

Hằng (Constant)

đến chương trình

– Ví dụ: const int Pi = 3.14 ; //Khai báo hằng

viết chú thích trên nhiều dòng)

– Ví dụ: /* Đoạn chương trình tính

nghiệm phương trình bậc 2 */

Trang 25

scanf( “ %d %d ”, &a, &b );

• Hàm scanf() hoạt động thế nào???

printf( “ Tong %d + %d = %d ”, a, b, a+b );

• Hàm printf() hoạt động thế nào???

Trang 27

3 Mô tả thuật toán tìm USCLN của hai số.

4 Mô tả thuật toán tìm số lớn nhất trong ba số

5 Mô tả thuật toán tìm số lớn nhất trong 10 số

Trang 28

Bài tập

6 Giá điện sinh hoạt tháng được tính như sau:

– Từ 0-50kWh giá 92% giá trung bình (GTB)

Mô tả thuật toán tính tiền điện sinh hoạt tháng khi

biết số điện tiêu thụ tháng và giá trung bình.

Bài tập về nhà

1 Diễn giải về kiểu int trong VS C/C++

2 Diễn giải về kiểu chartrong VS C/C++

3 Diễn giải về kiểu float trong VS C/C++

4 Diễn giải về hàm scanf() trong VS C/C++

5 Diễn giải về hàm printf() trong VS C/C++

6 Diên giải về biểu thức và phép toán trong VS

C/C++

Trang 29

Bài tập về nhà

7 Hoàn thiện các bài tập trên lớp

Chuẩn bị 1 bản báo cáo trên word, nộp cho

giáo viên vào buổi học tiếp theo.

Ngày đăng: 16/05/2017, 16:21

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w