Perbedaan antara algoritma dan program

Gagasan tentang program rata-rata pengguna sangat terbatas dan didasarkan pada pengalaman meluncurkan dan bekerja dalam aplikasi. Kita tahu bahwa ada programmer yang menulis program, dan bisnis kita adalah mengambil keuntungan dari hasil pekerjaan mereka. Orang-orang yang lulus dari sekolah dahulu kala mengingat algoritma dalam konteks teori aljabar, samar-samar membayangkan bahwa pengetahuan ini tentu tidak berguna. Dan jika Anda harus berurusan dengan persimpangan konsep-konsep ini - kebanyakan dari kita hilang tanpa menemukan koneksi antara algoritma dan program, dan, karenanya, tanpa memahami tugas. Terkadang konsep-konsep ini digabungkan, percaya bahwa "algoritma" adalah penunjukan "program" yang lebih profesional dan akurat. Untuk mengisi kekosongan dalam tampilan, mari kita lihat apa yang masih ada di balik terminologi.

Definisi

Algoritma - instruksi, termasuk prosedur tertentu yang jelas untuk tindakan yang dilakukan untuk menyelesaikan tugas. Jumlah tindakan selalu terbatas..

Programnya (komputer, pertama-tama) - merekam urutan instruksi yang dijalankan oleh komputer.

Perbandingan

Apa perbedaan antara suatu algoritma dan program sudah jelas dari terminologi. Tampaknya dalam kedua kasus tersebut kami melihat tindakan yang diperintahkan mengarah ke hasil akhir. Seperti yang jelas dari definisi, suatu program dapat terdiri dari beberapa algoritma, tetapi hierarki "umum - khusus" tidak dilacak di sini. Algoritma umumnya adalah instruksi yang mencantumkan tindakan dengan jelas. Misalnya, untuk merakit kabinet. Tentu saja, itu bukan program. Algoritme dapat ada dalam bentuk apa pun: dapat diingat, ditulis dalam buku catatan, dibuat sketsa dalam bentuk diagram, ditentukan, karena didasarkan pada komponen logis, bukan komponen formal. Program ini adalah konsep formal. Ini adalah catatan dari serangkaian algoritma, apalagi, catatan dalam salah satu bahasa pemrograman yang dipahami oleh komputer. Ini tidak hanya komputer yang kita kenal, tetapi juga unit kontrol perangkat apa pun. Dengan demikian, suatu algoritma dapat didefinisikan sebagai metode atau skema implementasi ide, program sebagai implementasinya dengan cara tertentu.

Perbedaan lain antara program dan algoritma adalah penanganan data tertentu selama eksekusi. Jika algoritme hanya merupakan deskripsi tindakan yang diperlukan untuk mencapai tujuan, maka program juga berisi deskripsi data. Algoritme dapat bersifat masif, yaitu, dimaksudkan untuk menyelesaikan tidak satu masalah, tetapi satu kelas tugas. Pada saat yang sama, diskresi dan kepastian juga dikaitkan dengan propertinya. Algoritme menyiratkan kinerja tindakan elementer pada objek-objek elementer, namun, untuk pemain yang berbeda, elemen akan berbeda.

Konsep suatu algoritma jauh lebih luas daripada program: konsep dasar matematika. Program komputer adalah objek hukum kekayaan intelektual, tetapi algoritme tidak berlaku untuk itu.

Kesimpulan

  1. Algoritma - instruksi, program - merekam urutan instruksi.
  2. Algoritme dapat direpresentasikan dalam bentuk apa pun, program dalam bahasa pemrograman.
  3. Program ini mencakup deskripsi data dan tindakan, algoritma - satunya tindakan.
  4. Algoritme dapat dirancang untuk memecahkan suatu kelas masalah.
  5. Algoritma adalah konsep dasar matematika.
  6. Program ini tunduk pada hak cipta.