การวิเคราะห์การทำงานของโปรแกรมนั้นสามารถทำให้ผู้เขียนรู้เวลาคร่าวๆ ของโปรแกรมที่เขียน เช่น $O(n), O(n^2), O(nlog(n))$ ซึ่งในการวิเคราห์จะเทียบกับขนาดของ $n$ เป็นหลัก
Read MoreIceBorworntat's Blog
competitive coder
KU01 2021 Round3
จากความเดิมตอนที่แล้ว ข้อสอบในรอบที่ 1 ค่อนข้างง่ายอาจทำให้ทางผู้ออกข้อสอบคิดว่าข้อสอบรอบนี้ควรปรับให้มีความยากมากขึ้น
Read MoreKU01_Bucket Editorial
Read Moreตอนผมอยู่ม.3 ผมมีโอกาสได้สอบเข้าค่ายสอวน. เป็นปีแรกและผมไม่รู้ว่าควรจะเลือกวิชาอะไรดี ผมจึงเลือกสอบตามเพื่อนสนิทของผม ซึ่งเขาสอบคณิตศาสตร์กับคอมพิวเตอร์ ผมก็สอบตามเขาแต่ว่าผมไม่ได้สอบคณิตศาสตร์เพราะไปดูข้อสอบเข้าค่าย 1 ของวิชาคณิตศาสตร์แล้วไม่น่าจะไหวเสียเงินค่าสมัครเปล่าๆ จึงสมัครสอบแค่คอมพิวเตอร์
Read Moreหลังจากที่ห่างหายกันไปนานวันนี้ผมกลับมากับสรุปเรื่องวงรี ซึ่งเป็นส่วนหนึ่งของเนื้อหาเรขาคณิตวิเคราะห์โดยสรุปนี้มีแค่สูตร ในส่วนของทฤษฎีก็ช่างมันเถอะ
และเหตุผลที่ผมทำสรุปนี้เพราะพรุ่งนี้สอบ :)
Unity กับภาษา C#
ในการเขียน Script สำหรับใช้ในโปรเจคที่สร้างไว้ในโปรแกรม Unity จะใช้ภาษา C# แต่ว่าภาษา C# ที่ใช้มันไม่เหมือนกับภาษา C# ทั่วไป เพราะในการใช้กับ Unity นั้นจะต้องทำตาม Format และในการใช้กับ Unity ก็จำเป็นจะต้องใช้กับไฟล์ไลบารี่ของทาง Unity วึ่งสามารถหาอ่านได้ใน docs ของทางเว็บไซต์ Unity แต่ว่ามันจะมีปัญหาเพิ่มขึ้นเมื่อคุณเริ่มใช้ VR(Virtual Reality) ในการทำโปรเจคของคุณ เพราะในการใช้ VR นั้นคุณจะต้องเรียนรู้เกี่ยวกับ Syntax ที่ใช้สำหรับ VR โดยเฉพาะและบางอย่างที่ทำโดยไม่ใช้ VR ได้กลับทำใน VR ไม่ได้ บางทีอาจจะเป็นเพราะมันไม่สามารถใช้ร่วมกันได้
จากการที่ผมฝึก Competitive Programming มาพอสมควรทำให้ผมรู้เรื่องเกี่ยวกับ logic มากพอที่จะคิดโค้ดที่ตอบโจทย์กับความต้องการของทีม ถึงแม้บางที่มันจะต้องมางม Syntax ที่ผมมักจะเขียนผิดพลาดเพราะผมไม่ได้เขียนบน Visual Studio Code หรือ Visual Stdio แต่ผมเขียนบน Vim หรือ Notepad บางทีอาจจะเป็น Editor บน Github
ช่วงนี้ผมเริ่มศึกษา Programming Language ใหม่ๆ
ผมไปเจอเข้ากับภาษา nim ซึ่งผมคิดว่าไม่น่าจะแพร่หลายสักเท่าไร ขนาดใน VsCode ยังไม่มี Official Extension สำรับภาษานี้เลย T^T
การเรียนรู้ภาษาใหม่ไม่ใช่เรื่องยากถ้าเรามีความเข้ามขเกี่ยวกับการเขียนโปรแกรม เหมือนคำกล่าวที่ว่า “คนคิดเป็นนะ ใช้ภาษาอะไรก็ได้” ผมก็คิดว่ามันจริงนะครับเพราะว่าในบางภาษามีฟังก์ชันนี้ บางภาษาไม่มีฟังก์ชันนี้ เช่น Minimum Spanning Tree(MST) ในภาษา C/C++ อาจจะต้อง Implement เองแต่ในภาษา Python นั้นมี MST เป็นฟังก์ชันอยู่แล้ว เพราะฉะนั้นการฝึก Implent เองก็เป็นเรื่องสำคัญ
ตัวอย่างโค้ด ในภาษา nim
echo "Hello World"
var inp = readLine(stdin)
echo "Input :",inp
วันนี้ผมมาแนะนำ Text Editor ที่สามารถใช้ในการเขียนโปรแกรมได้ครับ
Vim(Vi Improved) พัฒนามาจาก Vi ส่วนมากคนที่ใช้ Vim จะเป็น Developer เพราะ Developer มักจะใช้ Mac หรือ Linux ซึ่งสามารถติดตั้ง Vim ได้ใน Terminal และสามารถใช้ Vim ได้ใน Terminal
วิธีการ install บน terminal ของ Linux
icy@iceborowrntat:~$ sudo apt-get install vim
วิธีการ install บน terminal บน Terminal ของ MacOs
icy@icymacbookpro:~$ brew install vim
ในส่วนของ Windows จะใช้เป็น gVim หน้าตาของ Vim ตอนเปิดครั้งแรก
1
~
~
~
~
~
~
~
~ VIM - Vi IMproved
~
~ version 8.1.2269
~ by Bram Moolenaar et al.
~ Modified by team+vim@tracker.debian.org
~ Vim is open source and freely distributable
~
~ Become a registered Vim user!
~ type :help register<Enter> for information
~
~ type :q<Enter> to exit
~ type :help<Enter> or <F1> for on-line help
~ type :help version8<Enter> for version info
~
~
~
~
~
~
~
~
0,0-1 All
โหมดในการใช้ Vim
1. Command Mode
2. Insert Mode
3. Replace Mode
4. Visual Mode [Visual line / Visual]
การทดสอบความสามารถในแก้ปัญหาโดยการเขียนโปรแกรม(KU01)