[*/th-th] fix filenames

This commit is contained in:
Boris Verkhovskiy 2024-07-06 05:12:47 -06:00
parent da7872160f
commit 3c01f30087
2 changed files with 15 additions and 15 deletions

View File

@ -1,6 +1,6 @@
--- ---
language: Pascal language: Pascal
filename: learnpascal.pas filename: learnpascal-th.pas
contributors: contributors:
- ["Ganesha Danu", "http://github.com/blinfoldking"] - ["Ganesha Danu", "http://github.com/blinfoldking"]
- ["Keith Miyake", "https://github.com/kaymmm"] - ["Keith Miyake", "https://github.com/kaymmm"]
@ -34,11 +34,11 @@ const
type type
{ {
ประกาศชนิดข้อมูลของเราเองที่นี่ ไม่ว่าจะเป็น ชนิดข้อมูลทั่วไป ประกาศชนิดข้อมูลของเราเองที่นี่ ไม่ว่าจะเป็น ชนิดข้อมูลทั่วไป
หรือจะเป็นคลาส หรือจะเป็นคลาส
} }
var var
{ {
ตัวแปร ในภาษาปาสกาล ไม่เหมือนกับภาษาอื่น ๆ ตัวแปร ในภาษาปาสกาล ไม่เหมือนกับภาษาอื่น ๆ
เพราะต้องประกาศในบล็อค var ก่อนใช้งานเสมอ เพราะต้องประกาศในบล็อค var ก่อนใช้งานเสมอ
} }
@ -59,7 +59,7 @@ var a:integer;
var b:integer; var b:integer;
//หรือแบบที่นิยมมากกว่า คือเอามาเก็บในบล็อค var ทั้งหมด //หรือแบบที่นิยมมากกว่า คือเอามาเก็บในบล็อค var ทั้งหมด
var var
a : integer; a : integer;
b : integer; b : integer;
@ -85,7 +85,7 @@ type
ch_array : array [0..255] of char; ch_array : array [0..255] of char;
// อะเรย์ เป็นชนิดข้อมูลที่มี ความยาว/ช่องเก็บข้อมูล และ ชนิดข้อมูล // อะเรย์ เป็นชนิดข้อมูลที่มี ความยาว/ช่องเก็บข้อมูล และ ชนิดข้อมูล
// โค้ดด้านบน เป็นการประกาศอะเรย์ของตัวอักษา 255 ตัวอักษา // โค้ดด้านบน เป็นการประกาศอะเรย์ของตัวอักษา 255 ตัวอักษา
// ซึ่งได้ ความยาว/ช่องเก็บข้อมูลในตัวแปรตัวนี้ 256 ช่องที่เป็นข้อความ // ซึ่งได้ ความยาว/ช่องเก็บข้อมูลในตัวแปรตัวนี้ 256 ช่องที่เป็นข้อความ
md_array : array of array of integer; md_array : array of array of integer;
// ด้านบนนี้ เป็นตัวอย่าง อะเรย์สองมิติของเลขจำนวนเต็ม // ด้านบนนี้ เป็นตัวอย่าง อะเรย์สองมิติของเลขจำนวนเต็ม
// อะเรย์ ยังซ้อนกับอะเรย์ได้อีกด้วย ทำให้สร้าง อะเรย์หลายมิติได้ // อะเรย์ ยังซ้อนกับอะเรย์ได้อีกด้วย ทำให้สร้าง อะเรย์หลายมิติได้
@ -95,22 +95,22 @@ type
// การประกาศตัวแปร : ชื่อตัวแปรเหล่านี้จะนำไปใช้ด้านล่างต่อไป // การประกาศตัวแปร : ชื่อตัวแปรเหล่านี้จะนำไปใช้ด้านล่างต่อไป
var var
int, c, d : integer; int, c, d : integer;
// ประกาศในบล็อค var มีตัวแปรสามตัวเป็นอินทีเจอร์ // ประกาศในบล็อค var มีตัวแปรสามตัวเป็นอินทีเจอร์
// ชนิดจำนวนเต็ม แบบ 16 bit มีช่วงข้อมูล [-32,768.. 32,767] // ชนิดจำนวนเต็ม แบบ 16 bit มีช่วงข้อมูล [-32,768.. 32,767]
// »int« ในที่นี้เป็น "ชื่อตัวแปร" ที่ต้นฉบับตั้งให้สอดคล้องกับชนิดข้อมูล // »int« ในที่นี้เป็น "ชื่อตัวแปร" ที่ต้นฉบับตั้งให้สอดคล้องกับชนิดข้อมูล
// อย่าสับสนกับบางภาษาที่มีชนิด int ประกาศหน้าชื่อตัวแปร // อย่าสับสนกับบางภาษาที่มีชนิด int ประกาศหน้าชื่อตัวแปร
r : real; r : real;
// ตัวแปร r เป็นชนิดเรียล (real) หรือเลขทศนิยม // ตัวแปร r เป็นชนิดเรียล (real) หรือเลขทศนิยม
// real มีช่วงข้อมูล [3.4E-38..3.4E38] // real มีช่วงข้อมูล [3.4E-38..3.4E38]
bool : boolean; bool : boolean;
// ข้อมูลชนิดบูเลียน (boolean) มีค่าได้สองแบบ คือ True/False // ข้อมูลชนิดบูเลียน (boolean) มีค่าได้สองแบบ คือ True/False
ch : char; ch : char;
// ตัวแปร ch เป็นชนิดตัวอักษร (ชาร์? คาร์?) หรือคาแรกเตอร์ // ตัวแปร ch เป็นชนิดตัวอักษร (ชาร์? คาร์?) หรือคาแรกเตอร์
// ตัวอักษรเป็นแบบ ASCII 8 bit ดังนั้นจะไม่ใช่ UTF, Unicode // ตัวอักษรเป็นแบบ ASCII 8 bit ดังนั้นจะไม่ใช่ UTF, Unicode
str : string; str : string;
// ตัวแปรสตริงจะเก็บข้อความ หรือ char หลาย ๆ ตัว // ตัวแปรสตริงจะเก็บข้อความ หรือ char หลาย ๆ ตัว
// ชนิดข้อมูลนี้ไม่เป็นมาตรฐานภาษาแต่คอมไพเลอร์ปาสกาลก็มักจะมีให้ // ชนิดข้อมูลนี้ไม่เป็นมาตรฐานภาษาแต่คอมไพเลอร์ปาสกาลก็มักจะมีให้
// ทั่ว ๆ ไปแล้ว จะเป็นอะเรย์ของ char ความยาวตั้งต้น 255 // ทั่ว ๆ ไปแล้ว จะเป็นอะเรย์ของ char ความยาวตั้งต้น 255
s : string[50]; s : string[50];
// แบบนี้คือ กำหนดความยาว string เอง ให้เก็บ char 50 ตัว // แบบนี้คือ กำหนดความยาว string เอง ให้เก็บ char 50 ตัว
// แบบนี้ก็ทำให้ประหยัดหน่วยความจำมากขึ้นนั่นเอง // แบบนี้ก็ทำให้ประหยัดหน่วยความจำมากขึ้นนั่นเอง
@ -129,12 +129,12 @@ var
li : longint; // มีช่วงข้อมูล [-2,147,483,648..2,147,483,647] li : longint; // มีช่วงข้อมูล [-2,147,483,648..2,147,483,647]
lw : longword; // มีช่วงข้อมูล [0..4,294,967,295] lw : longword; // มีช่วงข้อมูล [0..4,294,967,295]
c : cardinal; // ก็คือ longword c : cardinal; // ก็คือ longword
i64 : int64; // มีช่วงข้อมูล i64 : int64; // มีช่วงข้อมูล
// [-9223372036854775808..9223372036854775807] // [-9223372036854775808..9223372036854775807]
qw : qword; // มีช่วงข้อมูล [0..18,446,744,073,709,551,615] qw : qword; // มีช่วงข้อมูล [0..18,446,744,073,709,551,615]
// ชนิดข้อมูลแบบ real เพิ่มเติม // ชนิดข้อมูลแบบ real เพิ่มเติม
rr : real; // มีช่วงข้อมูลที่ขึ้นกับระบบปฏิบัติการ rr : real; // มีช่วงข้อมูลที่ขึ้นกับระบบปฏิบัติการ
// (เช่นเป็นแบบ 8-bit, 16-bit, ฯลฯ) // (เช่นเป็นแบบ 8-bit, 16-bit, ฯลฯ)
rs : single; // มีช่วงข้อมูล [1.5E-45..3.4E38] rs : single; // มีช่วงข้อมูล [1.5E-45..3.4E38]
rd : double; // มีช่วงข้อมูล [5.0E-324 .. 1.7E308] rd : double; // มีช่วงข้อมูล [5.0E-324 .. 1.7E308]
@ -146,7 +146,7 @@ Begin
int := 1; int := 1;
r := 3.14; r := 3.14;
ch := 'a'; // ใช้ single quote เหมือนกันทั้ง char และ string ch := 'a'; // ใช้ single quote เหมือนกันทั้ง char และ string
str := 'apple'; str := 'apple';
bool := true; bool := true;
// ภาษาปาสกาล มอง "ชื่อเฉพาะ" แบบไม่สนพิมพ์ใหญ่พิมพ์เล็ก // ภาษาปาสกาล มอง "ชื่อเฉพาะ" แบบไม่สนพิมพ์ใหญ่พิมพ์เล็ก
// (case-insensitive language) // (case-insensitive language)
@ -166,7 +166,7 @@ Begin
// แต่ทำกลับกัน โดยกำหนด real ให้ integer ไม่ได้ // แต่ทำกลับกัน โดยกำหนด real ให้ integer ไม่ได้
c := str[1]; // กำหนดค่าแรกใน array str ให้ตัวแปร c ที่เป็น char c := str[1]; // กำหนดค่าแรกใน array str ให้ตัวแปร c ที่เป็น char
str := 'hello' + 'world'; // เรารวม string เข้าด้วยกันด้วย + str := 'hello' + 'world'; // เรารวม string เข้าด้วยกันด้วย +
my_str[0] := 'a'; // กำหนดค่าให้ string เฉพาะตำแหน่งแบบอะเรย์ทั่วไป my_str[0] := 'a'; // กำหนดค่าให้ string เฉพาะตำแหน่งแบบอะเรย์ทั่วไป
@ -219,12 +219,12 @@ End;
//--------------------// //--------------------//
// main program block // main program block
//--------------------// //--------------------//
Begin Begin
dummy := 3; dummy := 3;
get_integer(i, dummy); get_integer(i, dummy);
writeln(i, '! = ', factorial_recursion(i)); writeln(i, '! = ', factorial_recursion(i));
// พิมพ์ค่า i! // พิมพ์ค่า i!
writeln('dummy = ', dummy); // จะให้ค่าเป็น '3' เสมอ writeln('dummy = ', dummy); // จะให้ค่าเป็น '3' เสมอ
// เพราะจะไม่เปลี่ยนเนื่องด้วย // เพราะจะไม่เปลี่ยนเนื่องด้วย
// การประกาศพารามิเตอร์ใน // การประกาศพารามิเตอร์ใน
// โพรซีเยอร์ get_integer ด้านบน // โพรซีเยอร์ get_integer ด้านบน