ویژه:رفع اشکال در برنامه نویسی در فرترن


ارسال های توصیه شده

  • پاسخ 58
  • ایجاد شد
  • آخرین پاسخ

بهترین ارسال کنندگان این موضوع

بهترین ارسال کنندگان این موضوع

پست های محبوب

elder

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

elder

گام اول آموزش : مزیت ها و معایب زبان برنامه نویسی فرترن چیست؟ و چرا برای دانشجویان فنی و مهندسی سفارش می شه حتما این زبان برنامه نویسی رو یاد بگیرن؟ در توضیح این سوال برای دوستان باید عرض کنم که به طور کلی زبان برنامه نویسی فرترن مزایای خیلی زیادی برای برنامه نویسی داره که اگه بخواهیم تیترواربه برخی از مهم ترین اونا اشاره کنیم عبارتند از: 1- آرایش خطوط برنامه اختیاری 2- قابلیت های مشابه در زبان های برنامه نویسی نوین نظیر ++c (یعنی هر کی بتونه این زبان رو یاد بگیره! تو یادگیری زبان های برنامه

elder

amanofdetail عزیز سلام امیدوارم بقیه دوستان هم تمایل نشون بدن،تا بتونیم تاپیک پر باری داشته باشیم ]

فرترن 77. البته قبلا 90 مینوشتم. اما اینبار واسه پروژه پایانیم چون کدهای خیلی کمی در دسترس بود و 77 بودن، ازش استفاده کردم.

لینک به دیدگاه

فکر نکنم به فرمت دهی ربطی داشته باشه،وقتی به فرمت ربط داشت کهارور بده نمیتونه استفاده کنه ،در حالی ککه ارور داده نمی تونه فایل رو پیدا کنه...

شما شکل ساختاری استانداردی که گفتم اجرا کن ...

فکر کنم حل بشه ان شا الله...

لینک به دیدگاه

تنها راهی که می مونه فایل برنامه و فایل داده هاتو برام آپلود کنی خودم بررسیشون کنم...

اگه راه دیگه ای بود حتما برات می گفتم ....

لینک به دیدگاه

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

ولی شما می تونید از طریق سایت های آپلود رایگان مثل http://uploadkon.ir فایلتون رو آپلود کنید بعد آدرس مسیر آپلودتون رو برام تو همین تاپیک بزارید در اولین فرصت رسیدگی می کنم ان شا الله بتونیم مشکلتون رو حل کنیم....

لینک به دیدگاه
  • 3 هفته بعد...

Hi all

 

I would like to know the reason and solution of the following Error:

 

No symbols are loaded for any call stack frame. The source code cannot be displayed.

 

h93a3l9pf8rpqodnfn1n.png

 

Thanks

لینک به دیدگاه
  • 2 ماه بعد...

سلام دوستان

 

کی میتونه تو حل این مشکل به من کمک کنه؟

 

این برنامه رو ببینید:

program test

 

(IMPLICIT real (8) (A-Z

 
 a =1.657587989654D0
 b =1.657587989650D0
c=a-b
print*,c
end program test
جواب این برنامه به صورت 3.999911513119514E-12 خواهد بود. اگر D0 از جلوی اعداد برداشته شه مقداری که برای C  به دست میاد 0 خواهد بود.اگر به اعداد دست نزنیم چه راه حلی برای داشتن دقت جواب شبیه این مثال پیشنهاد می کنید؟
مشکل من اینه که در کدی که من مینویسم دو تا پارامتر هستند که در هر تکرار مقداری جدید میگیرند و تا 9 رقم اعشار شبیه هستند اما در سه رقم آخر متفاوتند و در جایی این دو مقدار از هم کم میشن و فرترن در هر iteration  تفریقشونو  صفر میذاره و کدی که نوشتم به هم میریزه....
اگر کسی میدونه که برای این مشکل چه باید کرد خواهشا کمکم کنه...
لینک به دیدگاه
  • 1 ماه بعد...

سلام بر دوستان

من یک کد ساده نوشتم که یک فایل text شامل یک ستون عدد به عنوان input می گیره و اونو می خونه سپس همون اعداد را در فایل جدیدی که درست می کنه، ذخیره می کنه، من در اجرای این برنامه مشکلی ندارم ولی من می خواهم اعداد را بصورت یک در میان از فایل ورودی بخواند و در فایل دوم ذخیره کند.  کد این برنامه بصورت زیر است:

 

 

PROGRAM a
REAL::b
open (2,file="INPUTS.txt",action="read",status="OLD")
open (3,file="OUTPUTS.txt",action="write",status="REPLACE")
DO i= 1,9
READ(2,*)b
WRITE(3,*)(B)
END DO
 
END PROGRAM
 
چرا با اعمال عدد 2 در قسمت  2,DO i= 1,9 اعداد بصورت یک در میان در فایل OUTPUTS ذخیره نمی شوند؟
لینک به دیدگاه
  • 2 ماه بعد...

سلام دوستان

من یه کدی در مورد خواندن داده ها از یک فایل رو نوشتم که دچار مشکل و سرددرگمی شدم...اصلا من برای نوشتن این کد باید از قبل یه فایل داده رو مشخص کنم؟مثلا یه سری ارقامو داخل یه فایل txt وارد کنم و سپس کد را اجرا کنم؟؟؟

ممنون میشم راهنمایی بفرمایید ...با فرترن 95 نوشتم.

program reade
implicit none
character(len=4)::filename
integer::nvals=0
integer::sd
real::value
write(*,*)'please inter input file name'
read(*,*)filename
write(*,1000)filename
1000 format('','the input file name:',A)

open(unit=3,file=filename,status='old',action='read',iostat=sd)

openif:if(sd==0) then
readloop:do
       read(3,*,iostat=sd)value
       if(sd/=0) exit
         nvals=nvals+1
         write(*,1010)nvals,value
         1010 format('','line',i6,':value=',f10.4)
         end do readloop


readif:if(sd>0) then
write(*,1020)nvals+1
1020 format('0','an error occurred reading line',i6)
else
  write(*,1030)nvals
  1030 format('0','end of file reached.there were',i6,'value in the file.')

  end if readif

else openif

  write(*,1040)sd
  1040 format('','error opening file:iostat=',i6)
  end if openif

  close(unit=3)

end program reade  
لینک به دیدگاه

سلام دوستان

 

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

 

با تشکر

program ee
implicit none
integer::i
integer::j
integer,dimension(4,3)::istat          
open(7,file='initial.txt',status='old',action='read')        !Should be equal to the numbers of datas with numbers elements arrays......12 elements there is
read(7,*)istat
write(*,*)istat
write(*,*)istat(3,1)
!or:
!read(7,*)((istat(i,j),j=1,3),i=1,4)
!write(*,*)((istat(i,j),j=1,3),i=1,4)
end program ee

اینم لینک دانلود فایل فرترن و فایل داده ها...فایل داده ها رو به هر طریقی ستونی و ماتریسی در آورد ولی بازم درست نشد.

 

http://kanakh.com/upload/uploads/13957393441.rar

لینک به دیدگاه
  • 2 ماه بعد...
  • 1 سال بعد...

سلام

میخواستم منو تو نوشتن مشتق یک تابع در یک نقطه خاص در فرترن90راهنمایی کنید؟

من از فرمول  (f'(x تو برنامه استفاده می کنم ولی پیغام خطا میده.کمکم کنید.

لینک به دیدگاه

متلب میتونه مشتق رو حساب کنه

ولی تو زبان های مثل سی و فرترن که مخصوص برنامه نویسی هستن فکر کنم این کار امکان پذیر نیست مگر این که عددی حل کنی یا یه ترفند جدید از خودت بزنی...!

یا هم این که دستی حساب کنی و وارد نرم افزار بکنی...

ویرایش شده توسط Mechanical Engineer
لینک به دیدگاه

سلام

میخواستم منو تو نوشتن مشتق یک تابع در یک نقطه خاص در فرترن90راهنمایی کنید؟

من از فرمول  (f'(x تو برنامه استفاده می کنم ولی پیغام خطا میده.کمکم کنید.

از imsl استفاده کنید 

برراحتی و با سرعت زیاد مشتق انتگرال و ... می تونید محاسبه کنید

لینک به دیدگاه

سلام عزیزان میتونید ارور پست بالاییمو بفهمید؟

نام ارور: Access violation

 

ممنونم

بیشتر مربوط ارائه ها هستش وقتی خارج از رنج بخواید درایه هاشون استفاده کنید 

 

مثلا ارائه با طول 100 دارید و می خواید عنظر 101 رو انتخاب کنید

لینک به دیدگاه

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

 

از چه فرترنی استفاده می کنید ؟ Compaq، Intel و یا پاور استشن ؟

لینک به دیدگاه

از پاور استشن4استفاده می کنیم؟میشه لطف کنید برنامه اون رو بنویسید،آخه می خوام فردا به استاد تحویل بدم.یه دنیا تشکر

 

یادش بخیر 

 

 use msimsl
 INTEGER    KORDER, NCOUNT, NOUT
      REAL       BGSTEP, TOL, X
 external fcn
 
 
      X      = 2.0
      BGSTEP = 0.2
      TOL    = 0.00001
      KORDER = 1
      NCOUNT = 1
      DERV   = DERIV(FCN,KORDER,X,BGSTEP,TOL)
      print *, DERV
      END
      REAL FUNCTION FCN (X)
      REAL       X
      REAL       SIN
      INTRINSIC  SIN
      FCN = -2.0* sin(1.5*X)
      RETURN
      END
 
 
 
اگر پاورستیشن پرو 4 باشه این کد مشتق اول تابع FCN رو در نقطه 2 میگیره 
لینک به دیدگاه

راستی اگه از   (f'(x استفاده کنیم،چطوری می تونیم برنامه رو بنویسیم.من برنامه زیر رو درفرترن می نویسم ولی 2تاerrorداره،بایستی چیکارکنم؟

program tamrin4
print*,"enter 3 number"
read(*,*)n,a,b
dx=(b-a)/n
Do i=1,n
x=a
y=f(x)
df(x)/dx=limit(f(x+dx)-f(x))/dx
end do
write(*,*)"df(x)/dx",df(x)/dx
end
!!!!!!!!!!!!!!!
function f(x)
f=x**2.0
end

 

این دو تاerror هم هستن

D:\Text1.f90(8): error FOR2934: lexical error: Unrecognized statement
D:\Text1.f90(8): error FOR3852: syntax error
 

یه عالمه تشکر

لینک به دیدگاه

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری
  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.