• Pascal mantıksal işlemleri. Boolean veri türleri. Numaralandırılmış bir tür bildirimi örneği

    Açıklama: varn: boolean;

    Boole verileri yalnızca iki değer alabilir: true (true) ve false (false). Bir boole türündeki değerler için, karşılaştırma işlemleri, Ve doğru> YANLIŞ.Ayrıca 4 uygula mantıksal işlemler:

    Ve mantıksal çarpma

    veya mantıksal toplama

    xorözel veya"

    Olumsuz olumsuzlama

    Mantıksal işlemleri gerçekleştirme kuralları, aşağıdaki doğruluk tabloları kullanılarak belirlenir:

    X ve Y

    xor y


    Örnek 1:

    değil(5>2) = yanlış

    (5>2) ve (3)<10) = true

    (8<>9) veya (4>5) = doğru

    değil (5=2) x veya (3>2) = yanlış

    Örnek 2:

    BOOLEAN türündeki verileri karşılaştırırken, FALSE'nin sıfır bayt olduğu ve DOĞRU'nun en önemsiz bitte bir olan bir bayt olduğu Turbo Pascal dahili kuralı dikkate alınır. ORD işlevinin yalnızca sembolleri değil aynı zamanda mantıksal değerleri de bir tamsayıya dönüştürdüğünü unutmayın; bu nedenle

    2.5 Kısıtlanmış türler

    Standart türlere dayalı olarak, olası değer aralığını sınırlayarak kendi türlerinizi oluşturabilirsiniz: 1..10, -100..10, 'a'..'z', vb.

    Örnek:

    b: 'a'..'z';

    b:=0; (hata: tür uyuşmazlığı - bir karakter türü değişkenine bir tamsayı atanır)

    bir:=0; (hata: 2..5 aralığının dışında)

    2.6 Numaralandırılmış türler

    İsimlerle verilen tüm olası değerlerin açık bir şekilde numaralandırılmasıyla oluşturulmuştur. Örneğin, bir trafik ışığı kontrol programı için aşağıdaki tip tanımlanabilir:

    var svet: (kırmızı, sarı, yeşil);

    opera: (artı, eksi);

    Boole türü, numaralandırılmış bir türün özel bir durumudur.

    2.7 Türlerin açıklaması

    Pascal'daki yeni veri türleri, TYPE sözcüğüyle başlayan bildirimlerle tanımlanır. Açıklama, bir tür adı ve arasına "=" işaretinin yerleştirildiği bir tür değerinden oluşur.

    Örnek:

    abc='A'..'z';

    2.8 Tip dönüştürme

    Daha önce bahsedildiği gibi, bir değişkenin türü, yalnızca dahili temsilinin uzunluğunu belirlemeye değil, aynı zamanda programda üzerinde gerçekleştirilen eylemleri kontrol etmeye de izin verir. Program derleme aşamasında değişkenlerin kullanımı üzerinde kontrol, Turbo Pascal'ın otomatik tip dönüştürmeye izin veren diğer programlama dillerine göre önemli bir avantajıdır. Turbo Pascal'da örtük (otomatik) tür dönüştürmeleri neredeyse imkansızdır. Yalnızca REAL (gerçek) türündeki ifadelerde kullanılmasına izin verilen INTEGER (tamsayılar) türündeki sabitler ve değişkenler için bir istisna yapılır. Örneğin, X ve Y değişkenleri aşağıdaki gibi bildirilirse:

    var x: tamsayı;

    sonra operatör

    sözdizimsel olarak doğru olacaktır: atama işaretinin sağında bir tamsayı ifadesi ve solunda gerçek bir değişken olmasına rağmen, derleyici gerekli dönüştürmeleri otomatik olarak yapacaktır. Aynı zamanda, operatör

    Turbo Pascal'da REAL tipinden (sabit 2.0 bir ondalık nokta içerir ve bu nedenle REAL tipine aittir) INTEGER tipine otomatik dönüştürme yasak olduğundan yanlış olacaktır.

    Böylece değişkenlere yalnızca kendi türünden değerler atanabilir; tek istisna: gerçek türde bir değişken ve bir tamsayı değeri (bu durumda, tamsayı, kesirli kısmı 0'a eşit olan bir gerçek sayıya dönüştürülecektir).

    Elbette, otomatik tür dönüştürme yasağı, Turbo Pascal'da veri dönüştürme araçlarının olmadığı anlamına gelmez. Elbette öyleler, ancak açıkça kullanılmaları gerekiyor. Dildeki verileri dönüştürmek için, bir türün değerini parametre olarak alan ve sonucu başka bir türün değeri olarak döndüren yerleşik işlevler vardır. Özellikle, GERÇEK'i TAM SAYI'ya dönüştürmek için bu türden iki yerleşik işlev bile vardır: YUVARLAK GERÇEK'i en yakın tamsayıya yuvarlar ve TRUNC, kesirli kısmı atarak GERÇEK'i keser (bkz. bölüm 1.5).

    Örneğin, operatör hatalı olur

    ama doğru

    x:= yuvarlak(y/x);

    (yukarıdaki değişken bildirimlerine bakın).

    Örneğin, ORD işlevi, CHAR (karakter) türündeki verileri bir tamsayıya dönüştürmek için tasarlanırken, INTEGER'ın CHAR'a ters dönüşümü CHR işlevi tarafından gerçekleştirilir.

    İki bölme işleminin varlığı, Turbo Pascal'ın temel ilkesinin bir başka tezahürüdür: programcı, tür dönüştürmenin olası sonuçlarına hazır olduğunu derleyiciye açıkça doğrulamalıdır. Örneğin, Fortran dilinde 1/2 ifadesi kullanılıyorsa, bu ifadenin sonucu, atanacağı değişken türüne bağlı olacaktır: eğer N, bir tamsayı türünden bir değişkense ve X, gerçek bir tür, ardından bir Fortran programında atamalar

    N için 0 ve X için 0,5 değerlerini verecektir. Turbo Pascal'da böyle bir belirsizlik yoktur: 1/2 ifadesi her zaman 0,5 değerine sahiptir ve bu nedenle operatör

    basitçe kabul edilemez. Aynı zamanda, Turbo Pascal'da izin verilen operatörler şunlardır:

    Ve son olarak, ilişkisel ve mantıksal işlemler hakkında.

    REAL, INTEGER, CHAR, STRING tipindeki veriler üzerinden aşağıdaki ilişkisel (karşılaştırma) işlemler tanımlanır:

    <>- eşit değil;

    < - меньше;

    > - daha fazla;

    <= - меньше или равно,

    >= - büyük veya eşittir.

    Karşılaştırma işlemleri aynı türden işlenenleri içermelidir. Birbiri ile karşılaştırılabilecek REAL ve INTEGER için yine bir istisna yapılmıştır. İlişkisel işleci herhangi bir işlenene uygulamanın sonucu BOOLEAN türündedir.

    Yazılım - Pascal Pascal dil işlemleri

    Pascal dil işlemleri

    İşlemler, işlenenler üzerindeki eylemleri tanımlar. Pascal'da ikili ve tekli işlemler vardır. Tekli işlemler, işlemin işaretinden önce gelen 1 işlenen içerir. İkili işlemlerin, aralarında işlemin işaretinin veya sembolünün yerleştirildiği 2 işleneni vardır. Eylemin doğası gereği Pascal dili işlemleri 7 gruba ayrılabilir:

    • aritmetik;
    • ilişki;
    • zeka oyunu;
    • sicim;
    • bit, kaydırma;
    • kümeler üzerinde işlemler;
    • adres alma işlemleri

    Aritmetik işlemler. Pascal'ın eksi işareti ataması ve ikinci bir artı işareti ataması adı verilen bir tekli işlemi vardır. İkili dosyalar:

    • ek (+);
    • çıkarma (-);
    • çarpma işlemi (*);
    • gerçek bölme (/);
    • tamsayı bölümü (div);
    • tamsayı bölümünün kalanı (mod).

    Pascal'ın üç bölme işlemi vardır, bölme (/) işleminin sonucu kesir kısmı olan bir sayıdır, div işleminin sonucu yalnızca bir tam sayıdır ve mod işleminin sonucu bir tamsayı bölümünden kalandır. Örnekler:

    Aritmetik işlemlerde yalnızca sayısal türdeki işlenenler yer alabilir. Sonuçları da bir sayı olacaktır. Sayı tamsayı veya gerçek olabilir.

    ilişki işlemleri. Bunlar, tüm ikili işlemleri içerir:

    • Daha;
    • az;
    • daha fazla veya eşit;
    • az veya eşit
    • eşittir
    • eşit değil.

    İlişkisel işlemlerin sonucu yalnızca bir boole değişkeni olabilir, true (True) değerini veya false (False) değerini alabilir. İlişkisel işleçteki işlenenler, sayısal türler veya sayısala indirgenebilen türler olabilir. Sayısal türler:

    • karakter - ilişkisel işlemlerde karakter kodları, kod tablosuna göre karşılaştırılır;
    • mantıksal - sırasıyla 1 - doğru ve 0 - yanlış değerlerini alan Doğru ve Yanlış değerleri kullanılır;
    • string, bir karakter türünden oluşan bileşik bir türdür. Bu nedenle, diziler kullanıldığında, iki dizideki ardışık karakterler karşılaştırılır.

    Örneğin:

    5.6 > 7 - Yanlış;

    'P'< ‘Б’ — False;

    "Petrov" > "İvanov" - Doğru;

    İvanov< ‘Иван’ — False.

    Mantıksal işlemlerin sonucu True veya False boolean değerleri olacaktır.

    Tekli: DEĞİL - olumsuzlama.

    İkili: VE - çarpma (ve); VEYA - ekleme (veya); XOR - modulo 2 ilavesi (özel OR).

    Bir boole ifadesinin işlenenleri yalnızca boolean işlemler olabilir.

    Dize işlemleri. Birleştirme (zincirleme) ikili bir işlemdir. İşlenenler yalnızca dize tipi değişkenler olabilir. Sonuç bir dizgedir ve işlemin eylemi iki dizgiyi bir dizgede birleştirmektir:

    A:='İvanov'

    B:= 'İskender'

    Sonuç: Ivanov Alexander.

    Pascal'daki işlem sırası 3 faktör tarafından belirlenir:

    • işlem önceliği;
    • operasyonların sırası;
    • parantez kullanımı.

    Operasyon öncelik seviyeleri:

    • birinci öncelikli işlemler ilk etapta gerçekleştirilir;
    • en düşük önceliğe sahip işlemler en son gerçekleştirilir;
    • Eşit önceliğe sahip işlemler, yazıldıkları sırada soldan sağa doğru yürütülür.

    Aynı zamanda, derleyici bazen aynı önceliğe sahip işlenenleri yeniden sıralayabilir. Parantezler önceliği değiştirmek (arttırmak) için kullanılır. Parantez içindeki ifade önce değerlendirilir, sonra parantez dışında değerlendirilir.

    Ders, Pascal'daki Boole mantıksal tipini tanıtır. Nasıl bulunacağı için bir algoritma düşünülür. minimum Ve maksimum Pascal'da sayı


    Site sitesi, teorik materyali pekiştirmek ve Pascal'da pratik programlama becerileri kazanmak için konuyla ilgili laboratuvar görevleri sağlar. Kısa teorik bilgiler, bunun için gerekli olan minimum bilgiyi edinmenizi sağlayacaktır. Çözülmüş açıklayıcı örnekler ve laboratuvar görevleri, karmaşıklıkları arttıkça sunulur, bu da materyali sıfırdan incelemeyi kolaylaştırır. İyi şanlar!

    Pascal'da doğrusal algoritmalara dayalı programların nasıl yazılacağını zaten öğrendik. Ve hatta, true veya false değerlerini alan dallanma ile doğrusal olmayan algoritmalar bile derliyoruz.

    Boole değerleri:

    Aşağıdaki örnekte, mantıksal bir ifadenin sonucu ekranda görüntülenir:

    1 2 3 4 5 6 var A: tam sayı; bir ile başla := 5 ; yaz (A > 0 ) ; (Doğru yazdıracak) son.

    var A: tamsayı; A:= 5; yaz(A > 0); (Doğru görüntülenecektir) sonu.

    Mantıksal bir ifadenin sonucunu kaydetmek için, Pascal'da bir boole türüne sahip olan ve ayrıca iki değerden birini alabilen özel bir mantıksal değişken kullanılır - true veya false .

    Aynı görevin bir boole değişkeniyle nasıl çalıştığını görelim:

    1 2 3 4 5 6 7 8 var A: tam sayı; b: boole; bir ile başla := 5 ; b: = A > 0; yaz(b); (Doğru yazdıracak) son.

    var A: tamsayı; b: Boole A:= 5; b:=A > 0; write(b);(True çıkacaktır) end.

    Örnek: Pascal'da boole türüyle çalışmanın bir örneğini ele alalım:

    var a:boolean; a:=true; a=true ise writeln("true") else writeln("false"); son.

    Karmaşık koşullar oluşturmak için özel koşullar kullanılır: ve , veya , not ve xor .

    Görev Boolean 1. Size pozitif bir tamsayı veriliyor. İfadenin doğruluğunu kontrol edin: "çifttir"

    Mantıksal XOR işlemini kullanan bir örneği ele alalım:

    Örnek:İki tamsayı isteyin: X, Y. "X ve Y sayılarından yalnızca biri tektir" ifadesinin doğruluğunu kontrol edin.

    Boole programı; varx,y: tamsayı; c: boolean; begin write("X, Y: giriniz "); oku(x,y); c:= (Tek(x)) x veya (Tek(y)); writeln("X ve Y değişkenlerinden sadece biri tek değere sahiptir - ", c); son.

    Bir boolean değişkeni kullanarak Pascal'daki soruna başka bir çözüm düşünün:

    Boolean 2 görevi.Üç tam sayı verilmiştir: A, B, C. "B, A ve C sayıları arasındadır." İfadesinin doğruluğunu kontrol edin.

    Boole değişkeniyle daha karmaşık bir problem çözmeyi düşünün:

    Örnek:Üç haneli bir sayı verildi. Şu ifadenin doğruluğunu kontrol edin: "Belirli bir sayının tüm rakamları farklıdır."

    Çözümü göster:

    1 2 3 4 5 6 7 8 9 10 11 12 13 sabit a= 348 ; var d_n, s_n, e_n: tamsayı; bayrak: boole; başlangıç ​​bayrağı:= yanlış ; s_n := bir div 100 ; d_n: = ((a mod 100 ) böl 10 ) ; e_n: = bir mod 10 ; eğer (s_n<>d_n) ve (d_n)<>e_n) ve (e_n<>s_n) sonra flag:= true ; writeln (bayrak) ; son.

    sabit a=348; var d_n, s_n, e_n: tamsayı; bayrak: boolean; başlangıç ​​bayrağı:=yanlış; s_n:=bir böl 100; d_n:=((a mod 100)div 10); e_n:=a mod 10; eğer (s_n<>d_n) ve (d_n)<>e_n) ve (e_n<>s_n) sonra flag:=true; writeln(bayrak); son.

    Burada her basamak, tamsayı bölme işlemleri kullanılarak ve bölme işleminin kalanı alınarak elde edilir: s_n yüzüncü basamağın, d_n onuncu basamağın basamağı, e_n birdir.

    Boole görevi 3. Bir tamsayı verildiğinde N > 0 . Tamsayıya bölme işlemlerini kullanarak ve bölme işleminin kalanını alarak N sayısının kaydında "2" sayısı olup olmadığını belirleyin. Varsa TRUE, yoksa FALSE çıktısını alın.

    Boole görev 4. Pozitif bir tamsayı verildiğinde. "Bu sayı üç basamaklı tek bir sayıdır." ifadesinin doğruluğunu kontrol edin.

    Pascal cinsinden minimum ve maksimum sayı

    Bir dizi sayı arasında minimum veya maksimum sayı için aramayı düzenlerken, eski "büyükannenin" algoritması her zaman kurtarmaya gelir:

    • Turtaları kızarttığımız ve zaten koca bir tepeyi kızarttığımız durumu hayal edin; şimdi en büyüğünü seçmemiz gerekiyor, yani. Bizim durumumuzda, maksimum
    • En iyi pastayı alıyoruz, yani. birincisi ve şimdiye kadarkilerin en büyüğü deyip bir kenara bırakıyoruz.
    • Sonra ikinciyi alıp en büyüğüyle karşılaştırırız, eğer bu ikinci pasta daha büyük çıkarsa, "eski en büyüğün" yerine bir kenara koyar ve şimdi en büyüğü olduğunu söyleriz.
    • Bir sonrakini alıyoruz ve adımları tekrarlıyoruz. Bu yüzden tüm turtalarla bu prosedürü uyguluyoruz.

    Bazen mümkün olan en küçük sayı, ilk maksimum sayı olarak atanır (görevin içeriğine bağlı olarak). Ve asgari olarak, tersine, mümkün olan en büyük sayı. Örneğin 1000'den küçük pozitif sayılar arasında maksimumu/minimi bulmak gerekir deniliyorsa o zaman:

    maks:=0 dak:= 1000 ;

    Boole ifadeleri (koşullar) Pascal'da, if ifadelerinde ve tekrarları organize ederken, yani while ve tekrarlanana kadar döngülerde kullanılırlar.

    Boolean ifade örnekleri:

    1 . bir > 2*b

    2 . günah(kare(a))<= exp(cos(b))–2.3

    3 . (A<= 3) and (b >bir/2)

    Mantıksal ifadeler temel alınarak oluşturulur ilişki işlemleri

    (<, >, <= , >=, =, <>)

    Ve mantıksal işlemler

    Ve(mantıksal ve),

    veya(mantıksal veya),

    Olumsuz(mantıksal olumsuzlama),

    xor(özel veya).

    sonuç bir boole ifadesinin yürütülmesi bir boolean değeridir doğru(doğru) veya YANLIŞ(yalan). Karmaşık mantıksal ifadelerde önce aritmetik işlemler, ardından mantıksal işlemler ve son olarak da ilişkisel işlemler gerçekleştirilir.

    24 paskal. Koşullu if ifadesi. Biçim ve eylem ilkesi.

    if ifadesinin yapısı şöyle görünür:

    Eğer<условие>Daha sonra<оператор1>başka<оператор2>;

    if, o zaman, else ayrılmış kelimelerdir (eğer, o zaman, aksi halde);

    <условие>– mantıksal ifade;

    <оператор1>Ve<оператор2>– herhangi bir Pascal dil işleci (basit veya bileşik).

    Örnek: sin(a)>b ise y:= a

    if ifadesi şu şekilde çalışır:

    <условие>(doğru (doğru) veya yanlış (yanlış)).

    eğer değer<условие>– doğru (doğru), ardından<оператор1>, A<оператор2>göz ardı edildi.

    eğer değer<условие>– false (yanlış), ardından yürütülür<оператор2>, A<оператор1>göz ardı edildi.

    if ifadesinin stenografi yapısı

    eğer< условие >Daha sonra< оператор >;

    örnekler: Eğer bir< 2*b then y: = a/2 ;

    Eğer bir< 2*b then begin

    Örnek 1'de y:=a/2; basit bir Pascal operatörüdür.

    Örnek 2'de operatör y:=2*a; ile başlar. writeln(y) sonu; Pascal dilinin bileşik operatörüdür.

    Birleşik ifade başlangıç ​​bitiş parantezleri içine alınmış bir ifadeler grubudur:

    başlamak<операторы>;

    mümkün olduğunda kullanılır sadece bir operatör Pascal sözdizimi kurallarına göre ve görev, bir grup işlecin yürütülmesini varsayar.

    Kısa yoldan if ifadesi aşağıdaki gibi yürütülür.

    Mantıksal ifadenin değeri değerlendirilir<условие>.

    Sonuç doğruysa, kontrol şuraya aktarılır:<оператор>.

    Koşul yanlış olarak değerlendirilirse,<оператор>yoksayılır ve program yürütmenin kontrolü programdaki bir sonraki ifadeye aktarılır.

    25 paskal. vaka...seçim bildirimi. Biçim ve eylem ilkesi. Vaka seçim bildirimi

    If ifadesi, programın iki olası devamından birini uygulamanıza izin veriyorsa, case ifadesi birkaç program devamından birini seçme fırsatı sağlar.

    Bu işleç şu yapıya sahiptir:

    dava<выражение-селектор>ile ilgili

    <список1>: <оператор1>;

    <список2>: <оператор2>;

    <список N>: <оператор N>

    başka<оператор>

    Burada<выражение-селектор>- bir ifade veya belirli bir durumda, gerçek dışında herhangi bir skaler türden bir değişken (genellikle bayt, tamsayı, boolean veya char türünde bir değişken);

    <список1, список2, ... списокN>– değerleri seçici ifade tarafından alınabilen sabitlerin listesi. Listelerin her biri bir sabit, bir sabit aralığı veya virgülle ayrılmış birkaç sabit (aralık) olabilir.

    case deyimindeki else yapısı olmayabilir.

    Case ifadesi aşağıdaki gibi yürütülür.

      Seçici ifadenin değeri ayrıştırılır.

      Seçici ifadenin değeri, sabitler listesindeki sabitlerden hiçbiriyle eşleşmiyorsa kontrol, else kelimesinden sonraki ifadeye, else kelimesinin olmaması durumunda case ifadesinden sonraki ifadeye aktarılır.

    Herhangi bir veri - sabitler, değişkenler, işlev değerleri, Pascal'da bir veri türü ile karakterize edilir.

    kavramı tanımlayalım veri tipi. Bilindiği gibi, tüm program nesneleri (değişkenler, sabitler, vb.) bildirilmelidir.

    Tanımlamalar çevirmene öncelikle kullanılan değişkenlerin ve diğer nesnelerin varlığı hakkında bilgi verir ve ikinci olarak da bu nesnelerin özelliklerini gösterir. Örneğin, değeri bir sayı olan bir değişkenin açıklaması, sayıların özelliklerini gösterir. Resmen, sayılar tamsayı ve gerçek (kesirli) olabilir. Diğer programlama dillerinde olduğu gibi Pascal'da da sayılar iki türe ayrılır: tüm(ayrılmış kelime tamsayı) ve gerçek(ayrılmış kelime gerçek).

    Tamsayıların ayrı bir tür olarak seçilmesi, tamsayıların ve gerçek sayıların bir bilgisayarda farklı şekilde temsil edilmesi gerçeğiyle açıklanır: bir tamsayı kesinlikle tam olarak temsil edilebilirken, gerçek bir sayı kaçınılmaz olarak belirli bir sonlu hatayla temsil edilir. çevirmenin özellikleri.

    Örneğin, x değişkeni real türünde olsun ve değeri bire eşit olsun: x=1 . Bilgisayar belleğindeki karşılık gelen değer 0.999999999, 1.000000001 veya 1.000000000 olabilir. Ancak x değişkeni tamsayı türünde bir değişken olarak bildirilirse, birim bilgisayarda kesinlikle tam olarak temsil edilecek ve x değişkeni gerçek (kesirli) değerleri alamayacak - sonuçta ilan edildi bir tamsayı türünün değişkeni olarak.

    Böylece veri türü şunları tanımlar:

    • bilgisayar belleğindeki verilerin dahili gösterimi;
    • bu türdeki değerlerin alabileceği değerler kümesi;
    • bu tip değerler üzerinde yapılabilecek işlemler.

    Veri türlerinin tanıtılması, bir ifadenin değerini bir değişkene atama işlemini gerçekleştirirken, değişken ve ifadenin aynı türde olması gerektiği gerçeğinden oluşan Pascal dilinin temel kavramlarından biridir. Bu kontrol, hata aramayı büyük ölçüde basitleştiren ve programın güvenilirliğini artıran derleyici tarafından gerçekleştirilir.

    Turbo Pascal veri türleri kümesi iki gruba ayrılabilir:

    • standart (ön tanımlı) tipler ;
    • kullanıcı tanımlı tipler (kullanıcı tanımlı tipler) .

    Standart Turbo Pascal türleri şunları içerir:

    • tamsayı türü - tamsayı ;
    • gerçek tip - gerçek;
    • karakter türü - char ;
    • boole türü - boolean ;
    • dizi türü - dizi ;
    • işaretçi tipi - işaretçi;
    • metin türü metindir.

    Özel veri türleri, standart türlerin çeşitli kombinasyonlarıdır.

    Özel türler şunları içerir:

    • numaralandırılmış tip;
    • aralık türü;
    • işaretçi türü;
    • yapılandırılmış tipler;
    • prosedür tipi.

    Yorum. Veri türlerinin, hangi türlerin basit ve karmaşık olarak ayrıldığına göre başka bir sınıflandırması da mümkündür.

    Basit tipler şunları içerir: tamsayı tipi, gerçek tip, karakter tipi, boole tipi, numaralandırılmış tip ve aralık tipi.

    Karmaşık bir tür, basit türlerin (diziler, kayıtlar, kümeler, dosyalar vb.)

    standart tipler

    Standart veri türü, Pascal dilinin kendisi tarafından tanımlanır. Bir programda standart tipler kullanılırken, gerekli tiplerin (const , var) alt bölümlerini belirtmek ve ardından programda kullanılan sabitleri ve değişkenleri açıklamak yeterlidir. Type alt bölümünü kullanmaya gerek yoktur.

    Örneğin, program yalnızca değişkenleri kullanıyorsa:

    i,j - tamsayı (tamsayılar);

    x,y - gerçek (gerçek);

    t,s - karakter (karakter);

    a,b - boolean (mantıksal),

    o zaman sadece değişkenler alt bölümü gereklidir - Var . Bu nedenle programın tanımlayıcı kısmında değişken bildirimleri aşağıdaki gibi yazılır:

    tamsayı türleri

    Bu türdeki veriler yalnızca tamsayı değerleri alabilir. Bir bilgisayarda, bir tamsayı türündeki değerler tam olarak temsil edilir. Değişken negatifse önüne "-" işareti konulmalıdır; değişken pozitifse "+" işareti atlanabilir. Bu tür, bir değerin yaklaşık olarak temsil edilemediği durumlarda gereklidir - gerçek bir sayı. Örneğin, insan sayısı, hayvan sayısı vb.

    Tamsayı değerleri yazma örnekleri: 17, 0, 44789, -4, -127.

    Tamsayı türü veri aralığı, beş standart tamsayı türü tarafından belirlenir ve tabloda sunulur:

    Tip Menzil Bayt cinsinden boyut
    kısa yazı -128...+128 1
    tamsayı -32768...32767 2
    Longint -2147483648...2147483647 4
    bayt 0...255 1
    Kelime 0...65535 2

    Son iki tür yalnızca pozitif sayıları ve ilk üçü hem pozitif hem de negatif sayıları temsil etmeye yarar.

    Program metninde veya bir tamsayı türünde veri girerken değerler yazılır ondalık nokta olmadan . Gerçek değişken değerleri izin verilen değerleri aşmamalıdır değişkeni tanımlamak için kullanılan türden (Shortint , Integer , Longint , Byte , Word). Hesaplamalardaki olası fazlalıklar hiçbir şekilde kontrol edilmemekte, bu da programın hatalı çalışmasına neden olacaktır.

    Tamsayı tipi değişken kullanma örneği

    var a:integer; b:kelime; c:bayt; a:=300; (a, 300'e ayarlanır) b:=300; (b 300'e ayarlı) c:=200; (c, 200'e ayarlanır) a:=b+c; (a, 500'e ayarlanır) c:=b; (Hata! c değişkeni 255'ten büyük değerler alamaz. Burada c değişkenine 500 değeri atanır, bu da sonucun taşmasına neden olur.) Son.

    Gerçek tipler

    Bir bilgisayardaki gerçek türlerin değerleri yaklaşık olarak temsil edilir. Gerçek tip veri aralığı, beş standart tip tarafından belirlenir: gerçek (Gerçek), tek hassasiyetli (Tek), çift hassasiyetli (Çift), artırılmış hassasiyetle (Genişletilmiş), karmaşık (Comp) ve tabloda sunulur:

    Tip Menzil Anlamlı basamak sayısı Bayt cinsinden boyut
    Gerçek 2.9E-39...1.7D+38 11-12 6
    Bekar 1.5D-45...3.4D+38 >7-8 4
    Çift 5E-324...1.7E+308 15-16 8
    Uzatılmış 3.4E-4951...1.1E+4932 19-20 10
    Zorunlu -2E+63+1...+2E+63-1 19-20 8

    Gerçek sayılar iki biçimde gösterilebilir: sabit ve kayan nokta.

    Sabit noktalı bir sayının formatı, kesirli kısmı olan bir ondalık sayı için olağan matematiksel gösterimle aynıdır. Kesirli kısım tamsayı kısmından bir nokta ile ayrılır, örneğin

    34.5, -4.0, 77.001, 100.56

    Çok büyük veya çok küçük sayılar yazılırken kayan nokta biçimi kullanılır. Bu formatta, "E" den önceki sayı, "E" den sonra belirtilen üsse 10 sayısı ile çarpılır.

    1Ç-4 1*10-4
    3.4574E+3 3.4574*10+3
    4.51D+1 4.51*10+1

    Kayan nokta örnekleri:

    Sayı Pascal'da Yazmak
    0,0001 1Ç-4
    3457,4 34574E-1
    45,1 451E-1
    40000 4Ç+4
    124 0,124E+3
    124 1.24E+2
    124 12.4D+1
    124 1240E-1
    124 12400E-2

    5'ten 9'a kadar olan tablo aynı sayı 124'ün girişini gösterir. Mantisteki ondalık noktanın konumunu değiştirerek ("yüzer" nokta, dolayısıyla "kayan noktalı sayı kaydetme" adı verilir) ve aynı zamanda değiştirerek üs, en uygun giriş numaralarını seçebilirsiniz.

    Gerçek türdeki değişkenlerin bildirimi örneği.

    Karakter türü

    Karakter türü değerleri, bilgisayar klavyesinde yazılabilen karakterlerdir. Bu, programda metin sunmanıza ve üzerinde çeşitli işlemler gerçekleştirmenize olanak tanır: tek tek harfleri ve sözcükleri ekleyin, silin, biçimlendirin, vb.

    Karakter türü, ayrılmış Char sözcüğüyle gösterilir ve tek bir karakteri depolamak için tasarlanmıştır. Bellekteki karakter türü verileri bir bayt yer kaplar.

    Sembolik değişken bildirim formatı:

    <имя переменной>:char;

    Bir karakter değişkeninin değeri tanımlanırken, karakter kesme işaretleri içinde yazılır. Ek olarak, ASCII kodunun sayısal değerini doğrudan belirterek gerekli karakteri belirleyebilirsiniz. Bu durumda, gerekli karakterin ASCII kodunu gösteren sayının önüne # işareti konulması gerekir.

    Karakter türü değişkenlerini kullanmaya bir örnek:

    varc:karakter; (c, bir karakter türü değişkenidir) Begin c:='A'; ('A' karakteri c değişkenine atanır) c:=#65; (c değişkenine ayrıca A sembolü atanmıştır. ASCII kodu 65'tir) c:='5'; (c değişkenine 5 karakteri atanmıştır, Bitiş. burada 5 artık bir sayı değildir)

    Boole türü

    Mantıksal veri türü, matematik - matematiksel mantık alanının yaratıcısı İngiliz matematikçi George Boole'den sonra Boolean olarak adlandırılır.

    Boolean değişken bildirim biçimi:

    <имя переменной>: mantıksal;

    Bu türdeki veriler yalnızca iki değer alabilir:

    • Doğru doğru;
    • Yanlış - yanlış.

    Boole verileri, belirli koşulların geçerliliğini kontrol etmede ve değerleri karşılaştırmada yaygın olarak kullanılır. Sonuç doğru veya yanlış olabilir.

    Verileri karşılaştırmak için aşağıdaki ilişkisel işlemler sağlanır:

    İlişkisel işlemleri kullanmaya bir örnek:

    ilişki 5>3 , sonuç doğru (doğru);

    ilişki 5=3 , sonuç yanlıştır (yanlış).

    Boole değişkenlerini kullanmaya bir örnek.

    var a,b:boolean; (a,b boolean değişkenlerdir) Başlangıç ​​a:=True; (a değişkeni true olarak ayarlanır) b:=false; (b değişkeni false olarak ayarlanır) Bitiş.

    sabitler

    Tamsayılar, gerçek sayılar, semboller, karakter dizileri, mantıksal sabitler sabit olarak kullanılabilir.

    Sabit, açıklayıcı bölümde ayrılmış sözcük const kullanılarak bildirilmelidir.

    Sabit bildirim formatı

    sabit<имя константы>= <значение>;

    Bir programda birden çok sabit kullanılıyorsa, yalnızca bir Const anahtar sözcüğüne izin verilir ve her sabitin açıklaması noktalı virgülle biter. Sabit blok, başka bir bölümün bildirimi veya çalıştırılabilir ifadeler bloğunun bildirimi ile sona erer.

    Const (sabit bölüm bildirimi) yıl=2003; (kayıtta ondalık nokta olmadığından tamsayı türünün sabiti) time=14.05; (gerçek tip sabiti) N=24; (kayıtta ondalık nokta olmadığından tamsayı türünün sabiti) P=3.14; (gerçek tip sabiti) A=true; (boole sabiti) str1='7'; (karakter tipi sabiti) str2='A'; (karakter tipi sabiti) str3='Turbo'; (dize tipi sabit) Var (değişken bölüm bildirimi) X,y:integer; (tamsayı türündeki değişkenler)

    Özel Tipler

    Özel türler kümesinden yalnızca dikkate alacağız

    • numaralandırılmış tip;
    • aralık türü.

    Dizileri incelerken bu iki türe ihtiyacımız olacak.

    Numaralandırılmış tür

    Numaralandırılmış bir veri türü, değerleri programcı tarafından tanımlanan yeni veri türlerini tanımlar. Numaralandırılmış bir tür, alabileceği değerleri numaralandırarak tanımlanır. Her değer, bir tanımlayıcı tarafından adlandırılır ve parantez içine alınmış bir listede bulunur. Numaralandırılmış bir tür, kullanıcı tanımlı bir veri türüdür, bu nedenle tür bildirimi, ayrılmış sözcük TYPE ile başlar.

    Numaralandırılmış tür formatı:

    <имя типа>= (sabit1, sabit2,..., sabitN);

    Nerede
    sabit1 , sabit2 ,..., sabitN, sabit olarak ele alınan sıralı bir tanımlayıcı değerler kümesidir.

    Numaralandırılmış bir tür bildirimi örneği:

    Tip top=(bir, iki, üç, dört, beş); vart:top;

    Burada top, sayılan türün adıdır; bir , iki , üç , dört , beş sabittir; t, sabitlerin herhangi bir değerini alabilen bir değişkendir.

    Numaralandırılmış bir türde, sabit bir tanımlayıcıdır, bu nedenle tırnak içine alınmaz ve bir sayı olamaz. Bu nedenle, numaralandırılmış bir türde, bir sabit, aşağıdaki özelliklere sahip olmayan özel bir sabit türüdür:

    • sayısal tür sabitleri: 1, 2, 3, 4, vb.;
    • karakter türü sabitleri: "a", "s", "1", "3", vb.;
    • dize türü sabitleri: "birinci", "ikinci", vb.

    Ayrıca aritmetik işlemler ve standart giriş çıkış prosedürleri Read , Write bu tip değerler için geçerli değildir.

    Numaralandırılmış bir türdeki değişkenleri kullanmaya bir örnek:

    Günleri yazın = (Pazartesi, Salı, Çarşamba, Perşembe, Cuma, Cumartesi, Pazar); Var günü: günler; start if gün = Pazar, sonra writeln('Bugün Pazar!'); son.

    Numaralandırılmış bir tür tanımındaki öğeler, listelendikleri sıraya göre sıralanmış kabul edilir. Numaralandırma sıfırdan başlar. Bu nedenle, yukarıdaki örnekte haftanın günleri aşağıdaki seri numaralarına sahiptir.

    Sıra numarasını programlı olarak belirlemek için Ord() işlevini kullanın.

    Örneğimizde seri numaraları eşittir:

    Ord(Pazartesi) = 0;

    Ord(Cumartesi) = 5;

    Ord(Pazar) = 6.

    aralık türü

    Bir değişken, türünün tüm değerlerini almıyorsa, yalnızca belirli bir aralıkta yer alan değerleri alıyorsa, böyle bir veri türüne aralık türü denir. Genellikle, bir aralık tipi, sınırlı tip ve aralık tipi olarak adlandırılır. Bir aralık türü, değerlerinin sınırlarıyla tanımlanır:

    <минимальное значение>..<максимальное значение>

    • iki ".." karakteri tek karakter olarak kabul edilir, bu nedenle aralarında boşluk bırakılmaz;
    • aralığın sol ucu sağ ucunu geçmemelidir.

    Aralık türü, kullanıcı tanımlı bir veri türüdür, dolayısıyla bu türün bildirimi TYPE anahtar sözcüğüyle başlar.

    Aralık türü açıklamasına bir örnek:

    rakam türü = 1..10; ay = 1..31; lat = 'A'..'Z';