Cara Program di Fortran (dengan Gambar)

Isi kandungan:

Cara Program di Fortran (dengan Gambar)
Cara Program di Fortran (dengan Gambar)

Video: Cara Program di Fortran (dengan Gambar)

Video: Cara Program di Fortran (dengan Gambar)
Video: Cara Scan Tanda Tangan Foto di Word 2024, April
Anonim

Ramai orang menganggap Fortran sebagai bahasa pengaturcaraan kuno dan "mati". Walau bagaimanapun, kebanyakan kod saintifik dan kejuruteraan ditulis di Fortran. Oleh itu, pengaturcaraan dalam F77 dan F90 tetap menjadi kemahiran yang diperlukan bagi kebanyakan pengaturcara teknikal. Lebih-lebih lagi, standard Fortran terbaru (2003, 2008, 2015) membolehkan pengaturcara menulis kod yang sangat cekap dengan usaha minimum, sambil menggunakan semua ciri bahasa moden, seperti OOP (pengaturcaraan berorientasikan objek). FORTRAN adalah singkatan dari "FORmula TRANslation", dan paling sesuai untuk aplikasi matematik dan numerik daripada aplikasi grafik atau pangkalan data. Sebilangan besar kod fortran mengambil input teks dari fail atau baris perintah dan bukannya dari menu atau antara muka GUI.

Langkah-langkah

Bahagian 1 dari 4: Menulis dan Menyusun Program Ringkas

Penulisan program Fortran hello world diperbetulkan
Penulisan program Fortran hello world diperbetulkan

Langkah 1. Tulis program "Hello World"

Ini biasanya merupakan program pertama yang ditulis dalam bahasa apa pun, dan hanya mencetak "Hello world" ke skrin. Tuliskan kod berikut di mana-mana editor teks dan simpan sebagai helloworld.f. Perhatikan bahawa mesti ada tepat 6 ruang di depan setiap baris.

program helloworld tidak ada watak tersirat * 13 hello_string hello_string = "Hello, world!" tulis (*, *) hello_string program akhir helloworld

Petua: Ruang hanya diperlukan dalam versi Fortran hingga FORTRAN 77. Sekiranya anda menggunakan versi yang lebih baru, anda boleh melepaskan spasi. Menyusun program dari versi yang lebih baru dengan f95, bukan f77; gunakan.f95 sebagai pelanjutan fail dan bukan hanya.f.

Langkah 2. Menyusun program

Untuk melakukan ini, ketik f77 helloworld.f ke dalam baris arahan. Sekiranya ini memberikan ralat, anda mungkin belum memasang pengkompil Fortran seperti gfortran.

Fortran hello world compile run
Fortran hello world compile run

Langkah 3. Jalankan program anda

Penyusun telah menghasilkan fail bernama a.out. Jalankan fail ini dengan menaip./a.out.

Langkah 4. Fahami apa yang baru anda tulis

  • program helloworld

    menunjukkan permulaan program "helloworld". Begitu juga,

    tamat program helloworld

  • menunjukkan kesudahannya.
  • Secara lalai, jika anda tidak menyatakan jenis pemboleh ubah, Fortran memperlakukan pemboleh ubah dengan nama yang dimulai dengan huruf dari i hingga n sebagai bilangan bulat, dan semua yang lain sebagai nombor nyata. Adalah disyorkan untuk digunakan

    tidak ada yang tersirat

  • jika anda tidak memerlukan tingkah laku itu.
  • watak * 13 hello_string

  • menyatakan pelbagai watak yang dipanggil hello_string.
  • hello_string = "Helo, dunia!"

  • memberikan nilai "Hello, world!" ke array yang diisytiharkan. Tidak seperti bahasa lain seperti C, ini tidak dapat dilakukan pada baris yang sama dengan menyatakan larik.
  • tulis (*, *) hello_string

  • mencetak nilai hello_string ke output standard. Yang pertama * bermaksud menulis ke output standard, berbanding dengan beberapa fail. Yang kedua * bermaksud tidak menggunakan pemformatan khas.
Komen Fortran
Komen Fortran

Langkah 5. Tambahkan komen

Ini tidak perlu dalam program yang sederhana, tetapi akan berguna apabila anda menulis sesuatu yang lebih kompleks, jadi anda harus tahu cara menambahkannya. Terdapat dua cara untuk menambah komen.

  • Untuk menambahkan komen yang mempunyai keseluruhan baris sendiri, tulis c langsung ke baris baru, tanpa 6 ruang. Selepas itu, tulis komen anda. Anda harus meninggalkan ruang antara c dan komen anda untuk pembacaan yang lebih baik, tetapi ini tidak diperlukan. Perhatikan bahawa anda mesti menggunakan! bukannya c di Fortran 95 dan lebih baru.
  • Untuk menambahkan komen dalam baris yang sama dengan kod, tambahkan a! di mana anda mahu komen anda bermula. Sekali lagi, ruang tidak diperlukan, tetapi meningkatkan kebolehbacaan.

Bahagian 2 dari 4: Menggunakan Input dan If-Construction

Jenis data Fortran
Jenis data Fortran

Langkah 1. Fahami pelbagai jenis data

  • INTEGER digunakan untuk nombor bulat, seperti 1, 3, atau -3.
  • REAL juga dapat berisi angka yang tidak utuh, seperti 2.5.
  • COMPLEX digunakan untuk menyimpan nombor kompleks. Nombor pertama adalah yang nyata dan yang kedua adalah bahagian khayalan.
  • KARAKTER digunakan untuk watak, seperti huruf atau tanda baca.
  • LOGIKAL boleh jadi sama ada.true. atau. salah.. Ini seperti jenis boolean dalam bahasa pengaturcaraan lain.

Langkah 2. Dapatkan input pengguna

Dalam program "Hello world" yang anda tulis sebelumnya, mendapatkan input pengguna tidak akan berguna. Oleh itu, buka fail baru dan beri nama compnum.f. Apabila anda selesai, ia akan memberitahu pengguna sama ada nombor yang mereka masukkan adalah positif, negatif atau sama dengan sifar.

  • Masukkan kompnum program baris dan akhir program.
  • Kemudian, nyatakan pemboleh ubah dari jenis REAL. Pastikan pengisytiharan anda berada di antara awal dan akhir program.
  • Terangkan pengguna apa yang sepatutnya mereka lakukan. Tulis beberapa teks dengan fungsi tulis.
  • Baca input pengguna ke pemboleh ubah yang anda nyatakan dengan fungsi baca.

program compnum real r write (*, *) "Masukkan nombor nyata:" baca (*, *) program akhir

Fortran sekiranya pembinaan
Fortran sekiranya pembinaan

Langkah 3. Proses input pengguna dengan pembinaan if

Letakkan di antara

baca (*, *) r

dan juga

program akhir

  • Perbandingan dilakukan dengan.gt. (lebih besar daripada),.lt. (kurang daripada) dan.eq. (sama dengan) di Fortran.
  • Fortran menyokong jika, jika tidak, dan lain-lain
  • Pembinaan if Fortran selalu berakhir dengan akhir sekiranya.

jika (r. gt. 0) kemudian tulis (*, *) "Nombor itu positif." jika tidak (r. lt. 0) kemudian tulis (*, *) "Nombor itu negatif." lain tulis (*, *) "Angka itu ialah 0." tamat sekiranya

Petua: Anda tidak perlu memasukkan kod di dalam if-konstruksi dengan lebih banyak ruang, tetapi meningkatkan kebolehbacaan.

Ujian program semakan nombor Fortran
Ujian program semakan nombor Fortran

Langkah 4. Susun dan jalankan program anda

Masukkan beberapa nombor untuk mengujinya. Sekiranya anda memasukkan surat, itu akan menimbulkan kesalahan, tetapi tidak mengapa kerana program ini tidak memeriksa sama ada inputnya adalah huruf, angka, atau yang lain.

Bahagian 3 dari 4: Menggunakan Gelung dan Susunan

Langkah 1. Buka fail baru

Oleh kerana konsep ini berbeza, anda harus menulis program baru lagi. Namakan fail addmany.f. Masukkan pernyataan program dan program akhir yang sesuai, serta tidak ada yang tersirat. Apabila anda selesai, program ini akan membaca 10 nombor dan mencetak jumlahnya.

Langkah 2. Menyatakan susunan panjang 10

Di sinilah anda akan menyimpan nombornya. Oleh kerana anda mungkin menginginkan sejumlah nombor nyata, anda harus menyatakan susunannya sebagai nyata. Anda menyatakan susunan sedemikian dengan

nombor nyata (50)

(angka adalah nama array, bukan ungkapan).

Langkah 3. Menyatakan beberapa pemboleh ubah

Menyatakan numSum sebagai nombor nyata. Anda akan menggunakannya untuk menyimpan jumlahnya kemudian, tetapi kerana jumlahnya sudah diambil oleh ungkapan Fortran, anda harus menggunakan nama seperti numSum. Tetapkan ke 0. Nyatakan i sebagai integer dan jangan berikan nilai apa pun. Itu akan dilakukan dalam gelung-do.

Langkah 4. Buat gelung do

Yang setara dengan bahasa pengaturcaraan lain akan menjadi gelung untuk.

  • Gelung do selalu dimulakan dengan do.
  • Pada garis yang sama seperti yang dilakukan, dipisahkan oleh spasi, terdapat label yang akan digunakan oleh program apabila selesai. Buat masa ini, tulis sahaja 1, anda akan menetapkan labelnya kemudian.
  • Selepas itu, sekali lagi hanya dipisahkan oleh ruang, taip

    i = 1, 10

    . Ini akan menjadikan pemboleh ubah i, yang telah anda nyatakan sebelum gelung, pergi dari 1 hingga 10 dalam langkah 1. Langkah-langkah tidak disebutkan dalam ungkapan ini, jadi Fortran menggunakan nilai lalai 1. Anda juga boleh menulis

    i = 1, 10, 1

  • Masukkan beberapa kod di dalam gelung (indent dengan ruang untuk lebih mudah dibaca). Untuk program ini, anda harus menambah pemboleh ubah numSum dengan elemen i-nombor nombor array. Ini dilakukan dengan ungkapan

    numSum = numSum + nombor (i)

  • Tamatkan gelung dengan pernyataan lanjutan yang mempunyai label. Taipkan 4 ruang sahaja. Selepas itu, taipkan 1. Itulah label yang anda suruh lakukan untuk melakukan loop selepas selesai. Kemudian, taipkan ruang dan teruskan. Ekspresi berterusan tidak memberi apa-apa, tetapi memberikan tempat yang baik untuk meletakkan label, dan juga menunjukkan bahawa gelung do-do berakhir.

Gelung kerja anda kini kelihatan seperti ini:

lakukan 1 i = 1, 10 numSum = numSum + nombor (i) 1 teruskan

Petua: Di Fortran 95 dan yang lebih baru, anda tidak perlu menggunakan label. Cukup jangan memasukkannya ke dalam pernyataan do dan akhiri gelung dengan "end do" dan bukannya "teruskan".

Fortran do loop code
Fortran do loop code

Langkah 5. Cetak numSum

Juga, masuk akal untuk memberikan beberapa konteks, misalnya "Jumlah nombor anda adalah:". Gunakan fungsi tulis untuk kedua-duanya. Seluruh kod anda kini kelihatan seperti berikut:

program menambah banyak yang tidak tersirat nombor nyata (10) bilangan bulat numSum nyata i numSum = 0 tulis (*, *) "Masukkan 10 nombor:" nombor baca (*, *) melakukan 1 i = 1, 10 numSum = numSum + nombor (i) 1 teruskan menulis (*, *) "Jumlah mereka adalah:" tulis (*, *) numSum akhir program tambahan

Fortran tambah ujian kod nombor
Fortran tambah ujian kod nombor

Langkah 6. Susun dan jalankan kod anda

Jangan lupa untuk mengujinya. Anda boleh menekan ↵ Enter selepas setiap nombor yang anda masukkan atau memasukkan banyak nombor pada baris yang sama dan memisahkannya dengan spasi.

Bahagian 4 dari 4: Memahami Konsep Lanjutan

Program di Fortran Langkah 13
Program di Fortran Langkah 13

Langkah 1. Mempunyai idea yang baik tentang apa yang akan dilakukan oleh program anda

Fikirkan apa jenis data yang diperlukan sebagai input, bagaimana struktur output, dan sertakan beberapa output pertengahan sehingga anda dapat memantau kemajuan pengiraan anda. Ini akan sangat berguna jika anda tahu pengiraan anda akan berjalan lama atau melibatkan pelbagai langkah rumit.

Tangkapan skrin laman web rujukan Fortran
Tangkapan skrin laman web rujukan Fortran

Langkah 2. Cari rujukan Fortran yang baik

Fortran mempunyai lebih banyak fungsi daripada yang dijelaskan dalam artikel ini, dan mungkin berguna untuk program yang ingin anda tulis. Rujukan menyenaraikan semua fungsi yang dimiliki oleh bahasa pengaturcaraan. Ini satu untuk Fortran 77 dan ini untuk Fortran 90/95.

Contoh subrutin Fortran
Contoh subrutin Fortran

Langkah 3. Ketahui mengenai subrutin dan fungsi

Contoh rentetan format Fortran
Contoh rentetan format Fortran

Langkah 4. Pelajari cara membaca dan menulis dari / ke fail

Pelajari juga cara memformat input / output anda.

Tangkapan skrin contoh fortran moden
Tangkapan skrin contoh fortran moden

Langkah 5. Ketahui mengenai ciri baru Fortran 90/95 dan yang lebih baru

Lewati langkah ini jika anda tahu bahawa anda hanya akan menulis / mengekalkan kod Fortran 77.

Ingat bahawa Fortran 90 memperkenalkan kod sumber "Free Form", yang membolehkan kod ditulis tanpa spasi dan tanpa had 72 aksara

Tempah tangkapan skrin dalam talian Fortran
Tempah tangkapan skrin dalam talian Fortran

Langkah 6. Baca atau cari beberapa buku mengenai Pengaturcaraan Ilmiah

Sebagai contoh, buku "Numerical Recipes in Fortran" adalah teks yang baik mengenai algoritma pengaturcaraan saintifik dan pengenalan yang baik tentang bagaimana menyusun kod. Edisi yang lebih baru merangkumi bab bagaimana memprogram dalam persekitaran bahasa campuran dan pengaturcaraan selari. Contoh lain ialah "Modern Fortran in Practice" yang ditulis oleh Arjen Markus. Buku ini memberi gambaran bagaimana menulis program Fortran dalam gaya abad ke-21 sesuai dengan standard Fortran terkini.

Program kompilasi Fortran merentasi pelbagai fail
Program kompilasi Fortran merentasi pelbagai fail

Langkah 7. Pelajari cara menyusun program yang tersebar di pelbagai fail

Mari kita anggap bahawa program Fortran anda tersebar di fail main.f dan morestuff.f, dan anda mahu binari yang dihasilkan dinamakan allstuff. Kemudian anda harus menulis arahan berikut ke dalam baris arahan:

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

Kemudian jalankan fail dengan menaip./allstuff.

Petua: Ini berfungsi sama dengan versi Fortran yang lebih baru. Cukup ganti.f dengan peluasan yang betul dan f77 dengan versi penyusun yang betul.

Langkah 8. Gunakan pengoptimuman yang disediakan penyusun anda

Sebilangan besar penyusun merangkumi algoritma pengoptimuman yang meningkatkan kecekapan kod anda. Ini biasanya dihidupkan dengan memasukkan bendera -O, -O2, atau -O3 ketika menyusun (sekali lagi bergantung pada versi fortran anda).

  • Secara amnya, tahap paling rendah -O atau -O2 adalah yang terbaik. Ketahuilah bahawa menggunakan pilihan pengoptimuman yang lebih agresif dapat memperkenalkan kesalahan dalam kod kompleks dan bahkan dapat memperlahankan keadaan! Uji kod anda.

    Petua

    • Mulakan dengan program kecil. Semasa anda membuat kod anda sendiri, cuba kenal pasti bahagian yang paling penting dari masalah ini - adakah input data atau panggilan fungsi, struktur gelung (ini adalah beberapa contoh yang sangat asas) dan mulakan dari sana. Kemudian bangunkannya dengan kenaikan kecil.
    • Fortran tidak peka dengan kes. Anda boleh, misalnya, menyatakan pemboleh ubah "Num nyata" dan menulis "num = 1" di baris seterusnya untuk memberikan nilai padanya. Tetapi itu gaya yang buruk, jadi elakkan. Lebih penting lagi, Fortran tidak peduli dengan fungsi dan pernyataannya. Adalah biasa untuk menulis fungsi dan pernyataan dalam UPPERCASE dan pemboleh ubah dalam huruf kecil.
    • EMACS adalah editor teks percuma yang baik untuk digunakan dan bukannya Notepad.
    • Anda mungkin lebih senang menggunakan IDE dalam talian (persekitaran pembangunan bersepadu) pada mulanya. Pilihan yang baik adalah Coding Ground. Anda akan menemui banyak bahasa pengaturcaraan di sana, termasuk Fortran-95. Pilihan lain ialah Ideone.

Disyorkan: