Skladištar. Mentalni operater. Struktura odvijanja. Pametni operater Navishto koristiti pametnog operatera

Za pisanje programa nije dovoljno poznavati samo programski jezik. Potrebno je razumjeti i u potpunosti razumjeti strukturu svega napisanog kako bi sve na kraju funkcioniralo ispravno. Danas ćemo pogledati koncept mentalnog operatora u programu. Osim toga, bit će korisne informacije o dešifriranju koda za koje operater radi.

Viznachennya.

Također, mentalni operator je osnova dizajna cjelokupnog programiranja. Sama po sebi daje mogućnost ulaska u dodijeljene naredbe. Istina, za čije umove je istina potrebna ili je izravna zapovijed poput koristuvača.

Galuz zastosuvannya.

Danya zastosovuêtsya za umove pjevačkih umova za Vikonanny timove ili timove. Postoje epizode stagnacije zbog nelagode. Ovo je izravno podijeljeno u tri glavne strukture koje definiraju program.

Mentalna tranzicija.

Operator mentalnog prijelaza slijedi načelo izbora i izravno je povezan s istinom uma. Dakle, budući da je u programu navedeno nekoliko opcija rješenja, sam operater može odabrati, nakon čega će izravno djelovati. Okretanje natrag nije obrnuto. Istinitost logičkog izraza provjerava se prisutnošću kodeksa umova, značenja iza riječi ako. Sam se najčešće koristi u raznim jezicima, što ukazuje na ispravnost izbora. Ako je prva stavka naznačena u umu da nije prikladna za čarobnjaštvo, tada provjeravamo sve nadolazeće unose redom, u kaskadi. Ovaj proces nije jednostavan, pa vas molimo da navedete svoje izvješće.

Oblici pametnih operatora.

Postoje samo tri oblika takvog plana. Pogledajmo skin's robota, a zatim najjednostavniji operater s jednom rukom. Ovo je naredba if, koja označava kraj koda, then then, nakon koje se ispisuju naredbe koje treba prekinuti, i end, koja označava kraj koda. Tako da tim prolazi kroz cijelu rutu od početka do kraja, stroj prvo provjerava vrstu umova dodijeljenih kodu i kamo treba ići, te počinje slijediti sljedeći dio naredbi dok stroj ne dođe do kraja. Intsya , naznačen kraj. Postoje asembleri koji ne navode kraj riječi, oni pažljivo zapisuju sve naredbe koje su jedinstvene za riječ. Ovaj oblik pisanja može biti i jedini dostupan.

Veća mogućnost sklapanja, s dvije mogućnosti programiranja. Ovaj kod izgleda kao sljedeći korak: riječ if, pa sljedeća riječ, nakon riječi then i naredba za sljedeću naredbu, sada se piše else naredba, pa prva neće ići, a nakon toga sve završi. Odluka je stagnirati do kraja programa. Ako prvi mozak zakaže i prvi tim zakaže, program automatski pobjeđuje drugog. Ovaj potez je učinkovitiji od prvog.

Treća opcija je razvoj, koji uključuje više umova. Vín je zapis ako od izabranih umova, onda i potrebna zapovijed, nakon čega inače ako drugi um, ako prvi ne ide i onda se ukazuje zapovijed slijediti drugi um, inače ako i drugi um. naredba uma. Ako su riječi then , možete pisati, a ako svi potrebni mozgovi završe, dopisnik jednostavno naredi else s mozgom, ako nema izlaza iz opcija prekoračenja i naredba je gotova, nakon čega se zatvara s riječ kraj.

Operater briše golu strukturu i svi se redom izvlače. Opet počinje s prvom momčadi.

Na stražnjici je film "Pascal".

Da biste koristili najpametnijeg operatora, slijedite najpopularnije programiranje. Možemo oprostiti i biti dobri prema svakome. Nažalost, označeni su simbolima kao što su =,<, >I tako dalje, a sklopivi se piše if a>=y then op:=Sqr(a-u) else write, gdje se unose neprihvatljivi pokazatelji.

Peremikach koncept.

Peremikach je lančana naredba koja slijedi upute parametara. Zahtijeva najmanje dvije igle, umjesto odabira samo jedne. Umovi u propisanim parametrima vina i samostalno miješaju viconn pjesme. Jezični činovi, koristeći takve parametre, mogu povući analogiju s tekstovima. Ova se naredba pojavljuje u gornjim opisima kako bi se rotirala vrsta cijele vrijednosti ili ne.

Razvoj operatera.

U početku je mentalni operator djelovao kao naredba, što je značilo daljnji prijelaz na traženu oznaku. Naredba je bila važeća, koja se pojavila kao selektor i napravila rotaciju cijele vrijednosti i uma prijelaza. Kada je to učinjeno, broj oznake s popisa je izračunat, a stroj je počeo izravno izračunavati dodijeljeni broj. Ovaj dizajn se može koristiti na sličan način, na primjer, u BASIC-u i Fortran-u. Bez obzira na one koji već koriste drugačiju konstrukciju za izračun, ona je i dalje učinkovita.

Trenutačni model pisanja mentalnog operatora je unaprijed presavijen i, očito, pomalo trivijalan u času računanja. Postoji sekvencijalno umetanje niza naredbi s potrebnim adresama. Bjesomučan prijelaz s jedne na drugu osigurat će neovisnost sata izračunavanja broja vrijednosti bodova.

Peremikach u trenutnim jezicima također se može koristiti kao prijelazna tablica. Stvorena je tablica naredbi za premještanje stroja na određene fragmente. Naredba se piše case ili swithc, au nekim slučajevima oboje odjednom.

Logika izračunavanja mentalnih izraza.

Priliv logičnog razumijevanja daje logika, prihvaća koža sa simptomima. Možete vidjeti dva izravno - izvana i izvana. Prvo, nakon toga izvršite pregled svih postavki i parametara. U suprotnom, svi parametri se uzimaju u obzir, a oznaka "true" označava sljedeću naredbu. Radi s ABO.

"vilica".
Uzrujavam se To se zove algoritam u kojem se odabire jedna od mnogih mogućih opcija za proces izračuna. Put nalik na kožu zove se pametni algoritam.

Algoritam zna što se događa je prisutnost operacije preokreta mozga. Najčešći način testiranja uma je uporaba mentalnog operatora if.

ako možete birati oblik pune ili neravne vilice.

U trenucima neravnih vilica Umova istina, dakle Blokiraj operaciju1 vykonuetsya, yakscho Umova hibno, dakle Blokiraj operaciju1 ne oklijevaj.

Opet su tu vilice Umova istina, onda je dogovoreno Blokiraj operaciju1 , inače završava Blokiranje2 .

Blokiraj rad mogu se kombinirati u jednoj operaciji. U ovom slučaju, prisutnost oblikovanih lukova koji ograničavaju blok nije obavezna.

Gužva na C:

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


#uključi
int main()
{
int k; // Ovo ću stalno govoriti k
printf("k="); // Prikazuje obavijest
scanf("%d", &k); // unesite vrijednost k
ako (k >= 5) // ako je k>5
printf("%d >= 5", k); // Prikaži "VRIJEDNOSTI > = 5"
inače // drugačije
printf("%d< 5" , k); // prikaz "VALUE"< 5"
getchar(); getchar();
povratak 0;
}


Vikonanny rezultat

Naredba if može biti ugniježđena.

Gužva na C:

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

#define _CRT_SECURE_NO_WARNINGS // za moguću upotrebu scanf
#uključi
#uključi
int main() (
int ključ;
sustav("chcp 1251");
sustav("cls"); // Očistite prozor konzole
printf();
scanf("%d", &ključ);
if (ključ == 1) // gdje je ključ = 1
printf( "\nVibrano prva stavka"); // Prikazuje obavijest
else if (ključ == 2) // inače ključ = 2
printf( "\nOdabrana je druga stavka"); // Prikazuje obavijest
inače // drugačije
printf(); // Prikazuje obavijest
getchar(); getchar();
povratak 0;
}

Vikonanny rezultat





Kada se ugniježđeni oblik naredbe if eliminira, opcija else povezuje se s preostalom naredbom if. Kada trebate povezati else opciju s vodećom if naredbom, unutarnja mentalna izjava pojavljuje se na kovrčavim krakovima:

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

#define _CRT_SECURE_NO_WARNINGS // za moguću upotrebu scanf
#uključi
#uključi // Za sustav funkcija vikoristan
int main() (
int ključ; // glas cijeli ključ
sustav("chcp 1251"); // Idite na rusku konzolu
sustav("cls"); // Očistite prozor konzole
printf( "Unesite broj stavke, 1 ili 2: ");
scanf("%d", &ključ); // Unesite vrijednost ključa promjene
if (tipka != 1) ( // ako ključ nije jednak 1
if (ključ == 2) // jer je ključ stariji od 2
printf( "\nOdabrana je druga stavka"); // Sažetak informacija
} // ako ključ nije 1 niti 2, tada se ništa neće prikazati
drugo // inače, budući da je ključ stariji od 1
printf( "\nVibrano prva stavka"); // Sažetak informacija
getchar(); getchar();
povratak 0;
}


Vikonanny rezultat





Ternarne operacije

Ternarna mentalna operacija Uzima 3 argumenta i rotira svoj drugi i treći operand ovisno o vrijednosti logičkog izraza određenog prvim operandom. Sintaksa ternarne operacije u jeziku

Umova? Viraz1: Viraz2;


Što to znači? Umova, tada se trojna operacija rotira Viraz1, u drugom slučaju - Viraz2 .

Ternarne operacije, poput mentalnih operacija, mogu biti ugniježđene. Za operacije umetanja koriste se okrugle ruke.

Uvođenje više opušaka s vikoristanny trojnim operacijama može se podnijeti na mjestu

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

#define _CRT_SECURE_NO_WARNINGS // za moguću upotrebu scanf
#uključi
#uključi // Za sustav funkcija vikoristan
int main() (
int ključ; // glas cijeli ključ
sustav("chcp 1251"); // Idite na rusku konzolu
sustav("cls"); // Očistite prozor konzole
printf( "Unesite broj stavke, 1 ili 2: ");
scanf("%d", &ključ); // Unesite vrijednost ključa promjene
ključ == 1? printf( "\nVibrano prva stavka") :
(ključ == 2 ? printf( "\nOdabrana je druga stavka") :
printf( "\nPrva i ostale stavke nisu odabrane"));
getchar(); getchar();
povratak 0;
}

Operator prebacivanja (operator višestrukog odabira)

Naredba if omogućuje vam odabir između dvije opcije. Kako biste odabrali jednu od nekoliko opcija, morate koristiti naredbu if. Ovom metodom možete koristiti operator switch.

Upisnica

prekidač (Tsiliy Viraz)
{
case Constant1: Block Operation1;
pauza;
case Constant2: Block Operation2;
pauza;
. . .
case Konstanta: Blok rad;
pauza;
zadano: Blok operacija za obradu;
pauza;
}

Operator switch se piše na sljedeći način:

  • biti izračunat TsiliyViraz na krakovima izjave switch;
  • Kada se uklone, vrijednosti su poravnate s oznakama ( Konstante ) u opcijama slučaja, poravnanje se provodi sve dok se ne pronađe oznaka koja odgovara izračunatoj vrijednosti virusa cijelog broja;
  • slaže se Blokiraj rad slučaj;
  • Ako odgovarajuća oznaka nije pronađena, prikazuje se Blok operacija za pranje opise u zadanoj opciji.

Zadana alternativa može biti dnevna, tako da nećete morati gubiti svoje dnevne aktivnosti.
Prijelom opcije; Ono što radi je izlazak iz naredbe switch i pomicanje na operatora koji je slijedi. Opcija break će uključivati ​​sve naredbe počevši od one označene ovom oznakom i završavajući sa zadanom naredbom opcije.

Konstante u opcijama case mogu biti cjelobrojnog tipa (mogu biti simboli).

Pametni operateri Omogućuje vam da odaberete za uređivanje ovih i drugih dijelova programa, ovisno o vašoj želji. Ako, na primjer, program koristi govorne varijable x i z, au svakoj fazi zadatka potrebno je izračunati z=max(x, y), tada će rezultat biti rezultat ili operatora dodjele z:= x ili operatora dodjele z :=y. Preostale vrijednosti varijabli x i y prethodno su nepoznate, ali se određuju tijekom procesa izračuna, tada program mora prenijeti prekršaj operatoru dodjele. Međutim, jedan od njih zapravo može završiti. Stoga će u programu biti napomena o tome u kojem slučaju trebate odabrati drugog operatora za dodjelu.

Ovaj se izraz može prirodno formulirati s pokvarenim odnosom x>y. Budući da ovaj odnos vrijedi za točne vrijednosti x i y (uzima vrijednost true), za izračun se mora odabrati operator z:=x. U drugom slučaju mora se odabrati operator z:=y (za x=y, što je isti operator, pa će izbor operatora z:=y u ovom slučaju dati točan rezultat).

Za stvaranje slične vrste računalnih procesa o kojima se raspravlja, postoji programiranje u jeziku pametni operateri. Pogledajmo ga ponovno operater mozga Pascal:

ako B zatim S1 drugo S2

Ovdje ako(jaksčo), zatim(oni) i drugo(inače) u službenim riječima, U- Logičniji izraz, ali S1і S2- Operateri.

Formula takvog mentalnog operatora u Pascalu svedena je na simbol jednog od operatora S1 ili S2, koji je uključen prije sljedećeg: ako je naveden u operatoru uma, spaja se (logički izraz B uzima vrijednost true), tada se ulančava operator S1, au drugom slučaju ulančava se operator S2.

Algoritam za rješavanje glavnog zadatka izračunavanja z = max(x, y) može se specificirati u obliku Pascalov mentalni operator

ako x>y zatim z:= x drugo z:=y

Kod formuliranja algoritama čak je tipična situacija da ako u prvoj fazi računalnog procesa postoji potreba samo za promjenom mišljenja, a ako se to mišljenje ne mijenja, tada u ovoj fazi nije potrebno Ili odustati od svake dan. Najjednostavniji primjer takve situacije je zamjena vrijednosti protoka varijable apsolutnom vrijednošću ove vrijednosti: x<0, то необходимо выполнить оператор присваивания x:= - x; если же x>=0, tada se točno vrijednost x može izgubiti bez promjena. U ovoj fazi nema potrebe dovršavati nikakve radnje.

U takvim situacijama oblik pisanja mentalnog operatora u Pascalu ručno se skraćuje:

ako B zatim S

Vikonanny pravilo skraćenog Pascalov mentalni operator očito je: yakscho vrijednost logičkog izraza je istinita, Da operator S je spojen; V inače Nema drugih akcija.

Imate programiranje Pascala u mentalnom operatoru između zatimі drugo, a također i nakon drugo Sintaksa može imati barem jedan operator iza sebe. Ako, u slučaju pošiljke (ili nerekonstrukcije) određenog uma, postoji potreba za dekonstrukcijom slijeda radnji, potrebno ih je spojiti u jednog skladišnog operatera. uredite ovaj slijed radnji na pramcu operatera početak...kraj (ovo je važno!). Na primjer, kod x< y надо поменять местами значения этих переменных, то operater mozga bit će zapisano u Pascalijevom nadolazećem obredu:

ako x zatim početak r:=x; x:=y; y:=r kraj

Prisutnost skraćenog oblika Pascalov mentalni operator Zahtijeva veliki oprez u vrijeme nužde. Na primjer, pametni operater

ako B1 zatim ako B2 zatim S1 drugo S2

dopušta, očito, dva različita tumačenja:

  • jak Pascalov novi mentalni operator um

ako B1 onda počnite
ako B2 zatim S1 kraj
drugo S2

  • jak Pascalov skraćeni operator um

ako B1 onda počnite
ako B2 zatim S1 drugo S2 kraj

Postoji još jedno tumačenje iza Pascalovih pravila. poštujte riječ kože drugo sliči prvoj riječi zatim. Radi jedinstvenosti mogućih posjekotina i nesporazuma, preporučuje se jasno vidjeti oblik banane u svim takvim slučajevima Pascalov mentalni operator način da uzmete lukove u operaterovoj sobi.

Pascal operator odabira

Pascal operator odabira Omogućuje odabir jednog od mnogih mogućih kontinuiranih programa. Parametar koji utječe na izbor ključan je za izbor – bilo kojeg ordinalnog tipa.

Struktura Pascalijevog operatora selekcije je sljedeća:

Slučaj<ключ_выбора>od
<список_выбора>
kraj

Ovdje case, of, else, end– rezervirane riječi (vypadok, inače, kraj);

  • <ключ_выбора>- Viraz ordinalnog tipa;
  • <список_выбора>- jednu ili više vrsta dizajna:
    • <константа_выбора>: <оператор>;
  • <константа_выбора>- konstanta istog tipa kao viraz
    • <ключ_выбора>;

<операторы>- Više Pascal operatora.

Pascal operator odabira radi na ovaj način. Vrijednost virusa se računa od početka<ключ_выбора>, a zatim redom<список_выбора>Pronađite konstantu koja je jednaka izračunatoj vrijednosti. Odabire se operator koji slijedi nakon pronađene konstante, nakon čega operator po izboru završava posao. Ako popis za odabir nema konstantu koja odgovara izračunatoj vrijednosti ključa za odabir, vrijednost se prosljeđuje operatorima koji slijede iza riječi else. Drugi dio<оператор_иначе>može se izostaviti, zatim budući da na popisu nema ničega za odabir tražene konstante, nema ništa s odabirom potrebnih radnji, a operator odabira jednostavno dovršava svoj posao.

Na primjer, sastavimo program za prikaz broja dana u godini na ekranu:

Program za stražnjicu iz Wikoristanny Case of

Program dni_nedeli;
Var n: bajt;
Početi
Readln(n);
Slučaj n od
1: writeln("ponedjeljak");
2: writeln("utorak");
3: writeln("sredina");
4: writeln("četiri");
5: writeln("petak");
6: writeln("subota");
7: writeln("tjedan");
drugo writeln("dan ​​s brojem", n,"ní");
  kraj;
kraj.

Imajte na umu da sve konstante na popisu za odabir mogu biti različite.

Bilo kojem operatoru na popisu odabira može se dodijeliti ne jedna, već više konstanti odabira, odvojenih zarezima. Na primjer, program se pokreće kada se unese jedan od znakova “y” ili “Y”, na ekranu se ispiše “So”, a kada se unese “n” ili “N”, ispiše se riječ “Ni”.

Primjer programa s vikoristannym slučajem s mnogo promjena

Var ch: char;
Početi
Readln(ch);
Slučaj ch od
N, n: writeln("Dakle");
Y, y: writeln("Ní");
Kraj;
Kraj.

Očito, većina razmatranih programa može se zapisati s dodatnim inputima ili sukcesivno proširenim mentalnim operatorima, ali u sličnim zadacima izbor operatora je jednostavniji. Glavna važnost mentalnog operatora naspram operatora selekcije leži u činjenici da se kod mentalnog operatora umovi provjeravaju jedan po jedan, a kod operatora odabira vrijednosti ključa izbor izravno označava jednu od mogućnosti.

Laboratorijski robot

Na temu: " Operator uma ako - drugo "


1. Predviđena sintaksa

Operator uma if-else služi izravnom izboru robota programa na temelju umova koji su formirani u ovoj točki programa u sadašnje vrijeme.

Uobičajeni obrazac za snimanje mentalnog operatora

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

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

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

Yakshcho u vrijeme Vikonannyja<условие>Istina, program prenosi kontrolu<блоку операторов 1>i dao prvom operatoru if-else konstrukciju između granica. S ovim<блок операторов 2>ne oklijevaj. Inače, svejedno<условие>hybno, vikonivatsya<блок операторов 2>, A<блок операторов 1>preskočeno. Blok dijagram visoke razine


Oblici krakova u sintaksi naredbe if-else koriste se kako bi u tekstu bili vidljivi blokovi 1 i 2. Pokušajte proširiti krak koji se zatvara i otvara kako biste lakše čitali programski kod. Za označavanje teksta u sredini kovrčavih krakova potrebno je pomaknuti desnu ruku u položaj pete.

Zapravo, u izjavama if-else mogu postojati neki logički izrazi koji proizvode vrijednosti "true" ili "false" (true - false). U nastavku se nalazi tablica sa značenjem najjednostavnijih operacija za izravnavanje cijelih i aktivnih brojeva

guza 1. Potrebno je napisati program za pretvorbu temperature na Celzijevoj ljestvici TC (°C) u temperaturu na Kelvinovoj ljestvici T K (K). Vrijednosti T C unosi korisnik s tipkovnice.

Odluka. Vikoristova formula za transformaciju je T K = T C - T 0 de T 0 = -273 ° C - temperatura apsolutne nule. Uneseni T C nije točan jer je manji od T 0 .

// – Kelvini Celzijusi –

#uključi // za streaming I/O

#uključi // za I/O konzole (getch)

#pragma argsused

floatT0 = -273; // Izražen i inicijaliziran T0

floatTc, Tk; // glasan govor Tc i Tk

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

cin>>Tc; // Pokreće Tc

ako ( Tc < T 0) // provjeriti um Tc

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

} // zaslon obavijesti o štrajku

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

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

dobiti(); // Trim dok se ne pritisne tipka

povratak 0; // Završi program

Upišite sljedeći kod, prevedite ga i pokrenite program na svom računu. Pratite rezultate rada s različitim vrijednostima T C .

2. Mogućnosti kraćeg snimanja

Kada se programira, postoji dnevna situacija kada je potrebna akcija u umovima koji su se formirali (npr. prilikom uklanjanja netočnih izlaznih podataka iz bankovnog računovođe, tada vidite obavijesti o izmjenama i izlaznim programima). Ponekad u C++ programima može postojati unos prečaca za operator uma s blokom else. Formalni oblik takvog upisa je

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

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

Ovdje, kada se dosegne istina uma, tretman se prenosi na blok operatera na kovrčavim rukama. Kad je um mekan, blok se preskače. Ovaj blok dijagram je podijeljen na prednji dio jedne "ruke"


Druga će opcija brzo zapeti ako se bilo koji od blokova if ili else sastoji od samo jednog operatora. Ova vrsta dopušta odsutnost oblikovanih krakova za omeđivanje bloka.

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

operater 1;

operater 2;

Ovdje operatori 1 i 2 mogu biti ne samo jednostavne jednoredne aritmetičke operacije, već i ulazno-izlazni operatori, ali i složene višeredne konstrukcije, na primjer, drugi (ugniježđeni) operatori ili operatori petlje, o kojima će biti riječi u nastavku što?

3. Ugniježđeni operatori

Operatori uma mogu biti uloženi jedan po jedan, ovisno o softverskom algoritmu koji implementiraju. Dopuštena je dovoljna razina njihovog "ulaganja".

Ako je jedna naredba if-else ugniježđena u drugu, prva naredba uključena je u drugu objasnit ću ti, a ne samo if ili else. Često preklapanje susjednih blokova je neprihvatljivo.

Gornja aplikacija ima jedan od operatora (prikazan podebljanim fontom) doprinosa drugom. Unos B) oprostimo onima što se else blok internog operatora često preklapa s if i else blokovima vanjskog operatora.

guza 2. Korisnik s tipkovnice upisuje tri cijela broja a, b, c. Na ekranu je potrebno prikazati što više brojeva.

Odluka. Jedan od mogućih algoritama za najvišu postavku očitanja na sljedećem blok dijagramu.


Shema se može implementirati programski korištenjem dodatnih if-else izjava

// - Odaberite najveći od 3 broja -

#uključi

#uključi

#pragma argsused

int main (int argc, char* argv)

plovak a, b, c; // Najavljujemo tri promjene

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

cout<< «Vvedite b –»;

cout<< «Vvedite c –»;

ako (a>b) // ako je a > b

ako (a> c) // ako je a> c

cout<<» max = «<

inače // inače, onda. yakscho a<= с

cout<<» max = «<

inače // inače, onda. yakscho a<= b

ako (b>c) // ako je b > c

cout<<» max = «<

inače // inače, onda. yakscho b<= а

cout<<» max = «<

dobiti(); // Sušenje dok se ne pritisne bilo koja tipka

Nacrtajte blok dijagram njegovog algoritma i njegove softverske implementacije. Izmijenite algoritam i programski kod kako biste pronašli najmanji od tri broja.

4. Logika skladišta

Mentalitet izjave if-else može se izraziti kao jednostavno izjednačavanje dviju numeričkih vrijednosti. Na primjer, čak i prošireni umovi koji se u matematici pišu u obliku "a"< b < c». Запись означает, что значение b лежит в диапазоне между значениями a и c. В программе такие условия должны быть переформулированы с использованием простых операций сравнения и логических операций «И», «ИЛИ», «НЕ»

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

ako((a

guza 3. Na praznoj šahovskoj ploči nalazi se bijeli pješak u poziciji (n, m), a crni lovac u poziciji (k, l). Ovdje je prva koordinata broj faze igre, druga je broj reda (mijenjat će se u rasponu od 1 do 8). Procijenite trenutnu situaciju koristeći do tri opcije

Pishak je napadnut,

Slon je napadnut,

Slon i štuka su u nevolji.

Odluka. Prisjetimo se da pješak može napadati dvije sebi najbliže pozicije dijagonalno naprijed, a lovac napada napadajući njegove dijagonale u suprotnom smjeru. Zvijezde mogu formulirati svoje umove

· “((k = n+1) ABO (k = n-1)) I (l = m+1)” - napad piša na lovca,

· “(k+l = n+m) ABO (k-l = n-m)” - napad lovca na pješaka,

· različite brojke za beskućnike.

// - Šahov sastav -

#uključi

#uključi

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)) // napada biskupa

cout<

if((k+l==n+m)||(k-l==n-m)) // pješak je napadnut

cout<

inače // nema napada

cout<

Nastavljamo koristiti programski jezik Pascal. Pogledajmo algoritamski dizajn, kako funkcionira umova (rozgaluzhennya). Članak je namijenjen programerima početnicima, kao i čitateljima informatike. Sljedeći statistički podaci pomoći će vam da učvrstite svoje znanje i provjerite sami sebe.

Algoritamski dizajn uma bira se u tim situacijama, ako smo suočeni s izborom: učiniti to ovako ili onako.

Umova grane:

  1. Nepovne
  2. Povne

Nepovna Umova

Blok dijagram neprirodnog uma izgleda ovako:

Nepovna Umova

YAKSCHO ONDA MISLITE DA JE TO TOČNO VIKONAYA DIYA, inače NIŠTA SE NE VIDI

U jeziku Pascal, algoritamski dizajn izgleda ovako:

IF mind THEN action;

Što mislite nakon čega se isplati? AKO uistinu ZATIM.

Što nije u redu s tim?

Umova je virza koja može biti istinita ili lažna. Umova je obavezna koristiti logičke operatore <, >, =, <=, >=, <>(nevezano).

Na primjer:

if a=7 then writeln("Zdravo!"); kraj.

Nakon što je vrijednost promjene unesena a jedan 7 , tada ćemo vidjeti riječ na ekranu Vitannya! Ako to nije slučaj, ništa se neće prikazati na ekranu.

Pogledajmo još jedan primjer:

var a:cijeli broj; započeti čitanje(a); if a=7 then writeln("Zdravo!"); writeln("Do kraja"); kraj.

Što možemo vidjeti na ekranu kada unesemo broj 7? Pobachimo:

Vitannya!
Sve do zustricha

Što možete vidjeti na ekranu kada unesete broj 10?

Sve do zustricha

Zašto? Chomu Sve do zustricha biti prikazan na ekranu bilo kojeg tipa? Tim

writeln("Do kraja");

nemoj se mučiti na If-Then konstrukciju

var a:cijeli broj; započeti čitanje(a); if a=7 then writeln("Zdravo!"); writeln("Do kraja"); / / um je obasjan plavom bojom kraj.

Kako to učiniti tako da uvredljive radnje leže prije strukture If-Then?

To je potrebno složiti s takvim imenom ruke operatera: početi ... kraj;

var a:cijeli broj; započeti čitanje(a);

ako je a=7 tada početi writeln("Zdravo!");

Writeln("Na stvar");
kraj;

kraj.
Sada, ako unesemo broj 10, na ekranu nema više ničega.

Sklopivi (sklopivi) um

Ponekad se dogodi da imam dobru pamet. Za ovo savijanje koriste se logičke veze: i ili drugo ili.

  • Yakshcho mi vikoristovuyemo i, tada će skladište uma biti istinito ako su svi jednostavni umovi istiniti.
  • Yakshcho mi vikoristovuyemo ili, tada će skladište uma biti istinito, kad bi samo jednostavan um htio biti istinit.

Na primjer:

a>7і a<15 Prijavite se za jezični pascal

(a>7) i (a<15)

tobto. vrijeđanje krivih umova bit će riješeno trenutno, tako da je skladište umova istinito

(a=7) ili (a>15)

Skladište uma bit će istina, jer: ili a=7, ili a>17.

Zavdannya:

Koristeći If-Then konstrukciju, pronađite najveći prosjek tri upisana broja.

Odluka

var a, b, c:cijeli broj; započeti čitanje(a); readln(b); readln(c); if (a>b) i (a>c) then writeln("broj", a, "maksimum"); if (b>a) i (b>c) then writeln("broj", b, "maksimum"); if (c>a) i (c>b) then writeln("broj", c, "maksimum"); kraj.

Povna Umova

Cijeli dijagram toka izgleda ovako:

IF umova THEN diu_1 ELSE diu_2;

  • Yakshcho um je istinit, zatim radnja koja stoji iza riječi koja završava Zatim.
  • Yakshcho umova hibna, zatim radnja koja stoji iza riječi koja završava Drugo.

Kako se ponašaš, kako odlučuješ, kako razmišljaš o tome, kako je to? — Ruke operatera se vikoriziraju.

ako Umova zatim početi dija; dija;............... kraj drugo početi dija; dija; ................ kraj;

(ne stavljajte točku ispred drugog)

Dvorana za nezavisnog pobjednika:

  1. Iznos kupnje se zbraja A karbovantsiv. Yakshcho A više od 1000 rubalja, tada se očekuje smanjenje od 15%. Prikažite na ekranu količinu kupnje s popustom ili informacije o onima koje ne ostvaruju pravo na popust.
  2. Pogled je kockast i kockast. Značaj:
    • Koliko može stati u kvadrat?
    • Koliko kvadrata može stati?
  3. Značaj, chi je broj A datum broja b
  4. Provjerite nalazi li se broj upisan s tipkovnice u intervalu (-5;3).
  5. Naveden je dvoznamenkasti broj. Značaj:
    • chi unesite do novog broja 3
    • chi unijeti do novog broja A
  6. Znači da je to trikupus sa stranicama a, b, c jednakokračan
  7. Dana su tri različita broja. Značaj, jak među njima (prvi, drugi i treći)
    • najviše
    • najmanje
    • ê sredina

(popis će biti ažuriran uskoro)

Ne radi