PDA

View Full Version : مرجع سورس های پاسکال ( از کتاب مبانی کامپیوتر و برنامه نویسی پیام نور )



H3M1993
شنبه 09 مهر 1390, 11:58 صبح
من در مورد زبان پاسکال زیاد تو اینترنت جستجو کردم ولی چیز زیادی پیدا نکردم و حالا تصمیم گرفتم یک بانک سورس برای پاسکال داخل این سایت ایجاد کنم منبع من کتاب مبانی کامپیوتر و برنامه نویسی پیام نور هست و روش کارم این است که برنامه ی تمام مثال ها و تمرینات این کتاب را می نویسم و پس از امتحان کردن انها در این مکان قرار می دهم.

H3M1993
شنبه 09 مهر 1390, 12:02 عصر
مثال صفحه ی 16
برنامه ای بنویسید که سه عدد (اعشاری) از ورودی دریافت کرده و حاصل جمع و میانگین انها را چاپ کند.


program ms16 (input,output);
var
num1, num2, num3,sum, ave : real;
begin
readln( num1, num2, num3 );
sum := num1 + num2 + num3 ;
ave := sum / 3;
writeln('sum = ', sum);
writeln('ave = ', ave);
readln;
end.

H3M1993
شنبه 09 مهر 1390, 12:05 عصر
مثال صفحه ی 17
برنامه ای بنویسید که دو عدد (صحیح) را از ورودی دریافت کند و محتویات انها را جابجا کرده و در خروجی چاپ کند.


program ms17 (input,output);
var
num1, num2, num3 : integer;
begin
readln( num1, num2 );
num3 := num1;
num1 := num2;
num2 := num3;
writeln(num1);
writeln(num2);
readln;
end.

H3M1993
شنبه 09 مهر 1390, 12:35 عصر
تمرین 1 صفحه ی 19
برنامه ای بنویسید که طول و عرض مستطیلی را دریافت کند (عدد صحیح) و محیط و مساحت ان را محاسبه و چاپ کند.


program t1s19 (input,output);
var
x, y, s, p : integer;
begin
readln( x, y );
p := 2*(x + y);
s := x * y;
writeln('p = ', p);
writeln('s = ', s);
readln;
end.

H3M1993
شنبه 09 مهر 1390, 12:39 عصر
تمرین 2 صفحه ی 19
برنامه ای بنویسید که شعاع یک دایره (عدد صحیح ) را دریافت کند. و محیط و مساحت ان را محاسبه و چاپ کند.


program t2s19 (input,output);
const pi = 3.141593635 ;
var
r : integer;
s, p :real;
begin
readln(r);
p := 2*pi*r;
s := r*r*pi;
writeln('p = ', p);
writeln('s = ', s);
readln;
end.

H3M1993
شنبه 09 مهر 1390, 13:18 عصر
تمرین 3 صفحه ی 19
برنامه ای بنویسید که 3 عدد (صحیح) را از ورودی دریافت کرده و محتویات انها را جا بجا کند و چاپ کند.
نکته : این سوال دو روش جواب (خروجی) دارد.
روش 1:


program t3s19i (input,output);
var
num1, num2, num3, num4 : integer;
begin
readln( num1, num2, num3 );
num4 := num1;
num1 := num2;
num2 := num3;
num3 := num4;
writeln(num1);
writeln(num2);
writeln(num3);
readln;
end.


روش 2 :


program t3s19ii (input,output);
var
num1, num2, num3, num4 : integer;
begin
readln( num1, num2, num3 );
num4 := num1;
num1 := num3;
num3 := num2;
num2 := num4;
writeln(num1);
writeln(num2);
writeln(num3);
readln;
end.

H3M1993
شنبه 09 مهر 1390, 13:25 عصر
تمرین 4 صفحه ی19
برنامه ای بنویسید که دو عدد از ورودی دریافت کرده و بدون استفاده از متغییر کمکی انها را جابجا کند و نتیجه را چاپ کند. (این یکم سخت بود:متفکر:)


program t4s19 (input,output);
var
num1, num2 : real;
begin
readln( num1, num2);
num1 := num1*num2;
num2 := num1/num2;
num1 := num1/num2;
writeln(num1);
writeln(num2);
readln;
end.

H3M1993
شنبه 09 مهر 1390, 13:30 عصر
تمرین 5 صفحه ی 19
برنامه ای بنویسید که درجه حرارت را برحسب سانتیگراد به فارنهایت تبدیل کند.
با تشکر از ehp_kz6597 (http://barnamenevis.org/member.php?92821-ehp_kz6597)


program t5s19 (input,output);
var
c, f: real;
begin
readln(c);
f := 32+(c * 1.8);
writeln(f);
readln;
end.

H3M1993
شنبه 09 مهر 1390, 15:56 عصر
مثال صفحه ی 21
برنامه ای بنویسید که یک عدد صحیح از ورودی دریافت کند و زوج یا فرد بودن ان را مشخص کند.


program ms21 (input,output);
var
num : integer;
r : real;
begin
readln( num);
r := num mod 2;
if r=0 then
begin
writeln('even');
end
else
begin
writeln('odd');
end;
readln;
end.

H3M1993
شنبه 09 مهر 1390, 15:58 عصر
مثال صفحه ی 22
برنامه ای بنویسید که دو عدد از ورودی دریافت کند و بزرگ ترین عدد را در خروجی چاپ کند.


program ms22 (input,output);
var
num1, num2: integer;
begin
readln(num1, num2);
if num1 > num2 then
begin
writeln('max = ', num1);
end
else
begin
writeln('max = ', num2);
end;
readln;
end.

H3M1993
شنبه 09 مهر 1390, 16:03 عصر
مثال صفحه ی 24
برنامه ای بنویسید که سه عدد از ورودی دریافت کرده و کوچک ترین را در خروجی چاپ کند


program ms24 (input,output);
var
num1, num2, num3, min: integer;
begin
readln(num1, num2, num3);
min:= num1;
if num2 < min then
begin
min := num2;
end;
if num3 < min then
begin
min := num3;
end;
writeln('min = ',min);
readln;
end.

H3M1993
شنبه 09 مهر 1390, 19:53 عصر
تمرین 1صفحه ی 26 (برنامه ی قدر مطلق)
برنامه ای بنویسید که عددی را از ورودی دریافت کند و قدر مطلق ان را در خروجی چاپ کند


program t1s26 (input,output);
var
num : real;
begin
readln(num);
if num < 0 then
begin
num := -1*num;
end;
writeln(num);
readln;
end.

H3M1993
شنبه 09 مهر 1390, 19:55 عصر
تمرین 2 صفحه ی 26
برنامه ای بنویسید که مثبت یا منفی یا صفر بودن عدد ورودی را با پیقام مناسب چاپ کند.


program t2s26 (input,output);
var
num : real;
begin
readln(num);
if num = 0 then
begin
writeln('zero');
end;
if num > 0 then
begin
writeln('positive');
end
else
begin
writeln('negation');
end;
readln;
end.

ehp_kz6597
یک شنبه 10 مهر 1390, 07:26 صبح
فرمول تبدیل درجه از سانتیگراد به فارنهایت چیه ؟

فرمول‌های تبدیل دمای سلسیوس

از -------------------------به -------------------------- فرمول
سلسیوس -----------فارنهایت ------------ °F = °C × ۱٫۸ + ۳۲
فارنهایت ------------- سلسیوس--------- °C = (°F – ۳۲) / ۱٫۸
سلسیوس ----------- کلوین------------------ K = °C + ۲۷۳٫۱۵
کلوین ------------------سلسیوس------------ °C = K – ۲۷۳٫۱۵

H3M1993
یک شنبه 10 مهر 1390, 17:36 عصر
تمرین 3 صفحه ی 26
برنامه ای بنویسید که یک عدد دریافت کند و بخش پذیری ان را بر 3 و 5 بررسی کند.


program t3s26 (input,output);
var
a, n3, n5 : integer;
begin
readln(a);
n3 :=a mod 3 ;
n5 := a mod 5 ;
if ( n3 = 0 ) and ( n5 = 0 ) then
begin
writeln('yes')
end
else
begin
writeln('no')
end;

readln;
end.

H3M1993
دوشنبه 11 مهر 1390, 00:23 صبح
تمرین 4 صفحه ی 26
برنامه ای بنویسیید که دو عدد و یک عملگر از ورودی دریافت کند و کار یک ماشین حساب ساده را انجام دهد.

این را هم نمی دانم . چطور میشود یک عملگر مثل + را درون یک متغییر ریخت ؟ نوع متغییر باید چی باشه ؟

H3M1993
دوشنبه 11 مهر 1390, 00:25 صبح
تمرین 5 صفحه ی 26
برنامه ای بنویسید که سه عدد از ورودی دریافت کند و بزرگترین و کوچکترین عدد را در خروجی چاپ کند.


program t5s26 (input,output);
var
a, b, c, max, min : integer;
begin
readln(a, b, c);
if (a<b)and(a<c)and(b<c) then
writeln('min = ', a ,' max = ',c)
else if (a<c)and(a<b)and(c<b) then
writeln('min = ', a ,' max = ',b)
else if (b<a)and(b<c)and(a<c) then
writeln('min = ', b ,' max = ',c)
else if (c<a)and(a<b)and(a<b) then
writeln('min = ', c ,' max = ',b)
else if (b<c)and(b<a)and(c<a) then
writeln('min = ', b ,' max = ',a)
else if (c<b)and(c<a)and(b<a) then
writeln('min = ', c ,' max = ',a);
readln;
end.

H3M1993
دوشنبه 11 مهر 1390, 00:28 صبح
تمرین 6 صفحه ی 26
برنامه ای بنویسید که ضرایب یک معدله ی درجه 2 را دریافت کند و ریشه های ان را محاسبه و چاپ کند.


program t6s26 (input,output);
var
a, b, c, x1, x2 : integer;
begin
readln(a, b, c);
if ( c = 0 )and( a <> 0 )and( b <> 0 ) then
writeln('x1 = 0',' x2 = ',-1*c/a)
else if ( c <> 0 )and( a <> 0 )and( b = 0 )and( c/a > 0 )then
writeln('rishe nadarad.')
else if ( c <> 0 )and( a <> 0 )and( b = 0 )and( c/a < 0 )then
writeln('x1 = ', -1*sqr(-1*c/a) ,' x2 = ', sqr(-1*c/a))
else if ( c <> 0 )and( a <> 0 )and( b <> 0 )and( (b*b)-(4*a*c) < 0 )then
writeln('rishe nadarad.')
else if ( c <> 0 )and( a <> 0 )and( b <> 0 )and( (b*b)-(4*a*c) > 0 )then
writeln('x1 = ', (-b-sqr((b*b)-(4*a*c)))/2*a ,' x2 = ', (-b+sqr((b*b)-(4*a*c)))/2*a)
else if ( c <> 0 )and( a <> 0 )and( b <> 0 )and( (b*b)-(4*a*c) = 0 )then
writeln('x = ', -b/2*a);
readln;
end.

firststep
دوشنبه 11 مهر 1390, 13:13 عصر
دوست عزیز من فکر میکنم کاره زیاد درستی نباشه این کار.......... به خیلی دلیل --- مخصوصاً چون دانشگاه پیام نور تابع سیستم دانشجو محور هستش باعث می شه که این کار فقط جنبو جوش دانشجو کم شه، من موافقم با این قضیه که این تایپک به یه شکلی حامیان ای این دانشجویان عزیز بشه:لبخندساده:

سعید صابری
دوشنبه 11 مهر 1390, 15:14 عصر
دوست عزیز من فکر میکنم کاره زیاد درستی نباشه این کار.......... به خیلی دلیل --- مخصوصاً چون دانشگاه پیام نور تابع سیستم دانشجو محور هستش باعث می شه که این کار فقط جنبو جوش دانشجو کم شه، من موافقم با این قضیه که این تایپک به یه شکلی حامیان ای این دانشجویان عزیز بشه:لبخندساده:
منم با صحبتهای دوستم موافقم.ماهی دادن فایده ای نداره

H3M1993
دوشنبه 11 مهر 1390, 16:08 عصر
من خودم امروز اولین جلسه از اولین ترم پیام نور رو داشتم که درس فارسی بود.
رشته ی من نرم افزار هست و می خواستم قبل از شروع کلاس ها یکم برنامه نویسی کار کنم (برای اولین بار با پاسکال)هدف اصلی من تمرین دادن خودم بود و این کد ها رو هم نوشتم تا اگه یکی امد و دید اشتباه است بهم بگه و کلا مشکلات خودم رو رفع کنم حالا تا بقیه.:لبخند:
اگه با این کد نوشتن مخالف هستید من دیگه ادامه نمی دهم و فقط از بقیه دوستان در مورد مشکاتم سوال می پرسم. اگر هم بتوان مشکل کسی رو حل کنم دریق نمی کنم.

firststep
دوشنبه 11 مهر 1390, 22:00 عصر
دوست عزیز بسیار خورسندم که دانشجویی به این پر اشتیاقی می بینم همین اول کار بگم انشا... سربلند باشید:لبخندساده:
من اینو گفتم فقط بخاطره اینکه حق جویای علمی مثل شما با راحت پیدا کردن ، برای یکسری از دانشجویانی که حالا..خیلی به فکر کار کردن نیستند پایمال نشه هرچند که برای این دسته از گروهان نیز ارزوی موفقیت میکنم

اگر هم بتوان مشکل کسی رو حل کنم دریق نمی کنم.
ما هم همینطور:لبخندساده: (اصل درخت پربار و قانون جاذبه)
و این تنها کاری هستش که می تونیم برای موفقیت خودمون کنیم

سربلند و پیروز باشد...

H3M1993
شنبه 16 مهر 1390, 18:24 عصر
با سلام
یک سوال ریاضی
ایا خود عدد جرء مقسوم الیه های عدد هست یا نه ؟ در صورتی که هست لطفا تعریف عدد کامل را نیز بگویید ؟

در کتاب مبانی تعریف عدد کامل را به صورت زیر نوشته :
عددی که مجموع مقسوم الیه های ان با خود ان برابر باشد . ولی من فکر می کنم خود عدد هم جزء مقسوم الیه ها می باشد چون A = A * 1 و در این صورت تعریف کتاب اشتباه است.

H3M1993
شنبه 16 مهر 1390, 18:28 عصر
تمرین 4 صفحه ی19
برنامه ای بنویسید که دو عدد از ورودی دریافت کرده و بدون استفاده از متغییر کمکی انها را جابجا کند و نتیجه را چاپ کند. (این یکم سخت بود:متفکر:)


program t4s19 (input,output);
var
num1, num2 : real;
begin
readln( num1, num2);
num1 := num1*num2;
num2 := num1/num2;
num1 := num1/num2;
writeln(num1);
writeln(num2);
readln;
end.



این برنامه را اشتباه نوشتم شما هم چیزی نگفتید (خیلی بدید :گریه:) ابروم تو کلاس رفت .
نباید از ضرب و تقسیم استفاده می کردم باید از جمع و تفریق استفاده می کردم.

H3M1993
شنبه 16 مهر 1390, 18:39 عصر
پاسکال و کتیشن ( ' ) ها
این برداشت من از اجرای چند تا دستور هست لطفا بررسی کنید اگه اشتباه بود بهم بگید.
به دستور زیر نگاه کنید.

writeln('''''''''');
وقتی برنامه به اولین کتیشن می رسد ان را شروع چاپ در نظر می گیرد و کارکتر های پس از ان را چاپ می کند تا به یک کتیشن دیگر برسد .
حال بررسی می کند پس (کارکتر بعدی) از این کتیشن ، کتیشن دیگری وجود دارد یا نه ، اگر وجود نداشت این کتیشن را پایان چاپ در نظر می گیرد. ولی اگر وجود داشت به جای ان دو یک کتیشن چاپ می کند و ادامه می دهد.

به این ترتیب زوج بودن تعداد کتیشن ها شرط لازم برای پیغام خطا ندادن است.

smh11exclusive
شنبه 14 آبان 1390, 12:23 عصر
خواهشمندم این تاپیک رو ادامه بدید

firststep
شنبه 14 آبان 1390, 13:51 عصر
سلام دوست عزیز
اون تمرین درست بود (اگه اعداد رو integer) در نظر می گرفتید:چشمک:
سربلند باشید

developing
شنبه 14 آبان 1390, 14:09 عصر
با سلام

عدد كامل عددي است كه جمع تمام مقسوم عليه هايش (به غير از خود عدد) با عدد برابر باشد مثل 6
6 = 1 + 2 + 3

در مورد كوتيشن هم درست مي فرماييد.

poua68
شنبه 06 خرداد 1391, 16:30 عصر
واقعا عالی بود
چرا ادامه ندادی