17
Bài giảng môn Phương pháp lập Trình MÔN HỌC PHƯƠNG PHÁP LẬP TRÌNH

MÔN HỌC PHƯƠNG PHÁP LẬP TRÌNH

  • Upload
    oki

  • View
    70

  • Download
    2

Embed Size (px)

DESCRIPTION

MÔN HỌC PHƯƠNG PHÁP LẬP TRÌNH. Giới thiệu. Mục tiêu môn học 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. Nội dung Một số thuật ngữ liên quan đến máy tính và lập trình. - PowerPoint PPT Presentation

Citation preview

Page 1: MÔN HỌC PHƯƠNG PHÁP LẬP TRÌNH

Bài giảng môn Phương pháp lập Trình

MÔN HỌC

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

Page 2: MÔN HỌC PHƯƠNG PHÁP LẬP TRÌNH

Trang 2

Giới thiệu

Mục tiêu môn họcCung 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.

Nội dung 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

Kỹ năng tư duy và thực hành trên ngôn ngữ cụ thể.

Page 3: MÔN HỌC PHƯƠNG PHÁP LẬP TRÌNH

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

Page 4: MÔN HỌC PHƯƠNG PHÁP LẬP TRÌNH

Bài giảng môn Phương pháp lập Trình

MỘT SỐ KHÁI NIỆM CƠ BẢN VỀMáy tính & chương trình máy tínhNgôn ngữ lập trình ,translator,..

GIẢI THUẬT VÀ FLOW CHARTGiải thuật & biểu diễn giải thuậtFlowchart

CÔNG CỤ PHÁT TRIỂNCông cụ IDE, CompilerError & debug

Chương 1

Khái niệm cơ bản

Page 5: MÔN HỌC PHƯƠNG PHÁP LẬP TRÌNH

Trang 5

Máy tính - Computer

Máy tính AnalogMáy tính số

Hệ nhị phân Máy tính lập trình được Mô hình máy Turing và Von Newman Các thế hệ máy tính

Đặc tính chung Khả năng tính toán Khả năng thực hiện các phép toán logic Tốc độ tính toán cao Làm theo chỉ thị

Page 6: MÔN HỌC PHƯƠNG PHÁP LẬP TRÌNH

Trang 6

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

Máy tính (Computer system) Bao gồm nhiều thiết bị phần cứng (hardware devices)

Keyboard Screen (monitor) Disks Memory Processing Units

Hệ điều hành (Operating System – OS)Phần mềm (software)

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,..

Page 7: MÔN HỌC PHƯƠNG PHÁP LẬP TRÌNH

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 Kết quả thực hiện

Chương trình máy tính Tập hợp các lệnh được liệt kê theo một trình tự nhất định Các dữ liệu sẽ được nhận Các tài nguyên cần sử dụng Các kết quả sẽ có đượ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

Page 8: MÔN HỌC PHƯƠNG PHÁP LẬP TRÌNH

Trang 8

Ngôn ngữ lập trình

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

Phân chia làm 3 nhóm chính 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

Page 9: MÔN HỌC PHƯƠNG PHÁP LẬP TRÌNH

Trang 9

Ngôn ngữ máy - Machine languages

Ngôn ngữ duy nhất được máy tính (CPU) hiểu trực tiếp.

Được xác định bởi tập lệnh của CPU 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

Không được sử dụng trong thực tế để viết chương trình

Nền tảng xây dựng hợp ngữ

Page 10: MÔN HỌC PHƯƠNG PHÁP LẬP TRÌNH

Trang 10

Hợp ngữ - Assembly Languages

Sử dụng các từ khóa tiếng Anh cho các lệnh hay nhóm lệnh của mã máy.

Được dịch sang mã máy khi thực hiệnChuyển đỗi nhanh chóngDễ đọc và dễ hiểu hơnVẫn tương đối khó sử dụng do

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.

Nền tảng xây dựng các ngôn ngữ cấp cao

Page 11: MÔN HỌC PHƯƠNG PHÁP LẬP TRÌNH

Trang 11

Ngôn ngữ cấp cao

Một câu lệnh diễn tả nhiều động tháiCó cấu trúc ngày càng giống ngôn ngữ tự nhiên

(tiếng Anh)Được dịch sang assembly hay mã máy bằng các

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

Được phân làm nhiều lớp 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

Page 12: MÔN HỌC PHƯƠNG PHÁP LẬP TRÌNH

Trang 12

Học ngôn ngữ lập trình

Học ngữ pháp Quy tắc ngữ pháp Từ vựng Cấu trúc câu

Ngữ nghĩa của các lệnhCác “thành ngữ” 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.

Page 13: MÔN HỌC PHƯƠNG PHÁP LẬP TRÌNH

Trang 13

Chương trình dịch

Dùng để dịch từ một ngôn ngữ lập trình này sang ngôn ngữ lập trình khác

Mục tiêu cuối cùng là dịch sang mã máy để có được executed code –> chương trình thực thi

Phân loại: Intepreter – thông dịch Compiler – biên dịch Intepreter vs. Compiler

Công cụ phát triển – Integrated Development Environment (IDE) Soạn thảo Dịch và sửa lỗi chương trình Chạy thử và sửa lỗi

Page 14: MÔN HỌC PHƯƠNG PHÁP LẬP TRÌNH

Trang 14

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

Lỗi và sửa lỗi Syntax error – lỗi ngữ pháp Semantic error- lỗi ngữ nghĩa Runtime error - Lỗi thực thi

Debug – Tìm và sửa lỗiDữ 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ễnFlow chart – lưu đồ

Page 15: MÔN HỌC PHƯƠNG PHÁP LẬP TRÌNH

Trang 15

Flow chart

Start • 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

• Dòng xử lý

•xử lý hay tính toán dữ liệu

• Điều khiển rẽ nhánh- Điều kiện

Yes

NoGiá trị xét phân nhánh

Trường hợp 1 Trường hợp i Khác

Stop • Stop/End kết thúc của giải thuật. Có thể có một hoặc nhiều điểm STOP.

Page 16: MÔN HỌC PHƯƠNG PHÁP LẬP TRÌNH

Trang 16

Flow chart

Ưu điểm 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

Nguyên tắc kiểm tra Đ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

Page 17: MÔN HỌC PHƯƠNG PHÁP LẬP TRÌNH

Trang 17

Flow chart

Start

Nhập a, b

a=0 ?Yes

No

b=0 ?Yes

No

X=-b/aKhông có nghiệm Vô số nghiệm

Stop

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

Xuất x