Špecifikácia motorových olejov podľa API. Video klasifikácie API

Popisy sa používajú na interpretáciu každého z identifikátorov; nemusia byť sprevádzané pridelením pamäte spojenej s identifikátorom. Popisy vyzerajú

spec-descriptions opt spec-list opt ​​​​;
funkcia-definícia
špecifikácia-linky

Deskriptory v zozname deskriptorov (§R.8) obsahujú popisované identifikátory. Konštrukt špecifikácia-popis môže chýbať iba v definícii funkcie (§R.8.3) alebo v popise funkcie. Deklaratívny zoznam môže byť prázdny len pri deklarovaní triedy (§R.9) alebo enumerácie (§R.7.2), t.j. keď špecifikácia popisu je špecifikácia triedy alebo špecifikácia enumerácie. Konštrukcia description-asm je vysvetlená v §R.7.3 a odkazy na špecifikáciu v §R.7.4. Popis sa vyskytuje v definovanom rozsahu (§R.3.2), pravidlá rozsahu sú uvedené v §R.10.4.

R.7.1 Špecifikácie

V popise je možné použiť nasledujúce špecifikácie:

špecifikácia-popis:
pamäť-trieda-špec
typová špecifikácia
typ-špecifikácia-šablóny
špecifikácie - popis:
špecifikácia-popisy zvoliť špecifikácia-popisy

Najdlhšia sekvencia konštruktov špecifikácia-popis, čo je možno názov typu, tvorí konštrukt špecifikácia-popis v popise. Postupnosť musí byť konzistentná, čo je vysvetlené nižšie. Napríklad,

statický počítač; // chyba: bez mena

Tu je deklarácia statického Pc neplatná, pretože nie je zadaný žiadny názov statickej premennej typu Pc. Mať typ premennej int s názvom Pc je potrebné špecifikovať typovú špecifikáciu int, aby sa naznačilo, že názov Pc typového definovania sa (re)definuje, a nie jednoducho Pc je jedným z prvkov sekvencie konštruktov špecifikácie popisu, napr.

void f(const Pc); // void f(char* const)
void g(const int Pc); // void g(const int)

Upozorňujeme, že keďže podpísané, nepodpísané, dlhé a krátke sa predvolene považujú za int, konštrukcia name-typedef, ktorá sa objaví za jednou z uvedených špecifikácií typu, musí špecifikovať názov, ktorý sa má (pre)definovať, napr.

void h(nepodpísané Pc); // void h(unsigned int)
void k(unsigned int Pc); // void k(unsigned int)

R.7.1.1 Špecifikácie triedy pamäte

Špecifikácie triedy pamäte môžu byť:

špecifikácia pamäťovej triedy:

Špecifikácie auto a register možno použiť len pre názvy objektov, ktoré sú opísané v bloku (§R.6.3) alebo pre formálne parametre (§R.8.3). Automatická špecifikácia je takmer vždy nadbytočná a používa sa len zriedka, takže auto sa používa na explicitné oddelenie deklaračného príkazu od výrazu (§R.6.2).

Popis registra je automatický popis, ktorý prekladateľovi hovorí, že opísané premenné sa budú používať pomerne intenzívne. Nápovedu možno ignorovať a v mnohých implementáciách je ignorovaná, keď sa vezme adresa premennej.

Opis objektu sa považuje za definíciu, pokiaľ neobsahuje externú a inicializačnú špecifikáciu (§R.3.1).

Definícia spôsobí pridelenie vhodnej veľkosti pamäte a vykonanie príslušnej inicializácie (§R.8.4).

Statické a externé špecifikácie sa môžu vzťahovať iba na názvy objektov alebo funkcií alebo na anonymné spojenia. Popisy funkcií so statickou špecifikáciou alebo formálne parametre so statickou alebo externou špecifikáciou nie sú povolené vo vnútri bloku. Statické členy triedy sú popísané v §R.9.4. Externá špecifikácia nie je platná pre členov triedy.

Názov so statickou špecifikáciou podlieha internému prepojeniu. Objekty deklarované ako const podliehajú internému prepojeniu, pokiaľ neboli deklarované s externým prepojením. Názov s externou špecifikáciou podlieha externému prepojeniu, pokiaľ predtým nebol deklarovaný s interným prepojením. Názov v rozsahu súboru bez špecifikácie pamäťovej triedy podlieha externému prepojeniu, pokiaľ predtým nebol deklarovaný s interným prepojením alebo špecifikáciou const. Z hľadiska väzby pre nečlenské funkcie je inline špecifikácia ekvivalentná so statickou (§R.3.3). Pre jeden názov musia súhlasiť všetky jeho záväzné špecifikácie. Napríklad,

statický znak* f(); // f() má vnútornú väzbu
char* f() // f() je stále interné
char* g(); // g() má vonkajšiu väzbu
statický znak* g() // chyba: rozpor väzby
statický int a; // `a" má vnútornú väzbu
int a; // chyba: druhá definícia
statický int b; // „b“ má vnútornú väzbu
externé int b; // „b“ je stále interné
int c; // `c" má vonkajšie prepojenie
statické int c; // chyba: záväzný rozpor
externé int d; // `d" má vonkajšiu väzbu
statický int d; // chyba: záväzný rozpor

V externej deklarácii možno použiť názov nedefinovanej triedy. Takýto popis však nemožno použiť skôr, ako bola trieda definovaná, napr.

g(a); // chyba: S nie je definované
f(); // chyba: S nie je definované

R.7.1.2 Špecifikácie funkcie

Niektoré špecifikácie možno použiť len na popis funkcií.

Inline špecifikácia hovorí prekladateľovi, aby nahradil telo funkcie namiesto obvyklej implementácie volania funkcie. Nápovedu možno ignorovať. V prípade nečlenských funkcií inline špecifikácia dodatočne stanovuje internú väzbu pre funkciu (§R.3.3). Funkcia (§R.5.2.2, §R.8.2.5) definovaná v deklarácii triedy má štandardne inline špecifikáciu.

Členská funkcia s vloženou špecifikáciou musí mať presne rovnakú definíciu v každej prekladovej jednotke, v ktorej sa vyskytuje.

Členská funkcia nemusí byť explicitne deklarovaná s inline špecifikáciou v deklarácii triedy, aby sa s ňou zaobchádzalo ako so substitúciou. Ak neexistovala žiadna inline špecifikácia, väzba bude externá, pokiaľ sa pred prvým volaním funkcie neobjaví definícia s inline špecifikáciou.

inline int g(); // X::g() má vnútornú väzbu

int i = p-›f(); // teraz je X::f() vonkajšia väzba

inline int X::f() // chyba: volanie pred definíciou

inline int X::h() // X::h() je teraz interne viazané

Virtuálna špecifikácia môže byť použitá len v deklaráciách nestatických členských funkcií v deklaráciách tried (pozri §R.10.2).

R.7.1.3 Špecifikácia typového definovania

Deklarácie Typedef špecifikujú identifikátory, ktoré možno neskôr použiť na označenie základných alebo odvodených typov. V definícii funkcie nie je povolená špecifikácia typedef (§R.8.3).

V rámci (§R.3.2) deklarácie typedef sa každý identifikátor vyskytujúci sa v časti ktoréhokoľvek z deskriptorov stáva syntakticky ekvivalentným funkčnému slovu a označuje typ spojený s týmto identifikátorom, ako je opísané v §R.8. Typedef-name je teda synonymom pre iný typ. Na rozdiel od deklarácie triedy (§R.9.1), typename nepridáva nový typ. Napríklad po opísaní

dizajnov

sú legálne popisy, vzdialenosť je typu int a metricp je typu "ukazovateľ na int".

Pomocou typedef môžete predefinovať názov tak, aby opäť označoval typ, na ktorý sa už odkazovalo, dokonca aj v rozsahu, v akom bol typ pôvodne deklarovaný, napr.

typedef struct s (/*… */) s;

Nepomenovaná trieda, ktorá je definovaná v typedef, má ako názov názov použitý v typedef, napr.

typedef struct (/*… */) S; // názov štruktúry sa zmenil na S

Definíciu typu nemožno použiť na predefinovanie názvu typu deklarovaného v rovnakom rozsahu na označenie iného typu, napr.

typedef int komplex; // chyba: prepísať

Rovnako nemôžete definovať triedu s názvom typu definovaného v rovnakom rozsahu tak, aby označoval iný typ, napr.

komplex triedy (/*… */); // chyba: prepísať

Definícia typu, ktorá označuje triedu, je názov triedy (§R.9.1). Synonymum nemožno použiť za nasledujúcimi predponami: class, struct a union, ako aj v názvoch konštruktorov a deštruktorov v popise samotnej triedy, napr.


Sa = T(); // Dobre

R.7.1.4 Špecifikácia šablóny typu

Špecifikácia šablóny typu sa používa na špecifikáciu skupiny typov alebo funkcií (pozri §R.14).

R.7.1.5 Špecifikácia priateľa

Špecifikácia priateľa sa používa na špecifikáciu prístupu k členom triedy (pozri §R.11.4).

R.7.1.6 Typová špecifikácia

Typové špecifikácie zahŕňajú:

typová špecifikácia:
názov jednoduchého typu
trieda-špec
špecifikácia-vyčíslenie
komplexná typová špecifikácia

Pri deklarovaní objektu možno do akejkoľvek zákonnej typovej špecifikácie pridať konštantné a nestále servisné slová. Vo všetkých ostatných prípadoch nesmie byť v opise prítomná viac ako jedna typová špecifikácia. Objekt so špecifikáciou const je možné inicializovať, ale jeho hodnota sa nesmie neskôr zmeniť. Objekt so špecifikáciou const, pokiaľ nebol výslovne deklarovaný ako externý, nepodlieha externému prepojeniu a musí byť inicializovaný (§R.8.4, §R.12.1). Konštantné celé číslo inicializované konštantným výrazom možno použiť v konštantnom výraze (§R.5.19). Každý prvok poľa so špecifikáciou const má rovnakú špecifikáciu a každý nestatický nefunkčný člen objektu triedy so špecifikáciou const sa sám považuje za const (§R.9.3.1). Objekt typu bez konštruktora alebo deštruktora, ktorý má špecifikáciu const, možno umiestniť do pamäte iba na čítanie. Pokus o zápis do ktorejkoľvek časti takéhoto objektu povedie buď k situácii so špeciálnou adresou, alebo prejde bez stopy, ako keby objekt nemal špecifikáciu const.

Pre objekty so špecifikáciou volatile neexistuje žiadne vysvetlenie nezávislé od implementácie. Slúži ako pomôcka pre prekladateľa, aby sa vyhol prílišnej optimalizácii spojenej s týmto objektom, pretože hodnota objektu sa môže meniť spôsobmi skrytými pre prekladateľa. Každý prvok poľa s volatilnou špecifikáciou má rovnakú špecifikáciu a každý nestatický nefunkčný člen objektu triedy s volatilnou špecifikáciou sa sám považuje za volatilný (§R.9.3.1).

Ak sa typová špecifikácia nenachádza vo vyhlásení, predpokladá sa, že je špecifikovaná ako int.

jednoduchý názov typu:
celé meno-triedy
kvalifikovaný-názov-typu

Nemôžete zadať viac ako jedno dlhé alebo krátke funkčné slovo s int. Môžu sa použiť aj jednotlivo, vtedy sa za typ považuje int. Servisné slovo long sa môže objaviť spolu s dvojitým. Nemôžete zadať viac ako jedno podpísané alebo nepodpísané funkčné slovo s char, short, int alebo long. Môžu sa použiť aj jednotlivo, vtedy sa za typ považuje int. Špecifikácia so znamienkom označuje, že objekty typu char a bitové polia sú podpísané; pre ostatné celočíselné typy je táto špecifikácia nadbytočná.

Konštrukty špecifikácie triedy a špecifikácie enumerácie sú definované v §R.9 a §R.7.2.

komplexná typová špecifikácia:
trieda-slovo trieda-meno
identifikátor triedy funkcia-slovo
triedne slovo:

Ak je zadaný identifikátor, špecifikácia komplexného typu ho opisuje ako názov triedy (pozri §R.9.1).

Ak je definovaný názov, ktorý je popísaný v špecifikácii spojenia, potom musí byť definovaný ako spojenie. Ak je definovaný názov, ktorý je popísaný špecifikáciou triedy, potom musí byť definovaný pomocou špecifikácie triedy alebo štruktúry. Ak je definovaný názov, ktorý je popísaný špecifikáciou štruktúry, musí byť definovaný špecifikáciou triedy alebo štruktúry. Názvy vnorených typov (§R.9.7) musia byť kvalifikované názvom obklopujúcej triedy:

kvalifikovaný-názov-typu:
názov-triedy:: názov-kvalifikovaného-typu
celý názov triedy:
kvalifikovaný-názov-triedy
:: kvalifikovaný-názov-triedy
kvalifikovaný-názov-triedy:
názov-triedy:: kvalifikovaný názov-triedy

Názov kvalifikovaný podľa class-name musí byť typ definovaný v tejto triede alebo v základnej triede tejto triedy. Ako obvykle, názov deklarovaný v odvodenej triede robí členov s týmto menom zo základných tried neviditeľnými (pozri §R.3.2).

R.7.2 Popis enumerácie

Enumerácia je samostatný celočíselný typ (§R.3.6.1) s pomenovanými konštantami. Jeho názov sa vo svojom rozsahu stáva konštruktom enumeration-name, t.j. slúži ako vyhradené slovo.

enum-name:
špecifikácia-vyčíslenie:
enum identifikátor opt ( enum-list )
enum-list:
enum-položka
enumeračný-zoznam, enumeračný-položka
enum-item:
identifikátor = konštantný výraz

Všetky identifikátory v zozname enumerácií sa považujú za deklarované konštanty a môžu sa objaviť všade tam, kde sú potrebné konštanty. Ak neexistovali žiadne prvky enumerácie s =, hodnoty konštánt začínajú od nuly a postupne sa zvyšujú o jednotku, keď sa pohybujú v zozname zľava doprava. Ak sa vyskytne prvok enumerácie s =, potom jeho identifikátor nadobudne danú hodnotu a nasledujúce identifikátory bez inicializačnej časti získajú rastúce hodnoty, počnúc od danej hodnoty. Hodnota prvku enumerácie musí byť typu int alebo hodnota, ktorú možno pretypovať na int pomocou štandardných celočíselných konverzií (§R.4.1).

Názvy prvkov enumerácie sa musia líšiť od názvov bežných premenných a iných prvkov enumerácie rovnakého rozsahu. Hodnoty prvkov enumerácie sa nemusia navzájom líšiť. Enumeračný prvok sa považuje za opísaný od okamihu, keď sa objaví jeho identifikátor alebo inicializačná hodnota (ak existuje). Napríklad v definíciách

hodnoty a, c a d sú uvedené ako 0, b a e ako 1 a f ako 3.

Každý enum je integrálny typ, ktorý sa líši od všetkých ostatných integrálnych typov. Typ prvku enumerácie je daný zoznam. Hodnota prvku enumerácie alebo objektu typu enumerácie sa prevedie na celé číslo pomocou štandardných celočíselných konverzií (§R.4.1). Napríklad v nasledujúcom úryvku:

enum farba (červená, žltá, zelená=20, modrá);

color je definovaný ako celočíselný typ popisujúci rôzne farby, col je definovaný ako objekt tohto typu a cp je definovaný ako ukazovateľ na objekt tohto typu. Možné hodnoty pre objekt typu farba sú červená, žltá, zelená, modrá. Tieto hodnoty je možné previesť na celočíselné hodnoty 0, 1, 20 a 21. Keďže každé enum je samostatný typ, objektu typu farba možno priradiť iba hodnoty typu farba, napr.

farba c = 1; // chyba: nezhoda typu
// žiadna konverzia z int na farbu
int i = žltá; // ok: žltá sa skonvertuje na int s hodnotou 1
// štandardná celočíselná konverzia

Pozri tiež §R.18.3.

Členovia enumerácie definovaní v triede (§R.9) spadajú do rozsahu tejto triedy a možno k nim pristupovať mimo členských funkcií tejto triedy iba na základe explicitnej kvalifikácie podľa názvu triedy (§R.5.1). Samotný názov enum typu je lokálny pre danú triedu (§R.9.7), napr.

popis-zoznam:
popis-popis zoznamu

Požadovaná väzba je špecifikovaná pomocou reťazcového literálu. Jeho účel je implementačne definovaný. Všetky implementácie však musia poskytovať väzbu na funkciu v jazyku C ("C") a funkciu v jazyku C++ ("C++"). Predvolená väzba je nastavená na "C++", napr.

komplex sqrt(komplex); // predvolená väzba na C++
double sqrt(double); // väzba na C

Špecifikácie komunikácie môžu byť vnorené. Špecifikácia komunikácie nešpecifikuje rozsah. Špecifikácia odkazu sa môže vyskytnúť len v rozsahu súboru (§R.3.2). Špecifikácia väzby pre triedu odkazuje na objekty v nej opísané a nečlenské funkcie. Špecifikácia väzby, ktorá sa vzťahuje na funkciu, sa vzťahuje aj na všetky objekty a funkcie v nej opísané. Opis pripojenia obsahujúci reťazec neznámy implementácii sa považuje za nesprávny.

Ak má funkcia viac ako jednu špecifikáciu pripojenia, potom musia byť konzistentné, t.j. nastavte rovnaký doslovný reťazec. Popis funkcie bez špecifikácie prepojenia nesmie predchádzať špecifikácii prvého prepojenia pre danú funkciu. Funkcia môže byť deklarovaná bez špecifikácie záväznej špecifikácie aj po tom, čo bola špecifikácia väzby explicitne špecifikovaná, ale väzba explicitne špecifikovaná v skoršej deklarácii sa takouto deklaráciou funkcie neodstráni.

Zo množiny preťažených funkcií (§R.13) s daným názvom môže mať najviac jedna väzba C, pozri §R.7.4.

Väzba môže byť nastavená pre objekty, napríklad:

int _flsbuf(nepodpísané,_iobuf*);

Keď je špecifikovaná špecifikácia komunikácie, funkcie a objekty možno opísať ako statické v rámci ( ). Pre takéto funkcie alebo objekty sa príkaz bind ignoruje. V opačnom prípade sa s funkciou deklarovanou pri špecifikovaní odkazu zaobchádza, ako keby bola explicitne deklarovaná ako externá, napríklad druhý popis nižšie je chybný (§R.7.1.1):

static double f(); // chyba

Objekt opísaný v rámci konštrukcie

sa stále považuje za definitívny a nie len popísaný.

Prepojenie objektov C++ s objektmi definovanými v iných jazykoch, ako aj spätná väzba, závisí od jazyka a implementácie. Takéto prepojenie je možné len vtedy, ak sú algoritmy umiestňovania objektov do pamäte dostatočne podobné pre tieto dva jazyky.

Ak sa názov programovacieho jazyka používa na zadanie vzťahu v doslovnom reťazci zo špecifikácie vzťahu, odporúča sa skopírovať pravopis tohto názvu z dokumentu definujúceho daný jazyk napr. Ada (nie ADA) a Fortran (nie FORTRAN).

oddelenie 304

Laboratórna práca č. 2

v predmete "Programovanie"

Vyplnené študentom 315 gr.

Startseva A.V.

Skontroloval som doc. oddelenie 304

Bakumenko N.S.

________________________

Predmet:"ŠpecifikáciaS++"

Cieľ práce: Naučte sa písať popis hlavných charakteristík programu alebo podprogramu. Špecifikácia vždy obsahuje nasledujúce charakteristiky: vyjadrenie problému, ktorý daný program alebo podprogram rieši, popis počiatočných údajov, popis výsledkov, popis špeciálnych situácií.

podmienka:

9,59. Bol podaný návrh. Určte počet písmen "O" v ňom.

9.101.Slovo je dané. Vymeňte jeho tretie a posledné písmeno.

9.155.Slovo obsahuje iba dve rovnaké písmená. Nájdi ich.

Výkon:

Názov:Vvod

Popis: Funkcia načíta hodnotu znaku z konzoly.

Počiatočné údaje:

Názov: 1) symbol; 2) S;

Popis: 1) premenná, ku ktorej je priradená konkrétnu hodnotu(nejaký symbol); 2) daná veta alebo slovo - parameter podprogramu, prenášaný z hlavného programu vo forme sady znakov.

Typ a rozsah: 1) Char, akékoľvek znaky; 2) reťazec, ľubovoľné symboly

výsledok: Funkcia načíta údaje zadané používateľom z klávesnice.

Výnimočné popisy:

Popis: 1) boli zadané údaje nesprávneho typu 2) bolo zadaných viac údajov, ako je potrebné pre program

Liečba: 1), 2) - zobrazí sa hlásenie, že pri zostavovaní programu boli zistené chyby.

Názov:Vuvod

Popis: Funkcia vypíše z konzoly celé číslo, znakovú hodnotu alebo reťazec.

Počiatočné údaje:

Názov: 1) n2) s; 3) h.

Popis: n, s, h - premenné, ku ktorým je priradený výsledok funkcie (zadaná úloha). 1) Podprogram vráti jednu hodnotu - počet písmen "O" v danej vete. 2) Podprogram vráti pole typu char, v ktorom sú zamenené druhý a posledný prvok (slovo, v ktorom sú zamenené tretie a posledné písmeno). 3) Podprogram vráti jednu hodnotu – písmeno , čo sa opakuje v slove.

TypArozsah: 1) int; 2) reťazec; 3) char.

výsledok: funkcia zobrazí výsledok programu, teda zobrazí premenné n, s, h.

Názov: Func

Popis: Definuje počet písmen "O" v danej vete.

Počiatočné údaje:

Názov: 1) S; 2) symbol, 3) n

Popis: 1) Zdrojové pole (daná veta) je parameter podprogramu, prenášaný z hlavného programu vo forme množiny znakov. 2) premenná, ku ktorej je priradený symbol „o“.

Typ a rozsah: 1) reťazec, ľubovoľné znaky. 2) Char, o symbol.

výsledok:

Názov: cout

Popis: Podprogram vypíše hodnotu premennej n.

Typ a rozsah Int

Výnimočné popisy

Popis: veta neobsahuje písmeno o.

Liečba: zobrazí sa správa, že veta neobsahuje písmeno o.

Názov: Func1

Popis: Funkcia zamieňa tretie a posledné písmeno užívateľom zadaného slova.

Počiatočné údaje:

Názov: 1) S; 2) 1, k 3) teplota; 4)s

Popis: 1) Zdrojové pole (špecifikované slovo) – parameter podprogramu, prenášaný z hlavného programu vo forme množiny znakov. 2) premenná, ku ktorej je priradená hodnota druhého prvku poľa. 2) premenné, ktorým sú priradené indexy tretieho a posledného písmena daného slova. 3) premenná, ktorej je najskôr priradená hodnota druhého prvku poľa a potom je priradená počas behu programu.

Typ a rozsah: 1) reťazec, akékoľvek symboly; 2) int 3) int.

výsledok:

Názov: cout

Popis: Podprogram vypíše hodnotu premennej s

Typ a rozsah: reťazec.

Výnimočné popisy

Popis: 1) pole nie je správne špecifikované, 2) indexy sú nastavené na nesprávny typ.

Liečba: 1), 2) - zobrazí sa hlásenie, že pri zostavovaní programu boli zistené chyby.

Názov: Func2

Popis: Funkcia nájde dve rovnaké písmená obsiahnuté v danom slove.

Počiatočné údaje:

Názov: 1) S; 2) h.

Popis: 1) Zdrojové pole (špecifikované slovo) – parameter podprogramu, prenášaný z hlavného programu vo forme množiny znakov.

Typ a rozsah: 1) char

výsledok:

Názov: cout

Popis: Podprogram vypíše hodnotu premennej h.

Typ a rozsah: char.

Výnimočné situácie:

Popis: 1) slovo neobsahuje rovnaké písmená 2) slovo pozostáva zo všetkých rovnakých písmen 3) pole nie je správne zadané

Liečba: 1), 2) - zobrazí sa číslo „-1“. 3) zobrazí sa správa, že pri zostavovaní programu boli zistené chyby.

Špecifikácia spoločného jazyka CLS

Ako je známe, v rôzne jazyky programovanie, rovnaké programové konštrukcie sú vyjadrené vlastným jedinečným, pre jazyk špecifickým spôsobom. Napríklad v C# je zreťazenie reťazcov označené pomocou znamienka plus (+), zatiaľ čo vo VB sa na tento účel zvyčajne používa ampersand (&). Aj keď je rovnaký programovací idióm vyjadrený v dvoch rôznych jazykoch (napríklad funkcia, ktorá nevracia hodnotu), je veľmi vysoká pravdepodobnosť, že syntax bude vyzerať veľmi odlišne.

Ako už bolo ukázané, takéto malé odchýlky v syntaxi pre .NET runtime sú bezvýznamné vzhľadom na skutočnosť, že príslušné kompilátory (v v tomto prípade- csc.exe a vbc.exe) generujú podobnú sadu inštrukcií CIL. Jazyky sa však môžu líšiť aj celkovou úrovňou funkčnosti. Napríklad v niektorom jazyku .NET môže alebo nemusí byť kľúčové slovo reprezentovať nepodpísané údaje a či sú typy ukazovateľov podporované alebo nie. Kvôli všetkým možným variáciám by bolo skvelé mať nejaké základné požiadavky, ktoré by museli spĺňať všetky jazyky podporujúce .NET.

CLS (Common Language Specification – spoločná špecifikácia pre programovacie jazyky) je presne súbor pravidiel, ktoré podrobne popisujú minimálny a úplný súbor funkčnosť, ktorý musí každý jednotlivý .NET kompilátor nevyhnutne podporovať, aby mohol takýto programový kód, ktorý by mohol obsluhovať CLR a ku ktorému by zároveň mohli pristupovať jednotným spôsobom všetky jazyky zacielené na platformu .NET. V mnohých ohľadoch možno CLS považovať jednoducho za podmnožinu všetkých funkcií definovaných v CTS.

V konečnom dôsledku je CLS súborom pravidiel, ktoré musia tvorcovia kompilátorov dodržiavať, ak chcú, aby ich produkty fungovali vo svete .NET hladko. Každé z týchto pravidiel má jednoduchý názov (napríklad „pravidlo CLS číslo 6“) a popisuje, ako sa vzťahuje na tých, ktorí píšu kompilátory, a na tých, ktorí s nimi (akýmkoľvek spôsobom) budú interagovať. Najdôležitejšia vec na CLS je pravidlo 1, hovorí to Pravidlá CLS sa vzťahujú len na tie časti typu, ktoré sú sprístupnené mimo zostavy, v ktorej sú definované .

Z tohto pravidla možno (a malo by sa) vyvodiť záver, že všetky ostatné pravidlá v CLS sa nevzťahujú na logiku použitú na zostavenie vnútorných pracovných častí typu .NET. Jediné aspekty typu, ktoré musia spĺňať požiadavky CLS, sú oni sami definície členov(t. j. konvencie pomenovania, parametre a návratové typy). V rámci logiky implementácie členov možno použiť ľubovoľný počet techník, ktoré nie sú konzistentné s CLS, pretože to nebude hrať žiadnu rolu pre vonkajší svet.

Zoberme si napríklad rozlišovanie malých a veľkých písmen. IL rozlišuje veľké a malé písmená. Vývojári, ktorí píšu v jazykoch, v ktorých sa rozlišujú malé a veľké písmená, vo veľkej miere využívajú flexibilitu, ktorú toto rozlišovanie malých a veľkých písmen poskytuje pri výbere názvov premenných. Avšak jazyk Visual Basic 2010 nerozlišuje veľké a malé písmená. Špecifikácia CLS tento problém obchádza špecifikovaním, že žiadny kód vyhovujúci CLS nesmie obsahovať žiadne páry mien, ktoré sa líšia iba veľkosťou písmen. Týmto spôsobom môže kód Visual Basic 2010 pracovať s kódom kompatibilným s CLS.

Tento príklad ilustruje, že CLS funguje dvoma spôsobmi.

Mazivá sa začali používať dávno pred naším letopočtom. A ak sa používali skôr rastlinné tuky a tuky živočíšneho pôvodu, od 60. rokov minulého storočia ich nahradili ropné produkty. Potom sa začal aktívny vývoj a zlepšovanie motorových olejov a asi pred 70 rokmi sa objavili prvé modifikátory viskozity polymérov, vďaka ktorým sa v motorových olejoch čoskoro objavili rôzne triedy a odrody, ktoré spĺňajú teplotné podmienky v určitých obdobiach roka a objavili sa aj celosezónne typy mazív.

Odvtedy prešlo zloženie a technické vlastnosti olejov mnohými zmenami, ale ich hlavný účel zostal nezmenený. Motorový olej je navrhnutý tak, aby pokryl pohyblivé časti tenkým, ale odolným filmom, čím ich chránil pred vzájomným trením.

Dnes existuje niekoľko systémov klasifikácie olejov, ktoré umožňujú rozdeliť mazivá podľa ich výkonu, technických vlastností a účelu. Medzi hlavné všeobecne akceptované systémy patrí medzi najznámejšie klasifikácia motorových olejov API. Zaviedol ho koncom 50-tych rokov nášho storočia Americký ropný inštitút a základným princípom v ňom je zatriedenie do dvoch kategórií - S a C, teda pre benzínové a naftové motory.

Špecifikácie oleja S a C

Ako je uvedené vyššie, systém API je rozdelený do dvoch hlavných kategórií, ale existuje aj tretie označenie pre kvalitu mazív. Z nich je každý typ nezávislý:

Všetky tieto normy sú označené dvojpísmenovým indexom, napríklad SN, SM, SH, SG, CF, CI, kde druhá hodnota je ukazovateľom úrovne výkonnostných charakteristík. Navyše, čím bližšie ku koncu latinskej abecedy je písmeno v označení, tým vyššia je hladina oleja API. Napríklad označenie produktu ako API SL, SM alebo SN označuje nadradenosť API SF.

Benzínové motory: triedy kvality, ich označenie a výklad

SkupinaPopis
SNMazivá SN sa líšia od špecifikácií SM, ktoré predchádzali tejto kategórii, tým, že obsahujú oveľa menej fosforu, čo im dáva ďalšie vlastnosti šetriace energiu a robí SN kompatibilným s najnovšie systémy zamerané na neutralizáciu výfukových plynov. Trieda SN bola schválená na jeseň roku 2010 a používa sa v motoroch najmodernejších automobilov. Stojí za zmienku, že oleje so špecifikáciou API SN sú svojimi vlastnosťami podobné ACEA C2, C3, C4, takže SN môže úspešne nahradiť mazivá triedy SM.
S.M.SM bol prvýkrát predstavený koncom roku 2004. Táto trieda je dnes bežnejšia ako CN, pretože je určená pre moderné benzínové motory vrátane viacventilových a preplňovaných motorov. Mazivá v tejto kategórii boli vyvinuté s ohľadom na zlepšenie motorov, a preto sú navrhnuté tak, aby zvyšovali ich environmentálnu bezpečnosť a boli odolnejšie voči opotrebovaniu. SM sa od predchádzajúcej kategórie SL líši väčšou odolnosťou voči oxidácii a výbornými ochrannými vlastnosťami proti tvorbe kalu a usadenín, čo určite ovplyvňuje vysoká kvalita mazivá. Dva roky po vydaní SM bola vyvinutá kategória olejov pre dieselové motory s označením CJ4.
Produkty špecifikácie SM sú určené a navrhnuté špeciálne pre vozidlá vyrobené od roku 2004.
SLTrieda SL bola vyvinutá krátko pred vydaním SM a SN. Je určený pre motory automobilov vyrábané od roku 2001 a absolútne spĺňa všetky moderné normy a požiadavky, vrátane vysokej ekologickej šetrnosti a úspory energie. SL sú určené pre moderné motory, vrátane viacventilových, preplňovaných a motorov prispôsobených na prevádzku na chudobné palivové zmesi. Motory, pre ktoré sú produkty kategórie SJ určené, môžu pracovať aj s mazivami skupiny SL.
Vďaka vlastnostiam, ako je znížená prchavosť, sa SL vyznačujú dlhodobým zachovaním svojich vlastností, vďaka čomu sa výrazne predlžuje interval výmeny motorového oleja. Dnes je táto kategória platná a široko používaná majiteľmi moderných automobilov.
S.J.Táto trieda platí aj dnes. Bol schválený v novembri 1995, hoci výrobok bol certifikovaný až o rok neskôr. Preto sa oleje kategórie SJ používajú pre automobily s benzínovými motormi od roku 1996. Úspešne sa používajú v motoroch osobných a športových automobilov, ako aj v motoroch minibusov a malých nákladných automobilov.
SJ ukazuje dobre technické údaje, vrátane odolnosti voči tvorbe usadenín a sadzí, ako aj schopnosti zachovať si svoje vlastnosti pri nízkych teplotách. Oleje kategórie SJ sú týmito vlastnosťami veľmi blízke produktom triedy SH, a preto sú celkom vhodné na použitie v prípadoch, keď výrobca automobilu odporúča použitie olejov kategórie SH do auta.
SHTáto kategória bola vytvorená v roku 1992 a považuje sa za podmienečne platnú. Oleje zahrnuté v tejto skupine sa používajú v motoroch automobilov vyrobených v roku 1996 a skôr. Z hľadiska svojich kvalít je táto trieda lepšia ako oleje kategórie SG, pretože bola vyvinutá, aby ju nahradila. Preto sa oleje triedy SH úspešne používajú pre autá, v ktorých sa odporúča SG.
S.G.Trieda SG je určená pre motory vyrobené v roku 1193 a skôr. Oleje tejto kategórie majú vynikajúcu ochranu proti sadziam a sú odolné voči oxidácii a korózii. Oleje SG spĺňajú všetky požiadavky na motorové oleje určené pre dieselové motory API CC, čo znamená, že SG je možné použiť pre automobily, v ktorých výrobca odporúča použitie kategórií SF a SF/CC, ako aj SE a SE/CC.

Špecifikácia olejov pre dieselové motory

Medzi modernými špecifikáciami motorových olejov sú najobľúbenejšie oleje triedy CI a CF. Sú navrhnuté s ohľadom na všetky vlastnosti moderných dieselových motorov a spĺňajú všetky normy.

C.I.Kategória CI-4 schválená v roku 2002. Sú určené pre rôzne dieselové motory, produkty špecifikácie CI sú vysoko odolné voči oxidácii a obsahujú disperzné prísady. CI sú v porovnaní s predchádzajúcimi triedami olejov celkom šetrné k životnému prostrediu. Stojí za zmienku, že zo všeobecnej kategórie CI existuje ďalšia trieda - CI -4 PLUS. Vylepšená trieda CI-4Plus bola vyvinutá s ohľadom na prísne požiadavky na prchavosť oleja a jeho oxidáciu počas zvýšené teploty a tvorbu sadzí.
CFŠpecifikácia CF bola vytvorená pre dieselové motory s nepriamym vstrekovaním. Vyznačujú sa vysokým obsahom rôznych prísad, ktoré zabraňujú usadzovaniu na piestoch a tiež chránia pred opotrebovaním a koróziou vnútorných častí obsahujúcich meď, napríklad ložísk.
Trieda CF môže byť označená ako CF-4 a CF-2, čo znamená motorové oleje určené na použitie v štvortaktných a dvojtaktných (resp.) dieselových motoroch.
CF-4 sú zároveň určené pre motory pracujúce v zrýchlenom režime a CF-2 sú ideálne pre motory, ktoré sú neustále vystavené zvýšenému zaťaženiu.

Video klasifikácie API

Špecifikácia

Špecifikácia- (Neskoro lat. specificatio, z lat. druh - rod, druh, varieta a facio - do) môže znamenať:

  1. definícia a zoznam špecifických znakov, prepracovaná klasifikácia niečoho;
  2. inžiniersky pojem označujúci súbor požiadaviek a parametrov, ktoré spĺňa nejaký technický objekt (napríklad most cez rieku spĺňa také parametre ako maximálna celková hmotnosť nákladu, maximálne zaťaženie nápravy, maximálna rýchlosť vietor atď.)

Podľa definície uvedenej v Jednotný systém projektová dokumentácia (ESKD), špecifikácia- hlavný projektový dokument definujúci zloženie montážnej jednotky, komplexu, stavebnice. Špecifikácia obsahuje podrobný zoznam komponentov a častí akéhokoľvek produktu, dizajnu, inštalácie atď., ktoré sú súčasťou montážneho alebo pracovného výkresu.

Podľa definície uvedenej v Polytechnickom slovníku, špecifikácia- dokument vyhotovený vo forme tabuľky, ktorý definuje zloženie výrobku. Obsahuje symboly komponentov, ich názvy a množstvá.

Odrody

Špecifikácia, doplnená o ceny za položky a dodatočné podmienky(cena, balenie, dodacie podmienky, údaje o zmluvných stranách) môžu byť neoddeliteľnou súčasťou zmluvy o dodávke, alebo pôsobiť ako komerčná ponuka. Tieto typy špecifikácií sa vytvárajú v reakcii na technická úloha(TOR) k zmluve na dodávku (výrobu) mechanizmov, zariadení a pod., alebo podľa dotazníka. Špecifikácia môže obsahovať súbor technických (a iných) podmienok (TS), ale tento súbor zvyčajne potvrdzuje technické požiadavky na technické špecifikácie. Samotná špecifikácia TK nie je, ale len odpoveďou na TK podľa dodacích podmienok.

Špecifikácia faktúry je súčasťou platobného dokladu.

Technická špecifikácia - špecifikácia technického zariadenia.

V informačnej vede a výpočtovej technike:

  • Špecifikácia formátu systém súborov(UDF atď.)
  • Špecifikácie a popisy programovacieho jazyka (CLI atď.)

SMILES je špecifikácia pre jednoznačný popis zloženia a štruktúry chemickej molekuly.

Špecifikácia môže obsahovať:

  • Popisný názov, číslo alebo iný špecifikačný identifikátor
  • Čas poslednej revízie a značka toho, kto revíziu vykonal
  • Logo alebo ochranná známka označujúca, kto má právo kopírovať, vlastníka a pôvod dokumentu
  • Obsah dokumentu, ak je dokument dlhý
  • Zodpovedná osoba alebo organizácia za otázky špecifikácie, aktualizácie a odchýlky
  • Význam, rozsah špecifikácie a jej účel
  • Termíny, definície a skratky na objasnenie špecifikácie
  • Metódy overovania pre všetky špecifikované požiadavky a charakteristiky
  • Materiálové požiadavky: fyzikálne, mechanické, elektrické, chemické a iné. Cieľové a platné
  • Požiadavky na testovanie výkonu. Cieľové a platné
  • Obrázky, fotografie alebo technické ilustrácie
  • Požiadavky na majstrovstvo
  • Požiadavky na certifikáciu
  • Bezpečnostné požiadavky
  • Požiadavky na životné prostredie
  • Kontrola zabezpečenia kvality, skúšobná vzorka, kontrola, kritérium prijatia práce
  • Osoba alebo organizácia zodpovedná za splnenie špecifikácie
  • Plnenie a doručenie
  • Podmienky pre odchýlky, opätovnú kontrolu, revíziu, úpravu meraní a charakteristík
  • Odkazy a citácie v texte špecifikácie, ktoré môžu byť potrebné na zabezpečenie zrozumiteľnosti dokumentu
  • Podpisy a povolenia, ak sú potrebné
  • Zmeniť ovládanie (pomocou špeciálneho počítačové programy) na postupný vývoj, overovanie a vykonávanie, ak je dokument určený na interné použitie
  • Prílohy, ktoré poskytujú podrobnosti, pridávajú jasnosť alebo objasňujú informácie o platbe

pozri tiež

Odkazy

Poznámky


Nadácia Wikimedia. 2010.

Synonymá:
  • Petrovskoye (región Jaroslavľ)
  • Manuel II Palaiologos

Pozrite si, čo je „Špecifikácia“ v iných slovníkoch:

    ŠPECIFIKÁCIA- dokument vyhotovený vo forme tabuľky, ktorý definuje zloženie výrobku. Obsahuje označenie komponentov, ich názov a množstvo (hlavný dokument používaný na kompletizáciu výrobkov). Slovník finančných pojmov...... Finančný slovník

    ŠPECIFIKÁCIA- 1) filozofický termín znamenajúci sebarozlíšenie. 2) recyklácia surovín alebo starých vecí do nový druh alebo nové formy, ktoré im dávajú vzhľad nových vecí. 3) osobné alebo presné maľovanie; prepočítavanie častí, ktoré tvoria celok; register...... Slovník cudzích slov ruského jazyka

    špecifikácia- a f. špecifikácia, nemčina Špecifikácia. lat. druh druh, odroda + facio do. 1. špeciálne Definícia a zoznam špecifických vlastností niečoho; klasifikácia. BAS 1. Na hradbách sú tu delá, mínomety so všetkými... ... Historický slovník galicizmov ruského jazyka

    špecifikácia- enumerácia, poznámka, definícia, klasifikácia, dokument, objasnenie Slovník ruských synoným. špecifikácia podstatné meno, počet synoným: 6 dokument (82) ... Slovník synonym

    Špecifikácia- (tlačivo č. TORG 10) sa používa v prípade, keď je fakturovaná dávka tovaru balená do škatúľ, sudov a pod. Špecifikáciu vypisuje v dvoch vyhotoveniach finančne zodpovedná osoba skladu (skladu); jedna kópia je pripojená k ... ... Encyklopedický slovník-príručka pre podnikových manažérov

    ŠPECIFIKÁCIA- (lat. specificatio) 1) v občianskom práve to isté ako spracúvanie ako spôsob vzniku vlastníckych práv; 2) zoznam ponúkaného alebo dodávaného tovaru s uvedením množstva pre každú triedu, značku, výrobok a v prípade potreby... ... Právny slovník

    Špecifikácia- zoznam výrobkov vyrábaných alebo ponúkaných na predaj, v ktorom je uvedené ich množstvo, trieda, značka, kvalitatívne znaky, ceny. Slovník obchodných pojmov. Akademik.ru. 2001... Slovník obchodných pojmov

    ŠPECIFIKÁCIA- 1) výpis detailov, ktorým je potrebné venovať osobitnú pozornosť 2) Jeden z hlavných dokumentov technickej projektovej dokumentácie (na výrobok, výrobky a pod.), zvyčajne vykonávaný vo forme tabuľky, v ktorej je uvedený názov je uvedené... Veľký encyklopedický slovník

    ŠPECIFIKÁCIA- zoznam tovaru ponúkaného na predaj alebo dodanie, v ktorom je uvedené jeho množstvo, akosť, značka, kvalitatívne znaky a prípadne aj ceny. Raizberg B.A., Lozovsky L.Sh., Starodubtseva E.B.. Moderný ekonomický slovník.... ... Ekonomický slovník

    ŠPECIFIKÁCIA- ŠPECIFIKÁCIA, špecifikácie, ženy. 1. len jednotky Akcia pod Ch. špecifikovať; vývoj, výpis detailov, detaily (kniha). 2. Dokument popisujúci vyrobený predmet (mechanizmus, stroj atď.), ktorým sa určuje... ... Slovník Ushakova

knihy

  • , Sheng Liang. Táto kniha popisuje rozhranie JNI. Kniha bude užitočná pre tých, ktorí sa zaujímajú o nasledovné problémy: - integrácia kódu napísaného v programovacích jazykoch ako C a C++ do... Kúpiť za 1009 RUR
  • Rozhranie JNI. Programovací manuál a špecifikácia, Sheng Liang. Kniha popisuje Java Native Interface (JNI) – rozhranie interoperability jazyk Java s natívnym kódom napísaným v iných jazykoch. Bude to užitočné pre programátorov Java,…