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

Bài giảng Cơ sở lập trình: Chương 1 - Phạm Thanh An

25 15 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 25
Dung lượng 1,74 MB

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

Nội dung

Bài giảng Cơ sở lập trình - Chương 1: Tổng quan về lập trình cho MTĐT với các kiến thức khái niệm về chương trình, ngôn ngữ lập trình, giải thuật; giới thiệu về top down design; mô hình phát triển phần mềm; các cách tiếp cận trong lập trình; tổng quan về lập trình hướng đối tượng; viết các chương trình đơn giản...

Trang 1

Chương 1

Tổng quan về lập trình cho MTĐT

Giảng viên:ThS Phạm Thanh An

Khoa côngnghệ thông tin

Đại học Ngân hàng TP Hồ Chí Minh

Nội dung trình bày

 Khái niệm về chương trình, ngôn ngữ lập

trình, giải thuật

 Giới thiệu về Top down Design

 Mô hình phát triển phần mềm

 Các cách tiếp cận trong lập trình

 Tổng quan về lập trình hướng đối tượng

 Kiến trúc NET Framework và C#

 Viết các chương trình đơn giản

Chương trình

lệnh (chỉ dẫn) được liệt kê theo một trình

tự nhất định nhằm giải quyết một vấn đề.

Chương trình máy tính được viết trên

một ngôn ngữ lập trình.

Theo Niklaus Wirth

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

Trang 2

Giải thuật - Algorithm

Giải thuật (Thuật toán - Thuật giải)

Là dãy các câulệnh (chĩ dẫn) chặt chẽ và

rõ ràng, xácđịnh một trình tự các thao tác

trênmột số đối tượng nào đó sao cho sau

một số hữu hạn bước thực hiện ta đạt được

kết quả mong muốn

Câu lệnh, chương trình, phần mềm

Software

Program 2 Program 1

Ngôn ngữ lập trình

trình là ngôn ngữ để viết chương trình.

các ký hiệu, 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.

Có nhiều loại ngôn ngữ lập trình.

Trang 3

5GLs Artificial intelligence

Hợp ngữ - Assembler

Bao gồm 3 bước: Input –Process -Output

Các bước lập trình

Xác định yêu cầu

bài toán

Phân tích bài toán

Thiết kế Giải thuật

Cài đặt Kiểm thử Bảo trì và Cập nhật

Trang 4

Mô tả giải thuật

Sơ đồ khối (flow chart)

Mô tả bằng ngôn ngữ tự nhiên

Input: Vào a, b thuộc tập R

Ra: Nghiệm phương trình ax + b =0

Bằng Sơ đồ khối (Flow Chart)

Condition expression: Lựa chọn, kiểm tra điều

kiện

Process : Xử lý

Data input/ out put : Vào ra dữ liệu

Flow line: Luồng xử lý

Begin, End : Bắt đầu, kết thúc

Trang 6

Bằng mã giả

Input: Vào a, b thuộc tập R

Ra: Nghiệm phương trình ax + b =0

Xuất “Phương trình có nghiệm x = -b/a”

3 cấu trúc điều khiển cơ bản

Trong lập trình có 3 cấu trúc cơ bản

Tuần tự: các bước thực hiện tuần tự, từ

trên xuống, mỗi bước thực hiện đúng 1 lần

Lựa chọn: chọn 1 trong 2 hay nhiều thao tác

Các vấn đề phức tạp có thể được giải quyết

bằng kỹ thuật top-down design hay stepwise

refinement , với qui tắc

Chia bai toán lớn thành các bài toán con

Tiếp tục chia các bài toán con đó thành các bài

toán con nhỏ

Tiếp tục quá trình trên khi các bài toán con có thể

giải quyết dễ dàng

Trang 7

Không cho phép thay đổi nhiều theo các

đặc tả yêu cầu của hệ thống

Trang 8

Các phabị lặp lại quá nhiều lần

Tạo nguyên mẫu (prototype)

Tạo các nguyên mẫu cho người sử dụng dùng rồi tạo ra

hoàn thiện hệ thống

Ưu điểm:

Linhhoạt trong việc thay đổi yêu cầu

Rútngắn thời gian phát triển

Nhược điểm:

Không thíchhợp trong dự án lớn

Trang 9

Các phương pháp lập trình

Lập trình tuần tự: Assembler (hợp ngữ)

Chương trình quá dài, khó nhớ

Khó kiểm soát lỗi

Lập trình cấu trúc (thủ tục/hướng chức năng)

Chương trình chính được chia nhỏ thành các

So sánh HĐT và hướng chức năng

Hệ thống được xem là một tập hợp các đối

tượng cùng làm việc với nhau để

Các đối tượng thực hiện hành động khi được

yêu cầu

Mỗi đối tượng duy trì dữ liệu riêng của nó

Tiếp cận thủ tục (Procedural approach)

Hệ thống được xem là một tập hợp các thủ

tục tương tác với dữ liệu

Dữ liệu tách rời các thủ tục

Trang 10

So sánh HĐT và hướng chức năng

 Tiếp cận hướng chức năng và tiếp cận hướng đối tượng

Khái niệm về hướng đối tượng

Lớp (Classes)

Đối tượng (Objects)

 Attributes

 Methods

Bao gói và che dấu thông tin

Trang 11

Trừu tượng hóa dữ liệu

Môtả bài toán với những khía cạnh quan trọng nhất

Thuthập và phân tích các đối tượng liên quan, nắm

bắt các đặc trưng cơ bản nhất của chúng và xác định

rõmối quan hệ giữa các đối tượng với nhau

Bao gói và che dấu thống tin

TaoDH CapnhatDH GiatriDH

Trang 12

Môi trường phần mềm trước đây

Đối với người phát triển ứng dụng

Luôn quan tâm tới hệ điều hành

Luôn quan tâm tới công cụ, ngôn ngữ

Bất lợi của DLL và đăng ký vào registry

Phải xác định thiết bị truy cập

Không tích hợp được các ngôn ngữ khác

nhau

Khó khăn khi phát triển các ứng dụng phân

tán

Trang 13

Môi trường phần mềm trước đây (tt)

Đối với người sử dụng

Bất lợi khi phải cài ứng dụng trên máy đơn

Các trang web không tương tác với nhau

.NET framework

Tích hợp một số công nghệ đã có của Microsoft và

một số công nghệ mới nhằm tạo ra giao diện lập trình

Ứng dụng độc lập với thiết bị client

Tháng 7/2000, Microsoft giới thiệu Net

Kiến trúc của Net framework

NET common language runtime (CLR)

.NET framework class library (FCL)

Trang 14

Kiến trúc Net framework

Operate System

Common Language Runtime

Base Class Library

ADO NET: Data and XML

ASP NET

Web Forms Web Services

ASP.NET Mobile Controls

Windows Forms

Common Language Specification

Common Language Runtime - CLR

CLR (Common Language Runtime) là nền tảng

của NET Framework

Là công cụ thực thi mã trung gian (tựa JVM)

Biên dịch (Just-in-time compiler)

Framework Class Libraries - FCL

Là một tập hợp hướng đối tượng của các

kiểu dữ liệu được dùng lại (các thư viên lớp

được đóng gói trước cho việc dùng lại),

khoảng 4000 lớp

Được sử dụng bởi bất kỳ ngôn ngữ của

.NET

Hầu hết các lớp được gom vào một không

gian tên gọi là System

Trang 15

design n-tier design

.Net là đa ngôn ngữ

code.vb code.cs code.cpp

Development Tools

app.exe

FCL

.NET là đa ngôn ngữ (tt)

.Net không chỉ hỗ trợ một ngôn ngữ độc

Trang 16

CLR for

Linux

CLR for Windows

CLR for Unix

.NET Compiler

Linux Native

code

Windows Native code

Unix Native code

.Net là độc lập về hệ điều hành

Thực thi ứng dụng độc lập về hệ điều hành

(Cross-platform) được hiểu theo 2 cách sau:

Các ứng dụng được viết dựa trên Framework Class

Library(FCL), không dựa trên OS

Trình biên dịch phát sinh ra ngôn ngữ chung được

thực thi bởi Common Language Runtime (CLR)

Trang 17

Biên dịch trong NET

Code in VB.NET Code in C# Code in another .NET Language

VB.NET compiler C# compiler AppropriateCompiler

IL(IntermediateLanguage) codeCLR (Common Language Runtime)

just-in-time compilation

Biên dịch trong NET (tt)

Các chương trình được viết bởi ngôn lập trình

được biên dịch vào ngôn ngữ trung gian

(IL-Intermediate Language), không phải là mã

máy (code machine)

CLR biên dịch lại các mã trung gian (IL code)

vào mã máy tức thời khi thực thi chương

trình, just-in-time (JIT): khi hàm đuợc gọi

Mã JIT tồn tại trong bộ nhớ cho các lần gọi

sau (nếu bộ nhớ cho phép)

Biên dịch trong NET (tt)

Các mã trung gian là như nhau, dù được viết bởi

ngôn ngữ lập trình nào trong Net

Sản phẩm IL giống nhau, nên kết quả là một đối

tượng được tạo ra từ ngôn ngữ này có thể được

truy cập hay được dẫn xuất từ một đối tượng

của ngôn ngữ khác trong NET

Ví dụ, người phát triển có thể tạo một lớp cơ sở trong

VB.NET và sau đó dẫn xuất nó trong C# một cách dễ

dàng

Trang 18

Biên dịch trong NET (tt)

Tại sao phải có 2 lần biên dịch

Độc lập với hệ điều hành

 NET framewwork có thể cài đặt trên nhiều platform

 Các chương trình NET được thực hiện mà không có thay

đổi code nào (viết 1 lần, chạy mọi nơi)

Độc lập về ngôn ngữ

 Các chương trình Net không bị trói buộc vào một ngôn

ngữ cụ thể nào cả

 Các chương trình trong Net có thể được viết bới các

ngôn ngữ trong Net

Thiết kế ứng dụng trong Net

Các ứng dụng nguyên khối (Monolithic

Trang 19

Tại sao phải Component-based

Lập trình nhóm (team programming)

Phát triển ứng dụng đa ngôn ngữ (tôi dùng

C#, bạn dùng C++, cô ấy dùng VB.Net)

Sử dụng lại mã nguồn (code reuse)

Nâng cấp độc lập (nâng cấp thành phần X)

Các loại ứng dụng trong NET

Sử dụng Net để xây dựng các loại ứng

Trang 20

các phần gọi là assembly

1 assembly = 1 hay nhiều lớp được biên

dịch, gồm một hay nhiều file nguồn

.exe mô tả gói gồm các lớp với Main()

.EXE / DLL

Cấu trúc chương trình C#

Trang 21

.DLL DLL

obj code

Giới thiệu về C#

C# được xây dựng trên nền tảng C++ và Java

Đơn giản hơn C++

Trình biên dịch C# là hiệu quả nhất trong họ ngôn ngữ

.NET

Là ngôn ngữ lập trình hướng đối tượng, đơn giản, an

toàn, ít từ khóa (80 từ khóa)

C# bao gồm tất cả những hỗ trợ cho cấu trúc, thành

phần component

C# phân biệt chữ hoa chữ thường

Giới thiệu vào 7/2000

Trang 22

C# và các ngôn ngữ khác

dàng của ngôn ngữ Visual Basic

C# và các ngôn ngữ họ Net biên dịch ra

IL còn Java biên dịch ra bytecode (mã

trung gian), sau đó chúng được thực

hiện bằng cách thông dịch hoặc biên

dịch just-in-time trong từng máy ảo

Phát triển chương trình minh họa

Có tối thiểu là hai cách để soạn thảo,

biên dịch và thực thi chương trình:

Sử dụng môi trường phát triển tích hợp

(IDE) Visual Studio NET

Sử dụng chương trình soạn thảo văn bản

bất kỳ như Notepad rồi dùng biên dịch dòng

lệnh

Trang 23

Biên dịch thành Assemblies

 Tạo một assembly từ một hay nhiều file nguồn

 Ví dụ : tạo một có tên assembly

“array.dll” từ file array1.cs:

Tạo file thực thi (Executables)

Tạo flie thực thi sử dụng chỉ dẫn /target:exe

:

 Ví dụ: tạo ra file array.exetừ file array1.cs

Tham chiếu một Assembly

Để tham chiếu một assembly, thêm /reference

khi biên dịch file thực thi:

Ví dụ: tạo ra array.exetừ file nguồn array1.cs

tham chiếu đến assembly có tên array2.dll:

Trang 24

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

Sử dụng trinh soạn thảo notepad và DOS

prompt

Step 1 – gõ code trong Notepad

Step 2 –lưu file với phần mở rộng là cs

Step 3 –Chuyển qua dấu nhắc DOS prompt

Xóa đối số (string[] args) trong phương thức

Main( ) Sau đó gõ dòng lệnh sau đây vao

thân của Main():

Trang 25

Hướng đối tượng

Dựa trên nền tảng component

CLR, FCL là nền tảng

Q&A

Ngày đăng: 07/05/2021, 13:18

TỪ KHÓA LIÊN QUAN

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