Belirli bir uygulayıcı kararı için algoritmanın yürütülmesi. Bilgisayar bilimi ve bilgi teknolojisi. Algoritmaları tanımlamanın yolları

Anahtar Kelimeler:

  • algoritma
  • algoritmanın özellikleri
    • ayrıklık
    • açıklık
    • kesinlik
    • verimlilik
    • kütle karakteri
  • vasi
  • icracı özellikleri
    • çözülmesi gereken görev yelpazesi
    • Çarşamba
    • çalışma modu
    • komuta sistemi
  • algoritmanın resmi yürütülmesi

3.1.1. Algoritma kavramı

İçerideki her kişi Gündelik Yaşam, çalışırken veya işte, değişen karmaşıklığa sahip çok sayıda sorunu çözer. Karmaşık problemlere çözüm bulmak için çok fazla düşünmeyi gerektirir; Bir kişi basit ve tanıdık görevleri düşünmeden otomatik olarak çözer. Çoğu durumda, her sorunun çözümü basit aşamalara (adımlara) bölünebilir. Bu tür birçok görev için (kurulum yazılım(dolap montajı, web sitesi oluşturma, teknik cihazı çalıştırma, internet üzerinden uçak bileti satın alma vb.) halihazırda geliştirilmiş ve sunulmuştur. adım adım talimatlar tutarlı bir şekilde uygulandığında istenen sonuca yol açabilir.

örnek 1. “İki sayının aritmetik ortalamasını bulma” problemi üç adımda çözülür:

  • iki sayı düşünün;
  • aklınıza iki sayı ekleyin;
  • elde edilen miktarı 2'ye bölün.

Örnek 2. “Telefon hesabınıza para yatırın” görevi aşağıdaki adımlara ayrılmıştır:

  • ödeme terminaline gidin;
  • bir telekom operatörü seçin;
  • Telefon numarası girin;
  • girilen numaranın doğru olup olmadığını kontrol edin;
  • fatura alıcısına bir banknot yerleştirin;
  • hesabınıza yatırılan parayla ilgili mesajı bekleyin;
  • bir çek al.

Örnek 3. “Komik bir kirpi çizin” problemini çözmenin aşamaları grafiksel olarak sunulmuştur:

Aritmetik ortalamayı bulmak, telefon hesabına para yatırmak ve kirpi çekmek ilk bakışta tamamen farklı süreçlerdir. Ancak ortak bir özellikleri var: Bu süreçlerin her biri, bir dizi kısa talimatla açıklanıyor ve bunlara sıkı sıkıya bağlı kalmak, gerekli sonucu elde etmenizi sağlıyor. Örnek 1-3'te verilen talimat dizileri, karşılık gelen problemleri çözmeye yönelik algoritmalardır. Bu algoritmaların uygulayıcısı bir kişidir.

Algoritma, belirli bir hesaplama dizisinin (örnek 1) veya matematiksel olmayan nitelikteki adımların (örnek 2-3) bir açıklaması olabilir. Ancak her durumda, gelişmesinden önce, başlangıç ​​koşulları(giriş verileri) ve neyin elde edileceği (sonuç). Bir algoritmanın, bir problemin çözümünde, ilk veriden istenen sonuca giden adımlar dizisinin bir açıklaması olduğunu söyleyebiliriz.

Genel olarak algoritmanın çalışma diyagramı şu şekilde temsil edilebilir (Şekil 3.1):

Pirinç. 3.1.
Algoritmanın genel şeması

Algoritmalar okulda öğretilen sayıların toplama, çıkarma, çarpma ve bölme kuralları, dilbilgisi kuralları, geometrik yapı kuralları vb.'dir.

“Algoritmayla çalışma”, “En büyük ortak bölen”, “En küçük ortak kat” (http://school-collection.edu.ru/) animasyonları, Rus dili ve matematik derslerinde çalışılan bazı algoritmaları hatırlamanıza yardımcı olacaktır.

Örnek 4. Bazı algoritmalar, bir karakter zincirinden aşağıdaki gibi yeni bir zincirin elde edilmesine yol açar:

  1. Kaynak karakter dizisinin uzunluğu (karakter olarak) hesaplanır.
  2. Orijinal zincirin uzunluğu tek ise sağdaki orijinal zincire 1 sayısı eklenir, aksi takdirde zincir değişmez.
  3. Semboller çiftler halinde değiştirilir (birincisi ikinciyle, üçüncüsü dördüncüyle, beşincisi altıncıyla vb.).
  4. Ortaya çıkan zincirin sağına 2 sayısı eklenir.

Ortaya çıkan zincir algoritmanın sonucudur.

Yani, eğer başlangıç ​​zinciri A#B ise, algoritmanın sonucu #A1B2 zinciri olacaktır ve eğer başlangıç ​​zinciri ABC@ ise, o zaman algoritmanın sonucu BA@B2 zinciri olacaktır.

3.1.2. Algoritma yürütücüsü

Her algoritma belirli bir sanatçı için tasarlanmıştır.

Resmi ve gayri resmi sanatçılar var. Resmi bir icracı her zaman aynı komutu aynı şekilde yerine getirir. Resmi olmayan bir uygulayıcı, bir komutu farklı şekillerde yerine getirebilir.

Resmi icracıları daha ayrıntılı olarak ele alalım. Resmi icracılar son derece çeşitlidir, ancak her biri için aşağıdaki özellikler belirtilebilir: çözülmesi gereken görevlerin kapsamı (amaç), çevre, komuta sistemi ve çalışma modu.

Çözülmesi gereken görev aralığı. Her sanatçı belirli bir dizi sorunu çözmek için yaratılmıştır - sembol zincirleri oluşturmak, hesaplamalar yapmak, düzlemde çizimler oluşturmak vb.

Sanatçı Ortamı. İcracının faaliyet gösterdiği alan, ortam, koşullar genellikle söz konusu icracının ortamı olarak adlandırılır. Herhangi bir algoritmanın kaynak verileri ve sonuçları her zaman algoritmanın amaçlandığı uygulayıcının ortamına aittir.

Yürütücü komut sistemi. Bir icracıya ayrı bir tamamlanmış eylemi gerçekleştirme talimatına komut denir. Bazı yürütücüler tarafından yürütülebilecek tüm komutların kümesi, bu yürütücünün (SKI) komut sistemini oluşturur. Algoritma, belirli bir icracının yetenekleri, başka bir deyişle onu yürütecek icracının komut sistemi dikkate alınarak derlenir.

Performans çalışma modları. Çoğu sanatçı için doğrudan kontrol modları ve program kontrolü. İlk durumda, icracı bir kişiden gelen komutları bekler ve alınan her komutu hemen yerine getirir. İkinci durumda, icracıya önce tam bir komut dizisi (program) verilir ve ardından tüm bu komutları çalıştırır. otomatik mod. Bazı sanatçılar yalnızca belirtilen modlardan birinde çalışır.

Sanatçı örneklerine bakalım.

Örnek 5. Sanatçı Kaplumbağa bilgisayar ekranında hareket ederek çizgi şeklinde bir iz bırakıyor. Kaplumbağanın komuta sistemi iki komuttan oluşur:

    İleri n (burada n bir tam sayıdır) - Kaplumbağanın hareket yönünde n adım hareket etmesine neden olur - başının ve vücudunun baktığı yönde;

    Sağ m (m bir tam sayıdır) - Kaplumbağanın hareket yönünün saat yönünde m derece değişmesine neden olur.

Kayıt Tekrarı k [<Команда1> <Команда2> ... <Командаn>], parantez içindeki komut dizisinin k kez tekrarlanacağı anlamına gelir.

Kaplumbağa aşağıdaki algoritmayı tamamladıktan sonra ekranda hangi şeklin görüneceğini düşünün.

    Tekrar 12 [Sağ 4 5 İleri 20 Sağ 45]

Örnek 6. Yürütme komutları sistemi Bilgisayar, numaralara atanan iki komuttan oluşur:

    1 - 1'i çıkarın
    2 - 3 ile çarpın

Birincisi sayıyı 1 azaltır, ikincisi ise sayıyı 3 kat artırır. Algoritma yazarken, kısa olması açısından yalnızca komut numaraları belirtilir. Örneğin, algoritma 21212, aşağıdaki komut dizisi anlamına gelir:

    3 ile çarp
    1 çıkar
    3 ile çarp
    1 çıkar
    3 ile çarp

Bu algoritma kullanılarak 1 sayısı 15'e dönüştürülecektir: ((1-3-1)-3-1)-3 = 15.

Örnek 7. Performer Robot damalı bir alanda çalışır, bitişik hücrelerin arasında duvarlar olabilir. Robot, alanın hücreleri boyunca hareket eder ve numaralarla atanan aşağıdaki komutları gerçekleştirebilir:

    1 Yukarı
    2 - Aşağı
    3 - Sağ
    4 sol

Bu tür komutların her birini gerçekleştirirken Robot, belirtilen yönde bitişik bir hücreye hareket eder. Hücreler arasında bu yönde bir duvar varsa Robot yok edilir. Robot, 32323 numaralı komut dizisini (burada sayılar komut numaralarını göstermektedir) yürütürse ve A hücresinden hareket etmeye başlarsa ne olacak? Robotun duvarlara çarptığında çökmeden A hücresinden B hücresine geçebilmesi için hangi komut dizisini uygulaması gerekir?

Algoritma geliştirirken:

  1. Problemde ortaya çıkan nesneler tanımlanır, nesnelerin özellikleri, nesneler arasındaki ilişkiler ve olası eylemler nesnelerle;
  2. ilk veriler ve gerekli sonuç belirlenir;
  3. ilk verilerden sonuca geçiş sağlanarak, sanatçının eylem sırası belirlenir;
  4. eylemlerin sırası, uygulayıcının komut sisteminde yer alan komutlar kullanılarak kaydedilir.

Bir algoritmanın, algoritma yürütücüsünün faaliyetinin bir modeli olduğunu söyleyebiliriz.

3.1.3. Algoritma özellikleri

Her talimat, talimat dizisi veya eylem planı bir algoritma olarak değerlendirilemez. Her algoritma mutlaka aşağıdaki özelliklere sahiptir: ayrıklık, anlaşılırlık, kesinlik, etkililik ve kitlesel karakter.

Ayrıklık özelliği, bir sorunu çözme yolunun ayrı adımlara (eylemlere) bölünmesi anlamına gelir. Her eylemin karşılık gelen bir talimatı (komutu) vardır. Yalnızca bir komutu yürüttükten sonra yürütücü bir sonraki komutu yürütmeye başlayabilir.

Anlaşılabilirlik özelliği, algoritmanın yalnızca icracının komut sisteminde yer alan komutlardan, yani icracının algılayabileceği ve buna göre gerekli eylemleri gerçekleştirebileceği komutlardan oluştuğu anlamına gelir.

Kesinlik özelliği, algoritmanın, anlamı icracı tarafından belirsiz bir şekilde yorumlanabilecek komutlar içermediği anlamına gelir; Bir sonraki komutu yürüttükten sonra, bir sonraki adımda hangi komutun yürütüleceğinin icracı için belirsiz olduğu durumlar kabul edilemez.

Verimlilik özelliği, algoritmanın sonlu, muhtemelen çok büyük sayıda adımdan sonra bir sonuç elde edebilmesi gerektiği anlamına gelir. Bu durumda sonuç, yalnızca sorunun ifadesiyle belirlenen cevap değil, aynı zamanda bu sorunu herhangi bir nedenle çözmeye devam etmenin imkansızlığına ilişkin sonuç olarak da kabul edilir.

Seri üretimin özelliği, algoritmanın, belirli bir problem sınıfından herhangi bir problemi çözmek için uygulanması olasılığını sağlaması gerektiği anlamına gelir. Örneğin, ikinci dereceden bir denklemin köklerini bulma algoritması herhangi bir ikinci dereceden denklem için geçerli olmalı, caddeyi geçme algoritması caddenin herhangi bir yerinde uygulanabilir olmalı, ilaç hazırlama algoritması herhangi bir miktarda ilaç hazırlamaya uygulanabilir olmalı, vesaire.

Örnek 8. N'yi aşmayan tüm asal sayıları bulma yöntemlerinden birini ele alalım. Bu yönteme, onu öneren antik Yunan bilim adamı Eratosthenes'in adını taşıyan "Eratosthenes eleği" adı verilmektedir.

Belirli bir n sayısından büyük olmayan tüm asal sayıları bulmak için Eratosthenes'in yöntemini izleyerek aşağıdaki adımları uygulamanız gerekir:

  1. 2'den n'ye kadar tüm tam sayıları arka arkaya yazın (2, 3, 4, ..., n);
  2. çerçeve 2 - ilk asal sayı;
  3. bulunan son asal sayıya bölünebilen tüm sayıları listeden silin;
  4. ilk işaretlenmemiş sayıyı bulun (işaretli sayılar üzeri çizili sayılardır veya bir çerçeve içine alınmış sayılardır) ve onu bir çerçeveye alın - bu başka bir asal sayı olacaktır;
  5. işaretlenmemiş numara kalmayıncaya kadar 3. ve 4. adımları tekrarlayın.

“Eratosthenes Eleği” (http://school-collection.edu.ru/) animasyonunu kullanarak asal sayıları bulma yöntemi hakkında daha görsel bir fikir edinebilirsiniz.

Dikkate alınan eylem dizisi, aşağıdaki özellikleri sağladığı için bir algoritmadır:

  • ayrıklık - asal sayıları bulma süreci adımlara bölünmüştür;
  • anlaşılabilirlik - her komut, bu algoritmayı uygulayan 9. sınıf öğrencisi için anlaşılabilir;
  • kesinlik - her komut, icracı tarafından açık bir şekilde yorumlanır ve yürütülür; komutların uygulanma sırasına ilişkin talimatlar vardır;
  • etkililik - belirli sayıda adımdan sonra sonuca ulaşılır;
  • kütle karakteri - eylemlerin sırası herhangi bir doğal n için geçerlidir.

Algoritmanın dikkate alınan özellikleri, algoritmanın daha kesin bir tanımını vermemize olanak sağlar.

3.1.4. İnsan faaliyetlerinin otomasyonu imkanı

Algoritma geliştirmek genellikle kişinin derin bilgi birikimine, ustalığa ve çok fazla zamana sahip olmasını gerektiren emek yoğun bir iştir.

Hazır bir algoritma kullanarak bir sorunu çözmek, yalnızca uygulayıcının verilen talimatları sıkı bir şekilde takip etmesini gerektirir.

Örnek 9. Üçten fazla sayıda nesne içeren bir yığından, iki oyuncu sırayla bir veya iki nesne alır. Kazanan, bir sonraki hamlesinde kalan tüm eşyaları alabilen kişidir.

İlk oyuncunun kesinlikle kazanmasını sağlayacak bir algoritma düşünelim.

  1. Eğer yığındaki nesne sayısı 3'ün katı ise, rakibe yol verin, aksi halde oyuna başlayın.
  2. Bir sonraki hamlenizde, her seferinde rakibinizin aldığı nesne sayısını 3'e ekleyin (kalan nesne sayısı 3'ün katı olmalıdır).

İcracı, yaptığı şeyin anlamını derinlemesine araştıramayabilir ve neden bu şekilde davrandığının nedenini bilmeyebilir, başka türlü davranamaz, yani resmi olarak hareket edebilir. Sanatçının resmi olarak hareket etme yeteneği, insan faaliyetini otomatikleştirme olanağı sağlar. Bunun için:

  1. bir problemi çözme süreci, bir dizi basit işlem olarak sunulur;
  2. bir makine yaratıldı ( otomatik cihaz), bu işlemleri algoritmada belirtilen sırayla gerçekleştirebilen;
  3. kişi rutin faaliyetlerden kurtulur, algoritmanın yürütülmesi otomatik bir cihaza emanet edilir.

En önemli

Sanatçı - bir nesne (kişi, hayvan, teknik cihaz), belirli bir komut kümesini yürütme yeteneğine sahiptir. Resmi bir icracı her zaman aynı komutu aynı şekilde yerine getirir. Her resmi icracı için şunları belirleyebilirsiniz: çözülmesi gereken görev aralığı, ortam, komuta sistemi ve çalışma modu.

Algoritma, belirli bir icracıya yönelik, başlangıç ​​verisinden istenen sonuca giden, ayrıklık, anlaşılabilirlik, kesinlik, etkililik ve kitlesel karakter özelliklerine sahip bir dizi eylemin açıklamasıdır.

Sanatçının resmi olarak hareket etme yeteneği, insan faaliyetini otomatikleştirme olanağı sağlar.

Sorular ve görevler

  1. Algoritma ne denir?
  2. “Reçete” kelimesinin eş anlamlılarını bulun.
  3. Okulda okuduğunuz algoritmalara örnekler verin.
  4. Algoritmanın yürütücüsü kim olabilir?
  5. Resmi icracıya bir örnek verin. Bir kişinin resmi bir icracı olarak hareket ettiği duruma bir örnek verin.
  6. Bir robot aşağıdaki işlevleri hangi komutlarla yerine getirmelidir: a) bir mağazadaki kasiyer; b) bir kapıcı; c) güvenlik görevlisi mi?
  7. “Bilgisayar” icracısı tarafından gerçekleştirilen görev aralığını ne belirler?
  8. Bir sanatçı olarak düşünün kelime işlemci, bilgisayarınızda mevcuttur. Bu sanatçı ve çevresi tarafından çözülen görevlerin çeşitliliğini tanımlayın.
  9. Takım nedir, icracı komutları sistemi?
  10. Algoritmanın temel özelliklerini listeleyin.
  11. Bir algoritmada herhangi bir özelliğin bulunmaması nelere yol açabilir? Örnekler ver.
  12. Bir algoritmayı resmi olarak yürütebilmek neden önemlidir?
  13. Sayı dizisi aşağıdaki algoritmaya göre oluşturulur: dizinin ilk iki sayısı 1'e eşit alınır; Sıradaki her bir sonraki sayı, önceki iki sayının toplamına eşit olacak şekilde alınır. Bu dizinin ilk 10 terimini yazın.
  14. Bazı algoritmalar aşağıdaki gibi bir karakter dizisinden yeni bir zincir elde eder. Önce orijinal harf zinciri yazılır, ardından orijinal harf zinciri ters sırayla yazılır, ardından orijinal zincirde son sırada yer alan harften sonra Rus alfabesinde takip eden harf yazılır. Orijinal zincirin son basamağı Z harfi ise bir sonraki harf olarak A harfi yazılır ve ortaya çıkan zincir algoritmanın sonucudur. Örneğin, orijinal karakter zinciri DOM ise, algoritmanın sonucu DOMMODN zinciri olacaktır. COM karakter dizisi verilir. Algoritmayı bu zincire uygulayıp daha sonra algoritmayı yaptığı işin sonucuna tekrar uygularsanız elde edilecek semboller zincirinde kaç O harfi olacaktır?
  15. İnternette Eratosthenes algoritmasının adımlarını gösteren bir animasyon bulun. 50'yi aşmayan tüm asal sayıları bulmak için Eratosthenes'in algoritmasını kullanın.
  16. Turtle'ın algoritmayı yürütmesinin sonucu (bkz. Örnek 5) ne olacaktır?
      Tekrar 8 [Sağ 45 İleri 45]
  17. Hesap Makinesi yürütücüsü için en fazla 5 komut içeren bir algoritma yazın (örnek 6):
      a) 3 numaradan 16 numarayı almak;
      b) 1 numaradan 25 numarayı almak.
  18. Yürütücü komutları sistemi Yapıcı, atanan sayılara sahip iki komuttan oluşur:
      1 - 2'yi ata
      2 - 2'ye böl

    Bunlardan ilkine göre sağdaki sayıya 2 eklenir, ikinciye göre sayı 2'ye bölünür. İcracı 22212 algoritmasını çalıştırırsa 8 sayısı nasıl dönüştürülecek? Bu uygulayıcının komut sisteminde, 1 sayısının 16 sayısına dönüştürüleceği bir algoritma oluşturun (algoritma en fazla 5 komut içermemelidir).

  19. Robot uygulayıcısı (örnek 7), algoritma 3241'i yürüttükten sonra kendisine geri dönmek için hangi hücreye yerleştirilmelidir?

| § 2.1. Algoritmalar ve uygulayıcılar

Ders 14
§ 2.1. Algoritmalar ve uygulayıcılar

Anahtar Kelimeler:

Algoritma
Algoritmanın özellikleri (ayrıklık; anlaşılırlık; kesinlik; etkililik; kitlesel karakter)
vasi
icracının özellikleri (çözülecek görev aralığı; ortam; çalışma modu; komuta sistemi)
algoritmanın resmi yürütülmesi

2.1.1. Algoritma kavramı

Günlük yaşamda, ders çalışırken veya işte her insan, değişen karmaşıklığa sahip çok sayıda sorunu çözer. Karmaşık problemlere çözüm bulmak için çok fazla düşünmeyi gerektirir; Bir kişi basit ve tanıdık görevleri düşünmeden otomatik olarak çözer. Çoğu durumda, her sorunun çözümü basit aşamalara (adımlara) bölünebilir. Bu görevlerin çoğu için (yazılım kurulumu, dolap montajı, web sitesi oluşturma, teknik bir cihazı çalıştırma, İnternet üzerinden uçak bileti satın alma vb.), adım adım talimatlar zaten geliştirilmiş ve sunulmuştur. uygulanması istenilen sonuca yol açabilir.

Örnek 1.“İki sayının aritmetik ortalamasını bulma” problemi üç adımda çözülür:

1) iki sayıyı düşünün;
2) planlanan iki sayıyı ekleyin;
3) Ortaya çıkan miktarı 2'ye bölün.

Örnek 2.“Telefon hesabınıza para yatırın” görevi aşağıdaki adımlara ayrılmıştır:

1) ödeme terminaline gidin;
2) bir telekom operatörü seçin;
3) bir telefon numarası girin;
4) girilen numaranın doğruluğunu kontrol edin;
5) fatura alıcısına bir banknot yerleştirin;
6) hesabınıza para yatırılacağına ilişkin mesajı bekleyin;
7) bir çek alın.

Örnek 3.“Komik bir kirpi çizin” problemini çözmenin aşamaları grafiksel olarak sunulmuştur:


Aritmetik ortalamayı bulmak, telefon hesabına para yatırmak ve kirpi çekmek ilk bakışta tamamen farklı süreçlerdir. Ancak ortak bir özellikleri var: Bu süreçlerin her biri, bir dizi kısa talimatla açıklanıyor ve bunlara sıkı sıkıya bağlı kalmak, gerekli sonucu elde etmenizi sağlıyor. Örnek 1-3'te verilen talimat dizileri, karşılık gelen problemleri çözmeye yönelik algoritmalardır. Bu algoritmaların uygulayıcısı bir kişidir.

Algoritma, belirli bir hesaplama dizisinin (örnek 1) veya matematiksel olmayan nitelikteki adımların (örnek 2-3) bir açıklaması olabilir. Ancak her durumda, geliştirilmeden önce başlangıç ​​koşullarının (başlangıç ​​verileri) ve neyin elde edileceğinin (sonuç) açıkça tanımlanması gerekir. Bir algoritmanın, bir problemin çözümünde, ilk veriden istenen sonuca giden adımlar dizisinin bir açıklaması olduğunu söyleyebiliriz.

Genel olarak algoritmanın çalışma diyagramı aşağıdaki gibi gösterilebilir (Şekil 2.1).

Pirinç. 2.1. Algoritmanın genel şeması

Algoritmalar okulda öğretilen sayıların toplama, çıkarma, çarpma ve bölme kuralları, birçok gramer kuralı, geometrik yapı kuralları vb.'dir.

“Algoritmayla çalışmak” (193576), “En büyük ortak bölen” (170363), “En Küçük Ortak Kat” (170390) animasyonları, Rus dili ve matematik derslerinde çalışılan bazı algoritmaları hatırlamanıza yardımcı olacaktır (http://sc.edu. ru /).

Örnek 4. Bazı algoritmalar, bir karakter zincirinden aşağıdaki gibi yeni bir zincirin elde edilmesine yol açar:

1. Orijinal karakter dizisinin uzunluğu (karakter cinsinden) hesaplanır.
2. Orijinal zincirin uzunluğu tek ise sağdaki orijinal zincire 1 sayısı eklenir, aksi takdirde zincir değişmez.
3. Semboller çiftler halinde değiştirilir (birincisi ikinciyle, üçüncüsü dördüncüyle, beşincisi altıncıyla vb.).
4. Ortaya çıkan zincirin sağına 2 sayısı eklenir.

Ortaya çıkan zincir algoritmanın sonucudur.

Yani, eğer başlangıç ​​zinciri A#B ise, algoritmanın sonucu #A1B2 zinciri olacaktır ve eğer başlangıç ​​zinciri ABC@ ise, o zaman algoritmanın sonucu BA@B2 zinciri olacaktır.

2.1.2. Algoritma yürütücüsü

Her algoritma belirli bir sanatçı için tasarlanmıştır.

Yürütücü, belirli bir dizi komutu yürütebilen bir nesnedir (kişi, hayvan, teknik cihaz).

Ayırt etmek resmi ve gayri resmi sanatçılar. Resmi bir icracı her zaman aynı komutu aynı şekilde yerine getirir. Resmi olmayan bir uygulayıcı, bir komutu farklı şekillerde yerine getirebilir.

Resmi icracıları daha ayrıntılı olarak ele alalım. Resmi icracılar son derece çeşitlidir, ancak her biri için aşağıdaki özellikler belirtilebilir: çözülmesi gereken görevlerin kapsamı (amaç), çevre, komuta sistemi ve çalışma modu.

Çözülmesi gereken görev aralığı. Her sanatçı belirli bir dizi sorunu çözmek için yaratılmıştır - sembol zincirleri oluşturmak, hesaplamalar yapmak, düzlemde çizimler oluşturmak vb.

Sanatçı Ortamı. İcracının faaliyet gösterdiği alan, ortam, koşullar genellikle söz konusu icracının ortamı olarak adlandırılır. Herhangi bir algoritmanın kaynak verileri ve sonuçları her zaman algoritmanın amaçlandığı uygulayıcının ortamına aittir.

Yürütücü komut sistemi. Bir icracıya ayrı bir tamamlanmış eylemi gerçekleştirme talimatına komut denir. Bazı yürütücüler tarafından yürütülebilecek tüm komutların kümesi, bu yürütücünün (SKI) komut sistemini oluşturur. Algoritma, belirli bir icracının yetenekleri, başka bir deyişle onu yürütecek icracının komut sistemi dikkate alınarak derlenir.

Performans çalışma modları. Çoğu sanatçı için doğrudan kontrol ve program kontrol modları sağlanır. İlk durumda, icracı bir kişiden gelen komutları bekler ve alınan her komutu hemen yerine getirir. İkinci durumda, icracıya önce tam bir komut dizisi (program) verilir ve ardından tüm bu komutları otomatik olarak yürütür. Bazı sanatçılar yalnızca belirtilen modlardan birinde çalışır.

Sanatçı örneklerine bakalım.

Örnek 5. Sanatçı Kaplumbağa bilgisayar ekranında hareket ederek çizgi şeklinde bir iz bırakıyor.

Kaplumbağa komut sistemi aşağıdaki komutlardan oluşur:

1. İleri n (burada n bir tam sayıdır) - Kaplumbağanın hareket yönünde n adım hareket etmesine neden olur - başının ve vücudunun baktığı yönde;
2. Sağ m (m bir tam sayıdır) - Kaplumbağanın hareket yönünde saat yönünde t derecelik bir değişikliğe neden olur.
Kayıt Tekrarla k [<Команда1> <Команда2> ... <Командаn>] parantez içindeki komut dizisinin k kez tekrarlanacağı anlamına gelir.

Kaplumbağa aşağıdaki algoritmayı tamamladıktan sonra ekranda hangi şeklin görüneceğini düşünün.
Tekrar 12 [Sağ 45 İleri 20 Sağ 45]

Örnek 6. Yürütme komutları sistemi Bilgisayar, numaralara atanan iki komuttan oluşur:

1 - 1'i çıkarın
2 - 3 ile çarpın

Birincisi sayıyı 1 azaltır, ikincisi ise sayıyı 3 kat artırır. Algoritma yazarken, kısa olması açısından yalnızca komut numaraları belirtilir. Örneğin, algoritma 21212, aşağıdaki komut dizisi anlamına gelir:

3 ile çarpın
1 çıkar
3 ile çarp
1 çıkar
3 ile çarp

Bu algoritmayı kullanarak 1 sayısı 15'e dönüştürülecektir:

((1 3 - 1) 3 - 1) 3 = 15.

Örnek 7. Performer Robot damalı bir alanda çalışır, bitişik hücrelerin arasında duvarlar olabilir. Robot, alanın hücreleri boyunca hareket eder ve numaralarla atanan aşağıdaki komutları gerçekleştirebilir:


1 Yukarı
2 - aşağı
3 - sağ
4 sol

Bu tür komutların her birini gerçekleştirirken Robot, belirtilen yönde bitişik bir hücreye hareket eder. Hücreler arasında bu yönde bir duvar varsa Robot yok edilir.

Robot, 32323 numaralı komut dizisini (burada sayılar komut numaralarını göstermektedir) yürütürse ve A hücresinden hareket etmeye başlarsa ne olacak? Robotun duvarlara çarptığında çökmeden A hücresinden B hücresine geçebilmesi için hangi komut dizisini uygulaması gerekir?

Algoritma geliştirirken:

1) problemde ortaya çıkan nesneler tanımlanır, nesnelerin özellikleri, nesneler arasındaki ilişkiler ve nesnelerle olası eylemler belirlenir;
2) ilk veriler ve gerekli sonuç belirlenir;
3) ilk verilerden sonuca geçiş sağlanarak, icracının eylem sırası belirlenir;
4) eylemlerin sırası, icracının komut sisteminde yer alan komutlar kullanılarak kaydedilir.

Bir algoritmanın, algoritma yürütücüsünün faaliyetinin bir modeli olduğunu söyleyebiliriz.

2.1.3. Algoritma özellikleri

Her talimat, talimat dizisi veya eylem planı bir algoritma olarak değerlendirilemez. Her algoritma mutlaka aşağıdaki özelliklere sahiptir: ayrıklık, anlaşılırlık, kesinlik, etkililik ve kitlesel karakter.

Ayrık özellik bir sorunu çözme yolunun ayrı adımlara (eylemlere) bölünmesi anlamına gelir. Her eylemin karşılık gelen bir talimatı (komutu) vardır. Yalnızca bir komutu yürüttükten sonra yürütücü bir sonraki komutu yürütmeye başlayabilir.

Anlaşılabilirlik özelliği Algoritmanın yalnızca icracının komut sisteminde yer alan komutlardan, yani icracının algılayabileceği ve buna göre gerekli eylemleri gerçekleştirebileceği komutlardan oluştuğu anlamına gelir.

Kesinlik özelliği algoritmanın, anlamı icracı tarafından belirsiz bir şekilde yorumlanabilecek komutlar içermediği anlamına gelir; Bir sonraki komutu çalıştırdıktan sonra, icracı için bir sonraki komutun hangi komutu çalıştıracağının belirsiz olduğu durumlar kabul edilemez. Bu sayede algoritmanın sonucu, başlangıç ​​verileri kümesi tarafından benzersiz bir şekilde belirlenir: eğer algoritma aynı başlangıç ​​verileri kümesine birkaç kez uygulanırsa, çıktı her zaman aynı sonucu üretir.

Performans Özelliği algoritmanın sonlu, muhtemelen çok büyük sayıda adımdan sonra bir sonuç sağlaması gerektiği anlamına gelir. Bu durumda sonuç, yalnızca sorunun ifadesiyle belirlenen cevap değil, aynı zamanda bu sorunu herhangi bir nedenle çözmeye devam etmenin imkansızlığına ilişkin sonuç olarak da kabul edilir.

Kütle karakterinin özelliği Algoritmanın, belirli bir problem sınıfından herhangi bir problemi çözmek için uygulanma olasılığını sağlaması gerektiği anlamına gelir. Örneğin, ikinci dereceden bir denklemin köklerini bulma algoritması herhangi bir ikinci dereceden denklem için geçerli olmalı, caddeyi geçme algoritması caddenin herhangi bir yerinde uygulanabilir olmalı, ilaç hazırlama algoritması herhangi bir miktarda ilaç hazırlamaya uygulanabilir olmalı, vesaire.

Örnek 8. Bazı n doğal sayılarını aşmayan tüm asal sayıları bulma yöntemlerinden birini ele alalım. Bu yönteme, onu öneren antik Yunan bilim adamı Eratosthenes'in (M.Ö. 3. yüzyıl) anısına "Eratosthenes'in eleği" adı verilmiştir.

Belirli bir n sayısından büyük olmayan tüm asal sayıları bulmak için Eratosthenes'in yöntemini izleyerek aşağıdaki adımları uygulamanız gerekir:

1) 2'den n'ye (2, 3, 4, ..., n) kadar olan tüm doğal sayıları arka arkaya yazın;
2) çerçeve 2 - ilk asal sayı;
3) bulunan son asal sayıya bölünebilen tüm sayıları listeden silin;
4) ilk işaretlenmemiş sayıyı bulun (işaretli sayılar, üzeri çizili sayılar veya bir çerçeve içine alınmış sayılardır) ve onu bir çerçeveye yerleştirin - bu başka bir asal sayı olacaktır;
5) işaretlenmemiş numara kalmayıncaya kadar 3. ve 4. adımları tekrarlayın.

Birleşik Dijital Eğitim Kaynakları Koleksiyonunda yayınlanan “Eratosthenes Eleği” (180279) animasyonunu kullanarak asal sayıları bulma yöntemi hakkında daha görsel bir fikir edinebilirsiniz.

Dikkate alınan eylem dizisi, aşağıdaki özellikleri sağladığı için bir algoritmadır:

ayrıklık- asal sayıları bulma süreci adımlara bölünmüştür;
anlaşılırlık- her komut, bu algoritmayı uygulayan bir 8. sınıf öğrencisi için anlaşılabilir;
kesinlik- her komut, icracı tarafından açık bir şekilde yorumlanır ve yürütülür; komutların uygulanma sırasına ilişkin talimatlar vardır;
verimlilik- belirli sayıda adımdan sonra sonuca ulaşılır;
kütle karakteri- eylemlerin sırası herhangi bir doğal sayı n için geçerlidir.

Algoritmanın dikkate alınan özellikleri, algoritmanın daha kesin bir tanımını vermemize olanak sağlar.

Algoritma, belirli bir icracıya yönelik, başlangıç ​​verisinden istenen sonuca giden, ayrıklık, anlaşılabilirlik, kesinlik, etkililik ve kitlesel karakter özelliklerine sahip bir dizi eylemin açıklamasıdır.

2.1.4. İnsan faaliyetlerinin otomasyonu imkanı

Algoritma geliştirmek genellikle kişinin derin bilgi birikimine, ustalığa ve çok fazla zamana sahip olmasını gerektiren emek yoğun bir iştir.

Hazır bir algoritma kullanarak bir sorunu çözmek, yalnızca uygulayıcının verilen talimatları sıkı bir şekilde takip etmesini gerektirir.

Örnek 9.Üçten fazla sayıda nesne içeren bir yığından, iki oyuncu sırayla bir veya iki nesne alır. Kazanan, bir sonraki hamlesinde kalan tüm eşyaları alabilen kişidir.

İlk oyuncunun kesinlikle kazanmasını sağlayacak bir algoritma düşünelim.

1. Eğer yığındaki nesne sayısı 3'ün katı ise, rakibinize yol verin, aksi halde 1 veya 2 nesne alarak, kalan nesne sayısı 3'ün katı olacak şekilde oyuna başlayın.
2. Bir sonraki hamlenizde, her seferinde rakibinizin aldığı nesne sayısını 3'e ekleyin (kalan nesne sayısı 3'ün katı olmalıdır).

İcracı, yaptığı şeyin anlamını derinlemesine araştıramayabilir ve neden bu şekilde davrandığının nedenini bilmeyebilir, başka türlü davranamaz, yani resmi olarak hareket edebilir. Sanatçının resmi olarak hareket etme yeteneği, insan faaliyetini otomatikleştirme olanağı sağlar. Bunun için:

1) bir problemi çözme süreci bir dizi basit işlem olarak sunulur;
2) bu işlemleri algoritmada belirtilen sırayla gerçekleştirebilen bir makine (otomatik cihaz) oluşturulur;
3) kişi rutin faaliyetlerden kurtarılır, algoritmanın yürütülmesi otomatik bir cihaza emanet edilir.

EN ÖNEMLİ

İcracı- belirli bir dizi komutu yürütebilen bazı nesneler (kişi, hayvan, teknik cihaz).

Resmi bir icracı her zaman aynı komutu aynı şekilde yerine getirir. Her resmi uygulayıcı için şunları belirtebilirsiniz: çözülmesi gereken görev aralığı, ortam, komuta sistemi ve çalışma modu.

Algoritma- İlk verilerden gerekli sonuca götüren, ayrıklık, anlaşılabilirlik, kesinlik, etkililik ve kitlesel karakter özelliklerine sahip, belirli bir icracıya yönelik eylem dizisinin açıklaması.

Oyuncunun hareket etme yeteneği resmenİnsan faaliyetlerini otomatikleştirme yeteneği sağlar.

Sorular ve görevler

1. İçinde yer alan paragrafa ilişkin sunum materyallerini okuyun. elektronik başvuru ders kitabına. Sunum paragraf metninde yer alan bilgileri tamamlıyor mu? Sunumunuza hangi slaytları ekleyebilirsiniz?

2. Algoritma ne denir?

3. “Reçete” kelimesinin eşanlamlılarını seçin.

4. Okulda okuduğunuz algoritmalardan örnekler verin.

5. Algoritmanın uygulayıcısı kim olabilir?

6. Resmi icracıya bir örnek verin. Bir kişinin resmi bir icracı olarak hareket ettiği duruma bir örnek verin.

7. “Bilgisayar” uygulayıcısı tarafından gerçekleştirilen görev aralığını ne belirler?

8. Bilgisayarınızdaki kelime işlemciyi yürütücü olarak düşünün. Bu sanatçı ve çevresi tarafından çözülen görevlerin çeşitliliğini tanımlayın.

9. Takım nedir, icracı komutları sistemi?

10. Bir robot aşağıdaki işlevleri hangi komutlarla gerçekleştirmelidir:

a) mağazadaki kasiyer;
b) bir kapıcı;
c) güvenlik görevlisi mi?

11. Algoritmanın temel özelliklerini listeleyiniz.

12. Bir algoritmada herhangi bir özelliğin bulunmaması nelere yol açabilir? Örnekler ver.

13. Bir algoritmayı resmi olarak yürütebilmenin önemi nedir?

14. Sayı dizisi aşağıdaki algoritmaya göre oluşturulur: dizinin ilk iki sayısı 1'e eşit alınır; Sıradaki her bir sonraki sayı, önceki iki sayının toplamına eşit olacak şekilde alınır. Bu dizinin ilk 10 terimini yazın. Bu diziye ne ad verildiğini öğrenin.

15. Belirli bir algoritma, aşağıdaki gibi bir karakter dizisinden yeni bir zincir elde eder. Önce orijinal harf zinciri yazılır, ardından orijinal harf zinciri ters sırayla yazılır, ardından orijinal zincirde son sırada yer alan harften sonra Rus alfabesinde takip eden harf yazılır. Orijinal zincirin son sırasında “I” harfi varsa bir sonraki harf olarak “A” harfi yazılır. Ortaya çıkan zincir algoritmanın sonucudur. Örneğin, orijinal karakter zinciri “HOUSE” ise, algoritmanın sonucu “DOMMODN” zinciri olacaktır. “COM” karakter dizisi verilmiştir. Algoritmayı bu zincire uygulayıp daha sonra algoritmayı yaptığı işin sonucuna tekrar uygularsanız elde edilecek karakter zincirinde kaç tane “O” harfi olacaktır?

16. İnternette Eratosthenes algoritmasının adımlarını gösteren bir animasyon bulun. 50'yi aşmayan tüm asal sayıları bulmak için Eratosthenes'in algoritmasını kullanın.

17. Turtle'ın algoritmayı yürütmesinin sonucu (bkz. örnek 5) ne olacaktır?

18. Hesap Makinesi yürütücüsü için en fazla 5 komut içeren bir algoritma yazın (bkz. örnek 6):

a) 3 numaradan 16 numarayı almak;
b) 1 numaradan 25 numarayı almak.

19. Performans komutları sistemi Yapıcı, numaralarla atanan iki komuttan oluşur:

1 - 2'yi ata
2 - 2'ye böl

Bunlardan ilkine göre sağdaki sayıya 2 eklenir, ikinciye göre sayı 2'ye bölünür. İcracı 22212 algoritmasını çalıştırırsa 8 sayısı nasıl dönüştürülecek? Bu uygulayıcının komut sisteminde, 1 sayısının 16 sayısına dönüştürüleceği bir algoritma oluşturun (algoritma en fazla 5 komut içermemelidir).

20. Robot icracısının (örnek 7) algoritma 3241'i yürüttükten sonra kendisine geri dönebilmesi için hangi hücrede bulunması gerekir?

Ücretsiz yazılım:

KuMir sistemi - Eğitim dünyaları seti (program arşivini web sitesinden indirin) veya KuMir sayfasını ziyaret edin ((http://www.niisi.ru/kumir/)

Lütfen bu sitedeki AdBlock'u askıya alın.

Bu derste programlama kavramını resmileştiren bazı teorik kavramlara bakacağız. Aynı zamanda eğitiminizin ana görevini daha kesin bir şekilde formüle edeceğiz.

Başlangıç ​​olarak aşağıdaki çocuk oyuncağıyla biraz oynamanızı öneririm. İlk beş görevi tamamlayın, geri dönün ve dersi okumaya devam edin.

Şekil 1 Code.org'daki oyun alanının ekran görüntüsü

Umarım her şey senin için yolunda gitti. Şimdi bu örneği kullanarak birkaç temel kavramı açıklayacağız:

  • icracı;
  • icracı komutları sistemi;
  • algoritma.

Oyuncakta kırmızı bir kuşu kontrol ediyoruz. Her aşamanın amacı kuşu domuza ulaştırmaktır. Kuş belirli komutları yerine getirebilir, örneğin: ileri git, sola dön, sağa dön vb.

Bazı komutları yerine getirebilen kişiye, makineye veya cihaza yürütücü denir. Bu oyuncakta oyuncunun bir kuş olduğu açıktır. Sanatçının anladığı ve uygulayabildiği komutlar dizisine ne ad verilir? uygulayıcı komutları sistemi.

Bir problemi çözmek için bir uygulayıcının yürütmesi gereken komutların dizisine algoritma denir.

Birkaç noktaya odaklanmak gerekiyor.

Yürütücü yalnızca kendi komut sisteminde bulunan komutları yürütebilir.

Bu, örneğin kuş sanatçısına "Domuza git!" diye yazamayacağınız anlamına gelir. Daha net bir şekilde yazabilirsin ama hiçbir şey olmayacak çünkü... bu tür komutların icracısı bilmiyor.

Mevcut komutları doğru olduğunu düşündüğünüz herhangi bir sırayla yazabilirsiniz. Bir programcı olarak göreviniz, büyük ve karmaşık bir görevi, her biri uygulayıcının anlayabileceği küçük ayrı adımlara bölmektir. “Böl-yönet” ilkesi yeniden iş başında.

Oyuncu, algoritmanın ona yapmasını söylediği şeyi tam olarak yapar.

Kuş sanatçısı çok güveniyor. Programda yazdıklarınızı sorgulamıyor. Örneğin kuşu çevirmeyi unutursanız duvara çarpacaktır. Bu nedenle her şeyi kendiniz izlemelisiniz.

Gelecekteki programlarınız çoğu zaman planladığınız gibi çalışmayacaktır. Hatalar herkesin başına gelir. Burada aptal olanın bilgisayar olmadığını, algoritmada bir hata yaptığınızı anlamak önemlidir. Programın her zaman her şeyden sorumlu olduğu kötü programcılar gibi olmayın.

Şimdi açıklayıcı örnekten bilgisayar gerçeklerine geçelim. Bilgisayar için programlar yazıyoruz, bu da bizim durumumuzda bilgisayarın icracı olduğu anlamına geliyor. Komut sistemi, C dilinin standart işlevleri ve yapılarıdır.

Programlamanın temellerini öğretmenin temel amacı nedir? Algoritmik düşünme becerisinde ustalaşın. Yani, belirli bir sanatçı için (bizim durumumuzda bir bilgisayar) çeşitli sorunların çözümünü bir algoritma biçiminde yazmayı öğrenin.

Yani özetlemek gerekirse:

Bilgisayar programı– Bir problemi çözmek için bir programlama dilinde yazılmış bir algoritma.

Algoritma, bir uygulayıcının bir sorunu çözmek için gerçekleştirmesi gereken eylemlerin sırasının kesin bir açıklamasıdır.

Yürütücü, belirli bir dizi komutu anlayabilen ve yürütebilen bir kişi veya bir cihazdır.

Algoritma kelimesi, aritmetik işlemleri gerçekleştirmenin kurallarını formüle eden 9. yüzyıl Arap matematikçisi el-Harezmi'nin isminden gelmektedir.

Algoritma– icracıya, ilk verilerden ilk sonuca giden son komut dizisini yürütmesi için doğru ve anlaşılır bir talimat.

Örnekler: günlük rutin, pişirme sırası, talimatlar vb.)

Algoritma yürütücüsü– algoritmayı yürüten kişidir (kişi, hayvan, makine, bilgisayar).

Yürütücü komut sistemi- bu, icracının nasıl yürütüleceğini bildiği (anladığı) komutların tamamıdır. Algoritma yalnızca yürütücü komutları sisteminde yer alan komutlardan oluşturulabilir.

Örneğin, icracı Robot ileri, geri, sol, sağ, boyama komutlarını gerçekleştirebilir. Bir duvarla sınırlanan ve duvarları içeren bir hücre alanı boyunca hareket eder. Robot duvardan geçemez.

Algoritma özellikleri:

1.Performans (uzuv)– sınırlı sayıda adımda ilk verilerden bir sonuç elde etme yeteneği. (Örneğin, 2 sayıyı eklemek için algoritmayı çalıştırırken toplam elde edilmelidir).

2.Kütle karakteri– algoritmayı çok sayıda farklı kaynak veriye uygulama yeteneği. (Örneğin, toplama algoritmasını bilerek herhangi 2 sayıyı ekleyebilirsiniz.)

3.Determinizm(kesinlik, doğruluk) - her komut, icracının eylemini benzersiz bir şekilde belirlemelidir.

4.Anlaşılabilirlik– Komut bilgisayarın anlayabileceği bir dilde yazılmalıdır.

5.Ayrıklık– algoritmayı ayrı komutlara bölmek.

Algoritmayı yazmanın yolları:

1) Doğal dilde – insanların anlayabileceği bir dilde, ayrı komutlar biçiminde kayıt.

2) Grafik – akış şemaları dilinde, geometrik şekiller (oval, dikdörtgen, paralelkenar, eşkenar dörtgen) kullanılarak.

3) Algoritmik bir dilde - programlamayı öğretmek için algoritmalar yazmaya yönelik bir dil. Komutlar Rusça yazılmıştır.

4) Bir programlama dilinde - bir program. Programlama dilleri: Temel, Pascal, C, Visual Basic.

B7.Temel algoritmik yapılar: takip, dallanma, döngü; Blok diyagramlardaki görüntü. Görevleri alt görevlere bölmek. Yardımcı algoritmalar.

Algoritmik tasarımlar. Algoritmalar içerisinde, iç yapı - algoritmik yapılar açısından farklılık gösteren adım grupları ayırt edilebilir.

Temel algoritmik yapılar adımların (veya takip eden), dallanma ve döngünün doğrusal dizisidir.

Komutların birbiri ardına sırayla yürütüldüğü bir algoritmaya ne ad verilir? doğrusal algoritma.

Blok diyagram dilinde doğrusal bir algoritma şu şekilde görünür:

Örnek: bilgisayarı açmak için algoritma:

  1. Bilgisayarın gücünü açın (üzerindeki düğmeye basın) dalgalanma koruyucusu).
  2. Monitörü ve yazıcıyı açın.
  3. Tıklamak Güç düğmesi Açık sistem birimi.
  4. Yüklemeyi bekleyin işletim sistemi ve Masaüstünün görünümü.
  5. İşe başlamak.

Bu algoritmada, tüm eylemlerin birbiri ardına sırayla gerçekleştirilmesi gerekir: Güç veya monitör açılmazsa çalışmaya başlayamazsınız.

Algoritmik yapıya " dallanma» dahil durum koşulun doğruluğuna bağlı olarak bir veya daha fazla komut dizisi (seri) yürütülür.

Koşul, doğru ya da yanlış olabilen bir ifadedir. Koşulda, iki sayı, iki dize, iki değişken veya dize ifadesi karşılaştırma operatörleri (>,<, =, >=, <=).

Algoritmik dilde kayıt: IfCondition Then Series 1 (If Durum doğru, o zaman doğru Bölüm 1, Eğer Durum false ise hiçbir şey yürütülmez). Örnek: Bugün Pazar ise okula gitmeye gerek yoktur. Dallanmanın tam şekli

Algoritmik yapılarda döngü tekrar tekrar yürütülen bir dizi komut içerir. Bu komut dizisine denir döngünün gövdesi.

İki tür döngüsel algoritmik yapı vardır:

  • karşı döngüler döngünün gövdesinin belirli sayıda yürütüldüğü;
  • koşullu döngüler Koşul sağlandığı sürece döngünün gövdesi yürütülür.

Sayaçlı döngü– döngü gövdesinin kaç tekrarının yapılması gerektiği önceden bilindiğinde kullanılır.

Algoritma ve özellikleri.

Algoritma- icracıya, ilk verilerden istenen sonuca giden son komut dizisini yürütmesi için açık ve kesin bir talimat.

Algoritma yürütücüsü- bu, algoritmanın kontrol etmek üzere tasarlandığı nesne veya konudur.

Sanatçının komut sistemi (SCS), sanatçının yürütebileceği komutların tamamıdır.

Algoritmanın özellikleri: anlaşılabilirlik, doğruluk, sonluluk.

Netlik: algoritma yalnızca uygulayıcının SKI'sında bulunan komutlardan oluşur.

Kesinlik: Kontrol algoritmasının her komutu, icracının kesin eylemini belirler.

Bitirme (veya performans): Algoritmanın yürütülmesi, sınırlı sayıda adımda bir sonuca yol açmalıdır.

Sanatçının ortamı: Sanatçının faaliyet gösterdiği ortam.

İcracının belirli bir eylem dizisi her zaman bazılarına uygulanır. kaynak verileri. Örneğin, bir yemek tarifine göre bir yemek hazırlamak için uygun ürünlere (verilere) ihtiyacınız vardır. Bir matematik problemini çözmek için (ikinci dereceden bir denklemi çözmek), ilk sayısal verilere (denklem katsayıları) ihtiyacınız vardır.

Tam veri seti: görevi çözmek için gerekli ve yeterli veri kümesi (istenen sonucu elde etmek).

Algoritma yazma yöntemleri.

En yaygın yöntemler şunlardır: grafik, sözlü ve formda bilgisayar programları.

Grafik yöntemi belirli grafik sembollerinin - blokların kullanımını içerir.

Blok adı Blok tanımı İçerik
İşlem
Veri işleme
Karar verme
Belirli bir koşulun doğruluğunu veya yanlışlığını kontrol etmek için mantıksal bir blok
Veri aktarımı
Bilgi girişi veya çıkışı
Başla dur
Programın başlangıcı veya sonu
Değişiklik
Döngüsel bir sürecin organizasyonu - döngü başlığı

Blokların toplanması sözde oluşturur algoritma akış şeması.

Sözlü kayıt Algoritmalar öncelikle icracı insana odaklanır ve talimatların farklı şekilde kaydedilmesine izin verir, ancak kaydın oldukça doğru olması gerekir.

Formda algoritmalar yazarken programlar Bilgisayarlar için programlama dilleri kullanılır - kullanım talimatlarını ve kurallarını kodlamak için sistemler. Algoritmaların program biçiminde yazılması, yüksek derecede resmileştirme ile karakterize edilir.

Miktarlarla çalışmak için algoritmalar. Temel algoritmik yapılar.

Miktar, adı, değeri ve türü olan tek bir bilgi nesnesidir.

Miktarlarla çalışmaya yönelik algoritmaların uygulayıcısı bir kişi veya bilgisayar gibi özel bir teknik cihaz olabilir. Böyle bir sanatçının sahip olması gerekir hafıza miktarları depolamak için.

Miktarlar sabit veya değişken olabilir.

Sabit değer (sabit) Algoritmanın yürütülmesi sırasında değeri değişmez. Bir sabit, kendi değeriyle (10, 3,5 sayıları) veya sembolik bir adla (sayı) belirtilebilir.

Değişken değer algoritmanın yürütülmesi sırasında değeri değiştirebilir. Bir değişken her zaman sembolik bir adla (X, A, R5 vb.) belirtilir.

Miktar türü bir değerin alabileceği değerler kümesini ve o değerle gerçekleştirilebilecek eylemler kümesini tanımlar. Temel büyüklük türleri: tam sayı, gerçek, sembolik, mantıksal.

İfade- miktarlara ilişkin eylem sırasını tanımlayan bir kayıt. Bir ifade sabitleri, değişkenleri, işlem işaretlerini ve işlevleri içerebilir. Örnek:

A+B; 2*X-Y; K + L - günah(X)

Atama komutu, bir değişkenin yeni bir değer almasıyla sonuçlanan bir uygulayıcının komutudur. Komut Formatı:

değişken adı>:=ifade>

Atama komutu şu sırayla gerçekleştirilir: önce hesaplanır, ardından elde edilen değer bir değişkene atanır.

Örnek. A değişkeninin değeri 6 olsun. A:= 2 * A - 1 komutunu çalıştırdıktan sonra A değişkeni hangi değeri alacaktır?
Çözüm. 2*A - 1 ifadesinin A=6 ile hesaplanması 11 sayısını verecektir. Bu da A değişkeninin yeni değerinin 11 olacağı anlamına gelir.

Bundan sonra şu varsayılacaktır: miktarlarla çalışmak için algoritmaların uygulayıcısı bir bilgisayardır. Komutlardan herhangi bir algoritma oluşturulabilir atamalar, giriş, çıktı, dallanma Ve döngü.

Giriş komutu- değişken değerlerin giriş aygıtları (örneğin bir klavye) aracılığıyla ayarlandığı bir komut.

Örnek: giriş A - A değişkeninin değerinin bilgisayar klavyesinden girilmesi.

Çıkış komutu: Bir miktarın değerini bir bilgisayar çıkış cihazında (monitör gibi) görüntüleyen bir komut.

Örnek: çözüm X - X değişkeninin değeri ekranda görüntülenir.

Şube komutanlığı- bazı koşullara bağlı olarak algoritmayı iki yola böler; daha sonra algoritmanın yürütülmesi genel devamına gider. Dallanma tam veya eksik olabilir. Blok diyagramlarda ve Algoritmik dilde dallanmanın açıklaması:

Burada seri, bir veya daha fazla sıralı komut anlamına gelir; kv - dallanmanın sonu.

Döngü komutu bazı koşullara bağlı olarak bir dizi komutun (döngü gövdesi) tekrar tekrar yürütülmesini sağlar.

Ön koşullu döngü- döngü koşulu doğrulanıncaya kadar yürütülmesi tekrarlanan bir döngü:

Parametreli döngü- tamsayı parametresi başlangıçtan (In) finale (Ik) kadar tüm değerler kümesinden geçerken döngü gövdesinin tekrar tekrar yürütülmesi:

Örnek.İki basit kesir verilmiştir. Bölünmelerinin sonucu olan bir kesir elde etmek için bir algoritma oluşturun.
Çözüm. Cebirsel formda problemin çözümü şöyle görünür:
a/b: c/d = a*d/b*c = m/n
Başlangıç ​​verileri dört tamsayı niceliktir: a, b, c, d. Sonuç m ve n olmak üzere iki tam sayıdır.

alg kesirleri bölme
bozulmamış a, b, c, d, m, n
girişi başlat a, b, c, d
m:=a*d
n:=b*c
çıktı "Sayılayıcı =", m
çıktı "Payda =", n
koi

Lütfen metnin (herhangi bir karakter dizisi) çıktısını almak için metnin komutta tırnak işaretleri içinde yazılması gerektiğini unutmayın. çözüm.

  1. Efimova O., Morozov V., Ugrinovich N. Bilgisayar biliminin temelleri ile bilgisayar teknolojisi kursu. öğretici lise için. - M .: LLC "AST Yayınevi"; ABF, 2000
  2. Bilgisayar bilimlerinde problem kitabı atölyesi. 2 cilt/ed. I. Semakina, E. Henner. - M .: Temel Bilgi Laboratuvarı, 2001.
  3. Ugrinovich N. Bilgisayar Bilimi ve Bilişim teknolojisi. 10-11. Sınıflar - Yüksek Lisans: Temel Bilgi Laboratuvarı, JSC "Moskova Ders Kitapları", 2001

"Algoritmalar ve uygulayıcılar" konusundaki görevler ve testler

  • Sanatçı Yönetimi Ressamı - Algoritmalar 6. sınıf

    Dersler: 4 Ödevler: 9 Testler: 1

  • 2 Görev: 9 Test: 1

Sevgili öğrenci!

"Algoritmalar ve Yürütücüler" konusunun bilgisi öncelikle programlamanın daha ileri düzeyde çalışılması için gereklidir. QBasic programlama dili, programlama eğitiminin temeli olarak seçildi. Bu yaklaşım henüz Rusya Federasyonu'ndaki çoğu ortaokulda yaygın olarak kullanılmadığından, Visual Basic'i veya başka herhangi bir nesne yönelimli programlama dilini kursumuza dahil etme fikrinden vazgeçtik. Ayrıca nesne yönelimli programlama klasik Dos programlama ilkelerine dayanmaktadır.

Kursumuz genel eğitim programı için tasarlanmıştır. Üniversitelere bilgi teknolojisi giriş sınavlarına hazırlanırken, belirli bir üniversitede programlama eğitiminin özelliklerini öğrenmeniz gerekir. Bazı durumlarda, örneğin "Diziler" gibi bir dizi konunun derinlemesine incelenmesi gerekir. Programlama literatürünü incelerken buna dikkat etmelisiniz; belki de kullanmalısınız. metodolojik önerilerŞu anda çoğu yükseköğretim kurumunda yayınlanan sınavlara hazırlık hakkında.

Sonuç olarak, programlamada "akrobasi" başarısının ancak sürekli pratik yaparak ve belirli uygulamalı problemleri çözerek mümkün olabileceğini not ediyoruz.




Tepe