Pratik olarak dünyamızdaki her şey bazı yasalara ve kurallara tabidir. Modern bilim, insanoğlunun birçok formül ve algoritma bildiği, ardından doğanın yarattığı birçok eylemi ve yapıyı hesaplayıp yeniden oluşturabileceğiniz ve insanın icat ettiği fikirleri hayata geçirebileceğiniz modern bilim durmuyor.
Bu yazıda algoritmanın temel kavramlarını analiz edeceğiz.
Algoritmaların ortaya çıkış tarihi
Algoritma - XII. Yüzyılda ortaya çıkan bir kavram. "Algoritma" kelimesinin kendisi, "Hint Sayımı Üzerine" kitabını yazan ünlü orta doğu matematikçisi Muhammed el-Khwarizmi'nin adının Latince yorumundan gelir. Bu kitap, Arap rakamları kullanılarak doğal sayıların nasıl doğru yazılacağını ve bu sayılar üzerinde bir sütunla eylemlerin algoritmasını açıklar.
12. yüzyılda "Hint Hesabı Üzerine" kitabı Latinceye çevrildi ve ardından bu tanım ortaya çıktı.
Algoritmanın insan ve makine ile etkileşimi
Yaratılışalgoritma yaratıcı bir yaklaşım gerektirir, bu nedenle yalnızca bir canlı, sıralı eylemlerin yeni bir listesini oluşturabilir. Ancak mevcut talimatların yürütülmesi için bir fantaziye gerek yok, ruhsuz teknoloji bile bunu halledebilir.
Belirli bir talimatı tam olarak takip etmenin mükemmel bir örneği, içinde yiyecek olmamasına rağmen çalışmaya devam eden boş bir mikrodalga fırındır.
Algoritmanın özünü anlaması gerekmeyen bir özne veya nesneye resmi yürütücü denir. Bir kişi ayrıca resmi bir uygulayıcı olabilir, ancak bir veya başka bir eylemin kârsız olması durumunda, düşünen bir uygulayıcı her şeyi kendi yolunda yapabilir. Bu nedenle, ana sanatçılar bilgisayarlar, mikrodalga fırınlar, telefonlar ve diğer ekipmanlardır. Bilgisayar bilimlerinde algoritma kavramı çok önemlidir. Her algoritma, izin verilen eylemler dikkate alınarak belirli bir konunun beklentisiyle derlenir. Öznenin yönergeleri uygulayabileceği nesneler, yürütücünün ortamını oluşturur.
Pratik olarak dünyamızdaki her şey bazı yasalara ve kurallara tabidir. Modern bilim, insanlığın birçok formül ve algoritma bildiği, doğanın birçok eylemini ve yaratımını hesaplayabileceğiniz ve yeniden yaratabileceğiniz ve insan tarafından icat edilen fikirleri hayata geçirebileceğiniz, hareketsiz durmuyor. Bu yazımızda algoritmanın temel kavramlarını analiz edeceğiz.
Algoritma nedir?
Yaşamımız boyunca gerçekleştirdiğimiz faaliyetlerin çoğu bir takım kurallara uyulmasını gerektirir. Bir kişinin ne kadar doğru bir fikri olduğundanneyi, nasıl ve hangi sırayla yapması gerektiği, kendisine verilen görevlerin niteliğine ve sonucuna bağlıdır. Çocukluğundan beri, ebeveynler çocuklarında ana eylemler için bir algoritma geliştirmeye çalışıyorlar, örneğin: uyanmak, yatağı yapmak, dişlerinizi yıkamak ve fırçalamak, egzersiz yapmak, kahv altı yapmak vb., bir kişinin yaptığı liste. tüm hayatı sabahları da bir tür algoritma sayılabilir.
Algoritma, bir kişinin belirli bir sorunu çözmek için izlemesi gereken bir dizi talimata atıfta bulunan bir kavramdır.
Genel olarak, algoritmanın birçok tanımı vardır, birkaç bilim adamı onu farklı şekilde karakterize eder.
Bir kişinin her gün kullandığı algoritma herkes için farklıysa ve oyuncunun kendini bulduğu yaşa ve durumlara bağlı olarak değişebiliyorsa, o zaman bir matematik problemini çözmek için yapılması gereken eylemler dizisi ya da teknolojiyi kullanmak herkes için aynıdır ve her zaman aynı kalır.
Algoritmanın farklı bir konsepti vardır, algoritma türleri de farklıdır - örneğin, bir hedef peşinde koşan bir kişi ve teknoloji için.
Bilgi teknolojisi çağımızda, insanlar günlük olarak diğer insanlar tarafından kendilerinden önce oluşturulan bir dizi talimatı takip eder, çünkü teknoloji kullanıldığında bir dizi eylemin kesin olarak yürütülmesini gerektirir. Bu nedenle okullarda öğretmenlerin temel görevi çocuklara algoritma kullanmayı, mevcut kuralları hızlı bir şekilde kavramayı ve mevcut duruma göre değiştirmeyi öğretmektir. Algoritmanın yapısı bunlardan biridir.her okulda matematik ve bilgisayar bilimleri dersinde işlenen kavramlar.
Algoritmanın temel özellikleri
1. Ayrıklık (bireysel eylemlerin sırası) - herhangi bir algoritma, her biri bir öncekinin tamamlanmasından sonra başlaması gereken bir dizi basit eylem olarak temsil edilmelidir.
2. Kesinlik - algoritmanın her eylemi o kadar basit ve açık olmalıdır ki, icracının herhangi bir sorusu ve hareket özgürlüğü yoktur.
3. Verimlilik - algoritmanın açıklaması açık ve eksiksiz olmalıdır, böylece tüm talimatların yürütülmesinden sonra görev mantıksal sonuna ulaşır.
4. Kütle karakteri - algoritma, yalnızca algoritmadaki sayıları değiştirerek çözülebilecek tüm problem sınıfına uygulanabilir olmalıdır. Son noktanın algoritmalar için değil genel olarak tüm matematiksel yöntemler için geçerli olduğu yönünde bir görüş olsa da.
Genellikle okullarda, çocuklara algoritmaları daha iyi anlamalarını sağlamak için, öğretmenler bir yemek kitabından yemek pişirme, reçeteden ilaç yapma veya bir ana sınıfa dayalı bir sabun yapma işlemi yapma örneğini kullanır. Ancak, algoritmanın her bir öğesinin kesinlikle herhangi bir kişi ve hatta bir makine tarafından gerçekleştirilebilecek kadar açık olması gerektiğini söyleyen algoritmanın ikinci özelliğini dikkate alarak, en azından bir tür işlem gerektiren herhangi bir işlemin olduğu sonucuna varabiliriz. hayal gücü, algoritma adlandırılamaz. Ve yemek pişirmek ve iğne işi belirli beceriler ve gelişmiş bir hayal gücü gerektirir.
Farklı türde algoritmalar vardır,ama üç ana tane var.
Döngüsel algoritma
Bu türde, bazı öğeler birkaç kez tekrarlanır. Hedefe ulaşmak için tekrarlanması gereken eylemlerin listesine algoritmanın gövdesi denir.
Döngünün yinelenmesi, döngünün gövdesinde yer alan tüm öğelerin yürütülmesidir. Döngünün belirli sayıda sürekli olarak yürütülen bölümlerine sabit sayıda döngü denir yineleme sayısı.
Sıklığı bir dizi koşula bağlı olan döngünün bölümlerine belirsiz denir.
En basit döngü türü sabittir.
İki tür döngüsel algoritma vardır:
- Ön koşullu döngü. Bu durumda, döngünün gövdesi, yürütülmeden önce durumunu kontrol eder.
- Sonkoşulu olan bir döngü. Son koşulu olan bir döngüde, koşul döngünün bitiminden sonra kontrol edilir.
Doğrusal algoritma türleri
Bu tür devrelerin talimatları, sunuldukları sırayla bir kez yürütülür. Örneğin, yatak yapma veya diş fırçalama işlemi doğrusal bir algoritma olarak kabul edilebilir. Bu tür aynı zamanda yalnızca toplama ve çıkarma işlemlerinin olduğu matematiksel örnekleri de içerir.
Dallandırma algoritması
Bir dallanma türünde birkaç seçenek vardır, hangisinin uygulanacağı koşula bağlıdır.
Örnek. Soru: "Yağmur yağıyor mu?" Cevap seçenekleri: "Evet" veya "Hayır". Eğer bir"evet" - "hayır" ise şemsiyeyi açın - şemsiyeyi çantaya koyun.
Yardımcı algoritma
Yardımcı algoritma sadece adını belirterek diğer algoritmalarda kullanılabilir.
Algoritmalarda bulunan terimler
Koşul "if" ve "then" kelimeleri arasındadır.
Örneğin: İngilizce biliyorsanız bire basın. Bu cümlede "İngilizce biliyorsun" ifadesinin bir kısmı koşul olacaktır.
Veri, belirli bir anlamsal yük taşıyan ve iletilebilecek ve bu algoritma için kullanılabilecek şekilde sunulan bilgilerdir.
Algoritmik süreç - belirli verileri kullanarak bir algoritmaya göre bir problem çözme.
Algoritmanın yapısı
Algoritma farklı bir yapıya sahip olabilir. Konsepti yapısına da bağlı olan bir algoritmayı tanımlamak için birkaç farklı yol kullanabilirsiniz, örneğin: sözlü, grafik, özel olarak geliştirilmiş bir algoritmik dil kullanarak.
Hangi yöntemin kullanılacağı birkaç faktöre bağlıdır: görevin karmaşıklığı, sorunu çözme sürecinin ne kadar ayrıntılı olması gerektiği, vb.
Algoritmanın grafik versiyonu
Grafik algoritma - belirli bir sorunu çözmek için gerçekleştirilmesi gereken eylemlerin belirli geometrik şekillere göre ayrıştırılmasını ima eden bir kavram.
Grafik diyagramlar rastgele gösterilmez. Yapabilmeleri içinherhangi bir kişiyi anlamak için genellikle akış şemaları ve Nassi-Schneiderman yapı çizgeleri kullanılır.
Ayrıca GOST-19701-90 ve GOST-19.003-80'e göre blok diyagramlar çizilir. Algoritmada kullanılan grafik şekiller şu şekilde ayrılır:
- Temel. Ana görüntüler, bir problemi çözerken verileri işlemek için gereken işlemleri belirtmek için kullanılır.
- Yardımcı. Sorunu çözmenin en önemli öğelerini değil, bireysel öğelerini belirtmek için yardımcı görüntülere ihtiyaç vardır.
Grafik bir algoritmada, verileri temsil etmek için kullanılan geometrik şekillere blok denir.
Tüm bloklar "yukarıdan aşağıya" ve "soldan sağa" sırayla gider - bu doğru akış yönüdür. Doğru sıra ile blokları birbirine bağlayan çizgiler yönü göstermez. Diğer durumlarda, çizgilerin yönü oklarla gösterilir.
Doğru bir algoritma şeması, işleme bloklarından birden fazla çıkışa ve mantıksal işlemlerden ve koşul kontrolünden sorumlu bloklardan ikiden az çıkışa sahip olmamalıdır.
Bir algoritma nasıl doğru bir şekilde oluşturulur?
Algoritmanın yapısı, yukarıda belirtildiği gibi GOST'a göre oluşturulmalıdır, aksi takdirde başkaları tarafından anlaşılabilir ve erişilebilir olmayacaktır.
Genel kayıt metodolojisi aşağıdaki öğeleri içerir:
Bu şema kullanılarak hangi sorunun çözülebileceğinin açıklanacağı isim.
Her algoritmanın açıkça işaretlenmiş bir başlangıcı ve sonu olmalıdır.
Algoritmalarhem girdi hem de çıktı olarak tüm veriler açık ve net bir şekilde tanımlanmalıdır.
Algoritma derlenirken, seçilen veri üzerinde problemin çözülmesi için gerekli işlemlerin yapılmasına olanak sağlayacak işlemlere dikkat edilmelidir. Algoritmanın yaklaşık görünümü:
- Kimya adı.
- Veri.
- Başla.
- Ekipler.
- Bitiş.
Devrenin doğru inşası, algoritmaların hesaplanmasını büyük ölçüde kolaylaştıracaktır.
Algoritmadaki farklı eylemlerden sorumlu geometrik şekiller
Yatay oval - başlangıç ve bitiş (bitiş işareti).
Yatay dikdörtgen - hesaplama veya diğer işlemler (işlem işareti).
Yatay paralelkenar - giriş veya çıkış (veri işareti).
Yatay eşkenar dörtgen - durum kontrolü (karar işareti).
Uzatılmış, yatay altıgen - modifikasyon (hazırlık işareti).
Algoritma modelleri aşağıda gösterilmiştir.
Algoritma yapısının formül-sözlü versiyonu.
Formül-sözlü algoritmalar, keyfi bir biçimde, görevin ait olduğu alanın profesyonel dilinde yazılır. Bu şekilde eylemlerin açıklaması kelimeler ve formüller kullanılarak gerçekleştirilir.
Bilgisayar biliminde algoritma kavramı
Bilgisayar alanında her şey algoritmalara dayalıdır. Özel bir kod şeklinde girilen net talimatlar olmadan hiçbir teknik işe yaramaz veyaprogramı. Bilgisayar bilimi derslerinde öğrenciler, algoritmaların temel kavramlarını vermeye, onları nasıl kullanacaklarını öğretmeye ve kendi başlarına oluşturmaya çalışıyorlar.
Bilgisayar biliminde algoritmalar oluşturmak ve kullanmak, örneğin matematikte bir problemi çözmek için talimatları takip etmekten daha yaratıcı bir süreçtir.
Programlama alanında cahil olan kişilerin kendi programlarını oluşturmalarına yardımcı olan özel bir "Algoritma" programı da bulunmaktadır. Böyle bir kaynak, bilgisayar bilimine ilk adımlarını atan ve kendi oyunlarını veya başka herhangi bir programı oluşturmak isteyenler için vazgeçilmez bir yardımcı olabilir.
Öte yandan, herhangi bir program bir algoritmadır. Ancak algoritma yalnızca verilerini ekleyerek gerçekleştirilmesi gereken eylemleri taşıyorsa, program bitmiş verileri zaten taşır. Diğer bir fark, programın patentli ve özel mülkiyetli olabilmesidir, ancak algoritma değildir. Algoritma, programdan daha geniş bir kavramdır.
Sonuç
Bu yazımızda algoritma kavramını ve türlerini inceledik, grafik şemaların nasıl doğru yazılacağını öğrendik.