แบบฝึกหัดตัวอย่าง PASCAL ที่หลายๆคนขอมาครับ
กระทู้ : 16,996
คะแนนขอบคุณ : 45
แบบฝึกหัดตัวอย่าง PASCAL อยากให้เขียนโปรแกรมอะไรเป็นตัวอย่างขอได้นะครับ
ขอได้ที่ PM ในเว็ปนะครับ PM หา Admin เลยครับผม
แล้วเดียวผมจะเอามาลงให้ครับผม
« แก้ไขครั้งสุดท้าย: กุมภาพันธ์ 19, 2013, 00:13:04 โดย Moshi »
บันทึกการเข้า
กระทู้ : 16,996
คะแนนขอบคุณ : 45
สิงหาคม 08, 2009, 15:45:27
โปรแกรม หาพื้นที่วงกลม
-------------------
ลอง copy ไปรันดูนะครับ
program it4x;
uses crt;
var r:integer;
area:real;
begin
clrscr;
write('Input Your Radar = ');
readln(r);
area:=3.14*r*r;
writeln('This Area Of Circel = ',area:1:2);
readln;
end.
ลองไปใช้กันดูครับผม
อธิบาย :1:2 - 1 คือจำนวนเว้นค้างหน้านะครับ 2 คือจำนวนทศนิยมที่ต้องการให้โชว์
« แก้ไขครั้งสุดท้าย: สิงหาคม 08, 2009, 19:28:48 โดย admin »
บันทึกการเข้า
กระทู้ : 16,996
คะแนนขอบคุณ : 45
สิงหาคม 08, 2009, 19:41:12
โปรแกรมรับค่าชื่อ สกุล รหัสประจำตัว สาขาวิชา แล้วออกจอภาพ
------------------------------------------------
program it4x;
uses crt;
var id:integer;
name,surname,branch:string;
begin
clrscr;
write('What Is Your ID ? = ');
readln(id);
write('What Is Your Name ? = ');
readln(name);
write('What Is Your Surname ? = ');
readln(surname);
write('What Is Your Branch ? = ');
readln(branch);
clrscr;
writeln('Your Id = ',id);
writeln('Your Name = ',name,' ',surname);
write('Your Branch = ',branch);
readln;
end.
ลอง Copy ไปรันใน Pascal ดูนะครับ ใช้ตัวแปร id เพื่อเป็นรหัส name เป็นชื่อ surname นามสกุล branch สาขา ครับผม
บันทึกการเข้า
กระทู้ : 16,996
คะแนนขอบคุณ : 45
สิงหาคม 08, 2009, 20:22:57
โปรแกรมคำนวณพื้นที่ สีเหลี่ยม คางหมู
-----------------------------
สูตรข้อนี้คือ = 1/2 x ผลบวกด้านคู่ขนาน x สูง
program it4x;
uses crt;
var high,parallel:integer;
begin
clrscr;
write('Input Your Parallel = ');
readln(parallel);
write('Input Your High = ');
readln(high);
clrscr;
write('Area Of Trapezoid = ',0.5*(parallel+parallel)*high:1:2);
readln;
end.
ตัวแปล High แปลว่าความสูง parallel แปลว่า ด้านคู่ขนาน Trapezoid = สี่เหลี่ยมคางหมู
สำหรับพวกคำนวณพื้นที่ อื่นๆ ก็ใช้คล้ายกันครับ เพียงเปลี่ยนสูตร เท่านั้นเอง
บันทึกการเข้า
กระทู้ : 16,996
คะแนนขอบคุณ : 45
สิงหาคม 08, 2009, 21:15:42
โปรแกรม เช็คว่าอายุคุณแก่หรือยัง
--------------------------
โดยรับค่า ชื่อ สกุล และ อายุของคุณ จากนั้นใช้เงื่อนไขโดย
กำหนดว่า ถ้าอายุ น้อยกว่า 0 = "ERROR"
ถ้าอายุ 0-10 = "Baby" = เด็กน้อย
ถ้าอายุ 11-18 = "teens" = วัยรุ่น
ถ้าอายุ 19-30 = "Workers" = วัยทำงาน
ถ้าอายุ 31-60 = "Elderly" = วัยทอง
มากกว่า 60 = "Geezer" = คนแก่
จะสามารถทำได้ 2 รูปแบบนะครับ แบบแรกคือ ทำโดยใช้ IF แบบที่สอง คือทำโดยใช้ Case
แบบแรก If
program it4x;
uses crt;
var name,surname:string;
old:integer;
begin
clrscr;
write('Input Your Name = ');
readln(name);
write('Input Your SurName = ');
readln(surname);
write('How Old Are You ? = ');
readln(old);
clrscr;
writeln('Your name = ',name,' ',surname);
if old<=0 then
writeln('Your old Error')
else
if old<=10 then
writeln('Your old Baby')
else
if old<=18 then
writeln('Your old Teens')
else
if old<=30 then
writeln('Your old Workers')
else
if old<=60 then
writeln('Your old Elgerly')
else
if old>=61 then
writeln('Your old Workers');
;;;;;;
readln;
end.
ลอง Copy ไปรันดูครับ
แบบที่สองแบบ Case
program it4x;
uses crt;
var name,surname:string;
old:integer;
begin
clrscr;
write('Input Your Name = ');
readln(name);
write('Input Your SurName = ');
readln(surname);
write('How Old Are You ? = ');
readln(old);
clrscr;
writeln('Your name = ',name,' ',surname);
case old of
0..10:writeln('Your Old Baby');
11..18:writeln('Your Old Teens');
19..30:writeln('Your Old Workers');
31..60:writeln('Your Old Elderly');
61..100:writeln('Your Old Geezer');
else
writeln('Your Old ERROR');
end;
readln;
end.
ลองนำไปใช้กันดูนะครับ ^^
บันทึกการเข้า
กระทู้ : 16,996
คะแนนขอบคุณ : 45
สิงหาคม 08, 2009, 21:20:49
โปรแกรม คำนวณพื้นที่ สามเหลี่ยม
--------------------------
ถูกร้องขอโดย น้องหม่อน ในบอร์ดเราเองนะครับ
สูตรการหาคือ พื้นที่สามเหลี่ยม = 1/2 x ฐาน x สูง
program it4x;
uses crt;
var high,base:integer;
begin
clrscr;
write('Input Your Base = ');
readln(base);
write('Input Your High = ');
readln(high);
clrscr;
write('Area Of Triangle = ',0.5*base*high:1:2);
readln;
end.
ิตัวแปรที่ใช้ base คือ ฐาน high คือสูง Triangle สามเหลี่ยม
บันทึกการเข้า
กระทู้ : 16,996
คะแนนขอบคุณ : 45
สิงหาคม 08, 2009, 21:26:22
โปรแกรม ตัดเกรดนักเรียน
--------------------
เงือ่นไขมีอยู่ว่า
คะแนน 0-49 เกรด f
50-59 เกรด d
60-69 เกรด c
70-79 เกรด b
80-100 เกรด a
อื่นๆ Error
สามารถทำได้2แบบนะครัยโดยใช้ If และ case
แบบที่ 1 ใช้ IF
Program Cut_Grade;
uses crt;
var score:integer;
begin
clrscr;
write('Input Your Score = ');
readln(score);
if score>0 then
begin
if score<50 then
begin
writeln('Your Grade F');
end
else
begin
if score<60 then
begin
writeln('************');
writeln('Your Grade D');
end
else
begin
if score<70 then
begin
writeln('************');
writeln('Your Grade C');
end
else
begin
if score<80 then
begin
writeln('************');
writeln('Your Grade B');
end
else
begin
if score<101 then
begin
writeln('************');
writeln('Your Grade A');
end
else
begin
writeln('***********');
writeln('Error Score');
end;
end;
end;
end;
end;
end
else
begin
writeln('***********');
writeln('Error Score');
end;
writeln;
writeln;
writeln('Press Any Key To Exit');
readln;
end.
แบบที่ 2 ใช้ CASE
program Cut_Grade_Case;
uses crt;
var score:integer;
begin
clrscr;
write('Input Your Score = ');
readln(score);
writeln('******************');
writeln;
writeln;
case score of
0..49 : writeln('Your Grade F');
50..59 : writeln('Your Grade D');
60..69 : writeln('Your Grade C');
70..79 : writeln('Your Grade B');
81..100: writeln('Your Grade A');
else
writeln('Score Error');
end;
writeln;
writeln;
writeln('Press Any Key To Exit');
readln;
end.
ลองนำไปดัดแปลงแล้วแก้ไขกันเอาเองนะครับ ^^
บันทึกการเข้า
กระทู้ : 16,996
คะแนนขอบคุณ : 45
สิงหาคม 08, 2009, 22:06:51
โปรแกรม คำนวณค่าเฉลี่ยของเลข
--------------------------
เช่น ค่าเฉลี่ย ของเลข 1,2,3,4,5,...100 ... นี่คือ ถึง 100 นะครับ
สูตรของมันคือ เอาเลขทั้งหมดมา+กัน หาร จำนวนตัวที่ + จะ = ค่าเฉลี่ย
ลองดูนะครับ หาค่าเฉลี่ยของเลข 1-100
program it4x;
uses crt;
var i,sum:integer;
begin
clrscr;
i:=1;
repeat
sum:=sum+i;
i:=i+1;
until i>=101;
writeln('Average of 1 to 100 = ',sum/i:1:2);
readln;
end.
ตัวแปร sum มีหน้าที่เก็บค่า 1 ถึง 100 + กัน ส่วน i มีหน้าที่เป็นตัวเลข + ขึ้นเรื่อยๆ ตั้งแต่ 1 - 100 สมมุตอยากหาเกินจาก 100 เป็น 200 ก็ แก้ตรง until i>=101; เป็น 201 แค่นี้เองครับ ลองรันกันเล่นๆดู
ลองดูกันอีกซักข้อนะครับ
หาผลรวมและคำนวนและค่าเฉลี่ยของ 91 88 85 82....,16 ลดลงทีละ 3 จนถึง 16
program it4x;
uses crt;
var i,x,sum:integer;
begin
clrscr;
i:=91;
repeat
writeln(i);
sum:=sum+i;
i:=i-3;
x:=x+1;
until i<=13;
writeln('Average of 91 to 16 = ',sum/x:1:2);
readln;
end.
ตัวแปร sum มีหน้าที่เก็บค่า ตัวเลขที่นำมา + กัน ส่วน i มีหน้าที่เป็นตัวเลข -ทีละ 3 เรื่อยๆ โดยเริ่มจาก 91 ส่วนตัวแปร x มีหน้าที่เก็บว่า เรา + ตัวเลขไปทั้งหมดกี่ครั้ง
« แก้ไขครั้งสุดท้าย: สิงหาคม 08, 2009, 22:14:43 โดย admin »
บันทึกการเข้า
กระทู้ : 16,996
คะแนนขอบคุณ : 45
สิงหาคม 09, 2009, 00:59:34
โปรแกรมคำนวณ ภาษี และยอดเงินสุทธิ
------------------------------
ให้รับค่ารหัสประจำตัว ชื่อสกุล และ เงินเดือน
ถ้า เงินเดือนน้อยกว่า10000บาท ไม่เสียภาษี
ถ้า เงินเดือน 10001-30000 เสียภาษี 3%
ถ้า เงินเดือน 30001-50000 5%
ถ้า เงินเดือน 50001 ขึ้นไป 7%
ภาษี=เงินเดือน*อันตราภาษี
เงินเดือน=เงินเดือน-ภาษี
ตัวแปรที่ใช้นะครับ
name ไว้รับชื่อ id ไว้รับรหัส salary:ไว้รับเงินเดือน กำหนดเป็น longint เพราะจำนวนเลขเยอะ tax ภาษี total เงินเดือนเมื่อหักภาษีแลว้
โปรแกรมนี้ไม่สามารถเขียนโดนใช้ case ได้นะครับ
เขียนโดยใช้ IF
program it4x;
uses crt;
var id,name:string;
salary:longint;
tax,total:real;
begin
clrscr;
write('What Is Your Id ? = ');
readln(id);
write('What Is Your Name ? = ');
readln(name);
write('Input Salary = ');
readln(salary);
clrscr;
writeln('Your Id = ',id);
writeln('Your Name = ',name);
if salary<=10000 then
begin
writeln('Your Salary = ',salary)
end
else
begin
if salary<=30000 then
begin
tax:=salary*3/100;
writeln('Your Tax 3% = ',tax:1:2);
total:=salary-tax;
writeln('Your Total Salary = ',total:1:2);
end
else
begin
if salary<=50000 then
begin
tax:=salary*5/100;
writeln('Your Tax 5% = ',tax:1:2);
total:=salary-tax;
writeln('Your Total Salary = ',total:1:2);
end
else
begin
tax:=salary*7/100;
writeln('Your Tax 7% = ',tax:1:2);
total:=salary-tax;
writeln('Your Total Salary = ',total:1:2);
end;end;end;
readln;
end.
ลอง Copy แล้วไปวางใน pascal ดูครับ
« แก้ไขครั้งสุดท้าย: สิงหาคม 09, 2009, 08:57:43 โดย admin »
บันทึกการเข้า
กระทู้ : 16,996
คะแนนขอบคุณ : 45
สิงหาคม 09, 2009, 12:07:09
โปรแกรม โชว์เลขที่ 5 หารลงตัว โดยใช้ while , for , repeat
-------------------------------------------------
กำหนดจาก 0 ถึง 100 พอนะครับ อยากแก้ให้เกิน 100 ก็ลองแก้ x ดูครับ ^^
คำสั่ง While
Program While_five_cut;
uses crt;
var i,x,loop:integer;
begin
clrscr;
x:=100;
i := 0;
loop:=1;
writeln('Program 5 cut 100');
writeln('*****************');
writeln;
while i<=x do
begin
i:=i+1;
if i mod 5 = 0 then
begin
writeln(loop,')' ,i,' ');
loop:=loop+1;
end;
end;
readln;
end.
คำสั่ง repeat
program repeat1_100;
uses crt;
var i,x:integer;
begin
clrscr;
x:=1;
i:=1;
writeln('Program 1_100/5 Repeat');
writeln('**********************');
writeln;
repeat
if (i mod 5)=0 then
begin
writeln(x,') Number ',i);
x:=x+1;
end;
i:=i+1;
until i>101;
readln;
end.
คำสั่ง For
program For_1_100;
uses crt;
var i,x:integer;
begin
clrscr;
x:=1;
writeln('Program 1_100/5 Use For');
writeln('***********************');
writeln;
for i:=1 to 100 do
begin
if(i mod 5)=0 then
begin
writeln(x,') Number = ',i);
x:=x+1;
end;
end;
readln;
end.
บันทึกการเข้า
กระทู้ : 16,996
คะแนนขอบคุณ : 45
สิงหาคม 29, 2009, 07:45:12
อธิบายคร่าวๆ ใช้ Repeat นะครับเพื่อให้มันวนลุป แล้วให้มัน + ทีละ 2 จากเลขขี่ใช่ไหมครับ ก็เริ่ม จาก i เป็น 1 + 2 ไปเรื่อยๆในแต่ละรอบก็จะเป็นเลขขี่ไปเรื่อยๆครับ แล้วก็เอา มา + ลง Sum ก็จะเป็นคำตอบ
โปรแกรมบวกเลข 1-100 เป็นเลขขี่ อยากให้เกินร้อยก็แก้ตรง until ครับ
program it4x;
uses crt;
var i,sum:integer;
begin
clrscr;
i:=1;
repeat
sum:=sum+i;
writeln('sum + ',i,' = ',sum);
i:=i+2;
until i>100;
readln;
end.
โปรแกรมบวกเลข 1-100 เป็นเลขคู่ อยากให้เกินร้อยก็แก้ตรง until ครับ แตกต่างจากด้านบนคือ i เริ่มที่ 0 ให้เป็นเลขคู่
program it4x;
uses crt;
var i,sum:integer;
begin
clrscr;
i:=0;
repeat
sum:=sum+i;
writeln('sum + ',i,' = ',sum);
i:=i+2;
until i>100;
readln;
end.
บันทึกการเข้า
กระทู้ : 16,996
คะแนนขอบคุณ : 45
สิงหาคม 31, 2009, 11:15:26
โปรแกรม คำนวณ สี่เหลี่ยม สามเหลี่ยม วงกลม แบบเลือก Choice ใช้ Case นะครับ
ถูกขอมาโดยคุณ ศตวรรษ ทองศรี มีไฟล์คำถามโหลดได้ที่นี่
คลิกเล๊ย!!Code programprogram it4x;
uses crt;
var x,i,base,high:integer;
begin
clrscr;
writeln('Welcome To Program Calculator');
writeln('-----------------------------');
writeln('1.Rectangle');
writeln('2.Circle');
writeln('3.Triangle');
writeln;
write('Please Select Choice : ');
readln(i);
case i of
1 : begin
clrscr;
writeln('Program Rectangle');
writeln('-----------------');
writeln;
write('Input Your High = ');readln(high);
write('Input Your Base = ');readln(base);
writeln('Area Of Rectangle is = ',high*base);
end;
2 : begin
clrscr;
writeln('Program Circle');
writeln('--------------');
writeln;
write('Input Your Radius = ');readln(x);
writeln('Area Of Circle is = ',3.14*x*x:1:2);
end;
3 : begin
clrscr;
writeln('Program Triangle');
writeln('----------------');
writeln;
write('Input Your High = ');readln(high);
write('Input Your Base = ');readln(base);
writeln('Area Of Rectangle is = ',0.5*high*base:1:2);
end;
else
begin
clrscr;
writeln('Your Unkwon Choice!!')
end;
end;
writeln;
write('Press Any Key To Exit');
readln;
end.
บันทึกการเข้า
กระทู้ : 16,996
คะแนนขอบคุณ : 45
กันยายน 14, 2009, 20:33:32
โปรแกรมคำนวณ น้ำมัน ดีเซล
มีคนขอมา นะครับ ช่วยนี้เขียนตอบช้าหน่อย พอดียังไม่ค่อยว่าง หุหุ
อธิบายโปรแกรม ประมาณว่า กรอก ลิตรที่ต้องการจะซ์อ แล้วมันจะคำนวณเป็นราคาที่ต้องจ่ายทั้งหมด ตัวแปร desel คือราคาน้ำมัน ตัวแปร x รับค่าจำนวนลิตร ที่จะซื้อ
program it4x;
uses crt;
var desel,x:real;
begin
clrscr;
desel:=26.79;
writeln('Program Desel Calculator');
writeln('------------------------');
writeln('Desel = 26.79/lit ');
writeln;
write('Enter Your Lit = ');readln(x);
writeln;
if x<0 then
writeln('Error Of Lit')
else
writeln('Your Bath = ',x*desel:1:2)
readln;
end.
บันทึกการเข้า
กระทู้ : 16,996
คะแนนขอบคุณ : 45
กันยายน 14, 2009, 21:05:22
โปรแกรม ถามก่อนว่าจะออกจากโปรแกรมยัง Yes/No
โปรแกรมนี้จะไม่หยุดทำงาน จนกว่าจะกด n ครับผม หุหุ ลองนำไปประยุกต์ใช้ดู
program it4x;
uses crt;
var ans:char;
begin
clrscr;
repeat
Write('Do you want to continue (Y/N) = '); readln(ans);
ans:=upcase(ans);
until ans ='N';
end.
บันทึกการเข้า
กระทู้ : 16,996
คะแนนขอบคุณ : 45
กันยายน 14, 2009, 21:09:33
โปรแกรมถาม ต้องการออกจากโปรแกรมไหม Yes/no
program it4x;
uses crt;
var ans:char;
begin
clrscr;
repeat
Write('Do you want to Exit (Y/N) = '); readln(ans);
ans:=upcase(ans);
until ans ='Y';
end.
บันทึกการเข้า