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

PHƯƠNG PHÁP LẬP TRÌNH doc

62 2,3K 2

Đ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

Tiêu đề Phương pháp Lập Trình
Trường học Khoa Công Nghệ Thông Tin, Đại Học Bách Khoa Hà Nội
Chuyên ngành Khoa học Máy tính và Công nghệ Thông tin
Thể loại Bài giảng môn học
Thành phố Hà Nội
Định dạng
Số trang 62
Dung lượng 550,5 KB

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

Nội dung

Chương trình máy tính Chương trình – Danh mục các trang thiết bị, tài nguyên sử dụng – Tiến trình sử dụng các tài nguyên và thực hiện các công việc định trước – Mục tiêu: xử lý dữ liệu

Trang 1

MÔN HỌC

Trang 2

Giới thiệu

Cung cấp cho sinh viên kiến thức căn bản về kỹ thuật lập

trình và lập trình theo tiếp cận hướng đối tượng, một

phương pháp lập trình rất thông dụng hiện nay

– Một số thuật ngữ liên quan đến máy tính và lập trình

– Sơ lược về ngôn ngữ lập trình

– Ngôn ngữ minh họa Pseudo code và C/C++

– Các giải thuật cơ bản

Trang 3

Phương thức

 Phương thức học

– Giờ lý thuyết: giảng và báo cáo

– Giờ thực hành tại phòng máy

 Kiểm tra và thi

– Kiểm tra thực hành: kỹ năng lập trình

– Thi lý thuyết : trắc nghiệm khách quan

 Tài liệu tham khảo

– Slide bài giảng Lập Trình Căn Bản

– Giáo trình Phương Pháp Lập trình – Khoa CNTT

 Tài liệu khác

– CDROM bài tập và thực hành

Trang 4

Chương 1

Khái niệm cơ bản

 Một số khái niệm cơ bản về

–Máy tính & chương trình máy tính

–Ngôn ngữ lập trình ,translator,

 Giải thuật và flow chart

–Giải thuật & biểu diễn giải thuật

–Flowchart

 Công cụ phát triển

–Công cụ IDE, Compiler

–Error & debug

Trang 6

Kiến trúc máy tính

Bao gồm nhiều thiết bị phần cứng (hardware devices)

– Công dụng: êệ thống, ứng dụng, cơ sở dữ liệu

– Môi trường hoạt động: OS, Network, WEB, Server,

Trang 7

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

 Chương trình

– Danh mục các trang thiết bị, tài nguyên sử dụng

– Tiến trình sử dụng các tài nguyên và thực hiện các công việc định trước

– Mục tiêu: xử lý dữ liệu theo yêu cầu định trước

 Lập trình: viết chương trình cho máy tính

Trang 8

Ngôn ngữ lập trình

– Phương tiện để viết chương trình cho máy tính

– Hàng trăm ngôn ngữ lập trình khác nhau

– Những quy định về cú pháp (syntax) & ngữ nghĩa (semantic)

– Máy tính có thể hiểu được

– Ngôn ngữ máy - Machine languages

 Ngôn ngữ duy nhất của máy tính - CPU– Hợp ngữ - Assembly languages

– Ngôn ngữ cấp cao - High-level languages

Trang 9

Ngôn ngữ máy - Machine languages

tiếp.

– Phụ thuộc vào máy tính cụ thể

– Dạng nhị phân {0,1}*

– Rất khó đọc hiểu

– Khó có khả năng viết chương trình trực tiếp

 Khó nhớ hàng chục ngàn lệnh dạng {0,1}*

 Rất khó xác định & sửa lỗi

trình

Trang 10

Hợp ngữ - Assembly Languages

nhóm lệnh của mã máy.

– Các lệnh còn đơn giản nên phải dùng nhiều lệnh

– Chưa có những cấu trúc điều khiển thuận tiện

– Khả năng tìm và sửa lỗi cũng chưa thuận tiện

Trang 11

Ngôn ngữ cấp cao

(tiếng Anh)

chương trình dịch trước khi thực thi.

– Source code & Executed code

– Lập trình goto

– Lập trình cấu trúc – Structured

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

– Các dạng khác

Trang 12

 Học ngôn ngữ lập trình VS Học ngôn ngữ tự nhiên

– Quy tắc ngữ pháp đơn giản

– Từ vựng ít, tự quy định

– Cấu trúc câu đơn giản

 Hạn chế và khó khăn của sử dụng ngôn ngữ lập trình

Trang 13

– Dịch và sửa lỗi chương trình

– Chạy thử và sửa lỗi

Trang 14

Một số khái niệm khác

– Syntax error – lỗi ngữ pháp

– Semantic error- lỗi ngữ nghĩa

– Runtime error - Lỗi thực thi

 Dữ liệu, kiểu dữ liệu

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

 Số nguyên, Số thực, Kí tự

– Kiểu dữ liệu có cấu trúc: mảng, chuỗi, cấu trúc,

 Biến (Variable) & Hằng (Constant)

 Giải thuật: khái niệm, công cụ biểu diễn

 Flow chart – lưu đồ

Trang 15

Flow chartStart • Start /Begin bắt đầu giải thuật Chỉ có 1 và chỉ 1 điểm START.

• Input / Output dữ liệu xuất/nhập

nhiều điểm STOP.

Trang 16

Flow chart

– Trình bày trực quan giải thuật

– Độc lập với ngôn ngữ tự nhiên

– Độc lập với ngôn ngữ lập trình

– Bảo đảm khả năng lập trình

– Cho phép dễ dàng kiểm tra giải thuật

– Đi từ START theo bất cứ đường nào cũng phải đến một điểm dừng STOP

– Không có sự quay vòng vĩnh viễn

– Không có sự kết thúc lưng chừng

Trang 17

Flow chartStart

Không có nghiệm Vô số nghiệm

Stop

Algorithms

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

Trang 18

 while (condition) Statement;

 do{ Statement }while (condition);

 for (BT1 ; ĐK ; BT2) Statement;

Trang 20

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

– Java, C++, Object Pascal,…

 Khác

– Prolog, LISP, Visual basic (VB), VC++, J++, Delphi, ASP, PHP,

– Visual studio NET: VB.NET, ASP.NET, C++.NET, C#

Trang 21

Chương 2

Dữ liệu & cấu trúc chương trình

Các khái niệm cơ bản về dữ liệu và biểu diễn

dữ liệu trong máy tính

Khai báo dữ liệu trong chương trình

Một số phép toán cơ bản

Cấu trúc cơ bản một chương trình C/C++

Trang 22

Danh hiệu

 Khái niệm “Danh hiệu”

– Là tên của các đối tượng khác nhau trong lập trình, dùng

để phân biệt giữa đối tượng này với đối tượng khác

– Các đối tượng thường được đặt tên bằng danh hiệu: biến, hằng, chương trình con, ……

 Qui tắc ngữ pháp của danh hiệu:

– Bắt đầu bằng chữ cái (A-Z, a-z) hay dấu gạch dưới ( _ )

– Theo sau là chữ cái, dấu gạch dưới hay chữ số

– Với Pascal không phân biệt CHỮ HOA hay chữ thường

– Một số ngôn ngữ có phân biệt như Java,…

 Ví dụ: X , BienDem, Bien_dem, X1 , X2 , X3 , x1,x2,x3

 Ví dụ sai: 101X3, (X1), Bien Dem

Trang 23

Danh hiệu (tt)

 Danh hiệu gồm 2 loại:

– Danh hiệu thuộc ngôn ngữ (Pre-defined)

 Do ngôn ngữ quy định trước ý nghĩa của nó.

 Được dùng cho các đối tượng có sẵn trong ngôn ngữ

– Ví dụ: int, cin, cout,…

– Danh hiệu do người sử dụng đặt ra (user defined)

 Do người sử dụng tự qui ước và qui định ý nghĩa của nó trong chương trình nguồn (source code)

– Ví dụ: abc, xyz1, xyz2, delta, namsinh, tinh_giai_thua

 Từ dành riêng: Là những từ do ngôn ngữ quy định sẵn như là một bộ phận cấu thành ngôn ngữ đó

– Ví dụ: if, else, do, while

 Ký hiệu đặc biệt: là những ký tự có ý nghĩa được quy định trước trong ngôn ngữ.

– Ví dụ: + - * / > >= := <> ; , ( ) @ [ ]

Trang 24

Qui ước đặt tên danh hiệu

– Tuân thủ quy tắc ngữ pháp của danh hiệu

– Không được trùng lắp với danh hiệu thuộc ngôn ngữ hoặc

– Lợi ích của tên gợi nhớ: giúp chương trình dễ đọc, dễ hiểu

& dể kiểm tra

if (ABC < 0) cout<<“ Phuong trinh vo nghiem”; ABC không gợi nhớ

if (Delta < 0) cout<<“ Phuong trinh vo nghiem”) Delta là tên gợi nhớ

Trang 25

Kiểu dữ liệu (data type)

 Kiểu dữ liệu là gì?

– Một kiểu dữ liệu là một qui định về hình dạng, cấu trúc, miền giá trị, cách biểu diễn và cách xử lý một loại dữ liệu thực tế nào đó trong máy tính.

Kiểu int biểu diễn số nguyên từ -32767 đến 32768 và thực hiện được các phép toán

cộng, trừ, nhân, chia, div, mod

Kiểu char biểu diễn các ký tự và biểu diễn giữa cắp dấu nháy đơn ‘A’

Có thể thực hiện phép so sánh, không thể cộng, trừ, nhân, chia

 Mọi dữ liệu muốn được xử lý bằng máy tính thì phải quy về một kiểu dự liệu nào đó mà ngôn ngữ lập trình đó hiểu được

 Số kiểu dữ liệu là một yếu tố so sánh ngôn ngữ lập trình Càng nhiều kiểu thì càng thuận lợi cho xử lý

 Bao nhiêu kiểu dữ liệu thì đủ?

Trang 26

Các kiểu dữ liệu

– Kiểu liên tục: float, double

– Kiểu rời rạc: int, char, liệt kê,

– Các kiểu dữ liệu có cấu trúc/Kiểu do người dùng định nghĩa

Trang 27

Kiểu dữ liệu cơ sở

Kiểu int: biểu diễn các số nguyên dạng thập phân Chiếm

2 byte trong bộ nhớ, miền giá trị -32767 đến 32768

Kiểu float: biểu diễn các số thực dạng thập phân hay dạng lũy thừa 10 bằng ký tự E (3.2E8) Chiếm 4 byte trong bộ

nhớ.Miền giá trị nhỏ nhất đến (1.9E-39) và lớn nhất đến (1.7E38)

Kiểu char: biểu diễn cho dữ liệu ký tự Chiếm 1 byte

trong bộ nhớ Miền giá trị theo bảng mã ASCCI Biểu diễn

– Bảng mã ASSCI chuẩn và mở rộng.

– Bảng mã và fonts

– Các vấn đề bản mã tiếng Việt 1 byte, 2 byte, Unicode

Một số phép toán: so sánh, int ('F’) = 70 , char(65) = 'A’

Trang 28

Cấu trúc đơn giản chương trình C/C++

Nội dung các câu lệnh mô tả

công việc sẽ được thực

hiện.

Trang 29

Các Khai báo trong C/C++

Hằng và ý nghĩa sử dụng hằng trong chương trình

– Biến: là ô nhớ lưu trữ dữ liệu và thay đỗi được Có kiểu dữ liệu tương ứng

kiểu dữ liệu tên biến;

Trang 30

cụ thể, các phép toán và dấu (, ) Kiểu dữ liệu trả về cũng là kiểu dữ liệu của biểu thức.

A+2*b(c-d) Biến là một biểu thức

Trang 32

Chương 3

Các phát biểu điều khiển

Các phát biểu điều khiển

Phát biểu điều khiển và flowchart

So sánh và đánh giá

Trang 33

Tổng quan

 Phát biểu điều khiển: là những dòng lệnh dùng để điều khiển hoạt động

của chương trình.

 Các phát biểu điều khiển cơ bản

1 Phát biểu gán (assignment statement)

2 Các phát biểu điều khiển (control statements)

1 Phát biểu ghép { }

2. Phát biểu điều kiện if

3. Phát biểu điều kiện if else

4. Phát biểu điều kiện switch case

5. Phát biểu lặp while

6. Phát biểu lặp for

7. Phát biểu lặp do while

8 Phát biểu goto, break, continue

9. Phát biểu gọi hàm (function call): gọi các hàm

Trang 35

Phát biểu if

 Dùng để thực hiện hay không một

phát biểu theo một điều kiện.

No

Trang 36

Phát biểu if else

hiện giữa 2 phát biểu.

X2= (-b - sqrt(Delta))/(2*a);

}

else { cout<<(‘Còn xét tiếp’);}

Trang 38

Phát biểu switch case

trong số những phát

biểu để thực hiện tùy

theo giá trị của biểu

hay nhiều giá trị hằng

rời rạc theo sau là dấu :

và một phát biểu tương

ứng

switch( BiểuThứcChọn) {

Trang 39

Phát biểu while

một công việc nào đó.

mới thực hiện phát biểu.

không xác định.

có ít nhất một phát biểu có khả

năng thay đổi giá trị của điều kiện

Nếu không sẽ lặp vô tận (infinite

Trang 40

Phát biểu do while

một công việc nào đó.

biểu rồi mới kiểm tra điều kiện.

không xác định.

phải có ít nhất một phát biểu có

khả năng thay đổi giá trị của điều

kiện Nếu không sẽ lặp vô tận

Trang 41

Phát biểu for

 Dùng để lặp lại một cơng việc nào đĩ với số lần lặp là xác định được

 Sử dụng biến đếm và biểu thức cận để xác định số lần lặp lại

b4.Tính biểu thức 3 sau đó quay trở lại bước 2 để bắt đầu một vòng mới của chu trình.

Trang 42

Một số chú ý với phát biểu for

thân vòng lặp có thể được lặp đi lặp lại nhiều lần.

trường hợp này việc ra khỏi chu trình for cần được thực hiện nhờ câu lệnh break hoặc return ( viết trong thân chu trình)

bởi dấu chấm phẩy, trong mỗi phần không những có thể viết một biểu thức mà còn có quyền viết một dãy biểu thức phần cách với nhau bởi dấu phẩy Khi đó biểu thức trong mỗi phần sẽ được xác định từ trái qua phải Tính đúng sai của dãy biểu thức trong phần thứ 2 được hiểu là tính đúng sai của biêu thức cuối cùng trong dãy này.

-Lệnh break có thể được sử dụng để thoát sớm khỏi vòng lặp for.

( while, do while)

chu trình để chuyển đến xét biểu thức 3.

Trang 43

Chương 4

Các kiểu dữ liệu do người

dùng định nghĩa

Các kiểu dữ liệu rời rạc

Các kiểu dữ liệu có cấu trúc

Một số giải thuật trên aray.

Khái niệm cơ bản về cấu trúc dữ liệu

Trang 45

Chương 4:Kiểu dữ liệu MẢNG

 Định nghĩa: Mảng là một dãy gồm nhiều phần

tử cùng một kiểu

– Các phần tử có mối quan hệ về vị trí trong dãy được xác

định bằng chỉ số (index) Chính là thứ tự về vị trí của nó trong dãy

 Khai báo dãy: kieudulieu tenmang[SPT];

 SPT là số phần tử tối đa của mảng

 SPT là kiểu đếm được

 Phần tử đầu tiên của mảng có chỉ số = 0

Trang 46

Khởi tạo các giá trị của mảng

 A[ 0 ] = 1; /* Khởi tạo các giá trị của mảng 1, 2, 3… 10 */

Trang 47

Truy xuất phần tử mảng

 Có thể truy xuất hoặc thay đổi giá trị của mảng thông qua tên mảng và chỉ số

 Ví dụ: Khai báo int A[10];

– A[0] = 10; //Gán giá trị 10 cho phần tử đầu tiên

– A[9] = 100;// Gán giá trị 100 cho phần tử cuối cùng

Trang 50

Một số đặc tính của kiểu array

báo Dù là ta dùng bao nhiêu phần tử thì cũng chiếm đúng số bộ nhớ mà dãy đã khai báo.

Trang 51

Một số giải thuật trên mảng

thao tác thường phải thực hiện là tìm kiếm (search)

và sắp xếp (sort) các phần tử trong dãy

giúp cho thao tác search hiệu quả hơn.

– Linear search có và chưa sort, Binary search

– Buble sort, quick sort

Trang 52

Linear search

hay không cho đến khi tìm thấy hoặc hết số phần tử của array thì kết luận có không có.

áp dụng cho dãy bất kỳ, tuy nhiên nếu dãy có thứ tự thì có thể duyệt nhanh hơn “một ít”.

Trang 53

Binary search

dựa vào tính thứ tự của dãy để thực hiện số phép so sánh tối thiểu bằng cách lấy phần tử giữa so sánh với giá trị cần tìm:

– nếu bằng có nghĩa là tìm thấy tại vị trí đó

– nếu không bằng thì phân nữa số phần tử sẽ được loại bỏ không cần xét vì chắc chắn không thể bằng

có 1 triệu phần tử chỉ tốn không đến 20 phép so sánh là đã xác định được trong khi với linear search

là 1 triệu phép so sánh.

Trang 54

Binary search – giải thuật

If (co) cout<<“Tim co phan tu”<< X<<endl;

else cout<<“Khong co phan tu”<< X<<endl;

Trang 56

1 Nếu phần tử a[i] >a[j] thì hoán đỗi 2 phần tử này

– Lặp lâi bước trên với số phần tử củ dãy còn lại giảm dần

từ n -> 2

– Khi hoàn tất dãy sẽ có thứ tự tăng dần

sắp thứ tự không cao.

Trang 57

Bubble Sort – giải thuật

Giải thuật bubble Sort cho dãy có n phần tử và tăng dần

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

tử.

Biến t có dùng kiểu dữ liệu với kiểu cơ sở của

array

Trang 59

Array nhiều chiều

Ngày đăng: 15/03/2014, 02:20

TỪ KHÓA LIÊN QUAN

w