Individu: Menurut saya individu sebagai unit terkecil dari masyarakat sekitar yang tidak bisa di bagi lagi dengan unit terkecil,individu yang pasti lebih jelas manusia perseorangan bukan sebagai manusia keseluruhan,saya simpulkan bahwa individu sebagai manusia yang memiliki peranan khas ataupun spesifik dari dalam dirinya itu sendiri
Permasalahan Individu: Individu yang sering sekali menyimpanng dari norma kolektif kehilangan individualismenya,takhluk kepada kolektif dan mempengaruhi masyarakat sekitar.
Solusinya: individu harus bisa menempatkan dirinya sesuai dengan norma dan kebudayaan yang d milik individu itu sendiri.
Penangananya: Individu harus ada di setiap kelompok karena akan membentuk dan semakin matang untuk menjadi dirinya sendiri.
Keluarga: menurut definisi saya keluarga sebagai bagian kecil dari masyarakat,yang di bentuk menjadi sebuah keluarga yang terdiri dari ayah,ibu dan anak.
Permasalahan Keluarga : Setiap keluarga pasti akan di terpa oleh masalah-masalah,seperti perceraian antara ayah dan ibu,yang akan berujung di persidangan dan anak-anak yang telah di besarkan akan hidup sia-sia.
Solusinya: Seharusnya setiap permasalahan keluarga tidak harus di bawa sampai meja hijau,harus di selesaikan dengan baik-baik oleh pasangan suami istri.
Penangananya: seharusnya jaga selalu kebersamaan keharmonisan nama baik keluarga untuk saling menjaga menyayangi anggota keluarganya itu sendiri,bukan untuk saling menghindar,menghancurkan atau memperpecah tali persaudaraan.
Masyarakat:Menurut saya masyarakat itu sekelompok kecil dari penduduk sekitar yang menetap di setiap wilayah,seperti kita sendiri dan keluarga kita juga termasuk masyarakat dan yang di sekitar wilayah kita,karena kita dan masyarakat lain saling membutuhkan atau saling betergantungan satu sama lain.
Permasalahan Masyarakat:Masyarakat di setiap wilayah dapat saling tauran karena hanya salah paham oleh sesama,sekarang saja sudah banyak tauran antar warga yang ada di jakarta,padahal setiap masyarakat saling ketergantungan.
Solusinya:Masyarakat itu sendiri harus mempunyai rasa tanggung jawab dan berpikir panjang,membantu yang membutuhkan tidak untuk adu otot.
Penangananya:Setiap anggota masyarakat harus mempunyai ketua agar bisa menyatukan dengan masyarakat lain dan akan terciptanya rasa damai di setiap masyarakat itu sendiri.
INDIVIDU,KELUARGA DAN MASYARAKAT
Diposting oleh
Ardy surya dinata
on Selasa, 25 Oktober 2011
/
Comments: (0)
PTKI
Diposting oleh
Ardy surya dinata
on Jumat, 21 Oktober 2011
/
Comments: (0)
PENGANTAR TEKNOLOGI DAN INFORMASI “A”
KELOMPOK 1 :
ARDY SURYA DINATA
HENRI RAHMAT DANI
IMAM SOBRIANSYAH
UNIVERSITAS GUNADARMA
2011
MEMAHAMI KONSEP DASAR TEKNOLOGI KOMPUTER
A.PENGERTIAN KOMPUTER
Komputer berasal dari bahasa latin computare yang mengandung arti menghitung. Karena luasnya bidang garapan ilmu komputer, para pakar dan peneliti sedikit berbeda dalam mendefinisikan termininologi komputer.
Komputer adalah alat yang dipakai untuk mengolah data menurut prosedur yang telah dirumuskan. Kata computer semula dipergunakan untuk menggambarkan orang yang perkerjaannya melakukan perhitungan aritmatika, dengan atau tanpa alat bantu, tetapi arti kata ini kemudian dipindahkan kepada mesin itu sendiri. Asal mulanya, pengolahan informasi hampir eksklusif berhubungan dengan masalah aritmatika, tetapi komputer modern dipakai untuk banyak tugas yang tidak berhubungan dengan matematika.
Secara luas, Komputer dapat didefinisikan sebagai suatu peralatan elektronik yang terdiri dari beberapa komponen, yang dapat bekerja sama antara komponen satu dengan yang lain untuk menghasilkan suatu informasi berdasarkan program dan data yang ada. Adapun komponen komputer adalah meliputi : Layar Monitor, CPU, Keyboard, Mouse dan Printer (sbg pelengkap). Tanpa printer komputer tetap dapat melakukan tugasnya sebagai pengolah data, namun sebatas terlihat dilayar monitor belum dalam bentuk print out (kertas).
Dalam definisi seperti itu terdapat alat seperti slide rule, jenis kalkulator mekanik mulai dari abakus dan seterusnya, sampai semua komputer elektronik yang kontemporer. Istilah lebih baik yang cocok untuk arti luas seperti "komputer" adalah "yang memproses informasi" atau "sistem pengolah informasi."
Komputer merupakan suatu perangkat elektronika yang dapat menerima dan mengolah data menjadi informasi, menjalankan program yang tersimpan dalam memori, serta dapat bekerja secara otomatis dengan aturan tertentu.
Komputer dapat menyusun data dalam bentuk 1 dan 0. Data diletakkan dalam “chips” atau dalam “memory” dari komputer dalam bentuk gelombang listrik: bila terdapat sedikit saja aliran listrik masuk ke dalam area ter tentu dari “chip” tersebut maka komputer akan menginterpretasikannya sebagai SATU. Bila tidak ada masukan aliran listrik, komputer akan menginterpretasikannya sebagai NOL.
Kumpulan dari 1 dan O akan membentuk sebuah angka atau huruf. Sebagai contoh: 01001110 dapat membentuk huruf A. Anda tidak perlu mengetahui bagaimana sebuah komputer bekerja untuk menggunakan komputer itu sendiri. Tapi anda perlu memahami beberapa bagian dari komputer (yang disebut “hardware”) dan instruksi-instruksinya untuk menggunakan informasi (yang disebut “software”). Untungnya penggunaan komputer saat
ini jauh lebih mudah dibanding 50 tahun yang lalu.
Secara luas, Komputer dapat didefinisikan sebagai suatu peralatan elektronik yang terdiri dari beberapa komponen, yang dapat bekerja sama antara komponen satu dengan yang lain untuk menghasilkan suatu informasi berdasarkan program dan data yang ada. Adapun komponen komputer adalah meliputi : Layar Monitor, CPU, Keyboard, Mouse dan Printer (sbg pelengkap). Tanpa printer komputer tetap dapat melakukan tugasnya sebagai pengolah data, namun sebatas terlihat dilayar monitor belum dalam bentuk print out (kertas).
Dalam definisi seperti itu terdapat alat seperti slide rule, jenis kalkulator mekanik mulai dari abakus dan seterusnya, sampai semua komputer elektronik yang kontemporer. Istilah lebih baik yang cocok untuk arti luas seperti "komputer" adalah "yang memproses informasi" atau "sistem pengolah informasi."
Komputer merupakan suatu perangkat elektronika yang dapat menerima dan mengolah data menjadi informasi, menjalankan program yang tersimpan dalam memori, serta dapat bekerja secara otomatis dengan aturan tertentu.
Komputer dapat menyusun data dalam bentuk 1 dan 0. Data diletakkan dalam “chips” atau dalam “memory” dari komputer dalam bentuk gelombang listrik: bila terdapat sedikit saja aliran listrik masuk ke dalam area ter tentu dari “chip” tersebut maka komputer akan menginterpretasikannya sebagai SATU. Bila tidak ada masukan aliran listrik, komputer akan menginterpretasikannya sebagai NOL.
Kumpulan dari 1 dan O akan membentuk sebuah angka atau huruf. Sebagai contoh: 01001110 dapat membentuk huruf A. Anda tidak perlu mengetahui bagaimana sebuah komputer bekerja untuk menggunakan komputer itu sendiri. Tapi anda perlu memahami beberapa bagian dari komputer (yang disebut “hardware”) dan instruksi-instruksinya untuk menggunakan informasi (yang disebut “software”). Untungnya penggunaan komputer saat
ini jauh lebih mudah dibanding 50 tahun yang lalu.
B.SEJARAH PENGEMBANGAN KOMPUTER
Perkembangan Komputer Lengkap mulai dari Generasi 1 sampai Generasi 5 (Kelima)Berdasarkan perkembangan teknologi komputer, maka perkembangannya dapat kita bagi menjadi 2 bagian yaitu Komputer menurut para ahli... :
a. Sebelum tahun 1940.
- b. Setelah tahun 1940. Menurut Hamacher [1], komputer adalah mesin penghitung elektronik yang cepat dan dapat menerima informasi input digital, kemudian memprosesnya sesuai dengan program yang tersimpan di memorinya, dan menghasilkan output berupa informasi.
- Menurut Blissmer [2], komputer adalah suatu alat elektonik yang mampu melakukan beberapa tugas sebagai berikut:
- menerima input
- memproses input tadi sesuai dengan programnya
- menyimpan perintah-perintah dan hasil dari pengolahan
- menyediakan output dalam bentuk informasi
- Sedangan Fuori [3] berpendapat bahwa komputer adalah suatu pemroses data yang dapat melakukan perhitungan besar secara cepat, termasuk perhitungan aritmetika dan operasi logika, tanpa campur tangan dari manusia.
C.PENGEMBANGAN KOMPUTER SETELAH TAHUN 1940
1. Komputer generasi pertama ( 1940-1959 ).
Komputer generasi pertama ini menggunakan tabung vakum untuk memproses dan menyimpan data. Ia menjadi cepat panas dan mudah terbakar, oleh karena ituberibu-ribu tabung vakum diperlukan untuk menjalankan operasi keseluruhan komputer.
2. Komputer generasi kedua ( 1959 1964 )
Pada tahun 1948, penemuan transistor sangat mempengaruhi perkembangan komputer. Transistor menggantikan tabung vakum di televisi, radio, dan komputer. Akibatnya, ukuran mesin-mesin elektrik berkurang drastis. Transistor mulai digunakan di dalam komputer mulai pada tahun 1956.
3. Komputer generasi ketiga ( 1964 awal 80an )
Walaupun transistor dalam banyak hal mengungguli tube vakum, namun transistor menghasilkan panas yang cukup besar, yang dapat berpotensi merusak bagian-bagian internal komputer. Batu kuarsa (quartz rock) menghilangkan masalah ini.
4. Komputer generasi keempat ( awal 80an – ??? )
Setelah IC, tujuan pengembangan menjadi lebih jelas: mengecilkan ukuran sirkuit dan komponenkomponen elektrik. Large Scale Integration (LSI) dapat memuat ratusan komponen dalam sebuah chip. Pada tahun 1980-an, Very Large Scale Integration (VLSI) memuat ribuan komponen dalam sebuah chip tunggal. Ultra-Large Scale Integration (ULSI) meningkatkan jumlah tersebut menjadi jutaan.
Perkembangan Komputer seperti diungkapkan di atas, hanya memiliki satu prosesor.
Sejarah perkembangan komputer generasi satu sampai lima. Hal ini ditekankan sebab ada beberapa perangkat yang memang memiliki prosesor tersendiri di dalam perangkatnya seperti VGA Card AGP, Optical Mouse, dan lain-lain dari Sejarah Perkembangan Komputer.Untuk mewujudkan konsepsi komputer sebagai pengolah data untuk menghasilkan suatu informasi, maka diperlukan sistem komputer (computer system) yang elemennya terdiri dari hardware, software dan brainware. Ketiga elemen sistem komputer tersebut harus saling berhubungan dan membentuk kesatuan. Hardware tidak akan berfungsi apabila tanpa software, demikian juga sebaliknya. Dan keduanya tiada bermanfaat apabila tidak ada manusia (brainware) yang mengoperasikan dan mengendalikannya.
- Hardware atau Perangkat Keras: peralatan yang secara fisik terlihat dan bisa di jamah.
- Software atau Perangkat Lunak: program yang berisi instruksi/perintah untuk melakukan pengolahan data.
- Brainware: manusia yang mengoperasikan dan mengendalikan sistem komputer.
Penggolongan Komputer Literatur terbaru tentang komputer melakukan penggolongan komputer berdasarkan tigal hal: data yang diolah, penggunaan, kapasitas/ukurannya, dan generasinya. Berdasarkan Data Yang Diolah
- Komputer Analog
- Komputer Digital
- Komputer Hybrid
Berdasarkan Penggunannya
- Komputer Untuk Tujuan Khusus (Special Purpose Computer)
- Komputer Untuk Tujuan Umum (General Purpose Computer)
Berdasarkan Kapasitas dan Ukurannya
- Komputer Mikro (Micro Computer)
- Komputer Mini (Mini Computer)
- Komputer Kecil (Small Computer)
- Komputer Menengah (Medium Computer)
- Komputer Besar (Large Computer)
- Komputer Super (Super Computer)
D.MANFAAT KOMPUTER
1.3. Manfaat Kumputer
Banyak kalangan yang berpendapat bahwa saat ini adalah era informasi global, dimana era ini bisa dilakukan dengan memanfaatkan teknologi Informasi yang perangkat utamanya adalah komputer. Informasi yang bisa dilakukan tidak hanya sekedar informasi suara atau gambar, namun informasi yang disajikan bisa bersifat multimedia.
Kita dapat memanfaatkan komputer dengan beragam cara mulai sebagai alat bantu menulis, menggambar, mengedit foto, memutar video, memutar lagu sampai analisis data hasil penelitian maupun untuk mengoperasikan program-program penyelesaian problem-problem ilmiah, bisinis, mengendalikan mesin industri, bahkan mengendalikan pesawat ruang angkasa.
Tujuan penggunaan komputer adalah agar setiap data yang diolah dapat dihasilkan informasi yang cepat, akurat, informatif dan efisien.
1.3.1. Bidang Pendidikan
Pada dunia pendidikan termasuk di Indonesia, komputer sudah diperkenalkan dan digunakan pada sekolah-sekolah dari pendidikan dasar sampai tingkat perguruan tinggi. Bahkan untuk pendidikan di kota-kota besar komputer sudah diperkenalkan sejak anak-anak masuk taman kanak-kanak atau play group untuk bermain atau games. Selain diigunakan sebagai alat bantu untuk pembelajaran yang interaktif, juga bisa bersifat audiovisual untuk memudahkan proses pembelajaran itu sendiri. Komputer juga memberi kemudahan dalam mencari dan menghasilkan bahan-bahan pembelajaran secara efektif dan efisien yaitu dengan adanya perpustakaan elektronik (e-library). Selain itu banyak peralatan laboratorium yang dilengkapi dengan komputer sehingga alat tersebut dapat bekerja lebih teliti dan presisi, serta dapat mengatasi kendala hambatan indra manusia, dan bisa digunakan sebagai simulasi.
Menurut pendapat Robert Taylor , peranan komputer dalam pendidikan dibagi menjadi 3 bagian yaitu TUTOR, TOOL dan TUTEE. Sebagai TUTOR, komputer berperanan sebagai pengajar melalui pendekatan pengajaran berbantukan komputer. Penggunaan komputer sebagai alat pembelajaran dikenali sebagai CBE (Computer Based Education).
Sebagai TOOL, komputer menjadi alat untuk memudahkan proses pengajaran dan pembelajaran seperti konteks pengajaran berintergrasikan komputer. Komputer juga dugunakan untuk melakukan pengolahan data proses pembelajaran, seperti pengolahan data nilai siswa, penjadwalan, beasiswa, dan sebagainya. Sebagai TUTEE komputer berperanan sebagai alat yang diajar, dan bisa melakukan Tanya jawab atau dialog dengan komputer yang biasa disebut dengan CAI (Computer Assist Instruction).
Saat ini dengan adanya jaringan global bidang teknologi informasi, komputer juga bisa digunakan untuk melakukan pembelajaran jarak jauh, antar daerah, pulau, bahkan antar benua yaitu dengan metode teleconference.
1.3.2. Bidang Industri dan Manufaktur
Di bidang industri, komputer telah dipergunakan untuk mengontrol mesin-mesin produksi dengan ketepatan tinggi, misalnya CNC (Computer Numerical Contor) pengawasan numeric atau perhitungan, CAM (Computer Aided Manufacture), CAD (Computer Aided Design), yaitu untuk merancang bentuk (desain) sebuah produk yang akan dikeluarkan pada sebuah industri atau pabrik, misal sebuah mesin serba guna dalam industri metal sehingga dapat kita jumpai berbagai produk industri logam yang bervariasi dan kita bayangkan sulit apabila dikerjakan secara manual. Banyak pula mesin-mesin dalam industri garmen dilengkapi dengan kontrol komputer, misalnya melakukan pewarnaan, membuat border, dan sebagainnya.
Selain itu industri modern saat ini juga memanfaatkan robot yang secara otomatis melakukan kerja-kerja tertentu dalam sebuah industri yang dikontrol oleh komputer yang tidak mungkin dikerjakan manusia. Contohnya tangan robot dikontrol oleh komputer digunakan untuk memasang komponen-komponen renik dan chip-chip pada motherboard komputer.
1.3.3. Bidang Bisnis dan Perbankan
Di bidang bisnis baik perdagangan barang maupun jasa komputer akan sangat penting untuk kegiatan transaksi baik rutin, periodik, maupun insidentil dan menyediakan informasi dengan cepat dan tepat.
Sistem Informasi Manajemen (SIM) / Management Information system (MIS), merupakan sistem informasi yang sudah banyak diterapkan pada perusahaan yang bergerak bidang perdagangan barang dan jasa baik pada perusahaan besar, menengah, bahkan perusahaan kecil. SIM diterapkan pada semua tingkat atau level manajemen yang ada yaitu manajemen tingkat atas(top management), manajemen tingkat menengah (middle management), dan manajemen tingkat bawah (lower managementi).
Di perusahaan dagang seperti department store, telah dipergunakan mesin cash register (mesin kasir) yang dilengkapi dengan kontrol komputer sehingga mesin tersebut dapat dikontrol oleh pihak manajer hanya dari ruangan kerjanya secara cepat dan tepat, untuk scanning barcode kode barang dagangan, menghitung rugi laba, inventori dan sebagainya. Pada perusahaan jasa seperti perbankan komputer digunakan untuk menghitung bunga secara otomatis, transaksi on-line, ATM, dan sebagainya.
Komputer juga banyak digunakan untuk proses akuntansi, melakukan analisa keuangan, neraca, rugi laba, dan sebagainya. Bahkan ada beberapa software yang secara khusus disediakan untuk operasi akuntansi. Di bidang perhotelan komputer digunakan untuk menentukan jumlah dan jenis kamar yang telah terisi dan masih kosong. Bahkan saat ini sudah masyarakat untuk penjualan pertokoan kecil, Usaha Kecil dan Menengah (UKM), apotik dan bermacam-macam usaha kecil lainnya.
1.3.4. Bidang Teknik dan Ilmu Pengetahuan
Komputer sangat bermanfaat untuk perhitungan-perhitungan yang sulit dan membutuhkan presisi tinggi yang tidak mungkin dilakukan oleh manusia. Ini biasanya digunakan untuk keperluan penelitian dan riset. Para ahli biasanya akan mengadakan simulasi dengan komputer sebelum menguji coba sesungguhnya dari hasil temuannya, misalnya membuat model reaktor nuklir, membuat model-model atom dan molekul. Komputer juga bisa digunakan untuk bidang ilmu pengetahuan alam misalnya mempelajari keadaan struktur tanah, keadaan angin, cuaca, dan sebagainya.
Dalam bidang bioteknologi, peralatan-peralatan kultur telah banyak yang dilengkapi dengan kontrol komputer untuk mengusahakan ketelitian kerja pada ruang steril. Pada bidang teknik sipil komputer digunakan untuk menghitung presisi dan kekuatan kunstruksi bangunan, bidang arsitektur komputer digunakan untuk mensimulasi gambar-gambar ruang secara tiga dimensi.
1.3.5. Bidang Penerbangan dan Kemiliteran
Di bidang penerbangan dan luar angkasa komputer digunakan untuk mengontrol kendali pesawat menggantikan pilot, menghitung ketinggian pesawat, mengontrol panel-panel kendali seperti keadaan mesin, bahan bakar, dan kecepatan. Komputer juga digunakan untuk mengontrol pesawat ruang angkasa baik dengan awak maupun tanpa awak ke planet dan mempelajari keadaan dan isi planet.
Dibidang militer komputer digunakan untuk mengendalikan senjata atau peluru kendali. Untuk navigasi kapal laut dan kapal selam, untuk melakukan simulasi peperangan, dan melakukan pengiriman sandi-sandi rahasia militer.
1.3.6. Bidang Kedokteran
Di bidang kedokteran komputer sangat berperan untuk menolong jiwa manusia, dan riset bidang kedokteran. Komputer digunakan untuk mendiagnosa penyakit, menemukan obat yang tepat, menganalisa organ tubuh manusia bagian dalam yang sulit dilihat. Sistem CAT (Computerized Axial Tomography) untuk menggambar struktur otak dan mengambil gambar seluruh organ tubuh yang tidak bergerak dengan menggunakan sinar-X. Sedangkan untuk yang bergerak menggunakan sistem DSR (Dynamic Spatial Reconstructor), yaitu melihat gambar dari berbagai sudut organ tubuh.
SPECT (Single Photon Emission Computer Tomography), merupakan sistem komputer yang mempergunakan gas radiokatif untuk mendeteksi partikel-partikel tubuh yang ditampilkan dalam bentu gambar. Bentuk lain adalah PET (Position Emission Tomography) juga merupakan sistem komputer yang menampilkan gambar yang mempergunakan isotop radioaktif. Selain itu NMR (Nuclear Magnetic Resonance), yaitu teknik mendiagnosa dengan cara memagnetikkan nucleus (pusat atom) dari atom hydrogen.
Saat ini telah ada temuan baru yaitu komputer DNA, yang mampu mendiagnosis penyakit sekaligus memberi obat. Ehud Shapiro beserta timnya dari Institut Sains Weizmann, Rehovot, Israel, telah membuat komputer DNA ultrakecil yang mampu mendiagnosis dan mengobati kanker tertentu. Komponen penyusun komputer DNA adalah materi genetik yang diketahui urutan basanya. Seperti diketahui bahwa urutan gen secara intrinsik mempunyai kemampuan inheren untuk mengolah informasi layaknya komputer. Oleh karena itu triliunan mesin-mesin biomolekul-yang bekerja dengan ketepatan lebih dari 99,8% itu, dapat dikemas dalam setetes larutan. Komputer DNA-menggunakan untai nukleotida sebagai masukan data, dan molekul biologi aktif sebagai luaran data-dapat menghasilkan sistem kendali logis dari proses-proses biologi. Mesin ini bahkan mampu mengerjakan soal-soal matematika.
1.3.7. Bidang Kriminalitas
Komputer dapat digunakan untuk Crime analaisis Support system, yaitu sistem pendukung keputusan bidang kriminalitas. Polisi dapat mempelajari fakta dan mengambil kesimpulan dengan cepat dan tepat, misalnya mendeteksi pelanggaran lalu lintas, melakukan sidik jari, dan sebagainya.
Sistem komputer lain yang digunakan untuk bidang kriminalitas adalah :
§ PROMIS (Prosecutor-Offender management Information System), yang dapat memberikan informasi mengenai masalah-masalah kriminalitas mana yang paling penting dan dapat memberikan informasi mengenai bukti-bukti dari tertuduh untuk dibawa ke pengadilan.
§ CATCH (Computer-Assisted Terminal Criminal Hunt), menyediakan informasi mengenai deskripsi secara mendetail dari orang-orang yang dicurigai dan akan tampil di layer komputer.
§ MOTION (Metropolitan Orleans Total Information Online Network), menyediakan informasi tentang orang-orang yang pernah terlibat kejahatan berupa data pribadi, nama samaran, sidik jari, dan foto dari berbagai sudut.
§ ARJIS (Automated Reginal Justice Information System), menyediakan informasi sidik jari dan tingkah laku pelaku kriminal.
1.3.8. Bidang Entertainment dan Games
Saat ini komputer tidak saja digunakan pada bidang-bidang pekerjaaan dan penelitaian saja. Namun banyak yang digunakan untuk bidang entertainment dan permainan (games).
Bidang entertainment misalnya untuk pembuatan animasi, periklanan, settting, bahkan untuk bermain musik. Di bidang Permainan komputer bisa digunakan untuk permainan (games) tiga dimensi (3D) dilengkapi dengan audiovisual yang menarik dan memberikan special efect. Bahkan kita dapat bermain dengan teman dalam satu komputer. Atau kita bermain dengan lawan dari komputer itu sendiri, misalnya bermain catur dan kartu.
1.3.9. Bidang Komunikasi Jaringan Global (Internet)
Dengan adanya komunikasi jaringan global pada komputer yang biasa disebut dengan internet (inter networking) saat ini, rasanya manusia yang menggunakan internet seolah bisa “menggengam dunia”. Segala sesuatu yang dibutuhkan tersedia pada internet baik yang gratis maupun membayar. Dengan internet manusia bisa melakukan komunikasi data teks, gambar, video, suara, bahkan komunikasi audiovisual secara langsung.
Pengguna internet bisa mencari informasi apa saja yang dibutuhkan misalnya ; informasi berita, sekolah, buku dan perpustakaan, kencan dan perjodohan, belanja atau pembayaran on-line, chatting, memutar radio, video, musik, bermain games,saling menukar informasi dan data (mail), konsultasi dan Tanya jawab, pooling, periklanan, dan bahkan merusak komputer orang lain dari jarak jauh, pesan kamar hotel, tiket pesawat, dan sebagainya.
AP 1 C
Diposting oleh
Ardy surya dinata
/
Comments: (0)
Sebuah deskripsi lengkap suatu bahasa pemrograman termasuk model komputasi, sintaks dan
semantik dari program, dan pertimbangan pragmatis yang membentuk bahasa.
semantik dari program, dan pertimbangan pragmatis yang membentuk bahasa.
Kata kunci dan frase: Komputasi model, perhitungan, program, bahasa pemrograman, sintaks, semantik, pragmatik, terikat, bebas, ruang lingkup, lingkungan, blok.
Misalkan kita memiliki nilai 3,14 dan 5, operasi perkalian (×) dan kami melakukan
perhitungan ditentukan oleh ekspresi aritmatika berikut:
perhitungan ditentukan oleh ekspresi aritmatika berikut:
2 × 3.14 × 5
yang hasilnya adalah nilai:
31.4
Jika 3,14 adalah sebuah pendekatan untuk pi, kita dapat mengganti 3,14 dengan ekspresi pi mengabstraksi untuk: 2 × pi × 5 di mana pi = 3.14.
Kami mengatakan bahwa pi adalah terikat untuk 3,14 dan konstan. Di mana memperkenalkan lingkungan lokal atau blok untuk definisi lokal. Ruang lingkup definisi hanya ekspresi. Jika 5 adalah dimaksudkan untuk menjadi nilai jari-jari, maka ekspresi dapat digeneralisasi dengan memperkenalkan variabel untuk radius: 2 × × pi pi = jari-jari mana 3,14.
Tentu saja nilai ekspresi adalah keliling lingkaran sehingga kita bisa lebih abstrak dengan
menetapkan nama untuk ekspresi:
menetapkan nama untuk ekspresi:
Lingkar = 2 × × pi pi = jari-jari mana 3,14
Persamaan terakhir ini mengikat Lingkar nama untuk ekspresi 2 × × radius pi mana
pi = 3,14. Jari-jari variabel dikatakan bebas di sisi kanan dari persamaan. Ini adalah variabel
karena nilai yang tidak ditentukan. pi bukan sebuah variabel, itu adalah sebuah konstanta, nama nilai tertentu.Setiap konteks (ruang lingkup), di mana persamaan dan jari-jari dan jari-jari variabel muncul ditetapkan. untuk nilai, menentukan nilai untuk Lingkar. Sebuah generalisasi lebih lanjut mungkin dengan lingkar parameterizing dengan radius variabel. Lingkar (radius) = 2 × × pi pi = jari-jari mana 3,14 Variabel radius muncul di sisi kanan tidak lagi bebas. Hal ini terikat untuk parameter
jari-jari. Lingkar memiliki nilai (selain sisi kanan) hanya ketika parameter tersebut
diganti dengan ekspresi.
pi = 3,14. Jari-jari variabel dikatakan bebas di sisi kanan dari persamaan. Ini adalah variabel
karena nilai yang tidak ditentukan. pi bukan sebuah variabel, itu adalah sebuah konstanta, nama nilai tertentu.Setiap konteks (ruang lingkup), di mana persamaan dan jari-jari dan jari-jari variabel muncul ditetapkan. untuk nilai, menentukan nilai untuk Lingkar. Sebuah generalisasi lebih lanjut mungkin dengan lingkar parameterizing dengan radius variabel. Lingkar (radius) = 2 × × pi pi = jari-jari mana 3,14 Variabel radius muncul di sisi kanan tidak lagi bebas. Hal ini terikat untuk parameter
jari-jari. Lingkar memiliki nilai (selain sisi kanan) hanya ketika parameter tersebut
diganti dengan ekspresi.
Misalnya, dalam Lingkar (5): = 3.14
Jari-jari parameter terikat pada nilai 5 dan, sebagai hasilnya, Lingkar (5) terikat untuk
3.14. Dalam bentuk ini, definisi adalah resep atau program untuk menghitung keliling lingkaran dari jari-jari lingkaran. Notasi matematika (sintaks) menyediakan bahasa pemrograman dan aritmatika menyediakan model komputasi untuk perhitungan. Pemetaan dari sintaks untuk model komputasi memberikan makna (semantik) untuk program tersebut. Notasi yang digunakan dalam contoh ini didasarkan pada pertimbangan yang sangat pragmatis kemudahan penggunaan dan pemahaman. Hal ini sangat mirip dengan notasi matematika biasa yang kebanyakan orang mengalami kesulitan dalam membedakan antara sintaks dan model komputasi.
3.14. Dalam bentuk ini, definisi adalah resep atau program untuk menghitung keliling lingkaran dari jari-jari lingkaran. Notasi matematika (sintaks) menyediakan bahasa pemrograman dan aritmatika menyediakan model komputasi untuk perhitungan. Pemetaan dari sintaks untuk model komputasi memberikan makna (semantik) untuk program tersebut. Notasi yang digunakan dalam contoh ini didasarkan pada pertimbangan yang sangat pragmatis kemudahan penggunaan dan pemahaman. Hal ini sangat mirip dengan notasi matematika biasa yang kebanyakan orang mengalami kesulitan dalam membedakan antara sintaks dan model komputasi.
Contoh ini berfungsi untuk menggambarkan ide-ide beberapa kunci dalam studi bahasa pemrograman yang diringkas dalam definisi 1.1.
Definisi 1.1
1.Sebuah model komputasi adalah kumpulan nilai dan operasi.
2. Sebuah perhitungan adalah aplikasi dari urutan operasi untuk nilai untuk menghasilkan
nilai lain.
nilai lain.
3. Sebuah program adalah spesifikasi dari sebuah perhitungan.
4. Sebuah bahasa pemrograman adalah notasi untuk menulis program.
5. Sintaks dari bahasa pemrograman mengacu pada struktur atau bentuk program.
6. Semantik dari bahasa pemrograman menggambarkan hubungan antara
program dan model perhitungan.
7. Para pragmatik bahasa pemrograman menggambarkan tingkat keberhasilan dengan
bahasa pemrograman yang memenuhi tujuan, baik dalam kesetiaan kepada
mendasari model perhitungan dan utilitas untuk programmer manusia
4. Sebuah bahasa pemrograman adalah notasi untuk menulis program.
5. Sintaks dari bahasa pemrograman mengacu pada struktur atau bentuk program.
6. Semantik dari bahasa pemrograman menggambarkan hubungan antara
program dan model perhitungan.
7. Para pragmatik bahasa pemrograman menggambarkan tingkat keberhasilan dengan
bahasa pemrograman yang memenuhi tujuan, baik dalam kesetiaan kepada
mendasari model perhitungan dan utilitas untuk programmer manusia
DATA
Suatu program dapat dilihat sebagai fungsi, output data nilai adalah fungsi dari nilai-nilai input data.
Output = Program (Input)
Pandangan lain dari sebuah program adalah bahwa model domain masalah dan pelaksanaan program ini adalah
simulasi dari domain masalah.
Program = Model domain masalah
Pelaksanaan simulasi = Program dari domain masalah
Pandangan lain dari sebuah program adalah bahwa model domain masalah dan pelaksanaan program ini adalah
simulasi dari domain masalah.
Program = Model domain masalah
Pelaksanaan simulasi = Program dari domain masalah
Dalam kasus apapun, objek data adalah pusat untuk program.
Nilai-nilai dapat dipisahkan menjadi dua kelompok, primitif dan majemuk. Nilai-nilai primitif biasanya angka, nilai boolean, dan karakter. Nilai-nilai komposit biasanya array, catatan, dan didefinisikan secara rekursif nilai. String dapat terjadi sebagai nilai-nilai baik primitif atau komposit. Daftar, tumpukan,pohon, dan antrian adalah contoh dari nilai-nilai yang didefinisikan secara rekursif.Terkait dengan nilai-nilai primitif adalah operasi biasa (misalnya, aritmatika operasi untuk angka). Terkait dengan tiap nilai komposit adalah operasi untuk membangun nilai-nilai dan jenis yang operasi untuk mengakses elemen komponen dari jenis. Sebuah koleksi nilai yang berbagi seperangkat operasi ini disebut tipe data.
Jenis primitif yang diimplementasikan menggunakan hardware dan, kadang-kadang, tujuan khusus perangkat lunak. Sehingga operasi yang sesuai hanya diterapkan untuk nilai-nilai, ketik nilai yang harus diketahui. Dalam program bahasa assembly itu terserah kepada programmer untuk melacak tipe datum itu. Jenis informasi yang terkandung dalam sebuah deskriptor.
DESKRIPSI NILAI
Ketika jenis nilai yang diketahui pada waktu kompilasi jenis descriptor adalah bagian dari simbol compiler meja dan deskriptor tidak diperlukan pada saat run-time dan karena itu, deskripsi tersebut akan dibuang setelah kompilasi. Ketika jenis nilai yang tidak diketahui sampai run-time, deskripsi tipe harus terkait dengan nilai untuk mengizinkan memeriksa jenis.
Nilai Boolean diimplementasikan menggunakan satu bit penyimpanan. Karena bit tunggal biasanya tidak dialamatkan, pelaksanaan diperpanjang menjadi unit yang dialamatkan tunggal memori. Dalam hal ini baik satu bit dalam unit dialamatkan digunakan untuk nilai atau nilai nol di unit penyimpanan menunjuk palsu saat setiap nilai bukan nol menunjuk benar. Operasi pada bit dan nilai boolean yang termasuk dalam set instruksi prosesor.
Nilai integer yang paling sering diimplementasikan menggunakan hardware penyimpanan representasi didefinisikan bilangan bulat 32-bit sering atau empat byte dengan satu bit untuk tanda.
tanda
bit7-bit byte byte byte
bit7-bit byte byte byte
Aritmatika integer dan operasi relasional diimplementasikan menggunakan set operasi perangkat keras.
Unit penyimpanan dibagi menjadi tanda dan bilangan biner. Karena bilangan bulat membentuk sebuah himpunan terbatas, hanya suatu subrange dari bilangan bulat disediakan. Beberapa bahasa (misalnya Lisp dan Scheme) menyediakan untuk sangat memperluas jangkauan dengan menerapkan bilangan bulat dalam daftar dan menyediakan operasi integer dalam perangkat lunak. Ini menyediakan untuk ``''aritmatika presisi terbatas.
Unit penyimpanan dibagi menjadi tanda dan bilangan biner. Karena bilangan bulat membentuk sebuah himpunan terbatas, hanya suatu subrange dari bilangan bulat disediakan. Beberapa bahasa (misalnya Lisp dan Scheme) menyediakan untuk sangat memperluas jangkauan dengan menerapkan bilangan bulat dalam daftar dan menyediakan operasi integer dalam perangkat lunak. Ini menyediakan untuk ``''aritmatika presisi terbatas.
Jumlah nilai alami yang paling sering diimplementasikan menggunakan unit penyimpanan perangkat keras didefinisikan. Para keuntungan dari menyediakan jenis nomor alami adalah bahwa sebuah bit tambahan penyimpanan tersedia sehingga memberikan nilai-nilai positif yang lebih besar daripada yang disediakan untuk nilai-nilai integer.
Nilai bilangan rasional dapat diimplementasikan sebagai pasangan bilangan bulat. Rationals disediakan bila diinginkan untuk menghindari masalah off bulat dan pemotongan yang terjadi saat mengambang nomor titik yang digunakan untuk mewakili bilangan rasional.
Nilai bilangan real yang paling sering diimplementasikan menggunakan perangkat keras didefinisikan representasi floating point.
Salah satu perwakilan tersebut terdiri dari 32-bit atau empat byte di mana bit pertama adalah tanda, tujuh berikutnya
Salah satu perwakilan tersebut terdiri dari 32-bit atau empat byte di mana bit pertama adalah tanda, tujuh berikutnya
bit eksponen dan tiga sisanya byte mantissa.
tanda
bit
tanda
bit
Aritmatika floating point dan operasi relasional diimplementasikan menggunakan set perangkat kerasoperasi. Beberapa operasi floating point seperti eksponensiasi disediakan dalam perangkat lunak. Penyimpanan Unit dibagi menjadi mantissa dan eksponen. Kadang-kadang lebih dari satu unit penyimpanan yang digunakan untuk menyediakan
presisi yang lebih besar.
Nilai-nilai karakter yang hampir selalu didukung oleh hardware dan sistem operasi,
biasanya satu byte per karakter.
Karakter dikodekan menggunakan skema pengkodean ASCII atau EBCDIC 8-bit atau 16-bit muncul Encoding unicode skema. Nilai-nilai pencacahan biasanya diwakili oleh subsequence dari bilangan bulat dan dengan demikian mewarisi sesuai subset dari operasi integer. Dimana string diperlakukan sebagai tipe primitif, mereka biasanya panjang tetap dan operasi mereka diimplementasikan dalam perangkat keras. Senyawa (atau terstruktur) tipe data termasuk array, record, dan file.
Tipe data abstrak yang terbaik diimplementasikan dengan pointer. Program pengguna memegang pointer ke nilai
jenis abstrak. Ini penggunaan pointer ini cukup aman karena manipulasi pointer terbatas pada
implementasi modul dan pointer adalah notationally tersembunyi. Model Perhitungan
Ada tiga model komputasi dasar - fungsional, logika, dan imperatif. Selain set
nilai-nilai dan operasi yang terkait, masing-masing model komputasi memiliki seperangkat operasi yang digunakan untuk mendefinisikan perhitungan. Model fungsional menggunakan aplikasi fungsi, model logika menggunakan logika inferensi dan model imperatif menggunakan urutan perubahan negara.
presisi yang lebih besar.
Nilai-nilai karakter yang hampir selalu didukung oleh hardware dan sistem operasi,
biasanya satu byte per karakter.
Karakter dikodekan menggunakan skema pengkodean ASCII atau EBCDIC 8-bit atau 16-bit muncul Encoding unicode skema. Nilai-nilai pencacahan biasanya diwakili oleh subsequence dari bilangan bulat dan dengan demikian mewarisi sesuai subset dari operasi integer. Dimana string diperlakukan sebagai tipe primitif, mereka biasanya panjang tetap dan operasi mereka diimplementasikan dalam perangkat keras. Senyawa (atau terstruktur) tipe data termasuk array, record, dan file.
Tipe data abstrak yang terbaik diimplementasikan dengan pointer. Program pengguna memegang pointer ke nilai
jenis abstrak. Ini penggunaan pointer ini cukup aman karena manipulasi pointer terbatas pada
implementasi modul dan pointer adalah notationally tersembunyi. Model Perhitungan
Ada tiga model komputasi dasar - fungsional, logika, dan imperatif. Selain set
nilai-nilai dan operasi yang terkait, masing-masing model komputasi memiliki seperangkat operasi yang digunakan untuk mendefinisikan perhitungan. Model fungsional menggunakan aplikasi fungsi, model logika menggunakan logika inferensi dan model imperatif menggunakan urutan perubahan negara.
Model Fungsional
Model fungsional perhitungan terdiri dari satu set nilai-nilai, fungsi, dan operasi dari
fungsi aplikasi dan komposisi fungsi. Selain nilai-nilai yang biasa, fungsi dapat mengambil lain fungsi sebagai argumen dan fungsi kembali sebagai hasil (fungsi orde yang lebih tinggi). Suatu program merupakan koleksi definisi fungsi dan perhitungan adalah fungsi aplikasi (evaluasi ekspresi).
Contoh awal dari perhitungan keliling lingkaran adalah contoh fungsional
pemrograman. Sebuah contoh yang lebih menarik adalah sebuah program untuk menghitung standar deviasi dari daftar skor. Rumus untuk deviasi standar adalah
Model fungsional perhitungan terdiri dari satu set nilai-nilai, fungsi, dan operasi dari
fungsi aplikasi dan komposisi fungsi. Selain nilai-nilai yang biasa, fungsi dapat mengambil lain fungsi sebagai argumen dan fungsi kembali sebagai hasil (fungsi orde yang lebih tinggi). Suatu program merupakan koleksi definisi fungsi dan perhitungan adalah fungsi aplikasi (evaluasi ekspresi).
Contoh awal dari perhitungan keliling lingkaran adalah contoh fungsional
pemrograman. Sebuah contoh yang lebih menarik adalah sebuah program untuk menghitung standar deviasi dari daftar skor. Rumus untuk deviasi standar adalah
sigma = sqrt ((Sigmai = 1N xi2) / N - [(Sigmai = 1N xi) / N] 2)
di mana xi adalah skor individu dan N adalah jumlah skor. Rumus membutuhkan komputasi baik jumlah skor dan jumlah kuadrat dari nilai. Peta fungsi tingkat tinggi menerapkan
fungsi untuk setiap elemen dari daftar dan fungsi orde yang lebih tinggi kali lipat mengurangi daftar dengan menerapkan fungsi untuk elemen pertama dari daftar dan hasil lipat sisa daftar. Gambar 1 menggambarkan apa yang implementasi dalam bahasa pemrograman fungsional mungkin terlihat seperti.
fungsi untuk setiap elemen dari daftar dan fungsi orde yang lebih tinggi kali lipat mengurangi daftar dengan menerapkan fungsi untuk elemen pertama dari daftar dan hasil lipat sisa daftar. Gambar 1 menggambarkan apa yang implementasi dalam bahasa pemrograman fungsional mungkin terlihat seperti.
Gambar 1.1: Standar deviasi menggunakan fungsi tingkat tinggi
sd (xs) = sqrt (v)
mana
n = panjang (xs)
v = lipat (ditambah, peta (sqr, xs)) / n
- Sqr (kali lipat (ditambah, xs) / n)
sd (xs) = sqrt (v)
mana
n = panjang (xs)
v = lipat (ditambah, peta (sqr, xs)) / n
- Sqr (kali lipat (ditambah, xs) / n)
Model fungsional ini penting karena sudah dalam pengembangan selama ratusan tahun dan yang notasi dan metode membentuk dasar di mana sebagian besar dari masalah kita metodologi pemecahan istirahat. Perhatian utama dalam pemrograman fungsional adalah mendefinisikan hubungan fungsional.
Gambar 1.2: Pemrograman Fungsional
nilai-nilai
fungsi
definisi fungsi = Prog ram set fungsidefinisi
Perhitungan = fungsi aplikasi
fungsi
definisi fungsi = Prog ram set fungsidefinisi
Perhitungan = fungsi aplikasi
fungsi aplikasi fungsi komposisi
Model Logika
Model logika perhitungan terdiri dari satu set nilai-nilai, definisi hubungan dan inferensi logis.
Program terdiri dari definisi hubungan dan perhitungan adalah bukti (urutan kesimpulan). Untuk contoh perhitungan lingkar sebelumnya dapat direpresentasikan sebagai:
lingkaran (R, C) jika Pi = 3,14 dan C = 2 * pi * R.
Fungsi ini digambarkan sebagai hubungan antara R dan C.Sebuah ilustrasi logika pemrograman yang lebih baik adalah sebuah program untuk menentukan kematian Socrates dan Penelope. Kita mulai dengan fakta bahwa Socrates dan Penelope adalah manusia dan aturan bahwa semua manusia fana atau ekuivalen untuk semua X, jika X adalah manusia maka X adalah fana.
Model logika perhitungan terdiri dari satu set nilai-nilai, definisi hubungan dan inferensi logis.
Program terdiri dari definisi hubungan dan perhitungan adalah bukti (urutan kesimpulan). Untuk contoh perhitungan lingkar sebelumnya dapat direpresentasikan sebagai:
lingkaran (R, C) jika Pi = 3,14 dan C = 2 * pi * R.
Fungsi ini digambarkan sebagai hubungan antara R dan C.Sebuah ilustrasi logika pemrograman yang lebih baik adalah sebuah program untuk menentukan kematian Socrates dan Penelope. Kita mulai dengan fakta bahwa Socrates dan Penelope adalah manusia dan aturan bahwa semua manusia fana atau ekuivalen untuk semua X, jika X adalah manusia maka X adalah fana.
Suatu bentuk setara fakta dan aturan adalah:
manusia (Socrates)
manusia (Penelope)
fana (X) jika manusia (X)
Untuk menentukan kematian Sokrates atau Penelope kita membuat asumsi bahwa tidak ada manusia i.e.
¬ fana (Y)
manusia (Penelope)
fana (X) jika manusia (X)
Untuk menentukan kematian Sokrates atau Penelope kita membuat asumsi bahwa tidak ada manusia i.e.
¬ fana (Y)
Gambar 2 berisi perhitungan (bukti) bahwa Socrates dan Penelope yang fana.
Gambar 1.3: Sokrates adalah fana
1a. manusia (Socrates) Fakta
1b. manusia (Penelope) Fakta
2. fana (X) jika manusia (X) Peraturan
3. ¬ fana (Y) Asumsi
4a. X = Y dari 2 & 3 oleh penyatuan
4b. ¬ manusia (Y) dan modus tollens
5a. Y = Socrates dari 1 dan 4 dengan unifikasi
5b. Y = Penelope
6. Kontradiksi 5a, 4b, dan 1a, 5b, 4b dan 1b
Gambar 1.3: Sokrates adalah fana
1a. manusia (Socrates) Fakta
1b. manusia (Penelope) Fakta
2. fana (X) jika manusia (X) Peraturan
3. ¬ fana (Y) Asumsi
4a. X = Y dari 2 & 3 oleh penyatuan
4b. ¬ manusia (Y) dan modus tollens
5a. Y = Socrates dari 1 dan 4 dengan unifikasi
5b. Y = Penelope
6. Kontradiksi 5a, 4b, dan 1a, 5b, 4b dan 1b
Langkah pertama dalam perhitungan adalah pemotongan baris 4 dari baris 2 dan 3. Hal ini dibenarkan oleh Aturan inferensi modus tollens yang menyatakan bahwa jika kesimpulan dari aturan diketahui palsu, kemudian jadi adalah hipotesis. Variabel X dan Y dapat bersatu karena mereka mungkin memiliki nilai apapun. Dengan unifikasi,Garis 5a, 4b, dan 1a; kontradiksi 5b, 4b dan 1b memproduksi dan mengidentifikasi baik Socrates dan Penelope r
Program = set aksioma - formalisasi perhitungan pengetahuan bukti = konstruktif tujuan
pernyataan dari program ini.
Program = set aksioma - formalisasi perhitungan pengetahuan bukti = konstruktif tujuan
pernyataan dari program ini.
Gambar 1.4: Pemrograman Logika
nilai-nilai = Program set definisi relasi
Perhitungan bukti = konstruktif (kesimpulan dari definisi)hubungan inferensi logis
Perhitungan bukti = konstruktif (kesimpulan dari definisi)hubungan inferensi logis
kesimpulan
Program = set aksioma - formalisasi perhitungan pengetahuan bukti = konstruktif tujuan
pernyataan dari program ini.
Program = set aksioma - formalisasi perhitungan pengetahuan bukti = konstruktif tujuan
pernyataan dari program ini.
Model Imperatif
Model imperatif perhitungan terdiri dari satu set nilai-nilai termasuk negara dan operasi
tugas untuk mengubah negara. Negara adalah himpunan pasangan nama-nilai dari konstanta dan variabel.Program terdiri dari urutan tugas dan perhitungan adalah urutan negara. Setiap langkah dalam perhitungan adalah hasil dari tugas operasi (Lihat Gambar 3).
Gambar 1.5: Urutan Negara
S0-O0-> S1 - ... -> Sn-1-On-1-> Sn
Model imperatif perhitungan terdiri dari satu set nilai-nilai termasuk negara dan operasi
tugas untuk mengubah negara. Negara adalah himpunan pasangan nama-nilai dari konstanta dan variabel.Program terdiri dari urutan tugas dan perhitungan adalah urutan negara. Setiap langkah dalam perhitungan adalah hasil dari tugas operasi (Lihat Gambar 3).
Gambar 1.5: Urutan Negara
S0-O0-> S1 - ... -> Sn-1-On-1-> Sn
Sebagai contoh, sebuah implementasi penting dari perhitungan lingkar sebelumnya dapat ditulis sebagai:konstanta pi = 3,14
masukan (Radius) Lingkar: = 2 * pi * Radius Output (Lingkar)
Perhitungan ini memerlukan implementasi untuk menentukan nilai Radius dan pi di negara dankemudian mengubah negara dengan pasangan Lingkar dengan nilai baru.
Hal ini lebih mudah untuk melacak negara ketika informasi negara disertakan dengan kode.
masukan (Radius) Lingkar: = 2 * pi * Radius Output (Lingkar)
Perhitungan ini memerlukan implementasi untuk menentukan nilai Radius dan pi di negara dankemudian mengubah negara dengan pasangan Lingkar dengan nilai baru.
Hal ini lebih mudah untuk melacak negara ketika informasi negara disertakan dengan kode.
konstanta pi = 3,14
Radius _ | _, Lingkar = _ | _, pi = 3,14
masukan (Radius)
X Radius, Lingkar = _ | _, pi = 3,14
Lingkar: = 2 * pi * Radius
Radius x, Lingkar = 2 × x × pi, pi = 3,14
Output (Lingkar)
Radius x, Lingkar = 2 × x × pi, pi = 3,14
mana _ | _ menunjuk nilai terdefinisi.
Radius _ | _, Lingkar = _ | _, pi = 3,14
masukan (Radius)
X Radius, Lingkar = _ | _, pi = 3,14
Lingkar: = 2 * pi * Radius
Radius x, Lingkar = 2 × x × pi, pi = 3,14
Output (Lingkar)
Radius x, Lingkar = 2 × x × pi, pi = 3,14
mana _ | _ menunjuk nilai terdefinisi.
Model penting ini sering disebut model prosedural karena kelompok operasi diabstraksikan
ke dalam prosedur.Model imperatif-prosedural adalah penting karena model-model perubahan dan perubahan merupakan bagian integral lingkungan kita. Ini adalah model komputasi yang terdekat dengan hardware pada program mana yang dieksekusi. Kedekatannya dengan perangkat keras membuat program-program termudah untuk menerapkan dan imperatif cenderung membuat tuntutan setidaknya untuk sumber daya sistem (waktu dan ruang). Perhatian utama di imperatif
pemrograman mendefinisikan urutan perubahan negara.
ke dalam prosedur.Model imperatif-prosedural adalah penting karena model-model perubahan dan perubahan merupakan bagian integral lingkungan kita. Ini adalah model komputasi yang terdekat dengan hardware pada program mana yang dieksekusi. Kedekatannya dengan perangkat keras membuat program-program termudah untuk menerapkan dan imperatif cenderung membuat tuntutan setidaknya untuk sumber daya sistem (waktu dan ruang). Perhatian utama di imperatif
pemrograman mendefinisikan urutan perubahan negara.
Gambar 1.6: Pemrograman Imperatif
memori
sel
nilai-nilai
perintah
Program = urutan perintah
Perhitungan = urutan perubahan keadaan
sel
nilai-nilai
perintah
Program = urutan perintah
Perhitungan = urutan perubahan keadaan
komputabilitas
Logika, dan model imperatif fungsional perhitungan yang setara dalam arti bahwa masalah
yang memiliki solusi dalam satu model dipecahkan (pada prinsipnya) masing-masing model lain. Model-model lain dari perhitungan telah diusulkan. Model lainnya telah terbukti setara dengan tigamodel. Ini dikatakan model universal perhitungan.Metode perhitungan yang disediakan dalam bahasa pemrograman tergantung pada model perhitungan diimplementasikan oleh bahasa pemrograman. Bahasa pemrograman yang paling memanfaatkan lebih dari satu model perhitungan namun satu model biasanya mendominasi. Lisp, Scheme, dan ML didasarkan pada model fungsional dari perhitungan tetapi menyediakan beberapa konstruksi imperatif sementara, Miranda dan Haskell menyediakan implementasi hampir murni dari model fungsional perhitungan. Prolog menyediakan parsial pelaksanaan model logika komputasi tetapi, untuk alasan efisiensi dan kepraktisan,gagal di beberapa daerah dan berisi konstruksi imperatif. Para Gödel bahasa lebih dekat ke ideal.Model penting memerlukan beberapa elemen fungsional dan logis dan bahasa seperti Pascal, C / C ++, Ada dan Jawa menekankan tugas, metode perhitungan mendefinisikan urutan berbagaimenyediakan implementasi minimal model fungsional dan logika perhitungan.
Logika, dan model imperatif fungsional perhitungan yang setara dalam arti bahwa masalah
yang memiliki solusi dalam satu model dipecahkan (pada prinsipnya) masing-masing model lain. Model-model lain dari perhitungan telah diusulkan. Model lainnya telah terbukti setara dengan tigamodel. Ini dikatakan model universal perhitungan.Metode perhitungan yang disediakan dalam bahasa pemrograman tergantung pada model perhitungan diimplementasikan oleh bahasa pemrograman. Bahasa pemrograman yang paling memanfaatkan lebih dari satu model perhitungan namun satu model biasanya mendominasi. Lisp, Scheme, dan ML didasarkan pada model fungsional dari perhitungan tetapi menyediakan beberapa konstruksi imperatif sementara, Miranda dan Haskell menyediakan implementasi hampir murni dari model fungsional perhitungan. Prolog menyediakan parsial pelaksanaan model logika komputasi tetapi, untuk alasan efisiensi dan kepraktisan,gagal di beberapa daerah dan berisi konstruksi imperatif. Para Gödel bahasa lebih dekat ke ideal.Model penting memerlukan beberapa elemen fungsional dan logis dan bahasa seperti Pascal, C / C ++, Ada dan Jawa menekankan tugas, metode perhitungan mendefinisikan urutan berbagaimenyediakan implementasi minimal model fungsional dan logika perhitungan.
Sintaks dan Semantik
Sintaks menjelaskan struktur program dan semantik mendefinisikan hubungan antara sintaks
dan model komputasi. Untuk menyederhanakan tugas penalaran tentang program, sintaks dari suatu bahasa pemrograman harus terkait erat dengan model komputasi. Prinsip utama adalah
prinsip kejelasan.
Sintaks menjelaskan struktur program dan semantik mendefinisikan hubungan antara sintaks
dan model komputasi. Untuk menyederhanakan tugas penalaran tentang program, sintaks dari suatu bahasa pemrograman harus terkait erat dengan model komputasi. Prinsip utama adalah
prinsip kejelasan.
Prinsip Kejelasan
Struktur bahasa pemrograman harus didefinisikan dengan baik, dan hasil dari
bagian tertentu dari kode mudah diprediksi.Notasi yang digunakan dalam model fungsional dan logika matematika menunjukkan praktik umum dan pameran kesederhanaan notasi dan keteraturan ditemukan dalam disiplin itu. Karena notasi yang digunakan untuk model imperatif harus mampu menentukan baik berbagai urutan negara dan ekspresi, ia cenderung tidak teratur dan kompleksitas yang lebih besar daripada notasi untuk model fungsional dan logika. Karena kompleksitas dan penggunaan tersebar luas bahasa pemrograman imperatif, sebagian besar pekerjaan dilakukan di bidang semantik bahasa pemrograman berhubungan dengan bahasa pemrograman imperatif.
Struktur bahasa pemrograman harus didefinisikan dengan baik, dan hasil dari
bagian tertentu dari kode mudah diprediksi.Notasi yang digunakan dalam model fungsional dan logika matematika menunjukkan praktik umum dan pameran kesederhanaan notasi dan keteraturan ditemukan dalam disiplin itu. Karena notasi yang digunakan untuk model imperatif harus mampu menentukan baik berbagai urutan negara dan ekspresi, ia cenderung tidak teratur dan kompleksitas yang lebih besar daripada notasi untuk model fungsional dan logika. Karena kompleksitas dan penggunaan tersebar luas bahasa pemrograman imperatif, sebagian besar pekerjaan dilakukan di bidang semantik bahasa pemrograman berhubungan dengan bahasa pemrograman imperatif.
Pragmatik
Pragmatik prihatin tentang kegunaan dari bahasa, area aplikasi, kemudahan
pelaksanaan dan penggunaan, dan kesuksesan bahasa dalam memenuhi tujuan desain. Pasukan yang membentuk suatu bahasa pemrograman meliputi arsitektur komputer, praktek-praktek rekayasa perangkat lunak (khususnya siklus hidup perangkat lunak), model komputasi, dan domain aplikasi (misalnya antarmuka pengguna, sistem pemrograman, dan sistem pakar).Untuk bahasa untuk memiliki luas diterapkan harus membuat ketentuan untuk abstraksi, generalisasi dan modularitas. Abstraksi (mengasosiasikan nama dengan obyek dan menggunakan nama untuk setiap kali objek) diperlukan izin penindasan detail dan memberikan konstruksi yang memungkinkan perpanjangan dari suatu bahasa pemrograman. Ekstensi ini diperlukan untuk mengurangi kompleksitas program.Generalisasi (mengganti konstanta dengan variabel) memungkinkan aplikasi konstruksi untuk lebih objek dan mungkin untuk kelas-kelas lain objek. Modularitas adalah partisi dari sebuah program menjadi bagian-bagian biasanya untuk kompilasi terpisah dan ke perpustakaan kode dapat digunakan kembali. Abstraksi, generalisasi dan modularitas meringankan beban pada programmer dengan memungkinkan programmer untuk memperkenalkan tingkat detail dan logis partisi dari sebuah program. Pelaksanaan dari bahasa pemrograman harus
setia dengan model komputasi yang mendasari dan menjadi implementasi yang efisien.
Pemrograman konkuren melibatkan notasi untuk mengekspresikan potensi eksekusi paralel porsi dari program dan teknik untuk memecahkan sinkronisasi yang dihasilkan dan masalah komunikasi.Pemrograman konkuren dapat diimplementasikan dalam setiap model komputasi.
Concurrency dalam model fungsional dan logika sangat menarik karena, subexpression
evaluasi dan kesimpulan dapat dilakukan secara bersamaan dan tidak memerlukan sintaks tambahan.Concurrency dalam model imperatif memerlukan unsur sintaksis tambahan.
Berorientasi objek pemrograman OOP melibatkan notasi untuk penataan program menjadi koleksi benda yang menghitung dengan bertukar pesan. Setiap objek terikat dengan nilai dan satu set operasi yang menentukan pesan yang dapat merespon. Objek yang diatur Berorientasi objek pemrograman dapat diimplementasikan dalam setiap model komputasi lainnya.
hierarkis dan mewarisi operasi dari obyek yang lebih tinggi dalam hirarki. Program ditulis dan dibaca oleh manusia tetapi dieksekusi oleh komputer. Karena baik manusia dan
komputer harus dapat memahami program, perlu untuk memahami persyaratan dari kedua
kelas pengguna.Bahasa pemrograman komputer asli yang kecil sekali bahasa alami. mesin
bahasa terstruktur dan mengandung sedikit, jika ada, konstruksi menyerupai tingkat di mana manusia berpikir. Instruksi biasanya mencakup operasi aritmatika dan logika, modifikasi memori petunjuk dan instruksi percabangan. Sebagai contoh, perhitungan keliling mungkin ditulis dalam bahasa assembly sebagai:
Pragmatik prihatin tentang kegunaan dari bahasa, area aplikasi, kemudahan
pelaksanaan dan penggunaan, dan kesuksesan bahasa dalam memenuhi tujuan desain. Pasukan yang membentuk suatu bahasa pemrograman meliputi arsitektur komputer, praktek-praktek rekayasa perangkat lunak (khususnya siklus hidup perangkat lunak), model komputasi, dan domain aplikasi (misalnya antarmuka pengguna, sistem pemrograman, dan sistem pakar).Untuk bahasa untuk memiliki luas diterapkan harus membuat ketentuan untuk abstraksi, generalisasi dan modularitas. Abstraksi (mengasosiasikan nama dengan obyek dan menggunakan nama untuk setiap kali objek) diperlukan izin penindasan detail dan memberikan konstruksi yang memungkinkan perpanjangan dari suatu bahasa pemrograman. Ekstensi ini diperlukan untuk mengurangi kompleksitas program.Generalisasi (mengganti konstanta dengan variabel) memungkinkan aplikasi konstruksi untuk lebih objek dan mungkin untuk kelas-kelas lain objek. Modularitas adalah partisi dari sebuah program menjadi bagian-bagian biasanya untuk kompilasi terpisah dan ke perpustakaan kode dapat digunakan kembali. Abstraksi, generalisasi dan modularitas meringankan beban pada programmer dengan memungkinkan programmer untuk memperkenalkan tingkat detail dan logis partisi dari sebuah program. Pelaksanaan dari bahasa pemrograman harus
setia dengan model komputasi yang mendasari dan menjadi implementasi yang efisien.
Pemrograman konkuren melibatkan notasi untuk mengekspresikan potensi eksekusi paralel porsi dari program dan teknik untuk memecahkan sinkronisasi yang dihasilkan dan masalah komunikasi.Pemrograman konkuren dapat diimplementasikan dalam setiap model komputasi.
Concurrency dalam model fungsional dan logika sangat menarik karena, subexpression
evaluasi dan kesimpulan dapat dilakukan secara bersamaan dan tidak memerlukan sintaks tambahan.Concurrency dalam model imperatif memerlukan unsur sintaksis tambahan.
Berorientasi objek pemrograman OOP melibatkan notasi untuk penataan program menjadi koleksi benda yang menghitung dengan bertukar pesan. Setiap objek terikat dengan nilai dan satu set operasi yang menentukan pesan yang dapat merespon. Objek yang diatur Berorientasi objek pemrograman dapat diimplementasikan dalam setiap model komputasi lainnya.
hierarkis dan mewarisi operasi dari obyek yang lebih tinggi dalam hirarki. Program ditulis dan dibaca oleh manusia tetapi dieksekusi oleh komputer. Karena baik manusia dan
komputer harus dapat memahami program, perlu untuk memahami persyaratan dari kedua
kelas pengguna.Bahasa pemrograman komputer asli yang kecil sekali bahasa alami. mesin
bahasa terstruktur dan mengandung sedikit, jika ada, konstruksi menyerupai tingkat di mana manusia berpikir. Instruksi biasanya mencakup operasi aritmatika dan logika, modifikasi memori petunjuk dan instruksi percabangan. Sebagai contoh, perhitungan keliling mungkin ditulis dalam bahasa assembly sebagai:
Radius beban R1
Mult R1 2 R1
Beban Pi R2
R1 R2 R1 mult
Toko R1 Lingkar
Mult R1 2 R1
Beban Pi R2
R1 R2 R1 mult
Toko R1 Lingkar
karena model penting lebih dekat dengan perangkat keras yang sebenarnya, program-program penting cenderung lebih efisien dalam penggunaan waktu dan ruang dari program fungsional dan logika setara.Bahasa alam tidak cocok untuk bahasa pemrograman karena manusia sendiri tidak menggunakan alami bahasa ketika mereka membangun formulasi yang tepat dari konsep-konsep dan prinsip-prinsip tertentu pengetahuan domain. Sebaliknya, mereka menggunakan campuran bahasa alam, notasi simbolik formal matematika dan logika dan diagram. Yang paling sukses dari notasi simbolis mengandung beberapa dasar objek yang dapat dikombinasikan melalui beberapa aturan sederhana untuk menghasilkan objek tingkat sewenang-wenang kompleksitas. Dalam sistem ini, manusia mengurangi kompleksitas dengan menggunakan definisi, abstraksi,generalisasi dan analogi. Bahasa pemrograman yang sukses melakukan hal yang sama dengan katering ke alam
pemecahan masalah pendekatan yang digunakan oleh manusia. Idealnya, bahasa pemrograman harus mendekati tingkat di mana manusia akal dan harus mencerminkan pendekatan notasi yang digunakan manusia dalam pemecahan masalah dan harus mencakup cara-cara program penataan untuk memudahkan tugas-tugas pemahaman program, debugging dan pemeliharaan
pemecahan masalah pendekatan yang digunakan oleh manusia. Idealnya, bahasa pemrograman harus mendekati tingkat di mana manusia akal dan harus mencerminkan pendekatan notasi yang digunakan manusia dalam pemecahan masalah dan harus mencakup cara-cara program penataan untuk memudahkan tugas-tugas pemahaman program, debugging dan pemeliharaan
Bahasa Prinsip Desain
Bahasa pemrograman sebagian besar ditentukan oleh para desainer pentingnya bahasa melekat padamodel komputasi, pembacaan aplikasi domain dimaksudkan, menulis-kemampuan dan efisieneksekusi. Beberapa bahasa yang sangat ditentukan oleh kebutuhan untuk implementasi yang efisien dan eksekusi. Yang lain dirancang untuk setia ke model komputasi.
Penelitian di arsitektur komputer adalah memproduksi Penelitian dalam implementasi bahasa pemrograman adalah memproduksi lebih efisien implementasi bahasa pemrograman untuk semua model perhitungan. Penelitian di rekayasa perangkat lunak adalah menghasilkan pemahaman yang lebih baik penataan program yang teknik yang mengarah ke program yang lebih mudah untuk menulis, membaca (mengerti), dan memelihara.Semua bahasa pemrograman tujuan umum mematuhi desain bahasa pemrograman berikut prinsip.
Bahasa pemrograman sebagian besar ditentukan oleh para desainer pentingnya bahasa melekat padamodel komputasi, pembacaan aplikasi domain dimaksudkan, menulis-kemampuan dan efisieneksekusi. Beberapa bahasa yang sangat ditentukan oleh kebutuhan untuk implementasi yang efisien dan eksekusi. Yang lain dirancang untuk setia ke model komputasi.
Penelitian di arsitektur komputer adalah memproduksi Penelitian dalam implementasi bahasa pemrograman adalah memproduksi lebih efisien implementasi bahasa pemrograman untuk semua model perhitungan. Penelitian di rekayasa perangkat lunak adalah menghasilkan pemahaman yang lebih baik penataan program yang teknik yang mengarah ke program yang lebih mudah untuk menulis, membaca (mengerti), dan memelihara.Semua bahasa pemrograman tujuan umum mematuhi desain bahasa pemrograman berikut prinsip.
Prinsip Kesederhanaan
Bahasa harus didasarkan pada sedikitnya
Bahasa harus didasarkan pada sedikitnya
Prinsip Ortogonalitas
Fungsi independen harus dikontrol oleh mekanisme independen.
Fungsi independen harus dikontrol oleh mekanisme independen.
Prinsip Keteraturan
Satu set objek dikatakan teratur sehubungan dengan beberapa kondisi jika, dan hanya jika, kondisi
ini berlaku untuk setiap elemen dari himpunan.
Satu set objek dikatakan teratur sehubungan dengan beberapa kondisi jika, dan hanya jika, kondisi
ini berlaku untuk setiap elemen dari himpunan.
Prinsip Extensibility
Objek baru dari masing-masing kelas sintaksis dapat dibangun (didefinisikan) dari dasar dan didefinisikan konstruksi dalam suatu cara sistematis.
Objek baru dari masing-masing kelas sintaksis dapat dibangun (didefinisikan) dari dasar dan didefinisikan konstruksi dalam suatu cara sistematis.
Prinsip keteraturan dan dan diperpanjang mengharuskan konsep dasar bahasa harus
diterapkan secara konsisten dan universal.
Pada halaman berikut kita akan mempelajari bahasa pemrograman sebagai realisasi dari model komputasi,semantik sebagai hubungan antara model komputasi dan sintaks, dan terkait pragmatis
keprihatinan.
diterapkan secara konsisten dan universal.
Pada halaman berikut kita akan mempelajari bahasa pemrograman sebagai realisasi dari model komputasi,semantik sebagai hubungan antara model komputasi dan sintaks, dan terkait pragmatis
keprihatinan.
Perspektif historis dan Bacaan Lebih Lanjut
Untuk teks bahasa pemrograman yang menyajikan bahasa pemrograman dari mesin virtual
sudut pandang melihat Pratt, dari sudut pandang semantik denotational melihat Tennent, dan dari metodologi pemrograman sudut pandang melihat Hehner.
Untuk teks bahasa pemrograman yang menyajikan bahasa pemrograman dari mesin virtual
sudut pandang melihat Pratt, dari sudut pandang semantik denotational melihat Tennent, dan dari metodologi pemrograman sudut pandang melihat Hehner.
l Hehner, E. C. R. (1984)
Logika Pemrograman Prentice-Hall International.
l Pratt, T. W. dan Zelkowitz, M. V. (1996)
Bahasa pemrograman: Desain dan Implementasi 3rd ed. Prentice-Hall.
l Tennent, R. D. (1981)
Prinsip-prinsip Bahasa Pemrograman Prentice-Hall International.
Latihan
1. Mengidentifikasi lingkup aturan yang berlaku pada Gambar 2.
2. Buatlah sebuah jejak pelaksanaan program berikut (yaitu melengkapi bukti berikut).
1. parentOf (john, mary).
2. parentOf (kay, john).
3. parentOf (tagihan, kay).
4. ancestorOf (X, Y) jika parentOf (X, Y).
5. ancestorOf (X, Z) jika parentOf (X, Y) dan ancestorOf (Y, Z).
6. tidak ancestorOf (tagihan, mary).
3. Buatlah sebuah jejak pelaksanaan faktor (4) diberikan definisi fungsi
fac (N) = jika N = 0 maka 1
faktor lain N * (N-1)
4. Buatlah sebuah jejak pelaksanaan program berikut
N: = 4;
F: = 1;
Sementara N> 0 lakukan
F: = N * M;
N: = N-1;
akhir;
5. Menggunakan definisi berikut daftar,
daftar ([]) - daftar kosong
daftar ([X | L]) jika daftar (L) - elemen pertama adalah X sisa
http://cs.wwc.edu/ ~ aabyan / PLBook / HTML / Intro.html (13 dari 14) 2006/08/10 20:25:39
Pengantar
daftar adalah L
[X0, ... Xn] adalah singkatan untuk [X0 |[...[ Xn | []]...]
menyelesaikan perhitungan berikut (bukti) dan menentukan hasil dari concatenating dua
daftar.
1. concat ([], L, L) Fakta
2. concat ([X | L0], L1, [X | L2]) jika concat (L0, L1, L2) Peraturan
3. ¬ concat ([0,1], [a, b], L) Asumsi
6. Mengklasifikasikan bahasa-bahasa berikut dalam hal model komputasi: Ada, APL, BASIC, C,COBOL, FORTRAN, Haskell, Icon, LISP, Pascal, Prolog, SNOBOL.
7. Untuk aplikasi berikut, menentukan model komputasi yang tepat yang bisa berfungsi
untuk memberikan solusi: teller mesin otomatis, sistem kontrol penerbangan, layanan nasihat hukum,tenaga nuklir stasiun pemantauan sistem, dan robot industri.
8. Bandingkan bentuk sintaksis if-command/expression seperti yang ditemukan di Ada, APL, BASIC, C,COBOL, FORTRAN, Haskell, Icon, LISP, Pascal, Prolog, SNOBOL.
9. Bahasa extensible adalah bahasa yang dapat diperpanjang setelah waktu bahasa desain.
Bandingkan fitur diperpanjang dari C atau Pascal dengan orang-orang dari LISP atau Skema.
10. Apa konstruksi bahasa pemrograman C tergantung pada lingkungan lokal?
11. Bahasa apa yang menyediakan untuk mengikat tipe variabel pada run-time?
12. Diskusikan keuntungan dan kerugian dari mengikat awal dan akhir untuk bahasa berikut
fitur. Jenis variabel, ukuran dari sebuah array, bentuk-bentuk ekspresi dan perintah.
13. Membandingkan dua bahasa pemrograman dari paradigma komputasi yang sama sehubungan denganprinsip-prinsip pemrograman bahasa desain.
14. Buatlah program dalam bahasa favorit Anda untuk melakukan salah satu dari berikut:
a. Melakukan integrasi numerik mana fungsi dilewatkan sebagai parameter.
b. Lakukan pemilahan mana fungsi kurang dari dilewatkan sebagai parameter.
Izin untuk membuat salinan digital / hard sebagian atau seluruh pekerjaan ini untuk penggunaan pribadi atau ruang kelas diberikan tanpa biaya dengan ketentuan bahwa salinan tidak dibuat atau didistribusikan untuk keuntungan profit atau komersial, pemberitahuan hak cipta,judul publikasi, dan tanggal muncul, dan pemberitahuan yang diberikan bahwa penyalinan adalah dengan izin dari Anthony A.Aaby. Untuk menyalin sebaliknya, untuk menerbitkan, untuk posting di server, atau untuk mendistribusikan ulang pada daftar, mengharuskan sebelum spesifikizin dan / atau biaya.
© 1998 Anthony A. Aaby. Terakhir Modifikasi -. Kirim komentar untuk aabyan@wwc.edu
Logika Pemrograman Prentice-Hall International.
l Pratt, T. W. dan Zelkowitz, M. V. (1996)
Bahasa pemrograman: Desain dan Implementasi 3rd ed. Prentice-Hall.
l Tennent, R. D. (1981)
Prinsip-prinsip Bahasa Pemrograman Prentice-Hall International.
Latihan
1. Mengidentifikasi lingkup aturan yang berlaku pada Gambar 2.
2. Buatlah sebuah jejak pelaksanaan program berikut (yaitu melengkapi bukti berikut).
1. parentOf (john, mary).
2. parentOf (kay, john).
3. parentOf (tagihan, kay).
4. ancestorOf (X, Y) jika parentOf (X, Y).
5. ancestorOf (X, Z) jika parentOf (X, Y) dan ancestorOf (Y, Z).
6. tidak ancestorOf (tagihan, mary).
3. Buatlah sebuah jejak pelaksanaan faktor (4) diberikan definisi fungsi
fac (N) = jika N = 0 maka 1
faktor lain N * (N-1)
4. Buatlah sebuah jejak pelaksanaan program berikut
N: = 4;
F: = 1;
Sementara N> 0 lakukan
F: = N * M;
N: = N-1;
akhir;
5. Menggunakan definisi berikut daftar,
daftar ([]) - daftar kosong
daftar ([X | L]) jika daftar (L) - elemen pertama adalah X sisa
http://cs.wwc.edu/ ~ aabyan / PLBook / HTML / Intro.html (13 dari 14) 2006/08/10 20:25:39
Pengantar
daftar adalah L
[X0, ... Xn] adalah singkatan untuk [X0 |[...[ Xn | []]...]
menyelesaikan perhitungan berikut (bukti) dan menentukan hasil dari concatenating dua
daftar.
1. concat ([], L, L) Fakta
2. concat ([X | L0], L1, [X | L2]) jika concat (L0, L1, L2) Peraturan
3. ¬ concat ([0,1], [a, b], L) Asumsi
6. Mengklasifikasikan bahasa-bahasa berikut dalam hal model komputasi: Ada, APL, BASIC, C,COBOL, FORTRAN, Haskell, Icon, LISP, Pascal, Prolog, SNOBOL.
7. Untuk aplikasi berikut, menentukan model komputasi yang tepat yang bisa berfungsi
untuk memberikan solusi: teller mesin otomatis, sistem kontrol penerbangan, layanan nasihat hukum,tenaga nuklir stasiun pemantauan sistem, dan robot industri.
8. Bandingkan bentuk sintaksis if-command/expression seperti yang ditemukan di Ada, APL, BASIC, C,COBOL, FORTRAN, Haskell, Icon, LISP, Pascal, Prolog, SNOBOL.
9. Bahasa extensible adalah bahasa yang dapat diperpanjang setelah waktu bahasa desain.
Bandingkan fitur diperpanjang dari C atau Pascal dengan orang-orang dari LISP atau Skema.
10. Apa konstruksi bahasa pemrograman C tergantung pada lingkungan lokal?
11. Bahasa apa yang menyediakan untuk mengikat tipe variabel pada run-time?
12. Diskusikan keuntungan dan kerugian dari mengikat awal dan akhir untuk bahasa berikut
fitur. Jenis variabel, ukuran dari sebuah array, bentuk-bentuk ekspresi dan perintah.
13. Membandingkan dua bahasa pemrograman dari paradigma komputasi yang sama sehubungan denganprinsip-prinsip pemrograman bahasa desain.
14. Buatlah program dalam bahasa favorit Anda untuk melakukan salah satu dari berikut:
a. Melakukan integrasi numerik mana fungsi dilewatkan sebagai parameter.
b. Lakukan pemilahan mana fungsi kurang dari dilewatkan sebagai parameter.
Izin untuk membuat salinan digital / hard sebagian atau seluruh pekerjaan ini untuk penggunaan pribadi atau ruang kelas diberikan tanpa biaya dengan ketentuan bahwa salinan tidak dibuat atau didistribusikan untuk keuntungan profit atau komersial, pemberitahuan hak cipta,judul publikasi, dan tanggal muncul, dan pemberitahuan yang diberikan bahwa penyalinan adalah dengan izin dari Anthony A.Aaby. Untuk menyalin sebaliknya, untuk menerbitkan, untuk posting di server, atau untuk mendistribusikan ulang pada daftar, mengharuskan sebelum spesifikizin dan / atau biaya.
© 1998 Anthony A. Aaby. Terakhir Modifikasi -. Kirim komentar untuk aabyan@wwc.edu