تبلیغات
وبلاگ مهندسی عمران (مهندسی آب)
وبلاگ مهندسی عمران (مهندسی آب)
زَکاةُ العلم پَخْشُه!! البته‌با‌‌دانش‌‌وبیان‌مناسب‌و‌به‌دور‌از‌هرگونه Copy&Paste!
پاسخ به سؤال فرترن
نوشته‌شده در تاریخ جمعه 13 اردیبهشت 1392 توسط محمدصادق عباسیان | نظرات ()
طبقه‌بندی: مبانی برنامه‌نویسی (فرترن)، 
برچسب‌ها: دنباله فیبوناچی، فرترن، کد، مثال، Fibonacci،  

سلام!
توی نظرات پرسیده شده که چه‌طور می‌شه دنباله فیبوناچی رو حتی بدون استفاده از آرایه نوشت. همون‌طوری که قبلاً گفتم دنباله فیبوناچی رو در اصل باید با تابع بازگشتی (Recursive Function) نوشت و در غیر این صورت راحت‌ترین راه استفاده از آرایه هست. اگر از آرایه هم استفاده نکنیم فقط نوشتن برنامه رو سخت‌تر کردیم. به‌ هر حال من کدهای این برنامه رو براتون می‌ذارم.
توضیحات:
1- در هر بار محاسبه حلقه دو جمله از دنباله حساب می‌شه، جمله nام و جمله n+1ام. جمله nام توی متغیر U و جمله n+1ام توی متغیر V ذخیره می‌شه. به همین خاطره که تعداد تکرار حلقه اگر n زوج باشه n/2 هست و اگر n فرد باشه (n-1)/2. برای تشخیص زوج بودن یا نبودن n از تابع Mod() یعنی تابع باقیمانده استفاده کردیم. اگر باقیمانده تقسیم n بر 2 صفر شد عدد زوجه وگرنه عدد فرده.
2- به متغیر A مقدار 0 داده شده که همون جمله صفرم دنباله هست و به متغیر B مقدار 1 داده شده که جمله اول دنباله هست. با اولین ورود به حلقه، مقدار متغیر U برابر با A+B می‌شه که برابره با 1 و جمله دوم دنباله هست. بعد متغیر V برابر B+U می‌شه که برابر 1+1=2 هست و همون جمله سوم دنباله هست. برای محاسبه جملات بعدی مقدار A و B باید تغییر کنن. پس متغیر A مقدارش رو از متغیر U و متغیر B مقدارش رو از متغیر V می‌گیره. دفعه بعدی که حلقه تکرار می‌شه U=A+B=1+2=3 و V=B+U=2+3=5 که جملات چهارم و پنجم دنباله هستن. به همین ترتیب در هر تکرار حلقه دو جمله متوالی محاسبه می‌شن.
3- برای چاپ جمله nام دنباله، اگر n زوج باشه U و اگر n فرد باشه V چاپ می‌شه.

Implicit None
Integer :: A, B, N, M, U, V, I
A = 0
B = 1
Print*, "Please Enter n:"
Read*, N
If (Mod(N,2) == 0) Then
          M = N/2
Else
          M = (N-1)/2
End If
Do I = 1,M
          U = A + B
          V = B + U
          A = U
          B = V
End Do
If (Mod(N,2) == 0) Then
          Print*, "Un =", U
Else
          Print*, "Un =", V
End If
End



پاسخ به سؤال فرترن
نوشته‌شده در تاریخ پنجشنبه 5 اردیبهشت 1392 توسط محمدصادق عباسیان | نظرات ()
طبقه‌بندی: مبانی برنامه‌نویسی (فرترن)، 
برچسب‌ها: دنباله فیبوناچی، فرترن، کد، برنامه،  

در ریاضی سری فیبوناچی (Fibonacci) دنباله‌ای از اعداد صحیح به‌صورت زیر هست

0,\;1,\;1,\;2,\;3,\;5,\;8,\;13,\;21,\;34,\;55,\;89,\;144,\; \ldots\;

و در واقع هر جمله‌ش از رابطه بازگشتی زیر به‌دست میاد.

 
  F(n):=  
  \begin{cases}
    0             & \mbox{if } n = 0; \\
    1             & \mbox{if } n = 1; \\
    F(n-1)+F(n-2) & \mbox{if } n> 1. \\
   \end{cases}

کدهای زیر برنامه‌ایه که جمله nام سری فیبوناچی رو حساب می‌کنه (n از ورودی دریافت می‌شه). چون جملات این سری از رابطه بازگشتی به‌دست میان، در واقع برای نوشتن این برنامه باید از یک رویه (تابع یا سابروتین) بازگشتی استفاده بشه. اما در این برنامه ساده، فقط از یک آرایه تک‌بعدی استفاده شده.

Program Fibonacci
Implicit None
Integer :: N, I
Integer, Dimension (0:1000) :: U
U(0) = 1; U(1) = 1
Print*, "Please Enter N:"
Read*, N
Do I = 2, N
          U(I) = U(I-2) + U(I-1)
End Do
Print*, U(N)
End



پاسخ به سؤال فرترن
نوشته‌شده در تاریخ یکشنبه 25 فروردین 1392 توسط محمدصادق عباسیان | نظرات ()
طبقه‌بندی: مبانی برنامه‌نویسی (فرترن)، 
برچسب‌ها: فرترن، حلقه، شرط،  

سلام!
سؤالی به‌ این صورت توی نظرات مطرح شده:
سؤال: برنامه‌ای بنویسید که یک عدد صحیح را از ورودی دریافت کند و تعداد ارقام آن را چاپ نماید.
پاسخ: این سؤال دقیقاً سؤال 12 فصل دوم کتاب فرترن دکتر موسوی‌ندوشنی هست که من هر ترم این سؤال رو سر کلاس حل تمرین برای بچه‌ها حل می‌کردم. برای حل این سؤال هم روش‌های مختلفی وجود داره که همگی شبیه به هم هستن. توی کدهایی که براتون می‌ذارم، روش حل به این صورته که اگر عددی ورودی صفر باشه، در خروجی چاپ می‌شه که عدد ورودی صفر هست و اگر منفی باشه اون رو با تابع قدرمطلق مثبت می‌کنه. بعد اگر عددی بزرگ‌تر یا مساوی یک و کوچکتر از 10 باشه تک‌رقمی تشخیص داده می‌شه، اگر بزرگ‌تر یا مساوی 10 و کوچک‌تر از 100 باشه دورقمی تشخیص داده می‌شه و الی آخر.

Integer :: I, M, N, O
Print*, "Please Enter The Value:"
Read*, I
I = ABS (I)
M = 1
N = 10
O = 0
If (I == 0) Then
          Print*, "The Input Value is Zero."
Else
           Do
                    O = O + 1
                   If (I .GE. M .AND. I .LT. N) Then
                             Print*, "Number of Digits =", O
                             Exit
                   End If
          M = M * 10
          N = N * 10
          End Do
End If
End



پاسخ به سؤال فرترن
نوشته‌شده در تاریخ چهارشنبه 14 فروردین 1392 توسط محمدصادق عباسیان | نظرات ()
برچسب‌ها: فرترن، مثال، تابع نمایی، بسط مک لورن، حلقه و شرط،  

سلام!
یکی از دوستان سؤالی پرسیده که جواب اون رو گذاشتم.
لطفاً‌ از این به بعد اگر سؤال می‌پرسید و پیگیر جواب اون هستید خودتون رو معرفی بفرمایید، بگید از کدوم دانشگاه هستید و ایمیلتون رو هم بذارید. ممنونم.
سؤال: برنامه‌ای بنویسید که مقدار exp(x) را با مقدار تقریبی آن که برابر است با sigma{x^n/n!} مقایسه کرده و مقدار آن‌را چاپ نماید. برنامه را طوری بنویسید که در ورودی x و n را دریافت نماید.
پاسخ: بنده توضیح بدم که منظور ایشون از sigma{x^n/n!} در واقع بسط مک‌لورن تابع نمایی به‌صورت

 e^{x} = \sum^{\infin}_{n=0} \frac{x^n}{n!} = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \cdots\quad\text{ for all } x\!

و منظور از خطا اختلاف نسبی مقدار سری با مقدار واقعی تابع هست.
ابتدا توضیحات رو بخونید و بعد کدها رو در ادامه مطلب ببینید. ضمناً در ادامه مطلب کدهای یک الگوریتم دیگه هم آورده شده.

توضیحات:
1- سؤالی مشابه همین سؤالی که اینجا مطرح شده در فصل دوم کتاب دکتر موسوی‌ندوشنی هست و بنده هم از همون الگوریتم برای حل این سؤال استفاده کردم. چون برای حل این سؤال روش‌های مختلفی می‌تونه مطرح بشه.
2- در حل این سؤال دقت کنید که بسط مک‌لورن به این صورت حساب می‌شه. در اولین تکرار حلقه 1+x حساب می‌شه و در متغیر Sum ذخیره می‌شه و بعد ترم x^2/2 حساب می‌شه و در متغیر Term ذخیره می‌شه. در دومین تکرار حلقه، حاصل (1+x) با حاصل (x^2/2) جمع می‌شه و در متغیر Sum ذخیره می‌شه و بعد ترم x^3/3! به صورت (x^2/2)*(x/3) محاسبه می‌شه و در متغیر Term ذخیره می‌شه. در سومین تکرار حلقه حاصل {(1+x)+(x^2/2)+(x^3/3!)} حساب می‌شه و در متغیر Sum ذخیره می‌شه و ترم x^4/4! به‌صورت (x^3/3!)*(x/4) حساب می‌شه و در متغیر Term ذخیره می‌شه و الی آخر. در واقع در این الگوریتم هر ترم از رابطه بازگشتی زیر محاسبه می‌شه.

xi/i!=(xi-1)/(x-1)i×x/i



ادامه مطلب - کدهای برنامه
مدیریت کارها به روش الف، ب و ج
نوشته‌شده در تاریخ دوشنبه 12 فروردین 1392 توسط محمدصادق عباسیان | نظرات ()
طبقه‌بندی: علمی، 
برچسب‌ها: مشاوره، برنامه ریزی، مدیریت زمان، کنکور ارشد، عمران،  

یکی از مفیدترین روش‌ها برای سامان‌دهی کارها استفاده از روش الف، ب و ج است. در این روش، قبل از شروع باید فهرست کارهای روزانه خود را آماده نمایید. سپس هر یک از این حروف را مقابل هر فعالیت قرار دهید.

فهرست الف

کار الف کاری است که حتماً‌ باید انجام شود. این کار خیلی مهم است و عدم انجام آن پیامد منفی دارد. مثلاً فرض کنید که در یک روز آزمون آزمایشی دارید و طبیعتاً‌ باید در آن شرکت دهید. با اینکه این کار زمان زیادی از روز شما را در بر می‌گیرد، اما انجام آن الزامی است. حرف الف را در کنار مواردی قرار دهید که ضروری و مهم هستند. اگر چندین کار را در رده الف دارید، آنها را به‌صورت الف-1، الف-2 و ... برچسب‌گذاری نمایید. اولویت با کار الف-1 است.

فهرست ب

کار ب نیز کاری است که باید انجام شود ولی عدم انجام آن ضررهای کم‌تری نسبت به کار الف دارد. قانون کلی این است که اگر برای انجام کار الف هنوز به زمان نیاز دارید، زمان را صرف انجام کار ب نکنید.

فهرست ج

کارهایی هستند که انجام آنها خوب است اما قطعاً به اندازه کارهای الف و ب اهمیت نداشته و عدم انجام و یا به تعویق انداختن آنها ضرری را وارد نمی‌نماید. کارهایی مانند رفتن به تفریح به دوستان، خواندن یک مجله و ... در این دسته قرار می‌گیرند.



پاسخ به سؤال فرترن
نوشته‌شده در تاریخ دوشنبه 28 اسفند 1391 توسط محمدصادق عباسیان | نظرات ()
طبقه‌بندی: مبانی برنامه‌نویسی (فرترن)، 
برچسب‌ها: فرترن، سوال، محاسبه میانگین هندسی، مرتب کردن داده‌ها،  

سلام!
یکی از بچه‌ها توی نظرات امر فرمودن (چون جمله به حالت امری بوده عرض کردم امر فرمودن!!) که:
برنامه‌ای بنویسید که سه عدد از ورودی خوانده و میانگین حسابی و هندسی آن را محاسبه کند و در صورتی که میانگین حسابی بزرگتر از میانگین هندسی باشد اعداد را به صورت نزولی و در غیر اینصورت به صورت صعودی مرتب کرده و به همراه دو میانگین چاپ کند.
بنده هم از اونجایی که دیدم انگار این مرتب کردن (Sort) داده‌ها خیلی رو اعصاب بچه‌هاست، تصمیم گرفتم یه بار کدهاش رو توی سایت بیارم. گرچه قبلاً هم گفتم که توی فصل چهار جزوه حل تمرینی که روی همین سایت قرار داره، یک برنامه کامل با توضیحات از مرتب کردن داده‌ها آوردم. اول کدهای برنامه برای پاسخ به این سؤال رو در ادامه مطلب ببینید و بعد توضیحات رو بخونید.
توضیحات:
1- برنامه رو خیلی بهینه‌تر از این حالتی که من نوشتم می‌شه نوشت، چون که من کدهای مرتب کردن رو دو بار عیناً ‌و با یک اختلاف جزئی تکرار کردم تا مرتب کردن نزولی به صعودی تبدیل بشه. روی این قضیه فکر کنید. ضمن اینکه سعی کنید مرتب کردن رو داخل سابروتین انجام بدید.
2- دو نحوه معروف مرتب‌ کردن داده‌ها یعنی روش حبابی و روش سریع در ویراست دوم کتاب فرترن 95/90 استاد بزرگوارم دکتر موسوی اومده که می‌تونید ملاحظه کنید.
3- دقت کنید که برنامه برای سه تا عدد کار نمی‌کنه و ابتدا تعداد داده‌ها را از شما می‌پرسه و با هر تعداد داده‌ای که شما بهش بدید کار می‌کنه. لذا اگه تعداد داده‌ها زوج باشه، ضرب اعداد نباید منفی باشه، چون که در این‌صورت در محاسبه میانگین هندسی زیر رادیکال با فرجه زوج منفی می‌شه. اما جدای از این، با هر تعداد داده ورودی، هیچ‌وقت ضرب اعداد نباید منفی بشه، چون در فرترن یک عدد منفی نمی‌تونه به توان یک عدد غیرصحیح برسه. دلیل این موضوع رو می‌تونید توی کتاب دکتر موسوی ببینید.
4- دقت کنید که اگر همه داده‌ها مثبت باشند، همواره میانگین بیشتر از میانگین هندسی هست مگر اینکه همه داده‌ها برابر باشند که در این صورت دو میانگین با هم برابره.



ادامه مطلب - کدهای برنامه
سه مرحله برای سامان‌دهی محل درس
نوشته‌شده در تاریخ جمعه 25 اسفند 1391 توسط محمدصادق عباسیان | نظرات ()
طبقه‌بندی: علمی، 
برچسب‌ها: برنامه ریزی، مشاوره، کنکور ارشد، مدیریت زمان،  

یکی از مهارت‌های مهم مدیریت زمان که منجر به افزایش تمرکز نیز می‌شود، سامان‌دهی محل درس‌‌خواندن می‌باشد. در زیر سه روش برای مرتب نگه داشتن محل درس خواندن ارائه شده است:

1- میزتان را تمیز کنید. هر چیز اضافه‌ای که روی میزتان قرار دارد را برداشته و با قرار دادن چیزی که روی آن کار می‌کنید فرآیند سامان‌دهی میزتان را شروع نمایید. کتاب، جزوه و وسابل اضافی را در قفسه و کشو و یا حتی روی زمین در قسمت مشخصی از اتاق قرار دهید و وسایل اضافی و کاغذهای به‌درد نخور را دور بیندازید. هر کاری که لازم است انجام دهید تا در شروع درس خواندن فقط وسایلی که مورد نیاز است روی میز قرار داشته باشد.

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

3- هر برگه را فقط یک‌بار مصرف کنید. فقط وقتی برگه‌ای را بردارید که مطمئن باشید از آن استفاده می‌نمایید. اگر کاغذی دیگر مورد استفاده‌تان نیست بهتر است آن را کنار بگذارید تا اینکه دائماً آن را روی میزتان این طرف و آن طرف کنید.



(تعداد کل صفحات:24)      1   2   3   4   5   6   7   ...  
درباره‌ی وبلاگ

.::بسم الله الرحمن الرحیم::.
در این وبلاگ سعی می‌شه مطالب مختلفی در ارتباط با مهندسی عمران و به طور خاص مهندسی آب قرار داده بشه. تمام سعی بنده اینه که مطالبی رو ارائه بدم که یا حاصل تلاش خودم هست، یا اینکه مشابه اون در وبلاگ‌ها و سایت‌های فارسی پیدا نمی‌شه. بنابراین لطفاً حق کپی رایت فراموش نشه!!!

محمدصادق عباسیان
دانشجوی دکترای مهندسی عمران-آب، دانشگاه صنعتی شریف
پست الکترونیک
تماس با مدیر
RSS
ATOM
جستجو
آخرین مطالب
«یکِ عمران»: تخصصی‌ترین کانال مشاورۀ کنکور ارشد و دکتری
گفتگوی 6 از مجموعۀ «گفتگوهای آبی»
گفتگوی 5 از مجموعۀ «گفتگوهای آبی»
گفتگوی 4 از مجموعۀ «گفتگوهای آبی»
گفتگوی 3 از مجموعۀ «گفتگوهای آبی»
گفتگوی 2 از مجموعۀ «گفتگوهای آبی»
گفتگوی 1 از مجموعۀ «گفتگوهای آبی»
انتشار مقاله در مجله علمی-پژوهشی عمران مدرس
خلاصه‌های کنکور دکترای عمران آب
مشاوره رایگان کنکور کارشناسی ارشد
ارتفاع مکش کل خالص (NPSH)
رابطه بین مدت و شدت بارندگی
کلاس آموزش برنامه‌نویسی به زبان FORTRAN 90/95
بخش‌هایی از سخنرانی پروفسور سمیعی
مقاله‌های ارائه شده در پنجمین کنفرانس ملی مدیریت منابع آب
آرشیو
مهر 1395
شهریور 1395
اردیبهشت 1395
فروردین 1395
بهمن 1393
مهر 1393
فروردین 1393
اسفند 1392
موضوعات
«گفتگوهای آبی»
مبانی برنامه‌نویسی (فرترن)
مکانیک سیالات و هیدرولیک
هیدرولوژی
سازه
مقاومت مصالح و استاتیک
ریاضیات
مكانیك خاك
بتن
راه‌سازی و روسازی
نقشه‌برداری
اطلاع رسانی
علمی
نویسندگان
محمدصادق عباسیان
پیوندها
دانشگاه صنعتی شریف
دانشگاه صنعت آب و برق (شهید عباسپور)
کتاب عمران
وبلاگ فرآیندهای تصفیه‌ی آب و فاضلاب
پیوندهای روزانه
فروشگاه فایل‌های آموزشی جزوه‌ها و پروژه‌های مهندسی دانشگاه صنعتی شریف
صفحات جانبی
درباره‌ مدیر، محمدصادق عباسیان
ابر برچسب‌ها
مبانی برنامه‌نویسی فرترن علمی مکانیک سیالات و هیدرولیک مقاومت مصالح و استاتیک مکانیک خاک هیدرولیک فرترن هیدرولوژی سیالات بتن
آمار سایت
بازدیدهای امروز: نفر
بازدیدهای دیروز: نفر
كل بازدیدها: نفر
بازدید این ماه: نفر
بازدید ماه قبل: نفر
تعداد نویسندگان: عدد
كل مطالب: عدد
آخرین بازدید:
آخرین بروزرسانی:
نمونه قراردادهای ساختمان سازی

این فایل شامل چندین نمونه قرارداد بسیار مفید برای شروع به هر کاری در زمینه های مختلف در مورد ساختمان سازی است که این نمونه قراردادها شامل نمونه قرارداد گود برداری , خاک برداری , شناژبندی , خرید بتن , نمونه قرارداد مشارکت در ساخت وغیره میباشد که بسیار کاربردی ومفید میباشد , این فایل به دوستان عزی ...

دریافت فایل
مقایسه رفتار لرزه‌ای دیوارهای برشی فولادی نازک با بادبندهای بزرگ مقیاس در سازه‌های بلند فولادی

• پایان نامه کارشناسی ارشد مهندسی عمران گرایش سازه با عنوان: مقایسه رفتار لرزه‌ای دیوارهای برشی فولادی نازک با بادبندهای بزرگ مقیاس در سازه‌های بلند فولادی 

دریافت فایل
پروژه متره و برآورد یک ساختمان یک طبقه سازه فولادی

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

 

...
دریافت فایل
دانلود پروژه کامل سوله همراه با نقشه ها و فایل اتوکد(word+pdf)

 

 

 

 

 

 

 


فرمت فایل : word+PDF+autocad

تعداد صفحات:112

فهرست مطالب:

بخش اول    4
ساختمان سایبان انبار قطعات    4
فصل اول    5
معرفی کلی ...

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

 

خلاصه برداری های کارشناس رسمی دادگستری- آزمون کارشناسان رسمی دادگستری- معماری و عمران

دریافت فایل
تبدیل نقشه کاغذی به فایل AutoCad

مژده       مژده

معماران عزیز و مهندسان گرامی
یک عکس از نقشه پلان یا هر نقشه دیگر بگیرید و توسط این نرم افزار حرفه ای آن را به فایل AutoCad تبدیل کنید
به همین راحتی از دست نقشه های کاغذیتان راحت شوید
سریع و منظم
...
دریافت فایل
جزوه و نمونه سوال تحلیل سازه

این فایل حاوی درسنامه های آموزشگاهی بیرون است.

برای گرفتن نمره طراحی شده است.

...
دریافت فایل
نرم افزار صورت وضعیت راهسازی فهرست بها (متره و برآورد)

نرم افزار صورت وضعیت راهسازی فهرست بها(متره و برآورد) خیلی سریع و راحت صورت وضعیتتان را تهیه کنید شامل تمامی ردیف های فهرست بها

...
دریافت فایل
Blog Skin