• Co je ZÁKLADNÍ v informatice. Základy programování v základním jazyce. Stanovení cíle lekce

    Na kterých byly použity, byly navrženy tak, aby je obsluhovali vyškolení technici a programátoři. Jelikož byly stroje drahé, byl drahý i strojový čas - proto byla na prvním místě rychlost provádění programu (rychlost počítání).

    Během 60. let však ceny počítačů začaly klesat, takže si je mohly dovolit i malé firmy; jejich výkon se zvýšil a přišla doba, kdy bylo možné organizovat efektivnější přímou práci uživatelů s počítači v režimu sdílení času ( sdílení času).

    Narození

    Výška

    Přestože byl jazyk již používán na několika minipočítačích, jeho skutečné rozšíření začalo až s jeho objevením na mikropočítači Altair 8800. Mnoho programovacích jazyků bylo příliš velkých na to, aby se vešly do malé paměti, kterou si uživatelé takových strojů mohli dovolit. Pro stroje s pomalými médii, jako je papírová páska (později audiokazeta) a bez vhodného textového editoru, byl malý jazyk jako BASIC darem z nebes.

    BASIC se používá v některých modelech programovatelných kalkulátorů. Například byl zabudován do sovětské kalkulačky Electronics MK-85.

    Popis

    Syntaxe jazyka se podobá Fortranu a mnohé prvky jsou z něj explicitní výpůjčky. Jazyk byl koncipován pro učení, takže jeho návrhy jsou co nejjednodušší. Stejně jako u jiných programovacích jazyků jsou klíčová slova převzata z angličtiny. Existují dva základní datové typy: řetězce a čísla. S příchodem verze Visual Basic a také jejích různých modifikací (např. VBA) se v jazyce objevilo mnoho dalších datových typů a doplňků, které jsou typické pro moderní programovací jazyky (jako je objektový model). Deklarace proměnných nevyžaduje speciální sekci (na rozdíl např. od Pascalu). Deklarování proměnné je jejím prvním použitím.

    Rané verze BASICu (jako BASICA, GW-BASIC) se výrazně liší od moderních dialektů a dnes se prakticky nepoužívají.

    Rané verze

    Vzhled programů v raných verzích BASICu byl do značné míry dán tím, že byl určen pro programovací prostředí s editorem řádkového textu. V takovém editoru nebyl uživatel schopen zobrazit veškerý text na obrazovce (v okně), pohybovat se po něm libovolným směrem pomocí klávesnice a / nebo myši. V řádkových editorech pro změnu řádku textu musí uživatel zadat příkaz ke změně řádku s daným číslem a poté zadat nový text zadaného řádku. Chcete-li vložit nový řádek, musíte zadat příkaz insert, opět s uvedením čísla. Vstupní řetězce se na obrazovce zobrazují postupně (bez ohledu na čísla). Pro zobrazení provedených změn se používá příkaz output text, který vypíše řádky ve správném pořadí (vzestupně čísla).

    To vše se odráží v BASICu. Každý řádek začíná číslem. Po zadání do editoru se řádek objevil ve zdrojovém kódu programu na pozici odpovídající jeho číslu. Pro vložení nového řádku bylo nutné přidat řádek s číslem, které bylo v rozmezí mezi čísly dalších dvou řádků. Nebylo možné „roztáhnout“ řádky, pokud bylo nutné vložit nový řádek mezi řádky se sousedními čísly, bylo nutné tyto řádky znovu zadat s jinými čísly, aby se zajistila mezera v číslování (nebo použijte speciální příkaz RENUM, který přečísloval všechny již zadané řádky s konstantním krokem, synchronně měnil všechny skokové příkazy). Pro zjednodušení on-line editace programu se stalo zvykem číslovat řádky s krokem 10 – to umožnilo téměř ve všech případech vkládat nové řádky beze změny dříve zadaných čísel. Chcete-li například přidat třetí řádek mezi řádky 20 a 30, napište řádek číslo 25. Typický řádek z programu BASIC by vypadal takto:

    10 TISKNOUT "Ahoj, světe!"

    Nebylo bezpečné ručně měnit čísla již existujících řádků, protože čísla fungovala jako štítky pro příkaz GOTO. Dříve BASIC povoloval pro tento operátor pouze číselné štítky a přítomnost jedinečného čísla na každém řádku umožňovala bezpodmínečně přeskočit na kterýkoli z nich. Číselné štítky a intenzivní používání GOTO byly v BASIC programování nevyhnutelné, což přispělo ke špatné struktuře kódu a ve velkých projektech k matení samotných autorů. Dokonce vznikl vtipný termín „programování těstovin“ (kód špaget), protože logika programu s častými přechody GOTO připomíná talíř špaget.

    Terminátor operátora byl konec řetězce. Chcete-li umístit několik příkazů na jeden řádek, musíte mezi ně vložit dvojtečku (to nebylo povoleno ve všech implementacích jazyka). Názvy proměnných se ve většině dialektů mohly skládat pouze z jednoho písmene, za kterým mohla být přidána jedna číslice, což také nepřispělo ke zlepšení porozumění kódu. Chcete-li vytvořit proměnnou typu řetězec, museli jste za název vložit znak dolaru ($). Proměnná bez tohoto znaménka byla číselná (s plovoucí desetinnou čárkou). K číselnému typu se vztahovalo několik dalších modifikátorů: znak procenta (%) - typ celého čísla, vykřičník (!) - běžná přesnost, octothorp (#) - dvojitá přesnost (pro data s plovoucí desetinnou čárkou, tedy zlomky) . Číselné modifikátory nebyly použity ve všech verzích.

    Výrazy jsou podobné většině ostatních procedurálních programovacích jazyků, ale v prvních verzích BASICu byla jejich sada spíše chudá.

    Podmíněný operátor (IF..THEN) měl zpočátku pouze jednu větev - větev ELSE v něm chyběla a byla modelována pomocí nepodmíněného skoku. V následujícím programu se tedy provede elementární operace - zadání čísla a zobrazení zprávy „Záporné číslo“ nebo „Pozitivní číslo nebo nula“, v závislosti na jeho hodnotě:

    10 VSTUP I 20 POKUD I >= 0 TAK VYTISKNOUT "Pozitivní číslo nebo null" : GOTO 40 30 TISKNOUT "Záporné číslo" 40 KONEC

    Existoval ON..GOTO vypočítaný popisový skokový operátor (zděděný z podobné fortranské konstrukce) - po ON byl určen číselný výraz a po GOTO seznam čísel řádků. Přechod nastal na řádek, jehož číslo v seznamu odpovídalo hodnotě výrazu. Existují také smyčky (smyčka s čítačem FOR a smyčka s předpokladem WHILE).

    Použití uživatelsky definovaných funkcí (sekcí kódu, opakovaně použitelné) bylo možné dvěma způsoby: definovanými funkcemi a podprogramy.

    Podprogramy nebyly analogické funkcím jazyků, jako je C nebo Pascal, protože neměly názvy a nemohly přijímat a / nebo vracet parametry. Parametry a výsledky byly předávány prostřednictvím globálních proměnných (všechny proměnné v raných verzích BASICu byly globální). Podprogramy byly obvykle psány na konci modulu, s číslováním zjevně větším, než je plánovaný počet řádků (např. číslování bloku podprogramů mohlo začínat od 5000, i když měl program několik stovek řádků). Podprogramy neměly žádná záhlaví ani jména a nelišily se od žádného jiného kódu. Podprogram byl volán pomocí klíčového slova GOSUB<метка>. Toto je prakticky klon GOTO , až na jednu věc: návrat k volacímu bodu nastal automaticky po dosažení klíčového slova RETURN v podprogramu. GOSUB , stejně jako GOTO , pouze přispěl ke špatné struktuře kódu, protože bylo obtížné sledovat provádění programu obsahujícího velké množství nepodmíněných skoků a podprogramů.

    Nemožnost pojmenovat podprogramy (a přenést nad nimi kontrolu), nemožnost předávat parametry, absence lokálních proměnných, použití pouze číselných štítků ve velkých projektech způsobilo zmatek v kódu a velmi znesnadnilo ladění.

    V některých dialektech BASIC bylo možné načíst soubor s kódem přímo během provádění programu (aktuální byl uvolněn) pomocí příkazu CHAIN. To byla jedna z nejužitečnějších funkcí jazyka, protože vám umožňovala rozdělit velký projekt do modulů a volat je podle potřeby.

    Kritika

    BASIC byl silně kritizován, protože jeho jednoduchost a nedostatek struktury podporuje kruté programovací praktiky a návyky, které mohou být vhodné při vytváření malých programů, ale mohou vést ke kolapsu velkých projektů.

    Jednou z „vizitek“ Edsgera Dijkstra byl výrok: „ Studenti, kteří dříve studovali BASIC, je téměř nemožné naučit dobré programování. Jako případní programátoři prošli nevratnou mentální degradací.».

    Navíc kritici BASICu často opomíjejí skutečnost, že nebyl navržen jako nástroj pro profesionální vývoj složitých programů, ale jako prostředek, pomocí kterého mohli studenti neprogramátoři psát jednoduché programy. Pokud mluvíme o moderních dialektech a implementacích BASICu, pak šly daleko od původní podoby jazyka, jsou strukturovanější a ve schopnostech srovnatelné s jazyky jako C, Pascal atd.

    Výrobci

    V různých dobách vyráběli tlumočníci BASIC různé organizace, společnosti, firmy:

    přechodný procesní Objekt mobilní, pohybliví

    Basic4ppc GLBasic NS Basic

    Historie programovacích jazyků zná mnoho příkladů skutečných revolucí v programování. Historie programovacího jazyka BASIC je přesně taková. Z malého, neobvyklého jazyka pro učení se stal skutečným standardem pro téměř všechny programovací jazyky.

    Programovací jazyk BASIC vyvinuli Thomas Kurtz a John Kenemi v roce 1964 s cílem naučit studenty základům programování. Jazyk se ukázal jako jednoduchý, srozumitelný, s poměrně snadným rozhraním. Cíl vývojářů byl jasný: potřebovali jednoduchý programovací jazyk, který by byl také dostupný. Zde jsou hlavní ustanovení, která „Otcové“ BASICu vzali v úvahu:

    1) Snadné použití;

    2) masový charakter;

    3) informativnost;

    4) Jazyk musí podporovat schopnost sledovat a opravovat chyby;

    5) Jazyk by neměl vyžadovat vážné znalosti hardwaru;

    6) Programovací jazyk by se měl stát spojovacím článkem mezi uživatelem a operačním systémem.

    Díky tomu se začal používat v mnoha dalších vzdělávacích institucích. O jedenáct let později, kdy svět zaplavily miliony nových mikropočítačů, upoutal programovací jazyk BASIC pozornost Billa Gatese a Paula Allena, mužů, kteří vytvořili Microsoft. Byli to oni, kdo spojením sil vylepšili BASIC verzi pro svou, která uměla fungovat i se 4kb RAM (!).

    Po nějaké době se právě jejich verze stala jedním z nejčastěji používaných a nejoblíbenějších programovacích jazyků. Během formování programovacího jazyka BASIC se často snažili uzavřít, mnozí chtěli najít nedostatky a dosáhnout zrušení používání tohoto jazyka. S příchodem BASICu se však stal hlavním programovacím jazykem, kterým se ostatní řídili. Za zmínku stojí, že se již jmenoval GW-basic. Pak přišel turbo basic od Borlandu a Quick Basic. Všechny verze, které byly vyvinuty později, byly nutně napsány tak, aby byla zachována kompatibilita s předchozími. I nejnovější verze tohoto programovacího jazyka pracuje s tou úplně první, s drobnými úpravami.

    A pak přišla éra Microsoftu. Počátek 90. ​​let: operační systém Windows zachytil téměř celý softwarový trh, všichni byli rádi, že to viděli, všichni kromě programátorů. Jejich život se stal peklem. K vytvoření těch nejobyčejnějších, jednoduchých oken bylo nutné napsat moře stránek kódu, změnit písma pro psaní a nakonec „nakreslit“ nová tlačítka. Nutno ale přiznat, že měl mnohem více výhod než nevýhod a nakonec se třetí verze operačního systému stala světovým standardem pro PC.

    Bylo potřeba upravit BASIC. Programovací jazyk BASIC se tak stal známým jako Microsoft Visual Basic. O rozsáhlých plánech společnosti se zatím nic nevědělo a vývojáři zaměřili nový programovací jazyk především na laiky. Programovací systém implementovaný ve Visual Basicu umožnil opustit těžkou strukturu oken a vytvořit programy na dobré úrovni, nemající největší zásoby znalostí. Posledním hřebíčkem do rakve, který prakticky pohřbil další, vcelku dobré typy programovacích jazyků jako Fortran a Pascal, byl vývoj jakéhosi BASICu pro aplikace.

    V současné době je programovací jazyk BASIC tak populární, že jej zná a používá téměř každý sebevědomý programátor. Rád bych poznamenal, že se používá v aplikacích, jako je microsoft office a internet explorer. Ale možná, jedna z nejvýznamnějších oblastí použití, programovací jazyk BASIC, získala při vývoji a konfiguraci aplikací v prostředí .NET. Nejnovější vývoj Billa Gatese, Microsoft C++, navíc otevírá uživatelům obrovskou škálu možností, a to vše díky dvěma profesorům z Dartmouth College.

    Sekce se velmi snadno používá. Do navrhovaného pole stačí zadat požadované slovo a my vám poskytneme seznam jeho významů. Rád bych poznamenal, že naše stránky poskytují údaje z různých zdrojů – encyklopedických, výkladových, slovníčků pro tvorbu slov. Zde se také můžete seznámit s příklady použití vámi zadaného slova.

    Význam slova základní

    BASIC ve slovníku křížovek

    ZÁKLADNÍ

    Encyklopedický slovník, 1998

    ZÁKLADNÍ

    BASIC (BASIC; z počátečních písmen anglických slov Beginners - pro začátečníky, All-purpose - universal, Symbolic - symbolic, Instruction - vzdělávací, Code - code) je programovací jazyk zaměřený na výuku základů programování. Používá se především při programování na osobních počítačích.

    Wikipedie

    ZÁKLADNÍ

    ZÁKLADNÍ(z ZÁKLADNÍ, zkratka - univerzální kód symbolických instrukcí pro začátečníky) - rodina programovacích jazyků na vysoké úrovni.

    Byl vyvinut v roce 1964 profesory Dartmouth College Thomasem Kurtzem a Johnem Kemenym.

    Jazyk vznikl jako nástroj, pomocí kterého mohli studenti neprogramující samostatně vytvářet počítačové programy k řešení svých problémů. Rozšířil se ve formě různých dialektů, především jako jazyk pro domácí počítače. Dodnes prošel výraznými změnami, výrazně se vzdaluje jednoduchosti charakteristické pro první verze, hraničí s primitivismem a mění se v docela obyčejný jazyk na vysoké úrovni s typickou sadou vlastností. Používá se jako samostatný jazyk pro vývoj aplikačních programů, pracujících především pod OS Windows různých verzí. Je také široce používán jako vestavěný jazyk pro aplikační softwarové systémy pro různé účely a jako jazyk pro programovatelné kalkulačky.

    ZÁKLADNÍ (jednoznačné)

    ZÁKLADNÍ, Základní:

    • Basic English je mezinárodní umělý jazyk založený na angličtině.
    • BASIC je programovací jazyk na vysoké úrovni.
    • BASIC - sovětský spotřebitelský počítač z počátku 90. let, klon ZX Spectra.
    • BASIC Vilnius - implementace programovacího jazyka BASIC pro 16bitové počítače s procesory architektury PDP-11.

    Příklady použití slova základní v literatuře.

    Mezery v řetězci jsou zahrnuty pouze pro pohodlí programátora - ZÁKLADNÍ ignoruje je.

    Všimněte si, že ZÁKLADNÍ má vlastní proměnnou, která ukládá aktuální pozici kurzoru.

    Pokud zahrnete podprogram assembleru, který změní pozici kurzoru, pak ZÁKLADNÍ bude ignorovat novou pozici kurzoru, když se na ni vrátí řízení.

    Všimněte si, že ZÁKLADNÍ normálně vypne kurzor, když se program spustí.

    Protože ZÁKLADNÍ neumožňuje použití binárních čísel, k určení atributů je nutná určitá manipulace.

    Když ZÁKLADNÍ převede znak na 16. tvar, pak vrátí pouze jednu číslici, pokud první byla nula, takže odstraněná nula musí být obnovena, aby tato metoda fungovala správně.

    Jazyky na vysoké úrovni, jako je kapk ZÁKLADNÍ, vytvořte tyto oblasti automaticky.

    Výchozí ZÁKLADNÍ nastaví počet vyrovnávacích pamětí na 8, ale toto číslo můžete změnit na cokoliv mezi 4 a 15.

    ZÁKLADNÍ, proveďte přípravné práce pro operace se soubory automaticky.

    Jazyky na vysoké úrovni jako např ZÁKLADNÍ, vkládat tyto symboly automaticky, zatímco o vkládání těchto symbolů se po zapsání každé proměnné do souboru musí postarat montážní programy.

    I když v některých případech ZÁKLADNÍ odpouští neuzavřené soubory, ale není tomu tak.

    V souborech s přímým přístupem ZÁKLADNÍ zachází se všemi proměnnými - včetně číselných - jako s řetězci.

    Zpracování chyb však můžete nastavit tak, aby došlo k závažné chybě ZÁKLADNÍ automaticky přešel na proceduru převzetí služeb při selhání, kterou jste vytvořili.

    Při provádění tohoto postupu ZÁKLADNÍ přenáší řízení ze sekvence instrukcí, které tvoří program, do ZÁKLADNÍ Tedy na místo, kde jsou uloženy instrukce, které lze dekódovat do sekvence instrukcí v assembleru.

    Obvyklým řešením tohoto problému je umístění procedury na ty adresy paměti, na které ZÁKLADNÍ nemůže přistupovat.

    A pod jejich vedením ji realizoval tým vysokoškoláků. Postupem času, když se začaly objevovat další dialekty, se původní implementace začala nazývat Dartmouth BASIC.

    BASIC byl navržen tak, aby studenti mohli snadno psát programy pomocí terminálů pro sdílení času. Byl určen pro „jednodušší“ uživatele, kteří se ani tak nezajímali o rychlost provádění programu, ale jednoduše o možnost používat počítač k řešení svých problémů bez speciálního školení.

    Při návrhu jazyka bylo použito následujících osm principů. Nový jazyk měl:

    1. být snadno použitelný pro začátečníky;
    2. být programovacím jazykem obecný účel;
    3. poskytnout příležitost rozšíření funkčnosti k dispozici zkušeným programátorům;
    4. být interaktivní;
    5. poskytovat jasné chybové zprávy;
    6. pracovat rychle na malých programech;
    7. nevyžadují pochopení fungování hardwaru;
    8. chránit uživatele před operačním systémem.

    Jazyk byl založen částečně na Fortranu II a částečně na Algolu 60 s dodatky, aby byl vhodný pro sdílení času a později pro zpracování textu a maticovou aritmetiku. BASIC byl původně implementován na sálovém počítači GE-265 s podporou více terminálů. Na rozdíl od všeobecného přesvědčení to byl v době svého vzniku kompilovaný jazyk.

    Výška

    Přestože byl jazyk již používán na několika minipočítačích, jeho skutečné rozšíření začalo až s jeho objevením na mikropočítači Altair 8800. Mnoho programovacích jazyků bylo příliš velkých na to, aby se vešly do malé paměti, kterou si uživatelé takových strojů mohli dovolit. Pro stroje s pomalými médii, jako je papírová páska (později audiokazeta) a bez vhodného textového editoru, byl malý jazyk jako BASIC darem z nebes.

    Splatnost

    Za období největšího rozkvětu a rozvoje původního BASICu lze považovat konec 70. let – první polovinu 80. let. V tomto období měly téměř všechny osobní počítače svůj BASIC interpret, často všitý do ROM, který v nejjednodušších počítačích často plnil i funkce operačního systému. Téměř všechny výkonnější počítače měly také interaktivní systémy BASIC. Charakteristické je, že téměř žádné nebyly kompilátory BASIC byla naprostá většina implementací standardním hybridem řádkového editoru a interpretu. Nespokojenost s primitivismem původního BASICu vedla k pokusům o vylepšení základních nástrojů jazyka, což vedlo k tomu, že se v některých implementacích objevily složité větvené operátory, další typy smyček, pojmenované procedury s parametry.

    Pro platformu IBM PC bylo vytvořeno několik nových verzí BASICu. Microsoft prodával BASIC pro MS-DOS/PC DOS, včetně BASICA, GW-BASIC (modifikace BASICA, která nevyžaduje „firmware“ od IBM) a QuickBASIC. Borland, který původně vstoupil na trh se svým známým Turbo Pascalem, vydal v roce 1985 systém Turbo Basic 1.0 založený na stejném softwarovém prostředí (jeho nástupce následně prodala jiná společnost pod názvem PowerBASIC). Některé další jazyky používaly známou syntaxi BASIC jako základ, na kterém byl postaven úplně jiný systém (viz například GRASS). Touha zvýšit výkon programů BASIC vedla ke vzniku plnohodnotných kompilátorů (např. výše zmíněný Turbo Basic), ale i „hybridních“ systémů, ve kterých při zachování interpretace jako hlavní metody provádění programu dochází k částečné kompilaci „on the fly“ bylo realizováno např. sestavení krátkých cyklů. Navíc se minimálně na platformě IBM rozšířila pseudokompilace programů BASIC, kdy kompilátor přeloží program BASIC do pseudokódu (často vratného) a z modulu interpreter object modulu a zakódovaného modulu s textem programu vytvoří spustitelný program. . Takový program by běžel a běžel jako normální zkompilovaný objektový program, i když zůstal v podstatě interpretován.

    V polovině 80. let se BASIC stal hlavním jazykem ve složitých modelech programovatelných kalkulátorů, které právě v této době dosáhly síly umožňující použití plnohodnotného vysokoúrovňového jazyka. O rozšířenosti a oblíbenosti tohoto jazyka v uvedené době nejlépe vypovídá samotný fakt, že mnoho výrobců beze slova zvolilo BASIC jako základ pro HLL kalkulaček. BASIC byl tedy zabudován do sovětské elektronické kalkulačky MK-85 a všech jejích pozdějších modelů. Používání BASICu jako hlavního HLL programovatelných kalkulátorů pokračuje dodnes; v současnosti je to „kalkulačka“ BASIC, která se nejvíce podobá původní verzi z 60.-80. let, například implementace pro kalkulačky CITIZEN obsahuje pouze 14 klíčových slov (nepočítám matematické funkce) a umožňuje pouze jednoznakové názvy proměnných .

    Koncem 80. let se osobní počítače staly mnohem výkonnějšími a poskytovaly funkce (např. grafické uživatelské rozhraní), které již nebylo v BASICu tak pohodlné. Kromě toho se na počítačích objevila „vzdělávací“ a „domácí“ třída levných překladatelů průmyslových jazyků (především Pascal a C), doprovázená pohodlnými programovacími prostředími a užitečnými knihovnami (například Borland Pascal s knihovnou Turbo Vision) vytvořil silnou konkurenci pro BASIC. BASIC začal ztrácet půdu pod nohama i přesto, že se stále používalo a prodávalo obrovské množství jeho verzí. Zároveň začala rychlá změna vzhledu těch BASIC systémů, které zůstaly v provozu. Docházelo k postupnému „posunu“ směrem k uznávaným strukturálním jazykům: rozšířila se slovní zásoba a soubor jazykových konstruktů, objevily se složité větve, pojmenované podprogramy a funkce, dlouhá jména proměnných. Zvýšené možnosti osobních počítačů navíc umožnily opustit charakteristické rysy BASICu, které byly zavedeny k zajištění efektivní interaktivní práce na textovém terminálu: číselné značky pro každý řádek a editace řádek po řádku.

    Popis

    Syntaxe jazyka se podobá Fortranu a mnohé prvky jsou z něj explicitní výpůjčky. Jazyk byl koncipován pro učení, takže jeho návrhy jsou co nejjednodušší. Stejně jako u jiných programovacích jazyků jsou klíčová slova převzata z angličtiny. Existují dva základní datové typy: řetězce a čísla. S příchodem verze Visual Basic a také jejích různých modifikací (např. VBA) se v jazyce objevilo mnoho dalších datových typů a doplňků, které jsou typické pro moderní programovací jazyky (jako je objektový model). Deklarace proměnných nevyžaduje speciální sekci (na rozdíl od Pascalu). Deklarování proměnné je jejím prvním použitím.

    Rané verze BASICu (jako BASICA, GW-BASIC) se výrazně liší od moderních dialektů a dnes se téměř nepoužívají.

    Rané verze

    Vzhled programů v raných verzích BASICu byl do značné míry dán tím, že byl určen pro programovací prostředí s editorem řádkového textu. V takovém editoru nebyl uživatel schopen zobrazit veškerý text na obrazovce (v okně), pohybovat se po něm libovolným směrem pomocí klávesnice a / nebo myši. V řádkových editorech pro změnu řádku textu musí uživatel zadat příkaz ke změně řádku s daným číslem a poté zadat nový text zadaného řádku. Chcete-li vložit nový řádek, musíte zadat příkaz insert, opět s uvedením čísla. Vstupní řetězce se na obrazovce zobrazují postupně (bez ohledu na čísla). Pro zobrazení provedených změn se používá příkaz output text, který vypíše řádky ve správném pořadí (vzestupně čísla).

    To vše se odráží v BASICu. Každý řádek začíná číslem. Po zadání do editoru se řádek objevil ve zdrojovém kódu programu na pozici odpovídající jeho číslu. Pro vložení nového řádku bylo nutné přidat řádek s číslem, které bylo v rozmezí mezi čísly dalších dvou řádků. Nebylo možné „roztáhnout“ řádky, pokud bylo nutné vložit nový řádek mezi řádky se sousedními čísly, bylo nutné tyto řádky znovu zadat s jinými čísly, aby se zajistila mezera v číslování (nebo použijte speciální příkaz RENUM, který přečísloval všechny již zadané řádky s konstantním krokem, synchronně měnil všechny skokové příkazy). Pro zjednodušení on-line editace programu se stalo zvykem číslovat řádky s krokem 10 – to umožnilo téměř ve všech případech vkládat nové řádky beze změny dříve zadaných čísel. Chcete-li například přidat třetí řádek mezi řádky 20 a 30, napište řádek číslo 25. Typický řádek z programu BASIC by vypadal takto:

    10 TISKNOUT "Ahoj, světe!"

    Nebylo bezpečné ručně měnit čísla již existujících řádků, protože čísla fungovala jako štítky pro příkaz GOTO. Dříve BASIC povoloval pro tento operátor pouze číselné štítky a přítomnost jedinečného čísla na každém řádku umožňovala bezpodmínečně přeskočit na kterýkoli z nich. Číselné štítky a intenzivní používání GOTO byly v BASIC programování nevyhnutelné, což přispělo ke špatné struktuře kódu a ve velkých projektech k matení samotných autorů. Dokonce vznikl vtipný termín „programování těstovin“ (kód špaget), protože logika programu s častými přechody GOTO připomíná talíř špaget.

    Terminátor operátora byl konec řetězce. Chcete-li umístit několik příkazů na jeden řádek, musíte mezi ně vložit dvojtečku (to nebylo povoleno ve všech implementacích jazyka). Názvy proměnných se ve většině dialektů mohly skládat pouze z jednoho písmene, za kterým mohla být přidána jedna číslice, což také nepřispělo ke zlepšení porozumění kódu. Chcete-li vytvořit proměnnou typu řetězec, museli jste za název vložit znak dolaru ($). Proměnná bez tohoto znaménka byla číselná (s plovoucí desetinnou čárkou). K číselnému typu se vztahovalo několik dalších modifikátorů: znak procenta (%) - typ celého čísla, vykřičník (!) - normální přesnost, octothorp (#) - dvojitá přesnost (pro data s plovoucí desetinnou čárkou, tedy desetinné zlomky ). V některých verzích nemusely být použity číselné modifikátory nebo nebyly použity všechny. V naprosté většině programů byl použit pouze základní číselný typ.

    Výrazy jsou podobné většině ostatních procedurálních programovacích jazyků, ale v prvních verzích BASICu byla jejich sada spíše chudá. V nejstarších verzích počet klíčových slov nedosahoval ani 20. Zde je sada základních programových konstrukcí a interaktivních příkazů, které byly implementovány v téměř jakémkoli systému BASIC konce 70. let:

    • SEZNAM - Zobrazení textu programu na monitoru ve správném pořadí řádků. V závislosti na implementaci příkaz podporoval parametry - rozsah řádků, které chcete vypsat. Někdy byla podporována varianta LLIST - výstup na tiskové zařízení.
    • RUN - Spustí aktuální program od prvního příkazu řádku s nejmenším číslem. Mohl by být podporován parametr - číslo řádku, ze kterého má být spuštěno provádění.
    • REM - Komentář. Text, který byl za klíčovým slovem a před koncem řádku, neovlivnil provádění programu. Mnoho tlumočníků také podpořilo jedinou uvozovku „ jako začátek komentáře.
    • INPUT "Prompt: ", Proměnná - Zobrazte text "Prompt: " a počkejte, až uživatel zadá hodnotu a stiskne Enter. Poté bude zadaná hodnota zapsána do Proměnné. V nejjednodušších implementacích nebyla výzva INPUT podporována a musela být vydána v samostatném příkazu PRINT (viz níže).
    • TISK "Text";Proměnná;Proměnná;"Text" - Výstup na monitor sekvenčně vypsaných objektů (text a hodnoty proměnných). V závislosti na implementaci byly oddělovače vnímány odlišně: v některých případech vedl oddělovač k výstupu alespoň jedné mezery, v jiných se hodnoty zobrazovaly v řadě a oddělovače bylo nutné přidávat ručně. Oddělovač ";" plnil také funkci potlačení překladu na další řádek.
    • CLS - Vymazání obrazovky terminálu. V závislosti na implementaci, návrhu a režimu činnosti terminálu byl textový kurzor přenesen buď do levého horního nebo levého dolního rohu.
    • LET - Přiřazení (formát "LET Variable = Value"). V drtivé většině verzí byl podporován operátor LET, ale byl volitelný – přiřazení proměnných se psalo bez LET).
    • DIM - Popis pole. Na rozdíl od běžných proměnných vyžadovala pole popis. Maximální počet rozměrů pole byl určen pouze implementací
    • DATA - Sada dat umístěná přímo v textu programu (analogická jako konstanta nebo konstanta pole).
    • READ - Příkaz pro čtení ze sady DATA.
    • GOTO Lbl - Příkaz nepodmíněného skoku pro označení Lbl.
    • ON… GOTO - Vypočítaný přechodový příkaz - po ON by měl být vypočtený výraz nebo proměnná a po GOTO - sada štítků oddělených čárkami. Hodnota výrazu označovala číslo štítku, na který se má přejít.
    • POKUD … POTOM … - Obvyklý operátor pobočky. Za IF je umístěna logická podmínka, za THEN příkaz, který musí být proveden, pokud je tato podmínka pravdivá. Aby byl záznam zkrácen, mnoho implementací podporovalo konvenci - pokud je THEN následováno číslem, pak je to štítek, na který se má přeskočit, to znamená, že tvar "IF ... THEN 150" je ekvivalentní "IF ... THEN GOTO 150". Podporovány by mohly být i formuláře „IF...GOTO...“.
    • FOR LoopVariable=StartValue TO EndValue STEP Krok - Záhlaví smyčky s krokem. Spustí smyčku, ve které proměnná postupně prochází řadou hodnot od StartValue do EndValue v kroku. Tělo smyčky je ohraničeno nadpisem a klíčovým slovem NEXT. Část STEP mohla být vynechána - v tomto případě byl krok roven jedné. Když proměnná LoopVariable překročí zadané limity, skočí na příslušný příkaz NEXT.
    • NEXT - Dokončení těla smyčky krokem. Příkaz označuje, že je nutné skočit do hlavy právě probíhající smyčky FOR a pokračovat v práci. V pokročilejších implementacích mohl NEXT obsahovat čárkami oddělený seznam proměnných cyklu - to znamenalo, že v daném bodě programu končí tělo ne jedné, ale několika smyček. Použití NEXT s proměnnou také pojistilo proti narušení logiky programu, protože způsobilo chybu běhu, pokud se při provádění tohoto příkazu ukázalo, že smyčka není aktivní na proměnné, jejíž název byl zadán.
    • WHILE Condition - Záhlaví cyklu s podmínkou. Cyklus skončil, pokud byla podmínka nepravdivá. V tomto případě došlo k přechodu za příkaz WEND odpovídající hlavičce.
    • WEND - Konec těla smyčky WHILE. Podobné jako NEXT, ale pro smyčku s předběžnou podmínkou.
    • GOSUB Label - Skok na podprogram začínající Label. Návrat nastane, když je dosaženo příkazu RETURN. Rekurzivní volání procedur byla obecně zakázána a vedla k chybě běhu.
    • RETURN – Návratový příkaz z podprogramu. Bezpodmínečný skok je proveden na příkaz následující po instrukci GOSUB, která skočila do podprogramu.
    • KONEC - Konec provádění programu. Systém vstoupí do tlumočníka a uživatel je vyzván k zadání příkazů.
    • CHAIN ​​​​– Načítání řady programových řádků z externích médií.
    • OPEN – Otevření datového souboru na externím médiu.
    • CLOSE - Zavření datového souboru na externím médiu.
    • GET - Sekvenční čtení hodnot zadaných proměnných ze souboru, přesouvání ukazatele souboru za poslední přečtený znak.
    • PUT - Sekvenční zápis hodnot zadaných proměnných do souboru, posunutí ukazatele souboru za poslední zapsaný znak.
    • DELETE - Interaktivní příkaz - smaže řádek se zadaným číslem.
    • SAVE - Příkaz interaktivního režimu - uložení aktuálního programu do souboru na externí médium.
    • LOAD - Interactive mode command - načtení programu do paměti ze souboru na externím médiu. Ve výchozím nastavení to zpravidla vedlo ke zničení dříve staženého programu a dat.
    • RENUM - Příkaz v interaktivním režimu - přečíslování všech nebo daného rozsahu programových řádků počínaje daným číslem se zadaným krokem. Standardně - všechny řádky programu jsou přečíslovány s krokem 10.

    Podmíněný operátor (IF..THEN) měl zpočátku pouze jednu větev - větev ELSE v něm chyběla a byla modelována pomocí nepodmíněného skoku. V následujícím programu se tedy provede elementární operace - zadání čísla a zobrazení zprávy „Záporné číslo“ nebo „Pozitivní číslo nebo nula“, v závislosti na jeho hodnotě:

    10 VSTUP I 20 POKUD I >= 0 TAK VYTISKNOUT "Pozitivní číslo nebo null" : GOTO 40 30 TISKNOUT "Záporné číslo" 40 KONEC

    Existoval ON..GOTO vypočítaný popisový skokový operátor (zděděný z podobné fortranské konstrukce) - po ON byl určen číselný výraz a po GOTO seznam čísel řádků. Přechod nastal na řádek, jehož číslo v seznamu odpovídalo hodnotě výrazu. Existují také smyčky (smyčka s čítačem FOR a smyčka s předpokladem WHILE).

    Použití uživatelsky definovaných funkcí (sekcí kódu, opakovaně použitelné) bylo možné dvěma způsoby: definovanými funkcemi a podprogramy.

    Podprogramy nebyly analogické funkcím jazyků, jako je C nebo Pascal, protože neměly názvy a nemohly přijímat a / nebo vracet parametry. Parametry a výsledky byly předávány prostřednictvím globálních proměnných (všechny proměnné v raných verzích BASICu byly globální). Podprogramy byly obvykle psány na konci modulu, s číslováním zjevně větším, než je plánovaný počet řádků (např. číslování bloku podprogramů mohlo začínat od 5000, i když měl program několik stovek řádků). Podprogramy neměly žádná záhlaví ani jména a nelišily se od žádného jiného kódu. Podprogram byl volán pomocí klíčového slova GOSUB<метка>. Toto je prakticky klon GOTO , až na jednu věc: návrat k volacímu bodu nastal automaticky po dosažení klíčového slova RETURN v podprogramu. GOSUB , stejně jako GOTO , pouze přispěl ke špatné struktuře kódu, protože bylo obtížné sledovat provádění programu obsahujícího velké množství nepodmíněných skoků a podprogramů. Rekurze nebyla povolena.

    Nemožnost pojmenovat podprogramy (a přenést nad nimi kontrolu), nemožnost předávat parametry, absence lokálních proměnných, použití pouze číselných štítků ve velkých projektech způsobilo zmatek v kódu a velmi znesnadnilo ladění.

    V některých dialektech BASIC bylo možné načíst soubor s kódem přímo během provádění programu (aktuální byl uvolněn) pomocí příkazu CHAIN. To byla jedna z nejužitečnějších funkcí jazyka, protože vám umožňovala rozdělit velký projekt do modulů a volat je podle potřeby.

    Kritika

    Během své největší slávy (1970-1980) byl BASIC silně kritizován. Kromě konstatování zřejmých nedostatků jazyka spojených se syntaktickou chudobou raných verzí a absencí mnoha uznávaných a pohodlných konstrukcí a mechanismů byl BASIC kritizován za to, že jeho jednoduchost a nestrukturovanost podněcuje k používání krutých vývojových postupů a přispět k rozvoji nebezpečných programátorských návyků, které mohou být někdy vhodné pro rychlou tvorbu malých programů pro aktuální potřeby, ale mohou vést ke kolapsu velkých projektů.

    Všudypřítomné počáteční vzdělání programování založené na BASICu bylo ostře kritizováno. Jednou z „vizitek“ Edsgera Dijkstra bylo prohlášení:

    Studenti, kteří dříve studovali BASIC, je téměř nemožné naučit dobré programování. Jako případní programátoři jsou duševně zmrzačení bez naděje na uzdravení.

    původní text(Angličtina)

    Je prakticky nemožné naučit dobré programování studenty, kteří měli předchozí zkušenost s BASICem: jako potenciální programátoři jsou mentálně zmrzačení bez naděje na regeneraci.

    V reakci na kritiku přívrženci BASICu poznamenávají, že kritici připisují jazyku ty negativní aspekty, které by měly být přičítány jeho zneužití. Nevýhody BASICu (máme-li na paměti rané dialekty) se objevují při snaze na něm profesionálně vyvíjet složité a rozsáhlé programy a při jeho použití jako základního jazyka pro výuku programátorů, ale pro žádnou z těchto aplikací tento jazyk nebyl určen; jeho hlavním úkolem bylo poskytnout studentům neprogramátoři příležitost po minimální naučit se psát sám prvoci programy pro vlastní potřeby aby neodváděl specialisty k této práci. Jazyk je pro tento úkol docela vhodný.

    Pokud se budeme bavit o moderních dialektech a implementacích BASICu, pak zašly tak daleko od původní podoby jazyka, že vše výše uvedené lze stěží považovat za příbuzné. Moderní dialekty BASICu jsou poměrně strukturované jazyky, svými schopnostmi jsou srovnatelné s jazyky jako C, Pascal atd.

    Výrobci

    V různých dobách vyráběli tlumočníci BASIC různé organizace, společnosti, firmy:

    Sovětský:

    • Vilniuská univerzita - Vilnius
    • Výpočetní centrum sibiřské pobočky Akademie věd SSSR - Novosibirsk
    • Státní univerzita v Nižním Novgorodu pojmenovaná po N. I. Lobačevském – Nižnij Novgorod

    Implementace

    • Visual Basic (VBA, VBS, .NET)
    • Rapid-Q základní

    Napište recenzi na článek "Základní"

    Poznámky

    Literatura

    • Dyakonov V., Munerman V., Samoylova T., Jemelčenkov Ye. Revoluční průvodce QBASIC. - Birmingham: Wrox Press Ltd, 1996. - 578 s.
    • Dyakonov V.P. Referenční kniha o algoritmech a programech v BASICu pro osobní počítače. - M.: Nauka, Fizmatlit, 1987. - 240 s.
    • Dyakonov V.P. Využití osobních počítačů a programování v BASICu. - M .: Rozhlas a komunikace, 1989. - 288 s.
    • Dyakonov V.P. Moderní zahraniční kalkulačky. - M .: SOLON-R, 2002. - 400 s.
    Normy
    • ANSI X3.60-1978 "PRO MINIMÁLNÍ ZÁKLADNÍ"
    • ISO/IEC 6373:1984 "ZPRACOVÁNÍ DAT - PROGRAMOVACÍ JAZYKY - MINIMÁLNÍ ZÁKLADNÍ"
    • ANSI X3.113-1987 "PLNÉ ZÁKLADNÍ PROGRAMOVÁNÍ JAZYKŮ"
    • GOST 27787-88 BASIC programovací jazyk (zahrnuje ISO 6373:1984)
    • INTERPRETACE ANSI X3.113-1992 "BULLETIN ZÁKLADNÍCH TECHNICKÝCH INFORMACÍ #1 VÝKLADY ANSI 03.113-1987"

    Odkazy

    • Andrej Kolesov. Autorská verze. s drobnou literární úpravou v časopise "Věda a život" č. 10/2000, str. 18-20.
    • Dartmouth College Preprint, 1. října 1964.
    • Thomas E. Kurtz. , 1977.
    • (Angličtina)

    Úryvek charakterizující BASIC

    Pro Natašu byl najednou tak zvláštní, že tento tichý, jemný a upřímný hlas vypadal.
    - Nemluvme, příteli, všechno mu řeknu; ale žádám tě o jedno - považuj mě za svého přítele, a když budeš potřebovat pomoc, radu, potřebuješ si jen někomu vylít duši - ne teď, ale až bude v duši jasno - vzpomeň si na mě. Vzal ji a políbil ji na ruku. "Budu šťastný, když budu schopen..." Pierre byl v rozpacích.
    Nemluv se mnou tak, nestojím za to! Natasha křičela a chtěla odejít z místnosti, ale Pierre ji držel za ruku. Věděl, že potřebuje ještě něco, co by jí řekl. Ale když to řekl, byl překvapen svými vlastními slovy.
    "Přestaň, přestaň, celý tvůj život je před tebou," řekl jí.
    - Pro mě? Ne! Všechno je pro mě pryč,“ řekla s hanbou a sebeponížením.
    - Všechno je ztraceno? opakoval. - Kdybych nebyl já, ale nejkrásnější, nejchytřejší a nejlepší člověk na světě a byl bych volný, v tuto chvíli bych tě na kolenou požádal o ruku a lásku.
    Natasha poprvé po mnoha dnech plakala slzami vděčnosti a něhy a při pohledu na Pierra opustila místnost.
    Pierre po ní také téměř vyběhl do předsíně, zadržoval slzy dojetí a štěstí, které mu drtily hrdlo, oblékl si kožich, aniž by spadl do rukávů, a nasedl do saní.
    "Kam teď jdeš?" zeptal se kočí.
    "Kde? zeptal se Pierre sám sebe. kam teď můžeš jít? Opravdu v klubu nebo jako hosté? Všichni lidé mu připadali tak ubohí, tak ubozí ve srovnání s pocitem něhy a lásky, který prožíval; ve srovnání s tím změkčeným, vděčným pohledem, kterým se na něj naposledy podívala přes slzy.
    "Domů," řekl Pierre navzdory deseti stupňům mrazu a rozevřel kabát z medvědí kůže na své široké, radostně dýchající hrudi.
    Bylo chladno a jasno. Nad špinavými, polotmavými ulicemi, nad černými střechami se tyčila temná, hvězdná obloha. Pierre, který se díval pouze na oblohu, necítil urážlivou nízkost všeho pozemského ve srovnání s výškou, v níž byla jeho duše. Při vstupu na náměstí Arbat se Pierrovým očím otevřela obrovská hvězdná temná obloha. Téměř uprostřed této oblohy nad Prechistenským bulvárem, obklopená, posetá ze všech stran hvězdami, ale odlišující se od všech blízkostí k Zemi, bílým světlem a zdviženým dlouhým ohonem, stála obrovská jasná kometa z roku 1812, stejná. kometa, která předznamenala, jak se říkalo, nejrůznější hrůzy a konec světa. Ale v Pierrovi tato jasná hvězda s dlouhým zářivým ocasem nevzbuzovala žádný hrozný pocit. Naproti se Pierre radostně, s očima vlhkýma slzami, díval na tuto jasnou hvězdu, která, jako by prolétla nezměrnými prostorami podél parabolické čáry s nevyslovitelnou rychlostí, náhle, jako šíp probodávající zem, sem narazila na jedno místo, které měla. vybrala se na černém nebi a zastavila se, energicky zvedla ocas, zářila a hrála si se svým bílým světlem mezi bezpočtem dalších blikajících hvězd. Pierrovi se zdálo, že tato hvězda plně odpovídá tomu, co bylo v jeho rozkvětu k novému životu, obměkčilo a povzbudilo duši.

    Od konce roku 1811 začala zvýšená výzbroj a koncentrace sil v západní Evropě a v roce 1812 se tyto síly - miliony lidí (včetně těch, kteří transportovali a živili armádu) přesunuli ze západu na východ, k hranicím Ruska, kam přesně stejným způsobem od roku 1811 byly síly Ruska staženy dohromady. 12. června překročily síly západní Evropy hranice Ruska a začala válka, tedy událost odporující lidskému rozumu a veškeré lidské přirozenosti. Miliony lidí se proti sobě dopustily bezpočtu zvěrstev, podvodů, zrady, krádeží, padělání a vydávání falešných bankovek, loupeží, žhářství a vražd, které po staletí neshromáždí kronika všech soudů světa a které V tomto období se na lidi, kteří je spáchali, nepohlíželo jako na zločiny.
    Co způsobilo tuto mimořádnou událost? Jaké k tomu byly důvody? Historici s naivní jistotou tvrdí, že příčinou této události byla urážka uvalená na vévodu z Oldenburgu, nedodržování kontinentálního systému, Napoleonova touha po moci, Alexandrova pevnost, chyby diplomatů atd.
    Proto bylo jen nutné, aby se Metternich, Rumjancev nebo Talleyrand mezi východem a recepcí hodně snažili a napsali důmyslnější papír nebo napsali Alexandrovi Napoleonovi: Monsieur mon frere, je consens a rendre le duche au duc d "Oldenbourgu, [Můj pane bratře, souhlasím s vrácením vévodství vévodovi z Oldenburgu.] - a nebude žádná válka.
    Je jasné, že tomu tak bylo i u současníků. Je jasné, že Napoleonovi se zdálo, že příčinou války byly intriky Anglie (jak to řekl na ostrově Svatá Helena); je pochopitelné, že se členům Anglické komory zdálo, že Napoleonova touha po moci byla příčinou války; že se princi z Oldenburgu zdálo, že příčinou války je násilí na něm spáchané; že se obchodníkům zdálo, že příčinou války je kontinentální systém, který ničí Evropu, že se starým vojákům a generálům zdálo, že hlavním důvodem je potřeba dát je do práce; tehdejším legitimistům, že je nutné obnovit les bons principes [dobré zásady], a tehdejším diplomatům, že se vše stalo proto, že spojenectví Ruska s Rakouskem v roce 1809 nebylo před Napoleonem důmyslně skryto a že bylo vytvořeno memorandum. nešikovně napsané pro č. 178. Je jasné, že tyto a nespočetné, nekonečné množství důvodů, jejichž počet závisí na nesčetné rozdílnosti hledisek, se současníkům zdály; ale pro nás, potomky, kteří v celém svém objemu uvažujeme o obludnosti události, která se stala, a ponoříme se do jejího prostého a hrozného významu, se tyto důvody zdají nedostatečné. Je pro nás nepochopitelné, že se miliony křesťanů navzájem zabíjely a mučily, protože Napoleon toužil po moci, Alexandr byl pevný, politika Anglie byla mazaná a vévoda z Oldenburgu byl uražen. Je nemožné pochopit, jakou souvislost mají tyto okolnosti se samotnou skutečností vraždy a násilí; proč kvůli tomu, že byl vévoda uražen, tisíce lidí z druhé strany Evropy zabily a zruinovaly obyvatele Smolenských a Moskevských provincií a byli jimi zabiti.
    Pro nás, potomky, kteří nejsme historiky, kteří se nenecháme unést procesem bádání, a proto o události uvažujeme s nezastřeným zdravým rozumem, se její příčiny objevují v nesčetném množství. Čím více se ponoříme do pátrání po příčinách, tím více se nám jich odhaluje, a každý jednotlivý důvod nebo celá řada důvodů se nám zdá stejně spravedlivý sám o sobě a stejně falešný ve své bezvýznamnosti ve srovnání s obludností události. a stejně tak falešné ve své neplatnosti (bez účasti všech dalších shodných příčin) k vytvoření uskutečněné události. Stejným důvodem jako Napoleonovo odmítnutí stáhnout svá vojska za Vislu a vrátit Oldenburské vévodství se nám jeví touha či neochota prvního francouzského desátníka vstoupit do vedlejší služby: neboť kdyby nechtěl jít do služby a nechtěl by dalšího a třetího a tisícího desátníka a vojáka, takže v Napoleonově armádě by bylo mnohem méně lidí a žádná válka by nemohla být.
    Kdyby Napoleon nebyl pohoršen požadavkem na ústup za Vislu a nedal vojákům rozkaz k postupu, nebyla by válka; ale kdyby všichni seržanti nechtěli vstoupit do vedlejší služby, nemohla by být ani válka. Také by nemohla být válka, kdyby nebyly intriky Anglie, nebyl by princ z Oldenburgu a pocit urážky v Alexandrovi a v Rusku by nebyla autokratická moc a nebyla by francouzská revoluce a následná diktatura a impérium a vše, co způsobilo francouzskou revoluci, a tak dále. Bez jednoho z těchto důvodů by se nic nemohlo stát. Proto se všechny tyto příčiny – miliardy důvodů – shodovaly, aby vytvořily to, co bylo. A proto nic nebylo výhradní příčinou události a událost se musela stát jen proto, že se stát musela. Miliony lidí, které se zřekly svých lidských citů a své mysli, musely odejít na Východ ze Západu a zabít své vlastní druhy, stejně jako před několika staletími šly zástupy lidí z Východu na Západ a zabíjely své vlastní druhy.
    Akce Napoleona a Alexandra, na jejichž slovo se zdálo, že k události došlo či nikoli, byly tak málo svévolné jako akce každého vojáka, který se vydal na tažení losem nebo náborem. Nemohlo to být jinak, protože k naplnění vůle Napoleona a Alexandra (těch lidí, na kterých se zdálo, že událost závisela), byla nutná shoda nesčetných okolností, bez jedné z nichž by se událost nemohla uskutečnit. . Bylo nutné, aby miliony lidí, v jejichž rukou byla skutečná moc, vojáci, kteří stříleli, nosili proviant a zbraně, bylo nutné, aby souhlasily s naplňováním této vůle jednotlivých a slabých lidí a byly k tomu vedeny nesčetnými složitými, různorodými důvody.
    Fatalismus v dějinách je nevyhnutelný pro vysvětlení nerozumných jevů (tedy těch, jejichž racionalitě nerozumíme). Čím více se snažíme tyto jevy v dějinách racionálně vysvětlit, tím jsou pro nás nepřiměřenější a nepochopitelnější.
    Každý člověk žije pro sebe, užívá si svobody k dosahování svých osobních cílů a celou svou bytostí cítí, že nyní může činit takové a takové jednání; ale jakmile to udělá, tak se tento čin, spáchaný v určitém okamžiku, stává neodvolatelným a stává se majetkem dějin, v nichž nemá svobodný, ale předem stanovený význam.
    V každém člověku jsou dva aspekty života: osobní život, který je o to svobodnější, čím abstraktnější jsou jeho zájmy, a spontánní, hemžící se život, kde člověk nevyhnutelně naplňuje jemu předepsané zákony.
    Člověk vědomě žije pro sebe, ale slouží jako nevědomý nástroj k dosažení historických, univerzálních cílů. Dokonalý čin je neodvolatelný a jeho čin, časově se shodující s miliony činů jiných lidí, nabývá historického významu. Čím výše člověk stojí na společenském žebříčku, tím více je spojen s velkými lidmi, čím větší moc má nad druhými lidmi, tím zjevnější je předurčenost a nevyhnutelnost každého jeho činu.
    "Srdce krále je v rukou Božích."
    Král je otrokem historie.
    Dějiny, tedy nevědomý, všeobecný, hemžící se život lidstva, využívá každou minutu života králů jako nástroj pro své účely.
    Napoleon, přestože se mu nyní, v roce 1812, více než kdy jindy zdálo, že záleží na něm verser či not verser le sang de ses peuples [prolívat či neprolévat krev svých národů] (jako např. poslední dopis, který mu napsal Alexandr), nikdy více než nyní podléhal těm nevyhnutelným zákonům, které ho nutily (jednající ve vztahu k sobě samému, jak se mu zdálo, podle své vlastní libovůle) dělat pro společnou věc, pro v zájmu historie, co bylo třeba udělat.
    Lidé ze Západu se přestěhovali na Východ, aby se navzájem zabíjeli. A podle zákona o shodě příčin se s touto událostí shodovaly tisíce malicherných důvodů pro tento pohyb a pro válku: výtky za nedodržování kontinentálního systému a vévody z Oldenburgu a přesun vojsk do Pruska. , podniknutý (jak se Napoleonovi zdálo) jen proto, aby dosáhl ozbrojeného míru a lásky a zvyku francouzského císaře k válce, což se shodovalo s povahou jeho lidu, fascinací velkolepostí příprav a náklady na ně. příprava a potřeba získat takové výhody, které by zaplatily tyto náklady a opilé pocty v Drážďanech a diplomatická jednání, která byla podle mínění současníků vedena s upřímnou touhou dosáhnout míru a která jen zraňovala ješitnost obě strany a miliony a miliony dalších důvodů, které byly předstírány jako událost, která se měla stát, se shodovaly s tím.
    Když je jablko zralé a padá, proč padá? Je to proto, že tíhne k zemi, protože tyč uschne, protože uschne na slunci, protože ztěžkne, protože s ní třese vítr, protože chlapec stojící dole ji chce sníst?
    Nic není důvodem. To vše je pouze shoda podmínek, za kterých se odehrává každá životně důležitá, organická, spontánní událost. A botanik, který zjistí, že jablko spadne, protože se rozkládá celulóza a podobně, bude mít stejně pravdu a stejně špatně jako to dítě stojící dole, které říká, že jablko spadlo, protože chtělo jíst. to. Stejně tak správný a špatný bude ten, kdo říká, že Napoleon odjel do Moskvy, protože to chtěl, a protože zemřel, protože Alexandr chtěl, aby zemřel: jak správné a nesprávné bude ten, kdo říká, že se zhroutil do milionu liber. hora spadla, protože poslední dělník pod ní naposledy udeřil krumpáčem. V historických událostech jsou tzv. velcí muži štítky, které dávají události názvy, které stejně jako štítky mají nejmenší souvislost s událostí samotnou.
    Každý jejich čin, který se jim sám pro ně zdá svévolný, je v historickém smyslu nedobrovolný, ale souvisí s celým průběhem dějin a je věčně určován.

    29. května Napoleon opustil Drážďany, kde pobyl tři týdny, obklopen dvorem složeným z knížat, vévodů, králů a dokonce i jednoho císaře. Před odjezdem se Napoleon choval ke knížatům, králům a císaři, kteří si to zasloužili vlídně, vynadal králům a knížatům, s nimiž nebyl zcela spokojen, předložil své vlastní, tedy perly a diamanty odebrané jiným králům, rakouské císařovně. a něžně objal císařovnu Marii Louise, jak říká jeho historik, zanechal ji v hořkém odloučení, které ona - tato Marie Louise, která byla považována za jeho manželku, přestože v Paříži zůstala jiná manželka - jako by nebyla schopná snést. Navzdory tomu, že diplomaté stále pevně věřili v možnost míru a usilovně pracovali na dosažení tohoto cíle, přestože sám císař Napoleon napsal císaři Alexandrovi dopis, v němž ho nazval Monsieur mon frere [Suverénní bratr] a upřímně ujistil, že chtít válku a že ho bude vždy milovat a respektovat - jezdil do armády a na každé stanici dával nové rozkazy, zaměřené na urychlení přesunu armády ze západu na východ. Jel v silničním kočáru taženém šestkou, obklopený pážety, pobočníky a doprovodem, po silnici do Posenu, Thornu, Danzigu a Koenigsbergu. V každém z těchto měst ho tisíce lidí vítaly s úctou a radostí.
    Armáda se přesunula ze západu na východ a tam ho nesly variabilní převody. Dne 10. června dostihl vojsko a přenocoval ve Vilkovisově lese, v pro něj připraveném bytě, na panství polského hraběte.
    Následujícího dne Napoleon, když předběhl armádu, přijel k Nemanu v kočáře a aby si prohlédl oblast přechodu, převlékl se do polské uniformy a vyjel na břeh.
    Když na druhé straně spatříme kozáky (les Cosaques) a rozlehlé stepi (les Steppes), uprostřed kterých se nacházela Moscou la ville sainte, [Moskva, svaté město,] hlavní město tohoto, podobně jako Skythského státu. , kam se vydal Alexandr Veliký, - Napoleon, pro všechny nečekaně a v rozporu se strategickými i diplomatickými ohledy, nařídil ofenzívu a následující den jeho jednotky začaly překračovat Němen.
    Dne 12. brzy ráno opustil stan, který byl toho dne postaven na strmém levém břehu Nemanu, a podíval se dalekohledem na proudy svých jednotek vynořující se z lesa Vilkovis, přelévající se přes tři postavené mosty. na Nemanu. Vojáci věděli o přítomnosti císaře, hledali ho očima, a když na hoře před stanem nalezli od družiny oddělenou postavu ve froté a klobouku, zvedli klobouky a křičeli: "Vive l" Empereur! [Ať žije císař!] - a sám pro ostatní, bez vyčerpání, vytekl ven, vše vytekl z obrovského lesa, který je dosud skrýval, a rozrušen přešel přes tři mosty na druhý. boční.
    - Na fera du chemin cette fois ci. Ach! quand il s "en mele lui meme ca chauffe... Nom de Dieu... Le voila!.. Vive l" Empereur! Les voila donc les Steppes de l "Asie! Vilain tout de meme. Empereur!.. preur! Si na mě fait gouverneur aux Indes, Gerarde, je to můj ministr Cachemire, c "est arrete. Vive l" Empereur! Vive! žít! žít! Les gredins de Cosaques, comme ils filent. Vive l "Empereur! Le voila! Le vois tu? Je l" ai vu deux fois comme jete vois. Le petit caporal ... Je l "ai vu donner la croix a l" un des vieux ... Vive l "Empereur! tady jsou, asijské stepi... Ale špatná země. Sbohem, Boche. Nechám tě nejlepší palác v Moskvě. Sbohem, přeji vám úspěch. Už jste viděli císaře? Hurá! Pokud mě udělají guvernérem v Indii, udělám z vás ministra Kašmíru... Hurá! Tady je císař! Vidíte ho? Já viděl ho dvakrát jako ty. Malý desátník... Viděl jsem, jak věšel kříž na jednoho ze starců... Hurá, císaři!] - ozvaly se hlasy starých i mladých lidí, nejrozmanitějších postav a postavení v všechny tváře těchto lidí měly jeden společný výraz radosti na začátku dlouho očekávané kampaně a potěšení a oddanosti muži v šedém kabátu stojícím na hoře.
    13. června dostal Napoleon malého plnokrevného arabského koně a on se posadil a cválal k jednomu z mostů přes Neman, neustále ohlušován nadšenými výkřiky, které zjevně snášel jen proto, že jim nebylo možné zakázat projevovat lásku. pro něj s těmito výkřiky; ale tyto výkřiky, doprovázející ho všude, ho tížily a odváděly od vojenské péče, která se ho zmocňovala od chvíle, kdy vstoupil do armády. Přešel jeden z mostů kymácejících se na člunech na druhou stranu, prudce se otočil doleva a tryskem vyrazil ke Kovnu, před ním nadšené hlídače, kteří umírali štěstím a uvolňovali cestu vojskům cválajícím před ním. Když se přiblížil k široké řece Vilija, zastavil se poblíž polského hulánského pluku, který stál na břehu.
    - Vivat! - křičeli Poláci nadšeně, zneklidňovali frontu a drtili se navzájem, aby ho viděli. Napoleon prozkoumal řeku, sesedl z koně a posadil se na kládu ležící na břehu. Na znamení beze slov mu dali trubku, položil ji na zadní stranu šťastného stránky, která přiběhla, a začal se dívat na druhou stranu. Pak šel hlouběji do zkoumání listu mapy rozloženého mezi kládami. Aniž zvedl hlavu, něco řekl a dva jeho pobočníci cválali k polským hulánům.
    - Co? Co říkal? - bylo slyšet v řadách polských kopiníků, když k nim cválal jeden pobočník.
    Po nalezení brodu bylo nařízeno přejít na druhou stranu. Polský plukovník kopiníků, pohledný starý muž, zrudlý a zmatený vzrušením, se zeptal pobočníka, zda by mu dovolili překročit řeku se svými kopiníky, aniž by našel brod. On, se zjevným strachem z odmítnutí, jako chlapec, který žádá o povolení nasednout na koně, požádal, aby mohl v očích císaře přeplavat řeku. Adjutant řekl, že císař pravděpodobně nebude nespokojen s touto přílišnou horlivostí.
    Jakmile to pobočník řekl, starý kníratý důstojník s veselou tváří a jiskřivýma očima zvedl šavli a zakřičel: „Vivat! - a když přikázal kopiníkům, aby ho následovali, dal koni ostruhy a odcválal k řece. Zlomyslně postrčil koně, který pod ním zaváhal, a udeřil do vody, zamířil hlouběji do peřejí proudu. Za ním cválaly stovky kopiníků. Uprostřed a v peřejích proudu bylo chladno a děsivě. Kopiníci se k sobě přitiskli, spadli z koní, někteří koně se utopili, lidé se utopili, zbytek se pokusil plavat, někteří na sedle, někteří se drželi hřívy. Snažili se přeplavat vpřed na druhou stranu, a přestože o půl versty byl přechod, byli hrdí, že plavou a topí se v této řece pod pohledem muže, který sedí na kládě a ani se nedívá. v tom, co dělali. Když si vracející se adjutant, který si zvolil vhodnou chvíli, dovolil upozornit císaře na oddanost Poláků k jeho osobě, vstal malý muž v šedém kabátě, volaje k sobě Berthiera, šel nahoru a po břehu s ním, dával mu rozkazy a občas se s nelibostí díval na tonoucí kopiníky, kteří bavili jeho pozornost.
    Nebylo pro něj nové přesvědčení, že jeho přítomnost na všech koncích světa, od Afriky po pižmové stepi, stejně udivuje a uvrhuje lidi do šílenství sebezapomnění. Nařídil, aby mu přivedli koně a jel do jeho tábora.
    Navzdory lodím vyslaným na pomoc se v řece utopilo asi čtyřicet kopiníků. Většina se odplavila zpět na tento břeh. Plukovník a několik mužů přeplavali řeku as obtížemi se vyšplhali na druhou stranu. Ale jakmile vystoupili v mokrých šatech, naplácaných na ně, tekoucích v potocích, křičeli: „Vivat!“, nadšeně se dívali na místo, kde stál Napoleon, ale kde už nebyl, a v tu chvíli se považovali za šťastný.
    Večer Napoleon mezi dvěma rozkazy - jedním dodat připravené falešné ruské bankovky k dovozu do Ruska co nejdříve a druhým zastřelit Saxana, v jehož zachyceném dopise byly nalezeny informace o objednávkách pro francouzskou armádu - učinil třetí řád - o zúčtování polského plukovníka, který se zbytečně vrhl do řeky čestné kohortě (Legion d "honneur), v jejímž čele byl Napoleon.
    Qnos vult perdere - dementní. [Kdo chce zničit - zbavit rozumu (lat.)]

    Ruský císař mezitím už více než měsíc žil ve Vilnu a dělal recenze a manévry. Na válku, kterou všichni očekávali a na kterou císař přijel z Petrohradu, nebylo nic připraveno. Neexistoval žádný obecný akční plán. Váhání, který ze všech navrhovaných plánů by měl být přijat, se po císařově měsíčním pobytu v hlavním bytě ještě zvýšily. Ve třech armádách byl v každé samostatný vrchní velitel, ale nad všemi armádami nebyl společný velitel a císař tento titul nepřevzal.
    Čím déle žil císař ve Vilně, tím méně a méně se připravovali na válku, unaveni čekáním na ni. Zdálo se, že všechny aspirace lidí obklopujících panovníka směřovaly pouze k tomu, aby panovník, zatímco se dobře bavil, zapomněl na nadcházející válku.
    Po mnoha plesech a prázdninách s polskými magnáty, s dvořany a se samotným panovníkem v měsíci červnu jednoho z polských generálů panovníka napadlo uspořádat panovníkovi večeři a ples jménem jeho adjutanti generálové. Tento nápad byl všemi vítán. Císař souhlasil. Generální adjutant vybíral peníze úpisem. Osoba, která se panovníkovi mohla nejvíce líbit, byla pozvána jako hostitelka plesu. Hrabě Benigsen, statkář v provincii Vilna, nabídl na tento svátek svůj venkovský dům a na 13. června byla v Zakretu, venkovském sídle hraběte Benigsena, naplánována večeře, ples, plavba na lodi a ohňostroj.
    Právě v den, kdy Napoleon vydal rozkaz překročit Němen a jeho předsunuté jednotky, zatlačující kozáky, překročily ruské hranice, strávil Alexandr večer na Benigsenově dači - na plese pořádaném generálovými pobočníky.
    Byly to veselé, skvělé prázdniny; odborníci v oboru uvedli, že tolik krásek se jen zřídka shromáždilo na jednom místě. Hraběnka Bezukhova, mezi jinými ruskými dámami, které si pro panovníka přijely z Petrohradu do Vilny, byla na tomto plese a zatemňovala sofistikované polské dámy svou těžkou, tzv. ruskou krásou. Všimli si jí a panovník ji poctil tancem.
    Boris Drubetskoy, en garcon (mládenec), jak řekl, poté, co opustil svou ženu v Moskvě, byl také na tomto plese, a přestože nebyl generálním pobočníkem, byl velkým účastníkem předplatného na ples. Boris byl nyní bohatý muž, který zašel daleko ve vyznamenání, už nehledal záštitu, ale stál na stejné úrovni s nejvyššími ze svých vrstevníků.
    Ve dvanáct hodin dopoledne se ještě tančilo. Helena, která neměla hodného pána, sama nabídla mazurku Borisovi. Seděli ve třetím páru. Boris, chladně hledící na Helenina lesklá odhalená ramena, vyčnívající z tmavých gázových šatů se zlatem, mluvil o starých známých a přitom, neznatelně sobě i ostatním, ani na vteřinu nepřestával sledovat panovníka, který byl ve stejném hala. Panovník netančil; stál u dveří a zastavil jednoho nebo druhého těmi laskavými slovy, která jediný uměl vyslovit.
    Na začátku mazurky Boris viděl, že k němu přistoupil generál pobočník Balašev, jedna z nejbližších osob panovníka, a zastavil se zdvořile blízko panovníka, který mluvil s polskou dámou. Po rozhovoru s dámou se císař tázavě podíval, a když si očividně uvědomil, že to Balašev udělal jen proto, že k tomu byly závažné důvody, lehce na dámu kývl a obrátil se k Balaševovi. Balashev právě začal mluvit, když se na panovníkově tváři objevilo překvapení. Vzal Balaševa za paži a prošel s ním chodbou, nevědomky čistil sazheny po obou stranách tří širokých cest, které stály stranou před ním. Boris si všiml rozrušené tváře Arakčeeva, zatímco panovník šel s Balashevem. Arakčejev, který se zamračeně díval na panovníka a očichával svůj červený nos, vyšel z davu, jako by očekával, že se k němu panovník obrátí. (Boris si uvědomil, že Arakčejev žárlil na Balaševa a byl nespokojený s tím, že některé, zjevně důležité, zprávy nebyly jeho prostřednictvím panovníkovi předány.)
    Ale panovník s Balaševem prošli, aniž by si všimli Arakčeeva, výstupními dveřmi do osvětlené zahrady. Arakčejev, držel meč a rozhněvaně se rozhlížel kolem, šel dvacet kroků za nimi.
    Dokud Boris vytvářel figurky mazurky, nepřestávalo ho trápit pomyšlení na to, jaké novinky Balašev přinesl a jak je zjistit dříve než ostatní.
    V postavě, kde si musel vybrat dámy, šeptal Heleně, že chce vzít hraběnku Potockou, která, jak se zdá, vyšla na balkon, on, klouzající nohama po parketu, vyběhl východem do zahrady. a když si všiml, že panovník vchází s Balashevem na terasu, zastavil se. Císař a Balašev mířili ke dveřím. Boris se ve spěchu, jako by se nestihl vzdálit, uctivě přitiskl k překladu a sklonil hlavu.
    Panovník se vzrušením osobně uražené osoby dokončil tato slova:
    - Bez vyhlášení války vstupte do Ruska. Uzavřem mír pouze tehdy, když na mé zemi nezůstane jediný ozbrojený nepřítel,“ řekl. Jak se Borisovi zdálo, bylo pro panovníka příjemné vyjádřit tato slova: byl potěšen formou vyjádření svých myšlenek, ale nebyl spokojen s tím, že je Boris slyšel.
    - aby nikdo nic nevěděl! dodal suverén zamračeně. Boris si uvědomil, že se to týká jeho, a zavřel oči a mírně naklonil hlavu. Císař opět vstoupil do sálu a na plese se zdržel asi půl hodiny.
    Boris se jako první dozvěděl zprávu o přechodu Němen francouzskými jednotkami a díky tomu měl příležitost ukázat některým důležitým lidem, že ví mnohé, co bylo ostatním skryto, a díky tomu měl příležitost pozvednout se výše podle mínění těchto osob.

    Nečekaná zpráva, že Francouzi překročili Němen, byla obzvlášť nečekaná po měsíci nenaplněných očekávání a na plese! Císař v první minutě přijetí zprávy pod vlivem rozhořčení a urážky zjistil, že později proslulé rčení, které se mu líbilo a plně vyjádřilo své city. Po návratu domů z plesu poslal panovník ve dvě hodiny ráno pro tajemníka Šiškova a nařídil mu, aby napsal rozkaz vojskům a reskript polnímu maršálovi princi Saltykovovi, ve kterém jistě požadoval, aby byla uvedena slova, že nebude usmířit, dokud na ruské půdě nezůstane alespoň jeden ozbrojený Francouz.
    Následující den byl napsán Napoleonovi následující dopis.
    Monsieur mon frere. J "ai appris hier que malgre la loyaute avec laquelle j" ai maintenu me engagements envers Votre Majeste, ses troupes ont franchis les frontieres de la Russie, et je recois a l "instant de Petersbourg une note par laquelle le comte cette agression, annonce que votre majeste s "est reflectee comme en etat de guerre avec moi des le moment ou le prince Kourakine a fait la demande de ses passeports. Les Motivs sur lesquels le duc de Bassano fondait son refus de les lui delivrer, n "auraient jamais pu me faire supposer que cette demarche servirait jamais de pretexte a l" agrese. En effet cet ambassadeur n "y a jamais ete autorise comme il l" a deklarovat lui meme, et aussitot que j "en fus informe, je lui ai fait connaitre combien je le desapprouvais en lui donnant l" ordre de rester a son poste. Si Votre Majeste n "est pas intendnee de verser le sang de nos peuples pour un malentendu de ce žánru et qu" elle souhlase a důchodce ses troupes du territoire russe, je pozorován, pokud jde o "est passe comme non avenu, et un accommodement entre" nous sera possible. Dans le cas contraire, Votre Majeste, je me verrai force de repousser une attaque que rien n "a provoquee de ma part. Budu záviset na přídavku Votre Majeste d "eviter a l" humanite les calamites d "une nouvelle guerre".
    Je suis atd.
    (podepsat) Alexandre.
    ["Můj pane bratře! Včera mi došlo, že i přes upřímnost, s jakou jsem dodržoval své závazky vůči Vašemu císařskému Veličenstvu, Vaše vojska překročila ruské hranice a teprve nyní obdržela nótu z Petrohradu, kterou mě hrabě Lauriston informuje o této invazi, že Vaše Veličenstvo se považuje za nepřátelské vztahy se mnou od doby, kdy princ Kurakin požadoval jeho pasy. Důvody, na kterých vévoda z Bassana zakládal své odmítnutí vydat tyto pasy, mě nikdy nemohly vést k domněnce, že důvodem k útoku byl čin mého velvyslance. A ve skutečnosti k tomu neměl ode mne žádný příkaz, jak sám oznámil; a jakmile jsem se o tom dozvěděl, okamžitě jsem dal najevo svou nelibost princi Kurakinovi a nařídil mu, aby plnil svěřené povinnosti jako dosud. Pokud Vaše Veličenstvo nebude kvůli takovému nedorozumění ochotno prolévat krev našich poddaných a pokud souhlasíte se stažením svých jednotek z ruských držav, pak budu ignorovat vše, co se stalo, a dohoda mezi námi bude možná. Jinak budu nucen odrazit útok, který nebyl z mé strany ničím iniciován. Vaše Veličenstvo, stále máte možnost zachránit lidstvo před metlou nové války.
    (podepsán) ​​Alexandr. ]

    Dne 13. června ve dvě hodiny ráno panovník zavolal Balaševa a přečetl mu jeho dopis Napoleonovi a nařídil mu, aby tento dopis vzal a osobně jej předal francouzskému císaři. Panovník poslal Balasheva a znovu mu zopakoval slova, že se nesmiřuje, dokud na ruské půdě nezůstane alespoň jeden ozbrojený nepřítel, a nařídil, aby tato slova byla bezpodmínečně sdělena Napoleonovi. Panovník tato slova do dopisu nenapsal, protože svým taktem cítil, že tato slova bylo nepohodlné sdělit ve chvíli, kdy se konal poslední pokus o smíření; ale určitě nařídil Balaševovi, aby je osobně předal Napoleonovi.
    V noci z 13. na 14. června odjížděl Balashev, doprovázený trubačem a dvěma kozáky, za úsvitu do vesnice Rykonty, na francouzské základny na této straně Nemanu. Byl zastaven hlídkami francouzské jízdy.
    Francouzský husarský poddůstojník v karmínové uniformě a huňatém klobouku křičel na přicházejícího Balaševa a přikázal mu, aby přestal. Balashev se okamžitě nezastavil, ale pokračoval v pohybu po silnici rychlým tempem.
    Poddůstojník, zamračený a zamumlající jakousi kletbu, postoupil koňskou hrudí na Balaševa, vzal šavli a hrubě zakřičel na ruského generála a zeptal se ho: je hluchý, že neslyší, co mu říkají? . Balashev se jmenoval. Poddůstojník poslal k důstojníkovi vojáka.
    Poddůstojník Balashevovi nevěnoval pozornost a začal se svými soudruhy mluvit o svých plukovních záležitostech a na ruského generála se nepodíval.
    Pro Balaševa bylo mimořádně zvláštní, poté, co byl blízko nejvyšší moci a moci, po rozhovoru před třemi hodinami s panovníkem a obecně zvyklým na vyznamenání v jeho službách, vidět zde, na ruské půdě, toto nepřátelské a hlavně neuctivý postoj hrubé síly k sobě samému.
    Slunce právě začínalo vycházet zpoza mraků; vzduch byl čerstvý a orosený. Cestou bylo stádo vyhnáno z vesnice. Na polích, jeden po druhém, jako bubliny ve vodě, vybuchli skřivani se smíchem.
    Balašev se rozhlédl kolem sebe a čekal na příjezd důstojníka z vesnice. Ruští kozáci, trubač a francouzští husaři na sebe čas od času mlčky pohlédli.
    Francouzský husarský plukovník, zřejmě právě z postele, vyjel z vesnice na krásném, dobře živeném šedém koni, doprovázený dvěma husary. Na důstojníkovi, vojácích a jejich koních byla vidět spokojenost a švih.
    Bylo to poprvé v kampani, kdy byla vojska ještě v pořádku, téměř se rovnala rozhledové, mírumilovné činnosti, jen s nádechem elegantní bojovnosti v oblékání a s morálním nádechem té zábavy a podnikavosti, které vždy doprovázely začátek kampaní.
    Francouzský plukovník stěží zadržel zívnutí, ale byl zdvořilý a zjevně chápal celý význam Balasheva. Vedl ho kolem svých vojáků za řetěz a oznámil mu, že jeho touha být předveden císaři bude pravděpodobně okamžitě splněna, protože císařský byt, pokud věděl, nebyl daleko.
    Projeli vesnicí Rykonty, kolem francouzských husarských stop, hlídek a vojáků, kteří salutovali svému plukovníkovi a zvědavě si prohlíželi ruskou uniformu, a jeli na druhou stranu vesnice. Podle plukovníka byl dva kilometry daleko náčelník divize, který přijme Balasheva a doprovodí ho na místo určení.
    Slunce již vyšlo a vesele svítilo do jasné zeleně.
    Právě odjeli za krčmu na hoře, když se jim zpod hory zjevila naproti skupina jezdců, před nimiž na černém koni s postrojem zářícím ve slunci jel vysoký muž v klobouku s peří a černé vlasy stočené po ramena, v červeném plášti a s dlouhýma nohama trčícími dopředu, jak Francouzi jezdí. Tento muž cválal směrem k Balashevovi a v jasném červnovém slunci se blýskl peřím, kameny a zlatými galony.
    Balašev už byl ve vzdálenosti dvou koní od jezdce, který k němu cválal se slavnostně teatrální tváří v náramcích, peřích, náhrdelníkech a zlatě, když Yulner, francouzský plukovník, uctivě zašeptal: "Le roi de Neapol." [Neapolský král.] Ve skutečnosti to byl Murat, nyní nazývaný neapolský král. I když bylo naprosto nepochopitelné, proč byl neapolským králem, říkalo se mu tak a sám o tom byl přesvědčen a měl proto slavnostnější a důležitější nádech než dříve. Byl si tak jistý, že je skutečně neapolským králem, že v předvečer jeho odjezdu z Neapole na něj několik Italů při procházce s manželkou neapolskými ulicemi křičelo: „Viva il re!“ [Ať žije Král! (italsky)] se smutným úsměvem obrátil ke své ženě a řekl: „Les malheureux, ils ne savent pas que je les quitte demain! [Bohužel nevědí, že je zítra opouštím!]
    Ale navzdory tomu, že pevně věřil, že je neapolským králem, a že litoval smutku svých poddaných, kteří ho opouštěli, v nedávné době poté, co dostal rozkaz znovu vstoupit do služby, a zejména po setkání s Napoleonem v Gdaňsku, když mu vznešený švagr řekl: „Je vous ai fait Roi pour regner a maniere, mais pas a la votre“, [Učinil jsem tě králem, abych vládl ne podle mého, ale podle k mému.] - vesele se pustil do jemu známého podniku a jako kůň, který byl smažený, ale ne tlustý, způsobilý pro službu, cítíc se v postroji, hrál si v šachtách a vybíjel co nejpestřeji a nejdražší , veselý a spokojený, cválal, nevěda kam a proč, po silnicích Polsko.
    Když uviděl ruského generála, královsky, slavnostně zvrátil hlavu s vlasy stočenými na ramena a tázavě pohlédl na francouzského plukovníka. Plukovník uctivě sdělil Jeho Veličenstvu význam Balaševa, jehož jméno nedokázal vyslovit.

    BASIC programovací jazyk - je rodina programovacích jazyků na vysoké úrovni. Původně byla vyvinuta jako učební pomůcka, v 80. letech se rozšířila na domácích mikropočítačích a v silně skloňovaném dialektu zůstává dodnes populární. Programování pro začátečníky.
    Název programovacího jazyka BASIC vznikl v klasických tradicích počítačové vědy, což vedlo k dobrému zkrácení názvu, Beginner's All-purpose Symbolic Instruction Code (Multi-purpose symbolic inštrukcie kód pro začátečníky). Název je spojen s název nepublikované práce vynálezce jazyka Thomase Kurtze. Někteří kritici to hravě nazývají Bill's Language Pokus o převzetí kontroly nad průmyslem v reakci na zásadu Microsoftu pro tlumočníky BASIC, která byla součástí všech dodávek prvních počítačů kompatibilních s IBM. Programování pro figuríny.

    Příběh

    Před adventem
    Do poloviny 60. let byly počítače velmi drahými nástroji, které se používaly pouze pro speciální účely, tehdy uměly jen jednu „práci“. Od poloviny 60. let však ceny počítačů začaly klesat až do bodu, kdy si je mohly dovolit i malé společnosti, a rychlost provádění instrukcí se zvýšila natolik, že počítače přestaly být nečinné, protože pro ně nebylo dost práce. který byl později probrán v základech programování.
    Programovací jazyky té doby byly obecně vyvinuty s možnostmi počítačů a pro specifické účely, jako je vědecké zpracování vzorců. Počítače, které uměly jen jednu „práci“, byly drahé a nejdůležitější vlastností byla rychlost provádění pokynů. Obecně bylo jejich použití obtížné, a dalo by se dokonce říci, že trochu „ošklivé“.
    Právě v této době se začal prosazovat koncept sdílení času operačním systémem. V takovém systému počítač "rozřezal" hlavní čas zpracování na části a každý uživatel obdržel malé množství času v určité sekvenci. Stroje byly již dostatečně rychlé, aby si většina uživatelů myslela, že mají výhradní použití celého počítače. V teorii sdílení času je zkrácení doby výpočtu extrémně důležité, protože na jednom počítači mohou pracovat stovky uživatelů, alespoň teoreticky.

    Narození a raná léta
    Programovací jazyk BASIC vynalezli v roce 1964 John George Kemeny (1926-93) a Thomas Eugene Kurtz (1928-) na Dartmouth College. V následujících letech, poté, co se objevilo mnoho variací BASICu, byl vydán Kemeny a Kurtzův popis původního BASICu, který dal původnímu BASICu jméno „Dartmouth Basic“.
    Programovací jazyk BASIC byl navržen tak, aby umožňoval studentům psát programy pomocí počítačových terminálů způsobem sdílení času. BASIC je navržen pro řešení složitých problémů, které řešila předchozí generace jazyků. Navrženo speciálně pro novou třídu uživatelů, kteří přijali myšlenku využití sdílení času, tedy pro „jednoduchého“ uživatele, kterého nezajímala ani tak rychlost, jako snadná obsluha počítače. Návrháři jazyka také chtěli, aby byl jazyk ve veřejné doméně, což by pomohlo jeho šíření.
    Osm principů konstrukce BASIC:

    1. Buďte snadné pro začátečníky
    2. Buďte obecným jazykem
    3. Povolit pokročilým funkcím přidávat vlastní vylepšení pro odborníky (při zachování jednoduchého jazyka pro začátečníky)
    4. Buďte interaktivní
    5. Vytvářejte jasné a přátelské chybové zprávy
    6. Rychle reagujte na malé programy
    7. Není nutná znalost počítačového hardwaru
    8. Ochrana uživatele před operačním systémem

    BASIC, založený částečně na Fortranu II a částečně na Algol 60, s dodatky, aby byl vhodný pro sdílení času a maticovou aritmetiku, byl poprvé implementován na manframech GE-265, které podporovaly více terminálů. Na rozdíl od všeobecného přesvědčení to byl v době svého vzniku kompilovaný jazyk. Téměř okamžitě po vydání se BASIC začal zesměšňovat informatiky jako příliš pomalý a příliš jednoduchý. Protože elitářství jazyka je stálým tématem v počítačovém průmyslu.
    BASIC se však rozšiřuje na velké množství strojů a stává se poměrně oblíbeným na novějších minipočítačích, jako je řada DEC PDP a Data General Nova. V těchto případech má jazyk tendenci fungovat spíše jako překladatel než kompilátor, nebo naopak, v závislosti na potřebách.

    explozivní růst
    Teprve s příchodem mikropočítače Altair 8800 v roce 1975 však BASIC zahájil jeho masovou distribuci. Většina programovacích jazyků byla příliš velká na to, aby se vešla do malé paměti počítačů, kterou si většina uživatelů může dovolit koupit, a pokud také vezmete v úvahu, že čtení probíhalo z pomalé papírové pásky (nebo novější verze audiokazety) a neexistovaly žádné vhodné textové editory, pak malé požadavky jazyka BASIC tyto požadavky dobře splňovaly. Jedním z prvních, který se na tomto stroji objevil, byl Tiny BASIC, jednoduchá implementace BASICu původně napsaná Dr. Li-Wang Chenem a později přenesená na Altair Dennisem Ellisonem na žádost Boba Albrechta (který později založil Dr. Dobbs Journal - DDJ). Design Tiny BASIC a úplný zdrojový kód byl publikován v roce 1976 DDJ.
    V roce 1977 Microsoft (v té době to byli jen dva lidé - Gates a Allen) vydal Altair BASIC. Verze se poté začaly objevovat na jiných platformách pod licencí a brzy se používaly miliony kopií a variant, což se stalo jedním ze standardních jazyků na Apple II. V roce 1979 Microsoft vyjednával s několika prodejci mikropočítačů, včetně IBM, aby pro tyto počítače licencoval interpret BASIC. Verze byla napevno zabudována do čipů IBM PC v ROM a pro PC bez disků se BASIC stal zaváděcím automaticky po zapnutí napájení.
    Jak se objevovaly nové společnosti, mnoho z nich se snažilo zopakovat úspěch Altairu, jako IMSAI, Polaris a Apple, a tak začala revoluce domácích počítačů, kdy se BASIC stal standardní funkcí domácích počítačů té doby. Většina přišla s tlumočníkem BASIC v ROM (funkce poprvé představená na Commodore PET v roce 1977). Brzy bylo po celém světě mnoho milionů strojů BASIC, pravděpodobně mnohem více než počet všech uživatelů všech ostatních jazyků dohromady. Mnoho programů, zejména těch na Apple II a IBM PC, se stalo závislými na interpretu BASIC společnosti Microsoft a bez něj by nefungovaly. Microsoft tedy použil autorská práva na kompilátor BASIC, aby získal páku při jednáních s prodejci počítačů.

    Splatnost
    Během tohoto časového období byly vytvořeny nové a výkonnější verze BASICu. Microsoft prodával několik verzí BASIC pro MS-DOS/PCDOS včetně BASICA, GW-BASIC (verze kompatibilní s BASICA, která nevyžadovala IBM ROM) a Quick Basic. Borland (vývojář Turbo Pascalu) vydal Turbo Basic 1.0 v roce 1985 (nástupce této verze je stále prodáván pod názvem PowerBASIC jinou společností). Existovala různá rozšíření pro domácí počítač, které BASIC podporoval, jako je grafika, zvuk a příkazy DOS, stejně jako nástroje pro strukturované programování. Jiné programovací jazyky používají známou syntaxi BASIC jako základ pro portování na jiné operační systémy, příkladem je GRASS.
    Ve druhé polovině 80. let však byly nové počítače mnohem složitější a měly mnoho funkcí (například grafická uživatelská rozhraní), takže BASIC byl pro programování stále méně vhodný. Počítače přitom postupují od nástroje amatérů k nástroji profesionálů. Osobní počítače začínají sloužit především ke spouštění aplikací napsaných jinými lidmi a programování obecně začíná být pro rychle rostoucí počet běžných uživatelů menším problémem. BASIC začal mizet, ačkoli mnoho verzí zůstalo k dispozici.
    Situace BASICu se mění s příchodem Microsoft Visual Basic. Přestože je již v tomto jazyce poměrně obtížné rozpoznat klasický BASIC (i přes použití známých BASIC slov v názvu), tento nový jazyk se stal jedním z nejpoužívanějších jazyků na platformě Windows. Nezapomeňme zmínit, že programy napsané v tomto jazyce představují přibližně 70 až 80 % všech komerčních aplikací. Visual Basic for Applications (VBA) byl přidán do Microsoft Excel 5.0 v roce 1993 a v roce 1997 zahrnut do celé produktové řady Microsoft Office. Windows 98 představil překladač VBScript. Nejnovější verze jazyka Visual Basic se nazývá VB.NET. OpenOffice Suite obsahuje BASIC variantu méně výkonnou než její MS protějšek.

    Syntax
    Logický operátor ukončení řádku je nový řádek, pokud nenarazíte na operátor logického převodu řádku na další pomocí znaku pro pokračování řádku. Základní ZÁKLADNÍ syntaxe: příkazy LET, PRINT, IF a GOTO. Interpret, který spouští program s touto minimální syntaxí, nepotřebuje zásobník, protože některé rané implementace mikropočítačů byly tak jednoduché. Pokud je přidán zásobník, lze přidat smyčky a příkazy GoSub. Překladač BASIC potřebuje mít kód čísla řádku, aby mohl pracovat s těmito funkcemi.
    Čísla řádků byla charakteristickým znakem klasického BASICu pro domácí počítač. Bohužel, použití čísel řádků má velkou nevýhodu, která vyžaduje, aby programátor měl představu o tom, kolik řádků bude v programu, protože hlavní příkazy měly skočit na konkrétní číslo řádku. A pokud byly v pozdějších verzích programu provedeny změny nebo doplňky, čísla těchto řádků se začala měnit, což vedlo k nutnosti změnit téměř celý program. K vyřešení tohoto problému se používaly záludné triky, které například říkaly, že řádky mají být číslovány s okrajem a krok byl +10. Ale přesto to nezachránilo v případě vážných úprav programu. Aby vyřešili tento problém s ranými překladači BASIC, pokročilí uživatelé brzy napsali své vlastní nástroje pro přečíslování řádků zdrojového kódu programu. Některé překladače BASIC, které přišly později, měly vestavěný příkaz pro změnu čísel řádků, čímž se odstranil nejaktuálnější problém s čísly řádků.
    Moderní dialekty BASICu opustily čísla řádků a většina implementací podporuje strukturální kontrolní příkazy, které se používají ve známých jazycích, jako je C nebo Pascal, stejně jako v jiných jazycích, jako je C a Pascal (ačkoli existují verze, které kombinovat strukturální kontrolu a číslování řádků):

    • do-loop-while-until-exit
    • na x goto / gosub (spínač a pouzdro)

    Nedávné varianty jako Visual Basic zavedly možnost objektově orientovaného programování a v nejnovější verzi dokonce i dědičnost. Správa paměti v nejnovější implementaci je mnohem jednodušší než v mnoha jiných procedurálních programovacích jazycích díky tomu, že je obvykle součástí garbage collector (který čistí paměť a odstraňuje nepotřebná data).
    Různorodost jazykových variant ukazuje, že jazyk má „organický“ charakter a že tento jazyk lze v počítačovém světě považovat za subkulturu, nikoli za pevnou sadu syntaktických pravidel. Totéž platí pro další „staré“ programovací jazyky jako COBOL a FORTRAN. Obrovský počet profesionálů v IT průmyslu, kteří znají BASIC, lze vysvětlit tím, že většina si brousila zuby na programování v 80. letech, v letech popularity BASICu.

    Postupy a řízení toku
    Basic nemá standardní externí knihovny jako jiné jazyky, jako je C. Místo toho překladač (nebo kompilátor) obsahuje rozsáhlou vestavěnou knihovnu nativních procedur. Tyto postupy zahrnují většinu nástrojů, se kterými se programátor musí naučit programovat a psát jednoduché aplikace, včetně matematických funkcí, vstupu a výstupu řetězců do konzole, grafiky a práce se soubory.
    Některé dialekty BASICu neumožňují programátorům psát jejich vlastní rutiny. Programátoři by místo toho měli psát své programy s více příkazy větve GOTO. To může vést k velmi matoucímu zdrojovému kódu běžně označovanému jako kód špaget. GoSub deklaruje jednoduché druhy podprogramů bez parametrů nebo lokálních proměnných. Většina moderních verzí BASICu, jako je Microsoft QuickBASIC, přidala podporu pro úplné podprogramy a funkce. To je další oblast, kde se tento jazyk liší od mnoha jiných programovacích jazyků. BASIC, stejně jako Pascal, rozlišuje mezi procedurou, která nevrací hodnotu (tzv. podprogram) a procedurami, které vracejí hodnotu (tzv. funkce). Mnoho dalších jazyků (zejména C) nerozlišuje a volá vše funkce (ačkoli některé funkce vracejí „prázdné“ hodnoty a jsou podprogramovými procedurami).

    Typy dat
    BASIC je dobře známý pro svou vynikající funkčnost pro zpracování řádků. Již v prvních dialektech bylo mnoho základních funkcí (LEFT$, MID$, RIGHT$) pro jednoduché zpracování řetězců. Vzhledem k tomu, že řetězce se často používají v každodenních aplikacích, byla to v době zavedení jazyka významná výhoda oproti jiným jazykům.
    Původní Dartmouth BASIC podporuje pouze číselné a řetězcové datové typy. Jazyk neměl datový typ integer, místo toho měl popisovat všechna čísla pomocí proměnných s pohyblivou řádovou čárkou (real type). Řádky měly dynamickou délku. Podporována byla pole, stejně jako matice (dvourozměrná pole).
    Každý moderní dialekt BASICu má alespoň celočíselné a řetězcové datové typy. Datové typy se obecně liší v následujícím: identifikátory řetězce končí na $, ale celá čísla nikoli. V některých dialektech musí být proměnné deklarovány před prvním použitím, v jiných dialektech to nevyžadují, ale je možné zkontrolovat, zda dodržuje toto pravidlo pomocí direktiv, jako je Option Explicit. Mnoho dialektů má také podporu pro další typy, jako jsou 16 a 32 bitová celá čísla a čísla s pohyblivou řádovou čárkou. Některé navíc umožňují definovat vlastní datové typy, podobně jako Pascal "záznamy" nebo "struktury" C.
    Většina hlavních dialektů také podporuje pole celých čísel nebo jiných typů. V některých případech musí být pole před použitím předdefinována (pomocí příkazu DIM). Běžná je podpora dvou a vícerozměrných polí a také polí neceločíselných typů.
    DIM myIntArray (100) JAKO CELÉ ČÍSLO
    DIM myNameList (50) JAKO STRING
    V závislosti na dialektu BASIC a na použití Option Base se hodnoty mohou pohybovat od myIntArray (0) do myIntArr (100), od myIntArr (1) do myIntArr (100) nebo od myIntArray (LowInteger) do myIntArray (HighInteger ), jinými slovy číslo První prvek může začínat od nuly nebo od jedničky.

    Relační a logické operátory
    = rovný
    <= меньше или равно
    není logická negace
    <>Ne rovné
    >= větší nebo rovno
    a booleovské násobení
    < Меньше
    nebo logické doplnění
    > Více
    (Všimněte si, že neexistuje žádný lexikální rozdíl mezi operátorem rovná se a operátorem přiřazení v BASICu - je to znak "=")

    Dostupnost a možnosti dialektu
    Basic je k dispozici pro téměř všechny mikroprocesorové platformy. K dispozici je bezplatný jazykový interpret vyhovující standardům a multiplatformní Bywater BASIC (bwBASIC). Interpret je napsán v C a je licencován pod GNU. Je určen pro textovou programovou konzoli a jako takový neobsahuje nástroje pro tvorbu grafického uživatelského rozhraní (GUI). Bezplatný BASIC, který nezahrnuje GUI Builder, je podobný Visual Basicu a běží na Windows a Linux – je to Phoenix Object Basic.
    Nejznámější verze jsou kompilovaná verze Microsoft Quick BASIC a verze QBASIC, která nevytváří samostatné programy. Některé verze jazyka Visual Basic lze také kompilovat do nativního kódu. Microsoft udržoval Visual Basic minimálně kompatibilní i s dřívějšími verzemi.
    Mezi další verze patří programovací jazyk PowerBASIC od PowerBASIC a True BASIC od True BASIC, které jsou kompatibilní s nejnovějšími oficiálními standardy pro BASIC. True BASIC byl založen jedním ze zakladatelů Dartmouth BASIC.
    REALbasic je varianta pro Apple Macintosh, která také vytváří spustitelné soubory pro Microsoft Windows. PureBasic je varianta s jednoduchou syntaxí, která však vytváří rychlé a malé spustitelné soubory pro Windows a Linux. SmallBASIC je dialekt, který běží na mnoha platformách (Win32, DOS, Linux a PalmOS) a je licencován pod GNU GPL.