matlabkhooneh

تکالیف فرترن Fortran - گروه مکانیک دانشگاه فردوسی ( کد For0004 )

1 - حاصل هر کدام از عبارت های زیر را محاسبه کنید.

a) 3 ** 3 ** 2
b) (3 ** 3) ** 2
c) 3 ** (3 ** 2)

2 - اگر A = 6 , B = 2 and C = 3 حاصل عبارات زیر را تعیین کنید.

A/B*C
A*B/C
3*A**B
B+A/C
A/B+C

3 - آیا دستورات زیر طبق قواعد درست است؟

integer :: one = 1
one = 0

4 - حاصل عبارات زیر را تعیین کنید.

(a) 13/5*6
(b) (13/5)*6
(c) 13/(5*6)
(d) 13./(5*6)
(e) 13/5*6.
(f) INT(13./5)*6
(g) NINT(13./5)*6
(i) CEILING(13./5)*6
(j) FLOOR(13./5)*6

5 - با توجه به دستورات زیر، نوع و حاصل هر عبارت را تعیین کنید. هم چنین با اضافه کردن پرانتز به هر عبارت، ترتیب محاسبه ی عملگرها را در هر عبارت مشخص کنید.

real:: x=10.0, y=0.01, z=0.5
integer:: i=10, j=25, k=3
a1=i + j + k * i
a2=z * x / 10 + k
a3=z * k + z * j + z * i
a4=i * y - k / x + j

6 - جواب عددی دستورات زیر را تعیین کنید.

a = 9.0 / 1.5 * 0.2
b = 26 / 4 * 3
c = 26 / 4 ** 3
d = ( 10 – ( 7 – 2 ) / 3 ) / ( 7 / 4 – 5 )
e = ( 26 /4 ) ** 3
f = 2 ** ( 9 / 4 )

7- فرض کنید مقدار متغیر های زیر داده شده باشند

a=1.  b=2.5  c=10.  d=3.  i=2 k=3

در دستور های محاسباتی زیر مقدار متغیرهای سمت چپ را بر اساس محاسبات سمت راست تعیین نمایید.

l=i/k
db=b/c
j=c/b
x = a + b / c – d
y = a + b / ( c – d ** I )
r = 3 ** k + 2 * ( I **k )
t = b ** I / c * ( c * d )
n = ( c + 2. * b ) ** i
a1 = k/i*i
da = (-c)**k – (-c)**i

8 - برنامه ای به زبان فرترن بنویسید که حقوق هفتگی یک کارگر که ساعتی کار می کند را محاسبه کند. این برنامه باید از کاربر میزان حقوق کارگر به ازای هر ساعت و ساعات کار در طول هفته را دریافت و سپس حقوق یک هفته را طبق فرمول زیر محاسبه کند.

Write a FORTRAN program that calculates an hourly employee’s weekly pay. The program should ask the user for the person’s pay rate and the number of hours worked during the week. It should then calculate the total pay from the formula:

Total Pay = Hourly Pay Rate × Hours Worked

که باید حقوق دریافتی به ازای یک هفته کار را نمایش دهد. برنامه خود را به ازای 42 ساعت کار و 7.90دلار در هر ساعت امتحان کنید.

Finally, it should display the total weekly pay. Check your program by computing the weekly pay for a person earning $7.90 per hour and working for 42 hours.

9 - انرژی پانسیل یک جسم بسته به ارتفاع آن از سطح زمین توسط معادله زیر محاسبه می شود.

UE=mgh

که در آن m جرم جسم، g شتاب گرانشی زمین و h ارتفاع آن از سطح زمین می باشد. انرژی جنبشی یک جسم در حال حرکت نیز از رابطه زیر به دست می آید:

KE=(1/2)mv2

که در آن m جرم جسم و v سرعت آن است. برنامه ای به زبان فرترن بنویسید که انرژی مکانیکی جسم را محاسبه کند (مجموع دو انرژی پتانسیل و جنبشی جسم). فرض کنید جسم در میدان گرانشی زمین قرار دارد و g = 9.81 m/s2

The potential energy of an object due to its height above the surface of the Earth is given by the equation PE = mgh, where m is the mass of the object, g is the acceleration due to gravity, and h is the height above the surface of the Earth. The kinetic energy of a moving object is given by the equation

KE=(1/2)mv2

where m is the mass of the object and v is the velocity of the object. Write a FORTRAN program for the total energy (potential plus kinetic) possessed by an object in the Earth’s gravitational field

10 - یک توپ را از حال سکون و ارتفاع h از سطح زمین رها کنیم سرعت آن هنگام برخورد با زمین توسط معادله زیر به دست می آید.

\[ v=\sqrt{2gh}\]

که در آن g شتاب گرانشی و h ارتفاع اولیه توپ از سطح زمین است (فرض کنید مقاومت هوا وجود ندارد). برنامه ای به زبان فرترن بنویسید که سرعت توپ را هنگام برخورد به زمین محاسبه کند.

If a stationary ball is released at a height h above the surface of the Earth, the velocity of the ball v when it hits the Earth is given by the equation:

\[ v=\sqrt{2gh}\]

where g is the acceleration due to gravity, and h is the height above the surface of the Earth (assuming no air friction). Write a Fortran program for the velocity of the ball when it hits the Earth.

11 - برنامه ای به زبان فرترن بنویسید که ارتفاع اولیه توپ را از کاربر دریافت کند و سپس سرعت آن را هنگام برخورد با زمین محاسبه کند (از فرمول سوال قبل استفاده کنید). برنامه را برای محاسبه سرعت توپ هنگام برخورد به زمین به ازای

الف) ارتفاع1متری

ب) ارتفاع10متری

ج) ارتفاع100متری استفاده کنید.

Write a Fortran program that calculates the velocity of the ball v when it hits the Earth from a given height h, using Equation given in previous problem. Use the program to calculate the velocity for a height of (a) 1 meter, (b) 10 meters, and (c) 100 meters.

12 - در تئوری نسبیت انیشتین، طبق معادله زیر جرم ماده با انرژی آن مرتبط است

E=mc2

که در آن E انرژی برحسب ژول، m جرم بر حسب کیلوگرم و c سرعت نور بر حسب متر بر ثانیه است،

فرض کنید که یک نیروگاه هسته ای400مگاواتی (=400میلیون ژول در ثانیه) برق یک شبکه را برای یک سال تامین می کند. برنامه ای به زبان فرترن بنویسید که جرم مصرف شده برای تولید این مقدار انرژی در طول یک سال را در نیروگاه محاسبه کند. (توجه: بازده نیروگاه را %100 فرض کنید)

In Einstein’s Theory of Relativity, the rest mass of matter is related to an equivalent energy by the equation:

E=mc2

where E is the energy in joules, m is mass in kilograms, and c is the speed of light in meters per second (c = 2.9979 × 108 m/s). Suppose that a 400 MW (= 400 million joules per second) nuclear power generating station supplies full power to the electrical grid for a year. Write a program that calculates the amount of mass consumed in the course of the year. (Note: Assume that the generating station is 100% efficient in producing electrical energy.)

13 - برنامه سوال قبل را طوری بازنویسی کنید که میزان انرژی تولید شده و بازهی زمانی (بر حسب ماه) را از کاربر دریافت کرده و سپس جرم را محاسبه کند.

Generalize the program of the previous exercise to calculate the mass consumed by a generating station with a user-specified output power for a user-specified period of months.

14 - برنامه ای به زبان فرترن بنویسید که مربع اعداد زوج بین 0 تا 50 را چاپ کند.

Write a Fortran program required to calculate and print out the squares of all the even integers between 0 and 50

15 - برنامه ای به زبان فرترن بنویسید که تمام مقادیر تابع بالا را برای x های بین 1- تا 3 با گام 0.1 محاسبه و چاپ کند.

Write a Fortran program to evaluate the equation y(x)=x2-3x + 2 for all values of x between −1 and 3, in steps of 0.1.

16 - حلقه های تکرار زیر را امتحان کنید و مشخص کنید هر حلقه چند بارتکرار می شود (تمام متغیرهای استفاده شده در حلقه ها را از نوع  integer فرض کنید)

Examine the following DO statements and determine how many times each loop will be executed (Assume that all loop index variables are integers).

(a) DO irange = -32768, 32767
(b) DO j = 100, 1, -10
(c) DO count = 2, 3, 4
(d) DO index = -4, -7
(e) DO i = -10, 10, 10
(f) DO i = 10, -2, 0
(g) DO

17 - حلقه های تکرار زیر را بررسی و مشخص کنید که مقدار متغیر ires در پایان هر کدام ازحلقه ها چه خواهد بود. هم چنین دفعات تکرار هر حلقه را نیز مشخص کنید. تمام متغیرها را integer فرض کنید.

Examine the following iterative DO loops and determine the value of ires at the end of each of the loops, and also the number of times each loop executes. Assume that all variables are integers.

(a) ires=0
DO index=-10,10
ires=ires + 1
END DO
*************************
(b) ires=0
DO index1=10, 4, -2
DO index2=2, index1, 2
IF (index2>6) EXIT
ires=ires+index2
END DO
END DO

18 - توابع مثلثاتی معمولا به کمک سری های بی نهایت در کامپیوتر محاسبه می شوند. یک سری بی نهایت مجموعه ای از بی نهایت جمله است که با یکدیگر جمع می شوند تا مقدار یک تابع یا یک عبارت را محاسبه کنند. به عنوان مثال سری بی نهایتی که برای تقریب زدن تابع سینوس استفاده می شود عبارت است از

\[ sin(x)=\sum_{n=1}^{\infty }(-1)^{n-1} \frac{x^{2n-1}}{(2n-1)!} \]

Trigonometric functions are usually calculated on computers by using a truncated infinite series. An infinite series is an infinite set of terms that together add up to the value of a particular function or expression. For example, one infinite series used to evaluate the sine of a number is:

که در آن x بر حسب رادیان است. چون یک کامپیوتر زمان کافی برای جمع زدن بی نهایت جمله برای محاسبه سینوس هر زاویه را ندارد، تعداد محدودی ازجملات سری با هم جمع زده می شوند که به آن سری بی نهایت قطع شده می گویند. سری بی نهایت قطع شده برای سینوس به صورت زیر است

where x is in units of radians. Since a computer does not have enough time to add an infinite number of terms for every sine that is calculated, the infinite series is truncated after a finite number of terms. The number of terms that should be kept in the series is just enough to calculate the function to the precision of the floating-point numbers on the computer on which the function is being evaluated. The truncated infinite series for sin x is:

که درآن N تعداد جملاتی از سری است که جمع زده می شوند. برنامه ای به زبان فرترن بنویسید که مقدار یک زاویه را بر حسب درجه از کاربر دریافت و مقدار سینوس آن را به کمک تابع ذاتی سینوس محاسبه کند. سپس مقدار سینوس را به کمک معادله بالا به ازای N=1, 2, 3, . . . , 10محاسبه کند. مقدار درست تابع سینوس را با مقادیری که از محاسبه سینوس به کمک سری به دست می آید، مقایسه کنید. چند جمله ازسری باید با هم جمع شوند تا مقداری مساوی با مقداری که تابع ذاتی سینوس تولید می کند، ایجاد شود.

where N is the number of terms to retain in the series. Write a Fortran program that reads in a value for x in degrees, and then calculates the sine of x using the sine intrinsic function. Next, calculate the sine of x using the above equation with N=1, 2, 3, . . . , 10. Compare the true value of sin x with the values calculated using the truncated infinite series. How many terms are required to calculate sin x to the full accuracy of your computer?

19 - برنامه ای بنویسید که عدد طبیعی N را از کاربر بگیرد و ماتریس مربعی A را N در N در نظر گرفته و درایه های روی قطرهای اصلی و فرعی را یک و بقیه را صفر قرار دهد و آن را نمایش دهد.

20 - با استفاده از آرایه ها، برنامه ای بنویسید که 40 جمله اول دنباله فیبوناچی (1,1,2,3,5,8,13) را محاسبه کند و نمایش دهد. یکی از خواص دنباله فیبوناچی این است که نسبت اعداد متوالی در آن (1/1,2/1,3/2,5/3,8/5) به سمت عددی موسوم به عدد طلاییSqrt(5)+1)/2) میل می کند. برنامه فوق را به گونه ای بنویسید که علاوه بر جملات دنباله، مقادیر نسبت های جملات را نیز محاسبه کند و نمایش دهد.

21 - برنامه ای بنویسید که یک ماتریس با ابعاد دلخواه را از کاربر دریافت کند و ترانهاده آن را به دست آورده و نمایش دهد.

22 - برنامه ای بنویسید که دو عدد طبیعی m و n را از کاربر بگیرد و ماتریس های A , B را به صورت m در n در نظر گرفته و حاصل جمع این دو ماتریس را محاسبه نماید.

23 - یک ماتریس مربعی متقارن است . اگر عناصر واقع در دو طرف قطر اصلی آن برابر باشند، به عبارتی دیگر خود ماتریس با ترانهاده اش یکسان باشد. برنامه ای بنویسید که عناصر یک ماتریس مربعی را دریافت کرده، معین کند ماتریس متقارن است یا نه.

24 - یک روش سریع برای محاسبه مقدار یک چندجمله ای در نقطه ای مشخص استفاده از روش هورنر یا روش ضربه ای تو در تو است. در این روش چندجمله ای را می توان به شکل زیر بازنویسی کرد. این فرم زمان کمتری از کامپیوتر برای محاسبه خواهد گرفت.

برنامه ای بنویسید که درجه چندجمله ای (n) و ضرایب چندجمله ای را بگیرد و مقدار آن را در نقاط بازه[-5,5] که به فاصله 0.5 از هم قرار دارند محاسبه و به شکل مناسبی چاپ کند.

25 - برنامه ای بنویسید که برای یک مجموعه از اعداد حقیقی وارد شده توسط کاربر با استفاده از روابط زیر مقادیر میانگین، واریانس و انحراف معیار آن ها را محاسبه کند و نمایش دهد.

برنامه باید ابتدا تعداد اعداد و سپس خود اعداد را از کاربر دریافت کند. این برنامه همچنین باید موارد زیر را به عنوان خروجی نمایش دهد.

اعداد وارد شده

فاصله ی هر عدد تا مقدار میانگین

اگر یک عدد بزرگتر از مجموع میانگین و انحراف معیار باشد، برچسب خوب و اگر کمتر از مقدار میانگین منهای انحراف معیار باشد برچsب بد باید داشته باشد.

26 - برنامه ای بنویسید که اعضای دو مجموعه شامل یک سری عدد صحیح را از کاربر دریافت و سپس اجتماع و اشتراک این مجموعه ها را تعیین کند و نمایش دهد

27 - برنامه ای بنویسید که ابتدا shape یک آرایه ی با rank=2 و سپس اعضای آن را از کاربر دریافت کند و سپس مجموع عناصر هر ردیف و هر ستون را محاسبه کند و نمایش دهد.

28 - یک آرایه ی یک بعدی palindrome است اگر اعضای آن از هر دو طرف یکی باشد مثلا 3،5،7،2،4 palindrome نیست ولی 4،2،6،2،4 palindrome است. برنامه ای بنویسید که تعداد و اعضای یک آرایه ی یک بعدی را از کاربر دریافت کند و چک کند که آیا palindrome است یا خیر.

29 - برنامه ای بنویسید که تعداد و اعضای یک آرایه ی یک بعدی را از کاربر دریافت کند. سپس یک مقدار دلخواه از کاربر دریافت کند و مشخص کند که آیا این عدد دلخواه جزء المان های آرایه هست یا خیر. اگر عضوی از آن آرایه بود برنامه باید موقعیت (اندیس) المان را مشخص کند و نمایش دهد.

30 - از تابع floor می توان برای گرد کردن عددی تا تعداد مشخصی رقم اعشار استفاده کرد. دستور

y = floor( x*10 + .5 ) / 10

x را تا یک رقم بعد از اعشار و دستور

y = floor( x*100 + .5) / 100

x را تا دو رقم بعد از اعشار گرد می کند. برنامه ای بنویسید که با تعریف چهار تابع داخلی به صورت های زیر،عدد دلخواه number را گرد کند

a. round_to_integer(number)
b. round_to_tenths(number)
c. round_to_hundredths(number)
d. round_to_thousandths(number)

برنامه باید برای هر عدد دلخواهی که کاربر وارد می کند، با استفاده از تابع های بالا مقدار اولیه، عدد گردشده به نزدیک ترین عدد صحیح، عددگرد شده تا یک رقم بعد از اعشار، عدد گرد شده تا دو رقم بعد از اعشار و عدد گرد شده تاسه رقم بعد از اعشار را چاپ کند.

31 - تابعی به نام hypotenuse تعریف کنید که طول وتر یک مثلث قائم الزاویه را که دو ضلع دیگر آن داده شده اند محاسبه کند. این تابع باید دو آرگومان حقیقی و مثبت را دریافت و وتر رابه صورت یک عدد حقیقی بازگرداند. این تابع را در یک برنامه برای اضلاع دلخواه که کاربر وارد می کند، استفاده و مقدار اضلاع و وتر را چاپ کنید.

32 - تابعی داخلی بنویسید که زمان را به صورت سه آرگومان برای ساعت، دقیقه و ثانیه دریافت کند و تعداد ثانیه هایی را که از آخرین ساعت 12 گذشته بازگرداند.

33 - توابع خارجی زیر را تعریف و آن ها رادر یک برنامه پیاده سازی و استفاده کنید

الف) تابع Celsius معادل درجه سانتیگراد دمای فارنهایت را بازمی گرداند.
ب) تابع Fahrenheit معادل فارنهایت دمای سانتیگراد را بازمی گرداند.

34 - برنامه ای بنویسید که با گرفتن مقدار x از کاربر و استفاده از یک تابع خارجی برای محاسبه فاکتوریل، مقدار ex را طبق رابطه زیر محاسبه کند.

\[ e^{x}=1+\frac{1}{1!}+\frac{x^{2}}{2!}+\frac{x^{3}}{3!}+...\]

35 - با استفاده از یک زیرروال به نام circle برنامه ای بنویسید که شعاع دایره ای را از کاربر بگیرد؛ قطر، محیط و مساحت آن را محاسبه و چاپ کند.

36 - برنامه ای بنویسید که مقدار یک زاویه را برحسب رادیان دریافت کند، سپس با استفاده از یک زیرروال مقدار زاویه رابه درجه، دقیقه و ثانیه تبدیل کند و نمایش دهد.

37 -

38 -

39 -

40 -

41 -

42 -

43 -

44 -

45 -

46 -

47 -

48 -

49 -

50 -

 

تکالیف سری اول پردازش تصویر ( کد Mat0106 )

1 - برنامه ای بنویسید که یک ماتریس رابه عنوان ورودی دریافت کند و محتویات سطرهای زوج و فرد آن را با هم عوض کند و سپس یک ماتریس به عنوان خروجی برگرداند.

2 - برنامه ای بنویسید که یک ماتریس را به عنوان ورودی دریافت کند و محتویات ستون های زوج و فرد را با هم عوض کند و سپس یک ماتریس به عنوان خروجی برگرداند.

3 - برنامه ای بنویسید که یک ماتریس را به عنوان ورودی دریافت کند و با در نظر گرفتن بلوک های 2×2 عناصر قطر اصلی و قطر فرعی را با هم عوض کند

4 - برنامه ای بنویسید که یک ماتریس را به عنوان ورودی دریافت کند و ستون های اول و آخر ماتریس، ستون دوم و ستون یکی مانده به آخر و ستون های بعدی را به همین منوال عوض کند.

5 - برنامه ای بنویسید که یک ماتریس را به عنوان ورودی دریافت کند و سطرهای فرد را یک واحد افزایش و سطرهای زوج را یک واحد کاهش دهد.

6 - برنامه ای بنویسید که یک ماتریس را به عنوان ورودی دریافت کند و سطرهای فرد را به صورت صعودی و سطرهای زوج رابه صورت نزولی مرتب نماید.

7 - برنامه ای بنویسد که یک ماتریس را به عنوان ورودی دریافت کند و اعداد زوج ماتریس را نصف و اعداد فرد ماتریس را یک واحد افزایش دهد.

8 - برنامه ای بنوسید که یک ماتریس مربعی را به عنوان ورودی دریافت کند و نیمه بالایی ماتریس را با نیمه پایینی ماتریس نسبت به قطر اصلی (بالا مثلثی و پایین مثلثی) را با هم جابه جا کند.

9 - برنامه ای بنویسید که یک ماتریس مربعی را از ورودی دریافت کند و نیمه بالا و پایین را نسبت به قطر فرعی جا به جا کند.

10 - برنامه ای بنویسید که یک ماتریس مربعی را به عنوان ورودی دریافت کند و اعداد قطر اصلی را از کوچک به بزرگ مرتب کند.

11 - برنامه ای بنویسید که یک ماتریس و دو عدد را به عنوان ورودی دریافت کند و سطر عدد اول را با سطر عدد دوم جابه جا کند.

12 - برنامه ای بنویسید که یک ماتریس را از ورودی دریافت کند و به همان ابعاد ماتریس  Random بسازد. حال با توجه به این ماتریس که بزرگ تر از نیم بود عضو متناظر آناز ماتریس ورودی را افزایش و در غیر این صورت عضو متناظر آن از ماتریس ورودی را کاهش دهد.

13 - برنامه ای بنویسید که یک ماتریس را به عنوان ورودی دریافت کند، سپس ماتریس را به یک بردار ستونی تبدیل کند و بعد آن را از کوچک به بزرگ مرتب کند و در پایان به یک ماتریس با سایز ماتریس ورودی تبدیل کند.

14 - برنامه ای بنویسید که یک ماتریس را از ورودی دریافت کند و معدل اعداد هر دو سطر را محاسبه و در ماتریس جدیدی قرار دهد.

15 - برنامه ای بنویسید که یک ماتریس را از ورودی دریافت کند و واسطه هندسی هر بلاک 2×2 را در مرکز بلاک قرار دهد.

16 - برنامه ای بنویسید که یک ماتریس را به عنوان ورودی دریافت کند و اعضای ماتریس را از تابع زیر عبور دهد.

17 - برنامه ای بنویسید که یک ماتریس را به عنوان ورودی دریافت کند و از تابع زیر عبور دهد و ماتریس خروجی را بسازد.

18 - برنامه ای بنویسید که یک ماتریس را به عنوان ورودی دریافت کند و به صورت زیرماتریس خروجی را بسازد.

19 - برنامه ای بنویسید که یک ماتریس را به عنوان ورودی دریافت کند و ماتریس خروجی رابه صورت زیر بسازد.

20 - برنامه ای بنویسید که یک بردار را از ورودی دریافت کند و از روی آن دو بردار زیر را بسازد.

21 - برنامه ای بنویسید که دو بردار را به عنوان ورودی دریافت کند و زاویه بین دو بردار را با استفاده از رابطه ضرب داخلی و cos محاسبه کند.

22 - برنامه ای بنویسید که یک ماتریس را به عنوان ورودی دریافت کند و عناصر آن را به یک نرمال سازی نماید. ( همه ی درایه ها را تقسیم بر بزرگترین مقدار کند )

23 - برنامه ای بنویسید که یک ماتریس را به عنوان ورودی دریافت کند و هر ستون را بر ماکزیمم همان ستون تقسیم کند.

24 - برنامه ای بنویسید که یک ماتریس را به عنوان ورودی دریافت کند و ستون های آن را به صورت یکی در میان از انتها به ابتدا مرتب کند.

25 - برنامه ای بنویسید که دو ماتریس را به عنوان ورودی دریافت کند و از روی این دو ماتریس، ماتریس سومی به صورت زیر بسازد.

26 - برنامه ای  بنویسید که یک ماتریس را به عنوان ورودی دریافت کند و روی آن ماتریس بلوک های 3×3 در نظر بگیرید و عناصر قطر اصلی و فرعی را با هم عوض کند.

27 - برنامه ای بنویسید که یک ماتریس رابه عنوان ورودی دریافت کند و اعداد داخل یک بلاک 2×2 را مرتب کند و در جای خود قرار دهد.

28 - برنامه ای بنویسید که یک عدد n دریافت کند و یک ماتریس باینری n×n بسازد. برای ساخت هر عنصر این ماتریس یک عدد تصادفی تولید کند اگر عدد تصادفی کوچکتر از  0.2 باشد عدد صفر و در غیر این صورت عدد یک قرار دهد.

29 - برنامه ای بنویسید که یک عدد n دریافت کند و یک ماتریس شامل  0,1,2 بسازد به طوری که احتمال هرکدام به صورت زیر باشد.

30 - برنامه ای بنویسید که یک ماتریس رابه عنوان ورودی دریافت کند و برای هر نقطه انتگرال ماتریس را محاسبه کند. (بالا، سمت ، چپ)

31 - برنامه ای بنویسید که عدد n را به عنوان ورودی دریافت کند و یک ماتریس با استفاده از رابطه زیر بسازد.

32 - برنامه ای بنویسید که عدد n را به عنوان ورودی دریافت کند و یک ماتریس با استفاده از رابطه زیر بسازد.

33 - برنامه ای بنویسید که عدد n را به عنوان ورودی دریافت کند و یک ماتریس با رابطه بازگشتی زیر بسازد.

34 - برنامه ای بنویسید که یک ماتریس را به عنوان ورودی دریافت کند و از روی قطر اصلی و موازی با آن یک بردار به صورت حاصل جمع عناصر قطر را تولید کند.

35 - برنامه ای بنویسید که یک ماتریس باینری را به عنوان ورودی دریافت کند و آن را به صورت زیر تبدیل کند.

36 - برنامه ای بنویسید دو ماتریس را به عنوان ورودی دریافت کند و ماتریس ماکزیمم را محاسبه کند. ( بزرگترین درایه متناظر )

37 - برنامه ای بنویسید که با دریافت دو عدد N1 و N2 به عنوان ورودی یک ماتریس به فرم زیر بسازد.

38 - برنامه ای بنویسید که عدد N را از کاربر به عنوان ورودی دریافت کند و یک ماتریس N×N به صورت زیر بسازد.

39 - برنامه ای بنویسید که یک ماتریس را به عنوان ورودی دریافت کند و یک mask به صورت صلیبی روی آن قرار دهد و اعداد داخل mask را sort کند و عدد وسط را جایگزین مرکز mask کند. بقیه عناصر در محل خود باقی می مانند.

40 - برنامه ای بنویسید که یک ماتریس را از ورودی دریافت کند ویک mask به صورت زیر روی آن قرار دهد و اعداد داخل mask را sort کند و جایگزین مرکز mask کند.

41 - برنامه ای بنویسید که دو ماتریس را به عنوان ورودی دریافت کند و ماتریس دوم را روی ماتریس اول بلغزاند. هرگاه ماتریس دوم در ماتریس اول یافت شد در محل راس ماتریس عدد  1 بگذارد.

42 - برنامه ای بنویسید که با استفاده از رابطه ی هم نهشتی زیر با دریافت x0, a, b, n, m بتواند n عدد تصادفی تولید کند.

xn=(axn-1+b) mod m

43 - برنامه ای بنویسید که یک ماتریس را به عنوان ورودی دریافت کند و یک mask به صورت زیر روی آن قرار دهد و محل عناصر داخل mask را جابه جا کند

44 - برنامه ای بنویسید که یک ماتریس را به عنوان ورودی دریافت کند. ابتدا ماتریس ورودی را به بردار تبدیل کند. سپس هم سایز بردار یک بردار اعداد تصادفی تولید کند. بعد اعداد تصادفی را مرتب کند. سپس هر انتقالی که روی بردار تصادفی اتفاق افتاده است بر روی بردار ماتریس انجام شود. در پایان بردار به ماتریس تبدیل گردد.

45 - با به کارگیری حلقه for یک ماتریس 7 * 4 تولید کنید به نحوی که در آن مقدار هر درایه ماتریس برابر مجموع شاخص های آن  ( شماره ردیف و شماره ستون درایه ) باشد. به عنوام مثال مقدار درایه (2,5) برابر 7 باشد.

46 - با حلقه for متلب برنامه ای بنویسید که مجموع 10 جمله اول سری زیر را محاسبه کند.

\[ \sum_{n=0}^{m}(-1)^{n}\frac{1}{2n+1}\]

47 - بردار x=[15 -6 0 8 -2 5 4 -10 0.5 3 ] را در نظر بگیرید با استفاده از دستور if و به کارگیری حلقه for برنامه ای بنویسید که مجموع مقادیر مثبت در این بردار را محاسبه کند.

48 - الف ) تابعی در متلب تعریف کنید که بتواند درایه های یک بردار با طول دلخواه را از بزرگ به کوچک مرتب کند. اسم تابع را downsort قرار دهید. دقت داشته باشید که برای نوشتن این برنامه نباید از دستور sort متلب استفاده شود.

ب ) با دستور randi متلب برداری با طول دلخواه و اعدادرندوم تولید کنید و با استفاده از تابع downsort اعداد موجود در بردار را مرتب کند.

49 - برنامه ای بنویسید که دو بردار  Aو B را دریافت کرده و عناصر مشترک آن دو را نشان دهد.

50 - برنامه ای بنویسید که دو عدد صحیح و مثبت را دریافت نموده و بزرگترین مقسوم علیه مشترک آن دو عدد را نمایش دهد.

| جهت سفارش پروژه ، تکلیف و آموزش سیمولینک Simulink  و  متلب Matlab لطفا با متلب خونه تماس بگیرید، تا پس از بررسی هزینه خدمت شما اعلام گردد.

پشتیبانی ( تلفن ثابت دفتر متلب خونه ) : 02191307193  

تلگرام و ایتا :  09364847193

ساخت جدول سودوکو ( کد Mat0105 )

1 - کد جدول سودوکو 9*9 با تمامی شرایط را بنویسید.

قانون بازی سودوکو

نوع متداول سودوکو یک جدول ۹x۹ است که کل جدول هم به ۹ جدول کوچک‌تر ۳x۳ تقسیم شده‌است. در این جدول چند عدد به طور پیش فرض قرار داه شده که باید باقی اعداد را با رعایت سه قانون زیر یافت:

قانون اول: در هر سطر جدول اعداد ۱ الی ۹ بدون تکرار قرار گیرد.

قانون دوم: در هر ستون جدول اعداد ۱ الی ۹ بدون تکرار قرار گیرد.

قانون سوم: در هر ناحیه ۳x۳ جدول اعداد ۱ الی ۹ بدون تکرار قرار گیرد.

2 - برای هریک از موارد ذیل تابعی تعریف کنیدکه با دریافت عدد صحیح N ماتریس N*N مطلوب را بدهد.

3 - برنامه ای بنویسید که با استفاده از روش مونت کارلو حجم یک کره را محاسبه کند. در انتهای به ازای ورودی دلخواه n نقطه خطای روش مونت کارلو را نشان دهد.

| جهت سفارش پروژه ، تکلیف و آموزش سیمولینک Simulink  و  متلب Matlab لطفا با متلب خونه تماس بگیرید، تا پس از بررسی هزینه خدمت شما اعلام گردد.

پشتیبانی ( تلفن ثابت دفتر متلب خونه ) : 02191307193  

تلگرام و ایتا :  09364847193

 

موضوع های پیشنهادی پروژه درس برنامه سازی پیشرفته ( کد Mat0104 )

1 - چک کردن همگرایی و واگرایی یک سری نامتناهی.(توضیح: در ابتدا، برنامه نوشته شده بایستی همگرایی و واگرایی یک سری نامتناهی را چک کند. سپس، در صورت همگرا بودن سری، محاسبه کند که همگرایی سری به چه عددی است)

2 - تقریب تابع به کمک سری فوریه. (توضیح: برنامه نوشته شده بایستی برای هر تابع دلبخواه، سری فوریه آن تابع را محاسبه نماید. سپس، همگرایی و دقت سری را با افزایش تعداد جمالت سری مورد بررسی قرار دهد)

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

4 - تقریب مشتق تابع به کمک روش تفاضالت محدود مرکزی. (توضیح: برنامه نوشته شده بایستی مشتق هر تابع دلبخواه را در یک دامنه خاص تابع محاسبه نماید. سپس، همگرایی و دقت روش را با افزایش تعداد نقاط مورد بررسی قرار دهد)

5 - تقریب انتگرال تابع به کمک روش ذوزنقه ای. (توضیح: در این روش، ابتدا مساحت زیر منحنی تابع به تعدادی ذوزنقه تقسیم می شود. مساحت زیر منحنی برابر خواهد بود با مجموع مساحت ذوزنقه ها. با افزایش تعداد ذوزنقه ها، دقت جواب بهبود خواهد یافت. برنامه نوشته شده بایستی انتگرال هر تابع دلبخواه را در یک بازه معین محاسبه نماید. سپس، همگرایی و دقت روش را با افزایش تعداد ذوزنقه ها مورد بررسی قرار دهد)

6 - حل معادالت دیفرانسیل معمولی مرتبه 1 به کمک روش ذوزنقه ای. (توضیح: روش ذوزنقه ای نیز یکی از ساده ترین روش ها برای حل معادلات دیفرانسیل معمولی مرتبه 1 می باشد. منتها دقت آن از روش اویلر بهتر است. در این پروژه بایستی کاربرد و دقت روش برای حل اینگونه از معادلات مورد بررسی قرار گیرد )

7 - حل معادله ریشه یابی به کمک روش نابجایی. (توضیح: روش نابجایی بسیار شبیه روش نصف کردن (برای یافتن ریشه یک تابع) می باشد. منتها، همگرایی آن سریعتر است. در این پروژه، بایستی برنامه ای به این منظور )یافتن ریشه تابع به کمک روش نابجایی) فراهم گردد (برای توضیحات بیشتر روش می توان به کتاب محاسبات عددی دکتر نکوکار مراجعه نمود)

8 - حل معادلات دیفرانسیل مرزی به کمک MATLAB( .توضیح: متلب توابع متعددی برای حل مسائل مقدار مرزی دارد. در این مسائل، مشتق ها نسبت به مختصات مکانی بیان شده اند )مثال x .)در این تحقیق، بایستی توابع مرتبط و نحوه استفاده از آنها تشریح گردند.

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

10 - توابع بسل. (توضیح: توابع بسل از توابع پرکاربرد در ریاضی کاربردی و محاسبات عددی هستند. این توابع از معادله دیفرانسیل هم نام (بسل) قابل استخراج هستند. از طرفی، روابط ریاضی بصورت سری نیز برای محاسبه این توابع موجود می باشد. در این برنامه، بایستی این توابع محاسبه و ترسیم گردند

11 - حل معادلات دیفرانسیل معمولی زمانمند به کمک روش رانگ – کوتا. (توضیح: روش های رانگ - کوتا یکی از روش های ساده و دقیق برای حل معادالت دیفرانسیل معمولی زمانمند می باشد. در این پروژه بایستی کاربرد و دقت این روش ها برای حل اینگونه از معادالت مورد بررسی قرار گیرد)

12 - حل معادله ریشه یابی به کمک روش وتری. (توضیح: روش وتری بسیار شبیه روش نیوتن (برای یافتن ریشه یک تابع) می باشد. منتها، همگرایی آن کندتر است. در این پروژه، بایستی برنامه ای به این منظور (یافتن ریشه تابع به کمک روش وتری) فراهم گردد ( برای توضیحات بیشتر روش می توان به کتاب محاسبات عددی دکتر نکوکار مراجعه نمود)

13 - انتگرال گیری به کمک روش نقطه میانی. (توضیح: روش نقطه میانی همان روش مستطیلی برای انتگرالگیری عددی است. منتها، از نقاط میانه بازه ها برای محاسبه انتگرال کمک می گیرد. این روش بسیار مناسب است برای محاسبه انتگرال توابع منفرد ( توابعی که مثال در ابتدا یا انتهای بازه مقدار بینهایت بگیرند )  که روش مستطیلی برای محاسبه انتگرال آنها به مشکل اساسی بر می خورد. در این پروژه بایستی در قالب برنامه هایی کاربرد و دقت این روش برای تقریب انتگرال معین توابع منفرد مورد بررسی قرار گیرند

14 - انتگرال گیری به کمک روش سیمپسون. (برای توضیحات روش به کتاب محاسبات عددی دکتر نیکوکار مراجعه شود).

15 - حل سیستم معادلات جبری به کمک روش حذفی گوس و دستور کرامر. (برای توضیحات روش به کتاب محاسبات عددی دکتر نیکوکار مراجعه شود)

16 - درونیابی با استفاده از توابع Hermit

| جهت سفارش پروژه ، تکلیف و آموزش سیمولینک Simulink  و  متلب Matlab لطفا با متلب خونه تماس بگیرید، تا پس از بررسی هزینه خدمت شما اعلام گردد.

پشتیبانی ( تلفن ثابت دفتر متلب خونه ) : 02191307193  

تلگرام و ایتا :  09364847193

تکالیف برنامه نویسی C - محاسبه دترمینان مارتیس دلخواه ( کد C0003 )

1 - عدد صحیح n وارد می شود. این عدد کوچکتر از 100 و بزرگتر از 2 است. سپس یک ماتریس با ابعاد دلخواه n*n وارد می شود. مقدار دترمینان  ماتریس ورودی را محاسبه کنید و در خروجی چاپ کند. ( فقط بخش صحیح خروجی را چاپ کند برای مثال اگر درایه ای برابر 3.14 بود مقدار 3 را چاپ کند )

2 - کدی بنویسید که با استفاده از اشاره گر pointer ها مقادیر ذخیره شده در دو متغییر را جابجا کند.

3 - کدی بنویسید که مشخص کند آیا رقم دوم سمت راست یک عدد چهار رقمی زوج است یا فرد. برای مثال عدد 1235 پیغام odd و برای 5321 پیغام even  چاپ کند.

4 - کدی بنویسید که یک رشته از کاراکترها را به صورت برعکس چاپ کند. مثلا salam را به عنوان malas چاپ کند.

5 - کدی بنویسید که تمام اعداد بین 1 تا  100000 را که مضرب 3و5 باشند و مضرب 3 و 7 نباشند را چاپ کند.

6 - برنامه ای بنویسید که با دریافت تعداد سطر شکل زیر را چاپ کند.

 

| جهت سفارش پروژه و تکلیف برنامه نویسی C و ++C لطفا در شبکه های تلگرام و واتساپ موضوع و سوال مورد نظر را به شماره  989364847193+ ارسال نمایید، تا پس از بررسی هزینه خدمت شما اعلام گردد.

Designed By M A T L A B K H O O N E H