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

Tài liệu LẬP TRÌNH HÀM ppt

27 331 2
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặ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

Thông tin cơ bản

Tiêu đề Lập trình hàm
Tác giả Võ Trung Hùng
Trường học Trường Đại học Bách Khoa - Đại học Đà Nẵng
Chuyên ngành Công nghệ Thông tin
Thể loại Giáo trình
Định dạng
Số trang 27
Dung lượng 176,41 KB

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

Nội dung

TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN LẬP TRÌNH HÀM Võ Trung Hùng rung... — Năm được các kỹ năng lập trình m Thực hiện báo cáo... l ài liệu tham khảo Giáo trình lập trình hà

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN

LẬP TRÌNH HÀM

Võ Trung Hùng rung Vo- [rung@)ud.edu.vn

Trang 3

— Năm được các kỹ năng lập trình

m Thực hiện báo cáo

Trang 4

l ài liệu tham khảo

Giáo trình lập trình hàm (P.H Khánh) Revised Report on Algorithmic Language ocheme, Richard Kelsey, Wiliam Clinger

& Jonathan Rees

Teach Yourself Scheme in Fixnum Days, Doral Sitaram

PLT DrScheme : Programming Env

Manual, http://www.drscheme.org/

Trang 5

Phan | Nguyên ly lập trình nhàm

Trang 6

Đ)Inh nghĩa ngôn ngữ lập trinh

Trang 7

Lập trình mệnh lệnh

m Sử dụng nguyên lý tinh chễ từng bước

m Khai báo dữ liệu : tên biên - kiêu

m Các kiêu dữ liệu cơ bản : so, ky tu

m Trạng thái trong (bộ nhớ, thanh ghi) thay đối

bang lenh gan

m Trạng thái ngoài (thiệt bị ngoại vi) thay đồi bởi

cac lénh vao ra

m Các câu trúc điêu khiên

m Dê có hiệu ứng phụ khi dùng CT con

Trang 8

Cơ sở của các ngôn ngữ hàm (1)

m linh khai bao

— Ngôn ngữ mệnh lệnh :

begin GetData ( );

Trang 9

Cơ SỞ của các ngôn ngữ hàm (2)

Dac diém

—LaNNLI bac cao trưu tượng hơn

— lt sử dụng các biên toàn cục

- Người sử dụng quan tâm đên việc định nghĩa

các ham toan học dê suy luận má không quan

tam dén van dé cai dat

— Ngôn ngữ Ele trinh ham dựa trên việc tinh toan

giá trị của biêu thức từ bên ngoài lời gọi hàm

— Một hàm có thê có hoặc không có đôi số

Trang 10

Cơ sở của các ngôn ngữ hàm (3)

m Đặc điễm

— Két quả một hàm không phụ thuộc vào thời

điểm hàm được gọi

IX)+l{x)=2 "l{x) ˆ

— Không thê thay đối giá trị một phân tử của mảng

- Hạn chễ trong giao tiễp giữa hệ thông tương tác

vol HDH va NSD

Trang 11

Cơ sở của các ngôn ngữ hàm (3)

= Cac khái niệm co’ ban trong LTH

— Ham (function)

— Dann sacn (list)

— Kiéu (type)

— Tính da kiéu (polymorphism)

— Cac ham bac cao (higher-order function)

— Tham đôi hoá từng phân (currying)

— Các hàm theo kiêu khôn ngoan (lazy-evalation)

— Phương trinh (equaftion)

Trang 12

Ngon ngW Miranda

m Giới thiệu

— Do David Turner phat triên năm 1986

— Trinn thong dicn chnay tren Unix

- Đặc điềm : thuân tuý hàm

m L)ịnh nghĩa hàm

— Cu phap

<ten ham> ::<mién xac dinh> -><mien gia tri>

<tên hàm>[<danh sách tham đồi>]=<biêu thức> [<điêu

Kiện>|

Trang 13

Ngon ngW Miranda

m L)ịnh nghĩa hàm

— Vi du : déi dé Fahrenheit > Celsius

celsius :: num -> num

celsius f = (f - 32)* 5/9

— Su dung:

celsius 636

> 20

Trang 16

= |[-b/(2*a)| + radix/(2*a), otherwise

= [-b/(2*a)] - radix/(2*a), otherwise where delta=b"b-4*a*c and radix=sart delta

— Su dung:

ptbac2 2 1 -3

oe

H9

Trang 17

i || danh sach rong

weekdays=[ Mon, lue, Wed, Ihur, Fri |

— Dạng nhận biết được : [body | qualifiers]

In | n <-[1 10] : n mod 2 = 1]

-> [1, 3,5, 7, 9]

Trang 20

Ngon ngW Miranda

m hép so khớp

— Một hàm có thê định nghĩa bằng nhiêu biêu thức

vê phải khác nhau

- Cú pháp tổng quát :

<pattern> = <expression=>, <conadition>

— Vi du: tinh day Fibonacci

fid O = O HID 1= l fib (n+2) = fib (n+1) + fib n

Trang 22

Ngon ngW Miranda

= Phuong phap currying (tham doi hoa tung onan - partial parametrization)

— Cho ham n bién : f(x,, X>, , X,)

— Có thê việt lại :

X4 >(X5 > (X >T(X, X,)) -))

— Mét ham nhiéu hon 1 tham déi thi có thê tham

đôi hoá từng phân

triple x =3*x

noac

triole = multi 3

Trang 23

Ngon ngW Miranda

m Kiéu va tinh da kiéu (polymorphic)

— Các ngôn ngữ hàm thường không sử dụng định

ave

— Cho phep dinh nghĩa cac hàm đa kiêu với lời gọi

có các tham đôi có các kiêu dữ liệu khác nhau

Trang 24

Ngon ngW Miranda

m Tinh ham theo kiéu kh6n ngoan

— lhông thường khi tính gia trị một ham, các tham

đôi được tính giá tri trước > tính giá trị của hàm

mult (fac 3) (fac 4) > mul 6 24 > 144

— Rut gon biéu thtrc > don gian hon : rut gọn theo

Trang 25

Ngon ngW Miranda

m Tính hàm theo kiêu khôn ngoan

— VỊ dụ : tính fac với cond

fac n = cond (n=O) | (n * fac (n-1))

> nêu tham đồi thứ 3 luôn được tính thì hàm

trong Miranda chi tinh giá trị tham đôi khi cân

EX : fac 1 > cond (1=0) 1 (1*fac (1-1)) lÍ gọi fac

> |f (1=0) then 1 else (1*fac (1-1)) Il goi cond

> if false then 1 else (1*fac (1-1)) II tinh 1=O0 > 1*fac (1-1)

> 1*(cond (1-1=0) 1 ((1-1)*fac ((1-1)-1)))

_—>

Trang 27

= quicksort fal a< Tail :a<x]

quicksort fal a< Tail :a>x]

EX | Quicksort |[5, 2, 9, 1]

> |1,2,5, 9]

Ngày đăng: 13/12/2013, 08:15

TỪ KHÓA LIÊN QUAN

w