Sandėlio operatorius. Psichinis operatorius. Išvyniojimo struktūra. Išmanusis operatorius Navishto vikoristuvati išmanusis operatorius

Norint rašyti programas, neužtenka žinoti tik programavimo kalbą. Būtina suprasti ir iki galo suprasti visko, kas parašyta, struktūrą, kad galiausiai viskas veiktų teisingai. Šiandien mes apžvelgsime psichikos operatoriaus sąvoką programoje. Be to, bus naudingos informacijos apie kodo iššifravimą, kurį atlieka operatorius.

Viznachennya.

Be to, mentalinis operatorius yra viso programavimo pagrindas. Ji pati suteikia galimybę įvesti priskirtas komandas. Tiesa, kieno protui reikalinga tiesa arba tiesioginis įsakymas kaip koristuvach.

Galuz zastosuvannya.

Danya zastosovuєtsya dainuojančių protų protams Vikonanny komandoms ar komandoms. Dėl nerimo atsiranda sąstingio epizodų. Tai tiesiogiai suskirstyta į tris pagrindines struktūras, kurios apibrėžia programą.

Psichinis perėjimas.

Psichikos perėjimo operatorius vadovaujasi pasirinkimo principu ir yra tiesiogiai susijęs su proto tiesa. Taigi, kadangi programoje nurodyta nemažai sprendimo variantų, pats operatorius gali pasirinkti, po kurio tiesioginis veiksmas. Sukimas atgal nėra atvirkštinis. Loginės išraiškos teisingumą patikrina proto kodas, reikšmės po žodžio jei. Pats jis dažniausiai vartojamas įvairiomis kalbomis, nurodant pasirinkimo teisingumą. Jei mintyse nurodytas pirmasis elementas netinka raganavimui, tada visus būsimus įrašus tikriname paeiliui, kaskadoje. Šis procesas nėra lengvas, todėl praneškite savo ataskaitai.

Išmaniųjų operatorių formos.

Yra tik trys tokio plano formos. Pažiūrėkime į odos robotą, o tada paprasčiausią operatorių viena ranka. Tai yra if komanda, kuri nurodo kodo pabaigą, tada, po kurios rašomos komandos, kurias reikia nutraukti, ir end, kuri nurodo kodo pabaigą. Kad komanda nueitų visą maršrutą nuo pradžios iki pabaigos, mašina pirmiausia patikrina, kokio tipo mintys priskirtos kodui ir kur jis turėtų eiti, ir pradeda vykdyti kitą komandų dalį, kol mašina pasiekia pabaigą. Intsya , paskirtas galas. Yra surinkėjų, kurie nenurodo pabaigos žodžio, jie kruopščiai užrašo visas komandas, kurios yra unikalios šiam žodžiui. Ši rašymo forma taip pat gali būti vienintelė.

Didesnė sulankstymo galimybė su dviem programavimo galimybėmis. Šis kodas atrodo kaip kitas žingsnis: žodis if, tada kitas žodis, po žodžio tada ir komandos kitai komandai, dabar parašyta komanda else, todėl pirmoji nepateks, o po to viskas baigiasi. Sprendimas – stagnuotis iki programos pabaigos. Jei sugenda pirmosios smegenys, o pirmoji komanda – programa automatiškai nugali kitą. Šis žingsnis yra efektyvesnis nei pirmasis.

Trečias variantas – plėtra, apimanti daugybę protų. Vіn yra rašymas jei iš pasirinktų protų, tai tada ir reikalinga komanda, po kurios dar jei kitas protas, jei pirmas neina ir tada įsakymas sekti kitu protu, kitaip jei ir kitas protas nurodomas iš kito proto komanda.Jei žodžiai tada , galite rašyti, o jei baigiasi visos reikalingos smegenys, korespondentas tiesiog liepia smegenims kitaip, jei nėra išeities iš perpildymo parinkčių ir komanda baigta, po kurios ji uždaroma žodžio pabaiga.

Operatorius nušluoja pliką konstrukciją ir visos jos nubraižomos paeiliui. Vėl pradedame nuo pirmosios komandos.

Ant užpakalio – filmas „Paskalis“.

Norėdami naudoti protingiausią operatorių, vadovaukitės populiariausiu programavimu. Mes galime atleisti ir būti malonūs bet kam. Atsiprašome, jie pažymėti tokiais simboliais kaip =,<, >Ir taip toliau, ir sulankstomasis rašomas, jei a>=y tada op:=Sqr(а-у) else write, kur įvedami nepriimtini rodikliai.

Peremikacho koncepcija.

Peremikach yra grandinės komanda, kuri atitinka parametrų instrukcijas. Tam reikia mažiausiai dviejų kaiščių, o ne pasirinkti tik vieną. Protai nustatytais vyno parametrais ir savarankiškai sumaišo dainos vikoną. Kalbos aktai, naudojant tokius parametrus, gali padaryti analogiją su tekstais. Ši komanda rodoma aukščiau esančiuose aprašymuose, kad būtų galima pasukti visos reikšmės tipą arba ne.

Operatoriaus tobulinimas.

Iš pradžių protinis operatorius veikė kaip komanda, o tai reiškė tolesnį perėjimą prie reikiamo ženklo. Galiojo komanda, kuri pasirodė kaip parinkiklis ir padarė visos perėjimo vertės ir proto sukimąsi. Kai tai buvo padaryta, buvo apskaičiuotas žymos numeris iš sąrašo ir aparatas pradėjo tiesiogiai skaičiuoti priskirtą numerį. Šis dizainas gali būti naudojamas panašiai, pavyzdžiui, BASIC ir Fortran. Nepriklausomai nuo tų, kurie skaičiavimams jau naudoja kitokią konstrukciją, ji vis tiek veiksminga.

Dabartinis psichikos operatoriaus rašymo modelis yra sulankstytas iš anksto ir, žinoma, šiek tiek trivialus skaičiavimo valandą. Yra nuoseklus komandų masyvo įterpimas su reikalingais adresais. Siautulingas perėjimas nuo vieno prie kito užtikrins pažymių reikšmių skaičiaus skaičiavimo valandos nepriklausomybę.

Peremikach dabartinėmis kalbomis taip pat gali būti naudojamas kaip perėjimo lentelė. Sukuriama komandų lentelė, skirta mašinai perkelti į nurodytus fragmentus. Komanda rašoma raidėmis arba swithc, o kai kuriais atvejais abu yra iš karto.

Protinių išraiškų skaičiavimo logika.

Loginio supratimo antplūdį suteikia logika, priima oda su simptomais. Tiesiogiai matosi du – lauke ir lauke. Pirmiausia peržiūrėkite visus nustatymus ir parametrus. Kitu atveju atsižvelgiama į visus parametrus, o „true“ žymėjimas rodo kitą komandą. Dirba su ABO.

"šakutė".
Aš susinervinu Tai vadinama algoritmu, kuriame pasirenkamas vienas iš daugelio galimų skaičiavimo proceso variantų. Odinis takas vadinamas protingas algoritmas.

Algoritmas žino, kas vyksta, yra smegenų apvertimo operacija. Dažniausias būdas išbandyti protą yra naudoti mentalinį operatorių, jei.

jei galite pasirinkti pilnos arba nelygios šakutės formą.

Nelygios šakės metu Umova tiesa, tada Bloko veikimas1 vykonuetsya, yakscho Umova tada hibno Bloko veikimas1 nedvejok.

Vėl yra šakės Umova tiesa, tada susitarta Bloko veikimas1 , kitaip tai baigiasi Blokavimo operacijos2 .

Bloko veikimas galima sujungti viena operacija. Šiuo atveju formuotų arkų, kurios riboja bloką, buvimas nėra privalomas.

Užpakalis ant C:

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


#įtraukti
int main ()
{
int k; // Aš visą laiką tai sakysiu k
printf("k="); // Rodo pranešimą
scanf("%d", &k); // įveskite reikšmę k
jei (k >= 5) // jei k>5
printf("%d >= 5", k); // Rodyti "VERTĖS > = 5"
kitaip // kitaip
printf ("%d< 5" , k); // rodyti "VALUE"< 5"
getchar (); getchar ();
grąžinti 0;
}


Vikonanny rezultatas

Jei teiginys gali būti įdėtas.

Užpakalis ant C:

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

#define _CRT_SECURE_NO_WARNINGS // galimam naudojimui scanf
#įtraukti
#įtraukti
int main() (
int raktas;
system ("chcp 1251");
system("cls"); // Išvalykite konsolės langą
printf();
scanf("%d", &key);
if (raktas == 1) // kur klavišas = 1
printf( "\nVibrano pirmasis elementas"); // Rodo pranešimą
kitaip jei (raktas == 2) // kitu atveju raktas = 2
printf( "\nPasirinktas kitas elementas"); // Rodo pranešimą
kitaip // kitaip
printf(); // Rodo pranešimą
getchar (); getchar ();
grąžinti 0;
}

Vikonanny rezultatas





Kai įdėta if sakinio forma pašalinama, parinktis else susieja su likusiu if sakiniu. Kai jums reikia susieti parinktį else su pirmaujančiu if teiginiu, vidinis mentalinis teiginys pasirodo garbanotose rankose:

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

#define _CRT_SECURE_NO_WARNINGS // galimam naudojimui scanf
#įtraukti
#įtraukti // Vikoristano funkcijų sistemai
int main() (
int raktas; // įgarsinkite visą klavišą
system ("chcp 1251"); // Eikite į rusišką pultą
system("cls"); // Išvalykite konsolės langą
printf( "Įveskite prekės numerį, 1 arba 2:");
scanf("%d", &key); // Įveskite keitimo klavišo reikšmę
if (raktas != 1) ( // jei raktas nelygus 1
if (raktas == 2) // nes raktas yra senesnis nei 2
printf( "\nPasirinktas kitas elementas"); // Informacijos santrauka
} // jei raktas nėra 1 ir ne 2, tada nieko nebus rodoma
Kitas // kitu atveju, nes raktas yra senesnis nei 1
printf( "\nVibrano pirmasis elementas"); // Informacijos santrauka
getchar (); getchar ();
grąžinti 0;
}


Vikonanny rezultatas





Trejetos operacijos

Trejeta psichinė operacija Jis turi 3 argumentus ir sukasi savo kitą bei trečią operandą, priklausomai nuo pirmojo operando nurodytos loginės išraiškos reikšmės. Trinarės operacijos kalbos sintaksė

Umova? Viraz1: Viraz2;


Ką tai reiškia? Umova, tada trejopas veiksmas sukasi Viraz1, kitu atveju - Viraz2 .

Trinarės operacijos, kaip ir mintys, gali būti įdėtos. Įdėjimo operacijoms naudojamos apvalios rankos.

Iš pirmo žvilgsnio galite pateikti geresnį trijų dalių operacijų pavyzdį

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

#define _CRT_SECURE_NO_WARNINGS // galimam naudojimui scanf
#įtraukti
#įtraukti // Vikoristano funkcijų sistemai
int main() (
int raktas; // įgarsinkite visą klavišą
system ("chcp 1251"); // Eikite į rusišką pultą
system("cls"); // Išvalykite konsolės langą
printf( "Įveskite prekės numerį, 1 arba 2:");
scanf("%d", &key); // Įveskite keitimo klavišo reikšmę
raktas == 1? printf( "\nVibrano pirmasis elementas") :
(raktas == 2? printf( "\nPasirinktas kitas elementas") :
printf( "\nPirmieji ir kiti elementai nepasirinkti"));
getchar (); getchar ();
grąžinti 0;
}

Perjungimo operatorius (kelių pasirinkimų operatorius)

Jei sakinys leidžia pasirinkti vieną iš dviejų parinkčių. Norėdami pasirinkti vieną iš kelių parinkčių, turite naudoti teiginį if. Naudodami šį metodą galite naudoti jungiklio operatorių.

Registracijos forma

jungiklis (Tsiliy Viraz)
{
atvejis Constant1: Block Operation1;
pertrauka;
atvejis Constant2: Block Operation2;
pertrauka;
. . .
atvejis Constant: Blokavimo veikimas;
pertrauka;
numatytasis: apdorojimo operacijų blokas;
pertrauka;
}

Jungiklio operatorius parašytas taip:

  • būti apskaičiuotas TsiliyViraz prie jungiklio pareiškimo rankų;
  • Pašalinus, vertės sulygiuotos su ženklais ( Konstantos ) atvejo pasirinkimuose lygiavimas atliekamas tol, kol randama žyma, atitinkanti apskaičiuotą sveikojo skaičiaus viruso reikšmę;
  • sutinka Bloko veikimas dėklas;
  • Jei atitinkamas ženklas nerastas, jis rodomas Skalbimo operacijų blokas aprašymai numatytoje parinktyje.

Numatytoji alternatyva gali būti kasdien, todėl jums nereikės švaistyti savo kasdienės veiklos.
Pasirinkimo pertrauka; Veikia išeiti iš jungiklio teiginio ir pereiti prie operatoriaus, kuris jį seka. Pertraukos parinktis apims visus teiginius, pradedant nuo pažymėto šia etikete ir baigiant numatytuoju parinkties sakiniu.

Konstantos tuo atveju, kai parinktys gali būti sveikųjų skaičių (jie gali būti simboliai).

Protingi operatoriai Leidžia pasirinkti, kaip redaguoti šias ir kitas programos dalis, priklausomai nuo jūsų proto. Jei, pavyzdžiui, programa naudoja kalbos kintamuosius x ir z, o kiekviename užduoties etape reikia skaičiuoti z=max(x, y), tai rezultatas bus arba priskyrimo operatoriaus z:= rezultatas. x arba priskyrimo operatorius z :=y. Likusios kintamųjų x ir y reikšmės anksčiau nežinomos, tačiau nustatomos skaičiavimo metu, tada programa turi perduoti pažeidimą priskyrimo operatoriui. Tačiau vienas iš jų gali baigtis. Todėl programoje bus pastaba apie tuos, kuriais priskyrimui reikia pasirinkti kitą operatorių.

Ši išraiška gali būti natūraliai suformuluota naudojant užburtą santykį x>y. Kadangi šis ryšys galioja tikslioms x ir y reikšmėms (pasiima reikšmę true), skaičiavimui reikia pasirinkti operatorių z:=x. Kitu atveju reikia pasirinkti operatorių z:=y (x=y, kuris yra tas pats operatorius, todėl pasirinkus operatorių z:=y šiuo atveju bus gautas teisingas rezultatas).

Norint sukurti panašaus tipo skaičiavimo procesus, apie kuriuos kalbama, yra programavimas šia kalba išmanieji operatoriai. Pažiūrėkime dar kartą smegenų operatorius Paskalis:

jeigu B tada S1 Kitas S2

Čia jeigu(yakscho), tada(tie) i Kitas(kitaip) tarnybiniais žodžiais, U– Logiškesnė išraiška, bet S1і S2- Operatoriai.

Tokio mentalinio operatoriaus formulė Paskalyje redukuojama iki vieno iš operatorių S1 arba S2 simbolio, kuris įtraukiamas prieš kitą: jei jis nurodytas proto operatoriuje, jis sujungiamas (loginė išraiška B paima reikšmę true), tada operatorius S1 sujungiamas, o kitu atveju operatorius S2 sujungiamas.

Pagrindinės z = max(x, y) skaičiavimo užduoties sprendimo algoritmas gali būti nurodytas formoje Paskalio protinis operatorius

jeigu x>y tada z:= x Kitas z:=y

Formuluojant algoritmus net yra tipiška situacija, kad jei pirmajame skaičiavimo proceso etape reikia keisti tik protą, o jei tas protas nesikeičia, tai šiame etape nebūtina Arba mesti kiekvieną dieną. Paprasčiausias tokios situacijos pavyzdys yra pakeisti kintamojo srauto reikšmę absoliučia šios reikšmės verte: x<0, то необходимо выполнить оператор присваивания x:= - x; если же x>=0, tada tiksliai x reikšmė gali būti prarasta be pakeitimų, tada. Šiame etape nereikia užbaigti jokių veiksmų.

Tokiose situacijose mentalinio operatoriaus rašymo Pascal forma sutrumpinama ranka:

jeigu B tada S

Vikonanny sutrumpėjusiųjų taisyklė Paskalio protinis operatorius tai akivaizdu: yakscho loginės išraiškos reikšmė teisinga, Tai operatorius S yra sujungtas; V kitaip Kitų veiksmų nėra.

Jūs programuojate Pascalį mentaliniame operatoriuje tarp tadaі Kitas, ir taip pat po Kitas Už sintaksės gali būti bent vienas operatorius. Jei turint nurodytą (ar nesusitartą) protą, reikia nustatyti veiksmų seką, juos reikia sujungti į vieną sandėlio operatorių, tada. sutvarkykite šią veiksmų seką prie operatoriaus lanko pradžia... pabaiga (tai yra svarbu!). Pavyzdžiui, ties x< y надо поменять местами значения этих переменных, то smegenų operatorius bus užrašytas būsimose Pascali apeigose:

jeigu x tada pradėti r:=x; x:=y; y:=r pabaiga

Sutrumpintos formos buvimas Paskalio protinis operatorius Nepaprastosios padėties metu reikia būti labai atsargiems. Pavyzdžiui, išmanusis operatorius

jeigu B1 tada jeigu B2 tada S1 Kitas S2

leidžia, matyt, dvi skirtingas interpretacijas:

  • jakas Paskalio naujasis mentalinis operatorius protas

jeigu B1 tada pradėkite
jeigu B2 tada S1 galas
Kitas S2

  • jakas Paskalio stenografijos operatorius protas

jeigu B1 tada pradėkite
jeigu B2 tada S1 Kitas S2 galas

Už Paskalio taisyklių slypi kitas aiškinimas. gerbk odos žodį Kitas primena pirmąjį žodį tada. Dėl galimų pjūvių ir nesusipratimų unikalumo visais tokiais atvejais rekomenduojama aiškiai matyti banano formą Paskalio protinis operatorius būdas paimti lankus operatoriaus kambaryje.

Paskalio pasirinkimo operatorius

Paskalio pasirinkimo operatorius Leidžia pasirinkti vieną iš daugelio galimų tęstinių programų. Parametras, turintis įtakos pasirinkimui, yra raktas į pasirinkimą – bet kokio eilės tipo.

Pascali pasirinkimo operatoriaus struktūra yra tokia:

Byla<ключ_выбора>apie
<список_выбора>
galas

Čia byla, kita, pabaiga– rezervuoti žodžiai (vypadok, kitaip, pabaiga);

  • <ключ_выбора>- Viraz eilės tipo;
  • <список_выбора>- vienas ar daugiau dizaino tipų:
    • <константа_выбора>: <оператор>;
  • <константа_выбора>- to paties tipo konstanta kaip viraz
    • <ключ_выбора>;

<операторы>- Daugiau Paskalio operatorių.

Paskalio pasirinkimo operatorius veikia tokiu būdu. Viruso vertė skaičiuojama nuo pat pradžių<ключ_выбора>, o tada iš eilės<список_выбора>Raskite konstantą, lygią apskaičiuotai vertei. Parenkamas operatorius, kuris seka rastą konstantą, po to pasirinktas operatorius užbaigia darbą. Jei pasirinkimo sąraše nėra konstantos, atitinkančios apskaičiuotą pasirinkimo klavišo reikšmę, reikšmė perduodama operatoriams, kurie seka po žodžio else. Kita dalis<оператор_иначе>galima praleisti, tada, kadangi sąraše nėra nieko, kaip pasirinkti reikiamą konstantą, nėra nieko bendro su reikiamų veiksmų parinkimu, o pasirinkimo operatorius tiesiog baigia savo darbą.

Pavyzdžiui, sukurkime programą, kuri ekrane parodytų metų dienos skaičių:

Užpakalio programa iš Wikoristanny Case of

Programa dni_nedeli;
Var n: baitas;
Pradėkite
Readln(n);
Byla n iš
1: writeln("pirmadienis");
2: writeln("antradienis");
3: writeln("vidurinis");
4: writeln("keturi");
5: writeln("penktadienis");
6: writeln("šeštadienis");
7: writeln("savaitė");
Kitas writeln("diena su numeriu", n,"nі");
  galas;
galas.

Atminkite, kad visos pasirinkimo sąrašo konstantos gali skirtis.

Bet kuriam operatoriui pasirinkimo sąraše gali būti priskirta ne viena, o daug pasirinkimo konstantų, atskirtų kableliais. Pavyzdžiui, programa paleidžiama įvedus vieną iš simbolių „y“ arba „Y“, ekrane pasirodo „So“, o įvedus „n“ arba „N“ – žodis „Ni“.

Programų su vikoristanny pavyzdys su daugybe pakeitimų

Var ch: char;
Pradėkite
Readln(ch);
Byla ch of
N, n: writeln("Taigi");
Y, y: writeln("Ні");
Galas;
Galas.

Akivaizdu, kad daugumą svarstomų programų galima užrašyti papildomais įvestimis arba nuosekliai išplėstais mentaliniais operatoriais, tačiau atliekant panašias užduotis operatoriaus pasirinkimas yra paprastesnis. Pagrindinė mentalinio operatoriaus svarba prieš atrankos operatorių slypi tame, kad psichikos operatoriuje protai tikrinami po vieną, o rakto reikšmės pasirinkimo operatoriuje pasirinkimas tiesiogiai reiškia vieną iš galimybių.

Laboratorinis robotas

Tema: " Proto operatorius jeigu - Kitas "


1. Numatyta sintaksė

Proto if-else operatorius tiesiogiai aptarnauja programų robotų pasirinkimą, remiantis protais, kurie buvo suformuoti šiuo metu programose.

Įprasta psichikos operatoriaus įrašymo forma

jeigu ( <условие>)

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

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

Jakščas Vikonanny laikais<условие>Tiesa, programa perduoda valdymą<блоку операторов 1>ir suteikė pirmajam operatoriui if-else konstrukciją tarp ribų. Su šiuo<блок операторов 2>nedvejok. Kitaip, šiaip<условие>hybno, vikonivatsya<блок операторов 2>, A<блок операторов 1>praleistas. Aukšto lygio blokinė schema


Tam, kad tekste būtų matomi 1 ir 2 blokai, naudojamos if-else sakinio sintaksėje esančių šakų formos. Pabandykite išplėsti ranką, kuri užsidaro ir atsidaro, kad programos kodas būtų lengviau skaitomas. Norėdami pažymėti tekstą garbanotų rankų viduryje, reikia perkelti dešinę ranką į kulno padėtį.

Tiesą sakant, if-else teiginiuose gali būti keletas loginių išraiškų, kurios sukuria reikšmes „true“ arba „false“ (true – false). Žemiau yra lentelė su paprasčiausių sveikųjų ir aktyvių skaičių išlyginimo operacijų reikšme

užpakalis 1. Būtina parašyti programą, kuri paverstų temperatūrą Celsijaus skalėje TC (°C) į temperatūrą pagal Kelvino skalę T K (K). T C reikšmes vartotojas įveda iš klaviatūros.

Sprendimas. Vikoristo transformacijos formulė yra T K = T C - T 0 de T 0 = -273 ° C - absoliutaus nulio temperatūra. Įvestas T C yra neteisingas, nes yra mažesnis nei T 0 .

// – Kelvinai Celsijaus –

#įtraukti // srautiniam I/O perdavimui

#įtraukti // konsolės I/O (gauti)

#pragma argsused

floatT0 = -273; // Įgarsintas ir inicijuotas T0

floatTc, Tk; // garsi kalba Tc ir Tk

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

cin>>Tc; // Parduodama Tc

jeigu ( Tc < T 0) // patikrink protą Tc

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

} // pranešimų ekranas apie įspėjimą

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

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

getch(); // Apkarpykite, kol bus paspaustas klavišas

grąžinti 0; // Užbaikite programą

Įveskite šį kodą, sukompiliuokite jį ir paleiskite programą savo paskyroje. Sekite darbo rezultatus su skirtingomis T C reikšmėmis.

2. Trumpesnės įrašymo parinktys

Užprogramavus kasdien pasitaiko situacija, kai susiformavusiose mintyse reikia veikti (pvz., iš banko buhalterio pašalinus neteisingus išvesties duomenis, tada matosi pranešimai apie taisymo ir išėjimo programas). Kartais C++ programose gali būti proto operatoriaus nuorodos įrašas su else bloku. Formali tokio įrašo forma yra

jeigu ( <условие>)

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

Čia, pasiekus proto tiesą, gydymas perkeliamas į operatorių bloką ties garbanotomis rankomis. Kai protas minkštas, blokas praleidžiamas. Ši blokinė schema yra padalinta į priekinę vienos „rankos“ dalį


Kitas variantas greitai įstrigs, jei kurį nors iš if arba else blokų sudaro tik vienas operatorius. Šis tipas leidžia neturėti formos svirties, kurios apribotų bloką.

jeigu ( <условие>)

operatorius 1;

operatorius 2;

Čia 1 ir 2 operatoriai gali būti ne tik paprastos vienos eilutės aritmetinės operacijos, bet ir įvesties-išvesties operatoriai, bet ir sudėtingos kelių eilučių konstrukcijos, pavyzdžiui, kiti (įdėtieji) operatoriai arba kilpos operatoriai, kurie bus aptarti toliau. ką?

3. Įdėti operatoriai

Proto operatoriai gali būti investuojami vienas į vieną, atsižvelgiant į jų įdiegtą programinės įrangos algoritmą. Leidžiamas pakankamas jų „investicijų“ lygis.

Jei vienas if-else teiginys įdėtas į kitą, pirmasis sakinys įtraukiamas į kitą Aš paaiškinsiu, ir ne tik jei ar kitaip. Dažnas gretimų blokų persidengimas yra nepriimtinas.

Aukščiau pateiktoje programoje yra vienas iš operatorių (rodomas paryškintu šriftu), kuris prisideda prie kitos. Įrašas B) Atleiskime už tai, kad vidinio operatoriaus else blokas dažnai sutampa su išorinio operatoriaus if ir else blokais.

užpakalis 2. Koristuvach klaviatūra įveskite tris sveikuosius skaičius a, b, c. Būtina ekrane rodyti kuo daugiau skaičių.

Sprendimas. Vienas iš galimų algoritmų didžiausiam rodmenų nustatymui kitoje blokinėje diagramoje.


Schema gali būti įdiegta programiškai, naudojant papildomus if-else teiginius

// - Pasirinkite didžiausią iš 3 skaičių -

#įtraukti

#įtraukti

#pragma argsused

int main (int argc, char* argv)

plūduriuoti a, b, c; // Skelbiame tris pakeitimus

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

cout<< «Vvedite b –»;

cout<< «Vvedite c –»;

if (a>b) // if a > b

if (a> c) // if a> c

cout<<» max = «<

kitaip // kitaip, tada. yakscho a<= с

cout<<» max = «<

kitaip // kitaip, tada. yakscho a<= b

if (b>c) // if b > c

cout<<» max = «<

kitaip // kitaip, tada. Yakscho b<= а

cout<<» max = «<

getch(); // Džiovinimas, kol paspaudžiamas bet kuris klavišas

Nubraižykite jo algoritmo ir programinės įrangos diegimo blokinę schemą. Modifikuokite algoritmą ir programos kodą, kad surastumėte mažiausią iš trijų skaičių.

4. Sandėlio logika

Jei-else teiginio mentalitetas gali būti išreikštas kaip paprastas dviejų skaitinių reikšmių išlyginimas. Pavyzdžiui, net išsiplėtę protai, kurie matematikoje parašyti „a“ forma.< b < c». Запись означает, что значение b лежит в диапазоне между значениями a и c. В программе такие условия должны быть переформулированы с использованием простых операций сравнения и логических операций «И», «ИЛИ», «НЕ»

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

jeigu

užpakalis 3. Tuščioje šaškių lentoje yra baltas pėstininkas (n, m), o juodas vyskupas (k, l). Čia pirmoji koordinatė yra žaidimo etapo numeris, kita – eilutės numeris (ji keisis intervale nuo 1 iki 8). Įvertinkite esamą situaciją naudodami iki trijų variantų

Pishak puolamas,

Dramblys puolamas,

Dramblys ir lydeka turi bėdų.

Sprendimas. Prisiminkime, kad pėstininkas gali atakuoti dvi arčiausiai savęs esančias pozicijas įstrižai į priekį, o vyskupas įstrižais puola priešinga kryptimi. Žvaigždės gali suformuluoti savo mintis

· "((k = n+1) ABO (k = n-1)) I (l = m+1)" - vyskupo puolimas,

· „(k+l = n+m) ABO (k-l = n-m)“ – vyskupo puolimas prieš pėstininką,

· skirtingos benamių figūros.

// - Šacho kompozicija -

#įtraukti

#įtraukti

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)) // puola vyskupą

cout<

if((k+l==n+m)||(k-l==n-m)) // užpultas pėstininkas

cout<

kitaip // jokio puolimo

cout<

Mes ir toliau naudojame Pascal programavimo kalbą. Pažvelkime į algoritminį dizainą, kaip jis veikia umova (rozgalužennya). Straipsnis skirtas pradedantiesiems programuotojams, taip pat informatikos skaitytojams. Ši statistika padės sustiprinti savo žinias ir pasitikrinti.

Tokiose situacijose pasirenkamas algoritminis proto dizainas, jei susiduriame su pasirinkimu: daryti taip ar kitaip.

Umova strėlės:

  1. Nepovnė
  2. Povne

Nepovna Umova

Nenatūralaus proto blokinė schema atrodo taip:

Nepovna Umova

YAKSCHO TAD MANAISK, TAI TEISINGA VIKONAYA DIYA, kitaip NIEKO MATYTI

Paskalio kalba algoritminis dizainas atrodo taip:

JEI protas TAI veiksmas;

Kaip manote, po ko verta? JEI nuoširdžiai TADA.

Kas čia blogo?

Umova yra viraza, kuri gali būti tiesa arba klaidinga. Umova privalo naudoti loginius operatorius <, >, =, <=, >=, <>(nesusijęs).

Pavyzdžiui:

if a=7 then writeln("Sveiki!"); galas.

Įvedus pakeitimo vertę a vienas 7 , tada ekrane pamatysime žodį Vitanija! Jei taip nėra, ekrane nieko nebus rodoma.

Pažvelkime į kitą pavyzdį:

var a:integer; pradėti skaityti (a); if a=7 then writeln("Sveiki!"); writeln("Iki galo"); galas.

Ką galime pamatyti ekrane, kai įvedame skaičių 7? Pobachimo:

Vitanija!
Iki zustrichos

Ką galite pamatyti ekrane, kai įvedate skaičių 10?

Iki zustrichos

Kodėl taip? Chomu Iki zustrikos būti rodomas kurio nors vaikino ekrane? Komanda

writeln("Iki galo");

nesivarginkį „Jei-Tada“ konstrukciją

var a:integer; pradėti skaityti (a); if a=7 then writeln("Sveiki!"); writeln("Iki galo"); / / protas nušvinta mėlyna spalva galas.

Kaip tai padaryti, kad įžeidžiantys veiksmai būtų prieš „Jei-Tada“ struktūrą?

Būtina tai sutvarkyti tokiu pavadinimu operatoriaus rankos: pradėti ... pabaiga;

var a:integer; pradėti skaityti (a);

jei a = 7 tada pradėti writeln("Sveiki!");

Writeln("Iki taško");
galas;

galas.
Dabar, jei įvesime skaičių 10, ekrane daugiau nieko nėra.

Sulankstomas (sulankstomas) protas

Kartais nutinka taip, kad turiu gerą protą. Šiam lankstymui naudojamos loginės nuorodos: ir arba arba.

  • Yakshcho mi vikoristovuyemo ir, tada proto sandėlis bus tikras, jei visi paprasti protai yra tikri.
  • Yakshcho mi vikoristovuyemo arba, tada proto sandėlis bus tikras, jei tik paprastas protas norės būti tikras.

Pavyzdžiui:

a>7і a<15 Užsiregistruok kalbos pascal

(a>7) ir (a<15)

tobto. kaltų protų įžeidimas bus išspręstas akimirksniu, kad protų sandėlis būtų tikras

(a=7) arba (a>15)

Proto sandėlis bus tikras, nes: arba a=7, arba a>17.

Zavdannya:

Naudodami konstrukciją Jei-Tada raskite didžiausią trijų įvestų skaičių vidurkį.

Sprendimas

var a, b, c:integer; pradėti skaityti (a); readln(b); readln(c); jei (a>b) ir (a>c) tada writeln("skaičius", a, "maksimalus"); jei (b>a) ir (b>c) tada writeln("skaičius", b, "maksimalus"); if (c>a) ir (c>b) then writeln("skaičius", c, "maksimalus"); galas.

Povna Umova

Visa schema atrodo taip:

JEI umova TAD diu_1 ELSE diu_2;

  • Jakščas protas tikras, tada veiksmas, esantis po žodžio, baigiasi Tada.
  • Jakščas umova hibna, tada veiksmas, esantis po žodžio, baigiasi Kitas.

Kaip elgiesi, kaip apsisprendi, kaip apie tai galvoji, kaip tai yra? — Operatoriaus rankos aplenktos.

jeigu Umova tada pradėti diya; diya;............... galas Kitas pradėti diya; diya; ................ galas;

(nedėkite taško prieš kitą)

Salė nepriklausomam nugalėtojui:

  1. Pirkimo suma sumuojama A karbovantsiv. Jakščas A daugiau nei 1000 rublių, tada tikimasi 15% sumažinimo. Ekrane rodyti pirkinių su nuolaida sumą arba informaciją apie tuos, kuriems nuolaida netaikoma.
  2. Tai atrodo kaip kvadratinis kuolas ir kvadratas. Reikšmė:
    • Kiek telpa kvadrate?
    • Kiek kvadratų telpa?
  3. Reikšmė, chi yra skaičius A numerio data b
  4. Patikrinkite, ar klaviatūra įvestas skaičius yra intervale (-5;3).
  5. Pateikiamas dviženklis skaičius. Reikšmė:
    • chi įveskite iki naujo skaičiaus 3
    • chi įveskite iki naujo numerio A
  6. Reiškia, tai trikampis, kurio kraštinės a, b, c lygiašoniai
  7. Pateikiami trys skirtingi skaičiai. Reikšmė, jakas tarp jų (pirmas, kitas ir trečias)
    • dauguma
    • mažiausiai
    • ir vidurys

(sąrašas netrukus bus atnaujintas)

Neveikia