Apa nama properti dari algoritma, yang berarti diberikan. Apa nama properti dari algoritma, yang berarti bahwa jalan pemecahan masalah dibagi menjadi langkah-langkah terpisah? Versi grafis dari konstruksi algoritma

29.10.2019 Windows dan disk

Masing-masing dari kita terus-menerus memecahkan banyak masalah: bagaimana bekerja lebih cepat, bagaimana merencanakan urusan hari itu dengan lebih baik, dan banyak lainnya. Solusi dari setiap masalah selalu dibagi menjadi tindakan sederhana yang membentuk algoritma.

algoritma adalah setiap urutan tindakan yang mengarah ke solusi masalah.

Kata "algoritma" muncul pada Abad Pertengahan, ketika orang Eropa berkenalan dengan metode melakukan operasi aritmatika dalam sistem bilangan desimal, yang dijelaskan oleh matematikawan Uzbekistan Mohammed bin Musa al-Khawarizmi ("al-Khorezmi" adalah seorang pria dari kota Khorezmi; saat ini kota Khiva di wilayah Khorezm di Uzbekistan). Kata "algoritma" adalah hasil pengucapan Eropa dari kata "al-Khawarizmi".

Algoritma dicirikan oleh sifat-sifat berikut: diskrit, karakter massa, kepastian, efisiensi.

kebijaksanaan adalah properti yang artinya sebagai berikut: setiap algoritme terdiri dari tindakan selesai yang terpisah, yaitu "dibagi menjadi beberapa langkah."

karakter massa- penerapan algoritme untuk semua jenis masalah yang sedang dipertimbangkan untuk data awal apa pun.

Kepastian- properti algoritme, yang terdiri dari definisi ketat konten dan urutan pelaksanaan langkah-langkah individual.

Efisiensi- properti bahwa setiap algoritma harus menemukan solusi dalam jumlah langkah yang terbatas.

Ada beberapa cara untuk mendeskripsikan algoritma: deskripsi verbal, flowchart, bahasa algoritma, dan program.

lisan deskripsi mewakili struktur algoritma dalam bahasa alami. Misalnya, setiap peralatan rumah tangga (setrika, gergaji listrik, bor, dll.) memiliki instruksi manual, yaitu deskripsi verbal dari algoritme yang sesuai dengan penggunaan perangkat ini.

Algoritme ditulis dalam bentuk arbitrer dalam bahasa alami, misalnya, Rusia. Metode deskripsi ini tidak banyak digunakan, karena tidak diformalkan secara ketat, memungkinkan interpretasi yang ambigu ketika menggambarkan beberapa tindakan, dan menderita verbositas.

diagram blok- deskripsi struktur algoritme menggunakan bentuk geometris dengan garis koneksi yang menunjukkan urutan instruksi individual yang dieksekusi. Metode ini memiliki sejumlah keunggulan. Berkat visibilitasnya, ini memastikan "keterbacaan" algoritme dan dengan jelas menampilkan urutan eksekusi perintah individu. Dalam diagram blok, setiap konstruksi formal sesuai dengan sosok geometris tertentu atau satu set angka yang dihubungkan oleh garis. Bentuk geometris utama yang digunakan untuk membangun diagram blok meliputi yang berikut ini.

Karakterisasi blok Mulailah dan tamat algoritma:

Blok tampilan proses (operator), dimaksudkan untuk menggambarkan tindakan individu:

Deskripsi blok lingkaran dengan parameter:

Memblokir I/O dari media penyimpanan sewenang-wenang:

Deskripsi algoritma dalam bentuk verbal atau dalam bentuk diagram blok memungkinkan beberapa kesewenang-wenangan dalam representasi perintah. Pada saat yang sama, ini memungkinkan seseorang untuk dengan mudah memahami esensi masalah dan menjalankan algoritme.

bahasa algoritmik, disebut sebagai kodesemu,- ini adalah catatan algoritme, dalam banyak hal mengingatkan pada catatan algoritme dalam bahasa alami dan bahasa pemrograman. Saat menjelaskan algoritma dalam pseudocode, konstruksi berikut digunakan:

np- awal siklus; kn_ - akhir siklus; untuk- loop dengan parameter; jika- kondisi; lalu - hasil dari kondisi tersebut; jika tidak- hasil dari tidak terpenuhinya kondisi; semua- akhir kondisi; selamat tinggal- kondisi siklus.

Pertimbangkan contoh diagram alur dari tiga jenis algoritma utama: linier, bercabang dan siklik. Linier adalah algoritma di mana semua tahap pemecahan masalah dilakukan secara berurutan.

diagram blok algoritma linier mencari keliling segitiga siku-siku R dengan panjang kaki yang diketahui a, b ditunjukkan pada gambar. 5.1.

percabangan Algoritma adalah suatu algoritma di mana salah satu dari beberapa kemungkinan jalur dari proses komputasi dipilih. Setiap jalur tersebut disebut cabang dari algoritma. Tanda dari algoritma percabangan adalah adanya suatu kondisi.

Membedakan tidak lengkap (jika kemudian) dan lengkap (jika-maka-lain) jenis percabangan.

percabangan tidak lengkap mengasumsikan keberadaan operator hanya pada satu cabang (lalu; ya; benar) tidak ada operator di cabang lain dan kontrol langsung beralih ke titik gabungan

Cabang penuh memungkinkan Anda untuk mengatur dua cabang dalam algoritme (kemudian atau jika tidak; Ya atau Bukan; BENAR atau Berbohong), masing-masing mengarah ke titik pertemuan mereka yang sama (Gbr. 5.26).

berhubung dgn putaran, atau hanya siklus, disebut seperti algoritma di mana hasilnya diperoleh dengan berulang kali melakukan operasi yang sama. Sekelompok operasi berulang disebut tubuh siklus.

Ada tiga jenis loop yang banyak digunakan: loop dengan parameter, loop dengan prekondisi, dan loop dengan postcondition.

Loop dengan parameter digunakan ketika nilainya diketahui k, yaitu, jumlah elemen atau langkah loop.

Jumlah langkah siklus dengan prasyarat tidak ditentukan sebelumnya. Ini pertama memeriksa apakah kondisi terpenuhi. Jika Benar (Ya) kemudian loop body dieksekusi, setelah itu kondisi dicek kembali. Tindakan yang ditentukan diperiksa sampai kondisi mengevaluasi ke Salah (Tidak).

siklus dengan pascakondisi berbeda dari loop dengan prasyarat di lokasi kondisi dan tubuh loop akan selalu dieksekusi setidaknya sekali. Tubuh loop ini akan dieksekusi saat kondisinya Salah (Tidak).

Untuk meningkatkan kinerja dan kualitas kerja, setiap bahasa pemrograman memiliki tipe data terstruktur - Himpunan.

Himpunan disebut himpunan terurut dari besaran-besaran yang sejenis, memiliki nama yang umum, yang unsur-unsurnya dibedakan oleh bilangan urut, yang disebut indeks.

Cara grafis untuk menggambarkan algoritme

3.Apa nama simbol blok yang ditunjukkan pada gambar? ?


4.Apa nama simbol blok yang ditunjukkan pada gambar? ?

5.Apa nama simbol blok yang ditunjukkan pada gambar? ?

Bandingkan konvensi yang digunakan dalam diagram alur dan tujuannya

a B C D E)

Harap tunjukkan korespondensi untuk semua 5 opsi jawaban:

1) blok keputusan (pemeriksaan kondisi)

2) Blok awal dan akhir algoritma

3) blok deskripsi data

4) unit pengolah data (pelaksanaan tindakan)

5) modifikasi blok

8. Algoritma yang menyediakan eksekusi berulang dari urutan tindakan tertentu untuk memecahkan masalah adalah:

9. Nilai yang nilainya berubah selama eksekusi algoritma disebut:

10. Jenis algoritme apa yang dapat dikaitkan dengan algoritme, yang konstruksinya digunakan dalam bahasa algoritmik:

JIKA - LALU - LAIN - SEMUA

11. Jenis algoritme apa yang dapat dikaitkan dengan algoritme, yang konstruksinya digunakan dalam bahasa algoritmik:

Kondisi NC BYA

tubuh lingkaran

12. Jenis algoritme apa yang dapat dikaitkan dengan algoritme, yang konstruksinya digunakan dalam bahasa algoritmik:

NC UNTUK i DARI i1 KE i2

tubuh lingkaran

13. Sebuah fragmen dari algoritma linier diberikan:

b:=5+2*a

a:=b/5*a

Berapakah nilai variabel a setelah dieksekusi?

Menemukan kesalahan dan memperbaikinya disebut...

Instruksi terpisah untuk pemain adalah ...

Suatu bentuk organisasi tindakan di mana blok perintah yang sama dieksekusi beberapa kali disebut ...

diagram bloknya adalah...

Tindakan apa yang mendefinisikan blok komentar?

20. Pada flowchart, awal dan akhir algoritma ditunjukkan dengan gambar:

a B C D E)

21. Pada flowchart, aksi dalam algoritma ditunjukkan oleh gambar:

a B C D E)

22. Pada flowchart, kondisi ditunjukkan oleh gambar:

a B C D E)

23. Pada diagram blok, keluaran dan masukan data ditunjukkan oleh gambar:

a B C D E)

24. Kepastian algoritma berarti:

25. Efektivitas algoritma berarti:

26. Sifat massa dari algoritma berarti:

27. Keterbatasan algoritma berarti:

28. Sifat dari algoritma "keterbatasan" berarti:

29. Sifat dari algoritma "discreteness" berarti:

64. Properti "efektivitas" algoritma berarti:

Apa yang disebut properti algoritma? algoritma ini selalu menghasilkan jumlah langkah yang terbatas


Apa nama properti dari algoritme, yang berarti bahwa itu ditentukan dengan bantuan resep sedemikian rupa sehingga pemain dapat merasakan dan dengannya dia dapat melakukan tindakan yang diperlukan?

Apa nama properti dari algoritma, yang berarti bahwa jalan pemecahan masalah dibagi menjadi langkah-langkah terpisah?

Setiap algoritma berhubungan dengan data - input, intermediate dan output.

Lengan. Ini dipahami dalam dua cara: pertama, algoritme terdiri dari langkah-langkah atau tindakan dasar yang terpisah, dan tentu saja ada banyak langkah berbeda yang membentuk algoritme. Kedua, algoritma harus berakhir dalam jumlah langkah yang terbatas. Jika proses tak terbatas yang konvergen ke solusi yang diinginkan dibangun, maka itu berakhir pada langkah tertentu dan nilai yang dihasilkan diambil sebagai solusi perkiraan dari masalah yang sedang dipertimbangkan. Akurasi aproksimasi tergantung pada jumlah langkah.

Dasar (dapat dipahami). Setiap langkah dari algoritma harus sederhana sehingga perangkat yang melakukan operasi dapat melakukannya dalam satu langkah.

kebijaksanaan. Proses pemecahan masalah diwakili oleh urutan langkah individu yang terbatas, dan setiap langkah algoritma dilakukan dalam waktu yang terbatas (tidak harus unit).

Determinisme (kepastian). Setiap langkah dari algoritma harus didefinisikan secara unik dan tidak ambigu dan tidak boleh memungkinkan interpretasi yang sewenang-wenang. Setelah setiap langkah, ditunjukkan langkah mana yang harus diambil selanjutnya, atau perintah berhenti diberikan, setelah itu algoritma dianggap selesai.

Efisiensi. Algoritme memiliki sejumlah nilai input - argumen. Tujuan dari eksekusi algoritma adalah untuk mendapatkan hasil tertentu yang memiliki hubungan yang terdefinisi dengan baik dengan data awal. Algoritme harus berhenti setelah sejumlah langkah terbatas, tergantung pada data, dengan indikasi apa yang harus dipertimbangkan sebagai hasilnya. Jika solusi tidak dapat ditemukan, maka harus ditentukan apa yang harus dipertimbangkan hasilnya dalam kasus ini.

Karakter massa. Algoritma untuk memecahkan masalah dikembangkan dalam bentuk umum, mis. itu harus berlaku untuk kelas masalah tertentu yang hanya berbeda dalam data awal. Dalam hal ini, data awal dapat dipilih dari area tertentu, yang disebut ruang lingkup algoritma.

Efisiensi. Masalah yang sama dapat diselesaikan dengan cara yang berbeda dan, karenanya, dalam waktu yang berbeda dan dengan biaya memori yang berbeda. Diinginkan bahwa algoritma terdiri dari jumlah langkah minimum dan, dalam hal ini, solusi akan memenuhi kondisi akurasi dan membutuhkan biaya minimal sumber daya lainnya.

Definisi matematis yang tepat dari algoritme terhambat oleh fakta bahwa interpretasi resep yang ditetapkan tidak boleh bergantung pada subjek yang memenuhinya. Tergantung pada tingkat intelektualnya, dia mungkin tidak mengerti sama sekali apa yang dimaksud dalam instruksi, atau, sebaliknya, menafsirkannya dengan cara yang tidak terduga.

Adalah mungkin untuk mengatasi masalah penafsiran aturan jika, bersama dengan perumusan resep, desain dan prinsip pengoperasian perangkat interpretasi dijelaskan. Ini menghindari ketidakpastian dan ambiguitas dalam memahami instruksi yang sama. Untuk melakukan ini, perlu untuk menentukan bahasa di mana seperangkat aturan perilaku dijelaskan, atau urutan tindakan, serta perangkat itu sendiri, yang dapat menafsirkan kalimat yang dibuat dalam bahasa ini dan melakukan langkah demi langkah dengan tepat. proses yang ditentukan. Ternyata perangkat (mesin) semacam itu dapat dibuat dalam bentuk yang tetap konstan terlepas dari kerumitan prosedur yang dipertimbangkan.

Saat ini, ada tiga jenis utama model algoritmik universal. Mereka berbeda dalam asumsi awal mereka mengenai definisi konsep suatu algoritma.

Tipe pertama menghubungkan konsep algoritma dengan konsep matematika yang paling tradisional - perhitungan dan fungsi numerik. Tipe kedua didasarkan pada konsep algoritma sebagai perangkat deterministik tertentu yang hanya mampu melakukan operasi yang sangat primitif pada saat tertentu. Representasi ini memastikan ketidakjelasan algoritma dan sifat dasar dari langkah-langkahnya. Selain itu, representasi seperti itu sesuai dengan ideologi membangun komputer. Model teoretis utama jenis ini, dibuat pada 1930-an. Matematikawan Inggris Alan Turing adalah mesin Turing.

Tipe ketiga adalah transformasi kata-kata dalam abjad arbitrer, di mana substitusi adalah operasi dasar, mis. penggantian bagian dari kata (kata adalah urutan karakter alfabet) dengan kata lain. Keuntungan dari model jenis ini adalah abstraksi maksimum dan kemampuan untuk menerapkan konsep algoritma ke objek yang bersifat arbitrer (tidak harus numerik). Contoh model tipe ketiga adalah sistem kanonik matematikawan Amerika Emil L. Post dan algoritma normal yang diperkenalkan oleh matematikawan Soviet A. A. Markov.

Model tipe kedua dan ketiga cukup dekat dan berbeda terutama dalam aksen heuristik, jadi bukan kebetulan jika mereka berbicara tentang mesin Post, meskipun Post sendiri tidak membicarakannya.

Menulis algoritma dalam beberapa bahasa adalah sebuah program. Jika program ditulis dalam bahasa algoritmik khusus (misalnya, dalam PASCAL, BASIC atau lainnya), maka mereka mengatakan tentang program asli. Program yang ditulis dalam bahasa yang langsung dimengerti oleh komputer (biasanya kode biner) disebut mesin, atau biner.

Cara penulisan algoritme apa pun menyiratkan bahwa setiap objek yang dijelaskan dengan bantuannya diberikan sebagai perwakilan spesifik dari kelas objek yang seringkali tak terbatas yang dapat dijelaskan dengan cara ini.

Cara yang digunakan untuk menulis algoritma sangat ditentukan oleh siapa yang akan menjadi pemain.

Jika pelakunya adalah seseorang, rekaman mungkin tidak sepenuhnya diformalkan, kejelasan dan visibilitas didahulukan. Dalam hal ini, skema algoritma atau notasi verbal dapat digunakan untuk merekam.

Untuk menulis algoritma yang ditujukan untuk pelaksana otomatis, formalisasi diperlukan, oleh karena itu, dalam kasus seperti itu, formalisasi digunakan. bahasa khusus. Keuntungan dari notasi formal adalah memungkinkan untuk mempelajari algoritma sebagai objek matematika; pada saat yang sama, deskripsi formal dari algoritme berfungsi sebagai dasar untuk menangkap algoritme ini secara intelektual.

Berbagai cara digunakan untuk menulis algoritma. Pilihan cara ditentukan oleh jenis algoritma yang dieksekusi. Ada yang berikut ini cara utama menulis algoritma:

lisan– algoritma dijelaskan dalam bahasa manusia;

simbolis– algoritma dideskripsikan menggunakan sekumpulan simbol;

grafis– algoritma dijelaskan menggunakan satu set gambar grafis.

Cara penulisan algoritma yang diterima secara umum adalah notasi grafik menggunakan skema algoritma (flowchart) dan notasi karakter dengan menggunakan beberapa bahasa algoritmik.

Untuk menggambarkan algoritme dengan bantuan diagram, urutan angka geometris yang terhubung digambarkan, yang masing-masing menyiratkan kinerja tindakan tertentu dari algoritme. Urutan tindakan yang dilakukan ditunjukkan oleh panah.

Jenis simbol grafis berikut digunakan dalam skema algoritma.

Awal dan tamat algoritma dilambangkan dengan bantuan simbol dengan nama yang sama (Gbr. 21.1).

Beras. 21.1.

Langkah algoritma yang terkait dengan menetapkan nilai baru ke beberapa variabel, mengubah beberapa nilai untuk mendapatkan nilai lain, diwakili oleh simbol "proses"(Gbr. 21.2).

Beras. 21.2.

Pilihan arah eksekusi algoritma tergantung pada beberapa: kondisi variabel diwakili oleh simbol " larutan"(Gbr. 21.3).

Beras. 21.3.

Di Sini R berarti predikat (ekspresi kondisional, kondisi). Jika kondisi terpenuhi (predikat mengambil nilai TRUE), maka transisi ke satu langkah algoritma dilakukan, dan jika tidak, maka ke langkah lain.

Ada primitif untuk operasi input dan output, serta simbol grafis lainnya. PADA saat ini mereka ditentukan oleh standar GOST 19.701–90 (ISO 5807–85) " satu sistem dokumentasi perangkat lunak. Skema algoritma, program data dan sistem. Konvensi dan aturan pelaksanaan". Secara total, koleksi ESPD berisi 28 dokumen.

Menurut skema algoritma, mudah untuk menyusun program sumber dalam bahasa algoritmik.

Tergantung pada urutan tindakan dalam algoritma, algoritma struktur linier, bercabang dan siklik dibedakan.

Dalam algoritma struktur linier tindakan dilakukan secara berurutan satu demi satu.

Dalam algoritma struktur bercabang tergantung pada pemenuhan atau tidak terpenuhinya kondisi apa pun, urutan tindakan yang berbeda dilakukan. Setiap urutan tindakan seperti itu disebut cabang dari algoritma.

Dalam algoritma struktur siklik tergantung pada pemenuhan atau tidak terpenuhinya kondisi apa pun, urutan tindakan yang berulang dilakukan, yang disebut tubuh siklus. Loop bersarang adalah loop yang berada di dalam tubuh loop lain. Loop berulang adalah loop yang jumlah pengulangannya tidak ditentukan, tetapi ditentukan selama eksekusi loop.

Dalam hal ini, satu pengulangan loop disebut pengulangan.