Specifikace motorových olejů dle API. Video klasifikace API

Popisy se používají k interpretaci každého z identifikátorů; nemusí být doprovázeny přidělením paměti spojené s identifikátorem. Popisy vypadají

spec-descriptions opt spec-list opt ​​​​;
definice funkce
specifikace-odkazy

Deskriptory v seznamu deskriptorů (§R.8) obsahují popisované identifikátory. Konstrukce specifikace-popis může chybět pouze v definici funkce (§R.8.3) nebo v popisu funkce. Deklarativní seznam může být prázdný pouze při deklaraci třídy (§R.9) nebo výčtu (§R.7.2), tzn. když popis-specifikace je specifikace třídy nebo specifikace výčtu. Konstrukce description-asm je vysvětlena v §R.7.3 a odkazy specifikace v §R.7.4. Popis se vyskytuje v definovaném rozsahu (§R.3.2), pravidla rozsahu jsou uvedena v §R.10.4.

R.7.1 Specifikace

V popisu lze použít následující specifikace:

specifikace-popis:
paměť-třída-spec
typ-spec
specifikace typu-šablony
specifikace-popisy:
specifikace-popisy opt specifikace-popisy

Nejdelší sekvence konstruktů specifikace-popis, což je možná název typu, tvoří v popisu konstrukt specifikace-popis. Pořadí musí být konzistentní, což je vysvětleno níže. Například,

statické PC; // chyba: žádné jméno

Zde je deklarace statického Pc nezákonná, protože není zadán žádný název statické proměnné typu Pc. Mít typ proměnné int s názvem Pc, je nutné specifikovat typovou specifikaci int, aby bylo indikováno, že se (re)definuje název Pc typedef, spíše než aby Pc byl jednoduše jedním z prvků sekvence konstruktů popis-specifikace, např.

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

Upozorňujeme, že jelikož se se znaménkem, bez znaménka, dlouhým a krátkým znaménkem ve výchozím nastavení zachází jako s int, konstrukce name-typedef, která se objeví po jedné z uvedených typových specifikací, musí specifikovat název, který má být (pře)definován, např.

void h(nepodepsané Pc); // void h(unsigned int)
void k(unsigned int Pc); // void k(unsigned int)

R.7.1.1 Specifikace tříd paměti

Specifikace tříd paměti mohou být:

Specifikace paměťové třídy:

Specifikace auto a registr lze použít pouze pro názvy objektů, které jsou popsány v bloku (§R.6.3) nebo pro formální parametry (§R.8.3). Specifikace auto je téměř vždy nadbytečná a málo používaná, takže auto se používá k explicitnímu oddělení příkazu deklarace od příkazu výrazu (§R.6.2).

Popis registru je automatický popis, který překladateli říká, že popsané proměnné budou používány poměrně intenzivně. Nápovědu lze ignorovat a v mnoha implementacích je ignorována, když se vezme adresa proměnné.

Popis objektu je považován za definici, pokud neobsahuje externí a inicializační specifikaci (§R.3.1).

Definice způsobí přidělení vhodné velikosti paměti a provedení příslušné inicializace (§R.8.4).

Statické a externí specifikace se mohou vztahovat pouze na názvy objektů nebo funkcí nebo na anonymní spojení. Uvnitř bloku nejsou povoleny popisy funkcí se statickou specifikací nebo formální parametry se statickou nebo externí specifikací. Statické členy třídy jsou popsány v §R.9.4. Externí specifikace neplatí pro členy třídy.

Název se statickou specifikací podléhá vnitřnímu propojení. Objekty deklarované jako const podléhají vnitřní vazbě, pokud nebyly deklarovány s externí vazbou. Název s externí specifikací podléhá externí vazbě, pokud dříve nebyl deklarován s vnitřní vazbou. Název v rozsahu souboru bez specifikace paměťové třídy podléhá externímu propojení, pokud nebyl dříve deklarován s interním propojením nebo specifikací const. Z hlediska vazby pro nečlenské funkce je inline specifikace ekvivalentní statické (§R.3.3). Pro jeden název musí souhlasit všechny jeho závazné specifikace. Například,

statický znak* f(); // f() má vnitřní vazbu
char* f() // f() je stále interní
char* g(); // g() má vnější vazbu
statický znak* g() // chyba: rozpor vazby
statický int a; // `a" má vnitřní vazbu
int a; // chyba: druhá definice
statický int b; // `b" má vnitřní vazbu
externí int b; // "b" je stále interní
int c; // `c" má vnější vazbu
statické int c; // chyba: závazný rozpor
externí int d; // `d" má vnější vazbu
statický int d; // chyba: závazný rozpor

V externí deklaraci lze použít název nedefinované třídy. Takový popis však nelze použít, dokud není třída definována, např.

g(a); // chyba: S není definováno
F(); // chyba: S není definováno

R.7.1.2 Specifikace funkcí

Některé specifikace lze použít pouze k popisu funkcí.

Inline specifikace říká překladateli, aby nahradil tělo funkce namísto obvyklé implementace volání funkce. Nápovědu lze ignorovat. V případě nečlenských funkcí inline specifikace navíc stanoví interní vazbu pro funkci (§R.3.3). Funkce (§R.5.2.2, §R.8.2.5) definovaná v deklaraci třídy má standardně inline specifikaci.

Členská funkce s vloženou specifikací musí mít přesně stejnou definici v každé překladové jednotce, ve které se vyskytuje.

Členská funkce nemusí být explicitně deklarována s vloženou specifikací v deklaraci třídy, aby byla považována za substituci. Pokud žádná vložená specifikace nebyla, bude vazba externí, pokud se před prvním voláním funkce neobjeví definice s vloženou specifikací.

inline int g(); // X::g() má vnitřní vazbu

int i = p-›f(); // nyní je X::f() vnější vazba

inline int X::f() // chyba: volání před definicí

inline int X::h() // X::h() je nyní vnitřně vázáno

Virtuální specifikaci lze použít pouze v deklaracích nestatických členských funkcí v deklaracích tříd (viz §R.10.2).

R.7.1.3 Specifikace Typedef

Deklarace Typedef specifikují identifikátory, které lze později použít k označení základních nebo odvozených typů. Specifikace typedef není v definici funkce povolena (§R.8.3).

V rámci (§R.3.2) deklarace typedef se jakýkoli identifikátor objevující se v části kteréhokoli z deskriptorů stává syntakticky ekvivalentním funkčnímu slovu a označuje typ spojený s tímto identifikátorem, jak je popsáno v §R.8. Název typedef-name je tedy synonymem pro jiný typ. Na rozdíl od deklarace třídy (§R.9.1) typename nepřidává nový typ. Například po popisu

návrhy

jsou legální popisy, vzdálenost je typu int a metricp je typu "ukazatel na int".

Pomocí definice typu můžete předefinovat název tak, aby znovu označoval typ, na který se již odkazovalo, a to i v rozsahu, ve kterém byl typ původně deklarován, např.

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

Nepojmenovaná třída, která je definována v definici typu, má jako název název použitý v definici typu, např.

typedef struct (/*… */) S; // název struktury se stal S

Typedef nelze použít k předefinování názvu typu deklarovaného ve stejném rozsahu k označení jiného typu, např.

typedef int komplex; // chyba: přepsat

Stejně tak nemůžete definovat třídu s názvem typu definovaného ve stejném rozsahu tak, aby označoval jiný typ, např.

komplex třídy (/*… */); // chyba: přepsat

Definice typu, která označuje třídu, je název třídy (§R.9.1). Synonymum nelze použít za následujícími předponami: class, struct a union, stejně jako ve jménech konstruktorů a destruktorů v popisu samotné třídy, např.


Sa = T(); // Pokuta

R.7.1.4 Specifikace šablony typu

Specifikace šablony typu se používá k určení rodiny typů nebo funkcí (viz §R.14).

R.7.1.5 Specifikace přítele

Specifikace přítele se používá k určení přístupu ke členům třídy (viz §R.11.4).

R.7.1.6 Typová specifikace

Specifikace typu zahrnují:

typová specifikace:
název jednoduchého typu
třída-spec
specifikace-výčty
komplexní typová specifikace

Při deklaraci objektu lze do jakékoli legální typové specifikace přidat slova const a volatile service. Ve všech ostatních případech nesmí být v popisu přítomna více než jedna typová specifikace. Objekt se specifikací const lze inicializovat, ale jeho hodnota se později nesmí změnit. Objekt se specifikací const, pokud nebyl výslovně deklarován jako externí, nepodléhá externímu propojení a musí být inicializován (§R.8.4, §R.12.1). Konstantní celé číslo inicializované konstantním výrazem lze použít v konstantním výrazu (§R.5.19). Každý prvek pole se specifikací const má stejnou specifikaci a každý nestatický nefunkční člen objektu třídy se specifikací const je sám považován za const (§R.9.3.1). Objekt typu bez konstruktoru nebo destruktoru, který má specifikaci const, lze umístit do paměti pouze pro čtení. Pokus o zápis do jakékoli části takového objektu buď povede ke zvláštní adresové situaci, nebo projde beze stopy, jako by objekt neměl specifikaci const.

Pro objekty s nestálou specifikací neexistuje žádné na implementaci nezávislé vysvětlení. Slouží jako nápověda pro překladatele, aby se vyhnul přílišné optimalizaci spojené s tímto objektem, protože hodnota objektu se může změnit způsobem skrytým před překladatelem. Každý prvek pole s volatilní specifikací má stejnou specifikaci a každý nestatický nefunkční člen objektu třídy s volatilní specifikací je sám považován za volatilní (§R.9.3.1).

Pokud typová specifikace není v prohlášení uvedena, předpokládá se, že je uvedena jako int.

jednoduchý typ-název:
celé jméno třídy
kvalifikovaný-název-typu

Nemůžete zadat více než jedno dlouhé nebo krátké funkční slovo s int. Lze je použít i jednotlivě, v takovém případě je typ považován za int. Servisní slovo long se může objevit společně s double. Nemůžete zadat více než jedno podepsané nebo nepodepsané funkční slovo s char, short, int nebo long. Lze je použít i jednotlivě, v takovém případě je typ považován za int. Specifikace se znaménkem označuje, že objekty typu char a bitová pole jsou se znaménkem, u ostatních celočíselných typů je tato specifikace nadbytečná.

Konstrukty specifikace třídy a specifikace výčtu jsou definovány v §R.9 a §R.7.2.

komplexní typová specifikace:
třída-slovo třída-jméno
identifikátor třídy funkce-slovo
třídní slovo:

Pokud je zadán identifikátor, komplexní typová specifikace jej popisuje jako název třídy (viz §R.9.1).

Pokud je definován název, který je popsán specifikací sjednocení, musí být definován jako sjednocení. Pokud je definován název, který je popsán specifikací třídy, pak musí být definován pomocí specifikace třídy nebo struktury. Pokud je definován název, který je popsán specifikací struktury, musí být definován specifikací třídy nebo struktury. Názvy vnořených typů (§R.9.7) musí být kvalifikovány názvem obklopující třídy:

kvalifikovaný-název-typu:
název-třídy:: název-kvalifikovaného-typu
celý název třídy:
kvalifikovaný-název-třídy
:: kvalifikovaný-název-třídy
kvalifikovaný-název-třídy:
název-třídy:: kvalifikovaný název-třídy

Jméno kvalifikované názvem-třídy musí být typu definovaného v této třídě nebo v základní třídě této třídy. Jako obvykle jméno deklarované v odvozené třídě zneviditelní členy s tímto jménem ze základních tříd (viz §R.3.2).

R.7.2 Popis výčtu

Výčet je samostatný celočíselný typ (§R.3.6.1) s pojmenovanými konstantami. Jeho název se ve svém rozsahu stává konstruktem výčtu-jméno, tzn. slouží jako rezervované slovo.

enum-name:
specifikace-výčty:
enum identifikátor opt ( enum-list )
enum-list:
enum-položka
výčtový-seznam, výčtový-položka
enum-item:
identifikátor = konstantní výraz

Všechny identifikátory ve výčtovém seznamu jsou považovány za deklarované konstanty a mohou se objevit všude tam, kde jsou vyžadovány konstanty. Pokud by nebyly žádné prvky výčtu s =, pak hodnoty konstant začínají od nuly a postupně se zvyšují o jedničku, jak se pohybují v seznamu zleva doprava. Pokud se setkáme s prvkem výčtu s =, pak jeho identifikátor nabude dané hodnoty a následující identifikátory bez inicializační části získají rostoucí hodnoty, počínaje od dané. Hodnota prvku výčtu musí být typu int nebo hodnota, kterou lze přetypovat na int pomocí standardních celočíselných převodů (§R.4.1).

Názvy prvků výčtu se musí lišit od názvů běžných proměnných a jiných prvků výčtu stejného rozsahu. Hodnoty prvků výčtu se nemusí navzájem lišit. Prvek výčtu se považuje za popsaný od okamžiku, kdy se objeví jeho identifikátor nebo inicializační hodnota (pokud existuje). Například v definicích

hodnoty a, c a d jsou uvedeny jako 0, b a e jako 1 a f jako 3.

Každý enum je integrální typ, který se liší od všech ostatních integrálních typů. Typ prvku výčtu je daný výčet. Hodnota prvku výčtu nebo objektu výčtového typu se převede na celé číslo pomocí standardních převodů celých čísel (§R.4.1). Například v následujícím úryvku:

barva výčtu (červená, žlutá, zelená=20, modrá);

color je definován jako celočíselný typ popisující různé barvy, col je definován jako objekt tohoto typu a cp je definován jako ukazatel na objekt tohoto typu. Možné hodnoty pro objekt typu barva jsou červená, žlutá, zelená, modrá. Tyto hodnoty lze převést na celočíselné hodnoty 0, 1, 20 a 21. Protože každý výčet je samostatný typ, objektu typu barva lze přiřadit pouze hodnoty typu barva, např.

barva c = 1; // chyba: neshoda typu
// žádný převod z int na barvu
int i = žlutá; // ok: žlutá se převede na int s hodnotou 1
// standardní celočíselná konverze

Viz také §R.18.3.

Členové výčtu definované ve třídě (§R.9) spadají do rozsahu této třídy a lze k nim přistupovat zvenčí členských funkcí této třídy pouze na základě explicitní kvalifikace podle názvu třídy (§R.5.1). Samotný název výčtového typu je pro danou třídu lokální (§R.9.7), např.

popis-seznam:
popis-seznam popis

Požadovaná vazba je určena pomocí řetězcového literálu. Jeho účel je implementačně definovaný. Ale všechny implementace musí poskytovat vazbu na funkci v jazyce C ("C") a funkci v jazyce C++ ("C++"). Výchozí vazba je nastavena na "C++", např.

komplexní sqrt(komplex); // výchozí vazba na C++
double sqrt(double); // vazba na C

Komunikační specifikace mohou být vnořené. Specifikace komunikace nespecifikuje rozsah. Specifikace odkazu se může objevit pouze v rozsahu souboru (§R.3.2). Specifikace vazby pro třídu odkazuje na objekty v ní popsané a nečlenské funkce. Specifikace vazby, která platí pro funkci, platí také pro všechny objekty a funkce v ní popsané. Popis připojení obsahující řetězec neznámý implementaci je považován za nesprávný.

Pokud má funkce více než jednu specifikaci připojení, pak musí být konzistentní, tzn. nastavte stejný doslovný řetězec. Popis funkce bez specifikace odkazu nesmí předcházet první specifikaci odkazu pro danou funkci. Funkce může být deklarována bez specifikace specifikace vazby i poté, co byla specifikace vazby explicitně specifikována, ale vazba explicitně specifikovaná v dřívější deklaraci nebude takovou deklarací funkce odstraněna.

Z množiny přetížených funkcí (§R.13) s daným názvem může mít nejvýše jedna vazbu C, viz §R.7.4.

Vazbu lze nastavit pro objekty, například:

int _flsbuf(nepodepsané,_iobuf*);

Když je specifikována komunikace, funkce a objekty mohou být popsány jako statické v ( ). U takových funkcí nebo objektů je příkaz bind ignorován. Jinak se s funkcí deklarovanou při zadávání odkazu zachází, jako by byla explicitně deklarována jako externí, například druhý popis níže je chybný (§R.7.1.1):

static double f(); // chyba

Objekt popsaný v konstrukci

je stále považována za definitivní a nikoli pouze popsanou.

Propojení objektů C++ s objekty definovanými v jiných jazycích, stejně jako zpětná vazba, závisí na jazyku a implementaci. Takové propojení je možné pouze tehdy, pokud jsou algoritmy pro umisťování objektů do paměti dostatečně podobné pro oba jazyky.

Pokud se k určení vztahu v doslovném řetězci ze specifikace vztahu používá název programovacího jazyka, doporučuje se zkopírovat pravopis tohoto názvu z dokumentu definujícího daný jazyk např. Ada (ne ADA) a Fortran (ne FORTRAN).

oddělení 304

Laboratorní práce č. 2

v předmětu "Programování"

Vyplněno studentem 315 GR.

Startseva A.V.

Zkontroloval jsem doc. oddělení 304

Bakumenko N.S.

________________________

Předmět:"SpecifikaceS++"

Cíl práce: Naučte se psát popis hlavních charakteristik programu nebo podprogramu. Specifikace vždy obsahuje tyto charakteristiky: zadání problému, který daný program nebo podprogram řeší, popis výchozích dat, popis výsledků, popis speciálních situací.

Stav:

9,59. Byl podán návrh. Určete počet písmen "Ó" v něm.

9.101 Slovo je dáno. Prohoďte jeho třetí a poslední písmeno.

9.155.Slovo obsahuje pouze dvě stejná písmena. Najít je.

Výkon:

Název:Vvod

Popis: Funkce čte hodnotu znaku z konzoly.

Počáteční údaje:

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

Popis: 1) proměnná, ke které je přiřazena konkrétní hodnotu(nějaký symbol); 2) daná věta nebo slovo - parametr podprogramu, přenášený z hlavního programu ve formě sady znaků.

Typ a rozsah: 1) Char, libovolné znaky; 2) řetězec, libovolné symboly

Výsledek: Funkce čte data zadaná uživatelem z klávesnice.

Výjimečné popisy:

Popis: 1) byla zadána data nesprávného typu 2) bylo zadáno více dat, než je pro program nutné

Léčba: 1), 2) - zobrazí se zpráva, že při sestavování programu byly zjištěny chyby.

Název:Vuvod

Popis: Funkce vypíše z konzoly celé číslo, znakovou hodnotu nebo řetězec.

Počáteční údaje:

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

Popis: n, s, h. - proměnné, kterým je přiřazen výsledek funkce (zadané úlohy). 1) Podprogram vrací jednu hodnotu – počet písmen "Ó" v dané větě. 2) Podprogram vrací pole typu char, ve kterém jsou prohozeny druhý a poslední prvek (slovo, ve kterém jsou prohozeny třetí a poslední písmeno). 3) Podprogram vrací jednu hodnotu - písmeno , což se opakuje ve slově.

TypArozsah: 1) int; 2) řetězec; 3) char.

Výsledek: funkce zobrazí výsledek programu, tedy zobrazí proměnné n, s, h.

Název: Func

Popis: Definuje počet písmen "Ó" v dané větě.

Počáteční údaje:

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

Popis: 1) Zdrojové pole (daná věta) je parametr podprogramu, přenesený z hlavního programu ve formě sady znaků. 2) proměnná, které je přiřazen symbol „o“.

Typ a rozsah: 1) řetězec, libovolné znaky. 2) Char, o symbol.

Výsledek:

Název: cout

Popis: Podprogram vypíše hodnotu proměnné n.

Typ a rozsah Int

Výjimečné popisy

Popis: věta neobsahuje písmeno o.

Léčba: zobrazí se zpráva, že věta neobsahuje písmeno o.

Název: Func1

Popis: Funkce zamění třetí a poslední písmeno uživatelem zadaného slova.

Počáteční údaje:

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

Popis: 1) Zdrojové pole (zadané slovo) – parametr podprogramu, přenesený z hlavního programu ve formě sady znaků. 2) proměnná, ke které je přiřazena hodnota druhého prvku pole. 2) proměnné, kterým jsou přiřazeny indexy třetího a posledního písmene daného slova. 3) proměnná, které je nejprve přiřazena hodnota druhého prvku pole a poté je znovu přiřazena za běhu programu.

Typ a rozsah: 1) řetězec, libovolné symboly; 2) int 3) int.

Výsledek:

Název: cout

Popis: Podprogram vypíše hodnotu proměnné s

Typ a rozsah: tětiva.

Výjimečné popisy

Popis: 1) pole není správně zadáno, 2) indexy jsou nastaveny na nesprávný typ.

Léčba: 1), 2) - zobrazí se zpráva, že při sestavování programu byly zjištěny chyby.

Název: Func2

Popis: Funkce najde dvě stejná písmena obsažená v daném slově.

Počáteční údaje:

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

Popis: 1) Zdrojové pole (zadané slovo) – parametr podprogramu, přenesený z hlavního programu ve formě sady znaků.

Typ a rozsah: 1) char

Výsledek:

Název: cout

Popis: Podprogram vypíše hodnotu proměnné h.

Typ a rozsah: char.

Výjimečné situace:

Popis: 1) slovo neobsahuje shodná písmena 2) slovo se skládá ze všech stejných písmen 3) pole není správně zadáno

Léčba: 1), 2) - zobrazí se číslo „-1“. 3) zobrazí se zpráva, že při sestavování programu byly zjištěny chyby.

Společná jazyková specifikace CLS

Jak je známo, v různé jazyky programování, stejné programové konstrukce jsou vyjádřeny svým vlastním jedinečným, jazykově specifickým způsobem. Například v C# je zřetězení řetězců indikováno pomocí znaménka plus (+), zatímco ve VB se pro tento účel obvykle používá ampersand (&). I když je stejný programovací idiom vyjádřen ve dvou různých jazycích (například funkce, která nevrací hodnotu), je velmi vysoká pravděpodobnost, že syntaxe bude vypadat velmi odlišně.

Jak již bylo ukázáno, takové malé odchylky v syntaxi pro běhové prostředí .NET jsou bezvýznamné vzhledem k tomu, že odpovídající kompilátory (v v tomto případě- csc.exe a vbc.exe) generují podobnou sadu instrukcí CIL. Jazyky se však mohou lišit také celkovou úrovní funkčnosti. Například v některém jazyce .NET může a nemusí být klíčové slovo reprezentovat nepodepsaná data a zda jsou typy ukazatelů podporovány nebo ne. Vzhledem ke všem možným variantám by bylo skvělé mít nějaké základní požadavky, které by všechny jazyky podporující .NET musely splňovat.

CLS (Common Language Specification – společná specifikace pro programovací jazyky) je přesně soubor pravidel, která podrobně popisují minimální a úplný soubor funkčnost, který musí každý jednotlivý .NET kompilátor nutně podporovat, aby takový mohl vygenerovat programový kód, který by mohl obsluhovat CLR a ke kterému by zároveň mohly jednotným způsobem přistupovat všechny jazyky cílící na platformu .NET. V mnoha ohledech lze CLS považovat jednoduše za podmnožinu všech funkcí definovaných v CTS.

V konečném důsledku je CLS souborem pravidel, která musí tvůrci kompilátorů dodržovat, pokud chtějí, aby jejich produkty fungovaly ve světě .NET hladce. Každé z těchto pravidel má jednoduchý název (například „pravidlo CLS číslo 6“) a popisuje, jak se vztahuje na ty, kteří píší kompilátory, a na ty, kteří s nimi (jakýmkoli způsobem) budou interagovat. Nejdůležitější na CLS je pravidlo 1, říká to Pravidla CLS se vztahují pouze na ty části typu, které jsou zpřístupněny mimo sestavu, ve které jsou definovány .

Z tohoto pravidla lze (a mělo by) vyvodit, že všechna ostatní pravidla v CLS se nevztahují na logiku použitou k sestavení vnitřních pracovních částí typu .NET. Jedinými aspekty typu, které musí vyhovovat CLS, jsou oni sami definice členů(tj. konvence pojmenování, parametry a návratové typy). V rámci implementační logiky členů lze použít libovolný počet technik, které nejsou konzistentní s CLS, protože to nebude hrát žádnou roli pro vnější svět.

Vezměme si například rozlišování malých a velkých písmen. IL rozlišuje velká a malá písmena. Vývojáři, kteří píší v jazycích rozlišujících velká a malá písmena, hojně využívají flexibilitu, kterou toto rozlišování malých a velkých písmen poskytuje při výběru názvů proměnných. Nicméně jazyk Visual Basic 2010 nerozlišuje velká a malá písmena. Specifikace CLS tento problém řeší určením, že žádný kód vyhovující CLS nesmí obsahovat žádné páry jmen, které se liší pouze velikostí písmen. Tímto způsobem může kód Visual Basic 2010 pracovat s kódem vyhovujícím CLS.

Tento příklad ukazuje, že CLS funguje dvěma způsoby.

Maziva se začala používat dávno před naším letopočtem. A pokud se dříve používaly rostlinné tuky a tuky živočišného původu, pak od 60. let minulého století byly nahrazeny ropnými produkty. Poté začal aktivní vývoj a zlepšování motorových olejů a asi před 70 lety se objevily první modifikátory viskozity polymerů, díky nimž se v motorových olejích brzy objevily různé třídy a odrůdy, které splňují teplotní podmínky v určitých obdobích roku a objevily se i celoroční typy maziv.

Od té doby prošlo složení a technické vlastnosti olejů mnoha změnami, ale jejich hlavní účel zůstal nezměněn. Motorový olej je navržen tak, aby pokryl pohyblivé části tenkým, ale odolným filmem, a tím je chránil před vzájemným třením.

Dnes existuje několik systémů klasifikace olejů, které umožňují rozdělit maziva podle jejich výkonu, technických vlastností a účelu. Mezi hlavní obecně uznávané systémy patří mezi nejznámější klasifikace motorových olejů API. Zavedl jej koncem 50. let našeho století American Petroleum Institute a základním principem v něm je zařazení do dvou kategorií - S a C, tedy pro benzínové a naftové motory.

Specifikace oleje S a C

Jak bylo uvedeno výše, systém API se dělí do dvou hlavních kategorií, existuje však i třetí označení pro kvalitu maziv. Z nich je každý typ nezávislý:

Všechny tyto standardy jsou označeny dvoupísmenným indexem, například SN, SM, SH, SG, CF, CI, kde druhá hodnota je ukazatelem úrovně výkonnostních charakteristik. Navíc, čím blíže konci latinské abecedy je písmeno v označení, tím vyšší je hladina oleje API. Například označení produktu jako API SL, SM nebo SN označuje nadřazenost API SF.

Benzínové motory: jakostní třídy, jejich označení a výklad

SkupinaPopis
SNMaziva SN se od specifikací SM, které předcházely této kategorii, liší tím, že obsahují mnohem méně fosforu, což jim dodává další vlastnosti pro úsporu energie a činí SN kompatibilní s nejnovější systémy zaměřené na neutralizaci výfukových plynů. Třída SN byla schválena na podzim roku 2010 a používá se v motorech nejmodernějších automobilů. Stojí za zmínku, že oleje se specifikací API SN jsou svými vlastnostmi podobné ACEA C2, C3, C4, takže SN může úspěšně nahradit maziva třídy SM.
S.M.SM byl poprvé představen na konci roku 2004. Tato třída je dnes běžnější než CN, protože je určena pro moderní benzinové motory včetně víceventilových a přeplňovaných motorů. Maziva v této kategorii byla vyvinuta s ohledem na zlepšení motorů, a proto jsou navržena tak, aby zvyšovala jejich ekologickou bezpečnost a byla odolnější proti opotřebení. SM se od předchozí kategorie SL liší větší odolností proti oxidaci a výbornými ochrannými vlastnostmi proti tvorbě kalů a usazenin, což jistě ovlivňuje vysoká kvalita maziva. Dva roky po uvedení SM byla vyvinuta kategorie olejů pro dieselové motory s označením CJ4.
Produkty specifikace SM jsou určeny a navrženy speciálně pro vozidla vyrobená od roku 2004.
SLTřída SL byla vyvinuta krátce před vydáním SM a SN. Je určen pro motory automobilů vyráběné od roku 2001 a naprosto splňuje všechny moderní normy a požadavky, včetně vysoké šetrnosti k životnímu prostředí a úspory energie. SL jsou určeny pro moderní motory, včetně víceventilových, přeplňovaných a motorů upravených pro provoz na chudé palivové směsi. Motory, pro které jsou určeny produkty kategorie SJ, mohou pracovat i s mazivy skupiny SL.
Díky vlastnostem, jako je snížená těkavost, se SL vyznačují dlouhodobým zachováním svých vlastností, díky čemuž se znatelně prodlužuje interval výměny motorového oleje. Dnes je tato kategorie platná a široce využívaná majiteli moderních automobilů.
S.J.Tato třída platí i dnes. To bylo schváleno v listopadu 1995, ačkoli produkt byl certifikován až o rok později. Proto se oleje kategorie SJ používají pro vozy s benzínovými motory počínaje rokem 1996. S úspěchem se používají v motorech osobních a sportovních automobilů, dále v motorech minibusů a malých nákladních automobilů.
SJ ukazuje dobře Specifikace, včetně odolnosti vůči tvorbě usazenin a sazí a také schopnosti zachovat si své vlastnosti při nízkých teplotách. Těmito vlastnostmi jsou oleje kategorie SJ velmi blízké produktům třídy SH, a proto jsou zcela vhodné pro použití v případech, kdy výrobce automobilu doporučuje použití olejů kategorie SH pro automobil.
SHTato kategorie byla vytvořena v roce 1992 a je považována za podmíněně platnou. Oleje zařazené do této skupiny se používají v motorech automobilů vyrobených v roce 1996 a dříve. Z hlediska svých kvalit je tato třída lepší než oleje kategorie SG, protože byla vyvinuta, aby ji nahradila. Proto se oleje třídy SH s úspěchem používají pro vozy, ve kterých se doporučuje SG.
S.G.Třída SG je určena pro motory vyrobené v roce 1193 a dříve. Oleje této kategorie mají vynikající ochranu proti sazím a jsou odolné proti oxidaci a korozi. Oleje SG splňují všechny požadavky na motorové oleje určené pro dieselové motory API CC, což znamená, že SG lze použít pro vozy, u kterých výrobce doporučuje použití kategorií SF a SF/CC, ale i SE a SE/CC.

Specifikace olejů pro dieselové motory

Mezi moderními specifikacemi motorových olejů jsou nejoblíbenější oleje třídy CI a CF. Jsou navrženy s ohledem na všechny vlastnosti moderních vznětových motorů a splňují všechny normy.

C.I.Kategorie CI-4 schválena v roce 2002. Jsou určeny pro různé dieselové motory, produkty specifikace CI jsou vysoce odolné proti oxidaci a obsahují disperzní přísady. CI jsou ve srovnání s předchozími třídami olejů docela šetrné k životnímu prostředí. Stojí za zmínku, že z obecné kategorie CI existuje další třída - CI -4 PLUS. Vylepšená třída CI-4Plus byla vyvinuta s ohledem na přísné požadavky na těkavost oleje a jeho oxidaci během zvýšené teploty a tvorbou sazí.
CFSpecifikace CF byla vytvořena pro vznětové motory s nepřímým vstřikováním. Vyznačují se vysokým obsahem různých přísad, které zabraňují usazeninám na pístech a také chrání proti opotřebení a korozi vnitřních dílů obsahujících měď, například ložisek.
Třída CF může být označena CF-4 a CF-2, což znamená motorové oleje určené pro použití ve čtyřdobých a dvoudobých (respektive) vznětových motorech.
CF-4 jsou zároveň určeny pro motory pracující ve zrychleném režimu a CF-2 jsou ideální pro motory, které jsou neustále vystaveny zvýšenému zatížení.

Video klasifikace API

Specifikace

Specifikace- (Late Lat. specificatio, z lat. species - rod, druh, varieta a facio - do) může znamenat:

  1. definice a seznam specifických znaků, zpřesněná klasifikace něčeho;
  2. inženýrský termín označující soubor požadavků a parametrů, které splňuje nějaký technický objekt (např. most přes řeku splňuje takové parametry, jako je maximální celková hmotnost zatížení, maximální zatížení náprav, maximální rychlost vítr atd.)

Podle definice uvedené v Jednotný systém projektová dokumentace (ESKD), Specifikace- hlavní konstrukční dokument definující složení montážní jednotky, komplexu, stavebnice. Specifikace obsahuje podrobný seznam součástí a dílů jakéhokoli výrobku, konstrukce, instalace atd., které jsou součástí montážního nebo pracovního výkresu.

Podle definice uvedené v Polytechnickém slovníku Specifikace- dokument vyrobený ve formě tabulky, která definuje složení produktu. Obsahuje symboly komponenty, jejich názvy a množství.

Odrůdy

Specifikace, doplněná cenami za položky a dodatečné podmínky(cena, balení, dodací podmínky, údaje o smluvních stranách) mohou být nedílnou součástí smlouvy o dodávce nebo působit jako komerční nabídka. Tyto typy specifikací jsou vytvářeny v reakci na technický úkol(TOR) ke smlouvě na dodávku (výrobu) mechanismů, zařízení apod. nebo dle dotazníku. Specifikace může obsahovat soubor technických (a jiných) podmínek (TS), ale tento soubor obvykle potvrzuje technické požadavky na technické specifikace. Samotná specifikace TK není, ale pouze odpovědí na TK dle dodacích podmínek.

Specifikace faktury je součástí platebního dokladu.

Technická specifikace - specifikace technického zařízení.

V informační vědě a výpočetní technice:

  • Specifikace formátu souborový systém(UDF atd.)
  • Specifikace a popisy programovacích jazyků (CLI atd.)

SMILES je specifikace pro jednoznačný popis složení a struktury chemické molekuly.

Specifikace může obsahovat:

  • Popisný název, číslo nebo jiný specifikační identifikátor
  • Čas poslední revize a značka toho, kdo revizi provedl
  • Logo nebo ochranná známka označující, kdo má právo kopírovat, vlastníka a původ dokumentu
  • Obsah dokumentu, pokud je dokument dlouhý
  • Odpovědná osoba nebo organizace za otázky specifikace, aktualizace a odchylky
  • Význam, rozsah specifikace a její účel
  • Termíny, definice a zkratky pro upřesnění specifikace
  • Metody ověřování pro všechny specifikované požadavky a charakteristiky
  • Materiálové požadavky: fyzikální, mechanické, elektrické, chemické a jiné. Cílové a platné
  • Požadavky na testování výkonu. Cílové a platné
  • Obrázky, fotografie nebo technické ilustrace
  • Požadavky na mistrovství
  • Požadavky na certifikaci
  • Bezpečnostní požadavky
  • Environmentální požadavky
  • Kontrola jakosti, zkušební vzorek, kontrola, kritérium přijatelnosti práce
  • Osoba nebo organizace odpovědná za splnění specifikace
  • Plnění a dodání
  • Podmínky pro odchylky, překontrolování, revizi, úpravu měření a charakteristik
  • Odkazy a citace v textu specifikace, které mohou být potřebné k zajištění jasnosti dokumentu
  • Podpisy a povolení, jsou-li vyžadovány
  • Změna ovládání (pomocí speciálního počítačové programy) pro sekvenční vývoj, ověřování a provádění, pokud je dokument určen pro interní použití
  • Přílohy, které poskytují podrobnosti, dodávají srozumitelnost nebo objasňují platební údaje

viz také

Odkazy

Poznámky


Nadace Wikimedia. 2010.

Synonyma:
  • Petrovskoye (Jaroslavlská oblast)
  • Manuel II Palaiologos

Podívejte se, co je „Specifikace“ v jiných slovnících:

    SPECIFIKACE- dokument vyrobený ve formě tabulky, která definuje složení produktu. Obsahuje označení komponentů, jejich název a množství (hlavní dokument používaný pro kompletaci výrobků). Slovník finančních pojmů...... Finanční slovník

    SPECIFIKACE- 1) filozofický termín znamenající seberozlišování. 2) recyklace surovin nebo starých věcí do nový druh nebo nové formy, které jim dávají vzhled nových věcí. 3) osobní nebo přesná malba; vyprávění částí, které tvoří celek; registr ...... Slovník cizích slov ruského jazyka

    Specifikace- a f. specifikace, něm Specifikace. lat. druh druh, varieta + facio do. 1. speciální Definice a seznam specifických znaků něčeho; klasifikace. BAS 1. Tady na hradbách jsou děla, minomety se všemi... ... Historický slovník galicismů ruského jazyka

    Specifikace- výčet, poznámka, definice, klasifikace, dokument, objasnění Slovník ruských synonym. specifikace podstatné jméno, počet synonym: 6 dokument (82) ... Slovník synonym

    Specifikace- (formulář č. TORG 10) se používá v případě, kdy je fakturovaná dávka zboží balena do krabic, sudů apod. Specifikace sepisuje ve dvou vyhotoveních finančně odpovědná osoba skladu (skladu); jedna kopie je připojena k ... ... Encyklopedický slovník-příručka pro podnikové manažery

    SPECIFIKACE- (lat. specificatio) 1) v občanském právu totéž jako zpracování jako způsob vzniku vlastnického práva; 2) seznam nabízeného nebo dodávaného zboží s uvedením množství pro každý druh, značku, předmět a v případě potřeby... ... Právní slovník

    Specifikace- seznam výrobků vyráběných nebo nabízených k prodeji, který uvádí jejich množství, stupeň, značku, jakostní znaky, ceny. Slovník obchodních podmínek. Akademik.ru. 2001... Slovník obchodních podmínek

    SPECIFIKACE- 1) výčet detailů, kterým je třeba věnovat zvláštní pozornost 2) Jeden z hlavních dokumentů technické projektové dokumentace (pro výrobek, výrobky atd.), obvykle prováděný ve formě tabulky s názvem . .. Velký encyklopedický slovník

    SPECIFIKACE- seznam zboží nabízeného k prodeji nebo dodání s uvedením jeho množství, jakosti, značky, jakostních znaků a případně ceny. Raizberg B.A., Lozovsky L.Sh., Starodubtseva E.B.. Moderní ekonomický slovník.… … Ekonomický slovník

    SPECIFIKACE- SPECIFIKACE, specifikace, ženy. 1. pouze jednotky Akce pod Ch. specifikovat; vývoj, výpis detailů, detaily (kniha). 2. Dokument popisující vyrobený předmět (mechanismus, stroj atd.), kterým se určuje... ... Slovník Ushakova

knihy

  • , Sheng Liang. Tato kniha popisuje rozhraní JNI. Kniha bude užitečná pro ty, kteří se zajímají o následující problematiku: - integrace kódu napsaného v programovacích jazycích jako C a C++ do... Koupit za 1009 RUR
  • rozhraní JNI. Programovací manuál a specifikace, Sheng Liang. Kniha popisuje Java Native Interface (JNI) - rozhraní interoperability jazyk Java s nativním kódem napsaným v jiných jazycích. Bude to užitečné pro programátory Java,…