Depo operatörü. Zihinsel operatör. Gevşemenin yapısı. Akıllı operatör Navishto vikoristuvati akıllı operatör

Program yazmak için sadece programlama dilini bilmek yeterli değildir. Sonuçta her şeyin doğru çalışabilmesi için yazılan her şeyin yapısını anlamak ve tam olarak anlamak gerekir. Bugün bir programda zihinsel operatör kavramına bakacağız. Ek olarak, operatörün çalıştığı kod çözme işlemi hakkında da faydalı bilgiler olacaktır.

Viznachennya.

Ayrıca zihinsel operatör tüm programlamanın tasarımının temelidir. Kendisi atanan komutlara girme yeteneği verir. Doğru, kimin zihni için hakikat gerekliyse veya doğrudan emir bir koristuvach gibidir.

Galuz zastosuvannya.

Vikonanny takımları veya takımları için şarkı söyleyen zihinlerin zihinleri için Danya zastosovuєtsya. Huzursuzluktan dolayı durgunluk dönemleri yaşanıyor. Bu doğrudan programı tanımlayan üç ana yapıya bölünmüştür.

Zihinsel geçiş.

Zihinsel geçişin operatörü seçim ilkesini takip eder ve zihnin hakikatiyle doğrudan ilişkilidir. Dolayısıyla, programda bir dizi çözüm seçeneği belirtildiğinden, operatörün kendisi seçim yapabilir ve ardından doğrudan eyleme geçebilir. Geri dönmek geri çevrilmez. Mantıksal bir ifadenin doğruluğu, eğer sözcüğünden sonra gelen anlamlara sahip bir zihin kodunun varlığıyla doğrulanır. Kendisi çoğunlukla çeşitli dillerde kullanılır ve seçimin doğruluğunu gösterir. Akılda belirtilen ilk öğe büyücülük için uygun değilse, yaklaşan tüm girişleri sırayla, kademeli olarak kontrol ederiz. Bu süreç kolay değil, lütfen raporunuzu bildirin.

Akıllı operatörlerin formları.

Böyle bir planın yalnızca üç biçimi vardır. Önce cildin robotuna, ardından tek elle en basit operatöre bir göz atalım. Bu, kodun sonunu belirten bir if komutu, ardından sonlandırılması gereken komutların yazıldığı ve kodun sonunu belirten end komutudur. Takımın baştan sona tüm rotayı geçmesi için, makine ilk önce başlangıç ​​koduna atanan zihinlerin türünü ve nereye gitmesi gerektiğini kontrol eder ve makine belirlenen sona ulaşana kadar komutların bir sonraki bölümünü takip etmeye başlar. son. Son kelimeyi belirtmeyen derleyiciler var; kelimeye özgü tüm komutları dikkatlice yazıyorlar. Bu yazı biçimi aynı zamanda mevcut olan tek yazı biçimi de olabilir.

İki programlama seçeneğiyle daha büyük bir katlama seçeneği. Bu kod bir sonraki adıma benzer: if kelimesi, ardından sonraki kelime, ardından kelime ve sonraki komut için komut, şimdi else komutu yazılır, yani ilki gitmez ve her şey bittikten sonra. Karar programın sonuna kadar durdurulması yönündedir. İlk beyin başarısız olursa ve ilk takım başarısız olursa program otomatik olarak diğerini mağlup eder. Bu hamle ilkinden daha etkilidir.

Üçüncü seçenek, birden fazla zihnin dahil olduğu kalkınmadır. Bu, verilen akıllardan eğer varsa o zaman ve gerekli komutun yazılmasıdır, ondan sonra eğer başka bir akıl, eğer ilki gitmezse başka bir aklın infazı için komut, yoksa eğer ve başka bir akıl belirtilir. diğer zihinlerden ve o zaman kelimesinden sonra yazabilirsiniz ve gerekli tüm beyinler biterse, muhabir basitçe beyinle başka bir emir verir, taşma seçeneklerinden çıkış yolu yoksa ve komut biterse, ardından end sözcüğüyle kapanır.

Operatör çıplak yapıyı süpürür ve hepsi sırayla çekilir. A takımla yeniden başlıyoruz.

Popoda "Pascal" filmi var.

En akıllı operatörü kullanmak için en popüler programlamayı takip edin. Herkesi affedebilir ve ona karşı nazik olabiliriz. Üzgünüz, =, gibi sembollerle gösteriliyorlar<, >Ve böyle devam eder ve eğer a>=y ise katlanır olan yazılır, aksi takdirde kabul edilemez göstergelerin girildiği yere op:=Sqr(а-у) yazılır.

Peremikach konsepti.

Peremikach, parametrelerin talimatlarını takip eden bir zincir komuttur. Yalnızca bir pin seçmek yerine en az iki pin gerektirir. Zihinler şarabın öngörülen parametrelerindedir ve şarkının viconnunu bağımsız olarak karıştırır. Dil eylemleri bu tür parametreleri kullanarak metinlerle bir analoji kurabilir. Bu komut, değerin tamamının türünü döndürmek veya döndürmemek için yukarıdaki açıklamalarda görünür.

Operatör geliştirme.

Başlangıçta, zihinsel operatör bir komut görevi görüyordu, bu da gerekli işarete daha fazla geçiş anlamına geliyordu. Bir seçici olarak ortaya çıkan ve tüm değerin ve geçişin zihninin dönmesini sağlayan komut geçerliydi. Bu yapıldığında listedeki etiketin numarası hesaplandı ve makine, atanan numarayı doğrudan hesaplamaya başladı. Bu tasarım, örneğin BASIC ve Fortran'da benzer şekilde kullanılabilir. Hesaplama için zaten farklı bir yapı kullananlar ne olursa olsun, bu hala etkilidir.

Mevcut zihinsel operatör yazma modeli önceden katlanmıştır ve açıkçası hesaplama saatinde biraz önemsizdir. Gerekli adreslere sahip bir komut dizisinin sıralı olarak eklenmesi vardır. Birinden diğerine çılgınca geçiş, işaret değerlerinin sayısının hesaplandığı saatin bağımsızlığını sağlayacaktır.

Güncel dillerde Peremikach geçiş tablosu olarak da kullanılabilir. Makineyi belirlenen parçalara taşımak için bir komut tablosu oluşturulur. Komut büyük harf veya anahtar harfiyle yazılır ve bazı durumlarda her ikisi de aynı anda yazılır.

Zihinsel ifadeleri hesaplamanın mantığı.

Mantıksal anlayışın akışı, semptomlarla birlikte cilt tarafından kabul edilen mantık tarafından sağlanır. Doğrudan ikisini görebilirsiniz - dışarıda ve dışarıda. Öncelikle tüm ayarları ve parametreleri daha sonra gözden geçirin. Aksi takdirde tüm parametreler dikkate alınır ve “doğru” işareti bir sonraki komutu belirtir. ABO'yla çalışır.

"çatal".
üzülüyorum Buna, hesaplama süreci için birçok olası seçenekten birinin seçildiği bir algoritma denir. Deriye benzeyen yola denir akıllı algoritma.

Algoritma, beyin ters çevirme operasyonunun varlığında neler olup bittiğini biliyor. En sık kullanılan zihinsel tersine çevirme if ifadesidir.

dolu veya düzensiz çatal şeklini seçebiliyorsanız.

Çatalların dengesiz olduğu zamanlarda Umova doğru o zaman İşlemi engelle1 vykonuetsya, yakscho Umova haydi o zaman İşlemi engelle1 tereddüt etmeyin.

Bir kez daha çatallar var Umova doğru, o zaman anlaştık İşlemi engelle1 yoksa biter İşlemleri engelle2 .

İşlemi engelle tek bir işlemde birleştirilebilir. Bu durumda bloğu sınırlayan şekilli kemerlerin varlığı zorunlu değildir.

Popo C'de:

1
2
3
4
5
6
7
8
9
10
11
12
13
14


#katmak
int ana()
{
int k; // bunu her zaman söyleyeceğim k
printf("k="); // Bildirimi görüntüler
scanf("%d", &k); // k değerini girin
if (k >= 5) // if k>5
printf("%d >= 5", k); // "DEĞERLER > = 5" göster
başka // farklı
printf("%d< 5" , k); // "DEĞER"i göster< 5"
getchar(); getchar();
0 değerini döndür;
}


Vikonanny sonucu

If ifadesi iç içe yerleştirilebilir.

Popo C'de:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

#define _CRT_SECURE_NO_WARNINGS // scanf'in olası kullanımı için
#katmak
#katmak
int ana() (
int anahtarı;
sistem("chcp 1251");
sistem("cls"); // Konsol penceresini temizle
printf();
scanf("%d", &anahtar);
if (anahtar == 1) // burada anahtar = 1
printf( "\nVibrano ilk öğesi"); // Bildirimi görüntüler
else if (anahtar == 2) // aksi takdirde anahtar = 2
printf( "\nBaşka bir öğe seçildi"); // Bildirimi görüntüler
başka // farklı
printf(); // Bildirimi görüntüler
getchar(); getchar();
0 değerini döndür;
}

Vikonanny sonucu





If ifadesinin iç içe geçmiş biçimi ortadan kaldırıldığında, else seçeneği kalan if ifadesine bağlanır. Bir else seçeneğini baştaki if ifadesiyle ilişkilendirmeniz gerektiğinde, iç zihinsel ifade kıvrımlı kollarda görünür:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

#define _CRT_SECURE_NO_WARNINGS // scanf'in olası kullanımı için
#katmak
#katmak // vikoristan fonksiyon sistemi için
int ana() (
int anahtarı; // anahtarın tamamını seslendir
sistem("chcp 1251"); // Rus konsoluna git
sistem("cls"); // Konsol penceresini temizle
printf( "Ürün numarası 1 veya 2'yi girin: ");
scanf("%d", &anahtar); // Değiştirme anahtarının değerini girin
if (anahtar != 1) ( // eğer anahtar 1'e eşit değilse
if (anahtar == 2) // çünkü anahtar 2'den eski
printf( "\nBaşka bir öğe seçildi"); // Bilgi özeti
} // eğer anahtar 1 veya 2 değilse hiçbir şey gösterilmeyecek
başka // aksi halde, anahtar 1'den eski olduğundan
printf( "\nVibrano ilk öğesi"); // Bilgi özeti
getchar(); getchar();
0 değerini döndür;
}


Vikonanny sonucu





Üçlü operasyonlar

Üçlü zihinsel operasyon 3 argüman alır ve ilk işlenen tarafından belirtilen mantıksal ifadenin değerine bağlı olarak diğer ve üçüncü işlenenini döndürür. Dilde üçlü işlemin sözdizimi

Umova mı? Viraz1: Viraz2;


Bu ne anlama geliyor? Umova, ardından üçlü işlem döner Viraz1, başka bir durumda - Viraz2 .

Zihinsel işlemler gibi üçlü işlemler de iç içe olabilir. Yerleştirme işlemleri için yuvarlak kollar kullanılır.

Üçlü işlemlere daha iyi bir örnek bir bakışta size sunulabilir

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

#define _CRT_SECURE_NO_WARNINGS // scanf'in olası kullanımı için
#katmak
#katmak // vikoristan fonksiyon sistemi için
int ana() (
int anahtarı; // anahtarın tamamını seslendir
sistem("chcp 1251"); // Rus konsoluna git
sistem("cls"); // Konsol penceresini temizle
printf( "Ürün numarası 1 veya 2'yi girin: ");
scanf("%d", &anahtar); // Değiştirme anahtarının değerini girin
anahtar == 1? printf( "\nVibrano ilk öğesi") :
(anahtar == 2 ? printf( "\nBaşka bir öğe seçildi") :
printf( "\nBirinci ve diğer öğeler seçilmedi"));
getchar(); getchar();
0 değerini döndür;
}

Operatör değiştirme (çoklu seçim operatörü)

If ifadesi iki seçenek arasında seçim yapmanızı sağlar. Çeşitli seçeneklerden birini seçmek için if ifadesini kullanmanız gerekir. Bu yöntemle switch operatörünü kullanabilirsiniz.

Kayıt formu

anahtar (Tsiliy Viraz)
{
durum Sabit1: Blok İşlemi1;
kırmak;
durum Sabit2: Blok İşlemi2;
kırmak;
. . .
durum Sabiti: Blok işlemi;
kırmak;
varsayılan: İşleme için İşlem Bloğu;
kırmak;
}

Anahtar operatörü şu şekilde yazılır:

  • hesaplanmak TsiliyViraz switch ifadesinin kollarında;
  • Kaldırıldığında değerler işaretlerle hizalanır ( Sabitler ) durum seçeneklerinde, hizalama, tamsayı virüsünün hesaplanan değeriyle eşleşen bir işaret bulunana kadar gerçekleştirilir;
  • aynı fikirde İşlemi engelle dava;
  • İlgili işaret bulunamazsa görüntülenir Yıkama İşlemleri Bloğu varsayılan seçenekteki açıklamalar.

Varsayılan alternatif günlük olabilir, böylece günlük aktivitelerinizi boşa harcamanıza gerek kalmaz.
Seçenek sonu; İşe yarayan şey, switch ifadesinden çıkmak ve onu takip eden operatöre geçmektir. Break seçeneği, bu etiketle işaretlenenle başlayan ve varsayılan seçenek ifadesiyle biten tüm ifadeleri içerecektir.

Seçeneklerdeki sabitler tamsayı türünde olabilir (sembol olabilirler).

Akıllı operatörler Aklınıza bağlı olarak programın bunları ve diğer bölümlerini düzenlemeyi seçmenize izin verin. Örneğin, program x ve z konuşma değişkenlerini kullanıyorsa ve görevin her aşamasında z=max(x, y) hesaplamak gerekiyorsa, sonuç z:= atama operatörünün sonucu olacaktır. x veya atama operatörü z :=y. X ve y değişkeninin geri kalan değerleri önceden bilinmiyordu ancak hesaplama işlemi sırasında belirlendikten sonra programın suçu atama operatörüne aktarması gerekiyor. Ancak bunlardan biri aslında bitebilir. Bu nedenle programda atama için başka bir operatör seçmeniz gereken durumlar hakkında bir not bulunacaktır.

Bu ifade doğal olarak x>y kısır ilişkisiyle formüle edilebilir. Bu ilişki x ve y'nin tam değerleri için geçerli olduğundan (true değerini alır), hesaplama için z:=x operatörünün seçilmesi gerekir. Başka bir durumda, z:=y operatörünün seçilmesi gerekir (aynı operatör olan x=y için, dolayısıyla bu durumda z:=y operatörünün seçimi doğru sonucu verecektir).

Tartışılan benzer türde hesaplamalı süreçler oluşturmak için dilde programlama vardır. akıllı operatörler. Tekrar bir göz atalım beyin operatörü Pascal:

eğer B Daha sonra S1 başka S2

Burada eğer(yakscho), Daha sonra(bunlar) ben başka(aksi takdirde) hizmet sözleriyle, sen- Daha mantıklı ifade ama S1і S2- Operatörler.

Pascal'da böyle bir zihinsel operatörün vikoniği, bir sonrakinden önce dahil edilen S1 veya S2 operatörlerinden birinin vikoniğine indirgenir: eğer zihinsel operatörde sonlandırılacak şekilde belirtilmişse (B mantıksal ifadesi değeri alır) true), bu durumda S1 operatörü sonlandırılır ve diğer durumda S2 operatörü sonlandırılır.

Z = max(x, y) hesaplamasının ana görevini çözme algoritması şu şekilde belirtilebilir: Pascal'ın zihinsel operatörü

eğer x>y Daha sonra z:=x başka z:=y

Algoritmalar formüle edilirken, hesaplama sürecinin ilk aşamasında sadece zihnin değiştirilmesi gerekiyorsa ve o zihin değişmiyorsa, bu aşamada bunun mümkün olmaması bile tipik bir durumdur. her eylemi durdurmak için. Böyle bir duruma en basit örnek, değişkenin akış değerini bu değerin mutlak değeriyle değiştirmektir: x<0, то необходимо выполнить оператор присваивания x:= - x; если же x>=0 ise, o zaman tam olarak x'in değeri değişmeden kaybolabilir. Bu aşamada herhangi bir işlemi bitirmenize gerek yoktur.

Bu gibi durumlarda zihinsel operatörün Pascal'daki yazım şekli elle kısaltılır:

eğer B Daha sonra S

Kısaltılmışın Vikonanny kuralı Pascal'ın zihinsel operatörüçok açık: yakscho mantıksal ifadenin değeri doğrudur, O S operatörü birleştirilmiştir; V aksi takdirde Başka herhangi bir işlem bulunmamaktadır.

Pascal'ı zihinsel operatörde programlamanız gerekiyor. Daha sonraі başka ve ayrıca sonrasında başka Sözdiziminin arkasında en az bir operatör bulunabilir. Belirli bir zihnin teslim edilmesi (veya yeniden inşa edilmemesi) durumunda, eylem sırasının yeniden yapılandırılmasına ihtiyaç duyulursa, bunların tek bir depo operatöründe birleştirilmesi gerekir. bu eylem dizisini operatörün pruvasında düzenleyin başla...son (bu önemli!). Örneğin, x'te< y надо поменять местами значения этих переменных, то beyin operatörü Pascali'nin yaklaşan töreninde şunlar yazılacak:

eğer X Daha sonra r:=x'i başlat; x:=y; y:=r sonu

Kısaltılmış formun varlığı Pascal'ın zihinsel operatörü Acil durumlarda büyük dikkat gerektirir. Örneğin akıllı bir operatör

eğer B1 Daha sonra eğer B2 Daha sonra S1 başka S2

Görünüşe göre iki farklı yoruma izin veriyor:

  • yak Pascal'ın yeni zihinsel operatörü akıl

eğer B1 o zaman başla
eğer B2 Daha sonra S1 sonu
başka S2

  • yak Pascal'ın steno operatörü akıl

eğer B1 o zaman başla
eğer B2 Daha sonra S1 başka S2 sonu

Pascal kurallarının arkasında başka bir yorum daha var. cilt sözüne saygı duy başka ilk kelimeye benziyor Daha sonra. Olası kesiklerin ve yanlış anlamaların benzersizliği için, tüm bu durumlarda muz şeklinin net bir şekilde görülmesi önerilir. Pascal'ın zihinsel operatörü Operatör odasında yayları almanın yolu.

Pascal seçim operatörü

Pascal seçim operatörü Devam eden birçok olası programdan birini seçmenizi sağlar. Seçimi etkileyen parametre, herhangi bir sıra tipi seçiminin anahtarıdır.

Pascali'nin seçim operatörünün yapısı aşağıdaki gibidir:

Dava<ключ_выбора>ile ilgili
<список_выбора>
son

Burada durumda, aksi durumda, son– ayrılmış kelimeler (vypadok, aksi halde son);

  • <ключ_выбора>- Sıralı tipteki Viraz;
  • <список_выбора>- bir veya daha fazla tasarım türü:
    • <константа_выбора>: <оператор>;
  • <константа_выбора>- viraz ile aynı türde sabit
    • <ключ_выбора>;

<операторы>- Daha fazla Pascal operatörü.

Pascal seçim operatörü bu şekilde çalışır. Virüsün değeri baştan hesaplanıyor<ключ_выбора>ve ardından sırayla<список_выбора>Hesaplanan değere eşit bir sabit bulun. Bulunan sabiti takip eden operatör seçilir ve seçilen operatör işi tamamlar. Seçim listesinde seçim anahtarının hesaplanan değerine karşılık gelen bir sabit yoksa değer, else kelimesini takip eden operatörlere iletilir. Diğer kısım<оператор_иначе>atlanabiliyorsa, listede gerekli sabiti seçmek için hiçbir şey olmadığından, gerekli eylemlerin seçimiyle hiçbir ilgisi yoktur ve seçim operatörü işini tamamlar.

Örneğin yılın gün sayısını ekranda gösterecek bir program oluşturalım:

Wikoristanny Örneği'nden popo programı

Program dni_nedeli;
Var n: bayt;
Başlamak
Readln(n);
Dava n tanesi
1: writeln("Pazartesi");
2: writeln("Salı");
3: writeln("orta");
4: writeln("dört");
5: writeln("Cuma");
6: writeln("Cumartesi");
7: writeln("hafta");
başka writeln("sayılı gün", n,"nі");
  son;
son.

Seçim listesindeki tüm sabitlerin farklı olabileceğini unutmayın.

Seçim listesindeki herhangi bir operatöre bir değil, virgüllerle ayrılmış birçok seçim sabiti atanabilir. Örneğin “y” veya “Y” karakterlerinden biri girildiğinde program başlar, ekranda “So” görüntülenir, “n” veya “N” girildiğinde “Ni” kelimesi görüntülenir.

Vikoristanny'li programlara örnek Birçok değişikliğin olduğu durum

Var ch: karakter;
Başlamak
Readln(ch);
Dava ch
N, n: writeln("Yani");
Y, y: writeln("Hayır");
Son;
Son.

Açıkçası, dikkate alınan programların çoğu ek girdilerle veya art arda genişletilmiş zihinsel operatörlerle yazılabilir, ancak benzer görevlerde operatör seçimi daha basittir. Zihinsel operatörün seçim operatörüne göre temel önemi, zihinsel operatörde zihinlerin tek tek kontrol edilmesi ve anahtarın değerini seçen operatörde seçimin doğrudan olasılıklardan biri anlamına gelmesidir.

Laboratuvar robotu

Konuyla ilgili: " Zihin operatörü eğer - başka "


1. Amaçlanan sözdizimi

Aklın if-else operatörü, günümüzdeki programlarda bu noktada oluşan zihinlere göre doğrudan programların robotlarının seçimine hizmet etmektedir.

Zihinsel bir operatörün kaydedilmesi için normal form

eğer ( <условие>)

<блок операторов 1>;

<блок операторов 2>;

Vikonanny zamanında Yakshcho<условие>Doğru, program kontrolü aktarıyor<блоку операторов 1>ve ilk operatöre sınırlar arasında bir if-else yapısı verdi. Bununla<блок операторов 2>tereddüt etmeyin. Aksi takdirde, yine de<условие>hybno, vikonivatsya<блок операторов 2>, A<блок операторов 1>atlandı. Yüksek seviye blok diyagramı


If-else ifadesinin sözdizimindeki kolların şekilleri metinde 1 ve 2 numaralı blokları görünür kılmak için kullanılır.Program kodunun okunmasını kolaylaştırmak için kapanan ve açılan kolu genişletmeye çalışın. Kıvrımlı kolların ortasındaki metni işaretlemek için sağ eli topuk konumuna getirmek gerekir.

Nitekim if-else ifadelerinde “true” veya “false” (true – false) değerlerini üreten bazı mantıksal ifadeler bulunabilmektedir. Aşağıda tam ve aktif sayıları dengelemek için en basit işlemlerin anlamını içeren bir tablo bulunmaktadır.

popo 1. Santigrat ölçeğindeki TC (°C) sıcaklığı Kelvin ölçeğindeki TK (K) değerine dönüştürmek için bir program yazmak gerekir. T C değerleri kullanıcı tarafından klavyeden girilir.

Karar. Vikorist'in dönüşüm formülü T K = T C - T 0 de T 0 = -273 ° C - mutlak sıfır sıcaklıktır. Girilen T C yanlış çünkü T 0'dan küçük.

// – Kelvin/Santigrat –

#katmak // akış G/Ç'si için

#katmak // konsol G/Ç için (getch)

#pragma tartışıldı

floatT0 = -273; // Seslendirildi ve başlatıldı T0

floatTc, Tk; // yüksek sesle konuşma Tc ve Tk

cout<<» VvediteTc=»; // выводим приглашение

cin>>Tc; // Tc tarafından desteklenmektedir

eğer ( Tc < T 0) // zihni kontrol et Tc

cout<<» Tc < T0!»; // условие истинно, выводим на

} // ihtarla ilgili bildirim ekranı

Tk = Tc-T0; // Umova hibna, rozrakhovuyemo

cout<< «Tk =» << Tk; // Tk и выводим на экран

getch(); // Tuşa basılana kadar kırp

0 değerini döndür; //Programı bitir

Aşağıdaki kodu yazın, derleyin ve programı hesabınızda çalıştırın. Farklı T C değerleriyle yapılan çalışmanın sonuçlarını takip edin.

2. Daha kısa kayıt seçenekleri

Programlandığında, oluşan zihinlerde eylemin gerekli olduğu günlük bir durum vardır (örneğin, bir banka muhasebecisinden yanlış çıktı verilerini çıkardığınızda, ardından değişiklik ve programlardan çıkma bildirimlerini görürsünüz). Bazen C++ programlarında mind operatörü için else bloklu bir kısayol girişi olabilir. Böyle bir girişin resmi şekli

eğer ( <условие>)

<блок операторов>;

Burada aklın hakikatine ulaşıldığında tedavi kıvırcık kollardaki operatör bloğuna aktarılır. Zihin yumuşak olduğunda blok atlanır. Bu blok diyagram bir “kolun” ön kısmına bölünmüştür


Eğer if veya else bloklarından herhangi biri yalnızca bir ifadeden oluşuyorsa başka bir seçenek hızla takılıp kalacaktır. Bu tip, bloğu sınırlandırmak için şekillendirilmiş kolların bulunmamasına izin verir.

eğer ( <условие>)

operatör 1;

operatör 2;

Burada 1 ve 2 numaralı operatörler yalnızca basit tek sıralı aritmetik işlemler değil, aynı zamanda giriş-çıkış operatörleri olabileceği gibi, daha düşük sayılacak diğer (iç içe) operatörler veya döngü operatörleri gibi karmaşık çok sıralı yapılar da olabilir. .

3. İç içe operatörler

Aklın operatörleri uyguladıkları yazılım algoritmasına göre birebir yatırım yapılabilmektedir. Yeterli düzeyde “yatırıma” izin verilir.

Bir if-else ifadesi diğerinin içinde yer alıyorsa, ilk ifade diğerinin içinde yer alır açıklayacağım ve yalnızca if or else değil. Bitişik blokların sık sık üst üste binmesi kabul edilemez.

Yukarıdaki uygulamada operatörlerden birinin (koyu yazı tipiyle gösterilen) diğerine katkısı bulunmaktadır. Giriş B) dahili operatörün else bloğunun, harici operatörün hem if hem de else bloklarıyla sıklıkla örtüştüğünü göz ardı edelim.

popo 2. Koristuvach klavyeden üç tam sayı a, b, c'yi girin. Ekranda mümkün olduğu kadar çok sayının görüntülenmesi gerekmektedir.

Karar. Bir sonraki blok diyagramda en yüksek okuma ayarı için olası algoritmalardan biri.


Şema, ek if-else ifadeleri kullanılarak programlı olarak uygulanabilir

// - 3 sayıdan en büyüğünü seç -

#katmak

#katmak

#pragma tartışıldı

int main (int argc, char* argv)

kayan nokta a, b, c; // Üç değişikliği duyuruyoruz

cout<< «Vvedite a –»; // вводимзначения a, b, c

cout<< «Vvedite b –»;

cout<< «Vvedite c –»;

if (a>b) // eğer a > b

eğer (a> c) // eğer a> c

cout<<» max = «<

else // yoksa, o zaman. yakscho a<= с

cout<<» max = «<

else // yoksa, o zaman. yakscho a<= b

if (b>c) // eğer b > c ise

cout<<» max = «<

else // yoksa, o zaman. yakscho b<= а

cout<<» max = «<

getch(); // Herhangi bir tuşa basılana kadar kurutma

Algoritmasının ve yazılım uygulamasının blok diyagramını çizin. Üç sayıdan en küçüğünü bulmak için algoritmayı ve program kodunu değiştirin.

4. Depo mantığı

If-else ifadesinin mantığı iki sayısal değerin basit bir şekilde eşitlenmesi olarak ifade edilebilir. Mesela matematikte “a” şeklinde yazılan genişlemiş zihinler bile< b < c». Запись означает, что значение b лежит в диапазоне между значениями a и c. В программе такие условия должны быть переформулированы с использованием простых операций сравнения и логических операций «И», «ИЛИ», «НЕ»

Zokrema, viraz "a< b < c» сформулируем как «a меньше b, и b меньше c». На С++ это будет записано как (a

Eğer bir

popo 3. Boş dama tahtası üzerinde (n, m) konumunda beyaz bir piyon ve (k, l) konumunda siyah bir fil vardır. Burada ilk koordinat oyunun aşama numarası, diğeri sıra numarasıdır (1'den 8'e kadar değişecektir). En fazla üç seçeneği kullanarak mevcut durumu değerlendirin

Pishak saldırı altında,

Fil saldırı altında

Fil ve turna balığının başı dertte.

Karar. Bir piyonun çapraz olarak ileriye doğru kendisine en yakın iki konuma saldırabileceğini, filin ise ters yöndeki çaprazlara saldırarak saldırabileceğini hatırlayalım. Yıldızlar zihinlerini formüle edebilir

· “((k = n+1) ABO (k = n-1)) I (l = m+1)” - pish'in fil'e saldırısı,

· “(k+l = n+m) ABO (k-l = n-m)” - filin piyona saldırısı,

· evsizler için farklı rakamlar.

// - Şah'ın kompozisyonu -

#katmak

#katmak

int main (int argc, char* argv)

cout<<«Koordinaty beloi peshki:«<

cout<<» vvedite n –»;

cout<<» vvedite m –»;

cout<<«Koordinaty chernogo slona:«<

cout<<» vvedite k –»;

cout<<» vvedite l –»;

if(((k==n+1)||(k==n‑1))&&(l==m+1)) // fil'e saldırır

cout<

if((k+l==n+m)||(k-l==n-m)) // piyona saldırılıyor

cout<

else // saldırı yok

cout<

Pascal programlama dilini kullanmaya devam ediyoruz. Algoritmik tasarıma bir göz atalım, nasıl çalışıyor? umova (rozgaluzhennya). Makale acemi programcıların yanı sıra bilgisayar bilimi okuyucularına yöneliktir. Aşağıdaki istatistikler bilginizi pekiştirmenize ve kendinizi doğrulamanıza yardımcı olacaktır.

Bu gibi durumlarda, eğer bir seçimle karşı karşıya kalırsak, zihnin algoritmik tasarımı seçilir: öyle yap ya da böyle yap.

Umova patlıyor:

  1. Nepovne
  2. Povne

Nepovna Umova

Doğal olmayan bir zihnin blok şeması şuna benzer:

Nepovna Umova

YAKSCHO BUNUN DOĞRU OLDUĞUNU DÜŞÜNÜN, SONRA VİKONAY DİYA, aksi takdirde GÖRÜLECEK HİÇBİR ŞEY

Pascal dilinde algoritmik tasarım şuna benzer:

IF mind THEN eylemi;

Sizce bundan sonra buna değer mi? EĞER tamamen DAHA SONRA.

Bunun derdi ne?

Umova, doğru ya da yanlış olabilen bir virazadır. Umova mantıksal operatörleri kullanmakla yükümlüdür <, >, =, <=, >=, <>(alakasız).

Örneğin:

eğer a=7 ise writeln("Merhaba!"); son.

Değişiklik değeri girildikten sonra A bir 7 , ardından kelimeyi ekranda göreceğiz Vitannya! Aksi takdirde ekranda hiçbir şey görüntülenmez.

Başka bir örneğe bakalım:

var a:tamsayı; readln(a)'yı başlat; eğer a=7 ise writeln("Merhaba!"); writeln("Sonuna kadar"); son.

7 sayısını girdiğimizde ekranda ne görebiliriz? - Pobachimo:

Vitannya!
Zutricha'ya kadar

10 sayısını girdiğinizde ekranda ne görüyorsunuz?

Zutricha'ya kadar

Neden öyle? Chomu Zutricha'ya kadar herhangi bir adamın ekranında görüntülenebilir mi? Takım

writeln("Sonuna kadar");

zahmet etme If-Then yapısına

var a:tamsayı; readln(a)'yı başlat; eğer a=7 ise writeln("Merhaba!"); writeln("Sonuna kadar"); / / zihin mavi bir renkle aydınlatılır son.

Rahatsız edici eylemlerin If-Then yapısından önce yer alması için bunu nasıl yapmalı?

Bunu böyle bir isimle düzenlemek lazım operatör kolları: başla ... bitir;

var a:tamsayı; readln(a)'yı başlat;

eğer a=7 ise başlamak writeln("Merhaba!");

Writeln("Doğru noktaya");
son;

son.
Şimdi 10 sayısını girersek ekranda başka bir şey kalmıyor.

Katlanabilir (katlanabilir) zihin

Bazen iyi bir zihnim olduğu oluyor. Bu katlama için mantıksal bağlantılar kullanılır: Ve ya da başka veya.

  • Yakshcho mi vikoristovuyemo Ve, o zaman bütün basit akıllar doğruysa aklın deposu da doğru olacaktır.
  • Yakshcho mi vikoristovuyemo veya, o zaman zihnin deposu doğru olacaktır, eğer basit bir zihin doğru olmayı isterse.

Örneğin:

a>7і A<15 Pascal dili için kaydolun

(a>7) ve (a<15)

tobto. Suçlu zihinleri rahatsız etmek anında çözülecek, böylece zihinlerin deposu doğru olacak

(a=7) veya (a>15)

Zihnin deposu doğru olacaktır çünkü: veya a=7, veya a>17.

Zavdannya:

If-Then yapısını kullanarak girilen üç sayının maksimum ortalamasını bulun.

Karar

var a, b, c:tamsayı; readln(a)'yı başlat; readln(b); readln(c); eğer (a>b) ve (a>c) ise writeln("sayı", a, "maksimum"); eğer (b>a) ve (b>c) ise writeln("sayı", b, "maksimum"); eğer (c>a) ve (c>b) ise writeln("sayı", c, "maksimum"); son.

Povna Umova

Tüm akış şeması şöyle görünür:

IF umova THEN diu_1 ELSE diu_2;

  • Yakşço akıl doğrudur, ardından kelimenin bitiminden sonra gelen eylem Daha sonra.
  • Yakşço umova hibna, ardından kelimenin bitiminden sonra gelen eylem Başka.

Nasıl davranırsınız, nasıl karar verirsiniz, nasıl düşünürsünüz, nasıldır? — Operatör kolları güçlendiriliyor.

eğer Umova Daha sonra başlamak diya; diya;............... son başka başlamak diya; diya; ................ son;

(diğerlerinin önüne nokta koymayın)

Bağımsız bir galip için salon:

  1. Satın alma tutarı eklenir A karbovantsiv. Yakşço A 1000 ruble'den fazla ise %15'lik bir azalma bekleniyor. İndirimli alışverişlerin tutarını veya indirime uygun olmayanlar hakkındaki bilgileri ekranda görüntüleyin.
  2. Görünüm kare ve karedir. Önemi:
    • Bir kareye ne kadar sığabilir?
    • Kaç kare sığabilir?
  3. Önemi, chi bir sayıdır A numaranın tarihi B
  4. Klavyeden girilen sayının (-5;3) aralığında olup olmadığını kontrol edin.
  5. Çift haneli bir sayı verilir. Önemi:
    • chi yeni numara 3'e kadar girin
    • chi yeni numaraya kadar girin A
  6. Bu, kenarları a, b, c ikizkenar olan bir tricupu olduğu anlamına gelir
  7. Üç farklı sayı veriliyor. Önem, aralarında yake (birinci, diğer ve üçüncü)
    • en
    • en az
    • є orta

(liste yakında güncellenecektir)

Çalışmıyor