با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، جلسه چهاردهم از آموزش های دوره فرترن را با آموزش انواع داده های مشتق شده در فرترن و نحوه دسترسی به اعضای ساختار در فرترن آغاز می کنیم.Fortran به شما اجازه می دهد انواع داده های مشتق شده را تعریف کنید. یک نوع داده مشتق شده نیز ساختار نامیده می شود و می تواند از اشیاء داده ای از انواع مختلف تشکیل شده باشد.
انواع داده های تولید شده برای نشان دادن یک رکورد استفاده می شود. به عنوان مثال. شما می خواهید کتاب های خود را در یک کتابخانه پیگیری کنید، ممکن است بخواهید ویژگی های زیر را در مورد هر کتاب پیگیری کنید.
عنوان
نویسنده
موضوع
شناسه کتاب
برای تعریف یک نوع داده مشتق شده، عبارت نوع و انتهای نوع استفاده می شود. بیانیه نوعی یک نوع داده جدید را تعریف می کند، با بیش از یک عضو برای برنامه شما. فرمت بیانیه نوعی به شکل زیر است :
1 2 3 | type type_name declarations end type |
در اینجا نحوه ساخت ساختار کتاب را توضیح می دهیم.
1 2 3 4 5 6 | type Books character(len = 50) :: title character(len = 50) :: author character(len = 150) :: subject integer :: book_id end type Books |
یک شی از یک نوع داده مشتق شده، یک ساختار نامیده می شود.
یک ساختار نوع کتاب را می توان در یک عبارت نوع فراخوانی کرد مانند :
1 | type(Books) :: book1 |
اجزاء ساختار می توانند با استفاده از مولفه کاراکتر انتخابگر (٪) قابل دسترسی باشند.
توجه داشته باشید که فضای خالی قبل و بعد از نماد٪ وجود نداشته باشد.
مثال
برنامه زیر مفاهیم فوق را نشان می دهد :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | program deriveDataType !type declaration type Books character(len = 50) :: title character(len = 50) :: author character(len = 150) :: subject integer :: book_id end type Books !declaring type variables type(Books) :: book1 type(Books) :: book2 !accessing the components of the structure book1%title = "C Programming" book1%author = "Nuha Ali" book1%subject = "C Programming Tutorial" book1%book_id = 6495407 book2%title = "Telecom Billing" book2%author = "Zara Ali" book2%subject = "Telecom Billing Tutorial" book2%book_id = 6495700 !display book info Print *, book1%title Print *, book1%author Print *, book1%subject Print *, book1%book_id Print *, book2%title Print *, book2%author Print *, book2%subject Print *, book2%book_id end program deriveDataType |
بعد از کامپایل و اجرای کدهای بالا نتیجه زیر نمایش داده خواهد شد :
1 2 3 4 5 6 7 8 | C Programming Nuha Ali C Programming Tutorial 6495407 Telecom Billing Zara Ali Telecom Billing Tutorial 6495700 |
شما همچنین می توانید آرایه های یک نوع مشتق شده ایجاد کنید :
1 | type(Books), dimension(2) :: list |
عناصر منحصر به فرد آرایه می تواند قابل دسترسی باشد :
1 2 3 4 | list(1)%title = "C Programming" list(1)%author = "Nuha Ali" list(1)%subject = "C Programming Tutorial" list(1)%book_id = 6495407 |
برنامه زیر این مفهوم را نشان می دهد :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | program deriveDataType !type declaration type Books character(len = 50) :: title character(len = 50) :: author character(len = 150) :: subject integer :: book_id end type Books !declaring array of books type(Books), dimension(2) :: list !accessing the components of the structure list(1)%title = "C Programming" list(1)%author = "Nuha Ali" list(1)%subject = "C Programming Tutorial" list(1)%book_id = 6495407 list(2)%title = "Telecom Billing" list(2)%author = "Zara Ali" list(2)%subject = "Telecom Billing Tutorial" list(2)%book_id = 6495700 !display book info Print *, list(1)%title Print *, list(1)%author Print *, list(1)%subject Print *, list(1)%book_id Print *, list(1)%title Print *, list(2)%author Print *, list(2)%subject Print *, list(2)%book_id end program deriveDataType |
بعد از کامپایل و اجرای کدهای بالا نتیجه زیر نمایش داده خواهد شد :
1 2 3 4 5 6 7 8 | C Programming Nuha Ali C Programming Tutorial 6495407 C Programming Zara Ali Telecom Billing Tutorial 6495700 |
این جلسه را نیز با تدریس داده های مشتق در فرترن به پایان رساندیم.امیدوارم مطالب ذکر شده برایتان مفید واقع شده باشد.با ما همراه باشید تا در جلسه بعد اشاره گرها در فرترن را آموزش دهیم.