როგორ პროგრამირება Fortran– ში (სურათებით)

Სარჩევი:

როგორ პროგრამირება Fortran– ში (სურათებით)
როგორ პროგრამირება Fortran– ში (სურათებით)

ვიდეო: როგორ პროგრამირება Fortran– ში (სურათებით)

ვიდეო: როგორ პროგრამირება Fortran– ში (სურათებით)
ვიდეო: How to Retrieve Deleted Notes in Evernote 2024, აპრილი
Anonim

ბევრი მიიჩნევს ფორტრანს, როგორც არქაულ და "მკვდარ" პროგრამირების ენას. თუმცა, სამეცნიერო და საინჟინრო კოდების უმეტესობა ფორტრანშია დაწერილი. როგორც ასეთი, პროგრამირება F77 და F90 რჩება აუცილებელი უნარი ტექნიკური პროგრამისტების უმეტესობისთვის. უფრო მეტიც, Fortran– ის უახლესი სტანდარტები (2003, 2008, 2015) პროგრამისტს საშუალებას აძლევს დაწეროს მაღალეფექტური კოდი მინიმალური ძალისხმევით, ხოლო გამოიყენოს ყველა თანამედროვე ენობრივი მახასიათებელი, როგორიცაა OOP (ობიექტზე ორიენტირებული პროგრამირება). FORTRAN არის აბრევიატურა "FORMula TRANslation" და საუკეთესოდ შეეფერება მათემატიკურ და რიცხვით პროგრამებს და არა გრაფიკულ ან მონაცემთა ბაზის პროგრამებს. ფორტანის კოდების უმეტესობა იღებს ტექსტს ფაილიდან ან ბრძანების სტრიქონიდან და არა მენიუდან ან GUI ინტერფეისიდან.

ნაბიჯები

მეოთხე ნაწილი 1: მარტივი პროგრამის წერა და შედგენა

Fortran გამარჯობა მსოფლიო პროგრამა ჩაწერეთ corrected
Fortran გამარჯობა მსოფლიო პროგრამა ჩაწერეთ corrected

ნაბიჯი 1. დაწერეთ პროგრამა "გამარჯობა მსოფლიო"

ეს ჩვეულებრივ არის პირველი პროგრამა, რომელიც წერს ნებისმიერ ენაზე და ის უბრალოდ ბეჭდავს ეკრანზე "Hello world". ჩაწერეთ შემდეგი კოდი ნებისმიერ ტექსტურ რედაქტორში და შეინახეთ როგორც helloworld.f. მიაქციეთ ყურადღება, რომ ყველა ხაზის წინ ზუსტად იყოს 6 ადგილი.

პროგრამა helloworld impplicite none character*13 hello_string hello_string = "გამარჯობა, სამყარო!" ჩაწერეთ (*, *) hello_string ბოლო პროგრამა helloworld

რჩევა: სივრცეები აუცილებელია მხოლოდ Fortran- ის ვერსიებში FORTRAN 77 -მდე. თუ თქვენ იყენებთ უფრო ახალ ვერსიას, შეგიძლიათ დატოვოთ სივრცეები. შეადგინეთ პროგრამები ახალი ვერსიიდან f95 და არა f77; გამოიყენეთ.f95 როგორც ფაილის გაფართოება მხოლოდ.f ნაცვლად.

ნაბიჯი 2. შეადგინეთ პროგრამა

ამისათვის ბრძანების სტრიქონში ჩაწერეთ f77 helloworld.f. თუ ეს იძლევა შეცდომას, თქვენ ალბათ არ გაქვთ დაინსტალირებული Fortran შემდგენელი, როგორიც არის მაგალითად gfortran.

Fortran გამარჯობა world compile run
Fortran გამარჯობა world compile run

ნაბიჯი 3. გაუშვით თქვენი პროგრამა

შემდგენელმა შექმნა ფაილი სახელწოდებით a.out. გაუშვით ეს ფაილი აკრეფით./a.out.

ნაბიჯი 4. გაიგე, რაც ახლახან დაწერე

  • პროგრამა helloworld

    მიუთითებს პროგრამის "helloworld" დაწყებაზე. ანალოგიურად,

    ბოლო პროგრამა helloworld

  • მიუთითებს მის დასასრულზე.
  • სტანდარტულად, თუ არ გამოაცხადებთ ცვლადის ტიპს, ფორტრანი ცვლის ცვლადს სახელით, რომელიც იწყება i– დან n– მდე ასოებით, როგორც მთელი რიცხვი, ხოლო ყველა დანარჩენი, როგორც რეალური რიცხვი. რეკომენდირებულია გამოყენება

    ნაგულისხმევი არცერთი

  • თუ არ გჭირდებათ ეს ქცევა.
  • ხასიათი*13 hello_string

  • აცხადებს სიმბოლოების მასივს, რომელსაც ჰქვია hello_string.
  • hello_string = "გამარჯობა, სამყარო!"

  • ანიჭებს მნიშვნელობას "გამარჯობა, სამყარო!" დეკლარირებულ მასივამდე. განსხვავებით სხვა ენებისგან, როგორიცაა C, ეს არ შეიძლება გაკეთდეს იმავე ხაზზე, როგორც მასივის გამოცხადება.
  • ჩაწერეთ (*, *) hello_string

  • ბეჭდავს hello_string- ის მნიშვნელობას სტანდარტულ გამომავალზე. პირველი * ნიშნავს ჩაწერას სტანდარტულ გამომავალზე, განსხვავებით ზოგიერთი ფაილისა. მეორე * ნიშნავს, რომ არ გამოიყენოთ სპეციალური ფორმატირება.
Fortran comments
Fortran comments

ნაბიჯი 5. დაამატეთ კომენტარი

ეს არ არის აუცილებელი ასეთ მარტივ პროგრამაში, მაგრამ ის გამოგადგებათ, როდესაც თქვენ დაწერთ რაიმე უფრო რთულს, ასე რომ თქვენ უნდა იცოდეთ როგორ დაამატოთ ისინი. კომენტარის დამატების ორი გზა არსებობს.

  • კომენტარის დასამატებლად, რომელსაც აქვს მთელი სტრიქონი, ჩაწერეთ c პირდაპირ ახალ სტრიქონში, 6 ინტერვალის გარეშე. ამის შემდეგ დაწერეთ თქვენი კომენტარი. თქვენ უნდა დატოვოთ სივრცე c– სა და თქვენს კომენტარს შორის უკეთესი წაკითხვისთვის, მაგრამ ეს არ არის საჭირო. გაითვალისწინეთ, რომ თქვენ უნდა გამოიყენოთ! ნაცვლად გ Fortran 95 და უფრო ახალი.
  • იმისათვის, რომ დაამატოთ კომენტარი იმავე ხაზში, როგორც კოდი, დაამატეთ a! სადაც გსურთ დაიწყოთ თქვენი კომენტარი. ისევ და ისევ, ადგილი არ არის საჭირო, მაგრამ აუმჯობესებს წაკითხვას.

მე –4 ნაწილი მე –4: შეყვანის და თუ – კონსტრუქციების გამოყენება

Fortran მონაცემთა ტიპები
Fortran მონაცემთა ტიპები

ნაბიჯი 1. გაეცანით მონაცემთა სხვადასხვა ტიპს

  • INTEGER გამოიყენება მთელ რიცხვებზე, მაგალითად 1, 3 ან -3.
  • REAL ასევე შეიძლება შეიცავდეს რიცხვს, რომელიც არ არის მთლიანი, მაგალითად 2.5.
  • კომპლექსი გამოიყენება რთული რიცხვების შესანახად. პირველი რიცხვი რეალურია და მეორე წარმოსახვითი ნაწილი.
  • CHARACTER გამოიყენება სიმბოლოებისთვის, როგორიცაა ასოები ან სასვენი ნიშნები.
  • ლოგიკური შეიძლება იყოს.მართალი. ან. ტყუილი.. ეს არის ლოგიკური ტიპი სხვა პროგრამირების ენებში.

ნაბიჯი 2. მიიღეთ მომხმარებლის შეყვანა

"გამარჯობა სამყარო" პროგრამაში, რომელიც ადრე დაწერე, მომხმარებლის შეყვანის მიღება უსარგებლო იქნებოდა. ასე რომ გახსენით ახალი ფაილი და დაასახელეთ compnum.f. როდესაც თქვენ დაასრულებთ მას, ის ეუბნება მომხმარებელს არის თუ არა მათ მიერ შეყვანილი რიცხვი დადებითი, უარყოფითი თუ ნულის ტოლი.

  • შეიყვანეთ ხაზების პროგრამის პროგრამა და პროგრამის დასრულება.
  • შემდეგ გამოაცხადეთ ცვლადი ტიპის REAL. დარწმუნდით, რომ თქვენი დეკლარაცია არის პროგრამის დასაწყისსა და დასასრულს შორის.
  • აუხსენით მომხმარებელს რა უნდა გააკეთოს. ჩაწერეთ ტექსტი ჩაწერის ფუნქციით.
  • წაიკითხეთ მომხმარებლის შეყვანის ცვლადი თქვენს მიერ გამოცხადებული წაკითხვის ფუნქციით.

პროგრამა compnum real r ჩაწერა (*, *) "შეიყვანეთ რეალური ნომერი:" წაიკითხეთ (*, *) r პროგრამის დასრულება

Fortran if construction
Fortran if construction

ნაბიჯი 3. მომხმარებლის შეყვანის დამუშავება if- კონსტრუქციით

განათავსეთ იგი შორის

წაიკითხეთ (*, *) რ

და

პროგრამის დასრულება

  • შედარება ხდება.gt. (მეტია),.lt. (ნაკლები) და.ეკ. (უდრის) ფორტრანში.
  • Fortran მხარს უჭერს, თუ სხვას, თუ სხვას
  • Fortran- ის კონსტრუქცია ყოველთვის მთავრდება დასასრულით თუ.

თუ (r.gt. 0) მაშინ ჩაწერეთ (*, *) "ეს რიცხვი დადებითია." წინააღმდეგ შემთხვევაში, თუ (r. lt. 0) დაწერეთ (*, *) "ეს რიცხვი უარყოფითია." სხვაგან დაწერე (*, *) "ეს რიცხვი არის 0." დაასრულე თუ

რჩევა: თქვენ არ გჭირდებათ კოდის შეყვანა if- კონსტრუქციების შიგნით უფრო მეტი ადგილით, მაგრამ ეს აუმჯობესებს წაკითხვას.

Fortran ნომრების შემოწმების პროგრამა test
Fortran ნომრების შემოწმების პროგრამა test

ნაბიჯი 4. შეადგინეთ და გაუშვით თქვენი პროგრამა

შეიყვანეთ რამდენიმე რიცხვი მის შესამოწმებლად. თუ თქვენ შეიყვანთ წერილს, ის შეცდომას გამოიწვევს, მაგრამ ეს ნორმალურია, რადგან პროგრამა არ ამოწმებს არის თუ არა შეყვანილი ასო, რიცხვი თუ სხვა რამ.

ნაწილი 3 მეოთხედან: მარყუჟებისა და მასივების გამოყენება

ნაბიჯი 1. გახსენით ახალი ფაილი

ვინაიდან ეს კონცეფცია განსხვავებულია, თქვენ კვლავ უნდა დაწეროთ ახალი პროგრამა. დაასახელეთ ფაილი addmany.f. ჩადეთ შესაბამისი პროგრამა და ბოლო პროგრამის განცხადებები, ასევე ნაგულისხმევი არცერთი. როდესაც დაასრულებთ, ეს პროგრამა წაიკითხავს 10 რიცხვს და დაბეჭდავს მათ ჯამს.

ნაბიჯი 2. გამოაცხადეთ 10 სიგრძის მასივი

ეს არის სადაც თქვენ შეინახავთ ციფრებს. ვინაიდან თქვენ ალბათ გინდათ რეალური რიცხვების ჯამი, მასივი უნდა გამოაცხადოთ როგორც რეალური. თქვენ აცხადებთ ასეთ მასივს ერთად

რეალური რიცხვები (50)

(რიცხვები არის მასივის სახელი და არა გამოხატულება).

ნაბიჯი 3. გამოაცხადეთ რამდენიმე ცვლადი

გამოაცხადე numSum როგორც რეალური რიცხვი. თქვენ გამოიყენებთ მას ჯამის შესანახად მოგვიანებით, მაგრამ რადგან თანხა უკვე აღებულია ფორტრანის გამოთქმით, თქვენ უნდა გამოიყენოთ ისეთი სახელი, როგორიცაა numSum. დააყენეთ ის 0. გამოაცხადეთ i მთელი რიცხვი და ჯერ არ მიანიჭოთ რაიმე მნიშვნელობა. ეს გაკეთდება შესასრულებელ მარყუჟში.

ნაბიჯი 4. შექმნა do-loop

ამის ეკვივალენტი სხვა პროგრამირების ენებზე იქნება for-loop.

  • მარყუჟი ყოველთვის იწყება კეთებით.
  • იგივე ხაზზე, როგორც do, მისგან გამოყოფილია სივრცე, არის ეტიკეტი, რომელზედაც გადავა პროგრამა დასრულების შემდეგ. ჯერჯერობით, უბრალოდ ჩაწერეთ 1, თქვენ მოგვიანებით დააყენებთ ეტიკეტს.
  • ამის შემდეგ, კვლავ გამოყოფილია მხოლოდ სივრცე, ტიპი

    i = 1, 10

    რა ეს გახდის i ცვლადს, რომელიც თქვენ განაცხადეთ მარყუჟის წინ, 1 -დან 10 -მდე 1 -ით. ნაბიჯები არ არის ნახსენები ამ გამოთქმაში, ასე რომ Fortran იყენებს ნაგულისხმევ მნიშვნელობას 1. თქვენ ასევე შეგიძლიათ დაწეროთ

    i = 1, 10, 1

  • ჩაწერეთ კოდი მარყუჟის შიგნით (ჩაწერეთ ფართები უკეთესი წაკითხვისთვის). ამ პროგრამისთვის თქვენ უნდა გაზარდოთ ცვლადი numSum მასივის რიცხვების i- ე ელემენტით. ეს კეთდება გამოთქმით

    numSum = numSum + ნომერი (i)

  • დაასრულეთ მარყუჟი Continue განცხადებით, რომელსაც აქვს ლეიბლი. ჩაწერეთ მხოლოდ 4 ადგილი. ამის შემდეგ, ჩაწერეთ 1. ეს არის ეტიკეტი, რომელზეც თქვენ გითხარით, რომ მარყუჟი წასულიყო დასრულების შემდეგ. შემდეგ ჩაწერეთ სივრცე და გააგრძელეთ. გაგრძელებული გამოთქმა არაფერს აკეთებს, მაგრამ ის კარგ ადგილს იკავებს ლეიბლის განთავსებისთვის, ასევე აჩვენებს, რომ დასრულების პროცესი დასრულდა.

შენი do loop ახლა ასე უნდა გამოიყურებოდეს:

გავაკეთოთ 1 i = 1, 10 numSum = numSum + რიცხვები (i) 1 გავაგრძელოთ

რჩევა: Fortran 95 და უფრო ახალ ვერსიებში, თქვენ არ გჭირდებათ ეტიკეტების გამოყენება. უბრალოდ ნუ ჩადებთ ერთს გაკეთებულ განცხადებაში და მარყუჟს დაასრულებთ "ბოლომდე" ნაცვლად "გაგრძელებისა".

Fortran do loop code
Fortran do loop code

ნაბიჯი 5. დაბეჭდეთ numSum

ასევე, აზრი ექნება რაიმე კონტექსტის მიცემას, მაგალითად "თქვენი რიცხვების ჯამი არის:". გამოიყენეთ ჩაწერის ფუნქცია ორივესთვის. თქვენი მთელი კოდი ახლა ასე უნდა გამოიყურებოდეს:

პროგრამა addmany ბევრი ნაგულისხმევი არცერთი რეალური რიცხვი (10) რეალური რიცხვი მთლიანი რიცხვი i numSum = 0 ჩაწერა (*, *) "შეიყვანეთ 10 ნომერი:" წაიკითხეთ (*, *) რიცხვები 1 1 = 1, 10 numSum = numSum + რიცხვები (i) 1 გააგრძელე წერა (*, *) "მათი ჯამი არის:" ჩაწერე (*, *) numSum ბოლო პროგრამის დამატება

Fortran დაამატეთ ნომრები კოდი test
Fortran დაამატეთ ნომრები კოდი test

ნაბიჯი 6. შეადგინეთ და გაუშვით თქვენი კოდი

არ დაგავიწყდეთ მისი გამოცდა. თქვენ შეგიძლიათ დააჭიროთ ↵ შეყვანას ყოველი რიცხვის შეყვანის შემდეგ, ან შეიყვანოთ მრავალი რიცხვი იმავე ხაზზე და გამოყოთ ისინი ინტერვალით.

მეოთხე ნაწილი 4: გაფართოებული კონცეფციების გაგება

პროგრამა ფორტრანში ნაბიჯი 13
პროგრამა ფორტრანში ნაბიჯი 13

ნაბიჯი 1. გქონდეთ კარგი წარმოდგენა იმის შესახებ, თუ რას გააკეთებს თქვენი პროგრამა

დაფიქრდით იმაზე, თუ რა სახის მონაცემები არის საჭირო შეყვანისთვის, როგორ უნდა მოხდეს სტრუქტურის გამომუშავება და შეიტანოთ შუალედური გამომავალი, ასე რომ თქვენ შეძლებთ თვალყური ადევნოთ თქვენი გამოთვლის მიმდინარეობას. ეს ძალიან სასარგებლო იქნება, თუ იცით, რომ თქვენი გაანგარიშება გაგრძელდება დიდი ხნის განმავლობაში ან მოიცავს მრავალ რთულ ნაბიჯს.

Fortran- ის საცნობარო ვებგვერდი screenshot
Fortran- ის საცნობარო ვებგვერდი screenshot

ნაბიჯი 2. იპოვეთ Fortran– ის კარგი მითითება

ფორტრანს გაცილებით მეტი ფუნქცია აქვს ვიდრე ამ სტატიაშია ახსნილი და ისინი შეიძლება სასარგებლო იყოს იმ პროგრამისთვის, რომლის დაწერაც გსურთ. მითითება ჩამოთვლის ყველა ფუნქციას, რომელსაც აქვს პროგრამირების ენა. ეს არის ერთი Fortran 77 და ეს არის ერთი Fortran 90/95.

ფორტრანის ქვეპროგრამები example
ფორტრანის ქვეპროგრამები example

ნაბიჯი 3. გაეცანით ქვეჯგუფებსა და ფუნქციებს

ფორტანის ფორმატის სიმებიანი მაგალითი
ფორტანის ფორმატის სიმებიანი მაგალითი

ნაბიჯი 4. ისწავლეთ როგორ წაიკითხოთ და დაწეროთ/ფაილებიდან

ასევე ისწავლეთ თქვენი შეყვანის/გამოყვანის ფორმატირება.

თანამედროვე ფორტრანის მაგალითი screenshot
თანამედროვე ფორტრანის მაგალითი screenshot

ნაბიჯი 5. შეიტყვეთ Fortran 90/95 და უფრო ახალი ფუნქციების შესახებ

გამოტოვეთ ეს ნაბიჯი, თუ იცით, რომ თქვენ მხოლოდ წერთ/ინახავთ Fortran 77 კოდს.

გახსოვდეთ, რომ Fortran 90 -მა შემოიღო "თავისუფალი ფორმის" წყაროს კოდი, რომელიც კოდის ჩაწერის საშუალებას იძლევა სივრცეების გარეშე და 72 სიმბოლოს შეზღუდვის გარეშე

Fortran წიგნი ონლაინ screenshot
Fortran წიგნი ონლაინ screenshot

ნაბიჯი 6. წაიკითხეთ ან მოძებნეთ რამდენიმე წიგნი სამეცნიერო პროგრამირების შესახებ

მაგალითად, წიგნი "რიცხვითი რეცეპტები ფორტრანში" არის როგორც კარგი ტექსტი სამეცნიერო პროგრამირების ალგორითმებზე, ასევე კარგი შესავალი იმისა, თუ როგორ უნდა შევადგინოთ კოდები. უახლესი გამოცემები მოიცავს თავებს, თუ როგორ უნდა მოხდეს პროგრამირება შერეულ ენაზე და პარალელური პროგრამირება. კიდევ ერთი მაგალითია "თანამედროვე ფორტრანი პრაქტიკაში" დაწერილი არჯენ მარკუსის მიერ. წიგნი იძლევა ინფორმაციას იმის შესახებ, თუ როგორ უნდა დაიწეროს ფორტრანის პროგრამები ოცდამეერთე საუკუნის სტილში, ფორტრანის უახლესი სტანდარტების შესაბამისად.

Fortran შეადგინეთ პროგრამა მრავალ ფაილში
Fortran შეადგინეთ პროგრამა მრავალ ფაილში

ნაბიჯი 7. ისწავლეთ პროგრამის შედგენა მრავალ ფაილში

დავუშვათ, რომ თქვენი Fortran პროგრამა გავრცელებულია main.f და morestuff.f ფაილებში და რომ თქვენ გინდათ შედეგად ორობითი სახელი დასახელდეს allstuff. შემდეგ თქვენ უნდა ჩაწეროთ შემდეგი ბრძანებები ბრძანების ხაზში:

f77 -c morestuff.f f77 -c main.f f77 -c morestuff.f f77 -o allstuff main.o morestuff.f

შემდეგ გაუშვით ფაილი აკრეფით./allstuff.

რჩევა: ეს იგივენაირად მუშაობს Fortran– ის უახლესი ვერსიებით. უბრალოდ შეცვალეთ.f სწორი გაფართოებით და f77 სწორი შემდგენლის ვერსიით.

ნაბიჯი 8. გამოიყენეთ ოპტიმიზაცია თქვენი შემდგენელი უზრუნველყოფს

შემდგენლების უმეტესობა მოიცავს ოპტიმიზაციის ალგორითმებს, რომლებიც აუმჯობესებენ თქვენი კოდის ეფექტურობას. ეს ჩვეულებრივ ჩართულია -O, -O2, ან -O3 დროშის ჩათვლით შედგენისას (ისევ დამოკიდებულია ფორტრანის თქვენს ვერსიაზე).

  • საერთოდ, ყველაზე დაბალი დონე –O ან –O2 დონე საუკეთესოა. იცოდეთ, რომ ოპტიმიზაციის უფრო აგრესიული ვარიანტის გამოყენებამ შეიძლება შეიტანოს შეცდომები რთულ კოდებში და შეიძლება შეანელოს კიდეც საქმეები! შეამოწმე შენი კოდი.

    Რჩევები

    • დაიწყეთ მცირე პროგრამებით. როდესაც თქვენ აკეთებთ საკუთარ კოდს, ეცადეთ დაადგინოთ პრობლემის ყველაზე მნიშვნელოვანი ნაწილი - ეს არის მონაცემების შეყვანა თუ ფუნქციების გამოძახება, მარყუჟის სტრუქტურა (ეს არის ძალიან ელემენტარული მაგალითები) და დაიწყეთ იქიდან. შემდეგ დაეყრდნო მას მცირე ზომებით.
    • ფორტრანი არ არის ასოებისადმი მგრძნობიარე. თქვენ შეგიძლიათ, მაგალითად, გამოაცხადოთ ცვლადი "რეალური რიცხვი" და ჩაწეროთ "რიცხვი = 1" მომდევნო სტრიქონში, რომ მიანიჭოთ მნიშვნელობა მას. მაგრამ ეს ცუდი სტილია, ასე რომ მოერიდე მას. რაც მთავარია, ფორტრანს არ აინტერესებს არც ფუნქციები და არც განცხადებები. საკმაოდ გავრცელებულია ფუნქციების და განცხადებების დაწერა დიდი და ცვლადების მცირე ასოებით.
    • EMACS არის კარგი უფასო ტექსტური რედაქტორი, რომელიც გამოიყენება Notepad– ის ნაცვლად.
    • შესაძლოა თავიდან გაგიადვილდეთ ონლაინ IDE (ინტეგრირებული განვითარების გარემოს) გამოყენება. კარგი ვარიანტია კოდირების საფუძველი. თქვენ ნახავთ უამრავ პროგრამირების ენას, მათ შორის Fortran-95. კიდევ ერთი ვარიანტია Ideone.

გირჩევთ: