Algoritmik bir dilde kayıt yapmak buna bir örnektir. Eğitici algoritmik dil

26.11.2023

Herhangi bir programlama dili çeşitli anahtar kelimeler, işlevler veya sınıflarla doludur. Kural olarak hepsi yöntemleri veya argümanları açıklayan İngilizceyi kullanır. Bazı ortamlarda makine fonksiyonlarının basit kısaltmaları vardır. Bu, ilk aşamalarda gelişimin gelişimini büyük ölçüde engelledi. Anlama hızını artırmak için, eğitimsiz bir kişinin bile anlayabileceği, anlaşılır ve erişilebilir kelimelerden ve bunların kombinasyonlarından oluşan bir dizi özel algoritmik programlama dili oluşturuldu.

Biraz tarih

İlk bilgisayarlarla iletişim kurmak için makine koduna mümkün olduğunca yakın, sıfırlardan ve birlerden oluşan programlama dilleri kullanıldı. Doğal olarak birçok komutu hatırlamak çok zor bir işti. Ek olarak, programlama sırasında bellek ayırma yöntemi tamamen geliştiricinin omuzlarına dayanıyordu. Ve eğer küçük bir hata yaparsa her şeyi yeniden yapmak zorunda kalırdı.

Makine dilinden insanlar için daha uygun bir dile geçişte, düşük seviyeli programlama dili birleştiricisi büyük bir rol oynadı. Anımsatıcılar ve semboller kullandı. Bu, geliştiricinin görevini basitleştirdi, çünkü artık algoritmalarını kontrol talimatları ve sayısal kodların kombinasyonlarından daha verimli bir şekilde oluşturabiliyordu. Tüm esnekliğine ve gücüne rağmen dile hakim olmak hâlâ zordu.

Eğitim kurumlarında geliştirme ve algoritmaları öğretmek için BASIC programlama dilinin tanıtımına başlandı. Zaten öğrencinin anlayabileceği birçok komut ve anahtar kelime içeriyordu. BASIC hala programlamanın temellerini öğrenmek için kullanılıyor.

İlk algoritmik programlama dili Algol'ün yaratılmasıyla algoritmaların gelişimi önemli ölçüde hızlandı.

Algoritma nedir

Kuru teori ve tanımlardan uzaklaşırsak, algoritma belirli bir sorunu çözmeyi amaçlayan bir dizi eylemdir. İfadenin tüm gösterişliliğine rağmen insan her gün bu kavramla karşılaşıyor. Örneğin çay içmek için aşağıdaki sırayı izlemeniz gerekir:

  1. Su ısıtıcısını ocağın üzerine yerleştirin.
  2. Kaynamasını bekleyin.
  3. Kaynar suyu suya dökün.
  4. Çay poşetini bardağa yerleştirin.
  5. Gerekli miktarda şeker, süt veya bal ekleyin.

Bu dizi çok basitleştirilmiştir ancak en basit algoritmayı temsil eder.

Tıpkı bir insan gibi, bir bilgisayar da belirli bir dizi görevi yerine getirme yeteneğine sahiptir. Ancak bunları net bir şekilde anlayabilmek için, bilgisayarın insanlar için açık olan birçok kavramdan yoksun olduğunu dikkate almak gerekir. Ayrıca algoritmanın gerekli tüm eylemleri doğru bir şekilde tanımlaması gerekir. Algoritmik bir dil bu amaca hizmet ederek makine ile insan arasında bir tür köprü oluşturur.

Algoritmik dilin özellikleri ve özellikleri

Algoritmik, bilgisayarlarda çalıştırılması amaçlanan algoritmaların tanımlandığı resmi bir dildir. Tipik olarak herhangi bir makine mimarisine bağlı değildir. Bu, kodlamanın önemli ölçüde iyileştirilmesine ve hızlandırılmasına yardımcı olur. Çarpıcı bir örnek algoritmik dil BASIC'tir. Pascal ve C, basit sözdizimleri ve öğrenme hızları nedeniyle de popüler olduklarını kanıtladılar.

Yapı, kodda açıklanan prosedürlerin birbiri ardına yürütüleceği şekilde uygulanmaktadır. Yani tek algoritma – tek görev. Bu, C ve Java'da işlevler veya yöntemler oluşturmaya benzer.

Tüm kodlar, bir olayı veya değişkeni tanımlayan anahtar kelimelerden oluşturulur.

Makine ve algoritmik diller arasındaki farklar

Makineye bağımlı bir dilin çarpıcı bir temsilcisi montajcıdır. Programlama, tercümana neyin taşınması gerektiğini, nereye veya hangi veri alanının doldurulacağını özel işaretlerle belirtmekten ibarettir. Assembler sözdizimi makine sözdizimine daha çok benzediğinden, üzerinde çalışmak ve kod yazmak oldukça zordur. Aşağıda farklı işlemciler için komutların nasıl görünebileceğini görebilirsiniz.

Bu nedenle, insanın anlayabileceği çok sayıda anahtar kelime ve ismin yer aldığı resmi veya algoritmik bir dil oluşturuldu.

Anahtar Kelimeler

Algoritmik dil, eylemlerin veya değişkenlerin tam tanımının kısaltmaları olan anahtar sözcüklerden oluşur. Bu, kodu anlaşılır tutarken uzunluğunu azaltmanıza olanak tanır.

  • Alg. Herhangi bir algoritma bu anahtar kelimeyle başlar. Adı açıklar ve hesaplama için hangi argümanların gerekli olduğunu ve sonucun ne olması gerektiğini parantez içinde belirtir.
  • Argüman. Algoritmanın argümanlarını belirtir. Kodda kullanılacak değerin türünü ve adını yansıtır.
  • Çöz.. Bu anahtar kelime, hesaplama sonucunun yerleştirilmesi gereken değişkenin türünü ve adını belirtmeye yarar.
  • Başlangıç Algoritmanın yürütülmesinin hemen başladığını gösterir. Con anahtar sözcüğüne kadar sürer. "Başlangıç"tan "bitiş"e kadar olan aralığın tamamına mevcut algoritmanın gövdesi denir.
  • Con. Algoritmanın yürütmeyi tamamladığını gösterir.
  • Verilen. Algoritmayı kullanmanın bazı özellikleri ve nüansları veya sınırlamaları hakkında konuşur. Örneğin burada karşılaştırılan dizelerin uzunluklarının aynı olması gerektiğini belirtebilirsiniz. "Verilen" anahtar sözcüğünün kullanımı isteğe bağlıdır.
  • Gerekli. Algoritmanın yürütülmesi sonucunda neyin elde edilmesi gerektiğine ilişkin daha ayrıntılı bir açıklama. Tıpkı “given” gibi ihmal edilebilir ancak daha anlaşılır ve detaylı kod oluşturmak için kullanılması tavsiye edilir.

Bu anahtar kelimelerin listesi, algoritmanın başlığına ve gövde tanımına atıfta bulunur. Değişkenlere ilişkin belirteçler şu şekilde görünür:

  • Cel. Tamsayı değişken türü. Aralıkları -32768 ila 32767 arasında değişmelidir.
  • Şey. Gerçek sayılar. Örneğin, bir üs veya kesirli kısım ile.
  • Kayıt. Bu anahtar kelime, yalnızca "evet" veya "hayır"ı kabul edebilen bir Boolean değişkeninin kullanılacağı anlamına gelir.
  • Sim. Buna "a", "3" gibi tek karakterli değerler de dahildir.
  • Aydınlatılmış. Tüm metin dizelerini içerebilen dize değişkenleri.
  • Sekme. Belirli türdeki verileri içeren bir tabloyu belirtir. Diğer programlama dillerindeki bir dizinin analogudur.

Ek fonksiyon kelimeleri

Aşağıdaki sözcük listesi dallanma ve döngü mekanizmalarını düzenlemek için kullanılır.

  • İçin. Belirli bir aralıktaki tüm değerleri yinelemek için kullanılır. Döngüler için kullanılır, yani herhangi bir prosedürün verilerle sürekli olarak yürütülmesi.
  • Nereden ve nereye. Bir "for" döngüsünde hangi belirli değer aralığının yinelenmesi gerektiğini belirtir.
  • Hoşçakal. Ayrıca birden fazla değer üzerinde yineleme yapmak için de kullanılır. Belirli bir koşul sağlanana kadar çalışmak için kullanılır.
  • Nts ve kts. Algoritmik dilde “Nts” döngü gövdesinin başlangıcı, “kts” ise sonu anlamına gelir. Bu iki anahtar kelime arasında hesaplama için gerekli prosedürler yerleşiktir.
  • Eğer. Bu kelime dallanma yapısını uygular. Bu sayede koşullar dikkate alınarak programın istenilen yönde ilerleyişinin belirlenmesi mümkün olur.
  • Öyle ya da böyle. "Eğer" ile çalışan iki kelime. Dallanma mekanizması da inşa edilmiştir.
  • Seçenek. Aynı türdeki çeşitli değerlerden dallanmak için kullanışlı bir araç. "at" ve "Aksi takdirde" anahtar kelimeleri ile birlikte çalışır.
  • Tüm. Dallanma mekanizmasının sonunu belirtir.
  • Girmek. Bu anahtar kelime, kullanıcının sonraki işlemler için programın çalışması sırasında değişken değerler girmesine olanak tanır.
  • Çözüm. Verileri ekranda görüntüler.

Temel dil yapıları

Algoritmik bir programlama dili, hesaplama işlevlerini uygun bir biçimde üreten çeşitli yapıların oluşturulmasına yardımcı olur. Genel olarak herhangi bir dil, çeşitli spesifik mekanizmaları ve bunların kombinasyonlarını kullanabilir.

Aşağıdaki yapı

Bu tür bir yapıyı tasarlarken kod yürütme doğrudan satır satır gerçekleşir. Genel bir örnek şu şekilde ifade edilebilir:

alg İki sayının toplamı (arg int a, b, res int S)

çıkış "S =", S

Bu örnekte kullanıcı tarafından girilen iki sayının toplamı hesaplanmaktadır. Başlangıçta "alg" kelimesi algoritmanın başladığını belirtir ve tam olarak ne yaptığını kısaca anlatır. Programın çalışması için gereken argümanlar ve sonuçların saklanacağı kap görevi görecek değişken parantez içinde tanımlanır. Daha sonra, ifadelerin ve prosedürlerin derhal başlatıldığını belirten "başlat" anahtar kelimesi gelir. "Başlat"ın yanında bazı ara değişkenleri de tanımlayabilirsiniz.

Algoritmanın gövdesinde "input" anahtar sözcüğü kullanıcıdan veri alır ve bunu değişkenlere yazar. Daha sonra bunlar toplanır ve toplamları S'ye atanır. Algoritmanın bitiminden önce programın sonucu "output" anahtar kelimesi kullanılarak ekranda görüntülenir. Algoritmik dildeki bu gösterim diğer birçok programlama ortamı için tipiktir.

Dallanma yapısı

Bir programın akışının her zaman satır satır yürütülmesi gerekmez. Bazen duruma göre belirli bir değişkenin değerini belirlemeniz veya değiştirmeniz gerekir. Örneğin x = 0 olduğuna göre x'e bölmeyin.

Algoritmik bir programlama dili bunu çeşitli değişken yapıları ve "if", "then", "else" veya "choice" anahtar kelimelerini kullanarak yapar. “İf”ten sonra başka bir şubeye geçme kriterinin belirleneceği bir koşul belirlenir. Örneğin şöyle:

Bu sayede değişkenlerin değerlerini diğer faktörlere bağlı olarak değiştirebilirsiniz. Bu örnek tüm olası uygulamaları tam olarak kapsamamaktadır. Bu nedenle yapıya ek olarak “aksi takdirde” anahtar kelimesi de uygulanır. Durumun seçilen kriterleri karşılamaması durumunda başka bir şubeye geçmenizi sağlar.

aksi takdirde y = 0

Yani, x'in sıfıra eşit olmadığı durumda, y de daha önce sahip olduğu değere bakılmaksızın sıfıra sıfırlanacaktır.

Çoklu seçim yapmanın daha uygun bir yolu “seçim” yapısıdır. Çeşitli koşulları sıralamanıza olanak tanır. Bunlardan biri tetiklendiğinde kendisi için belirlenen eylem gerçekleştirilecektir.

x = 0'da: y = 0

x = 1'de: y = 1

x = 2'de: y = 2

Bu örnek, y değişkeninin x'e bağımlılığını göstermektedir. Program tüm verileri gözden geçirir ve x'in mevcut değerini koşulda belirtilen değerle karşılaştırır. Bir eşleşme bulunduğunda bir sonraki eylemi gerçekleştirir. Bu yapı, koşullardan hiçbiri karşılanmadığında daha esnek çözümler için "else" anahtar kelimesiyle de birleştirilebilir.

Döngüler

Döngüler programlamada çok önemli bir rol oynar. Bu tasarımın uygulanması olmadan neredeyse hiçbir gelişme yapılamaz. Genel olarak döngüler, benzer eylemlerin birkaç değişkenle tekrar tekrar gerçekleştirilmesi sorununu çözer. Bu, örneğin dizileri bilinen bir formülü kullanarak verilerle doldururken, sıralarken veya bazı değerleri sayarken kullanışlıdır.

"While" anahtar kelimesi, belirli bir koşul sağlanana kadar belirli bir eylemin tekrarlanacağı bir döngü düzenlemenize olanak tanır. Örneğin:

hoşçakal x<= 3

Bu örnekte, x 3'ten büyük oluncaya kadar y artacaktır. Döngünün sonsuz olmaması için, x'in her geçişte yukarı doğru, örneğin 1 oranında değiştirilmesi gerekir; ikinci kod satırının yaptığı da budur.

"For" anahtar kelimesi, sırayla yinelenmesi gereken ve onlarla bazı eylemler gerçekleştirilmesi gereken belirli bir sayı aralığına uygulanır. Bu yapı, sonlu sayıda eleman bilindiğinde kullanılır.

Sözdizimi şuna benzer:

x için nc 1'den 3'e

Hizmet kelimeleri "from" ve "to" yinelenmesi gereken değer aralığını gösterir. Böylece ilk iterasyonda x = 1 geçişi sonucunda y de 1 değerini alacaktır. Daha sonra kontrol tekrar başa dönecek ve x artık sırasıyla 2, y ise 3 olacaktır.

Döngülerin ve dallanmanın birleşik yapılarını kullanarak, kolay problemleri çözmek ve programlama dillerinin işleyişi hakkında bilgi edinmek için en basit algoritmaları oluşturabilirsiniz.

Standart özellikler

Algoritmik bir dilin zaten yerleşik olan standart işlevleri vardır. Sayılar ve ifadelerle bazı rutin işlemleri kolaylaştırabilirler. Algoritmik dilin standart işlevleri karekökleri, logaritmaları, modülleri, sinüsleri, kosinüsleri vb. hesaplayabilir:

  • mutlak modül - abs(x);
  • karekök - sqrt(x);
  • doğal ve ondalık logaritmalar - ln(x) ve log(x);
  • minimum ve maksimum iki sayı - min(x,y), max (x,y);
  • sinüs, kosinüs, teğet, kotanjant - sin(x), cos(x), tan(x), ctg(x).

Bu standart özellikler, standart araçları kullanarak en basit işlevleri uygulamaya yardımcı olarak bir "bisiklet" yaratmaktan kaçınmanıza olanak tanır.

Boole ifadeleri

Boole ifadeleri, belirli bir işlemin bir koşulu karşılayıp karşılamadığını yansıtır. Örneğin x > 0, x 1, 2, 25 veya sıfırdan büyük herhangi bir sayı olduğunda doğru olarak değerlendirilecektir. Algoritmik dil, standart matematiksel işlemlere ek olarak aşağıdaki anahtar kelimeleri ve operatörleri kullanabilen mantıksal ifadeler içerir:

  • VE. Anahtar kelimenin aralarında yer aldığı ifadelerin belirli bir koşulu karşılaması gerektiği anlamına gelir: (x>0) ve (y>0);
  • Veya. İfadelerden biri koşulu karşılamayabilir; örneğin (x>0) veya (y>0);
  • Olumsuz. Bir ifadenin mantıksal değerini "çevirir". Örneğin bu tasarım Olumsuz(x>0), x'in yine de sıfırdan büyük olmaması gerektiği anlamına gelir.

Ayrıca karşılaştırma operatörleri de vardır -<, >, =, büyüktür veya eşittir gibi ifadeler oluşturmak için birleştirilebilir.

Algoritmik bir dil için küçük bir program

Süreci anlamak için kullanıcıyla etkileşime giren bir program düzenleyebilirsiniz. Bir sayı isteyecek ve makine bunun karesini alacak.

Algoritmik dilin bileşenleri birçok anahtar kelime içerir. Programın başladığı ilk şey algoritma - alg hakkında bir duyurudur.

alg Bir sayının karesi ()

Parantez içinde kullanıcıdan gelen değeri ve sonucu temsil edecek bir argüman belirtmeniz gerekir. Ayrıca bu verilerin türlerini bildirmeyi de unutmayın.

Artık makine tam sayı tipinde bir değişkenle etkileşime girmesi gerektiğini bilecek ve çalışmasının sonucu S olacaktır.

Yapmanız gereken ilk şey veri girmek. Bu, "input" anahtar sözcüğü kullanılarak yapılır.

Şimdi doğrudan algoritmanın gövdesinde sayıların karelerini hesaplamak için kullanılacak bir dizi komutu tanımlamanız gerekiyor.

çıkış "S =", S

Komutları atamanın uygulanmasına izin veren algoritmik dil şu şekilde yazılmıştır: =. Dolayısıyla S değişkeni, x ile kendisinin çarpımının değerini içerir. Çıkış satırı sonucu ekranda gösterir. Bütün bunlar “con” anahtar kelimesiyle bitiyor. Kodun tamamı artık şöyle görünecek:

alg Bir sayının karesi (arg tamsayı x, res tamsayı S)

çıkış "S =", S

Girilen sayının karesini hesaplamaya yönelik algoritma bu şekilde basit bir şekilde uygulanır. Program, tüm işlemlerin toplamını ekleyerek karmaşık hale gelebilir. Ve sonra şöyle görünecek:

alg Bir sayının karesini alın ve toplamlarını hesaplayın (arg tamsayı x, res tamsayı S)

verildi | x > 0

ihtiyaç | S = 1*1 + 2*2+ … + x*x

bütünüyle başla

giriş x; S:=0

a için nc 1'den x'e

çıkış "S =", S

Bu seçenek bir döngü, bir ara değişken a ve "verilen" ve "zorunluluk" bölümlerinde görevin kısa bir göstergesini kullanır. Şimdi, programa belirli bir sayıyı iletirseniz, program bu sayının karesini alacak ve kendisinden önceki tüm sayıların karelerinin toplamını görüntüleyecektir.

Algoritmik dillerin kullanımı ve geliştirilmesi

Algoritmik dil, programlamanın temel normlarını ve kurallarını anlamak için öğrenme ortamlarında yaygındır. Örneğin birçok okulda öğretilen BASIC. Tüm komutların birbiri ardına sırayla yürütüldüğü zorunlu bir programlama dili olarak böyle bir terimin tüm paradigmalarını mükemmel bir şekilde yansıtır.

Açıklanan yapıların ve anahtar kelimelerin insan diline yakınlığı nedeniyle kod yazmak, tamamen makineye veya makineye bağımlı modelleri kullanmaktan çok daha kolay hale geldi. ALGOL programlama dilleri ailesi, sözdiziminin çeşitli yerelleştirmelerde sunulmasından bu yana gelişiminde en ileri noktaya gitmiştir. Rusça bile kod yazmak mümkündü.

Genel olarak algoritmik dillerin gelişimi, genel olarak programlamayı büyük ölçüde etkilemiş ve çok sayıda insanın geliştirici olmasına olanak sağlamıştır. Modern araçlar daha erişilebilir ve anlaşılır hale geliyor. Üst düzey programlama dilleri, anlamlı adlar ve başlıklarla birlikte giderek daha fazla işlev içerir. Kullanımlarının sınırları giderek daralıyor. Böylece gelecekte geliştirmenin daha anlaşılır ve doğal bir şekilde uygulanması mümkün olacaktır.

Algoritmanın bir kısmı kelimeden alg kelimeye başlangıç Başlık ve kelimeler arasındaki kısma denir başlangıç Ve dolandırıcılık- algoritmanın gövdesi.

Bir cümlede alg algoritma adından sonra, tüm giriş (argümanlar) ve çıkış (sonuçlar) değişkenleri için özellikler (arg, res) ve değer türleri (int,thing, sim, lit, log) parantez içinde belirtilir.

Dizileri (tabloları) açıklarken özel bir kelime kullanılır sekme, her dizi öğesi dizinindeki sınır çiftleri tarafından desteklenir.

Örnek cümleler alg:

alg Silindirin hacmi ve alanı (arg şeyler R, H, res şeyler V, S)

alg Kökler KvUr(arg şeyler a, b, c, res şeyler x1, x2, res lit t)

alg Elemanı hariç tut(arg int N, arg res şeyler sekmesi A)

alg Diagonal(arg int N, arg int sekmesi A, res yandı Cevap)

Kelimelerle cümleler verildi Ve gerekli gerekli değil. Algoritma yürütücünün ortamının durumunu açıklayan ifadelerin yazılması önerilir, örneğin:

Alg Değiştirme (arg lit Str1, Str2, arg res lit Text)verildi | Str1 ve Str2 alt dizelerinin uzunlukları aynı olmalıdır | Metin satırının her yerinde, Str1 alt dizisinin yerini Str2 alır

Alg Verilen maksimum sayı (arg int N, argthing tab A, res int K) | N>0ihtiyaç | K - A tablosundaki maksimum eleman sayısı

Alg Direnci (args R1, R2, args int N, res şeyler R)verildi | N>5, R1>0, R2>0gerekli | R - devre direnci

İşte cümleler halinde verildi Ve gerekli"|" işaretinden sonra yorumlar kaydedildi. Yorumlar herhangi bir satırın sonuna yerleştirilebilir. Bilgisayar tercümanı tarafından işlenmezler ancak algoritmanın anlaşılmasını çok daha kolaylaştırırlar.

Okul programlama dili AJ'nin komutları

Atama operatörü. İfadeleri değerlendirmek ve değerlerini değişkenlere atamak için kullanılır. Operatörün genel biçimi: A:= B, burada ":=" işareti atama işlemini ifade eder; Sol tarafta bulunan A değişkeninin önceki değerini, sağ tarafta bulunan B ifadesinin hesaplanan değeriyle değiştirme komutu.


Örneğin, a:=(b+c)*sin(Pi/4);

ben:=i+1 .

İçin giriş ve çıkış veri kullanma komutları

· giriş değişken adları

· çözüm değişken adları, ifadeler, metinler.

İçin dallanma algoritma şu komutları kullanır - Eğer Ve seçenek.

Organizasyon için döngüler - komutlar İçin Ve Hoşçakal, Aşağıda açıklanan.

Okul dili ASL'de bir algoritma yazma örneği.

Alg Kareler toplamı (arg tamsayı N, kesim sağlam S)verildi | n > 0ihtiyaç | S = 1*1 + 2*2 + 3*3 + ... + n*nstart int Ben giriş N; S : =0 nc i için 1'den n S'ye : =S+i*i ktsçıktı "S =", Skon

Algoritmik dil – algoritmaları ve bunların uygulanmasını eşit ve doğru bir şekilde kaydetmek için kullanılan bir gösterim ve kurallar sistemidir. Algoritmik dil, doğal (insan) dilde bir algoritma yazmak ile onu bir bilgisayar dilinde (programlama dili) yazmak arasında, analitik bir biçimde algoritmalar yazmak için bir araçtır.

“Algoritmik dil” ile “programlama dilleri” kavramları arasında fark vardır. Her şeyden önce, algoritmik bir dilde yazılmış bir programın mutlaka bir bilgisayar için tasarlanması gerekmez. Algoritmik dilin pratik uygulaması her özel durumda ayrı bir konudur.

Her dil gibi algoritmik dilin de kendine ait bir kelime dağarcığı vardır. Bu sözlüğün temeli, belirli bir algoritmanın uygulayıcısının komut sisteminde yer alan komutları yazmak için kullanılan kelimelerden oluşur. Bu tür komutlara basit komutlar denir. Algoritmik bir dilde, anlamı ve kullanım yöntemi kesin olarak belirlenmiş kelimeler kullanılır. Bu kelimelere denir resmi.İşlev kelimelerinin kullanılması, algoritmanın kaydedilmesini daha görsel hale getirir ve çeşitli algoritmaların sunulma biçimi onu daha tekdüze hale getirir.

Algoritmik bir dilde yazılan bir algoritmanın bir adı olmalıdır. Bu algoritmanın hangi sorunu tanımladığının net olması için adın seçilmesi tavsiye edilir. Algoritmanın adını vurgulamak için önüne ALG (ALGORİTMA) hizmet sözcüğünü yazın. Algoritmanın adının ardından (genellikle yeni bir satırda) komutları gelir. Algoritmanın başlangıcını ve sonunu belirtmek için komutları bir çift START (START) ve CON (END) hizmet kelimesi içine alınır. Komutlar sırayla yazılır.

ALG – algoritmanın adı

bir dizi algoritma komutu

Örneğin, bir robot sanatçısının hareketini belirleyen bir algoritma şöyle görünebilir:

ALG – depoya

Yeni algoritmalar oluştururken daha önce derlenen algoritmalar kullanılabilir. Tamamen diğer algoritmaların bir parçası olarak kullanılan algoritmalara yardımcı algoritmalar denir. Önceden derlenmiş olanlardan herhangi bir algoritma yardımcı olabilir. Belirli bir durumda bir yardımcı algoritmanın, kendisinin yardımcı algoritmalara bağlantı içeren bir algoritmaya dönüşmesi de mümkündür.

Çoğu zaman, algoritmaları derlerken, aynı algoritmayı yardımcı algoritma olarak kullanmak gerekli hale gelir; bu da çok karmaşık ve hantal olabilir. Çalışmaya başlarken, böyle bir algoritmayı her seferinde daha sonraki kullanım için oluşturmak ve hatırlamak mantıksız olacaktır. Bu nedenle, pratikte yerleşik (veya standart) yardımcı algoritmalar yaygın olarak kullanılmaktadır; sanatçının sürekli kullanabileceği bu tür algoritmalar. Bu tür algoritmalara “normal” yardımcı algoritmalarla aynı şekilde erişilir. Robot uygulayıcısı, çalışma alanının herhangi bir noktasından depoya hareket edebilen yerleşik bir yardımcı algoritmaya sahiptir; BASIC programlama dilinin yürütücüsü örneğin yerleşik bir “SIN” algoritmasına sahiptir.

Bir algoritma, yardımcı olarak kendisine bir referans içerebilir; bu durumda buna denir. yinelemeli. Bir algoritmanın kendisine gönderme yapma komutu algoritmanın kendisindeyse bu tür yineleme denir. dümdüz. Belirli bir algoritmanın yinelemeli çağrısının, bu algoritmada çağrılan bir yardımcı algoritmadan meydana geldiği durumlar olabilir. Bu yineleme denir dolaylı. Doğrudan özyineleme örneği:

ALG – hareket

hareket

Belirli koşulların kontrol edilmesinin sonuçlarına bağlı olarak komutların yürütme sırasının belirlendiği algoritmalara denir dallanma. Bunları algoritmik bir dilde tanımlamak için özel bir bileşik komut kullanılır - komut dallanma. Robotu gerçekleştiren kişiyle ilgili olarak koşul, robotun çalışma alanının kenarında (kenar/kenar değil) olduğunun kontrol edilmesi olabilir; Geçerli hücrede bir nesnenin varlığının kontrol edilmesi (evet/değil) ve bazı diğerleri:

IF koşulu IF koşulu IF kenarı

TO seri 1 TO seri TO sağa

DİĞER 2. bölüm HER ŞEY ileri

Aşağıda, dal komutunun geliştirilmiş hali olan select komutu için algoritmik bir dil girişi bulunmaktadır:

Durum 1 İLE: seri 1

Koşul 2 ALTINDA: seri 2

N koşulu İLE: N serisi

ELSE serisi N+1

Bireysel komutların veya komut dizilerinin tekrar tekrar yürütüldüğü algoritmalara döngüsel denir. Döngüsel algoritmaları algoritmik bir dilde düzenlemek için özel bir bileşik döngü komutu kullanılır. "Yineleme" tipindeki blok diyagramlara karşılık gelir ve aşağıdaki formu alabilir:

BYE koşulu NC

seri ÖNCE koşulu

Okullarda sözde algoritmanın temellerini incelemek. okul algoritmik dili (eğitici algoritmik dil), Rusça'da okul çocuklarının anlayabileceği kelimeler kullanmak. Çoğu programlama dilinden farklı olarak algoritmik dil, bilgisayar mimarisine bağlı değildir ve makinenin yapısına ilişkin ayrıntıları içermez.

Örnekler

Algoritmik dilde algoritma genellikle şu şekilde yazılır:

alg algoritmanın adı (argümanlar ve sonuçlar) verildi Algoritmanın uygulanabilirliği için koşullar gerekli algoritmanın amacı başlangıç ara miktarların açıklaması | komut dizisi (algoritmanın gövdesi) dolandırıcılık

Algoritma kaydında anahtar kelimeler genellikle altı çizili veya kalın harflerle yazılmıştır. Mantıksal blokları vurgulamak için girintiler kullanıldı ve bloğun başındaki ve sonundaki eşleştirilmiş kelimeler dikey bir çubukla bağlandı.

Karelerin toplamını hesaplamaya bir örnek:

alg Karelerin toplamı ( tartışma bozulmamış N, res bozulmamış S) verildi| n > 0 gerekli| S = 1*1 + 2*2 + 3*3 + … + n*n başlangıç bozulmamış ben | giriş N; S:=0 | nc i için 1'den n'ye | | S:= S + i * i | kts | çözüm"S = ", S dolandırıcılık

E-atölye

Algoritmik bir dilde programlamanın teorik çalışmasını desteklemek için, Moskova Devlet Üniversitesi Mekanik ve Matematik Fakültesi uzmanları 1985 yılında bir editör-derleyici oluşturdu. "E-atölye"(“E” - Ershov'un onuruna), programları algoritmik bir dilde girmenize, düzenlemenize ve yürütmenize olanak tanır.

1986 yılında, “E-atölye” için bir dizi eğitim dünyası (sanatçılar) piyasaya sürüldü: “Robot”, “Draftsman”, “İki Ayaklı”, “Arazi Aracı”. Algoritma kavramları. “E-atölye” Yamaha, Corvette, UKNC bilgisayarlarında hayata geçirildi ve yaygınlaştı.

Bu programlama dili sürekli geliştirildi ve 1990 yılında bir ders kitabında “E-atölye”nin daha sonraki bir versiyonunun açıklaması ortaya çıktı. Bu ders kitabını destekleyen KuMir programlama sistemi (“Öğrenme Dünyaları Seti”) 1990 yılında InfoMir kuruluşu tarafından piyasaya sürüldü. Bu sistemin diline “İdol” de denmektedir.

1995 yılında “KuMir”, Rusya Federasyonu Eğitim Bakanlığı tarafından A. G. Kushnirenko, G. V. Lebedev ve R. A. Svoren'in ders kitabına dayanan “Bilişim ve Bilgisayar Bilimlerinin Temelleri” dersi için ana eğitim materyali olarak önerildi. .

Eleştiri

Bununla birlikte, algolo benzeri dillere atıfta bulunarak, onu doğrudan bilgisayar mimarisine bağlayan ayrıntıların yokluğunda algoritmik dilin, okul çocuklarına üstü kapalı olarak von Neumann makinelerin mimarisine güvenmeyi öğrettiği unutulmamalıdır. (Von Neumann mimarisi, Turing makinesi adı verilen daha eski bir fikrin pratik uygulamasıdır. Turing'in fikrine ek olarak başka fikirler de vardır. Bunlardan en popüler olanı Lambda hesabıdır: Alonzo Kilisesi bunun üzerinde çalışmıştır. Lisp makinesi bir Lambda hesabını temel alan mimari.)

Bağlantılar

  • A. P. Ershov. Bilgisayar bilimi ve bilgisayar teknolojisinin temelleri üzerine okul dersinde algoritmik dil. 05/07/1985
  • Rus programlama dilleri ve geliştirme araçlarına ilişkin forum

Wikimedia Vakfı. 2010.

Diğer sözlüklerde “Rus algoritmik dilinin” ne olduğunu görün:

    Algoritmik dil, algoritmaları yazmak, uygulamak veya incelemek için kullanılan resmi bir dildir. Her programlama dili bir algoritmik dildir ancak her algoritmik dil dil olarak kullanılmaya uygun değildir... ... Vikipedi

    Bu terimin başka anlamları da vardır, bkz. Dragon (anlamlar). DRAGON dili ejderha diyagramındaki bir algoritmanın blok diyagramına örnek DRAGON (Görünürlük Sağlayan Dost Rus Algoritmik Dili) görseli... ... Vikipedi

    Bu terimin başka anlamları da vardır, bkz. Algoritmik dil. Akademik algoritmik dil, algoritmaları yazmak, uygulamak ve incelemek için kullanılan resmi bir dildir. Çoğu programlama dilinin aksine, Vikipedi'ye bağlı değildir.

    Algoritmik dil (aynı zamanda Rus algoritmik dili, RAYA), algoritma yazmak ve çalışmak için kullanılan bir programlama dilidir. Okullarda bilgisayar bilimi okurken, algoritmalaştırmanın temellerini incelemek için algoritma adı verilen yöntem kullanılır. okul algoritmik... ... Vikipedi

    Eğitsel programlama dili, uzmanlara programlamayı öğretmek için tasarlanmış bir programlama dilidir. Böyle bir dilin temel gereksinimi karşılaması gerekir: basitlik. Ne kadar basit olursa, yeni başlayan biri o kadar hızlı ustalaşır. Bunun olasılıkları... ... Vikipedi

    DRAGON dili ejderha diyagramındaki bir algoritmanın blok diyagramına bir örnek DRAGON (Görünürlük Sağlayan Dost Rus Algoritmik Dili), Buran uzay programının bir parçası olarak oluşturulan görsel bir algoritmik dildir. Bu dilin gelişimi ... Vikipedi

Rusya Federasyonu Eğitim Bakanlığı Perm Devlet Teknik Üniversitesi

Bilgi Teknolojileri ve Otomatik Sistemler Dairesi Başkanlığı

Vikentyeva O.L.

“Algoritmik diller ve programlama” dersi için ders notları (C++ dilinin temelleri, I dönem)

giriiş

İlk dönem C dilinin temel yapılarını ve temel programlama teknolojisini (yapılandırılmış programlama) kapsar.

Yapılandırılmış programlama, belirli kurallara uyarak geliştirme süresini ve hata sayısını azaltmanın yanı sıra programı değiştirme olasılığını kolaylaştıran programlar oluşturmaya yönelik bir teknolojidir.

1.1. Algoritma ve program

Algoritma, değişken başlangıç ​​verilerinden nihai sonuca kadar giden bir hesaplama sürecini tanımlayan kesin bir reçetedir; yani bir hedefe ulaşmanın reçetesidir.

Bir algoritmanın bilgisayar tarafından yürütülmeye uygun bir biçimde sunulmasını sağlayan araçlar ve kurallar bütününe programlama dili, bu dilde yazılan algoritmaya ise program adı verilir.

Öncelikle her zaman bir eylem algoritması geliştirilir ve daha sonra programlama dillerinden birinde yazılır. Program metni özel yardımcı programlar - çevirmenler tarafından işlenir. Programlama dilleri yapay dillerdir. Sınırlı sayıda “kelime” ve komutların (operatörlerin) yazılması için çok katı kurallar bakımından doğal dillerden farklıdırlar. Bu gereksinimlerin bütünlüğü, programlama dilinin sözdizimini oluşturur ve her yapının anlamı, onun anlambilimini oluşturur.

1.2.Algoritmanın özellikleri

1. Kütle ölçeği: Algoritma tek bir probleme değil, tüm benzer problemler sınıfına uygulanmalıdır (ikinci dereceden bir denklemi çözmek için kullanılan bir algoritma yalnızca bir denklemi değil, tüm ikinci dereceden denklemleri çözmelidir).

2. Verimlilik: Algoritma belirli sayıda adımda bir sonuç elde etmeye yol açmalıdır (1'i 3'e bölerek periyodik kesir 0,3333(3) elde edilir; nihai sonuca ulaşmak için bu kesirin elde edilmesinin doğruluğunu şart koşmak gerekir) , örneğin 4 ondalık basamağa kadar).

3. Kesinlik (determinizm) - algoritmanın her eylemi, uygulayıcısı için anlaşılır olmalıdır (Japonca konuşmayan bir kişi için Japonca'da bir ev aletine yönelik talimatlar, determinizm özelliğine sahip olmadıkları için bir algoritma değildir).

4. Ayrıklık - süreç bölünmezlik kullanılarak tanımlanmalıdır

her adımda gerçekleştirilen işlemler (yani adımlar daha küçük adımlara bölünemez).

Algoritmalar aşağıdaki şekillerde sunulabilir:

1) Algoritmanın sözlü açıklaması.

2) Algoritmanın grafiksel açıklaması.

3) algoritmik bir programlama dili kullanarak

1.2. Derleyiciler ve tercümanlar

İLE Bir programlama dili kullanılarak daha önce derlenmiş bir algoritmayı açıklayan bir metin oluşturulur. Çalışan bir program elde etmek için, bu metni, çevirmen adı verilen özel programlar kullanılarak yapılan bir dizi işlemci komutuna çevirmeniz gerekir. İki tür çevirmen vardır: derleyiciler ve tercümanlar. Derleyici, kaynak modülün metnini sürekli bir işlemle nesne modülü adı verilen makine koduna çevirir. Aynı zamanda sözdizimi hatalarını bulmak için öncelikle programın kaynak kodunu tarar. Tercüman kaynak program modülünü operatör bazında modda çalıştırır.

işin ilerleyişi, her ifadenin makine diline çevrilmesi.

1.3.Programlama dilleri

Farklı işlemci türleri farklı komut setlerine sahiptir. Bir programlama dili belirli bir işlemci türüne odaklanıyorsa ve özelliklerini dikkate alıyorsa, buna düşük seviyeli programlama dili denir. En düşük seviyeli dil, her makine kodu talimatını basit bir şekilde anımsatıcı adı verilen özel sembolik gösterimler biçiminde temsil eden montaj dilidir. Düşük seviyeli diller kullanılarak, geliştirici işlemcinin tüm özelliklerine erişebildiği için çok verimli ve kompakt programlar oluşturulur. Çünkü Farklı işlemci modellerinin komut setleri de farklı olduğundan her işlemci modelinin kendine ait bir montaj dili vardır ve içinde yazılan bir program ancak bu ortamda kullanılabilir. Küçük sistem uygulamaları, aygıt sürücüleri vb. yazmak için benzer diller kullanılır.

Üst düzey programlama dilleri, belirli bilgisayar mimarilerinin özelliklerini dikkate almadığından kaynak düzeyinde oluşturulan programlar, kendilerine uygun tercümanların oluşturulması halinde kolaylıkla diğer platformlara aktarılabilir. Üst düzey dillerde program geliştirmek, makine dillerine göre çok daha kolaydır.

Yüksek seviyeli diller şunlardır:

1. Fortran, 1900'lerde oluşturulan ilk derlenmiş dildi. 20. yüzyılın 50'li yılları. Bir dizi önemli programlama konseptini uyguladı. Bu dil için istatistiksel komplekslerden uydu kontrolüne kadar çok sayıda kütüphane oluşturulmuş olup birçok kuruluşta kullanılmaya devam etmektedir.

2. COBOL ekonomik hesaplamalar ve çözümler için derlenmiş bir dildir. 60'ların başında gelişen iş sorunları. Cobol, harici medyada depolanan büyük miktarda veriyle çalışmak için çok güçlü araçlar sağladı.

3. Pascal - sonunda oluşturuldu 70'li yıllarda İsviçreli matematikçi Niklaus Wirth tarafından özellikle programlama öğretimi için tasarlandı. Algoritmik düşünmeyi geliştirmenize, kısa, okunması kolay bir program oluşturmanıza, temel algoritma oluşturma tekniklerini göstermenize olanak tanır ve aynı zamanda büyük projelerin uygulanması için de çok uygundur.

4. BASIC - oluşturuldu 60'lar ayrıca programlama öğretmek için. Bunun için hem derleyiciler hem de tercümanlar var ve en popüler programlama dillerinden biri.

5. C 70'lerde yaratıldı ve başlangıçta toplu programlama dili olarak düşünülmüyordu. Aynı derecede verimli ve kısa, ancak belirli bir işlemciye bağımlı olmayan programlar oluşturabilmek için montajcının değiştirilmesi planlandı. Birçok yönden Pascal'a benzer ve ek bellek yeteneklerine sahiptir. Unix işletim sisteminin yanı sıra birçok uygulama ve sistem programı da içinde yazılmıştır.

6. C++, 1980 yılında Bjarne Stroustrup tarafından oluşturulan, C dilinin nesne yönelimli bir uzantısıdır.

7. Java, Sun tarafından ilk zamanlarda oluşturulan bir dildir. 90'lar C++'a dayanmaktadır. Düşük seviyeli özellikleri ortadan kaldırarak C++ uygulamalarının geliştirilmesini basitleştirmek için tasarlanmıştır. Dilin ana özelliği, makine kodunda değil, platformdan bağımsız bayt kodunda derlenmesidir (her komut bir bayt kaplar). Bu kod, Java Sanal Makinesi (JVM) adı verilen bir yorumlayıcı kullanılarak yürütülebilir.

2. C++ programının yapısı

C programı aşağıdaki yapıya sahiptir: #önişlemci direktifleri

. . . . . . . . .

#önişlemci direktifleri fonksiyon a()

() içindeki operatörler işlevi

operatörler

void main () //program yürütmenin başlatıldığı işlev operatörler

Açıklamalar

atamalar

işlev boş ifadesi

kompozit

geçiş

Önişlemci direktifleri - program metninin derlenmeden önce dönüştürülmesini kontrol eder. SI'da metin dosyası biçiminde hazırlanan orijinal program 3 işlem aşamasından geçer:

1) ön işlemcili metin dönüştürme;

2) derleme;

3) düzen (bağlantıları veya montajı düzenleme).

Bu üç aşamadan sonra programın çalıştırılabilir kodu oluşturulur. Ön hazırlık görevi

işlemci - bir programın metnini derlemeden önce dönüştürmek. Ön işleme kuralları programcı tarafından ön işlemci direktifleri kullanılarak belirlenir. Yönerge # ile başlar. Örneğin,

1) #define - metindeki değiştirme kurallarını belirtir. #define SIFIR 0,0

Programda ZERO adının her kullanımının değiştirileceği anlamına gelir

2) #dahil et< имя заголовочного файла>- standart kütüphanelerle birlikte sağlanan “Başlık dosyaları” dizinindeki metnin program metnine eklenmesi amaçlanmıştır. Her C kütüphanesi fonksiyonunun başlık dosyalarından birinde karşılık gelen bir açıklaması vardır. Başlık dosyalarının listesi dil standardına göre tanımlanır. Dahil etme direktifinin kullanımı, karşılık gelen standart önlüğü içermez

kütüphane, ancak yalnızca belirtilen başlık dosyasındaki açıklamaları programın metnine eklemenize izin verir. Kütüphane kodları bağlama aşamasında yani derleme sonrasında dahil edilir. Başlık dosyaları standart işlevlerin tüm açıklamalarını içermesine rağmen, yalnızca programda kullanılan işlevler program koduna dahil edilir.

Ön işleme tamamlandıktan sonra program metninde tek bir ön işlemci yönergesi kalmaz.

Bir program bir dizi açıklama ve tanımdan oluşur ve bir dizi işlevden oluşur. Bu işlevler arasında her zaman main adında bir işlev bulunmalıdır. Bu olmadan program yürütülemez. Fonksiyon isminden önce fonksiyonun döndürdüğü değerin tipine (sonuç tipi) ilişkin bilgi yerleştirilir. İşlev hiçbir şey döndürmezse void türü belirtilir: void main(). Ana dahil her işlevin bir dizi parametresi olmalıdır; boş olabilir, ardından (geçersiz) parantez içinde gösterilir.

Fonksiyon başlığının ardından fonksiyon gövdesi gelir. Bir işlevin gövdesi küme parantezleri içine alınmış bir dizi tanım, açıklama ve yürütülebilir ifadeden oluşur. Her tanım, açıklama veya ifade noktalı virgülle biter.

Tanımlar - programda işlenen verileri temsil etmek için gerekli olan nesneleri (bir nesne adlandırılmış bir hafıza alanıdır, bir nesnenin özel durumu bir değişkendir) tanıtın. Örnekler:

int y = 10; //sabit float x olarak adlandırıldı; //değişken

Açıklamalar - derleyiciyi programın diğer bölümlerinde açıklanan nesnelerin ve işlevlerin özellikleri ve adları hakkında bilgilendirin.

Operatörler - programın yürütülmesinin her adımındaki eylemlerini belirler.

Bir C programı örneği:

#katmak //Önişlemci direktifi

Kontrol soruları

1. Bir C++ programı hangi bölümlerden oluşur?

2. Tanımın reklamdan farkı nedir?

3. C++'da yürütülebilir bir program oluşturmanın aşamalarını listeleyin.

4. Önişlemci nedir?

5. Önişlemci yönergesi nedir? Önişlemci direktiflerine örnekler verin.

6. “İlk C++ programım” metnini yazdıran bir program yazın

2. SI++ dilinin temel araçları 2.1.Dilin bileşimi

Herhangi bir doğal dildeki bir metinde dört ana unsur vardır: semboller, kelimeler, ifadeler ve cümleler. Algoritmik bir dil de bu tür öğeleri içerir; yalnızca sözcüklere sözcük birimleri (temel yapılar), ifadelere ifadeler ve cümlelere operatörler denir. Belirteçler sembollerden, ifadeler belirteçlerden ve sembollerden, operatörler ifadelerin ve belirteçlerin sembollerinden oluşturulur (Şekil 1.1)

Pirinç. 1.1. Algoritmik bir dilin bileşimi Dolayısıyla algoritmik bir dilin unsurları şunlardır:

Tanımlayıcılar SI program nesnelerinin adlarıdır. Tanımlayıcı Latin harflerini, rakamlarını ve alt çizgilerini kullanabilir. Büyük ve küçük harfler farklıdır; örneğin PROG1, prog1 ve Prog1 üç farklı tanımlayıcıdır. İlk karakter bir harf veya alt çizgi olmalıdır (sayı değil). Tanımlayıcılarda boşluklara izin verilmez.

Anahtar sözcükler (ayrılmış) sözcükler, derleyici için özel anlam taşıyan sözcüklerdir. Tanımlayıcı olarak kullanılamazlar.

- İşlem işaretleri, işlenenler üzerindeki eylemi belirten bir veya daha fazla semboldür. İşlemler, bu işlemde yer alan işlenen sayısına göre tekli, ikili ve üçlü olarak ayrılır.

Sabitler değiştirilemeyen büyüklüklerdir. Tamsayı, gerçek, karakter ve dize sabitleri vardır. Derleyici bir sabiti bir sözcük birimi (temel yapı) olarak tanımlar ve onu görünümüne göre türlerden birine atar.

Ayırıcılar – parantez, nokta, virgül, boşluk karakterleri.

2.1.1. C++'da sabitler

Sabit, sabit bir sayısal, dize veya karakter değerini temsil eden bir belirteçtir.

Sabitler 5 gruba ayrılır:

Tüm;

- gerçek (kayan nokta);

Sayılabilir;

Karakter;

Sicim.

Derleyici bir belirteç seçer ve onu bir gruba veya diğerine atar ve ardından dahili olarak

program metnine giriş şekline ve sayısal değerine göre belirli bir türe üç gruba ayrılır.

Tamsayı sabitleri ondalık, sekizlik veya onaltılık olabilir. Ondalık sabit, sayı 0 olmadığı sürece 0'dan farklı bir şeyle başlayan ondalık basamak dizisi olarak tanımlanır (örnekler: 8, 0, 192345). Sekizlik sabit her zaman 0 ile başlayan bir sabittir. 0'dan sonra sekizlik rakamlar gelir (örnekler: 016 - ondalık değer 14, 01). Onaltılık sabitler, önünde 0x veya 0X karakterlerinin bulunduğu bir onaltılık basamak dizisidir (örnekler: 0xA, 0X00F).

İÇİNDE derleyici tamsayı sabitinin değerine bağlı olarak farklı şekilde sunacağım

V bilgisayar belleği (yani derleyici karşılık gelen veri türünü sabite atayacaktır).

Gerçek sabitlerin bilgisayar belleğinde farklı bir iç temsil biçimi vardır. Derleyici bu tür sabitleri türlerine göre tanır. Gerçek sabitlerin iki temsil biçimi olabilir: sabit nokta ve kayan nokta. Sabit nokta sabiti tipi: [rakamlar].[rakamlar] (örnekler: 5.7, . 0001, 41.). Kayan nokta sabiti tipi: [rakamlar][.][rakamlar]E|e[+|-][rakamlar ] ( örnekler: 0,5e5, 0,11e-5, 5E3). Gerçek sabitleri yazarken, tamsayı veya kesirli kısımlar veya ondalık nokta veya üslü üs işareti atlanabilir.

Numaralandırılabilir sabitler enum anahtar sözcüğü kullanılarak tanıtılır. Bunlar, benzersiz ve kullanımı kolay gösterimlere atanan sıradan tamsayı sabitleridir. Örnekler: enum ( bir=1, iki=2, üç=3, dört=4);

enum (sıfır, bir, iki, üç) - numaralandırılmış sabitlerin tanımında = işaretlerini ve sayısal değerleri atlarsanız, değerler varsayılan olarak atanacaktır. Bu durumda en soldaki tanımlayıcı 0 değerini alacak ve sonraki her tanımlayıcı 1 artacaktır.

numaralandırma ( on=10, üç=3, dört, beş, altı);

enum (Pazar, Pazartesi, Salı, Çarşamba, Perşembe, Cuma, Cumartesi-

Karakter sabitleri kesme işareti içine alınmış bir veya iki karakterdir. Bir karakterden oluşan karakter sabitleri char tipindedir ve bellekte bir bayt kaplar, iki karakterden oluşan karakter sabitleri ise int tipindedir ve iki bayt kaplar. \ ile başlayan dizilere kontrol dizileri denir ve kullanılır:

- Grafiksel gösterimi olmayan karakterleri temsil etmek için örneğin:

\a – ses sinyali,

\b – bir adım geri dön, \n – satır besleme,

\t – yatay sekme.

- Karakterleri temsil etmek için: \ , ’ , ? , ”(\\, \' ,\? ,\").

- Onaltılı veya sekizli kodları (\073, \0xF5) kullanarak karakterleri temsil etmek için.

Bir dize sabiti, tırnak işaretleri içine alınmış bir karakter dizisidir.

Kontrol karakterleri dizelerin içinde de kullanılabilir. Örneğin: “\nYeni satır”,

“\n\”Algoritmik üst düzey programlama dilleri\” .

2.2. C++'daki veri türleri

Veriler programda çevredeki dünyayı görüntüler. Programın amacı veriyi işlemektir. Farklı veri türleri farklı şekilde depolanır ve işlenir. Veri türü şunları tanımlar:

1) bilgisayar belleğindeki verilerin dahili temsili;

2) bu tür niceliklerin alabileceği değerler kümesi;

3) bu türdeki verilere uygulanabilecek işlemler ve işlevler.

İÇİNDE Görevin gereksinimlerine bağlı olarak programcı, program nesneleri için bir tür seçer. C++ türleri basit ve bileşik olarak ikiye ayrılabilir. Basit türler, tek bir değerle karakterize edilen türleri içerir. C++ 6 basit veri türünü tanımlar:

int (tamsayı)

karakter (karakter)

wchar_t (geniş karakter) bool (boolean) float (gerçek)

çift ​​(çift duyarlıklı gerçek)

Standart türlerin dahili gösterimini ve aralığını belirten 4 tip belirtici vardır.

kısa (kısa) uzun (uzun) imzalı (imzalı)

imzasız

2.2.1. int yazın

Bu türdeki değerler tamsayılardır.

İnt tipinin boyutu standart tarafından tanımlanmamıştır ancak bilgisayara ve derleyiciye bağlıdır. 16 bitlik bir işlemci için, 32 bitlik bir işlemci için 2 bayt - 4 bayt ayrılmıştır.

Eğer int'den önce kısa bir belirtici geliyorsa sayı için 2 bayt ayrılır, eğer belirtici uzunsa 4 bayt ayrılır. Bir nesne için ayrılan bellek miktarı, bir nesnenin alabileceği geçerli değerler kümesini belirler:

short int - 2 bayt alır, bu nedenle –32768 ..+32767 aralığına sahiptir;

long int – 4 bayt kaplar, bu nedenle –2,147,483,648..+2,147,483,647 aralığına sahiptir

İnt türü, 16 bit PC'lerdeki short int türüyle ve 32 bit PC'lerdeki long int türüyle aynıdır.

İmzalı ve imzasız değiştiriciler aynı zamanda bir nesnenin alabileceği geçerli değerler kümesini de etkiler:

imzasız kısa int - 2 bayt alır, bu nedenle 0 ..65536 aralığına sahiptir; unsigned long int – 4 bayt kaplar, dolayısıyla 0..+4 294 967 aralığına sahiptir

2.2.2. Karakter yazın

Bu türün değerleri, sonlu sıralı bir karakter kümesinin öğeleridir. Her karaktere, karakter kodu adı verilen bir numara atanır. Bir karakter tipi değeri için 1 byte ayrılır. Char türü, imzalı ve imzasız belirticilerle birlikte kullanılabilir. Signed char verileri –128 ila 127 aralığındaki değerleri saklayabilir. Signed char verileri kullanıldığında değerler 0 ila 255 arasında değişebilir. Kodlama ASCII'dir (American Standard Code foe International Interchange). 0'dan 31'e kadar kodları olan karakterler servis karakterleridir ve yalnızca I/O ifadelerinde bağımsız anlamlara sahiptir.

Char türündeki değerler aynı zamanda belirtilen aralıklardaki sayıları depolamak için de kullanılır.

2.2.3. wchar_t türü

Unicode gibi, kodlamak için 1 baytın yeterli olmadığı bir dizi karakterle çalışmak üzere tasarlanmıştır. Bu türün boyutu genellikle kısa türe karşılık gelir. Bu türdeki dize sabitleri L önekiyle yazılır: L“String #1”.

2.2.4. bool yazın

bool tipine boolean denir. Değerleri true ve false değerlerini alabilir. Yanlışın dahili biçimi 0'dır; diğer tüm değerler doğru olarak yorumlanır.

2.2.5. Kayan nokta türleri.

Bir gerçel sayının iç gösterimi 2 bölümden oluşur: mantis ve üs. IBM uyumlu bilgisayarlarda, kayan değer değerleri 4 bayt kaplar; bunun bir biti mantis için, 8 biti üs için ve 24 biti mantis için ayrılmıştır.

Çift değerler 8 bayt kaplar, üs ve mantis için sırasıyla 11 ve 52 bit ayrılır. Mantisin uzunluğu sayının kesinliğini ve aralığının uzunluğunu belirler.

Uzun bir belirtici çift tür adından önce gelirse, değer için baytlar ayrılır.

2.2.6. geçersiz yazın

İLE ana türler aynı zamanda void türünü de içerir.Bu türün değer kümesi p-

2.3. Değişkenler

SI++'da bir değişken, belirli bir türdeki verilerin depolandığı adlandırılmış bir hafıza alanıdır. Bir değişkenin bir adı ve değeri vardır. Ad, değerin saklandığı hafıza alanını belirtmek için kullanılır. Kullanmadan önce herhangi bir değişkenin bildirilmesi gerekir. Örnekler:

Açıklama operatörünün genel görünümü:

[bellek sınıfı]tür adı [başlatıcı];

Bellek sınıfı şu değerleri alabilir: auto, extern, static, Register. Bellek sınıfı bir değişkenin ömrünü ve kapsamını belirler. Bellek sınıfı açıkça belirtilmemişse, derleyici bunu bildirim bağlamına göre belirler. Ömür, programın yürütülmesi sırasında kalıcı veya blok sırasında geçici olabilir. Kapsam, program metninin bir değişkene normal erişime izin verilen kısmıdır. Genellikle kapsam kapsam ile aynıdır. İç blokta aynı isimde bir değişkenin bulunması durumu hariç.

Sabit – bu değişkenin değiştirilemeyeceğini belirtir (sabit olarak adlandırılır). Tanımlarken, bir değişkene bir başlangıç ​​değeri atayabilirsiniz (başlatma). Bellek sınıfları:

auto – otomatik yerel değişken. Otomatik belirtici yalnızca blok nesneleri tanımlanırken (örneğin bir işlevin gövdesinde) belirtilebilir. Bu değişkenlere, bir bloğa girerken bellek tahsis edilir ve bloktan çıkarken serbest bırakılır. Bloğun dışında bu tür değişkenler mevcut değildir.

extern global bir değişkendir, programda başka bir yerde (başka bir dosyada veya metnin daha aşağısında) bulunur. Tüm program dosyalarında bulunan değişkenleri oluşturmak için kullanılır.

static statik bir değişkendir; yalnızca değişkenin tanımlandığı dosyada bulunur.

kayıt - otomatiğe benzer, ancak işlemci kayıtlarında onlar için bellek ayrılmıştır. Eğer bu mümkün değilse değişkenler otomatik olarak işlenir.

int a; //genel değişken void main())(

int b;//yerel değişken

extern int x;//x değişkeni başka bir yerde tanımlandı static int c;//yerel statik değişken a=1;//global bir değişkene atama

int a;//yerel değişken a

a=2;//yerel bir değişkene atama::a=3;//genel bir değişkene atama

int x=4;//x'in tanımı ve başlatılması

Örnekte a değişkeni tüm blokların dışında tanımlanmıştır. a değişkeninin kapsamı, yerel a değişkeninin kullanıldığı satırlar dışında programın tamamıdır. b ve c değişkenleri yereldir, kapsamları bloktur. Ömrü farklıdır: b için bellek, bloğa girerken tahsis edilir (çünkü varsayılan bellek sınıfı auto'dur) ve bloktan çıkarken serbest bırakılır. Program çalışırken (statik) içeren bir değişken mevcuttur.

Değişkenlerin başlangıç ​​değeri tanım sırasında açıkça ayarlanmamışsa, derleyici genel ve statik değişkenleri sıfıra sıfırlar. Otomatik değişkenler başlatılmaz.

Değişken adı, kapsamı dahilinde benzersiz olmalıdır.

Değişken bildirimi bir bildirim veya tanım olarak yapılabilir. Bildirim, bellek sınıfı ve değişkenin türü hakkında bilgi içerir; tanım, bu bilgiyle birlikte, tahsis edilecek belleğe talimat verir. Örnekte extern int x; - beyan ve geri kalanı - tanımlar.

2.4. C++'daki işlem işaretleri

Operasyon işaretleri ifadelerin oluşmasını sağlar. İfadeler işlenenlerden, operatör sembollerinden ve parantezlerden oluşur. Her işlenen sırasıyla bir ifade veya bir ifadenin özel bir durumudur (sabit veya değişken).

Tekli işlemler

& işlenen adresini alma

* Bir adrese atıfta bulunma (referans kaldırma)

- tekli eksi, aritmetik işlenenin işaretini değiştirir

++ Birer artırın:

önek işlemi - işleneni kullanılmadan önce artırır

Postfix işlemi işleneni kullanıldıktan sonra artırır.

int a=(m++)+n; // a=4,m=2,n=2

int b=m+(++n);//a=3,m=1,n=3

birer azaltın:

önek işlemi - işleneni kullanılmadan önce azaltır

postfix işlemi işleneni kullanıldıktan sonra azaltır

Türdeki bir nesnenin boyutunu (bayt cinsinden) hesaplayın

bir işleneni var

iki formu var

ifadenin boyutu

sizeof(float)//4

sizeof(1.0)//8, çünkü gerçek sabitler varsayılan olarak