Pascal programlama dilinde mantıksal işlemler kaydı. Turbo Pascal. Veri tipleri. İlişki İfadeleri ve İşlemleri

  • 31.10.2019
Yazılım - Pascal Pascal işlemleri

Pascal işlemleri

İşlemler, işlenenler üzerindeki eylemleri belirtir. Pascal dilinde ikili ve tekli işlemler vardır. Birli işlemler, bir işlem işaretinden önce gelen 1 işlenen içerir. İkili işlemler, arasında işlemin işareti veya sembolünün yerleştirildiği 2 işlenene sahiptir. Eylemlerin doğası gereği Pascal işlemleri 7 gruba ayrılabilir:

  • aritmetik;
  • ilişki;
  • zeka oyunu;
  • sicim;
  • bit, kaydırma;
  • setlerde işlemler;
  • adres alma işlemleri

Aritmetik işlemler. Pascal'da, eksi işaretinin atanması ve ikinci bir artı işaretinin atanması adı verilen bir tekli işlem vardır. İkili:

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

Pascal'da üç bölme işlemi vardır, bölme (/) kesirli bir sayıdır, div yalnızca bir tamsayıdır ve mod bir tamsayı bölümünün geri kalanıdır. Örnekler:

Aritmetik işlemlerde yalnızca sayısal türdeki işlenenler yer alabilir. Onların sonucu da bir sayı olacaktır. Sayı tam veya gerçek olabilir.

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

  • daha fazla;
  • daha küçük;
  • daha fazla veya eşit;
  • küçük veya eşittir
  • eşittir
  • eşit değil.

İlişki işlemlerinin sonucu yalnızca bir boole değişkeni olabilir; True veya False değerini alabilir. İlişkisel bir işlemdeki işlenenler, sayısal türler veya sayısal türlere indirgenebilen türler olabilir. Sayısal türler:

  • sembolik - 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ğerleri alarak Doğru ve Yanlış değerleri kullanılır;
  • string, bir karakter türünden oluşan karmaşık bir türdür. Bu nedenle, dizeleri kullanırken, iki dizedeki ardışık karakterler arasında bir karşılaştırma yapılır.

Örneğin:

5.6> 7 - Yanlış;

'NS'< ‘Б’ — False;

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

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

Boolean işlemleri, True veya False Boole değerleriyle sonuçlanacaktır.

Tekli: DEĞİL - olumsuzlama.

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

Mantıksal bir ifadenin işlenenleri yalnızca mantıksal tipte işlemler olabilir.

Dize işlemleri. Birleştirme (birleştirme) ikili bir işlemdir. Yalnızca dize türündeki değişkenler işlenen olabilir. Sonuç bir dizgedir ve işlemin eylemi iki dizgiyi bir dizgede birleştirmektir:

A: = 'İvanov'

B: = 'İskender'

Sonuç: İvanov İskender.

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

  • operasyonların önceliği;
  • operasyonların düzenlenme sırası;
  • parantez kullanımı.

Gerçekleştirilen işlemlerin öncelik seviyeleri:

  • önce birinci öncelikli işlemler gerçekleştirilir;
  • en son yürütülen en düşük öncelikli işlemler;
  • eşit önceliklere sahip işlemler yazıldığı sıraya göre soldan sağa doğru yapılır.

Aynı zamanda, derleyici bazen aynı önceliğe sahip işlenenleri yeniden sıralayabilir. Önceliği değiştirmek (artırmak) için parantez kullanın. Parantez içindeki ifade önce değerlendirilir ve ardından parantez dışında değerlendirilir.

Turbo Pascal veri türü konsepti

Bilgisayar işleme için veriler, miktarlar ve bunların toplamları şeklinde sunulur. Bir miktar kavramı, türü gibi önemli bir özellik ile ilişkilidir.

Tür şunları tanımlar:

· Bu türe ait değişkenlerin, sabitlerin, fonksiyonların, ifadelerin olası değerleri;

· Bir bilgisayarda veri sunumunun dahili biçimi;

· Bu tipe ait değerler üzerinde yapılabilecek işlemler ve fonksiyonlar.

Pascal'da değerin türü önceden tanımlanmıştır. Programda kullanılan tüm değişkenler, türlerini belirterek açıklama bölümünde bildirilmelidir. Zorunlu tip bildirimi, program metinlerinde fazlalığa yol açar, ancak bu tür fazlalık, program geliştirme için önemli bir yardımcı araçtır ve modern yüksek seviyeli algoritmik dillerin gerekli bir özelliği olarak kabul edilir.

Pascal'daki tür hiyerarşisi aşağıdaki gibidir:

Basit

o Sıradan

§ Zeka oyunu

§ Simgesel

§ Sayılabilir

§ Aralık

o Gerçek

yapılandırılmış

o Diziler

o Setler

işaretçiler

Boole veri türleri

Matematiksel mantık adı verilen bir disiplin, doğrudan programlama ile ilgilidir. Matematiksel mantığın temeli, mantığın cebiri veya önermeler hesabıdır. Bir ifade, doğru veya yanlış olup olmadığını açık bir şekilde söylemenin mümkün olduğu herhangi bir ifade olarak anlaşılır. Örneğin, "Ay, Dünya'nın bir uydusudur" doğrudur; "5> 3" doğrudur; “Moskova Çin'in başkentidir” yanlıştır; "1 = 0" yanlıştır. Doğru veya yanlış mantıksal değerlerdir. Yukarıdaki ifadelerin mantıksal anlamları benzersiz bir şekilde tanımlanmıştır; başka bir deyişle, değerleri boole sabitleridir. eşitsizliğin Boole değeri x< 0, где x – переменная, является переменной величиной. В зависимости от значения x оно может быть либо истиной, либо ложью. В связи с этим возникает понятие логической переменной.

Matematiksel mantığın biçimsel aygıtının temelleri 19. yüzyılın ortalarında oluşturuldu. İngiliz matematikçi George Boole. Onun onuruna, önermesel matematiğe Boole cebiri, mantıksal değerlere Boolean denir.

Tek ifadeler, mantıksal işlemler kullanılarak bileşik mantıksal formüllerde birleştirilebilir.

Üç ana mantıksal işlem vardır: olumsuzlama, bağlaç (mantıksal çarpma) ve ayırma (mantıksal toplama).

Olumsuzlama işlemi matematiksel mantıkta simgesiyle gösterilir ve DEĞİL olarak okunur. Bu tek bir yerde yapılan bir işlemdir.

Örneğin, (x = y) "değil (x eşittir y)" olarak okunur. Sonuç, x y'ye eşit değilse doğrudur ve x, y'ye eşitse yanlıştır. Olumsuzluk, Boolean değerini tersine çevirir.

Bağlaç işlemi & ile gösterilir ve AND olarak okunur.Bu iki basamaklı bir işlemdir. Örneğin, (x> 0) & (x< 1) читается «x больше 0 и x меньше 1». Данная логическая формула примет значение истина, если x Є (0,1), и ложь – в противном случае. Следовательно, результат конъюнкции – истина, если истинны оба операнда. Знак операции дизъюнкции V читается как ИЛИ. Например, (x = 0) V (x = 1) читается «x равно 0 или x равно 1». Формула дает истину, если x – двоичная цифра (0 или 1). Следовательно, дизъюнкция дает в результате истину, если хотя бы один операнд - истина.

Turbo Pascal'da boole değerleri True ve False hizmet kelimeleri ile belirtilir ve boolean veri tipine BOOLEAN denir.

Turbo Pascal dahil, 6.0 sürümüne kadar Pascal dilinin tüm uygulamaları, öğeleri yalnızca yukarıdaki iki boole değerini alabilen yalnızca bir Boolean boole veri türü içeriyordu. Turbo Pascal 7.0, üç boole veri türü daha ekler: ByteBool, WordBool ve LongBool.

Fiziksel ve mantıksal türlere ayrılan tamsayı ve karakter türleriyle benzetme yaparak, ByteBool, WordBool ve LongBool'un fiziksel türler, Boolean'ın mantıksal olduğunu varsaymak doğaldır. Ancak bu durumda, bu tamamen doğru değil. Dört türün hepsi farklıdır. Turbo Pascal için Boole türü daha çok tercih edilir, çünkü daha az bellek kullanır, türlerin geri kalanı, geliştirilen programların False 0 ve True'nun 0'dan başka herhangi bir sayı olduğu Windows ile uyumluluğunu sağlamak için tanıtıldı.

Boole verileri bir bayt bellek kaplar. Bu durumda, false değeri sıfır bayt değerine karşılık gelir ve true değeri sıfır olmayan herhangi bir bayt değerine karşılık gelir. Örneğin: false her zaman makine gösteriminde: 00000000; true şöyle görünebilir: 00000001 veya 00010001 veya 10000000.

Ancak, boole türündeki bir değişkeni true olarak atama işlemi gerçekleştirirken, 00000001 kodunun her zaman ilgili bellek alanına yazıldığı unutulmamalıdır.Bu işlemlerde, boole türündeki işlenenler tek bir işlem olarak kabul edilir. bütün - iç temsillerinin bit bileşiminden bağımsız olarak. Ayrıca, herhangi bir türdeki verileri karşılaştırırken Boole sonuçlarının elde edildiğini unutmayın. Turbo Pascal boole sabitleri TRUE ve FALSE, açıkça kullanılabilir veya CONST bölümünde bir adla belirtilebilir, örneğin:

Bir boole değişkeni ayrıca TRUE ve FALSE olmak üzere iki değere sahip olabilir. Boole değişkenleri bir cümle ile tanımlanmalıdır:

Var<имя_переменной>: boole; (Değişken değişken).

Örneğin: var L, A, C: boolean;

Değişkenleri tanımlayan bölümde programda kullanılan değişkenlerin türünü tanımlamanın gerekli olduğuna dikkat edilmelidir. Örneğin,

Var P, Q, R: Tamsayı;

Operatörler bölümünde, bir değişkenin boole türüne bir boole sabitinin değeri atanabilir, örneğin:

L1: = doğru; L2: = yanlış; L3: = L1;

Boole değerleri atanabilir, görüntülenebilir ancak okuma prosedürü ile girilemez.

Boole Değişkenleri Örneği

Ders, Pascal'daki koşullu operatörü tartışır ( Eğer). Bir yapıda birden çok koşulun nasıl kullanılacağını açıklar ( VE ve VEYA). Operatörle çalışma örnekleri dikkate alınır

Bu sitenin konuyla ilgili eksiksiz bir bilgi sunumu olduğunu iddia etmediğini hatırlatırız. Portalın amacı, materyali pekiştirmek için pratik görevlerle "Pascal programlama dili" konusundaki hazır çözülmüş örnekler temelinde materyali özümseme fırsatı sağlamaktır. Sitede sunulan Pascal ödevleri, karmaşıklıkları arttıkça sırayla sıralanır. Site sitesi öğretmenler ve öğretmenler tarafından yardımcı görsel yardımcı olarak kullanılabilir.

Bu konuyu ele almadan önce, eylemler (operatörler) birbiri ardına sırayla gerçekleştirildiğinde çok basit görevler için tipik olan Pascal'daki doğrusal algoritmalar kullanıldı. Daha karmaşık algoritmalar, bir dallanma yapısının kullanımını içerir.

Koşullu operatörün blok şeması:

Pascal koşul operatörü aşağıdaki sözdizimine sahiptir:

Kısaltılmış versiyon:

if koşul o zaman ifade;

Tam versiyon:

if koşulu o zaman deyimi else deyimi;

Pascal'daki koşul operatörü - if - görevin ilerlemesini, herhangi bir mantıksal koşula bağlı olarak ifadelerin yürütme sırasını değiştirecek şekilde düzenlemeye hizmet eder. Mantıksal bir koşul iki değerden birini alabilir: sırasıyla doğru (doğru) veya yanlış (yanlış), doğru veya yanlış olabilir.

bileşik operatör

Doğru bir koşul altında birkaç operatörün yürütülmesi gerekiyorsa, o zaman Pascal dilinin kurallarına göre, bir blok içine alınmaları gerekir., servis kelimesi ile başlayıp servis kelimesi ile biten. Böyle bir blok genellikle denir operatör parantezleri, ve bu yapı - bileşik operatör:

Pascal'da operatör parantezleri ve bileşik operatör:

eğer boole ifadesi o zaman deyim1'e başlar; operatör2; başka son başla deyim1; operatör2; son;

Terimlerin İngilizce operatöründen tercüme edilmesi, kullanımlarının anlaşılmasını kolaylaştıracaktır:

EĞER SONRA BAŞKA
EĞER SONRA AKSİ HALDE


Bir koşulda (mantıksal bir ifadede), ilişkisel operatörler kullanılır.
Pascal ilişki operatörlerinin bir listesini düşünün:

  • daha fazla>
  • daha küçük
  • Pascal'da büyük veya eşittir> =
  • Pascal'da küçük veya eşittir
  • Pascal'da karşılaştırma =
  • Pascal'da eşit değil

Örnek: iki sayıdan en büyüğünü bul

seçenek 1 seçenek 2


İşi ayrıntılı olarak anlayın Video eğitimini izleyerek Pascal'da koşullu operatörü kullanabilirsiniz:

Örnek: iki daldan biri boyunca y değişkeninin değerini hesaplayın

Çözümü göster:

var x, y: gerçek; writeln'ye başlayın ("x girin"); oku (x); x> 0 ise y: = ln (x) yoksa y: = exp (x); writeln ("y =", y: 6: 2) (toplam sayı 6 haneyi kaplayacak ve 2 ondalık basamak içerecektir) sonu.

Bu örnekte y'nin nasıl görüntülendiğine dikkat edin. Pascal'da tür değişkenleri çıkarırken, sözde kullanabilirsiniz. biçimlendirilmiş çıktı, veya iki noktalı gösterim:
y: 6: 2
- ilk kolondan (6) sonraki sayı, ekranda görüntülendiğinde sayının kaç karakter alacağını gösterir.
- ikinci kolondan (2) sonraki basamak, gerçek sayının ondalık noktasından sonra kaç basamak görüntüleneceğini belirtir

Bu nedenle, pascal'da böyle bir gösterimin kullanılması pratikte yüzde bire, binde bire vb. yuvarlamaya izin verir.

Sorun 0.İki daldan biri boyunca y değişkeninin değerini hesaplayın:

Amaç 1. Bilgisayara iki sayı girilir. Birincisi ikinciden büyükse, toplamlarını hesaplayın, aksi takdirde - ürün. Bilgisayar daha sonra sonucu ve PROBLEM SOLVED metnini yazdırmalıdır.

Amaç 2. Ejderha her yıl üç kafa büyür, ancak 100 yaşına geldikten sonra sadece iki tane olur. Bir ejderhanın kaç kafası ve gözü vardır n yıl?

Pascal cinsinden Boole işlemleri (boole cinsinden)

Pascal'da bir çift koşul kullanılması gerektiğinde, boolean işlemlerine ihtiyaç vardır.

  • mantıksal işlem VE (Ve) iki koşul arasına koyarak, bu koşulların her ikisinin de aynı anda sağlanması gerektiğini (doğru olması gerektiğini) söyler. İşlemin mantıksal anlamı "bağlaç"tır.
  • İki koşul arasında, işaret VEYA (VEYA) bunlardan en az birinin sağlanmasının yeterli olduğunu söyler (iki koşuldan biri doğrudur). İşlemin mantıksal anlamı "ayrılma"dır.
  • Pascal'da XOR - "kesin ayırma" anlamına gelen ve iki koşuldan birinin yerine getirilmesinin (doğru) ve diğerinin yerine getirilmediğini (yanlış) belirten mantıksal bir işlemin işareti.
  • mantıksal işlem OLUMSUZ mantıksal bir ifade veya değişkenden önce "olumsuzlama" veya "ters çevirme" anlamına gelir ve verilen değişken veya ifade doğruysa, olumsuzlamalarının yanlış olduğunu ve bunun tersini belirtir.

Önemli: Basit koşulların her biri parantez içine alınmalıdır.

Örnek: Pascal'daki mantıksal ifadelerdeki mantıksal işlem örneklerini düşünün

1 2 3 4 5 6 7 8 var n: tamsayı; başlangıç ​​n: = 6; if (n> 5) ve (n<10 ) then writeln ("истина" ) ; if (n>7) veya (n<10 ) then writeln ("истина" ) ; if (n>7) xor (n<10 ) then writeln ("истина" ) ; if not (n>7) sonra writeln ("gerçek"); son.

var n: tamsayı; başlangıç ​​n: = 6; if (n> 5) ve (n<10) then writeln("истина"); if (n>7) veya (n<10) then writeln("истина"); if (n>7) xor (n<10) then writeln("истина"); if not(n>7) sonra writeln ("gerçek"); son.

Örnek:Şirket, 25 ila 40 yıl dahil olmak üzere çalışanları işe almaktadır. Kişinin yaşını girin ve verilen şirket için uygun olup olmadığını belirleyin (“uygun” veya “uygun değil” cevabını verin).
tuhaflık: iki koşulun aynı anda sağlanıp sağlanmadığını kontrol etmek gerekir.

Boole ifadeleri (koşullar) Pascal dilinde if ifadelerinde ve tekrarları düzenlerken, yani while ve tekrar - kadar döngülerde kullanılırlar.

Mantıksal ifade örnekleri:

1 ... a> 2 * b

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

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

Boolean ifadeleri şunlara dayanır: 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 boole değeridir NS(doğru) veya YANLIŞ(Uzanmak). 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 çalışma prensibi.

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

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

burada if, o zaman, else ayrılmış sözcüklerdir (if, o zaman, aksi halde);

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

<оператор1>ve<оператор2>- herhangi bir Pascal operatörü (basit veya bileşik).

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

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

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

eğer değer<условие>- doğru, sonra yürütülür<оператор1>, a<оператор2>görmezden gelindi.

eğer değer<условие>- false, ardından yürütülür<оператор2>, a<оператор1>görmezden gelindi.

Kısaltılmış if ifadesi

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

Örnekleri: Eğer bir< 2*b then y: = a/2 ;

Eğer bir< 2*b then begin

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

Örnek 2'de, başlangıç ​​y ifadesi: = 2 * a; writeln (y) sonu; Pascal dilinin bileşik operatörüdür.

bileşik operatör Besleme sonu deyimi parantezleri içine alınmış bir deyim grubudur:

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

gerçekleştirmek mümkün olduğunda geçerlidir sadece bir operatör Pascal sözdizimi kurallarına göre ve göreve göre bir grup operatörün yürütülmesi gerekiyor.

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

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

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

Koşul false olarak değerlendirilirse,<оператор>yok sayılır ve program yürütme denetimi programdaki bir sonraki deyime aktarılır.

25 Paskal. Durum ... seçim beyanı. Biçim ve çalışma prensibi. Vaka seçim operatörü

Koşullu if ifadesi, olası iki program devamından birini uygulamanıza izin veriyorsa, vaka ifadesi birkaç program devamından birini seçme yeteneği sağlar.

Bu operatör şu yapıya sahiptir:

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

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

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

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

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

Buraya<выражение-селектор>- bir ifade veya belirli bir durumda, real (genellikle bayt, tamsayı, boolean veya char türünden bir değişken) hariç herhangi bir skaler tipte bir değişken;

<список1, список2, ... списокN>- seçici ifadesinin değerlerini alabileceği sabitlerin listeleri. Listelerin her biri bir sabit, bir sabitler aralığı veya virgülle ayrılmış birden çok sabit (aralık) olabilir.

Case ifadesindeki else maddesi bulunmayabilir.

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

    Seçici ifadesinin değeri analiz edilir.

    Seçici ifadesinin değeri, sabit listelerdeki sabitlerden herhangi biriyle eşleşmezse, kontrol, else kelimesinden sonra operatöre, else kelimesinin yokluğunda, durum operatörünü takip eden operatöre aktarılır.

Bu ders, Boolean türünü Pascal'da tanıtır. Nasıl bulunacağının algoritması en az ve maksimum Pascal'daki sayı


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

Pascal'da doğrusal algoritmalara dayalı program yazmayı zaten öğrendik. Ve biz bile, kullanıldıkları, doğru veya yanlış değerlerini alan dallanma ile doğrusal olmayan algoritmalar oluşturuyoruz.

Boole değerleri:

Aşağıdaki örnekte, bir boole ifadesinin sonucu ekranda görüntülenir:

1 2 3 4 5 6 var A: tamsayı; A'ya başla: = 5; (A> 0); (True çıktısı alacak) son.

var A: tamsayı; A'ya başla: = 5; (A> 0); (True yazdıracak) sonu.

Bir boole ifadesinin sonucunu kaydetmek için, Pascal'da boole türüne sahip olan ve ayrıca iki değerden birini alabilen özel bir boole değişkeni kullanılır - doğru veya yanlış.

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

1 2 3 4 5 6 7 8 var A: tamsayı; b: boole; A'ya başla: = 5; b: = A> 0; (b) yazın; (True çıktısı alacak) son.

var A: tamsayı; b: boole; A'ya başla: = 5; b: = A> 0; (b); (Çıktı True olacak) biter.

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

var a: boole; a ile başlayın: = doğru; a = doğru ise writeln ("doğru") yoksa writeln ("yanlış"); son.

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

Boole görevi 1. Pozitif bir tam sayı verilir. İfadenin doğruluğunu kontrol edin: "hatta"

Mantıksal XOR işlemini kullanan bir örneğe bakalım:

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

Boole programı; var x, y: tamsayı; c: boole; yazmaya başlayın ("X, Y girin:"); oku (x, y); c: = (Tek (x)) xor (Tek (y)); writeln ("X ve Y değişkenlerinden yalnızca birinin tek değeri vardır -", c); son.

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

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

Boole değişkeniyle daha karmaşık bir sorunun çözümünü düşünün:

Örnek:Üç basamaklı bir sayı verilir. İfadenin doğruluğunu kontrol edin: "Bu sayının tüm rakamları farklı."

Çö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; start bayrağı: = false; s_n: = bir div 100; d_n: = ((bir mod 100) div 10); e_n: = bir mod 10; eğer (s_n<>d_n) ve (d_n<>e_n) ve (e_n<>s_n) sonra işaretle: = true; writeln (bayrak); son.

sabit a = 348; var d_n, s_n, e_n: tamsayı; bayrak: boole; start bayrağı: = false; s_n: = bir div 100; d_n: = ((bir mod 100) div 10); e_n: = bir mod 10; eğer (s_n<>d_n) ve (d_n<>e_n) ve (e_n<>s_n) sonra işaretle: = true; writeln (bayrak); son.

Burada her rakam, bölme işlemlerinin tamamı kullanılarak ve bölmenin geri kalanı alınarak elde edilir: s_n, yüzüncü basamağın basamağıdır, d_n, onuncu basamağın basamağıdır, e_n birdir.

Boolean 3 görevi. N> 0 bir tamsayı verilir. Bölme işlemlerini tamamen kullanarak ve bölmenin kalanını alarak, N sayısının kaydında "2" rakamı olup olmadığını belirleyiniz. Eğer öyleyse, TRUE çıktısını, değilse, FALSE çıktısını alın.

Boole 4 görevi. Pozitif bir tam sayı verilir. İfadenin doğruluğunu kontrol edin: "Bu sayı tek üç basamaklı bir sayıdır."

Pascal'da minimum ve maksimum sayı

Bir dizi sayı arasında minimum veya maksimum sayı aramasını düzenlerken, eski bir "büyükannenin" algoritması her zaman kurtarmaya gelir:

  • Turta kızarttığımızı ve zaten büyük bir slaydı kızarttığımızı hayal edin; şimdi bunların en büyüğünü seçmeniz gerekiyor, yani. bizim durumumuzda, maksimum.
  • En üstteki pastayı alıyoruz, yani. önce, şimdiye kadarkilerin en büyüğü olduğunu söyleyin ve bir kenara koyun.
  • Sonra ikinciyi alıp en büyüğüyle karşılaştırıyoruz, bu ikinci pasta daha büyük çıkarsa “eski en büyük” yerine bir kenara koyup şimdi en büyüğü diyoruz.
  • Bir sonrakini alın ve adımları tekrarlayın. Bu yüzden bu prosedürü tüm turtalarla yapıyoruz.

Bazen mümkün olan en düşük sayı, ilk maksimum sayı olarak atanır (görevin içeriğine bağlı olarak). Ve minimum olarak - aksine, mümkün olan en büyük sayı. Örneğin 1000'den küçük pozitif sayılar arasında maksimumu / minimumu bulmak gerekiyor deniyorsa, o zaman:

maks: = 0; min: = 1000;