Cara Memprogram di Fortran (dengan Gambar)

Daftar Isi:

Cara Memprogram di Fortran (dengan Gambar)
Cara Memprogram di Fortran (dengan Gambar)

Video: Cara Memprogram di Fortran (dengan Gambar)

Video: Cara Memprogram di Fortran (dengan Gambar)
Video: CLIENT BAYAR MAHAL NIH! Cara Desain Custom LogoType di Adobe Illustrator 2024, April
Anonim

Banyak orang menganggap Fortran sebagai bahasa pemrograman kuno dan "mati". Namun, sebagian besar kode ilmiah dan teknik ditulis dalam Fortran. Dengan demikian, pemrograman di F77 dan F90 tetap menjadi keterampilan yang diperlukan untuk sebagian besar programmer teknis. Selain itu, standar Fortran terbaru (2003, 2008, 2015) memungkinkan pemrogram untuk menulis kode yang sangat efisien dengan upaya minimal, sambil memanfaatkan semua fitur bahasa modern, seperti OOP (pemrograman berorientasi objek). FORTRAN adalah akronim untuk "FORmula TRANslation", dan paling cocok untuk aplikasi matematika dan numerik daripada aplikasi grafik atau database. Sebagian besar kode fortran mengambil input teks dari file atau baris perintah daripada dari menu atau antarmuka GUI.

Langkah

Bagian 1 dari 4: Menulis dan Menyusun Program Sederhana

Fortran program hello world menulis dikoreksi
Fortran program hello world menulis dikoreksi

Langkah 1. Tulis program "Hello World"

Ini biasanya program pertama yang menulis dalam bahasa apa pun, dan hanya mencetak "Hello world" ke layar. Tulis kode berikut di editor teks apa saja dan simpan sebagai helloworld.f. Perhatikan bahwa harus ada tepat 6 spasi di depan setiap baris.

program helloworld implisit tidak ada karakter*13 hello_string hello_string = "Halo, dunia!" tulis (*, *) hello_string akhiri program helloworld

Tip: Spasi hanya diperlukan dalam versi Fortran hingga FORTRAN 77. Jika Anda menggunakan versi yang lebih baru, Anda dapat menghapus spasi. Kompilasi program dari versi yang lebih baru dengan f95, bukan f77; gunakan.f95 sebagai ekstensi file, bukan hanya.f.

Langkah 2. Kompilasi program

Untuk melakukannya, ketik f77 helloworld.f ke dalam baris perintah. Jika ini memberikan kesalahan, Anda mungkin belum menginstal kompiler Fortran seperti misalnya gfortran.

Fortran halo dunia kompilasi run
Fortran halo dunia kompilasi run

Langkah 3. Jalankan program Anda

Kompiler telah menghasilkan file bernama a.out. Jalankan file ini dengan mengetik./a.out.

Langkah 4. Pahami apa yang baru saja Anda tulis

  • program helloworld

    menunjukkan dimulainya program "helloworld". Demikian pula,

    akhiri program helloworld

  • menunjukkan ujungnya.
  • Secara default, jika Anda tidak mendeklarasikan tipe variabel, Fortran memperlakukan variabel dengan nama yang dimulai dengan huruf dari i hingga n sebagai bilangan bulat, dan yang lainnya sebagai bilangan real. Disarankan untuk menggunakan

    implisit tidak ada

  • jika Anda tidak membutuhkan perilaku itu.
  • karakter*13 hello_string

  • mendeklarasikan array karakter yang disebut hello_string.
  • hello_string = "Halo, dunia!"

  • memberikan nilai "Halo, dunia!" ke array yang dideklarasikan. Tidak seperti dalam bahasa lain seperti C, ini tidak dapat dilakukan pada baris yang sama dengan mendeklarasikan array.
  • tulis (*, *) hello_string

  • mencetak nilai hello_string ke output standar. Yang pertama * berarti menulis ke output standar, berbeda dengan beberapa file. Yang kedua * berarti tidak menggunakan format khusus apa pun.
Komentar Fortran
Komentar Fortran

Langkah 5. Tambahkan komentar

Ini tidak diperlukan dalam program yang begitu sederhana, tetapi akan berguna ketika Anda menulis sesuatu yang lebih kompleks, jadi Anda harus tahu cara menambahkannya. Ada dua cara untuk menambahkan komentar.

  • Untuk menambahkan komentar yang memiliki seluruh baris sendiri, tulis a c langsung ke baris baru, tanpa 6 spasi. Setelah itu, tulis komentar Anda. Anda harus meninggalkan spasi di antara c dan komentar Anda untuk keterbacaan yang lebih baik, tetapi ini tidak diperlukan. Perhatikan bahwa Anda harus menggunakan ! alih-alih a c di Fortran 95 dan yang lebih baru.
  • Untuk menambahkan komentar di baris yang sama dengan kode, tambahkan ! di mana Anda ingin komentar Anda dimulai. Sekali lagi, spasi tidak diperlukan, tetapi meningkatkan keterbacaan.

Bagian 2 dari 4: Menggunakan Input dan If-Constructions

Tipe data Fortran
Tipe data Fortran

Langkah 1. Pahami tipe data yang berbeda

  • INTEGER digunakan untuk bilangan bulat, seperti 1, 3, atau -3.
  • REAL juga dapat berisi angka yang tidak utuh, seperti 2,5.
  • COMPLEX digunakan untuk menyimpan bilangan kompleks. Bilangan pertama adalah bilangan real dan bilangan kedua adalah bagian imajiner.
  • CHARACTER digunakan untuk karakter, seperti huruf atau tanda baca.
  • LOGIS dapat berupa.true. atau.false.. Ini seperti tipe boolean dalam bahasa pemrograman lain.

Langkah 2. Dapatkan masukan pengguna

Dalam program "Hello world" yang Anda tulis sebelumnya, mendapatkan input pengguna akan sia-sia. Jadi buka file baru dan beri nama compnum.f. Setelah selesai, ia akan memberi tahu pengguna apakah angka yang mereka masukkan positif, negatif, atau sama dengan nol.

  • Masukkan baris program compnum dan akhiri program compnum.
  • Kemudian, mendeklarasikan variabel tipe REAL. Pastikan deklarasi Anda berada di antara awal dan akhir program.
  • Jelaskan kepada pengguna apa yang seharusnya mereka lakukan. Tulis beberapa teks dengan fungsi tulis.
  • Baca input pengguna ke dalam variabel yang Anda deklarasikan dengan fungsi read.

program compnum real r tulis (*, *) "Masukkan bilangan real:" baca (*, *) r akhir program

Fortran jika konstruksi
Fortran jika konstruksi

Langkah 3. Memproses input pengguna dengan konstruksi if

Letakkan di antara

baca (*, *) r

dan

akhiri program

  • Perbandingan dilakukan dengan.gt. (lebih besar dari),.lt. (kurang dari) dan.eq. (sama dengan) di Fortran.
  • Fortran mendukung if, else if, dan else
  • Konstruksi if Fortran selalu diakhiri dengan end if.

jika (r.gt. 0) maka tulis (*, *) "Angka itu positif." else if (r.lt. 0) maka tulis (*, *) "Angka itu negatif." else tulis (*, *) "Angka itu 0." berakhir jika

Tip: Anda tidak perlu membuat indentasi kode di dalam if-constructions dengan lebih banyak spasi, tetapi ini meningkatkan keterbacaan.

Tes program pemeriksaan nomor Fortran
Tes program pemeriksaan nomor Fortran

Langkah 4. Kompilasi dan jalankan program Anda

Masukkan beberapa angka untuk mengujinya. Jika Anda memasukkan huruf, itu akan memunculkan kesalahan, tetapi tidak apa-apa karena program tidak memeriksa apakah inputnya adalah huruf, angka, atau yang lainnya.

Bagian 3 dari 4: Menggunakan Loop dan Array

Langkah 1. Buka file baru

Karena konsep ini berbeda, Anda harus menulis program baru lagi. Beri nama file addmany.f. Masukkan pernyataan program dan akhir program yang sesuai, serta tidak ada yang implisit. Setelah selesai, program ini akan membaca 10 angka dan mencetak jumlahnya.

Langkah 2. Deklarasikan array dengan panjang 10

Di sinilah Anda akan menyimpan nomor. Karena Anda mungkin menginginkan jumlah bilangan real, Anda harus mendeklarasikan array sebagai real. Anda mendeklarasikan array seperti itu dengan

bilangan real(50)

(angka adalah nama array, bukan ekspresi).

Langkah 3. Deklarasikan beberapa variabel

Nyatakan numSum sebagai bilangan real. Anda akan menggunakannya untuk menyimpan jumlah nanti, tetapi karena jumlah sudah diambil oleh ekspresi Fortran, Anda harus menggunakan nama seperti numSum. Setel ke 0. Deklarasikan i sebagai bilangan bulat dan jangan berikan nilai apa pun. Itu akan dilakukan dalam do-loop.

Langkah 4. Buat do-loop

Setara dengan itu dalam bahasa pemrograman lain adalah for-loop.

  • Do-loop selalu dimulai dengan do.
  • Pada baris yang sama dengan do, dipisahkan oleh spasi, adalah label yang akan dituju oleh program setelah selesai. Untuk saat ini, cukup tulis 1, Anda akan mengatur labelnya nanti.
  • Setelah itu, lagi-lagi hanya dipisahkan oleh spasi, ketik

    saya = 1, 10

    . Ini akan membuat variabel i, yang telah Anda deklarasikan sebelum loop, beralih dari 1 ke 10 dalam langkah 1. Langkah-langkah tersebut tidak disebutkan dalam ekspresi ini, jadi Fortran menggunakan nilai default 1. Anda juga bisa menulis

    saya = 1, 10, 1

  • Letakkan beberapa kode di dalam loop (indentasi dengan spasi untuk keterbacaan yang lebih baik). Untuk program ini, Anda harus meningkatkan variabel numSum dengan elemen ke-i dari nomor array. Hal ini dilakukan dengan ekspresi

    numSum = numSum + nomor (i)

  • Akhiri loop dengan pernyataan continue yang memiliki label. Ketik hanya 4 spasi. Setelah itu, ketik a 1. Itu label yang Anda suruh do-loop untuk pergi setelah selesai. Kemudian, ketik spasi dan lanjutkan. Ekspresi continue tidak melakukan apa-apa, tetapi memberikan tempat yang bagus untuk menempatkan label, serta menunjukkan bahwa do-loop telah berakhir.

Loop do Anda sekarang akan terlihat seperti ini:

lakukan 1 i = 1, 10 numSum = numSum + angka(i) 1 lanjutkan

Tip: Di Fortran 95 dan yang lebih baru, Anda tidak perlu menggunakan label. Hanya saja, jangan memasukkannya ke dalam pernyataan do dan akhiri loop dengan "end do" alih-alih "lanjutkan".

Fortran do loop code
Fortran do loop code

Langkah 5. Cetak numSum

Juga, masuk akal untuk memberikan beberapa konteks, misalnya "Jumlah angka Anda adalah:". Gunakan fungsi tulis untuk keduanya. Seluruh kode Anda sekarang akan terlihat sebagai berikut:

program addmany implisit tidak ada bilangan real(10) bilangan realJumlah bilangan bulat i numSum = 0 tulis (*, *) "Masukkan 10 bilangan:" baca (*, *) bilangan lakukan 1 i = 1, 10 numSum = numSum + bilangan(i) 1 lanjutkan menulis (*, *) "Jumlahnya adalah:" tulis (*, *) numSum akhir program addmany

Fortran menambahkan tes kode angka
Fortran menambahkan tes kode angka

Langkah 6. Kompilasi dan jalankan kode Anda

Jangan lupa untuk mengujinya. Anda dapat menekan Enter setelah setiap nomor yang Anda masukkan atau memasukkan banyak nomor pada baris yang sama dan memisahkannya dengan spasi.

Bagian 4 dari 4: Memahami Konsep Tingkat Lanjut

Program di Fortran Langkah 13
Program di Fortran Langkah 13

Langkah 1. Miliki ide bagus tentang apa yang akan dilakukan program Anda

Pikirkan tentang jenis data apa yang diperlukan sebagai input, bagaimana menyusun output, dan sertakan beberapa output perantara sehingga Anda dapat memantau kemajuan perhitungan Anda. Ini akan sangat berguna jika Anda tahu perhitungan Anda akan berjalan lama atau melibatkan beberapa langkah rumit.

Tangkapan layar situs web referensi Fortran
Tangkapan layar situs web referensi Fortran

Langkah 2. Temukan referensi Fortran yang bagus

Fortran memiliki lebih banyak fungsi daripada yang dijelaskan dalam artikel ini, dan mungkin berguna untuk program yang ingin Anda tulis. Referensi mencantumkan semua fungsi yang dimiliki bahasa pemrograman. Ini adalah satu untuk Fortran 77 dan ini adalah satu untuk Fortran 90/95.

Contoh subrutin Fortran
Contoh subrutin Fortran

Langkah 3. Pelajari tentang subrutin dan fungsi

Contoh string format fortran
Contoh string format fortran

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

Pelajari juga cara memformat input/output Anda.

Tangkapan layar contoh fortran modern
Tangkapan layar contoh fortran modern

Langkah 5. Pelajari tentang fitur baru Fortran 90/95 dan yang lebih baru

Lewati langkah ini jika Anda tahu bahwa Anda hanya akan menulis/mempertahankan kode Fortran 77.

Ingatlah bahwa Fortran 90 memperkenalkan kode sumber "Formulir Bebas", yang memungkinkan kode ditulis tanpa spasi dan tanpa batas 72 karakter

Tangkapan layar online buku Fortran
Tangkapan layar online buku Fortran

Langkah 6. Baca atau cari beberapa buku tentang Pemrograman Ilmiah

Misalnya, buku "Resep Numerik di Fortran" adalah teks yang bagus tentang algoritma pemrograman ilmiah dan pengantar yang bagus tentang cara menyusun kode. Edisi yang lebih baru mencakup bab tentang cara memprogram dalam lingkungan bahasa campuran dan pemrograman paralel. Contoh lainnya adalah “Modern Fortran in Practice” yang ditulis oleh Arjen Markus. Buku ini memberikan wawasan tentang bagaimana menulis program Fortran dalam gaya abad kedua puluh satu sesuai dengan standar Fortran terbaru.

Program kompilasi Fortran di beberapa file
Program kompilasi Fortran di beberapa file

Langkah 7. Pelajari cara mengkompilasi program yang tersebar di banyak file

Mari kita asumsikan bahwa program Fortran Anda tersebar di file main.f dan morestuff.f, dan Anda ingin biner yang dihasilkan diberi nama allstuff. Maka Anda harus menulis perintah berikut ke dalam baris perintah:

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

Kemudian jalankan file tersebut dengan mengetikkan./allstuff.

Tip: Ini bekerja dengan cara yang sama dengan versi Fortran yang lebih baru. Ganti saja.f dengan ekstensi yang benar dan f77 dengan versi kompiler yang benar.

Langkah 8. Gunakan pengoptimalan yang disediakan oleh kompiler Anda

Sebagian besar kompiler menyertakan algoritme pengoptimalan yang meningkatkan efisiensi kode Anda. Ini biasanya diaktifkan dengan menyertakan flag -O, -O2, atau -O3 saat kompilasi (sekali lagi tergantung pada versi fortran Anda).

  • Umumnya, level terendah -O atau level -O2 adalah yang terbaik. Ketahuilah bahwa menggunakan opsi pengoptimalan yang lebih agresif dapat menyebabkan kesalahan dalam kode yang kompleks dan bahkan dapat memperlambat segalanya! Uji kode Anda.

    Tips

    • Mulailah dengan program kecil. Ketika Anda membuat kode Anda sendiri, cobalah untuk mengidentifikasi bagian paling penting dari masalah - apakah itu input data atau pemanggilan fungsi, struktur loop (ini adalah beberapa contoh yang sangat mendasar) dan mulai dari sana. Kemudian kembangkan itu secara bertahap.
    • Fortran tidak peka huruf besar-kecil. Anda dapat, misalnya, mendeklarasikan variabel "Num asli" dan menulis "num = 1" di baris berikutnya untuk memberikan nilai padanya. Tapi itu gaya yang buruk, jadi hindarilah. Lebih penting lagi, Fortran juga tidak peduli dengan kasus fungsi dan pernyataan. Sangat umum untuk menulis fungsi dan pernyataan dalam UPPERCASE dan variabel dalam huruf kecil.
    • EMACS adalah editor teks gratis yang bagus untuk digunakan sebagai pengganti Notepad.
    • Anda mungkin merasa lebih mudah menggunakan IDE online (lingkungan pengembangan terintegrasi) pada awalnya. Pilihan yang bagus adalah Coding Ground. Anda akan menemukan banyak bahasa pemrograman di sana, termasuk Fortran-95. Pilihan lainnya adalah Ideone.

Direkomendasikan: