งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

CORPAS C++ Online Randomized Problem Generator And Grading System Mr.ThongyosSongsat 523040500-4 Mr.NarinKunaseth523040511-9 Advisor Ph.D.Kornchawal Chaipah.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "CORPAS C++ Online Randomized Problem Generator And Grading System Mr.ThongyosSongsat 523040500-4 Mr.NarinKunaseth523040511-9 Advisor Ph.D.Kornchawal Chaipah."— ใบสำเนางานนำเสนอ:

1 CORPAS C++ Online Randomized Problem Generator And Grading System Mr.ThongyosSongsat Mr.NarinKunaseth Advisor Ph.D.Kornchawal Chaipah Department of Computer Engineering Faculty of Engineering Khon Kaen University

2 Introduction Motivation

3 Objective 1. พัฒนาระบบสุ่มออกโจทย์ 2. พัฒนาระบบตรวจโค้ดอัตโนมัติ 3. พัฒนาระบบ Account&Statistic

4 Related Application JLab - JLAB is a Free-software -Developed by Somchai Prasitjutrakul -Over a 12 years of devolope from version 0.1 to version (01/03/2012)

5 Problem Input code Compile

6 JLab ข้อดี - เหมาะแก่ผู้เริ่มต้นในการเขียนโปรแกรม Java เพราะแบบฝึกหัดไม่ยากจนเกินไป - ใช้งานง่าย มีสิ่งอำนวยความสะดวก (features) ที่ ช่วยเหลือให้แก่ผู้ใช้งานระดับเริ่มต้น เช่น กำหนด บรรทัดที่ใช้เขียนโค้ด, แบบฝึกหัดแบ่งเป็นหัวข้อ ง่ายต่อการเลือกทำ ข้อเสีย - ต้องดาวน์โหลดโปรแกรมหลายโปรแกรมเพื่อ เริ่มต้นใช้งาน เช่น J2SDK รุ่น 1.5 ขึ้นไป, JLab, Java 6 Help file

7 Pc^2 (PC-Square) -Pc^2 is a dynamic, distributed real-time system designed to manage and control Programming Contests. -Developed by Smir E. Ashoo, Troy Boudreau and Douglas A.Lane

8 Pc^2 (PC-Square)

9 ข้อดี - สิ่งอำนวยความสะดวก (features) ที่ใช้ในการจัดการ และควบคุมการแข่งขันการเขียนโปรแกรมมีหลากหลาย เช่น การควบคุมการสื่อสารระหว่างผู้เข้าแข่งขันกับ กรรมการหรือผู้ตัดสิน การกำหนดสิทธิต่างๆสำหรับผู้ใช้ ข้อเสีย - โปรแกรมถูกออกแบบให้ใช้เฉพาะกลุ่มคือ ใช้จัดการ และควบคุมการแข่งขันเท่านั้น ไม่ได้มีสิ่งอำนวยความ สะดวกอื่นๆเช่นสื่อการเรียนการสอน และ แบบฝึกหัด ระดับเบื้องต้น

10 UVa Online Judge -UVa Online Judge is an online automated judge for programming problems -Developed by Miguel Revilla Rodríguez and Ciriaco García de Celis -Created in 1995

11 UVa Online Judge Submit Problem

12 Wrong Result Correct Result

13 UVa Online Judge ข้อดี - สะดวกและใช้งานได้ง่ายต้องการเพียง Web Browser - สามารถแก้ปัญหาได้โดยใช้ได้ถึง 4 ภาษา ได้แก่ ANSI C, Java, C++, Pascal - มีการจัดเก็บสถิติของผู้ใช้ เช่น จำนวนปัญหาที่ได้ทำ จำนวนครั้งที่ส่งปัญหา จำนวนครั้งที่ทำถูกและผิด ข้อเสีย - โจทย์แบบฝึกหัดไม่เหมาะแก่ผู้ใช้ระดับเริ่มต้น เพราะ โจทย์นำมาจากการแข่งขัน ACM-ICPC - ผลลัพธ์ที่ส่งมาให้ทางอีเมล์ถ้าหากทำผิด ไม่สามารถ บอกได้ว่าผิดตรงส่วนไหน เพราะอะไร ทำให้ผู้ใช้ไม่ สามารถรับทราบถึงปัญหา

14 Design & Develop Design Use Case Diagram

15 User Interface

16

17 แผนงานที่ได้ดำเนินการไป แล้ว ทำการสร้างหน้าต่างส่วนต่อประสานกับผู้ใช้ (User Interface) มี menu ต่างๆดังนี้ Lesson, Exercise, Guideline, About us บนเว็บโฮสติ้ง (Web Hosting) ที่ ได้ถูกกำหนดมาให้คือ ได้ตัวอย่างดังรูปwww.sooksala.com/corpas

18 ภาพทางซ้ายมือเป็นรูปแบบในส่วนของ “ การเขียนโค้ด (Editor Text) การรับไฟล์ input code และการ Compile&Run” ภาพทางขวามือเป็นรูปแบบในส่วนของ “Lesson”

19 ภาพทางซ้ายมือเป็นรูปแบบในส่วนของ “Guide line” ภาพทางขวามือเป็นรูปแบบในส่วนของ “About us”

20 แผนงานที่ได้ดำเนินการไปแล้ว วิธีประมวลผล (Compile&Run) ภาษา C++ ผ่านทาง Web Application โดยขั้นตอนการทำงานของการประมวลผล ภาษา C++ ผ่านทาง Web Application จะแบ่งเป็น 3 ขั้นตอนดังนี้ 1. ใช้ PHP ในการรับไฟล์ที่เป็นโค้ด (.cpp) 2. ใช้คำสั่ง exec แล้วตามด้วยคำสั่งที่ต้องการให้พิมพ์ บน command promt ของ server ที่เป็น linux ดังนี้ exec(‘g++ / ชื่อ path ที่ใช้เก็บไฟล์ / ชื่อไฟล์.cpp’) 3. นำ output ที่ได้มาแสดงออกบนเว็บเพจ ซึ่งผลที่ได้ คือ ผลรันของโค้ด หรือ ข้อผิดพลาดต่างๆที่เกิดจาก การ compile ไม่ผ่าน

21 โค้ด php ที่ใช้ในการส่งคำสั่ง command promt ไปยัง เครื่องที่เป็น linux พร้อมทั้งนำค่า output ที่ได้กลับมา แสดงบน webpage &1', $output); $output = implode(" ", $output); print_r($output); exec('./a.out 2>&1',$output2); $output2 = implode(" ", $output2); print_r($output2); ?>

22 ภาพทางซ้ายมือเป็นผลลัพธ์จากการรันโค้ดที่ถูกต้อง ภาพทางขวามือเป็นผลลัพธ์จากการรันโค้ดที่ไม่ ถูกต้อง ( มี SYSTAX ERROR) วิธีประมวลผล (Compile&Run) ภาษา C++ ผ่านทาง Web Application

23 แผนงานที่ได้ดำเนินการไป แล้ว ทำการพัฒนาฟังก์ชันที่จะใช้ในการ ตรวจสอบความถูกต้องของโค้ด ภาษาซีพลัสพลัส (C++) โดยหลักการจะเป็นการรับค่าจากไฟล์ ที่เป็นชุดตัวเลขที่ใช้ในการตรวจสอบ แล้ว ทำการรันโค้ดเพื่อเทียบผลลัพธ์กับโค้ดที่ ถูกต้อง

24 ตัวอย่างของโค้ดที่มีการทำงานที่จะทำการรับ ค่าเข้ามา (input) กล่าวคือมีการ cin เข้ามา นั่นเอง แผนงานที่ได้ ดำเนินการไปแล้ว

25 ภาพทางซ้ายมือเป็นตัวอย่างของไฟล์ที่เป็น input ภาพทางขวามือเป็นผลจากการรันโค้ดและทำการรับ ค่าจากไฟล์ที่เป็น input แผนงานที่ได้ ดำเนินการไปแล้ว

26 งานต่อไปที่จะดำเนินการ 1. ออกแบบหน้าต่างส่วนประสานติดต่อกับ ผู้ใช้ (User Interface) ให้สวยงาม 2. สร้างระบบฐานข้อมูลและทำการเชื่อมต่อ กับเว็บแอปพลิเคชันของตนเอง 3. พัฒนาฟังก์ชันการตรวจโค้ดของ ภาษาซีพลัสพลัส (C++) ให้สมบูรณ์

27 Thank You


ดาวน์โหลด ppt CORPAS C++ Online Randomized Problem Generator And Grading System Mr.ThongyosSongsat 523040500-4 Mr.NarinKunaseth523040511-9 Advisor Ph.D.Kornchawal Chaipah.

งานนำเสนอที่คล้ายกัน


Ads by Google