مساعدة في برنامج بلغة الفورترون

djwy · 2 · 1240

djwy

  • Newbie
  • *
    • مشاركة: 47
    • مشاهدة الملف الشخصي
    • البريد الالكتروني
في: شباط 28, 2013, 10:14:46 صباحاً
السلام عليكم ورحمة الله تعالى وبركاته ,,,,أما بعد


فلقد طلب منا كتابة برنامج بلغة الفورترون يقوم بجمع عددين كبيرين يصل طولهما إلى 50 رقم بمعنى
1111111111111111111111111111111111111111.....+11111111111......
مع العلم أني لأول مرة أكتب برنامج بلغة الفورترون (برامج بسيطة جدا ..مبتدأ)
وللبرنامج فكرت بأن أدخل الأعداد الطويلة على شكل نصي  بمعنى  Character(LEN=50) :: a
ومن ثم يضع المستخدم رقمه في   a=11111111111111   ....a
بعدها أحول هذا الرقم بواسطة جدول code ASCII    b
وهكذا أفعل مع الآخر فم أجمع بواسطة Boucle   DO
وها هي المحاولة في البرنامج .........في المحاولة LEN =2  لكن البرنامج لم يعمل كما ينبغي ولقلة أو لإنعدام خبرتي في الفورترون   لم أفهم جيدا المشكلة


      PROGRAM TP
      character(LEN=2)::Nombre1
      character(LEN=2)::Nombre2
      character(LEN=3)::Nombre3
      integer n1, n2, res1, res2
 
C    
      read(*,*) nombre1
       read(*,*) nombre2
       res2 = 0
       
       do i = 2, 1, -1
          n1 = ichar(Nombre1(i:i)) -48
          n2 = ichar(Nombre2(i:i))-48
         
          res1 = n1 + n2 + res2
          res2 = res1/10
         
          (res1 = mod(res1,10
          (nombre3(i:i) = char(res1 + 48
       enddo

       (nombre3(1:1) = char(res2 + 48
       print*, "voila"
       write(*,*) nombre3
       

     
END PROGRAM TP
[/SIZE]


djwy

  • Newbie
  • *
    • مشاركة: 47
    • مشاهدة الملف الشخصي
    • البريد الالكتروني
رد #1 في: شباط 28, 2013, 05:50:07 مسائاً
ألا يوجد بعض الخبراء في الفورترون