ภาษาโปรแกรมเชิงหน้าที่

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Suphot Sawattiwong Function ใน C# Suphot Sawattiwong
Advertisements

รายวิชา ง40102 หลักการแก้ปัญหาและการโปรแกรม
ความรู้เบื้องต้นเกี่ยวกับภาษา c
โครงสร้างภาษาซี เบื้องต้น
CSI1201 การเขียนโปรแกรมเชิงโครงสร้าง Structured Programming
ลิมิตและความต่อเนื่อง
แนะนำการเขียนโปรแกรมภาษา C Introduction to C Programming Language
โครงสร้างการควบคุมการทำงานของโปรแกรม Program control structures
Control structure part II
Functional Programming
Functional programming part II
Functional programming part II
Data Structures and Algorithms
Lecture 4: ทางเลือก, เงื่อนไขของทางเลือก
Lecture 13: ฟังก์ชันเรียกตัวเอง
Stack Holidays/seasonal content.
Structure Programming
Structure Programming
CS Assembly Language Programming
Data structure & Algorithms
ลักษณะการทำงานของ Stack
THE WAY OF THE PROGRAM.
บทที่ 1 ความรู้เบื้องต้นเกี่ยวกับการเขียนโปรแกรม GUI
ภาษามาตรฐานสำหรับนิยามข้อมูล และการใช้ข้อมูล
องค์ประกอบพื้นฐาน ของโปรแกรม Visual Basic
ฟังก์ชั่น function.
Logic Programming โปรแกรมเชิงตรรกะ.
ฟังก์ชัน (Function).
บทที่ 13 Pre-processor directive & macro Kairoek choeychuen
ภาษามาตรฐานสำหรับนิยามข้อมูล และการใช้ข้อมูล
แนะนำการเขียนโปรแกรมภาษา C Introduction to C Programming Language
ไวยากรณ์ของภาษาการทำโปรแกรม (1) (Syntax of programming languages)
การเขียนโปรแกรมภาษาซี
อาจารย์สายสุนีย์ เจริญสุข
คิว ลักษณะการทำงานของ Queue การดำเนินการของ Queue การตรวจสอบ Queue
สแตค(stack) โครงสร้างข้อมูลแบบ Stack - การสร้าง Stack
โครงสร้างควบคุมการทำงาน
ครูรัตติยา บุญเกิด.
คำสั่งลำลอง.
ง30216 การสร้างเกมคอมพิวเตอร์
ค31212 คณิตศาสตร์สำหรับ คอมพิวเตอร์ 2
โปรแกรมภาษาจาวาเบื้องต้น Basic Java Programming 3(2-2-5)
หมวดวิชาคอมพิวเตอร์ โรงเรียนพะเยาพิทยาคม โดย อ.วัชระ การสมพจน์
ประวัติความเป็นมาภาษาซี
List ADTs By Pantharee S..
Week 2 Variables.
เสรี ชิโนดม ฟังก์ชัน เสรี ชิโนดม
Computer Programming for Engineers
บทที่ 10 คำสั่งควบคุม OUTLINE 1. คำสั่งแบบเรียงลำดับ (Sequence)
2.3.1 รหัสเทียม (Pseudo code)
วิทยา กรระสี (วท.บ. วิทยาการคอมพิวเตอร์)
ฟังก์ชัน.
การเขียนโปรแกรมภาษาคอมพิวเตอร์ 1
วิชา วิศวกรรมซอฟต์แวร์ (Software Engineering)
หลักการเขียนโปรแกรม ( )
Control Flow.
สาขาวิชาเทคโนโลยี สารสนเทศ คณะเทคโนโลยีสารสนเทศ และการสื่อสาร.
การเขียนโปรแกรมคอมพิวเตอร์ 1
BCS 121 บท 5 การโปรแกรมเชิงวัตถุ (Object-Oriented Programming)
หลักการเขียนโปรแกรม ( )
โครงสร้าง ภาษาซี.
Mathematical Model of Physical Systems. Mechanical, electrical, thermal, hydraulic, economic, biological, etc, systems, may be characterized by differential.
หลักการเขียนโปรแกรมเบื้องต้น
แนะนำการเขียนโปรแกรมภาษา C Introduction to C Programming Language
บทที่ 6 พจนานุกรมข้อมูล และ คำอธิบายกระบวนการ
Function ธนวัฒน์ แซ่ เอียบ. What is a function ฟังก์ชันในภาษา C เป็นโปรแกรมที่ถูกออกแบบมาเพื่อ ใช้แก้ปัญหางานใดงานหนึ่งโดยเฉพาะ ฟังก์ชันจะเปลี่ยน input.
Programming Languages ธนวัฒน์ แซ่เอียบ โฮมเพจรายวิชา
Programming assignments ชื่องาน (subject) : program เขียนด้วยภาษา C หรือ C++ มีทั้งหมด 7 ข้อ กำหนดส่ง 29 กรกฎาคม 2554.
Syntax and Semantics ธนวัฒน์ แซ่เอียบ.
ค31212 คณิตศาสตร์สำหรับ คอมพิวเตอร์ 2
ใบสำเนางานนำเสนอ:

ภาษาโปรแกรมเชิงหน้าที่ Functional Language ภาษาโปรแกรมเชิงหน้าที่

ลักษณะของภาษา ใช้หลักการของฟังก์ชันทางคณิตศาสตร์ square(2) บ 2*2 บ 4 รวมฟังก์ชันที่มีอยู่แล้วเข้าด้วยเป็นฟังก์ชันใหม่ F(x) บ G(x) o H(x) บ G(H(x)) เขียนเป็น Lambda Expression ได้ดังนี้ F บ l(G,H).l(x).G(H(x)) Composite Function

ตัวอย่าง กำหนด square บ lx.x*x จงหา to-the-fourth บ square o square บ l(square,square).lx.square(square(x)) บ lx.(lx.x*x(lx.x*x(x))) บ lx.(lx.x*x(.x*x)) บ lx.((.x*x)(x*x)) บ (2*2) * (2*2) บ 4*4

องค์ประกอบของภาษา (Components) ใช้การเรียกฟังก์ชันมาทำงาน แทนการระบุในรูปคำสั่ง เป็นลักษณะการทำงานตามหน้าที่ (Functional) มีองค์ประกอบดังนี้ ฟังก์ชันเบื้องต้น (Primitive Function) รูปแบบของฟังก์ชัน (Functional Forms) วิธีดำเนินการ (Application Operation) ออบเจกต์ (Object)

A Simple Functional Programming Language John Backus ได้คิดภาษา FP เป็นภาษาเชิงหน้าที่ ในปี 1970 เป็นภาษาที่มีการทำงานไม่ขึ้นกับสถาปัตยกรรมของเครื่อง มีออบเจกต์ n ตัว คือ x1, x2 ,…, xn เขียนแทนด้วย < x1, x2 ,…, xn > สร้างขึ้นโดยใช้หลักการของฟังก์ชันทางคณิตศาสตร์ มีฟังก์ชันเบื้องต้นและรูปแบบฟังก์ชันดังนี้

ฟังก์ชันเบื้องต้น (Primitive Functions) Selection Operations FIRST : < x1 , x2 ,…, xn > บ x1 LAST : < x1 , x2 ,…, xn > บ xn TAIL : < x1 , x2 ,…, xn > บ < x2 ,…, xn > i : < x1 , x2 ,…, xn > บ xi , 1 < i < n

ฟังก์ชันเบื้องต้น (ต่อ) Structuring Operations ROTR : < x1 , x2 ,…, xn > บ < xn , x1 ,…, xn-1 > ROTL : < x1 , x2 ,…, xn > บ < x2 , x3 ,…, xn , x1 > LENGTH : < x1 , x2 ,…, xn > บ n CONS : < x, <x1 , x2 ,…, xn >> บ <x, x1 , x2 ,…, xn >

ฟังก์ชันเบื้องต้น (ต่อ) Arithmetic Operations + : < x , y > บ x + y - : < x , y > บ x - y * : < x , y > บ x * y / : < x , y > บ x / y Identity ID : x บ x

ฟังก์ชันเบื้องต้น (ต่อ) Predicate Functions ATOM : x บ T if x atom NULL : x บ T if x O EQ : <x,y> บ T if x = y AND : <x,y> บ T if both are T OR : <x,y> บ T if one is T NOT : <x,y> บ T if x is F

รูปแบบฟังก์ชัน (Functional Forms) Composition ( f o g ) : x บ f : ( g : x ) ROTL o CONS : < x1, <x2 , x3>> บ ROTL : CONS : < x1, <x2 , x3>> บ ROTL : < x1, x2 , x3> บ < x2, x3 , x1>

รูปแบบฟังก์ชัน (ต่อ) Construction [f1, f2 ,…, fn] : x บ < f1 : x1 ,…, fn : x> [MIN, MAX, AVG, MED] : <0,1,2,3> บ <MIN: <0,1,2,3>,MAX:<0,1,2,3>, AVG:<0,1,2,3>,MED:<0,1,2,3>> บ <0,3,1.5,2>

รูปแบบฟังก์ชัน (ต่อ) Insert /f : x บ if x is <x1> then x1 else if x is the sequence <x1, x2 , ..., xn > and n>= 2 then f : <x1, /f : <x2 , ..., xn >

รูปแบบฟังก์ชัน (ต่อ) /+ : <1,2,3,4> บ + : <1, /+: <2,3,4>> บ + : <1, +: <2, /+ : <3,4>>> บ + : <1, +: <2, + : <3, /+ : <4>>>> บ + : <1, +: <2, + : <3,4>>> บ + : <1, +: <2, 7>> บ + : <1, 9>> บ 10

LISP (List Processor) Objects ATOM, LIST Function Identity function QUOTE Selection Operations CAR, CDR Structuring Operations CONS Predicate Functions ATOM, NULL, EQ, COND DEFINE(ADD(LAMBDA(X Y) (PLUS X Y))) Functional forms (LAMBDA(x) (SQUARE(SQUARE x)) 5 )

ข้อแตกต่างระหว่าง Imperative VS Functional แนวคิดพื้นฐานของการสร้างโปรแกรม เวลาที่ใช้ในการทำงาน การเขียนโปรแกรม ประสิทธิภาพของภาษา