Instrumental dengan contoh. Alat sistem pemrograman. Inti dari VisualBasic dan sejarah singkatnya

Bahkan dengan ratusan ribu program PC tersedia, pengguna mungkin memerlukan sesuatu yang tidak (atau dilakukan, tetapi tidak) dilakukan oleh program yang ada. Dalam kasus ini, perangkat lunak alat digunakan untuk membuat program baru, memungkinkan pengembangan perangkat lunak sistem dan aplikasi. Akibatnya, ia memainkan peran sarana produksi dalam pemrograman.

Sistem pemrograman- ini adalah kompleks program dan alat lain yang ditujukan untuk pengembangan dan pengoperasian program dalam bahasa pemrograman tertentu untuk arsitektur (platform) PC tertentu.

Sistem pemrograman biasanya mencakup editor teks program, Penerjemah program, perpustakaan rutinitas dan editor tautan, debugger, sistem bantuan, dan terkadang berbagai program tambahan.

Bahasa pemrograman adalah bahasa buatan dengan bantuan algoritme untuk memecahkan masalah yang ditulis dalam bentuk yang dapat dimengerti oleh PC.

Ada banyak bahasa pemrograman, dan masing-masing dapat memiliki puluhan versi. Setiap programmer menulis program dalam bahasa yang nyaman baginya, dan tidak ada bahasa pemrograman yang dianggap diterima secara umum.

Tetapi semua bahasa pemrograman memiliki satu kesamaan. Mereka dapat dimengerti oleh pemrogram, tetapi tidak dapat dipahami oleh prosesor, karena prosesor hanya dapat bekerja dengan bilangan biner dan oleh karena itu memahami program yang ditulis hanya dalam kode mesin. Oleh karena itu, program yang ditulis dalam bahasa pemrograman apa pun pertama-tama "diterjemahkan" ke dalam bahasa prosesor, mis. diubah menjadi kode mesin. Terjemahan ini dilakukan oleh program terjemahan khusus. Dalam bahasa Inggris, "terjemahan" disebut siaran (terjemahan), sehingga program yang menerjemahkan program menjadi kode mesin disebut penerjemah.

Di panggung siaran ada transformasi Kode sumber program di Kode objek, yang diproses lebih lanjut editor tautan. Editor tautan adalah program khusus yang menyediakan pembuatan modul boot, cocok untuk eksekusi (Gbr. 6.2).

Beras. 6.2. Skema proses pembuatan modul beban program

Ada beberapa jenis penerjemah berikut: juru bahasa, kompiler.

Penerjemah mengambil operator bahasa berikutnya dari teks program, menganalisis strukturnya dan segera menjalankannya. Kemudian pindah ke operator berikutnya. Penyusun menerjemahkan seluruh program ke dalam instruksi mesin.

Dari bahasa pemrograman universal saat ini, berikut ini yang paling populer: BASIC (Basic), Pascal (Pascal), C ++ (C ++), Java (Java).

Untuk masing-masing bahasa pemrograman tersebut, saat ini sudah banyak sistem pemrograman yang diproduksi oleh berbagai perusahaan dan difokuskan pada berbagai model PC dan sistem operasi. Lingkungan visual berikut untuk desain program cepat untuk Windows adalah yang paling populer: Microsoft Visual Basic; Borland Delphi; Pembuat C++ Borland Microsoft Visual Studio (Visual Basic.net, C++, C#, J#).

Sistem pemrograman modern memungkinkan Anda membuat program yang dipanggil saat melihat halaman Web di jaringan elektronik global Internet.

Kelas khusus dari sistem pemrograman adalah sistem untuk membuat aplikasi client-server. Sistem ini memungkinkan Anda membuat sistem informasi dengan cepat untuk departemen dan bahkan perusahaan besar. Mereka berisi alat untuk membuat antarmuka pengguna, deskripsi prosedur pemrosesan data, persiapan untuk melakukan tindakan pemrosesan data biasa, dll. Sistem ini, sebagai aturan, memungkinkan Anda untuk bekerja dengan berbagai DBMS - Oracle, Sybase, Microsoft SQL Server, dll. Di antara sistem yang paling populer dari jenis ini adalah PowerBuilder dari Sybase, Delphi dari Borland, Visual Basic dari Microsoft. Tentu saja, alat untuk membuat aplikasi client-server juga termasuk dalam DBMS client-server (Oracle, Sybase, dll.), Tetapi hanya difokuskan pada DBMS ini.

abstrak

PERANGKAT LUNAK - seperangkat program sistem pemrosesan informasi dan dokumen kebijakan diperlukan untuk pengoperasian program-program ini (GOST 19781-90). Juga - seperangkat program, prosedur dan aturan, serta dokumentasi yang terkait dengan pengoperasian sistem pemrosesan data (ST ISO 2382/1-84).

PERANGKAT LUNAK INSTRUMENTAL - perangkat lunak yang dimaksudkan untuk digunakan dalam desain, pengembangan, dan pemeliharaan program. Biasanya istilah ini digunakan untuk menekankan perbedaan antara kelas perangkat lunak ini dan perangkat lunak aplikasi dan sistem.

COMPILER adalah kompiler yang mengubah program yang ditulis dalam bahasa sumber menjadi modul objek.

INTERPRETATOR - sebuah program (terkadang perangkat keras), yang menganalisis perintah atau pernyataan program dan segera mengeksekusinya.

SISTEM OPERASI - sekumpulan program kontrol dan pemrosesan yang, di satu sisi, bertindak sebagai antarmuka antara perangkat sistem komputasi dan program aplikasi, dan di sisi lain, dirancang untuk mengontrol perangkat, mengelola proses komputasi, mendistribusikan sumber daya komputasi secara efektif antara proses komputasi dan mengatur komputasi yang andal. .

PROGRAM TERAPKAN - program yang dirancang untuk melakukan tugas pengguna tertentu dan dirancang untuk interaksi langsung dengan pengguna.

VISUALBASIC adalah alat pengembangan perangkat lunak yang dikembangkan oleh Microsoft dan mencakup bahasa pemrograman dan lingkungan pengembangan.

VISUALBASICFORAPLICATION - implementasi bahasa pemrograman Visual Basic yang sedikit disederhanakan yang dibangun ke dalam lini produk kantor Microsoft(termasuk versi Mac OS) serta banyak paket perangkat lunak lain seperti AutoCAD, SolidWorks, CorelDRAW, WordPerfect, dan ESRI ArcGIS.

Tujuan dari pekerjaan ini adalah untuk mempelajari jenis dan fungsi perangkat lunak, khususnya instrumental.

Klasifikasi perangkat lunak:

Jenis perangkat lunak alat:

1) Editor teks

4) Kompiler

5) Penerjemah

6) Penghubung

8) Assembler

9) Debugger

10) Profiler

11) Pembuat Dokumen

Untuk membuat program dalam bahasa pemrograman yang dipilih, Anda harus memiliki komponen berikut:

2. Penyusun atau juru bahasa. Teks sumber diterjemahkan ke dalam kode objek perantara menggunakan program kompiler.

Hasil pekerjaan: Perangkat lunak, fungsi dan jenisnya, khususnya perangkat lunak instrumental, esensinya, tugasnya dipertimbangkan. Bab ketiga membahas Microsoft Visual Basic sebagai alat pengembangan perangkat lunak dan dialeknya - Microsoft Visual Basic for Application. PADA makalah algoritma untuk memecahkan masalah keuangan dan ekonomi diimplementasikan menggunakan bahasa pemrograman Pascal.

pengantar

PADA dunia modern lebih dari satu orang yang telah mencoba manfaat peradaban tidak dapat membayangkan hidupnya tanpa menggunakan teknologi komputer. Penggunaannya terjadi di setiap bidang aktivitas manusia: produksi, perdagangan, pendidikan, hiburan dan komunikasi orang, aktivitas ilmiah dan budaya mereka. Semua ini karena kemungkinan memilih peralatan komputer untuk menyelesaikan tugas apa pun, bahkan tugas yang paling rumit sekalipun.

Namun, universalitas dan spesialisasi teknologi komputer dipastikan dengan penggunaan hampir semua komputer dari rangkaian perangkat lunak berbeda yang menyediakan solusi untuk tugas apa pun.

Kita semua melihat berbagai macam program komputer dan kecepatan pertumbuhan dan peningkatannya yang mengejutkan, dan hanya sebagian kecil dari kita yang mewakili sisi tak terlihat dalam desain, pengembangan, dan kreasi mereka. Namun, bidang teknologi komputer ini menurut kami yang paling penting, karena masa depan teknologi komputer akan bergantung pada perkembangannya.

Dan karena pengembangan program komputer apa pun dilakukan menggunakan perangkat lunak Alat, dalam makalah kami saya ingin membahasnya secara mendetail, menyorotinya dari semua perangkat lunak dan mengungkapkan esensi dan fiturnya.

Untuk kejelasan, kami akan mempertimbangkan perangkat lunak alat (objek studi) menggunakan contoh paket perangkat lunak VisualBasicforApplication (subjek studi) yang digunakan untuk pemrograman di lingkungan Microsoft Office, office suite yang paling umum dan populer.

1. Perangkat Lunak

1.1 Konsep dan esensi perangkat lunak

Software (SW) merupakan bagian yang tidak terpisahkan sistem komputer. Ini adalah kelanjutan logis dari sarana teknis komputer mana pun. Ruang lingkup komputer tertentu ditentukan oleh perangkat lunak yang dibuat untuknya. Komputer itu sendiri tidak memiliki pengetahuan di bidang aplikasi apa pun. Semua pengetahuan ini terkonsentrasi pada program yang dijalankan pada komputer yang memiliki serangkaian fungsi khusus dan dirancang untuk melakukan fungsi khusus, dalam banyak kasus, fungsi yang sangat terspesialisasi, seperti membuat dan memproses gambar grafis atau file suara.

Perangkat lunak saat ini terdiri dari ratusan ribu program yang dirancang untuk memproses berbagai macam informasi untuk berbagai keperluan.

Perangkat Lunak (SW) juga mencakup seluruh area aktivitas dalam desain dan pengembangan perangkat lunak:

1) teknologi desain perangkat lunak (misalnya, desain top-down, desain struktural dan berorientasi objek);

2) metode untuk menguji program;

3) metode untuk membuktikan kebenaran program;

4) analisis kualitas program;

5) dokumentasi program;

6) pengembangan dan penggunaan perangkat lunak yang memfasilitasi proses desain perangkat lunak, dan banyak lagi.

Ada banyak definisi yang berbeda dari perangkat lunak. Secara umum, perangkat lunak adalah sekumpulan program sistem pemrosesan informasi dan dokumen program yang diperlukan untuk pengoperasian program tersebut (GOST 19781-90). Juga - seperangkat program, prosedur dan aturan, serta dokumentasi yang terkait dengan pengoperasian sistem pemrosesan data (ST ISO 2382/1-84).

Perangkat lunak adalah salah satu jenis dukungan sistem komputer, bersama dengan dukungan teknis (perangkat keras), matematika, informasi, linguistik, organisasi, dan metodologi.

Bahasa gaul komputer sering menggunakan kata perangkat lunak dari bahasa Inggris perangkat lunak, yang pertama kali digunakan dalam pengertian ini dalam sebuah artikel di American Mathematical Monthly oleh ahli matematika Universitas Princeton John W. Tukey pada tahun 1958.

Definisi lain:

1) PERANGKAT LUNAK adalah seperangkat program yang memungkinkan pemrosesan informasi secara otomatis di komputer.

2) PERANGKAT LUNAK (perangkat lunak komputer elektronik), sekumpulan program dari sistem pengolah data dan dokumen program yang diperlukan untuk implementasi program pada komputer elektronik.

3) PERANGKAT LUNAK - seperangkat program untuk mengelola proses operasi komputer, otomatisasi pemrograman.

4) PERANGKAT LUNAK - sekumpulan program komputer yang menyediakan pemrosesan atau transmisi data.

Semua definisi serupa dan mencerminkan esensi perangkat lunak - organisasi interaksi bagian perangkat keras (teknis), dalam bentuk berbagai node bawaan dan perangkat periferal, kontrol dan koordinasi mereka dari keseluruhan interaksi sistem komputer satu sama lain dan dengan pengguna.

1.2 Fitur Perangkat Lunak

Konsep perangkat lunak di atas menentukan fungsi yang dilakukan oleh perangkat lunak dalam proses berfungsinya peralatan komputer. Daftar fungsi-fungsi ini sangat beragam, tetapi secara kondisional dapat dibagi menjadi lima jenis berikut:

1. Perangkat keras-mekanik. Mereka menghubungkan berbagai komponen komputer, memastikan transmisi sinyal perangkat keras dari satu komponen ke komponen lainnya.

2. Mesin-Logika. Satu set pulsa perangkat keras elektromagnetik diproses dan diinterpretasikan menjadi kode program yang sadar secara logis dengan struktur dan properti tertentu.

3. Informasi dan perintah. Mereka memeriksa kepatuhan kode program dengan prinsip-prinsip sistem dan membuat struktur logis informasi dan mengimplementasikannya.

4. Antarmuka. Mereka menyediakan pemrosesan dan interpretasi kode program ke dalam format tampilan yang dapat diakses oleh pengguna. Menciptakan lingkungan yang menguntungkan untuk interaksi "Manusia-Komputer, Manusia-Komputer".

5. Terapan. Melakukan tindakan matematis, logis, fisik, dan lainnya dengan sekumpulan data yang tersedia, dengan kata lain, memproses informasi yang tersedia untuk menyelesaikan masalah tertentu.

Daftar ini jauh dari lengkap, yang menunjukkan keragaman dan ambiguitas fungsi yang dilakukan oleh perangkat lunak.

1.3 Jenis perangkat lunak

Bergantung pada fungsi yang disediakan oleh komponen komputer tertentu, perangkat lunak khusus untuknya perlu dibuat sendiri, yang merupakan motif mendasar untuk membuat perangkat lunak dari berbagai jenis yang ditunjukkan pada (Gbr. 1):

a) Program aplikasi yang secara langsung memberikan kinerja pekerjaan yang dibutuhkan pengguna;

b) program sistem, dirancang untuk mengontrol pengoperasian sistem komputasi, melakukan berbagai fungsi tambahan, misalnya:

1) manajemen sumber daya komputer;

2) pembuatan salinan informasi yang digunakan;

3) memeriksa pengoperasian perangkat komputer;

4) penerbitan informasi referensi tentang komputer, dll.;

c) alat sistem perangkat lunak yang memfasilitasi proses pembuatan program baru untuk komputer.

Perangkat lunak sistem memastikan fungsi dan pemeliharaan komputer, serta mengotomatiskan proses pembuatan program baru. Perangkat lunak sistem meliputi: sistem operasi dan antarmuka penggunanya; instrumental perangkat lunak; sistem pemeliharaan.

Sistem operasi adalah bagian wajib dari perangkat lunak khusus yang memastikan fungsi yang efisien komputer pribadi dalam berbagai mode, mengatur pelaksanaan program dan interaksi pengguna dan perangkat eksternal dengan komputer.

Antarmuka pengguna (program layanan) adalah tambahan perangkat lunak dari sistem operasi (cangkang dan lingkungan) yang dirancang untuk menyederhanakan komunikasi pengguna dengan sistem operasi.

Program yang menyediakan antarmuka mempertahankan bentuk komunikasi (dialog) antara pengguna dan sistem operasi, tetapi mengubah bahasa komunikasi (biasanya bahasa perintah diubah menjadi bahasa menu). Sistem layanan dapat dibagi secara kondisional menjadi sistem antarmuka, cangkang sistem operasi dan utilitas.

Sistem antarmuka adalah sistem layanan yang kuat, paling sering dalam bentuk grafis, yang tidak hanya meningkatkan antarmuka pengguna, tetapi juga antarmuka program sistem operasi, khususnya, dengan menerapkan beberapa prosedur tambahan untuk membagi sumber daya tambahan.

Cangkang sistem operasi memberi pengguna antarmuka yang secara kualitatif baru dibandingkan dengan yang diterapkan oleh sistem operasi dan menjadikan pengetahuan tentang yang terakhir opsional.

Utilitas mengotomatiskan pelaksanaan prosedur khas tertentu yang sering digunakan, yang implementasinya mengharuskan pengguna untuk mengembangkan program khusus. Banyak utilitas memiliki antarmuka interaktif yang dikembangkan dengan pengguna dan dekat dalam hal komunikasi dengan shell.

Alat perangkat lunak (sistem pemrograman) - bagian wajib dari perangkat lunak, dengan penggunaan program yang dibuat. Perangkat lunak alat mencakup alat untuk menulis program (editor teks); alat untuk mengubah program menjadi bentuk yang sesuai untuk dieksekusi di komputer (assembler, kompiler, juru bahasa, pemuat dan penghubung), alat untuk memantau dan men-debug program.

Editor teks memungkinkan Anda mengedit, membentuk, dan menggabungkan teks program dengan mudah, dan beberapa - dan mengontrol sintaks dari program yang dibuat.

Program yang ditulis dalam bahasa algoritmik harus diubah menjadi modul objek yang ditulis dalam bahasa mesin (dalam kode biner). Transformasi semacam itu dilakukan oleh penerjemah (assembler - dari bahasa Assembler dan kompiler - dari bahasa tingkat tinggi). Untuk beberapa bahasa algoritmik, juru bahasa digunakan yang tidak membuat modul objek, tetapi pada setiap eksekusi program berikutnya, menerjemahkan setiap baris atau pernyataan individualnya ke dalam bahasa mesin. Modul objek diproses oleh loader - linker, yang mengubahnya menjadi program mesin yang dapat dieksekusi.

Alat debugging memungkinkan Anda untuk melacak program (eksekusi langkah demi langkah dengan mengeluarkan informasi tentang hasil eksekusi), memeriksa sintaks program dan hasil antara pada breakpoint, dan mengubah nilai variabel pada titik-titik ini.

Teknis dan layanan purna jual adalah alat perangkat lunak untuk memantau, mendiagnosis, dan memulihkan kesehatan komputer, disk, dll.

Perangkat lunak aplikasi memberikan solusi untuk tugas-tugas pengguna. Konsep utama di sini adalah paket perangkat lunak aplikasi.

Paket perangkat lunak aplikasi adalah seperangkat program untuk memecahkan berbagai masalah pada topik atau subjek tertentu. Ada beberapa jenis paket aplikasi berikut:

1) tujuan umum- berfokus pada mengotomatisasi berbagai tugas pengguna (pengolah kata, editor spreadsheet, sistem manajemen basis data, pengolah grafis, sistem penerbitan, sistem otomasi desain, dll.);

2) berorientasi pada metode - penerapan berbagai metode ekonomi dan matematika untuk memecahkan masalah (pemrograman matematika, perencanaan dan manajemen jaringan, teori antrian, statistik matematika, dll.);

3) berorientasi pada masalah - ditujukan untuk menyelesaikan tugas (masalah) tertentu di bidang subjek tertentu (paket perbankan, paket akuntansi, manajemen keuangan, sistem referensi hukum, dll.).

Perangkat lunak aplikasi mencakup alat perangkat lunak layanan yang berfungsi untuk mengatur lingkungan kerja yang nyaman bagi pengguna, serta untuk melakukan fungsi tambahan (manajer informasi, penerjemah, dll.).

Saat membuat klasifikasi perangkat lunak, seseorang harus mempertimbangkan fakta bahwa pesatnya perkembangan teknologi komputer dan perluasan cakupan aplikasi komputer telah mempercepat proses evolusi perangkat lunak secara tajam. Jika sebelumnya mudah untuk membuat daftar kategori utama perangkat lunak - sistem operasi, penerjemah, paket perangkat lunak aplikasi, sekarang situasinya telah berubah secara radikal. Pengembangan perangkat lunak telah berjalan baik secara mendalam (pendekatan baru untuk membangun sistem operasi, bahasa pemrograman, dll.) Dan luasnya (program aplikasi tidak lagi diterapkan dan memperoleh nilai independen). Keseimbangan antara produk perangkat lunak yang dibutuhkan dan yang tersedia di pasar berubah dengan cepat. Bahkan produk perangkat lunak klasik, seperti sistem operasi, terus berkembang dan diberkahi dengan fungsi intelektual, yang banyak di antaranya sebelumnya hanya dimiliki oleh kemampuan intelektual manusia.

2. Perangkat lunak alat

2.1 Esensi dan konsep perangkat lunak instrumental

Perangkat lunak alat (IPO) - perangkat lunak yang dimaksudkan untuk digunakan dalam desain, pengembangan, dan pemeliharaan program.

Perkakas yang diterapkan dalam fase pengembangan. Perangkat lunak perangkat lunak adalah seperangkat program yang digunakan untuk membantu pemrogram dalam pekerjaan mereka, untuk membantu manajer pengembangan perangkat lunak dalam keinginan mereka untuk mengontrol proses pengembangan dan produk yang dihasilkan. Perwakilan paling terkenal dari perangkat lunak ini adalah program penerjemah dari bahasa pemrograman yang membantu pemrogram menulis instruksi mesin. Program alat tersebut adalah penerjemah dari Fortran, Cobol, Jovial, BASIC, APL dan Pascal. Mereka memfasilitasi proses pembuatan program kerja baru. Namun, penerjemah bahasa hanyalah bagian yang paling terkenal dari program alat; ada banyak sekali dari mereka.

Penggunaan komputer untuk membantu membuat program baru jauh dari jelas bagi orang yang bukan pemrogram profesional. Sering terjadi bahwa para profesional berbicara tentang perangkat lunak alat (fase pengembangan) dan sistem (fase penggunaan) dalam satu tarikan napas, dengan asumsi bahwa mereka yang belum tahu rahasia keahlian mereka menyadari peran perangkat lunak alat ini. Seperti halnya pada tahap penggunaan (untuk program aplikasi), perangkat lunak sistem juga bekerja pada tahap pengembangan, tetapi hanya dalam hubungannya dengan perangkat lunak alat. Perangkat lunak atau sistem pemrograman adalah sistem untuk mengotomatiskan pengembangan program baru dalam bahasa pemrograman.

Dalam kasus yang paling umum, untuk membuat program dalam bahasa pemrograman yang dipilih (bahasa pemrograman sistem), Anda harus memiliki komponen berikut:

1. Editor teks untuk membuat file dengan kode sumber program.

2. Penyusun atau juru bahasa. Teks sumber diterjemahkan ke dalam kode objek perantara menggunakan program kompiler. Teks sumber dari sebuah program besar terdiri dari beberapa modul (file dengan teks sumber). Setiap modul dikompilasi menjadi file terpisah dengan kode objek, yang kemudian harus digabungkan menjadi satu kesatuan.

3. Linker atau assembler yang menautkan modul objek dan menghasilkan aplikasi yang dapat diterapkan - kode yang dapat dieksekusi.

Kode yang dapat dieksekusi adalah program lengkap yang dapat dijalankan di komputer mana pun yang memiliki sistem operasi tempat program dibuat. Sebagai aturan, file yang dihasilkan memiliki ekstensi .EXE atau .COM.

Baru-baru ini, metode pemrograman visual (menggunakan bahasa scripting) telah menyebar luas, berfokus pada pembuatan aplikasi Windows. Proses ini otomatis dalam lingkungan desain yang cepat. Dalam hal ini, komponen visual siap pakai digunakan, yang dikonfigurasi menggunakan editor khusus.

Editor paling populer (sistem pemrograman menggunakan alat visual) untuk desain visual:

1) Borland Delphi - dirancang untuk menyelesaikan hampir semua masalah pemrograman aplikasi.

2) Borland C++ Builder adalah alat yang sangat baik untuk mengembangkan aplikasi DOS dan Windows.

3) Microsoft Visual Basic adalah alat populer untuk membuat program Windows.

4) Microsoft Visual C ++ - alat ini memungkinkan Anda mengembangkan aplikasi apa pun yang berjalan di lingkungan OS seperti Microsoft Windows

Jadi, inti dari perangkat lunak instrumental adalah membuat program apa pun yang dapat dieksekusi dengan mengubah ekspresi logika formal menjadi kode mesin yang dapat dieksekusi, serta kontrol dan koreksinya.

2.2 Tugas dan fungsi perangkat lunak alat

Perangkat lunak alat, sebagai jenis perangkat lunak khusus, dicirikan oleh umum dan khusus

fungsi, seperti untuk semua perangkat lunak pada umumnya. Fungsi umum dianggap oleh kami di atas, dan fungsi khusus hanya melekat tipe ini program adalah:

1. Pembuatan teks dari program yang dikembangkan menggunakan kata-kata kode (bahasa pemrograman) yang ditetapkan secara khusus, serta sekumpulan karakter tertentu dan lokasinya dalam file yang dibuat - sintaks program.

2. Terjemahan teks program yang dibuat menjadi kode berorientasi mesin yang dapat diakses untuk pengenalan komputer. Dalam hal volume yang signifikan dari program yang dibuat, itu dibagi menjadi beberapa modul terpisah dan masing-masing modul diterjemahkan secara terpisah.

3. Koneksi modul individu ke dalam satu kode yang dapat dieksekusi, sesuai dengan struktur yang diperlukan, memastikan koordinasi interaksi masing-masing bagian satu sama lain.

4. Menguji dan mengontrol program yang dibuat, deteksi dan penghapusan kesalahan formal, logis dan sintaksis, memeriksa program untuk kode-kode terlarang, serta menilai kinerja dan potensi program yang dibuat.

2.3 Jenis perangkat lunak alat

Berdasarkan tugas yang diberikan pada perangkat lunak instrumental, kita dapat membedakannya sejumlah besar berbagai jenis perangkat lunak instrumental:

1) Editor teks

2) Lingkungan Pengembangan Terpadu

4) Kompiler

5) Penerjemah

6) Penghubung

7) Parser dan generator parser (lihat Javacc)

8) Assembler

9) Debugger

10) Profiler

11) Pembuat Dokumen

12) Alat analisis cakupan kode

13) Alat Integrasi Berkelanjutan

14) Alat pengujian otomatis

15) Sistem kontrol versi, dll.

Perlu dicatat bahwa shell untuk membuat program aplikasi juga dibuat oleh program alat dan karenanya dapat disebut sebagai program aplikasi. Pertimbangkan secara singkat tujuan dari beberapa program instrumental.

Editor teks.

Editor teks - program komputer, dirancang untuk memproses file teks, seperti membuat dan membuat perubahan.

Jenis editor teks.

Secara konvensional, dua jenis editor dibedakan: editor teks streaming dan editor teks interaktif.

Editor teks aliran adalah program komputer yang dirancang untuk secara otomatis memproses input data teks yang diterima dari file teks sesuai dengan aturan yang telah ditentukan oleh pengguna. Paling sering, aturannya adalah ekspresi reguler, dalam dialek khusus untuk editor teks khusus ini. Contoh editor teks semacam itu adalah editor Sed.

Editor teks interaktif adalah keluarga program komputer yang dirancang untuk membuat perubahan file teks secara interaktif. Program semacam itu memungkinkan Anda untuk menampilkan status data teks saat ini dalam file dan melakukan berbagai tindakan terhadapnya.

Seringkali, editor teks interaktif berisi fungsionalitas tambahan yang signifikan yang dirancang untuk mengotomatiskan beberapa tindakan pengeditan, atau membuat perubahan dalam tampilan data teks, bergantung pada semantiknya. Penyorotan sintaksis adalah contoh dari jenis fungsionalitas yang terakhir.

Editor teks dirancang untuk membuat dan mengedit dokumen teks. Yang paling umum adalah MS WORD, Lexicon. Fungsi utama editor teks adalah:

1) bekerja dengan fragmen dokumen,

2) memasukkan objek yang dibuat di program lain

3) paginasi teks dokumen

4) memasukkan dan mengedit tabel

5) memasukkan dan mengedit formula

6) pemformatan paragraf

7) pembuatan daftar otomatis

8) pembuatan daftar isi secara otomatis.

Lusinan editor teks diketahui. Yang paling mudah diakses adalah NOTEPAD(notepad), WORDPAD, WORD. Pekerjaan editor teks tertentu biasanya ditentukan oleh fungsinya, yang tujuannya tercermin dalam item menu dan sistem bantuan.

Lingkungan Pengembangan Terpadu

Integrated Development Environment (ISD) adalah sistem perangkat lunak yang digunakan oleh pemrogram untuk mengembangkan perangkat lunak (SW). Lingkungan pengembangan biasanya meliputi:

1) editor teks

2) kompiler dan/atau juru bahasa

3) alat otomasi perakitan

4) debugger.

Terkadang juga berisi alat untuk integrasi dengan sistem kontrol versi dan berbagai alat untuk menyederhanakan pembuatan antarmuka pengguna grafis. Banyak lingkungan pengembangan modern juga menyertakan browser kelas, inspektur objek, dan diagram hierarki kelas untuk digunakan dalam pengembangan perangkat lunak berorientasi objek. Meskipun ada lingkungan pengembangan yang dirancang untuk beberapa bahasa pemrograman - seperti Eclipse, NetBeans, Embarcadero RAD Studio, Qt Creator atau Microsoft Visual Studio, biasanya lingkungan pengembangan ditujukan untuk satu bahasa pemrograman tertentu - seperti Visual Basic, Delphi, Dev-C++.

Kasus khusus ISR adalah lingkungan pengembangan visual, yang mencakup kemampuan untuk mengedit antarmuka program secara visual.

SDK.

SDK (dari Bahasa Inggris SoftwareDevelopmentKit) atau "devkit" adalah kit pengembangan yang memungkinkan spesialis perangkat lunak membuat aplikasi untuk paket perangkat lunak tertentu, alat pengembangan perangkat lunak, platform perangkat keras, sistem komputer, konsol video game, sistem operasi, dan platform lainnya.

Pemrogram biasanya memperoleh SDK langsung dari pengembang teknologi atau sistem target. Seringkali SDK didistribusikan melalui Internet. Banyak SDK didistribusikan secara gratis untuk mendorong pengembang menggunakan teknologi atau platform tertentu.

Vendor SDK terkadang mengganti istilah Software di Software Development Kit dengan kata yang lebih akurat. Misalnya, Microsoft dan Apple menyediakan Driver Development Kits (DDK) untuk mengembangkan driver perangkat, sementara PalmSource menyebut perangkat pengembangannya "PalmOS Development Kit (PDK)".

contoh SDK :

5) Perangkat Pengembangan Java

6) SDK Perangkat Opera

Kompiler.

Penyusun -

1) Program atau alat perangkat keras yang melakukan kompilasi.

2) Program mesin yang digunakan untuk kompilasi.

3) Penerjemah yang mengubah program yang ditulis dalam bahasa sumber menjadi modul objek.

4) Program yang menerjemahkan teks program dalam bahasa tingkat tinggi menjadi program yang setara dalam bahasa mesin.

5) Program yang dirancang untuk menerjemahkan bahasa tingkat tinggi ke dalam kode absolut atau, kadang-kadang, ke dalam bahasa rakitan. Informasi masukan untuk kompiler ( sumber) adalah deskripsi algoritme atau program dalam bahasa khusus domain, dan output dari kompiler adalah deskripsi ekuivalen dari algoritme dalam bahasa berorientasi mesin (kode objek).

Kompilasi -

1) Terjemahan program ke dalam bahasa yang dekat dengan mesin.

2) Terjemahan program yang ditulis dalam bahasa sumber ke dalam modul objek. Diimplementasikan oleh kompiler.

Kompilasi - menerjemahkan program mesin dari bahasa khusus domain ke bahasa berorientasi mesin.

Jenis kompiler :

1) Vektorisasi. Menerjemahkan kode sumber ke dalam kode mesin komputer yang dilengkapi dengan prosesor vektor.

2) Fleksibel. Dikompilasi dengan cara modular, digerakkan oleh tabel, dan diprogram dalam bahasa tingkat tinggi atau diimplementasikan dengan kompiler kompiler.

3) Dialog.

4) Tambahan. Menerjemahkan ulang fragmen dan ekstensi program tanpa mengkompilasi ulang seluruh program.

5) Interpretif (langkah demi langkah). Secara berurutan melakukan kompilasi independen dari setiap pernyataan individu (perintah) dari program sumber.

6) Kompiler dari kompiler. Penerjemah yang mengambil deskripsi formal dari bahasa pemrograman dan menghasilkan kompiler untuk bahasa itu.

7) Debug. Menghilangkan beberapa jenis kesalahan sintaksis.

8) Residen. Secara permanen berada di memori utama dan tersedia untuk penggunaan kembali banyak tugas.

9) Dikompilasi sendiri. Ditulis dalam bahasa yang sama dari mana siaran dilakukan.

10) Semesta. Berdasarkan deskripsi formal dari sintaks dan semantik dari bahasa input. Komponen kompiler tersebut adalah: kernel, sintaksis, dan pemuat semantik.

Jenis kompilasi :

1) Batch. Mengkompilasi beberapa modul sumber dalam satu item pekerjaan.

2) Baris demi baris.

3) Bersyarat. Kompilasi di mana teks yang diterjemahkan tergantung pada kondisi yang ditentukan dalam program sumber. Jadi, bergantung pada nilai beberapa konstanta, Anda dapat menghidupkan atau mematikan terjemahan bagian dari teks program.

Struktur kompiler.

Proses kompilasi terdiri dari langkah-langkah berikut:

1) Analisis leksikal. Pada tahap ini, urutan karakter pada file sumber diubah menjadi urutan token.

2) Analisis sintaksis (tata bahasa). Urutan token diubah menjadi pohon parse.

3) Analisis semantik. Pohon parse diproses untuk menetapkan semantiknya (makna) - misalnya, pengidentifikasi yang mengikat ke deklarasi, tipe, pemeriksaan kompatibilitas, penentuan tipe ekspresi, dll. Hasilnya biasanya disebut "representasi/kode perantara", dan mungkin ditambah dengan pohon parse, pohon baru, kumpulan instruksi abstrak, atau sesuatu yang nyaman untuk diproses lebih lanjut.

4) Optimalisasi. Konstruksi berlebihan dihapus dan kode disederhanakan dengan tetap mempertahankan maknanya. Pengoptimalan dapat dilakukan pada level dan tahapan yang berbeda - misalnya, pada kode perantara atau pada kode mesin akhir.

5) Pembuatan kode. Dari representasi perantara, kode dalam bahasa target dihasilkan.

Dalam implementasi kompiler khusus, tahapan ini dapat dipisahkan atau digabungkan dalam satu bentuk atau lainnya.

Siarkan dan tautkan.

Fitur historis penting dari kompiler, yang tercermin dalam namanya (eng. kompilasi - kumpulkan, tulis), adalah ia juga dapat melakukan penautan (yaitu, berisi dua bagian - penerjemah dan penghubung). Hal ini disebabkan oleh fakta bahwa kompilasi dan penautan terpisah sebagai tahap perakitan terpisah muncul jauh lebih lambat daripada munculnya kompiler. Dalam hal ini, alih-alih istilah "kompiler", istilah "penerjemah" kadang-kadang digunakan sebagai sinonimnya: baik dalam literatur lama, atau ketika mereka ingin menekankan kemampuannya untuk menerjemahkan program ke dalam kode mesin (dan sebaliknya, mereka menggunakan istilah "kompiler" untuk menekankan kemampuan merakit dari banyak file satu).

Penerjemah.

Penerjemah (bahasa pemrograman) -

1) Program atau alat teknis yang melakukan interpretasi.

2) Jenis penerjemah yang melakukan pemrosesan dan eksekusi operator-demi-operator (perintah-demi-perintah) dari program sumber atau kueri (berlawanan dengan kompiler yang menerjemahkan seluruh program tanpa menjalankannya).

3) Suatu program (terkadang perangkat keras) yang menganalisis perintah atau pernyataan program dan segera mengeksekusinya.

4) Pemroses bahasa yang menganalisis program sumber baris demi baris dan secara bersamaan melakukan tindakan yang ditentukan, dan tidak membentuk program yang dikompilasi dalam bahasa mesin yang kemudian dieksekusi.

Jenis juru bahasa.

Seorang juru bahasa sederhana menganalisis dan segera mengeksekusi (interpretasi itu sendiri) program perintah-demi-perintah (atau baris-demi-baris), ketika kode sumbernya tiba di input juru bahasa. Keuntungan dari pendekatan ini adalah respon instan. Kerugiannya adalah juru bahasa seperti itu mendeteksi kesalahan dalam teks program hanya ketika mencoba menjalankan perintah (atau baris) dengan kesalahan.

Interpreter tipe kompiler adalah sistem kompiler yang menerjemahkan kode sumber program menjadi representasi perantara, misalnya, bytecode atau p-code, dan interpreter itu sendiri, yang mengeksekusi kode perantara yang dihasilkan (yang disebut mesin virtual). Keuntungan dari sistem semacam itu adalah kecepatan eksekusi program yang lebih tinggi (karena penghapusan analisis kode sumber menjadi pass satu kali yang terpisah, dan minimalisasi analisis ini dalam penerjemah). Kekurangan - persyaratan sumber daya yang lebih besar dan persyaratan untuk kebenaran kode sumber. Ini digunakan dalam bahasa seperti Java, PHP, Python, Perl (bytecode digunakan), REXX (hasil parsing kode sumber disimpan), serta di berbagai DBMS (p-code digunakan).

Jika penafsir dari tipe kompilasi dibagi menjadi beberapa komponen, kompiler bahasa dan penafsir sederhana dengan analisis kode sumber yang diminimalkan diperoleh. Selain itu, kode sumber untuk juru bahasa semacam itu tidak harus dimiliki format teks atau menjadi bytecode yang hanya dipahami oleh juru bahasa ini, bisa juga kode mesin dari beberapa platform perangkat keras yang ada. Sebagai contoh, mesin virtual seperti QEMU, Bochs, VMware menyertakan juru bahasa mesin untuk prosesor keluarga x86.

Beberapa interpreter (misalnya untuk Lisp, Scheme, Python, BASIC, dan lainnya) dapat bekerja dalam mode dialog atau yang disebut read-compute-print loop (read-eval-printloop, REPL). Dalam mode ini, interpreter membaca konstruk bahasa lengkap (misalnya, ekspresi-s di Lisp), mengeksekusinya, mencetak hasilnya, dan kemudian mulai menunggu pengguna memasukkan konstruk berikutnya.

Bahasa Forth unik, yang mampu bekerja baik dalam interpretasi data input dan mode kompilasi, memungkinkan Anda untuk beralih di antara mode ini kapan saja, baik selama terjemahan kode sumber dan saat program sedang berjalan.

Perlu juga dicatat bahwa mode interpretasi tidak hanya dapat ditemukan di perangkat lunak, tetapi juga di perangkat keras. Dengan demikian, banyak mikroprosesor menginterpretasikan kode mesin menggunakan mikroprogram tertanam, dan prosesor keluarga x86, dimulai dengan Pentium (misalnya, pada arsitektur Intel P6), selama eksekusi kode mesin, menerjemahkannya terlebih dahulu ke dalam format internal (menjadi urutan operasi mikro).

Algoritma penerjemah sederhana :

2. menganalisis instruksi dan menentukan tindakan yang tepat;

3. mengambil tindakan yang tepat;

4. jika kondisi penghentian program tidak tercapai, baca instruksi selanjutnya dan lanjutkan ke poin 2.

Kelebihan dan kekurangan interpreter.

1) Portabilitas yang lebih besar dari program yang ditafsirkan - program akan berjalan pada platform apa pun yang memiliki juru bahasa yang sesuai.

2) Sebagai aturan, cara yang lebih canggih dan visual untuk mendiagnosis kesalahan dalam kode sumber.

3) Penyederhanaan debugging kode sumber program.

4) Ukuran kode yang lebih kecil dibandingkan dengan kode mesin yang diperoleh setelah kompiler konvensional.

1) Program yang ditafsirkan tidak dapat dijalankan secara terpisah tanpa program juru bahasa. Penerjemah itu sendiri bisa sangat kompak.

2) Program yang diinterpretasikan berjalan lebih lambat karena analisis menengah dari kode sumber dan penjadwalan pelaksanaannya membutuhkan waktu tambahan dibandingkan dengan eksekusi langsung kode mesin tempat kode sumber dapat dikompilasi.

3) Praktis tidak ada pengoptimalan kode, yang menyebabkan kerugian tambahan dalam kecepatan program yang ditafsirkan.

linker.

Linker (juga linker, linker) adalah program yang melakukan penautan - dibutuhkan satu atau lebih modul objek sebagai input dan merakit modul yang dapat dieksekusi darinya.

Untuk menautkan modul, linker menggunakan tabel nama yang dibuat oleh kompiler di setiap modul objek. Nama-nama tersebut dapat terdiri dari dua jenis:

1) Nama yang ditentukan atau diekspor - fungsi dan variabel yang ditentukan dalam modul ini dan disediakan untuk digunakan oleh modul lain.

2) Nama yang tidak ditentukan atau diimpor - fungsi dan variabel yang dirujuk modul, tetapi tidak mendefinisikannya di dalam dirinya sendiri.

Tugas penghubung adalah menyelesaikan referensi ke nama yang tidak ditentukan di setiap modul. Untuk setiap nama yang diimpor, definisinya ditemukan di modul lain, penyebutan nama diganti dengan alamatnya.

Linker biasanya tidak melakukan pemeriksaan tipe atau penghitungan parameter prosedur dan fungsi. Jika perlu menggabungkan modul objek dari program yang ditulis dalam bahasa yang diketik dengan kuat, maka pemeriksaan yang diperlukan harus dilakukan oleh utilitas tambahan sebelum memulai tautan.

assembler.

Assembler (dari bahasa Inggris assembler - assembler) - program komputer, kompiler kode sumber program yang ditulis dalam bahasa assembly menjadi program dalam bahasa mesin.

Seperti bahasa (assembler) itu sendiri, assembler cenderung spesifik untuk arsitektur tertentu, sistem operasi, dan varian sintaks dari bahasa tersebut. Pada saat yang sama, ada perakit multi-platform atau sepenuhnya universal (lebih tepatnya, universal terbatas, karena tidak mungkin untuk menulis program yang tidak bergantung pada perangkat keras dalam bahasa tingkat rendah) yang dapat bekerja pada platform dan sistem operasi yang berbeda. Di antara yang terakhir, seseorang juga dapat memilih sekelompok perakit silang yang mampu merakit kode mesin dan modul (file) yang dapat dieksekusi untuk arsitektur dan sistem operasi lain.

Perakitan mungkin bukan langkah pertama atau terakhir untuk mendapatkan modul program yang dapat dieksekusi. Jadi, banyak kompiler dari bahasa pemrograman tingkat tinggi menghasilkan hasil berupa program bahasa rakitan, yang selanjutnya diproses oleh assembler. Selain itu, hasil perakitan mungkin bukan yang dapat dieksekusi, tetapi modul objek yang berisi bagian kode mesin dan data program yang terpisah dan tidak terikat, yang darinya (atau dari beberapa modul objek) di masa mendatang menggunakan program penghubung (" linker") file yang dapat dieksekusi.

Debugger atau debugger adalah modul lingkungan pengembangan atau aplikasi terpisah yang dirancang untuk menemukan kesalahan dalam suatu program. Debugger memungkinkan Anda menelusuri jejak, memantau, menyetel atau mengubah nilai variabel selama eksekusi program, menyetel dan menghapus breakpoint atau kondisi break, dan sebagainya.

Daftar debugger.

1) AQtime adalah debugger komersial untuk aplikasi yang dibuat untuk .NET Framework versi 1.0, 1.1, 2.0, 3.0, 3.5 (termasuk aplikasi ASP.NET), serta untuk aplikasi Windows 32-bit dan 64-bit.

2) DTrace adalah kerangka penelusuran dinamis untuk Solaris, OpenSolaris, FreeBSD, Mac OS X dan QNX.

3) Pagar Listrik - debugger memori.

4) GNU Debugger (GDB) adalah debugger program dari proyek GNU.

5) IDA adalah disassembler yang kuat dan debugger tingkat rendah untuk sistem operasi Windows dan Linux.

6) Microsoft Visual Studio adalah lingkungan pengembangan perangkat lunak yang menyertakan alat debugging dari Microsoft Corporation.

7) OllyDbg adalah debugger tingkat rendah gratis untuk sistem operasi keluarga Windows.

8) SoftICE adalah debugger tingkat rendah untuk sistem operasi keluarga Windows.

9) Sun Studio adalah lingkungan pengembangan perangkat lunak termasuk debugger dbx untuk sistem operasi Solaris dan Linux dari Sun Microsystems Corporation.

10) dr. Watson adalah debugger Windows standar yang memungkinkan Anda membuat dump memori.

11) TotalView adalah salah satu debugger komersial untuk UNIX.

12) WinDbg adalah debugger gratis dari Microsoft Corporation.

Generator dokumentasi - program atau paket perangkat lunak yang memungkinkan Anda mendapatkan dokumentasi yang ditujukan untuk pemrogram (dokumentasi API) dan / atau untuk pengguna akhir sistem, sesuai dengan kode sumber yang dikomentari secara khusus dan, dalam beberapa kasus, modul yang dapat dieksekusi (diperoleh dari keluaran kompiler).

Biasanya, generator menganalisis kode sumber program, menyoroti konstruksi sintaksis yang sesuai dengan objek penting dari program (jenis, kelas dan anggota/properti/metode, prosedur/fungsi, dll.). Analisis juga menggunakan meta-informasi tentang objek program, yang disajikan dalam bentuk komentar pendokumentasian. Berdasarkan semua informasi yang dikumpulkan, dokumentasi siap pakai dibentuk, biasanya dalam salah satu format yang diterima secara umum - HTML, HTMLHelp, PDF, RTF, dan lainnya.

Mendokumentasikan komentar.

Komentar doc adalah komentar yang diformat khusus pada objek program untuk digunakan oleh pembuat dokumentasi tertentu. Sintaks konstruksi yang digunakan dalam komentar dokumentasi bergantung pada generator dokumentasi mana yang digunakan.

Komentar dokumentasi dapat berisi informasi tentang pembuat kode, menjelaskan tujuan objek program, arti parameter input dan output - untuk fungsi/prosedur, contoh penggunaan, kemungkinan pengecualian, fitur implementasi.

Komentar dokumentasi biasanya diformat sebagai komentar gaya-C multi-baris. Dalam setiap kasus, komentar harus muncul sebelum elemen terdokumentasi. Karakter pertama dalam komentar (dan di awal baris komentar) harus *. Blok dipisahkan oleh garis kosong.

3. Visual Basic untuk Aplikasi

sistem operasi perangkat lunak

3.1 Inti dari VisualBasic dan sejarah singkatnya

Microsoft Visual Basic (VB) adalah alat pengembangan perangkat lunak yang dikembangkan oleh Microsoft dan mencakup bahasa pemrograman dan lingkungan pengembangan. Bahasa Visual Basic mewarisi semangat, gaya, dan sebagian sintaks leluhurnya, bahasa BASIC, yang memiliki banyak dialek. Pada saat yang sama, Visual Basic menggabungkan prosedur dan elemen bahasa pemrograman berorientasi objek dan berorientasi komponen. Lingkungan pengembangan VB menyertakan alat untuk merancang antarmuka pengguna secara visual. (lihat tabel).

Visual Basic (fitur utama)

Visual Basic dipertimbangkan obat yang bagus pengembangan pesat prototipe program, untuk pengembangan aplikasi basis data, dan secara umum untuk metode komponen pembuatan program yang berjalan di bawah sistem operasi keluarga Microsoft Windows.

Dalam proses evolusinya, Visual Basic telah melalui serangkaian tahapan berturut-turut yang memungkinkannya menjadi salah satu bahasa pemrograman terpopuler saat ini. Jadi evolusi VisualBasic mengikuti cara berikut:

1. Mei 1991 - Visual Basic 1.0 untuk Microsoft Windows dirilis. Sintaks QBasic diambil sebagai dasar bahasa, dan inovasi, yang kemudian membawa popularitas besar ke bahasa tersebut, adalah prinsip komunikasi antara bahasa dan antarmuka grafis.

2. September 1992 - Visual Basic 1.0 untuk DOS dirilis. Itu tidak sepenuhnya kompatibel dengan VB versi Windows, karena ini adalah versi QuickBASIC berikutnya dan berjalan dalam mode teks layar.

3. November 1992 - Visual Basic 2.0 dirilis. Lingkungan pengembangan menjadi lebih mudah digunakan dan bekerja lebih cepat.

4. musim panas 1993 - Visual Basic 3.0 dirilis dalam edisi Standard dan Professional. Selain itu, mesin untuk bekerja dengan database Access telah ditambahkan ke dalam paket.

5. Agustus 1995 - Visual Basic 4.0 - versi yang dapat membuat program Windows 32-bit dan 16-bit.

6. Februari 1997 - Visual Basic 5.0 - dimulai dengan versi ini, bersama dengan aplikasi konvensional, menjadi mungkin untuk mengembangkan komponen COM.

7. Pada pertengahan 1998, Visual Basic 6.0 dirilis. Sejak itu, Microsoft secara drastis mengubah kebijakan bahasa dasarnya. Alih-alih mengembangkan Visual Basic, bahasa Visual Basic .NET yang benar-benar baru telah dibuat.

8. Pada tahun 2005, versi baru dari Visual Basic dirilis, dibundel dengan Visual Studio. Dia senang dengan antarmuka dan fitur baru. Bahasa ini didasarkan pada Visual Basic.NET.

9. Pada akhir tahun 2007 Microsoft merilis versi baru Visual Basic - Visual Basic 2008, yang juga berbasis Visual Basic.NET.

Berdasarkan fungsionalitas dan spesifikasi aplikasi, jenis program berikut ini dapat dibedakan:

1. Visual Basic Klasik (versi 5-6) Bahasa ini sangat terikat dengan lingkungan pengembangannya dan sistem operasi Windows, menjadi alat khusus untuk menulis aplikasi Windows

2. VisualBasicforApplications (VBA) Ini adalah alat pemrograman, hampir tidak berbeda dengan Visual Basic klasik, yang dirancang untuk menulis makro dan aplikasi lain untuk aplikasi tertentu. Paling populer karena penggunaannya di paket Microsoft kantor. Meluasnya penggunaan Visual Basic for Applications, ditambah dengan kurangnya perhatian awal terhadap masalah keamanan, telah menyebabkan penyebaran virus makro.

3. VisualBasicScriptingEdition (VBScript) Bahasa skrip, yang merupakan versi terpotong dari Visual Basic biasa. Terutama digunakan untuk otomatisasi administrasi Sistem Windows, dan untuk membuat halaman ASP dan skrip untuk Internet Explorer.

3.2 Antarmuka VisualBasicforApplication, fungsi dan fitur utama

Saat membuat VisualBasicforApplication, Microsoft Corporation menetapkan sebagai tugas utamanya pembuatan dukungan instrumental, dapat diakses oleh pengguna yang bukan pemrogram profesional, tetapi pada saat yang sama cukup mumpuni untuk mengembangkan dan merancang aplikasi dan aplikasi berbasis Microsoft Office. Dalam memecahkan masalah inilah pengembang membuat VBA, memberinya sejumlah fitur unik. Salah satunya, yang paling berharga bagi pengguna, adalah kemampuan untuk membuat dan menggunakan non-standar (dapat disesuaikan) kotak dialog, menambahkan objek UserForm ke proyek, serta antarmuka pengguna yang nyaman.

Antarmuka program VisualBasicforApplication terdiri dari kompleks berbagai jendela dan tab yang digunakan saat mendesain aplikasi yang dibuat, yang utamanya adalah:

1) jendela Proyek (Gbr. 2), yang menampilkan struktur proyek yang sedang dibuat.

2) jendela Kode program (Gbr. 3), yang menampilkan kode program dari proyek yang sedang dibuat dan memungkinkan untuk menulis program cara klasik menggunakan editor kata kode bawaan, yang ada lebih dari 16 ribu di VBA. Juga, jendela ini memungkinkan Anda untuk mengedit kode dan memeriksa kesalahannya.

3) tab Properties (Gbr. 4), yang menampilkan parameter yang ditetapkan untuk objek yang ditentukan dan memungkinkan untuk mengubah pengaturan yang ditentukan.

Bergerak di antara jendela dan tab, pengguna dapat dengan mudah menyesuaikan proyek yang dibuat.

Menggunakan formulir VBA buatan pengguna, Anda dapat membuat kotak dialog khusus untuk menampilkan data atau menerima nilai dari pengguna program dengan cara yang paling sesuai dengan kebutuhan program. Misalnya, Anda dapat membuat kuis, menampilkan kotak dialog untuk menampilkan pertanyaan pilihan ganda, dan mengizinkan pengguna untuk memilih salah satu pilihan jawaban yang menurut mereka benar.

Kotak dialog non-standar memungkinkan program untuk berinteraksi dengan penggunanya dengan cara yang paling rumit dan menyediakan berbagai input dan output data.

Kotak dialog khusus dibuat di VBA dengan menambahkan objek UserForm ke proyek. Objek ini adalah kotak dialog kosong; itu memiliki bilah judul dan tombol tutup, tetapi tidak memiliki kontrol lain. Kotak dialog khusus dibuat dengan menambahkan kontrol ke objek UserForm dan biasanya disebut hanya sebagai formulir (Gambar 5).

Setiap objek UserForm memiliki properti, metode, dan kejadian yang diwarisi dari kelas objek UserForm.

Setiap objek UserForm juga berisi modul kelas tempat pengguna menambahkan metode dan propertinya sendiri, atau menulis prosedur acara untuk formulir tersebut.

Kemampuan untuk membuat antarmuka Anda sendiri terlepas dari lingkungan program aplikasi, seperti Excel, menggunakan formulir layar adalah salah satu fitur paling berharga di VBA.

Formulir layar adalah jendela untuk berbagai keperluan dan jenis yang dibuat oleh pengguna untuk aplikasi mereka. Mereka berisi kontrol yang memungkinkan pengguna berbagi informasi dengan aplikasi.

VBA menggunakan desain grafis formulir yang dihasilkan - dengan pengaturan untuk properti dan kontrol formulir - untuk mendapatkan semua informasi yang diperlukan untuk menampilkan kotak dialog: ukuran kotak dialog, kontrol di dalamnya, dan sebagainya. Akibatnya, VBA memungkinkan Anda menampilkan formulir kotak dialog dengan satu pernyataan.

Untuk menampilkan kotak dialog kustom, gunakan metode Show dari objek UserForm. Jika form tidak dimuat ke dalam memori, metode Show memuat form dan menampilkannya. Jika form sudah dimuat, metode Show cukup menampilkannya.

Menampilkan satu kotak dialog untuk menyelesaikan tugas biasanya tidak cukup. Hampir selalu diperlukan untuk menentukan keadaan kontrol kotak dialog untuk mengetahui data atau opsi apa yang telah dipilih pengguna. Misalnya, jika kotak dialog digunakan untuk menanyakan kepada pengguna kolom dan baris mana yang harus diurutkan oleh lembar kerja, Anda harus dapat mengetahui nilai apa yang dimasukkan pengguna setelah kotak dialog ditutup dan sebelum operasi penyortiran sebenarnya dimulai.

Dalam kasus lain, Anda mungkin ingin mengubah judul tombol (atau kontrol lain) secara dinamis pada kotak dialog, memperbarui label atau bidang yang terkait dengan pemintal secara dinamis, atau secara dinamis memvalidasi data yang dimasukkan ke dalam kotak dialog.

Di VBA, dimungkinkan untuk memperluas secara signifikan kumpulan fungsi yang dibangun ke dalam aplikasi standar, seperti Microsoft Excel, serta membuat fungsi yang nilainya bergantung pada kondisi dan peristiwa tertentu.

VBA memungkinkan Anda memprogram fungsi tabel. Untuk membuat lembar kerja terpisah untuk modul program, ada tab Insert Module dari menu Visual, perintah Module dari menu Insert Macro. Setelah itu, lembar kerja baru "Modele1" akan muncul. Dalam modul program, Anda perlu menjelaskan fungsinya dalam bahasa VBA. Anda dapat bekerja di jendela modul program seperti di jendela editor teks kecil.

Fungsi disematkan menggunakan perintah Object Browser dari menu View. Fungsi yang ditentukan oleh pengguna diperlakukan sebagai objek independen dalam program. VBA memiliki serangkaian fungsi bawaan yang signifikan, membaginya menjadi beberapa tipe.

Visual Basic memungkinkan Anda untuk memesan variabel, dengan atau tanpa ukuran, bekerja dengan tipe data yang berbeda, menggunakan konstanta, bekerja dengan operator dan fungsi matematika, dan menggunakan operator tambahan. Penggunaan For Next, Do loop operator, objek tipe "timer" (stopwatch tak terlihat dalam program) disediakan. Keakuratan pengaturan waktu pada program adalah 1 milidetik atau 1/1000 detik. Timer yang berjalan terus berjalan - mis. rutinitas interupsi yang sesuai dijalankan setelah interval waktu yang ditentukan - hingga pengguna menghentikan pengatur waktu atau menonaktifkan program.

Di VBA, Anda dapat mengatur properti apa pun untuk formulir, termasuk judul, ukuran, jenis bingkai, warna latar dan karakter, font teks, dan gambar latar.

Untuk meringkas semua fungsi program, maka Visual Basic forApplication memungkinkan Anda untuk:

1) bekerja dengan kontrol

Keuntungan :

1. Kecepatan tinggi dalam membuat aplikasi GUI untuk MS Windows.

2. Sintaks sederhana yang memungkinkan Anda mempelajari bahasa dengan sangat cepat.

3. Kemampuan untuk mengkompilasi keduanya menjadi kode mesin dan menjadi kode-P (sesuai pilihan programmer). Dalam mode debug, program selalu (terlepas dari pilihannya) dikompilasi ke kode-P, yang memungkinkan Anda menghentikan sementara eksekusi program, membuat perubahan signifikan pada kode sumber, dan kemudian melanjutkan eksekusi: kompilasi ulang lengkap dan mulai ulang program tidak diperlukan.

4. Perlindungan terhadap kesalahan yang terkait dengan penggunaan pointer dan akses memori. Aspek ini membuat aplikasi Visual Basic lebih stabil, tetapi juga menjadi sasaran kritik.

5. Kemampuan untuk menggunakan sebagian besar fungsi WinAPI untuk memperluas fungsionalitas aplikasi. Masalah ini paling banyak dieksplorasi oleh Dan Appleman, yang menulis buku Visual Basic Programmer's Guide to the Win32 API.

Kritik :

1. Yang sering dikritik adalah aspek-aspek Visual Basic seperti kemampuan untuk menonaktifkan sarana pelacakan variabel yang dideklarasikan, kemungkinan konversi variabel secara implisit, keberadaan tipe data Variant. Menurut kritikus, ini memungkinkan untuk menulis kode yang sangat buruk. Di sisi lain, ini bisa dilihat sebagai nilai tambah, karena VB tidak memaksakan "gaya yang baik", tetapi memberikan lebih banyak kebebasan kepada programmer.

2. Kurangnya petunjuk, akses memori tingkat rendah, sisipan ASM. Meskipun paradigma Visual Basic memungkinkan programmer VB rata-rata melakukannya tanpa semua ini, hal-hal ini juga sering dikritik. Dan meskipun, menggunakan fitur tidak berdokumen dan trik tertentu, semua ini dapat diimplementasikan di VB (misalnya, menggunakan fungsi untuk mendapatkan pointer VarPtr(), StrPtr() dan ObjPtr()); menggunakan trik ini jauh lebih sulit daripada, misalnya, di C++.

Namun, perlu dicatat bahwa semua kekurangan bahasa berasal dari keunggulan utamanya - kesederhanaan pengembangan antarmuka grafis. Oleh karena itu, banyak pemrogram menggunakan Visual Basic untuk mengembangkan antarmuka pengguna, dan fungsionalitas program diimplementasikan sebagai pustaka tautan dinamis (DLL) yang ditulis dalam bahasa lain (paling sering C++).

4. Bagian praktis

4.1 Pernyataan masalah

Gambarlah diagram blok dan tulis program dalam Pascal. Menghitung nilai intrinsik sekuritas. Nilai intrinsik suatu aset ditentukan oleh arus pendapatan masa depan dari aset tersebut

pv adalah nilai intrinsik saham saat ini

c adalah pengembalian yang diharapkan dari aset yang bersangkutan

r adalah tingkat pengembalian yang diharapkan oleh investor untuk pengembalian dengan tingkat risiko yang sesuai

n adalah faktor waktu (dalam bulan).

Lakukan analisis pasar dan urutkan hasilnya dalam urutan menaik dari data yang diterima.

4.2 Teks program dalam Pascal

pv: susunan nyata;

writeLn('Masukkan pendapatan yang diharapkan dari ',i,'aset ke-c:');

writeLn('Masukkan tingkat pengembalian yang diharapkan oleh investor r:');

pv:=c/exp(ln(1+r)*i);

writeLn('nilai intrinsik aset saat ini adalah', pv[i]:1:3);

writeLn('Nilai intrinsik aset adalah', s);

untuk j:=1 hingga 4 lakukan

jika pv[j] > pv lalu

writeLn('Nilai aset diurutkan dalam urutan menaik');

untuk i:=1 hingga 5 lakukan

writeLn(pv[i]:1:3);

4.3 Kasus uji

4.4Hasil eksekusi program pada test case

Kesimpulan

Jadi, meringkas semua hal di atas, perlu dicatat bahwa perangkat lunak alat adalah salah satu jenis perangkat lunak yang memiliki tugas dan fungsi umum.

Namun, sebagai jenis perangkat lunak yang sangat terspesialisasi, ia memiliki seperangkat sifat dan fungsi unik tertentu yang memberikan solusi untuk tugas-tugas yang melekat padanya.

Perlu dicatat tren yang muncul untuk menyederhanakan proses pemrograman dan membuat subkelas tertentu - pemrograman semi-profesional untuk tujuan terapan.

Inilah yang memungkinkan pengguna komputer yang berpengalaman, tetapi tidak pemrogram profesional, membuat beberapa aplikasi dan file kecil yang dapat dieksekusi di lingkungan Microsoft Office, terutama digunakan untuk tujuan akuntansi dan pengelolaan dokumen di perusahaan kecil.

Untuk tujuan inilah Microsoft mengembangkan paket perangkat lunak VisualBasicforApplication, yang membuatnya lebih mudah untuk memprogram dan memungkinkan pengguna untuk melakukan pemrograman aplikasi, bukan pemrogram. Kesempatan ini diimplementasikan terutama dengan membuat bagian dari program - "Editor Skrip" dan kemampuan untuk merekam dan menjalankan "Makro" sebagai jenis terpisah dari modul yang dapat diprogram secara grafis. Menerapkan kemampuan untuk membuat aplikasi dengan antarmuka grafis untuk MS Windows. Selain itu, keuntungan dari perangkat lunak alat jenis ini adalah sintaks sederhana yang memungkinkan Anda mempelajari bahasa dengan cepat dan menggunakannya untuk pemrograman di semua aplikasi standar Microsoft Office.

Oleh karena itu, sulit untuk melebih-lebihkan pentingnya alat secara umum, dan VisualBasicforApplication pada khususnya, meskipun kekurangannya, seperti yang disebutkan di atas, juga terjadi. Tapi ini bahkan bukan aspek negatif dari produk, melainkan pedoman untuk perbaikan lebih lanjut dari alat dalam pribadi VisualBasicforApplication.

1. Bahasa algoritmik waktu nyata / Ed. Yanga S./ 2004

2. Majalah PC Edisi Rusia №2 2008 Komputer hari ini.

3. Ilmu komputer. / Ed. Mogilev A.V., Pak N.I., Henner E.K. / - M .: ACADEMIA, 2000.

4. Ilmu komputer dan Teknologi Informasi: Buku Teks / Ed. Romanova D.Yu. / LLC "Rumah Penerbitan" Eksmo ", 2007.

5. Ensiklopedia komputer pribadi terbaru /Ed. Leontieva V. / Moskow, 1999. – 271 hal.

6. Bahasa pemrograman baru dan tren dalam perkembangannya / Ed. Ushkova V. / 2001

7. Pedagogi / Ed. Pidkasistogo P.I./ - M .: Pedagogical Society of Russia, 2000.

8. Pemrograman untuk Microsoft Excel 2000 dalam 21 hari. / Ed. Harisa M./ - M.: Williams, 2000.

9. Simonovich S. Informatika: kursus dasar. Proses untuk universitas. Petersburg, Peter, 2002

10. Dengan Excel 2000 tidak ada masalah. / Ed. Kowalski / - M .: Binom, 2000.

11. "Pekerjaan yang efektif di Windows 98" /Ed. Stinson K./2000. – 247 hal.

12. Bahasa pemrograman. kn.5 / Ed. Vaulina A.S. / 2003

13. Bahasa pemrograman: pengembangan dan implementasi / Ed. Terrence P./2001

14. Buku teks elektronik tentang ilmu komputer. Alekseev E.G. http://www.stf.mrsu.ru/economic/lib/Informatics/text/Progr.html\

Perangkat lunak alat dimaksudkan untuk digunakan dalam desain, pengembangan dan pemeliharaan program komputer. Alat perangkat lunak mencakup jenis program berikut:

Kompiler

Penerjemah

Perakit

Penerjemah

Penghubung

Debugger

Alat untuk pengujian otomatis program

Generator Dokumentasi

Kit Pengembangan (SDK)

Sistem kontrol versi

Sistem pemrograman dan lingkungan pengembangan terintegrasi untuk program

Sistem Otomasi Pemrograman (KASUS)

Penyusun adalah alat perangkat lunak untuk menerjemahkan program yang ditulis dalam bahasa pemrograman ke dalam program yang direpresentasikan dalam kode mesin biner. Kompiler dibagi menjadi tiga jenis - kompiler, assembler, dan juru bahasa.

Penerjemah adalah penyusun sepenuhnya menerjemahkan program dalam bahasa pemrograman apa pun ke dalam kode mesin atau ke dalam apa yang disebut kode objek. Program yang dihasilkan dalam kode mesin nantinya dapat diubah menjadi modul yang dapat dieksekusi, dimuat ke dalam RAM dan dijalankan oleh prosesor. Jenis penerjemah adalah assembler - program yang menerjemahkan teks program yang ditulis dalam bahasa berorientasi mesin ("mnemocode" atau "bahasa rakitan") ke dalam kode biner. Konsep assembler sering dikaitkan langsung dengan bahasa berorientasi mesin. Oleh karena itu, istilah ini terkadang digunakan dalam pengertian bahasa pemrograman tingkat mesin.

Penerjemah- ini adalah kompiler yang baris demi baris (atau satu perintah) menerjemahkan program sumber dalam bahasa pemrograman menjadi kode biner dan segera mentransfer kode biner ini ke prosesor untuk dieksekusi.

linker- program yang menghasilkan tata letak kode yang dapat dieksekusi atau boot - mengambil satu atau lebih modul objek sebagai input dan merakit satu modul yang dapat dieksekusi berdasarkan modul tersebut, yang dapat dimuat ke dalam memori dan diluncurkan untuk dieksekusi oleh prosesor.

Debugger- sebagai aturan, itu adalah bagian dari lingkungan pengembangan perangkat lunak atau aplikasi terpisah yang dirancang untuk menemukan kesalahan dalam program. Debugger memungkinkan Anda menelusuri program, memantau, menyetel atau mengubah nilai variabel selama eksekusi program, menyetel dan menghapus breakpoint atau kondisi break, dan sebagainya.

Alat untuk pengujian otomatis programmodul perangkat lunak, memungkinkan Anda membuat pengujian otomatis dengan partisipasi manusia minimal dan secara otomatis mengeluarkan urutan pengujian ke input, melacak reaksi program yang sedang diuji. Biasanya, alat semacam itu menguji program untuk kecepatan, keandalan dengan aliran data yang besar - inilah yang disebut "pengujian beban". Misalnya, memeriksa program dengan lalu lintas jaringan tinggi, dll. Namun, ada alat pengujian fungsionalitas, seperti alat yang dirancang untuk memverifikasi bahwa aplikasi memenuhi persyaratan bisnis.

Pembuat Dokumentasi- program atau paket perangkat lunak yang memungkinkan Anda memperoleh dokumentasi yang ditujukan untuk pemrogram (dokumentasi API) dan / atau untuk pengguna akhir sistem, pada kode sumber yang dikomentari secara khusus dan, dalam beberapa kasus, pada modul yang dapat dieksekusi (diperoleh pada keluaran dari penyusun). Biasanya, generator menganalisis kode sumber program, menyoroti konstruksi sintaksis yang sesuai dengan objek penting dari program (jenis, kelas dan anggota/properti/metode, prosedur/fungsi, dll.). Analisis juga menggunakan meta-informasi tentang objek program, disajikan dalam bentuk komentar dokumenter. Berdasarkan semua informasi yang dikumpulkan, dokumentasi siap pakai biasanya dibentuk dalam salah satu format yang diterima secara umum - HTML, HTMLHelp, PDF, RTF, dan lainnya.

Kit pengembangan (SDK, Perangkat Pengembangan Perangkat Lunak) atau "devkit" - sekumpulan program dan pustaka subrutin yang memungkinkan profesional perangkat lunak membuat aplikasi untuk paket perangkat lunak tertentu, perangkat lunak alat pengembangan, platform perangkat keras, sistem komputer, konsol permainan video, sistem operasi, dan platform lainnya. Pemrogram biasanya memperoleh SDK langsung dari pengembang teknologi atau sistem target. Seringkali SDK didistribusikan melalui Internet. Banyak SDK didistribusikan secara gratis untuk mendorong pengembang menggunakan teknologi atau platform tertentu.

Sistem kontrol versi (Sistem Kontrol Versi, VCS atau Sistem Kontrol Revisi) - perangkat lunak untuk memfasilitasi pekerjaan dengan perubahan informasi. Sistem kontrol versi memungkinkan Anda menyimpan beberapa versi dari dokumen yang sama, jika perlu, kembali ke versi sebelumnya, menentukan siapa dan kapan melakukan perubahan ini atau itu, dan banyak lagi. Sistem seperti itu paling banyak digunakan dalam pengembangan perangkat lunak, untuk menyimpan kode sumber dari program yang sedang dikembangkan. Namun, mereka dapat berhasil diterapkan di area lain di mana sejumlah besar dokumen elektronik yang terus berubah sedang diproses.

Lingkungan Pengembangan Terpadu (IDE) (Lingkungan pengembangan terintegrasi, IDE) adalah sistem perangkat lunak yang digunakan untuk pengembangan perangkat lunak. Biasanya, lingkungan pengembangan menyertakan editor teks, kompiler dan/atau juru bahasa, alat otomasi build, dan debugger. Terkadang juga berisi alat untuk integrasi dengan sistem kontrol versi dan berbagai alat untuk menyederhanakan konstruksi antarmuka pengguna grafis. Banyak lingkungan pengembangan modern juga termasuk penjelajah kelas, pemeriksa objek dan diagram hirarki kelas- untuk digunakan dalam pengembangan perangkat lunak berorientasi objek. Meskipun ada lingkungan pengembangan yang dirancang untuk beberapa bahasa - seperti Eclipse, NetBeans, Embarcadero RAD Studio atau Microsoft Visual Studio - biasanya lingkungan pengembangan ditujukan untuk satu bahasa pemrograman tertentu - seperti Visual Basic, Delphi, Dev-C++. Kasus khusus ISR adalah lingkungan pengembangan visual, yang mencakup kemampuan untuk mengedit antarmuka program secara visual. Terkadang ISR disebut "sistem pemrograman" , meskipun dalam banyak kasus WBS mencakup berbagai fitur dan kemampuan yang diperluas.

Sistem otomasi pemrograman(Rekayasa Sistem Berbantuan Komputer, KASUS ) adalah paket perangkat lunak yang mengotomatiskan seluruh proses teknologi analisis, desain, pengembangan, pengkodean, debugging, dan pemeliharaan sistem perangkat lunak yang kompleks. Keuntungan utama teknologi CASE adalah dukungan kerja kolektif pada proyek karena kemungkinan bekerja di jaringan pengembang lokal dan global, mengekspor (mengimpor) setiap fragmen proyek, manajemen program yang terorganisir. Sebagai aturan, sistem KASUS mendukung pembuatan kode program secara otomatis - pembuatan kerangka kerja oleh program sistem dan pembuatan produk lengkap dengan dokumentasi sistem.

Aplikasi perangkat lunak

Kategori ini mencakup program kompleks perangkat lunak dan sistem perangkat lunak yang dengannya tugas pengguna tertentu diselesaikan untuk produksi, kreatif, hiburan, pendidikan, atau tujuan lainnya. Perangkat lunak aplikasi dibagi menjadi beberapa jenis berikut:

Program berorientasi masalah

Sistem desain dengan bantuan komputer(CAD)

Perangkat lunak untuk sistem kontrol otomatis

Program tujuan umum

sistem perkantoran

Sistem cerdas

Sistem perangkat lunak multimedia

Sistem penerbitan desktop

Program berorientasi masalah dirancang untuk memecahkan masalah terapan yang berkaitan dengan kegiatan produksi manusia, misalnya:

Program akuntansi;

program kegiatan keuangan;

program manajemen personalia;

Program manajemen perusahaan;

Informasi perbankan dan sistem otomatis;

Tempat kerja otomatis di perusahaan;

Sistem Desain Berbantuan Komputer (Sistem CAD - Sistem Desain Berbantuan Komputer ) dirancang untuk mendukung pekerjaan desainer, teknolog, ahli listrik dan insinyur elektronik, arsitek, dan profesional lainnya yang terkait dengan pengembangan gambar, diagram, model, pemodelan grafis, desain. Sistem kelas ini sangat menuntut perangkat keras komputer, kecepatan, memori. Sangat penting untuk memiliki pustaka fungsi bawaan, objek, antarmuka dengan sistem grafik dan basis data.

Dalam CAD, merupakan kebiasaan untuk membedakan tujuh jenis keamanan:

Teknis(TO), termasuk berbagai perangkat keras (komputer, perangkat periferal, peralatan switching jaringan, jalur komunikasi, alat pengukur);

Matematis(MO), menggabungkan metode matematis, model dan algoritma untuk melakukan desain;

Perangkat lunak(perangkat lunak) yang diwakili oleh program komputer CAD;

informasional(IO), terdiri dari basis data (DB), sistem manajemen basis data (DBMS), serta data lain yang digunakan dalam perancangan. Seluruh kumpulan data yang digunakan dalam desain disebut dana informasi CAD, dan basis data bersama dengan DBMS disebut bank data (BnD);

Linguistik(LO), diungkapkan oleh bahasa komunikasi antara perancang dan komputer, bahasa pemrograman dan bahasa pertukaran data antara sarana teknis CAD;

metodis(MetO), yang mencakup berbagai teknik desain, terkadang perangkat lunak juga disebut sebagai MetO;

Organisasi(OO), diwakili oleh tabel kepegawaian, Deskripsi pekerjaan dan dokumen lain yang mengatur pekerjaan perusahaan desain.

Berdasarkan cakupan, grup CAD berikut dapat dibedakan:

CAD untuk digunakan dalam industri teknik umum. Mereka sering disebut sebagai sistem CAD mekanis atau MCAD (CAD Mekanis);

CAD untuk elektronik radio. Nama mereka adalah sistem ECAD (Electronic CAD) atau EDA (Electronic Design Automation).

CAD di bidang arsitektur dan konstruksi.

Selain itu, sejumlah besar sistem CAD yang lebih terspesialisasi diketahui, baik yang dialokasikan dalam kelompok yang ditunjukkan, atau mewakili cabang independen dalam klasifikasi. Contoh sistem tersebut adalah CAD untuk sirkuit terintegrasi besar (LSI); CAD pesawat; CAD untuk mesin listrik, dll.

Oleh tujuan yang dimaksud membedakan antara CAD atau subsistem CAD yang memberikan aspek desain yang berbeda. Jadi, sistem CAE / CAD / CAM muncul sebagai bagian dari MCAD:

Desain fungsional CAD, jika tidak sistem CAD-F atau CAE (Computer Aided Engineering).

Desain CAD untuk teknik umum - CAD-K, sering disebut hanya sebagai sistem CAD;

Sistem CAD teknologi untuk teknik mesin umum - CAD-T, atau disebut sistem otomatis untuk persiapan teknologi produksi sistem ASTPP atau CAM (Computer Aided Manufacturing).

Sistem kontrol otomatis (ACS)- kompleks perangkat keras dan perangkat lunak yang dirancang untuk mengontrol berbagai proses dalam proses teknologi, produksi, perusahaan. ACS digunakan di berbagai industri, energi, transportasi, dll. Istilah otomatis, berbeda dengan istilah otomatis, menekankan retensi oleh operator manusia dari beberapa fungsi yang terkait dengan penetapan tujuan, pengambilan keputusan, atau pelaksanaan beberapa fungsi yang tidak dapat dilakukan. menjadi otomatis.

Kelas ACS berikut ini paling dikenal:

Sistem kontrol proses otomatis (APCS) - memecahkan masalah manajemen operasional dan kontrol objek teknis di industri, energi, transportasi;

Sistem otomatis untuk persiapan teknis (teknologi) produksi (ASTPP) - sistem yang terkait dengan organisasi proses teknis yang ada atau baru muncul dalam produksi, berdasarkan pemrograman peralatan mesin dengan kontrol numerik, pembuatan dan perakitan program- robot yang dikendalikan, dll.

Sistem manajemen produksi otomatis (APCS) - memecahkan masalah pengorganisasian produksi, termasuk proses produksi utama, logistik masuk dan keluar. Melakukan perencanaan produksi jangka pendek dengan mempertimbangkan kapasitas produksi, analisis kualitas produk, pemodelan proses produksi. Untuk mengatasi masalah ini, sistem MIS dan MES, serta sistem LIMS digunakan.

Sistem manajemen perusahaan otomatis (APCS) - Sistem MRP, MRP II dan ERP digunakan untuk mengatasi masalah ini. Misalnya, jika perusahaan adalah institusi pendidikan tinggi, ada universitas ACS.

Sebagai contoh ACS paling terkenal dapat diidentifikasi:

Sistem kontrol lalu lintas otomatis atau ASUD - dirancang untuk mengontrol arus kendaraan dan pejalan kaki di jaringan jalan kota atau jalan raya;

Sistem kontrol penerangan jalan otomatis ("ASU UO") - dirancang untuk mengatur otomatisasi kontrol penerangan jalan terpusat;

"Sistem kontrol otomatis" untuk hotel;

Sistem kontrol perjalanan otomatis (ASKP) di angkutan umum di Moskow, dll.

Baru-baru ini, telah banyak digunakan dan diimplementasikan sistem pemrosesan dan kontrol informasi otomatis (ASOIU) - ini adalah kelas luas sistem kontrol otomatis yang terkait dengan otomatisasi di bidang pemrosesan, penyimpanan, dan transmisi informasi. ASOIU, tidak seperti ACS, dapat digunakan hampir di semua tempat, dalam bentuk sistem Informasi, sistem kontrol, sistem otomasi di hampir semua bidang aktivitas manusia. ASOIU modern didasarkan pada penggunaan jaringan komputer, berfokus pada pemrosesan informasi grafik, video dan suara, menggunakan teknologi multimedia, elemen sistem kecerdasan buatan. Tanpa perangkat lunak semacam ini, saat ini sulit membayangkan perusahaan modern, terlepas dari ukuran dan arah aktivitasnya. Ini menjelaskan pesatnya pertumbuhan penggunaan ASOIU di semua sektor ekonomi.

Ke grup program tujuan umum dapat dikaitkan:

Sistem manajemen basis data (DBMS)

Server basis data

Pembuat laporan

Pengolah kata

Pengolah meja

Alat presentasi grafis

Paket terintegrasi

Program Berorientasi Metode

Sistem manajemen basis data (DBMS)- menyediakan organisasi dan penyimpanan database lokal pada komputer yang berdiri sendiri atau penyimpanan database terpusat pada server file dan akses jaringan ke sana. DBMS modern mengandung elemen teknologi CASE dari proses desain, khususnya:

Visualisasi skema database;

Pemeliharaan otomatis integritas database untuk berbagai jenis pemrosesan (penyertaan, penghapusan, modifikasi);

Kehadiran yang disebut penyihir yang memberikan dukungan untuk proses desain;

Templat dan prototipe struktur basis data, formulir laporan, dll.

Server basis data adalah perangkat lunak yang dirancang untuk membuat dan menggunakan basis data terintegrasi dalam arsitektur klien-server saat bekerja di jaringan.

DBMS multipengguna dalam versi jaringan pemrosesan informasi menyimpan data pada server file, komputer yang didedikasikan khusus, tetapi pemrosesan itu sendiri dilakukan di stasiun kerja.

Umum untuk berbagai jenis database adalah penggunaan SQL relasional (Structured Query Language) untuk mengimplementasikan kueri pada data.

Pembuat laporan(report server) menyediakan implementasi query dan pembentukan laporan dalam bentuk cetak atau layar dalam jaringan dengan arsitektur client-server. Server laporan terhubung ke server database menggunakan driver layanan database (Crystal Reports, Profit for windows).

Pengolah kata dirancang untuk bekerja dengan dokumen teks. Perkembangan arah ini adalah sistem penerbitan Microsoft Word).

Pengolah meja adalah lingkungan yang nyaman untuk komputasi, yang berisi alat grafik bisnis, alat pemrosesan khusus (Microsoft Excel).

Alat presentasi grafis- ini adalah program khusus yang dirancang untuk membuat gambar dan menampilkannya di layar, menyiapkan film slide, kartun, dan mendesainnya (Microsoft PowerPoint, Flash).

Paket terintegrasi adalah sekumpulan beberapa produk perangkat lunak yang secara fungsional saling melengkapi, mendukung teknologi informasi terpadu yang diimplementasikan pada platform komputasi operasi tunggal (Microsoft Office).

Komponen paket terintegrasi dapat bekerja secara terpisah satu sama lain, miliki antarmuka umum yang membuat mereka lebih mudah untuk belajar.

RFP berorientasi metode menyediakan, terlepas dari bidang subjek dan fungsi sistem informasi, matematika, statistik, dan metode lain untuk memecahkan masalah. Metode yang paling umum adalah pemrograman matematika, menyelesaikan persamaan diferensial, pemodelan simulasi, riset operasi (Storm, SYSTAT, SAS, dll.)

KPBU Perkantoran menyediakan pengelolaan organisasi kegiatan perkantoran.

KPBU perkantoran meliputi:

Penyelenggara (penjadwal) - perangkat lunak untuk merencanakan waktu kerja, membuat risalah rapat, jadwal, menyimpan catatan, dan buku telepon (kalkulator, Buku catatan, jam, kalender, dll.)

Program terjemahan, pemeriksa ejaan, pengenalan teks (Tiger - sistem pengenalan bahasa Rusia, Stylus Lingvo Office yang berisi Fine Reader, Stylus untuk Windows - penerjemah untuk bahasa yang ditentukan, korektor ejaan Lingvo Korektor dan kamus residen Lingvo)

Paket komunikasi yang dirancang untuk mengatur interaksi pengguna dengan pelanggan jarak jauh atau sumber informasi jaringan (ICQ, dll.)

Browser, alat untuk membuat halaman WWW

Fasilitas email (Pegasys Mail)

Sistem penerbitan desktop- Ini adalah kelas perangkat lunak yang luas yang mengimplementasikan komponen utama penerbitan.

Kelas perangkat lunak ini mencakup program yang menyediakan:

Memformat dan mengedit teks

Penomoran otomatis teks

Tata letak komputer dari halaman yang dicetak

Memasang Grafis

Persiapan ilustrasi

Persiapan tata letak asli

Sistem penerbitan desktop meliputi:

Photoshop untuk Windows

perangkat lunak multimedia. Arti utama dari perangkat lunak ini adalah pembuatan dan penggunaan informasi audio dan video untuk perluasan ruang informasi pengguna (berbagai database karya seni komputer, perpustakaan video, perpustakaan media, perpustakaan rekaman suara, dll.)

Sistem kecerdasan buatan:

Program shell untuk membuat sistem pakar dengan mengisi basis pengetahuan dan aturan inferensi

Sistem pakar siap pakai untuk pengambilan keputusan dalam bidang studi tertentu

Sistem untuk analisis dan pengenalan ucapan, teks, dll.

Sistem cerdas (IS) dapat dipahami sebagai sistem otomatis dan otomatis dengan elemen kecerdasan buatan (AI).

Bidang utama AI adalah:

Representasi pengetahuan dan pengembangan sistem berbasis pengetahuan

Kreativitas dan permainan (catur, catur, go)

Pengembangan antarmuka bahasa alami dan terjemahan mesin teks

Pengenalan pola (setiap objek diberi matriks fitur, yang menurutnya pengakuannya lolos)

Arsitektur komponen baru (neurocomputer)

Robot cerdas

Perangkat lunak khusus (bahasa Lisp, Prolog)

Pelatihan dan pembelajaran mandiri (termasuk model, metode, dan algoritme yang berfokus pada akumulasi otomatis pengetahuan berdasarkan analisis dan generalisasi data)

Pengetahuan- ini adalah identifikasi pola bidang subjek (prinsip, koneksi, hukum), yang memungkinkan penyelesaian masalah di bidang ini. Pengetahuan adalah data tentang data, atau metadata.

Model representasi pengetahuan:

Model produksi

Model semantik

Model Bingkai

Model Logika Formal

Alat perangkat lunak adalah program yang digunakan dalam pengembangan, modifikasi atau pengembangan aplikasi atau program sistem lainnya.

Alat perangkat lunak dapat membantu di semua tahap pengembangan perangkat lunak. Dari segi tujuan, mereka dekat sistem pemrograman.

Alat termasuk, misalnya:

    editor;

    alat penautan program;

    program tambahan yang menerapkan tindakan sistem yang sering digunakan;

    paket perangkat lunak grafis, dll.

      1. Sistem pemrograman

Sistem pemrograman adalah sistem untuk mengembangkan program baru dalam bahasa pemrograman tertentu.

Sistem pemrograman modern biasanya memberi pengguna alat pemrograman yang kuat dan nyaman. Mereka termasuk:

    kompiler atau juru bahasa;

    lingkungan pengembangan terpadu;

    alat untuk membuat dan mengedit teks program;

    perpustakaan yang luas program standar dan fungsi;

    program debug, mis. program yang membantu menemukan dan memperbaiki kesalahan dalam program;

    "bersahabat" dengan lingkungan dialog pengguna;

    mode operasi multi-jendela;

    perpustakaan grafis yang kuat; utilitas perpustakaan

    perakit bawaan;

    meja bantuan bawaan;

    fitur spesifik lainnya.

Penerjemah (penerjemah bahasa Inggris - penerjemah) adalah program penerjemah. Itu mengubah program yang ditulis dalam salah satu bahasa tingkat tinggi menjadi program yang terdiri dari instruksi mesin.

Penerjemah diimplementasikan sebagai kompiler atau juru bahasa. Dalam hal melakukan pekerjaan, kompiler dan juru bahasa sangat berbeda.

Kompiler (kompiler bahasa Inggris - kompiler, kolektor) membaca seluruh program, menerjemahkannya dan membuat versi lengkap dari program dalam bahasa mesin, yang kemudian dieksekusi.

Seorang juru bahasa menerjemahkan dan mengeksekusi program baris demi baris.

Setelah program dikompilasi, baik program sumber maupun kompiler tidak diperlukan lagi. Pada saat yang sama, program yang diproses oleh interpreter harus diterjemahkan ulang ke dalam bahasa mesin setiap kali program dijalankan.

Program yang dikompilasi berjalan lebih cepat, tetapi program yang ditafsirkan lebih mudah untuk diperbaiki dan diubah.

Sistem pemrograman populer - Turbo Basic, Quick Basic, Turbo Pascal, Turbo C, Borland C++, Borland Delphi, dll.

Setiap bahasa tertentu difokuskan pada kompilasi atau interpretasi, tergantung pada tujuan pembuatannya. Sebagai contoh, Pascal biasanya digunakan untuk memecahkan masalah yang agak rumit di mana kecepatan program itu penting. Oleh karena itu, bahasa ini biasanya diimplementasikan menggunakan compiler. Di sisi lain, Dasar dibuat sebagai bahasa untuk pemrogram pemula, yang eksekusi program baris demi baris memiliki keunggulan yang tak terbantahkan.

Terkadang ada kompiler dan juru bahasa untuk bahasa yang sama. Dalam hal ini, Anda dapat menggunakan juru bahasa untuk mengembangkan dan menguji program, lalu mengkompilasi program yang di-debug untuk mempercepat eksekusinya.

      Tren Pengembangan Perangkat Lunak

Perangkat lunak alat, sebagai jenis perangkat lunak khusus, dicirikan oleh umum dan khusus

fungsi, seperti untuk semua perangkat lunak pada umumnya. Kami membahas fungsi umum di atas, dan fungsi khusus yang hanya melekat pada jenis program ini adalah:

1. Pembuatan teks dari program yang dikembangkan menggunakan kata-kata kode (bahasa pemrograman) yang ditetapkan secara khusus, serta sekumpulan karakter tertentu dan lokasinya dalam file yang dibuat - sintaks program.

2. Terjemahan teks dari program yang dibuat menjadi kode berorientasi mesin yang dapat diakses untuk pengenalan komputer. Dalam hal volume yang signifikan dari program yang dibuat, itu dibagi menjadi beberapa modul terpisah dan masing-masing modul diterjemahkan secara terpisah.

3. Koneksi modul individu ke dalam satu kode yang dapat dieksekusi, sesuai dengan struktur yang diperlukan, memastikan koordinasi interaksi masing-masing bagian satu sama lain.

4. Menguji dan mengontrol program yang dibuat, deteksi dan penghapusan kesalahan formal, logis dan sintaksis, memeriksa program untuk kode-kode terlarang, serta menilai kinerja dan potensi program yang dibuat.

Jenis perangkat lunak alat

Berdasarkan tugas yang diberikan pada perangkat lunak instrumental, sejumlah besar jenis perangkat lunak instrumental dapat dibedakan:

1) Editor teks

2) Lingkungan Pengembangan Terpadu

4) Kompiler

5) Penerjemah

6) Penghubung

7) Parser dan generator parser (lihat Javacc)

8) Assembler

9) Debugger

10) Profiler

11) Pembuat Dokumen

12) Alat analisis cakupan kode

13) Alat Integrasi Berkelanjutan

14) Alat pengujian otomatis

15) Sistem kontrol versi, dll.

Perlu dicatat bahwa shell untuk membuat program aplikasi juga dibuat oleh program alat dan karenanya dapat disebut sebagai program aplikasi. Pertimbangkan secara singkat tujuan dari beberapa program instrumental.

Editor teks.

Editor teks adalah program komputer yang dirancang untuk memproses file teks, seperti membuat dan membuat perubahan.

Jenis editor teks.

Secara konvensional, ada dua jenis editor: editor teks streaming dan interaktif.

1) Streaming editor teks

Editor teks aliran adalah program komputer yang dirancang untuk secara otomatis memproses input data teks yang diterima dari file teks sesuai dengan aturan yang telah ditentukan oleh pengguna. Paling sering, aturannya adalah ekspresi reguler, dalam dialek khusus untuk editor teks khusus ini. Contoh editor teks semacam itu adalah editor Sed.

2) Editor teks interaktif

Editor teks interaktif adalah keluarga program komputer yang dirancang untuk membuat perubahan pada file teks secara interaktif. Program semacam itu memungkinkan Anda untuk menampilkan status data teks saat ini dalam file dan melakukan berbagai tindakan terhadapnya.

Seringkali, editor teks interaktif berisi fungsionalitas tambahan yang signifikan yang dirancang untuk mengotomatiskan beberapa tindakan pengeditan, atau membuat perubahan dalam tampilan data teks, bergantung pada semantiknya. Penyorotan sintaksis adalah contoh dari jenis fungsionalitas yang terakhir.

Editor teks dirancang untuk membuat dan mengedit dokumen teks. Yang paling umum adalah MS WORD, Lexicon. Fungsi utama editor teks adalah:

1) bekerja dengan fragmen dokumen,

2) memasukkan objek yang dibuat di program lain

3) paginasi teks dokumen

4) memasukkan dan mengedit tabel

5) memasukkan dan mengedit formula

6) pemformatan paragraf

7) pembuatan daftar otomatis

8) pembuatan daftar isi secara otomatis.

Lusinan editor teks diketahui. Yang paling mudah diakses adalah NOTEPAD(notepad), WORDPAD, WORD. Pekerjaan editor teks tertentu biasanya ditentukan oleh fungsinya, yang tujuannya tercermin dalam item menu dan sistem bantuan.

Lingkungan Pengembangan Terpadu

Integrated Development Environment (IDE) adalah sistem perangkat lunak yang digunakan oleh pemrogram untuk mengembangkan perangkat lunak (SW). Lingkungan pengembangan biasanya meliputi:

1) editor teks

2) kompiler dan/atau juru bahasa

3) alat otomasi perakitan

4) debugger.

Terkadang juga berisi alat untuk integrasi dengan sistem kontrol versi dan berbagai alat untuk menyederhanakan pembuatan antarmuka pengguna grafis. Banyak lingkungan pengembangan modern juga menyertakan browser kelas, inspektur objek, dan diagram hierarki kelas untuk digunakan dalam pengembangan perangkat lunak berorientasi objek. Meskipun ada lingkungan pengembangan yang dirancang untuk beberapa bahasa pemrograman seperti Eclipse, NetBeans, Embarcadero RAD Studio, Qt Creator atau Microsoft Visual Studio, lingkungan pengembangan biasanya ditujukan untuk satu bahasa pemrograman tertentu seperti Visual Basic, Delphi, Dev-C++ .

Kasus khusus ISR adalah lingkungan pengembangan visual, yang mencakup kemampuan untuk mengedit antarmuka program secara visual.

SDK(dari Kit Pengembangan Perangkat Lunak Bahasa Inggris) atau "devkit" - seperangkat alat pengembangan yang memungkinkan spesialis perangkat lunak membuat aplikasi untuk paket perangkat lunak tertentu, alat pengembangan perangkat lunak, platform perangkat keras, sistem komputer, konsol video game, sistem operasi, dan platform lainnya .

Pemrogram biasanya memperoleh SDK langsung dari pengembang teknologi atau sistem target. Seringkali SDK didistribusikan melalui Internet. Banyak SDK didistribusikan secara gratis untuk mendorong pengembang menggunakan teknologi atau platform tertentu.

Vendor SDK terkadang mengganti istilah Software di Software Development Kit dengan kata yang lebih akurat. Misalnya, Microsoft dan Apple menyediakan Driver Development Kits (DDK) untuk mengembangkan driver perangkat, sementara PalmSource menyebut perangkat pengembangannya "PalmOS Development Kit (PDK)".

Contoh SDK:

5) Perangkat Pengembangan Java

6) SDK Perangkat Opera

Kompiler.

Penyusun --

1) Program atau alat perangkat keras yang melakukan kompilasi.

2) Program mesin yang digunakan untuk kompilasi.

3) Penerjemah yang mengubah program yang ditulis dalam bahasa sumber menjadi modul objek.

4) Program yang menerjemahkan teks program dalam bahasa tingkat tinggi menjadi program yang setara dalam bahasa mesin.

5) Program yang dirancang untuk menerjemahkan bahasa tingkat tinggi ke dalam kode absolut atau, kadang-kadang, ke dalam bahasa rakitan. Informasi input untuk kompiler (kode sumber) adalah deskripsi dari algoritma atau program dalam bahasa khusus domain, dan output dari kompiler adalah deskripsi algoritme yang setara dalam bahasa berorientasi mesin (kode objek).

Kompilasi --

1) Terjemahan program ke dalam bahasa yang dekat dengan mesin.

2) Terjemahan program yang ditulis dalam bahasa sumber ke dalam modul objek. Diimplementasikan oleh kompiler.

Kompilasi -- terjemahkan program mesin dari bahasa khusus domain ke bahasa khusus mesin.

Jenis kompiler:

1) Vektorisasi. Menerjemahkan kode sumber ke dalam kode mesin komputer yang dilengkapi dengan prosesor vektor.

2) Fleksibel. Dikompilasi dengan cara modular, digerakkan oleh tabel, dan diprogram dalam bahasa tingkat tinggi atau diimplementasikan dengan kompiler kompiler.

3) Dialog.

4) Tambahan. Menerjemahkan ulang fragmen dan ekstensi program tanpa mengkompilasi ulang seluruh program.

5) Interpretif (langkah demi langkah). Secara berurutan melakukan kompilasi independen dari setiap pernyataan individu (perintah) dari program sumber.

6) Kompiler dari kompiler. Penerjemah yang mengambil deskripsi formal dari bahasa pemrograman dan menghasilkan kompiler untuk bahasa itu.

7) Debug. Menghilangkan beberapa jenis kesalahan sintaksis.

8) Residen. Secara permanen berada di memori utama dan tersedia untuk digunakan kembali oleh banyak tugas.

9) Dikompilasi sendiri. Ditulis dalam bahasa yang sama dari mana siaran dilakukan.

10) Semesta. Berdasarkan deskripsi formal dari sintaks dan semantik dari bahasa input. Komponen kompiler tersebut adalah: kernel, sintaksis, dan pemuat semantik.

Jenis kompilasi:

1) Kelompok. Mengkompilasi beberapa modul sumber dalam satu item pekerjaan.

2) Baris demi baris.

3) Bersyarat. Kompilasi di mana teks yang diterjemahkan tergantung pada kondisi yang ditentukan dalam program sumber. Jadi, bergantung pada nilai beberapa konstanta, Anda dapat menghidupkan atau mematikan terjemahan bagian dari teks program.

struktur penyusun.

Proses kompilasi terdiri dari langkah-langkah berikut:

1) Analisis leksikal. Pada tahap ini, urutan karakter pada file sumber diubah menjadi urutan token.

2) Analisis sintaksis (tata bahasa). Urutan token diubah menjadi pohon parse.

3) Analisis semantik. Pohon parse diproses untuk menetapkan semantiknya (makna) -- misalnya, pengidentifikasi yang mengikat ke deklarasi, tipe, pemeriksaan kompatibilitas, penentuan tipe ekspresi, dll. Hasilnya biasanya disebut "representasi/kode perantara", dan dapat ditambah dengan parse tree , pohon baru, kumpulan perintah abstrak, atau sesuatu yang nyaman untuk diproses lebih lanjut.

4) Optimalisasi. Konstruksi berlebihan dihapus dan kode disederhanakan dengan tetap mempertahankan maknanya. Pengoptimalan dapat dilakukan pada level dan tahapan yang berbeda - misalnya, pada kode perantara atau pada kode mesin akhir.

5) Pembuatan kode. Dari representasi perantara, kode dalam bahasa target dihasilkan.

Dalam implementasi kompiler khusus, tahapan ini dapat dipisahkan atau digabungkan dalam satu bentuk atau lainnya.

Menyiarkan dan menulis.

Fitur historis penting dari kompiler, tercermin dalam namanya ( Bahasa inggris compile -- assemble together, compose), apakah itu juga bisa melakukan penautan (yaitu, berisi dua bagian - penerjemah dan penghubung). Hal ini disebabkan oleh fakta bahwa kompilasi dan penautan terpisah sebagai tahap perakitan terpisah muncul jauh lebih lambat daripada munculnya kompiler. Dalam hal ini, alih-alih istilah "kompiler", istilah "penerjemah" kadang-kadang digunakan sebagai sinonimnya: baik dalam literatur lama, atau ketika mereka ingin menekankan kemampuannya untuk menerjemahkan program ke dalam kode mesin (dan sebaliknya, mereka menggunakan istilah "kompiler" untuk menekankan kemampuan merakit dari banyak file satu).

Penerjemah.

Penerjemah (bahasa pemrograman) --

1) Program atau alat teknis yang melakukan interpretasi.

2) Jenis penerjemah yang melakukan pemrosesan dan eksekusi operator-demi-operator (perintah-demi-perintah) dari program sumber atau kueri (berlawanan dengan kompiler yang menerjemahkan seluruh program tanpa menjalankannya).

3) Suatu program (terkadang perangkat keras) yang menganalisis perintah atau pernyataan program dan segera mengeksekusinya.

4) Pemroses bahasa yang menganalisis program sumber baris demi baris dan secara bersamaan melakukan tindakan yang ditentukan, dan tidak membentuk program yang dikompilasi dalam bahasa mesin yang kemudian dieksekusi.

Jenis juru bahasa.

penerjemah sederhana menganalisis dan segera mengeksekusi (interpretasi itu sendiri) program perintah-demi-perintah (atau baris-demi-baris), saat kode sumbernya tiba di input juru bahasa. Keuntungan dari pendekatan ini adalah respon instan. Kerugiannya adalah bahwa juru bahasa seperti itu mendeteksi kesalahan dalam teks program hanya ketika upaya dilakukan untuk mengeksekusi perintah (atau baris) dengan kesalahan.

Interpreter tipe kompiler adalah sistem kompiler yang menerjemahkan kode sumber suatu program menjadi representasi perantara, misalnya, bytecode atau p-code, dan interpreter itu sendiri, yang mengeksekusi kode perantara yang dihasilkan (yang disebut mesin virtual ). Keuntungan dari sistem semacam itu adalah kecepatan eksekusi program yang lebih tinggi (karena penghapusan analisis kode sumber menjadi pass satu kali yang terpisah, dan minimalisasi analisis ini dalam penerjemah). Kekurangan -- persyaratan sumber daya yang lebih besar dan persyaratan untuk kode sumber yang benar. Ini digunakan dalam bahasa seperti Java, PHP, Python, Perl (bytecode digunakan), REXX (hasil parsing kode sumber disimpan), serta di berbagai DBMS (p-code digunakan).

Jika penafsir dari tipe kompilasi dibagi menjadi beberapa komponen, kompiler bahasa dan penafsir sederhana dengan analisis kode sumber yang diminimalkan diperoleh. Selain itu, kode sumber untuk juru bahasa semacam itu tidak harus dalam format teks atau menjadi kode byte yang hanya dimengerti oleh juru bahasa ini, itu bisa menjadi kode mesin dari beberapa platform perangkat keras yang ada. Misalnya, mesin virtual seperti QEMU, Bochs, VMware menyertakan juru bahasa mesin untuk prosesor keluarga x86.

Beberapa penerjemah (misalnya, untuk Lisp, Scheme, Python, BASIC, dan lainnya) dapat bekerja dalam mode dialog atau yang disebut loop baca-kalkulasi-cetak (read-eval-print loop, REPL). Dalam mode ini, interpreter membaca konstruk bahasa lengkap (misalnya, ekspresi-s di Lisp), mengeksekusinya, mencetak hasilnya, dan kemudian mulai menunggu pengguna memasukkan konstruk berikutnya.

Bahasa Forth unik, yang mampu bekerja baik dalam interpretasi data input dan mode kompilasi, memungkinkan Anda untuk beralih di antara mode ini kapan saja, baik selama terjemahan kode sumber dan saat program sedang berjalan.

Perlu juga dicatat bahwa mode interpretasi tidak hanya dapat ditemukan di perangkat lunak, tetapi juga di perangkat keras. Dengan demikian, banyak mikroprosesor menginterpretasikan kode mesin menggunakan mikroprogram tertanam, dan prosesor keluarga x86, dimulai dengan Pentium (misalnya, pada arsitektur Intel P6), selama eksekusi kode mesin, menerjemahkannya terlebih dahulu ke dalam format internal (menjadi urutan operasi mikro).

Algoritma juru bahasa sederhana:

2. menganalisis instruksi dan menentukan tindakan yang tepat;

3. mengambil tindakan yang tepat;

4. jika kondisi penghentian program tidak tercapai, baca instruksi selanjutnya dan lanjutkan ke poin 2.

Kelebihan dan kekurangan interpreter.

Keuntungan:

1) Besar portabilitas program yang ditafsirkan -- program akan berjalan pada platform apa pun yang memiliki juru bahasa yang sesuai.

2) Sebagai aturan, cara yang lebih canggih dan visual untuk mendiagnosis kesalahan dalam kode sumber.

3) Penyederhanaan debugging kode sumber program.

4) Ukuran kode yang lebih kecil dibandingkan dengan kode mesin yang diperoleh setelah kompiler konvensional.

Kekurangan:

1) Program yang ditafsirkan tidak dapat dijalankan secara terpisah tanpa program juru bahasa. Penerjemah itu sendiri bisa sangat kompak.

2) Program yang diinterpretasikan berjalan lebih lambat karena analisis menengah dari kode sumber dan penjadwalan pelaksanaannya membutuhkan waktu tambahan dibandingkan dengan eksekusi langsung kode mesin tempat kode sumber dapat dikompilasi.

3) Praktis tidak ada pengoptimalan kode, yang menyebabkan kerugian tambahan dalam kecepatan program yang ditafsirkan.

Penghubung.

linker(juga linker, linker) - program yang melakukan penautan - mengambil satu atau lebih modul objek sebagai input dan merakit modul yang dapat dieksekusi darinya.

Untuk menautkan modul, linker menggunakan tabel nama yang dibuat oleh kompiler di setiap modul objek. Nama-nama tersebut dapat terdiri dari dua jenis:

1) Nama yang ditentukan atau diekspor - fungsi dan variabel yang ditentukan dalam modul tertentu dan disediakan untuk digunakan oleh modul lain.

2) Nama yang tidak ditentukan atau diimpor - fungsi dan variabel yang dirujuk modul, tetapi tidak mendefinisikannya di dalam dirinya sendiri.

Tugas penghubung adalah menyelesaikan referensi ke nama yang tidak ditentukan di setiap modul. Untuk setiap nama yang diimpor, definisinya ditemukan di modul lain, penyebutan nama diganti dengan alamatnya.

Linker biasanya tidak melakukan pemeriksaan tipe atau penghitungan parameter prosedur dan fungsi. Jika perlu menggabungkan modul objek dari program yang ditulis dalam bahasa yang diketik dengan kuat, maka pemeriksaan yang diperlukan harus dilakukan oleh utilitas tambahan sebelum memulai tautan.

assembler.

assembler(dari bahasa Inggris assembler - assembler) - program komputer, kompiler kode sumber program yang ditulis dalam bahasa assembly menjadi program dalam bahasa mesin.

Seperti bahasa (assembler) itu sendiri, assembler cenderung spesifik untuk arsitektur tertentu, sistem operasi, dan varian sintaks dari bahasa tersebut. Pada saat yang sama, ada perakit multi-platform atau sepenuhnya universal (lebih tepatnya, universal terbatas, karena tidak mungkin untuk menulis program yang tidak bergantung pada perangkat keras dalam bahasa tingkat rendah) yang dapat bekerja pada platform dan sistem operasi yang berbeda. Di antara yang terakhir, seseorang juga dapat memilih sekelompok perakit silang yang mampu merakit kode mesin dan modul (file) yang dapat dieksekusi untuk arsitektur dan sistem operasi lain.

Perakitan mungkin bukan langkah pertama atau terakhir untuk mendapatkan modul program yang dapat dieksekusi. Jadi, banyak kompiler dari bahasa pemrograman tingkat tinggi menghasilkan hasil berupa program bahasa rakitan, yang selanjutnya diproses oleh assembler. Selain itu, hasil perakitan mungkin bukan yang dapat dieksekusi, tetapi modul objek yang berisi bagian kode mesin dan data program yang terpisah dan tidak terikat, yang darinya (atau dari beberapa modul objek) di masa mendatang menggunakan program penghubung (" linker") file yang dapat dieksekusi.

Debugger atau debugger adalah modul lingkungan pengembangan atau aplikasi terpisah yang dirancang untuk menemukan kesalahan dalam suatu program. Debugger memungkinkan Anda menelusuri jejak, memantau, menyetel atau mengubah nilai variabel selama eksekusi program, menyetel dan menghapus breakpoint atau kondisi break, dan sebagainya.

Daftar debugger.

1) AQtime adalah debugger komersial untuk aplikasi yang dibuat untuk .NET Framework versi 1.0, 1.1, 2.0, 3.0, 3.5 (termasuk aplikasi ASP.NET), serta untuk aplikasi Windows 32-bit dan 64-bit.

2) DTrace adalah kerangka penelusuran dinamis untuk Solaris, OpenSolaris, FreeBSD, Mac OS X dan QNX.

3) Pagar Listrik - debugger memori.

4) GNU Debugger (GDB) adalah debugger program dari proyek GNU.

5) IDA adalah disassembler yang kuat dan debugger tingkat rendah untuk sistem operasi Windows dan Linux.

6) Microsoft Visual Studio adalah lingkungan pengembangan perangkat lunak yang menyertakan alat debugging dari Microsoft Corporation.

7) OllyDbg adalah debugger tingkat rendah gratis untuk sistem operasi keluarga Windows.

8) SoftICE adalah debugger tingkat rendah untuk sistem operasi keluarga Windows.

9) Sun Studio adalah lingkungan pengembangan perangkat lunak termasuk debugger dbx untuk sistem operasi Solaris dan Linux dari Sun Microsystems Corporation.

10) dr. Watson adalah debugger Windows standar yang memungkinkan Anda membuat dump memori.

11) TotalView adalah salah satu debugger komersial untuk UNIX.

12) WinDbg adalah debugger gratis dari Microsoft Corporation.

Generator dokumentasi - program atau paket perangkat lunak yang memungkinkan Anda menerima dokumentasi yang ditujukan untuk pemrogram (dokumentasi API) dan / atau untuk pengguna akhir sistem, dari kode sumber yang dikomentari secara khusus dan, dalam beberapa kasus, dari modul yang dapat dieksekusi (diperoleh dari keluaran dari penyusun).

Biasanya, generator menganalisis kode sumber program, menyoroti konstruksi sintaksis yang sesuai dengan objek penting dari program (jenis, kelas dan anggota/properti/metode, prosedur/fungsi, dll.). Analisis juga menggunakan meta-informasi tentang objek program, yang disajikan dalam bentuk komentar pendokumentasian. Berdasarkan semua informasi yang dikumpulkan, dokumentasi siap pakai dibentuk, biasanya dalam salah satu format yang diterima secara umum - HTML, HTMLHelp, PDF, RTF, dan lainnya.

Komentar dokumentasi.

Komentar dokumenter dirancang khusus