Kako podesiti pametne telefone i računare. Informativni portal

Varijable i uvjetni operator. Uslovne varijable

Najava

Varijabilna Je količina koja ima ime i značenje. Varijable se deklarišu pomoću riječi var: var x = 12, y; Ovdje se uvode dvije varijable s imenima x i y, vrijednost 12 se upisuje u promjenljivu x, a varijabla y je nedefinirana, odnosno naredba praćenja trace (y); će vratiti undefined (nedefinirana vrijednost). Naredba trace (z) daje isti rezultat; jer varijabla z uopće nije poznata. Da biste razlikovali postojeću varijablu od nepoznate, možete u nju napisati posebnu null vrijednost null: var y = null;

Ako tip varijable nije eksplicitno specificiran, može poprimiti bilo koju vrijednost. Na primjer:

var x = 1; // broj x = "Ku-ku!" ; // string x = false; // boolean

Međutim, prilikom deklarisanja, bolje je eksplicitno navesti tip varijable. Ovo omogućava da se otkriju mnoge greške čak i prije nego što se program izvrši. Postoje tri jednostavne vrste:

  • Broj - broj;
  • String - string;
  • Boolean je logička vrijednost.
Tip varijable je naznačen nakon njenog imena odvojenog dvotočkom var x: Broj = 0, y: String = "qq", b: Boolean = false; U varijablama tipa String, možete pisati nizove znakova zatvorene u navodnike ili pojedinačne apostrofe: var s1: String = "qq1", s2: String = "qq2"; Boolean varijable uzimaju samo dvije vrijednosti: true i false: var b: Boolean = false; b = istina; b = (a U poslednjem slučaju, b će biti istinito ako je uslov desno od znaka jednakosti tačan.

Ako pokušate da upišete vrijednost pogrešnog tipa u varijablu, dobićete poruku o grešci odmah kada se program prevede (tj. kada se prevede u mašinske kodove), a ne u toku izvršavanja. Na primjer, kod poput ovog izaziva grešku:

var x: Broj = 1; x = "Ku-ku!" ;

Varijabilna vidljivost

Postoje tri vrste varijabli: Globalne varijable se deklarišu pomoću _global specifikacije: _global .x = 12; Imajte na umu da ovdje ne morate koristiti riječ var, takve varijable se tretiraju kao svojstva _global objekta. Varijabli x, koja je deklarirana iznad, može se pristupiti iz bilo koje funkcije i iz koda bilo kojeg klipa jednostavno po imenu.

Ako postoji nekoliko varijabli sa istim imenom u opsegu, prvo se traži lokalna varijabla, zatim trenutna varijabla isječka, a tek onda globalna varijabla.

Varijable drugih isječaka su "nevidljive"; da biste se odnosili na njih, morate eksplicitno navesti roditeljski klip:

Mc.x = 1; _root .x = 12; _parent .x = 123;

Zadatak

Za dodjelu nove vrijednosti varijabli koristite znak =. Lijevo od nje upišite ime varijable, a desno - izraz: a = 4 * (c + 2) + 3 / (r - 4 * w) + d% 3; Znak * označava množenje, znak / označava dijeljenje, a % označava ostatak dijeljenja.

U izrazu se aritmetičke operacije izvode sljedećim redoslijedom:

  • radnje u zagradama;
  • množenje, dijeljenje i uzimanje ostatka (s lijeva na desno);
  • sabiranje i oduzimanje (s lijeva na desno).
Ova naredba se zove prioritet(starost) aritmetičke operacije.

Nizovi znakova se mogu "konkatenirati" pomoću + operatora:

br = 20; s = "Vasya" + "otišao u šetnju." ; qq = "Objekat" + ne; Ako su podaci različitih tipova uključeni u izraz, dolazi do automatske konverzije u isti tip. Dakle, u posljednjem redu linija Object20 je upisana u varijablu qq.

Operateri ++ ( prirast, povećavajući varijablu za 1, i - ( dekrement, smanjujući varijablu za 1). Operateri

I ++; k -; znači isto kao i = i + 1; k = k - 1; Postoji i skraćeni zapis za aritmetičke operacije: a + = 20; b - = c - d; c * = a + b; d / = 2 * c; f% = 12; Ovaj kod se može zamijeniti sljedećim operatorima u "normalnom" obliku: a = a + 20; b = b - (c - d); c = c * (a + b); d = d / (2 * c); f = f% 12

Objekti

Objekt je nešto što ima svojstva i metode. U okruženju Flash postoje ugrađeni objekti (npr. Array, MovieClip, Key). Osim toga, možete izgraditi vlastite objekte: var car = new Object (); car.v = 10; auto.godina = 1998; U okruženju Flash možete koristiti objektno orijentirano programiranje, odnosno kreirati vlastite klase objekata, obdariti ih svojstvima i metodama (vidi temu 13).

Glavna karakteristika objekata je takozvano referentno adresiranje. Odnosno, prilikom izjašnjavanja

var obj = novi objekat (); varijabla obj ne pohranjuje sam objekat, već samo njegov adresa(referenca objekta). Prema tome, operator dodjeljivanja obj2 = obj; ne kreira novi objekat u memoriji koji je kopija obj, već jednostavno kopira adresu prvog objekta u obj2. Nakon toga, obj i obj2 ukazuju na isti objekat. Ako zaista želimo da napravimo kopiju objekta čija je adresa pohranjena u obj, možemo to učiniti: var obj2 = new Object (); for (prop u obj) obj2 = obj; Ovdje petlja ponavlja sva svojstva prvog objekta i kopira ih u drugi. Varijabla prop (niz znakova) je ime sljedećeg svojstva. Obj znači “ svojstvo objekta obj čije je ime pohranjeno u prop».

TAU - teorija automatskog upravljanja

TS - tehnički sistem

OU - kontrolni objekt

UU - kontrolni uređaj

SU - sistem upravljanja

IO - izvršni organ

IU - izvršni uređaj

D - senzor

OS - povratne informacije

PC - omjer prijenosa

PF - prijenosna funkcija

APFC - amplitudno-fazni frekvencijski odziv

Frekvencijski odziv - amplitudno-frekvencijska karakteristika

LFCH - logaritamska amplitudno-frekvencijska karakteristika

Fazno-frekvencijska karakteristika - fazno-frekventna karakteristika

2. Simboli osnovnih varijabli i funkcija

x(t) - ulazni signal elementa CS, izlazni signal OS i CS (kontrolisana vrijednost)

y(t) Je izlazni signal CS elementa, ulazni signal OS (kontrolna akcija)

x s ( t) Je li utjecaj na podešavanje upravljačkog sistema

z(t) Da li je ometajući efekat na sistem upravljanja

(t) - signal greške (neusklađenost) u upravljačkom sistemu

1(t) - radnja u jednom koraku

(t) - jednostruko impulsno djelovanje

x m ,y m- amplitudske vrijednosti signala x(t) i y(t)

str - Laplaceov operator, operator diferencijacije

 - kružna frekvencija, operator Fourierove transformacije

X(str) - kontinuirana signalna slika x(t) prema Laplaceu

X(j) - kontinuirani prikaz signala x(t) prema Furijeu

k - PC veza (ili veze veze)

W(str) - PF veza (ili veza veza)

W(j) - AFC veze (ili veza veza)

A() - AFC veze (ili veza veza)

 () - fazno-frekventna karakteristika veze (ili veze veza)

F ( R) - PF zatvorenog sistema upravljanja

h(t) - prolazna funkcija (karakteristika) veze ili upravljačkog sistema

w(t) - impulsna (težina) funkcija (karakteristika) veze ili CS-a

UVOD

Teorija automatskog upravljanja (TAU)- naučna disciplina čiji su predmet informacioni procesi koji se odvijaju u sistemima upravljanja tehničko-tehnološkim objektima. TAU otkriva opšte obrasce funkcionisanja automatskih sistema različite fizičke prirode i na osnovu ovih obrazaca razvija principe izgradnje visokokvalitetnih sistema upravljanja.

Pri proučavanju upravljačkih procesa u TAU apstrahuju se od fizičkih i projektnih karakteristika sistema i umjesto stvarnih sistema razmatraju njihove adekvatne matematičke modele. Što preciznije (potpunije) matematički model odgovara fizičkim procesima koji se odvijaju u realnom sistemu, to će projektovani sistem upravljanja biti savršeniji.

Glavne metode istraživanja na TAU-u su matematičko modeliranje, teorija običnih diferencijalnih jednadžbi, operativni račun i harmonijska analiza. Hajde da na brzinu pogledamo svaki od njih.

Metoda matematičkog modeliranja, kombinujući široku lepezu metoda i tehnika za opisivanje i predstavljanje fizičkih objekata i pojava, može se uslovno, shematski prikazati korišćenjem najčešće korišćene tehnike - grafičke slike jednostavnog objekta sa jednim ulaznim signalom. x(t) i jedan izlazni signal y(t), u obliku pravougaonika (sl. B. 1, a). Simbol A unutar pravougaonika označava neki matematički operator (funkcija, integral, itd.) koji povezuje ulazne i izlazne signale koji se mijenjaju u vremenu.

Rice. U 1. Šematski prikaz matematičkih metoda koje se koriste u TAU

Teorija običnih diferencijalnih jednadžbi, fokusirajući se na fizičke aspekte i primjenu dobivenih rješenja, služi kao glavna metodološka osnova TAU-a, a same obične diferencijalne jednadžbe su najopštiji i najpotpuniji oblik matematičkog opisa elemenata i upravljačkih sistema. Diferencijalne jednadžbe odnose se na ulazne i izlazne varijable koje se mijenjaju u vremenu i njihove derivate. U najjednostavnijem slučaju, diferencijalna jednadžba ima oblik

dy(t)/dt=f[x(t),y(t)]. (IN 1)

Metoda operativnog računa, koji je baziran na Laplacevoj transformaciji

(IN 2)

omogućava vam da algebrizirate diferencijalne jednadžbe - idite na takozvane operatorske jednadžbe povezujući slike X(str) i Y(str) ulaznih i izlaznih signala kroz prijenosnu funkciju W(str) (sl. B. 1, b)

W(str)=Y(str)/X(str). (AT 3)

Metoda harmonične analize zasniva se na Fourierovoj transformaciji poznatoj iz kursa matematike, koja ima oblik

(AT 4)

Koristeći Fourierovu transformaciju (V. 4), slike su pronađene X(j) i Y(j) ulazni i izlazni signali x(t) i y(t) karakterizira frekventne spektre ovih signala. Slike Fourierovih signala su povezane (slika B. 1, v) funkcija prijenosa frekvencije

W(j) = Y (j) / X (j). (AT 5)

Sve četiri metode, ukratko prikazane gore, čine matematički aparat TAU. Na osnovu njega je razvijen kompleks „vlastitih“ metoda TAU-a, predstavljenih u ovom kursu.

TAU zajedno sa teorijom konstrukcije i funkcionisanja elemenata upravljačkih sistema (senzora, regulatora, aktuatora) čini širu granu nauke – automatizaciju. Automatizacija je, pak, jedna od grana tehničke kibernetike. Tehnička kibernetika proučava složene automatizovane sisteme upravljanja za tehnološke procese (APCS) i preduzeća (APCS), izgrađene pomoću upravljačkih računara (CFM).

Tehnička kibernetika je, pored biološke i socioekonomske, sastavni dio kibernetike, koju je njen osnivač, američki matematičar N. Wiener, 1948. godine definisao kao nauku o kontroli i komunikaciji u tehničkim sistemima i živim organizmima.

Prvi industrijski regulatori pojavili su se između 1765. i 1804. godine. (I. Polzunov, J. Watt, J. Jacquard).

Prve teorijske studije regulatora pojavile su se u periodu 1868-1893. (J. Maxwell, I. Vyshnegradsky, A. Stodola). Ruski naučnik i inženjer I.A.Vyshnegradskii sproveo je niz naučnih studija u kojima su parna mašina i njen regulator prvi put analizirani matematičkim metodama kao jedinstveni dinamički sistem. Radovi A. A. Andronova, V. S. Kulebakina, I. N. Voznesenskog, B. V. Bulgakova, A. A. Feldbauma, B. N. Petrova, N. N. Krasova odigrali su važnu ulogu u formiranju ruske škole TAU. , AA Voronova, Ya. Z. Tsypkina, VS Pugache ...

Razvoj savremene teorije upravljanja iz takozvane „klasične“ teorije regulacije, zasnovane na četiri gore navedene osnovne metode istraživanja TAU, i formiranje njenih najnovijih metoda šematski su ilustrovani na Sl. U 2.

Rice. U 2. Razvoj sadržaja i metodologije teorije menadžmenta

Trenutno, TAU, zajedno sa najnovijim sekcijama opšte teorije menadžmenta (istraživanje operacija, sistemski inženjering, teorija igara, teorija čekanja), igra važnu ulogu u poboljšanju i automatizaciji kontrole tehnoloških procesa i industrija.

Možete pohraniti znanje o sagovornicima ili bilo koju drugu tekstualnu informaciju. Sada kada pišem šabloni može se koristiti 13 varijable sa unaprijed određenom namjenom, i 100 "besplatno", koje vlasnici info mogu koristiti prema vlastitom nahođenju.
Varijable sa datom svrhom imaju „govorna“ imena. Na primjer, % korisničko_ime- ovo je varijabla, dizajniran za pohranjivanje imena sagovornika. Njeno ime koristi engleske riječi user ("user") i name ("name"). Takve varijable aktivno koriste programeri prilikom kreiranja baze podataka šabloni standardne informacije, na osnovu čega svi običaji info.
Životni vijek takvih varijable nije ograničena, tj. njihove vrijednosti se pamte i pohranjuju između odvojenih razgovora.

Šta piše u šablonima Primjer dijaloga
Zapamti ime:
$ Moje ime je *
# Drago mi je što smo se upoznali. [% user_name = "[* 1]"]
gost: Moje ime je Vasya
inf: Nađite se jednom.
U odgovoru na infa prikazujemo ime sagovornika:
$ Zbogom, inf.
# Zbogom, [% user_name]
gost: Zbogom, inf.
inf: Zbogom Vasja.
Odgovor biramo u zavisnosti od vrijednosti varijable % user_name:
$ Da li se sećate mog imena?
# (Naravno. Vi ste [% user_name].)
# (Ne. Nisi mi rekao svoje ime.)
gost: Sjećaš li se mog imena?
inf: Naravno. Ti si Vasja.
ili
gost: Sjećaš li se mog imena?
inf: br. Nisi mi rekao svoje ime.
Ne želimo više da čuvamo ime sagovornika, resetujemo varijablu
$ Ti si budala.
# To je to, nisam više prijatelj sa tobom i zaboravio sam tvoje ime. [% user_name = ""]
gost: Ti si budala.
inf: To je to, nisam više prijatelj s tobom i zaboravio sam tvoje ime.

Dodjela vrijednosti varijabli i nuliranje varijable

Dodijelite vrijednost varijabla ili ga možete resetovati u odgovorima na infa.

sintaksa:[% varijabla = "vrijednost"]
Komanda dodjele varijabla uvijek okružen uglastim zagradama, koji su ovdje simboli usluge. Značenje varijabla uvijek pod navodnicima.
Primjeri dodjele vrijednosti:
$ Bavim se rokenrolom.
# Zavidim. INF ne mogu plesati [% var1 = "ples"]

$ * mrzim * ples *
$ * ples * mržnja *
$ * ne pleši *
# Steta. Da sam čovjek, definitivno bih plesao. [% var1 = "ne voli ples"]

$ Imam ** godina.
# Cool age! [% user_age = "[* 1]"]

Primer nuliranja varijabla :
$ Ne želim da pričaš o mojim godinama.
# Šta god kažete [% user_age = ""]

Dodjela vrijednosti varijabli pomoću funkcije set

Funkcija set ("Argument1", "Argument2", "Argument3") zamjenjuje Argument2 umjesto njega i dodjeljuje njegovu vrijednost varijabli navedenoj u Argument1. Argument3 podrazumevano je prazan string. Ako ga navedete osim praznog stringa, tada se za funkciju set neće zamijeniti tekst, već će biti dodijeljena samo vrijednost varijable.

Na primjer,
$ moje ime je **
# Drago mi je što smo se upoznali, [@set ("user_name", "[@ (" [* 1] ")]")]!

gost: moje ime je Vasya
inf: Drago mi je, Vasya!

Ili:
$ moje ime je **
# Zapamtiću tvoje ime. [@set ("user_name", "[@ (" [* 1] ")]", "1")]

$ * šta je * moje * ime *
# Vi ste [% user_name].

gost: Moje ime je Lena
inf: Zapamtiću tvoje ime.
gost: pa kako se zovem?
inf: Ti si Lena.

Izlaz vrijednosti varijable u odgovoru infa

To inf"izgovorio" značenje varijabla u odgovoru, samo ovo treba da napišete varijabla.
sintaksa:[%varijable]
Uglate zagrade su obavezne.

primjer:
$ Zbogom, robote!
# Zbogom [% user_name]!

Da bi se logika mogla implementirati u program, koriste se uvjetni operatori. Konceptualno, ovi operatori se mogu predstaviti kao čvorne tačke, dostižući koje program bira u kom od mogućih pravaca da se kreće dalje. Na primjer, trebate odrediti da li neka varijabla arg sadrži pozitivan ili negativan broj i prikazati odgovarajuću poruku na ekranu. Da biste to učinili, možete koristiti if naredbu (if), koja obavlja slične provjere.

U najjednostavnijem slučaju, sintaksa za dati if naredbu je sljedeća:

ako (izraz)

Ako je vrijednost parametra "expression" "true", naredba se izvršava, u suprotnom se program preskače. Treba napomenuti da je "izraz" uslovni izraz u kojem se provjerava neki uvjet. Table 2.1 predstavlja varijante jednostavnih logičkih izraza if naredbe.

Tabela 2.1. Jednostavni logički izrazi

Dajemo primjer korištenja if operatora grananja. Sljedeći program vam omogućava da odredite predznak unesene varijable.

Listing 2.1. Prvi program za određivanje predznaka unesenog broja.

#include
int main ()
{
float x;
printf (“Unesite broj:”);
scanf (“% f”, & x);
ako (x> = 0)

Povratak 0;
}

Analiza datog programskog teksta pokazuje da se dva uslovna operatora mogu zameniti jednim pomoću konstrukcije

ako (izraz)

što se tako tumači. Ako je "izraz" istinit, tada se izvršava "izjava1", u suprotnom se izvršava "izjava2". Prepišimo prethodno dati primjer određivanja predznaka broja pomoću ove konstrukcije.

Listing 2.2. Drugi program za određivanje predznaka unesenog broja.

#include
int main ()
{
float x;
printf (“Unesite broj:”);
scanf (“% f”, & x);
if (x printf (“Uneseni broj% f je negativan. \ n”, x);
ostalo
printf (“Uneseni broj% f nije negativan. \ n”, x);

Povratak 0;
}

U prikazanim primjerima, nakon if i else naredbi, postoji samo jedna funkcija printf (). U slučajevima kada je potrebno napisati više od jednog operatora kada je uslov ispunjen, moraju se koristiti vitičaste zagrade, tj. koristite konstrukciju poput

ako (izraz)
{

}
ostalo
{

Treba napomenuti da nakon ključne riječi else možete formalno staviti još jedan if uslovni izraz, kao rezultat, dobijamo još fleksibilniju konstrukciju uvjetnih prijelaza:

ako (izraz1)
else if (izraz2)
ostalo

Listing 2.3 prikazuje program koji implementira posljednju konstrukciju uvjetnog grananja.

Listing 2.3. Treći program za određivanje predznaka unesenog broja.

#include
int main ()
{
float x;
printf (“Unesite broj:”);
scanf (“% f”, & x);
if (x printf (“Uneseni broj% f je negativan. \ n”, x);
inače ako (x> 0)
printf (“Uneseni broj% f je pozitivan. \ n”, x);
ostalo
printf (“Uneseni broj% f nije negativan. \ n”, x);

Povratak 0;
}

Do sada smo razmatrali jednostavne uslove kao što je x && - logičko I
|| - logičko ILI
! - logično NE

Na osnovu ove tri logičke operacije mogu se generisati složeniji uslovi. Na primjer, ako postoje tri varijable exp1, exp2 i exp3, onda one mogu činiti logičke konstrukcije predstavljene u tabeli. 2.2.

Tabela 2.2. Primjer složenih logičkih izraza

Kao i operacije množenja i sabiranja u matematici, logičke operacije I ILI NE, također imaju svoje prioritete. Operacija NE ima najveći prioritet, tj. takva operacija se prvo izvodi. Operacija AND ima niži prioritet, a konačno operacija OR ima najniži prioritet. Ovi prioriteti se moraju uzeti u obzir prilikom izrade složenih uslova. Na primjer, stanje

if (4 6 || 5 se provjerava na ovaj način. If 4 6 OR 5 if (4 6 || 5 Naredba if olakšava pisanje programa u kojima morate birati između malog broja mogućih opcija. Međutim, ponekad program treba da izabere jednu opciju od mnogih mogućih. Formalno, možete koristiti if else if ... else konstrukciju. Međutim, u mnogim slučajevima se ispostavi da je prikladnije koristiti C ++ switch naredbu. sintaksa ovog operatora je sljedeća:

prekidač (promjenljivo)
{
konstanta slučaja1:

Konstanta slučaja2:

...
zadano:

Ovaj operator sekvencijalno provjerava jednakost varijable sa konstantama iza ključne riječi case. Ako nijedna od konstanti nije jednaka vrijednosti varijable, tada se izvršavaju naredbe iza riječi default. Naredba switch ima sljedeću posebnost. Pretpostavimo da je vrijednost varijable jednaka vrijednosti konstante1 i da se naredbe nakon ključne riječi prvog case izvršavaju. Nakon toga će se izvršavanje programa nastaviti provjeravanjem varijable jednakosti konstante2, što često dovodi do nepotrebnog trošenja računarskih resursa. Da biste izbjegli ovu situaciju, trebali biste koristiti naredbu break da premjestite program na sljedeći izraz nakon prebacivanja.

Listing 2.4 pokazuje primjer programiranja izraza uslovnog prekidača.

Listing 2.4. Primjer korištenja naredbe switch.

#include
int main ()
{
int x;
printf (“Unesite broj:”);
scanf (“% d”, & x);
prekidač (x)
{
slučaj 1: printf (“Unesen broj 1 \ n”); break;
slučaj 2: printf (“Unesen broj 2 \ n”); break;
default: printf (“Unesen drugi broj \ n”);
}
char ch;
printf (“Unesite znak:”);
scanf ("% c", & ch);
prekidač (ch)
{
case 'a': printf ("Unesen je znak a \ n"); break;
slučaj 'b': printf ("Unesen znak b \ n"); break;
default: printf (“Unesen je još jedan znak \ n”);
}
return 0;
}

Ovaj primjer pokazuje dva različita slučaja upotrebe za naredbu switch. U prvom slučaju se analizira unesena cifra, u drugom se analizira uneseni znak. Treba napomenuti da ovaj operator može napraviti izbor samo na osnovu jednakosti svog argumenta s jednom od navedenih vrijednosti slučaja, tj. provjeravanje izraza kao što je x

Top srodni članci