مثالهای برنامه مطلب
تاريخ : شنبه 14 ارديبهشت 1393برچسب:مثال برنامه مطلب,برنامه مطلب,مطلب, | 13:10 | نویسنده : محسن قبادی

تبدیل واحدهای وزن و جرم و .... به یکدیگر: برنامه اي بنويسيد كه دمايي در واحد درجه فارنهايت را از ورودي بخواند و مقدار آن را با واحد درجه سانتيگراد نمايش دهد.

oC = 5/9 * ( F – 32 )

  • برنامهایبنويسيدکه دو عدد را از ورودي گرفته و بدون استفاده از متغير كمكي  محتواي آن دو را با هم عوض نمايد.

a=input(' ');

b=input(' ');

a = a + b;

b = a – b;

a = a – b;

  • برنامه ای که سن شما را به صورت روز/ماه/سال گرفته و بگوید که چند روز از تولد شما می گذرد.

sal = input('sal: ');

mah = input('mah: ');

rooz = input('rooz: ');

count = sal*365 + mah*30 + rooz;

  • برنامه ای که سن شما را به صورت روز گرفته و بگوید که چند روز/ماه/سال از تولد شما می گذرد.

r=input('rooz: ');

n=mod(r,365);    % rooz-haye mazade bar sal

y=(r-n)/365;       % te'dad sal

d=mod(n,30);     % te'dad rooz, rooz-haye mazade bar mah

m=(n-d)/30;       % te'dad mah

printf('year = %d, month = %d, day = %d', y, m, d);

  • برنامه ای که که یک کاراکتر را گرفته و کد اسکی آن را چاپ کند.
  • تابع محاسبۀ بزرگترین مقسوم علیه مشترک
  • تابع محاسبۀ کوچکترین مضرب مشترک
  • تابعی برای یافتن بزرگترین عدد در یک آرایه

function max=maxA(A)

n=length(A);

max=A(1);

for i=2:n

      if A(i)>max

            max=A(i);

      end

end

  • تابعی برای یافتن کوچکترین عدد در یک آرایه
  • تابعی برای یافتن دومین عدد بزرگ در یک آرایه

function max2=max2A(A)

n=length(A);

max=A(1);

for i=2:n

      if A(i)>max

            max2=max;

            max=A(i);

      end

end

  • پیدا کردن مجموع ارقام یک عدد
  • برنامه اي بنويسيد كه شعاع دايره را از ورودي گرفته و محيط و مساحت آن دايره را محاسبه كرده و نمايش دهد.
  • برنامهای بنويسيد كهتعدادنامشخصیعددراازورودیخوانده و تعداداعدادزوجوتعداد فرد خوانده شده رامشخصنمايد(شرطانتهایحلقهورودعددصفراست(
  • برنامه ای که روشهای مختلف خرد کردن یک 1000 تومانی را با اسکناسهای 500، 200، 100 و 50 تومانی نشان دهد.
  • نحوۀ پرداخت یک مبلغ با اسکناسها و سکه های 2000 تا 1 تومانی
  • محاسبۀ سری زیر تا 10 جمله

f = x - x^3 / 3! + x^5 / 5! - x^7 / 7! + ...

  • در یک اداره کارمندان به ازای حداکثر 40 ساعت کارکرد در هفته ساعتی 5000 تومان دریافت میکنند و برای ساعتهای بیشتر از 40 ساعت، به ازای هر ساعت 4000 تومان دریافت میکنند. برنامه ای بنویسید که با دریافت میزان کارکرد یک کارمند بر حسب ساعت، میزان دستمزد او را محاسبه کند.

saatKar = input('Saat-e Kar: ');

if saatKar > 40

      pay = 40*5000 + (saatKar - 40)*4000;

else

      pay = saatKar*5000

end

  • برنامه ای بنویسید که بزرگترین عدد پنج رقمی سری فیبونانچی را حساب کند. سری فیبونانچی:

 

fibo(1) = fibo(2) = 1

fibo(n) = fibo(n-1) + fibo(n-2)

=> fibo=[1 1 2 3 5 8 13 21 34 …]

fibo=[1 1];

i=2;

while fibo(i) < 100,000

        i=i+1;

        fibo(i) = fibo(i-1) + fibo(i-2);

end

max5dig = fibo(i-1);

  • برنامه اي بنويسيد كه عدد صحيح  nرا از ورودي خوانده و مثلث خيام (مانند شكل زير) را تا سطر nام به کمک یک ماتریس ساخته و چاپ كند:

                          1

                     1        1

                1        2        1

           1        3        3        1

      1        4        6        4        1

1         5      ...      ...       ...       ...

این مثلث اعداد را مثلث خیام نیوتن میگویند. اگر ماتریسی را بهاین شکل در نظر بگیریم:

1        ..        ..        ..        ..        ..

1        1        ..        ..        ..        ..

1        2        1        ..        ..        ..

1        3        3        1        ..        ..

1        4        6        4        1        ..

..        ..        ..        ..        ..        ..

میتوان گفت هر درایۀ ماتریس پایین مثلثی از جمع دو درایۀ بالا وبالا سمت چپ خود درست شده است یعنی:

ai,j = ai-1,j + ai-1,j-1

 

  • برنامه اي بنويسيد كه عددي را از ورودي خوانده و مغلوب آن را بدست آورد.

مثال: ورودي: 1234 خروجي: 4321

  • برنامهایبنويسيدکهمجموعمربعاتاعدادبين 1 تا 100 رادرخروجینمايشدهد.
  • تابعی بنویسید که یک رشته را که در آن عدد صحیح ذخیره شده به عدد صحیح تبدیل کند.
  • تابعی بنویسید که یک رشته را که در آن عدد اعشاری ذخیره شده به عدد اعشاری تبدیل کند.
  • تابعی بنویسید که یک رشته را در یک رشتۀ دیگر کپی کند.
  • تابعی بنویسید که طول یک رشته را محاسبه كند.
  • تابعي بنويسيد كه دو رشته كاراكتري را از ورودي گرفته و اولين محل شروع رشته دوم در رشته اول را برگرداند. در صورتي كه رشته دوم در رشته اول يافت نشد عدد 1- را برگرداند.

به عنوان مثال:

s1='I am omid omidi.'

s2='omid.'

خروجي: 6

 

function m=find(s1,s2)

i=1;

while s1(i)~='.'

          j=1;

          k=i;

          while ( s1(k)==s2(j) && s1(k)~='.' )

                  if s2(j+1)=='.'

                       m=i;

                       return

                  end

                  j=j+1;

                  k=k+1;

          end

          i=i+1;

end

m=-1;

 

و يا بدون استفاده از دستور return:

function m=find(s1,s2)

i=1;

flag=0;

while s1(i)~='.'

          j=1;

          k=i;

          while ( s1(k)==s2(j) && s1(k)~='.' )

                  if s2(j+1)=='.'

                       m=i;

                       flag=1;

                       break

                  end

                  j=j+1;

                  k=k+1;

          end

          if flag

               break

          end

          i=i+1;

end

if ~flag

      m=-1;

end

 تابعی بنویسید که قسمتی از یک رشته را که انتها و ابتدایش را مشخص میکنیم در یک رشتۀ دیگر کپی کند. (تابعی به صورت strcpy2 ).

  • تابعی بنویسید که رشته ای را در محل مشخص شده از رشته ای دیگر درج (insert) کند.

مثال: ورودي: ch='I am sorry.'و st=' very.' در خانه 5ام   خروجي: ch='I am very sorry.'

  • تابعی بنویسید که از مکان مورد نظر ما در یک رشته به تعداد مورد نظر ما کاراکتر حذف (delete) کند.
  • تابعی برای محاسبۀ انحراف معیار اعداد یک آرایه بنویسید. فرمول انحراف معیار:

 

  • برنامه ای بنویسید که بزرگترین عدد را در یک آرایۀ 10*10 که از صفحه کلید خوانده پیدا کرده و به همراه اندیس آن در ماتریس، چاپ کند.
  • تابعی بنویسید که دو ماتریس را با هم جمع کند.
  • تابعی بنویسید که دو ماتریس را در هم ضرب کند.
  • تابعی بنویسید که ترانهادۀ یک ماتریس را محاسبه کند (بدون استفاده از عملگر ' ). (ترانهادۀ یک ماتریس، ماتریسی است که جای سطرها و ستونهای آن با هم عوض شده باشند)
  • تابعی بنویسید که آرایه ای از رشته ها را مرتب کند.
  •  برنامه ای بنویسید که یک آرایه صحیح و یک عدد از کاربر دریافت کرده آن عدد را در آرایه جستجو نماید و اندیس مربوط را بر گرداند.
  • برنامه ای بنویسید که نام 10 دانشجو را در قالب رشته دریافت کرده و نامهای تکراری را حذف کند.
  • برنامه ای بنویسید که 10 عدد از کاربردریافت کرده وآنها را ازکوچک به بزرگ مرتب کند.
  • تابعی که دو رشته از کاربر دریافت کرده و تعداد تکرار رشته دومی در رشته اولی را شمرده و برگرداند.

s1=' i have a book and my book is blue.'

s2= 'book.'

 

count=0;

i=1;

while s1'(i)~='.'

         j=1;

         k=i;

         while s1(k)==s2(j)

                  j=j+1;

                  k=k+1;

                  if s2(j)=='.'

                         count=count+1;

                         i=k;

                         break

                  end

          end

          i=i+1;

end

 

  • تابع بازگشتی بنویسید که عددی را دریافت کرده و مجموع ارقام آن را برگرداند.

مثال:         ورودي: n=1562              خروجي: m=14

 

function m=argham(n)

 

m = 0;

r = n;

while r>0

      m = m + mod(r,10);

      r = ( r - mod(r,10) ) / 10;

end

 

or

 

% ta'iine te'dade arghame adade voroudi:

% (farz shode ast ke adade voroudi mitavanad maximum 50 raghami bashad!)

for i=1:51

      if n<10^i

          break

      end

end

% "i" haman te'dade arghame adade voroudi ra neshan midahad

 

m = 0;

r = n;

for j=1:i

      m = m + mod(r,10);

      r = ( r - mod(r,10) ) / 10;

end

 

  • برنامه ای بنویسید که دو آرایه مرتب 10 عنصری از اعداد صحیح از کاربردریافت کرده و دو آرایه را به نحوی در هم ادقام کند که آرایه حاصل هم مرتبباشد.

مثال:

ورودي: a=[1 2 3 5 6 8 11 15 22 30], b=[ 2 4 6 7 8 10 12 14 15 20]

خروجي: c=[1 2 2 3 4 5 6 6 7 8 8 10 11 12 14 15 15 20 22 30]

 

  • تابعی بنویسید که دو عدد صحیح را در یافت کرده و ب.م.م و ك.م.م آن دو عدد را محاسبه كرده ونتيجه را بر گرداند.
  • برنامه ای بنويسيد كه عددی را در مبنای 2 بگیرد و به مبنای 5 ببرد (راهنمايي: عدد مبداً را به مبناي 10 برده و دوباره آن را با روش معكوس به مبناي هدف تبديل كنيد).

مثال:

ورودي: a=1101

در مبناي 10: 1*2^0 + 0*2^1 + 1*2^2 + 1*2^3 = 1 + 0 + 4 + 8 = 13  =>  m=13

خروجي (در مبناي 5): 13 = 3*5^0 + 2*5^1   =>  b=23

 

function b=mabnaye2be5(a)

 

m=0;        % m = adade dar mabnaye 10

r=a;

tavan=0;

while r>0

       m = m + mod(r,10)*2^tavan;

       r = ( r - mod(r,10) ) / 10;

       tavan = tavan +1;

end

 

b=0;         % b = adade dar mabnaye 5

tavan=0;

while m>0

        if ~tavan

               b = b + mod(m,5);

               m = m - mod(m,5);

        else

               r = m / 5^tavan;

               if r<5

                     b = b + r*10^tavan;

                     m = m – r*5^tavan;

               else

                     b = b + mod(r,5)*10^tavan;

                     m = m – mod(r,5)*5^tavan;

                end

         end

         tavan = tavan +1;

end


نظرات شما عزیزان:

نام :
آدرس ایمیل:
وب سایت/بلاگ :
متن پیام:
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

 

 

 

عکس شما

آپلود عکس دلخواه:







  • دانلود کتاب
  • بک لینک