THE BELL

Є ті, хто прочитали цю новину раніше вас.
Підпишіться, щоб отримувати статті свіжими.
Email
ім'я
Прізвище
Як ви хочете читати The Bell
без спаму

Мова Бейсік (він же Бейсік, він же BASIC) входить в сімейство мов програмування високого рівня.

BASIC - це абревіатура, яка розшифровується так: Beginner's All-purpose Symbolic Instruction Code - універсальний код символічних інструкцій для початківців).

Мова програмування Бейсік був розроблений в 1964 році. Витівка полягала в тому, щоб створити мову, за допомогою якого студенти, які не мають навичок програмування, могли самостійно створювати для вирішення своїх завдань.

Ця мова свого часу був дуже популярний і розплодився по світу комп'ютерів у вигляді різних діалектів, в основному, як мова для домашніх комп'ютерів.

Бейсік з моменту створення багаторазово допрацьовувався і ускладнювався, підкоряючись законам сучасного програмування. З цієї причини до теперішнього часу він вже втратив (у порівнянні з першими версіями) свою простоту. Хоча, навіть з урахуванням цього, сучасний Бейсік все-одно залишається відносно простою мовою, в порівнянні з такими мовами, як, наприклад,.

Починаючи з 1960-х років комп'ютери ставали все більш доступними. На комп'ютерах могли працювати вже не тільки вчені-програмісти, а й школярі та студенти, які не були програмістами. Однак у цих школярів і студентів уже з'явилися завдання, які треба було вирішувати за допомогою комп'ютерів.

Готових програм тоді майже не було. Тому під кожну задачу треба було створювати окрему програму. І робити це на комп'ютерах тих років, використовуючи наявні тоді мови програмування, було дуже складно (частково тому раніше мови програмування створювалися для вирішення конкретних завдань, наприклад, ПРОЛОГ був орієнтований на створення систем з штучним інтелектом, ФОРТРАН - для роботи з математичними формулами в наукових і інженерних обчисленнях і т.п.).

Тому не дивно, що у кого-то з'явилася думка створити мову програмування настільки простий, наскільки це взагалі можливо, щоб люди, зовсім незнайомі з програмуванням, могли створювати хоча б прості програми для вирішення якихось завдань на комп'ютерах (ця думка була втілена в життя , хоча потім критики ставили ці особливості в провину Бейсік).

У підсумку в 1964 році викладачами Дартмутського коледжу Джоном Кемені і Томасом Курцем був придуманий мова Бейсік, і під їх керівництвом був реалізований командою студентів коледжу. Згодом, коли стали з'являтися інші діалекти, початкову реалізацію стали називати Dartmouth BASIC.

Бейсік був задуманий і зроблений так, щоб студенти могли відносно легко створювати свої програми. Бейсік був орієнтований на користувачів, для яких швидкість виконання програм не була занадто важливою, і яким набагато важливіше було мати можливість використовувати комп'ютер для вирішення своїх завдань в принципі, не маючи спеціальної підготовки (нагадаю, готових програм тоді майже не було).

При розробці мови Бейсік використовувалися наступні вісім принципів:

  1. Мова має бути простим у використанні і зрозумілим для початківців.
  2. Повинен бути мовою програмування загального призначення (а не спеціального, як, наприклад, згадані вище Фортран і Пролог).
  3. Мова повинна надавати можливість розширення функціональності, доступну досвідченим програмістам.
  4. Мова має бути інтерактивним, тобто виконувати команди користувача.
  5. Мова повинна надавати однозначні і зрозумілі повідомлення про помилки.
  6. Мова повинна швидко працювати на невеликих програмах.
  7. Мова не повинен бути прив'язаний до "заліза" і не повинен вимагати від програміста розуміння роботи цього самого "заліза".
  8. Мова повинна захищати користувача від операційної системи (або операційну систему від користувача - кому як більше подобається))).

При створенні Бейсік за основу були взяті частково Фортран II і частково Алгол 60. Спочатку Бейсік був реалізований на мейнфреймі GE-265 з підтримкою безлічі терміналів (мейнфрейм - це великий високопродуктивний відмовостійкий сервер).

Незважаючи на те, що мова вже використовувався на кількох міні-комп'ютерах, його справжнє поширення почалося з впровадження на мікрокомп'ютері Altair 8800.

Багато мови програмування були занадто громіздкими, щоб поміститися в невелику пам'ять, яку користувачі подібних комп'ютерів могли собі дозволити. Для машин з таким повільним носієм інформації, як паперова стрічка (пізніше - трасах), і без відповідного текстового редактора такої невеликої мову, як Бейсік, був найкращим рішенням.

У 1975 році Microsoft (тоді це були лише двоє - і Пол Аллен, за участю Монте Давидова), випустила Altair BASIC. Потім його версії з'явилися на іншій платформі під ліцензією і скоро у використанні були вже мільйони копій і різних варіантів. Один з варіантів, Applesoft BASIC, став стандартною мовою на. Для операційної системи CP / M була створена діалект BASIC-80, який надовго випередив свій час.

До речі, Білл Гейтс говорив, що Бейсік - це його улюблена мова програмування.

Найбільш бурхливо і успішно Бейсік розвивався протягом 1970-х і на початку 1980-х років. У цей час майже всі персональні комп'ютери мали власний інтерпретатор Бейсика, часто зашивали прямо в ПЗУ. У найпростіших комп'ютерах він навіть виконував функції операційної системи.

Практично всі більш потужні комп'ютери також мали інтерактивні Бейсік-системи. Було створено кілька нових версій Бейсика для платформи IBM PC і сумісних. Microsoft продавала Бейсік для MS-DOS / PC DOS, включаючи BASICA, GW-BASIC (модифікація BASICA, яка не потребує «прошивки» від IBM) і QuickBASIC.

Компанія Borland, що отримала широку популярність завдяки (з яким вона і вийшла вперше на ринок) в 1985 році випустила засновану на тій же програмному середовищі систему Turbo Basic 1.0 (його спадкоємці згодом продавалися іншою компанією під ім'ям PowerBASIC).

До кінця 1980-х років персональні комп'ютери стали набагато могутніше і надавали нові можливості (такі, як графічний інтерфейс користувача). Використовувати ці нові можливості в Бейсике було вже не так просто і не так зручно. Крім того, з'явилися недорогі компілятори більш просунутих мов (таких як Паскаль і Сі), які, до того ж, мали наворочені на ті часи і додаткові бібліотеки з готовими (наприклад, Borland Pascal з бібліотекою Turbo Vision).

Бейсік почав втрачати популярність, хоча величезна кількість його версій ще використовувалися і продавалися. В цей же час почався поступовий перехід Бейсік в сторону визнаних структурних мов: розширився словник і набір конструкцій мови, з'явилися складні розгалуження, іменовані підпрограми і функції, довгі імена змінних.

Особливості мови Бейсік

Ранні версії Бейсика (такі як BASICA, GW-BASIC) сильно відрізняються від сучасних діалектів і сьогодні практично не використовуються. Причому відрізняються настільки сильно, що програміст не кожного програму на старому Бейсік зможе перевести на сучасний Бейсік.

Структура програми на ранніх версіях Бейсика багато в чому формувалася з урахуванням того, що він призначався для середовища програмування зі рядковим редактором тексту. В такому редакторі користувач не мав можливості відображати весь текст на екрані (у вікні), не міг пересуватися по ньому в будь-яких напрямках за допомогою клавіатури і / або миші. У малих редакторах користувач, щоб змінити текстову повинен дати команду зміни рядка із заданим номером, потім ввести новий текст зазначеного рядка (ось була житуха у програмістів))).

Щоб створити новий рядок потрібно дати команду вставки, знову-таки вказавши номер. Введені рядки відображаються на екрані послідовно (незалежно від номерів). Щоб побачити зміни, застосовується команда виведення тексту, яка виводить рядки в правильному порядку (по зростанню номерів).

Тому в старому Бейсік кожен рядок починалася з номера. При введенні в редактор рядок виявлялася в початковому тексті програми на позиції, що відповідає її номеру. Щоб створити новий рядок потрібно було дописати рядок з номером, що знаходяться в діапазоні між номерами двох інших рядків.

«Розсунути» рядки було неможливо, якщо потрібно вставити новий рядок між рядками з сусідніми номерами, доводилося повторно вводити ці рядки з іншими номерами, щоб забезпечити розрив в нумерації (або застосовувати спеціальну команду RENUM, яка змінювала номери всіх уже введених рядків з постійним кроком).

Як ви розумієте, при створенні більш-менш складною програми практично неможливо передбачити, скільки в ній буде рядків і в якому порядку вони будуть слідувати.

Тому для забезпечення подальшого редагування програми стало прийнято нумерувати рядки з кроком 10 (а іноді і більше). Це дозволяло в більшості випадків без проблем вставляти нові рядки без зміни номерів рядків, які були введені раніше.

Приклад розглянемо трохи пізніше, коли познайомимося з синтаксисом мови Бейсік.

Синтаксис мови Бейсік

Ознакою кінця служить кінець рядка. Щоб на одному рядку розмістити кілька операторів, потрібно поставити між ними двокрапка (це дозволялося не у всіх реалізаціях мови).

Найпростіша програма на Бейсік:

10 PRINT "Hello, WORLD!"

Бейсік - не чутлива до регістру мову. Тобто для Бейсік слова PRINT і print - це одне і теж. Це стосується не тільки ключових слів, а й імен змінних. Хоча деякі реалізації мови є чутливими до регістру повністю або частково (наприклад, Liberty BASIC).

Імена змінних повинні починатися з літери і можуть складатися з латинських букв і цифр. Для створення змінної строкового типу потрібно було після імені вказати знак долара ($).

наприклад:

X \u003d 100 'Числова змінна X $ \u003d "Hello"' Строкова змінна

Вирази схожі на вираження в більшості інших процедурних мов програмування, але в перших варіантах Бейсика їх було досить мало. У самих ранніх варіантах число ключових слів було менше 20 (в цьому і принадність Бейсік))).

Оголошувати прості змінні не потрібно. Просто в будь-якому місці програми пишемо ім'я змінної, і все. Правда, масиви треба оголошувати.

Нижче перераховані самі основні конструкції мови, які були реалізовані практично в будь-який Бейсік-системі кінця 1970-х років (багато з цих конструкцій підтримуються і сучасними реалізаціями мови Бейсік):

LIST
Висновок на монітор тексту програми в правильній послідовності рядків.

RUN
запуск поточної програми з першого оператора рядки з найменшим номером.

REM
Коментар. Текст, що знаходиться після ключового слова і до кінця рядка, є коментарем. Багато інтерпретаторів також підтримують як знак початку коментаря одиночну лапки ". Деякі інтерпретатори допускають використовувати слово REM, тільки якщо воно знаходиться в самому початку рядка.

INPUT
Виводить на монітор текст запрошення і чекає, поки користувач введе значення і натисне ENTER.

PRINT
Виводить дані на монітор (текст і значення змінних).

CLS
Очищає екран.

DIM
Опис масиву. На відміну від звичайних змінних, масиви вимагають попереднього оголошення.

GOTO мітка
Команда безумовного переходу на мітку.

IF ... THEN ...
Звичайний оператор розгалуження. Після IF розміщується логічне умова, після THEN - оператор, який повинен бути виконаний при істинності цієї умови.

END
Завершення виконання програми. Система виходить в інтерпретатор і користувачеві видається запрошення на введення команд.

SAVE
команда інтерактивного режиму, Яка зберігає поточну програму у файлі на зовнішньому носії.

LOAD
Команда інтерактивного режиму, яка завантажує в пам'ять програму з файлу на зовнішньому носії. При цьому зазвичай з пам'яті видаляється раніше завантажена програма і дані.

Приклад програми на Бейсике:

10 CLS "Очистити екран 20 PRINT" Привіт, МИР !!! "30 X \u003d 100" Присвоїти 100 змінної Х 40 INPUT "Введіть число:"; Y 50 PRINT Y; "*"; X; "\u003d"; X * Y 60 END

інтерпретатори Бейсік

Один з найбільш відомих інтерпретаторів мови Бейсік - це QBasic від Microsoft. Багато років він безкоштовно поставлявся разом з операційними системами MS-DOS і Windows. QBasic мав непогані на той час графічні і звукові можливості. Тому на QBasic створювалися навіть гри (один мій знайомий це робив - не те, що на зображенні, але щось типу того))).

Бейсік пізніх версій (починаючи з Turbo Basic і Visual Basic) сильно відрізняється від ранніх реалізацій. По суті це нова мова, який вже більше схожий на Фортран або Паскаль, ніж на вихідний Бейсік (хоча багато конструкцій підтримуються).

Друге життя Бейсік отримав з появою Visual Basic від Microsoft. Але, не дивлячись на популярність, в 2001 році Microsoft відмовилася від подальшої підтримки Visual Basic (якщо не помиляюся, остання версія Visual Basic була 6.5) на користь принципово нової мови Visual Basic .NET, де мова була знову "перекроєний" і "перешитий", орієнтований на крос-платформену технологію.NET, і в поточному стані практично збігається з набору можливостей c мовою C #. Відмінності лише в синтаксисі і ключових словах.

Так Basic переріс із засобу для створення програм любителями-непрофесіоналами до повноцінного кошти створення програм.

Крім написання повноцінних програм, Бейсік широко застосовується як основа для різних скриптових мов (наприклад, макроси в пакеті Microsoft Office пишуться на діалекті VBA, мова сценаріїв VBScript використовується в SCADA-системах та інших подібних програмах).

скільки людей стільки й думок

Навіть в свої кращі часи (1970 ... 1980 роки) Бейсік піддавався жорсткій критиці (втім, як і майже всі інші мови програмування - критикувати у нас люблять).

Звичайно, у Бейсік було чимало недоліків. Але ж він же таким і був задуманий! Так, з недоліками. Але зате простий і доступний для розуміння навіть гуманітарію.

В основному ж професійні програмісти розносили в пух і прах Бейсік за те, що його простота і відсутність структурування призводять до того, що початківці програмісти в гонитві за скороченням часу на створення програм, геть-чисто забувають про "правильному" підході до програмування. Це допустимо при написанні простеньких програм, але практично завжди призводить до невдачі при роботі над серйозними великими проектами.

Багато професіоналів також були категорично проти того, щоб використовувати Бейсік для навчання новачків. Відомий у світі програмістів авторитет Едсгер Дейкстра говорив, що студентів, раніше вивчали Бейсік, практично неможливо навчити хорошому програмування. І що як потенційні програмісти вони розумово понівечені без надії на відновлення.

Незважаючи на авторитет Дейкстри, я з ним в цьому не згоден. Те, що приписують до недоліків Бейсік, насправді є його достоїнствами. Недоліки Бейсика (якщо мати на увазі ранні діалекти) проявляються при спробі професійної розробки на ньому складних і великих програм і при використанні його як базового мови для навчання програмістів, але ні для одного з цих застосувань дану мову не був призначений. Його основним завданням було надати студентам-непрограмістів можливість після мінімального навчання самостійно писати найпростіші програми для власних потреб, щоб не відволікати на цю роботу фахівців. Цю задачу мову вирішує цілком успішно.

Якщо ж говорити про сучасні діалектах і реалізації Бейсика, то вони настільки далеко пішли від первісної форми мови, що все вищесказане навряд чи можна вважати належать до них. Сучасні діалекти Бейсика є досить структурованими мовами, вони співвідносяться з можливостями з такими мовами, як Сі, Паскаль і т.п.

Мова Бейсік (навіть перші його реалізації, такі як QBasic), цілком придатний для навчання, тому що з моєї точки зору немає абсолютно ніяких проблем, при необхідності, вивчити потім іншу мову. Може бути в 60-і роки минулого століття це і було проблемою - не знаю (я народився в 1969). Але зараз - ні.

До того ж сьогодні і переучуватися особливо не потрібно, так як можна створювати свої класні програми, наприклад, на Visual Basic.

І під їх керівництвом був реалізований командою студентів коледжу. Згодом, коли стали з'являтися інші діалекти, початкову реалізацію стали називати Dartmouth BASIC.

Бейсік був спроектований так, щоб студенти могли без труднощів писати програми, використовуючи термінали з поділом часу. Він призначався для більш «простих» користувачів, що не стільки зацікавлених в швидкості виконання програм, скільки просто в можливості використовувати комп'ютер для вирішення своїх завдань, не маючи спеціальної підготовки.

При проектуванні мови використовувалися наступні вісім принципів. Нова мова мав:

  1. бути простим у використанні для початківців;
  2. бути мовою програмування загального призначення;
  3. надавати можливість розширення функціональності, Доступну досвідченим програмістам;
  4. бути інтерактивним;
  5. надавати ясні повідомлення про помилки;
  6. швидко працювати на невеликих програмах;
  7. не вимагати розуміння роботи апаратного забезпечення;
  8. захищати користувача від операційної системи.

Мова був заснований частково на Фортране II і частково на Алгол 60, з доповненнями, що роблять його зручним для роботи в режимі поділу часу і, пізніше, обробки тексту і матричної арифметики. Спочатку Бейсік був реалізований на мейнфреймі GE-265 з підтримкою безлічі терміналів. Всупереч поширеному переконанню, в момент своєї появи це був компільований мову.

Зріст

Незважаючи на те, що мова вже використовувався на кількох міні-комп'ютерах, його справжнє поширення почалося з його появи на мікрокомп'ютері Altair 8800. Багато мови програмування були занадто великими, щоб поміститися в невелику пам'ять, яку користувачі таких машин могли собі дозволити. Для машин з таким повільним носієм як паперова стрічка (пізніше - аудіокасета) і без відповідного текстового редактора такої невеликої мову як Бейсік був чудовою знахідкою.

зрілість

Періодом найбільшого розквіту і розвитку вихідного Бейсика можна вважати кінець 1970-х - першій половині 1980-х років. У цей період практично всі персональні комп'ютери мали власний інтерпретатор Бейсика, часто зашивали в ПЗУ, який в найпростіших комп'ютерах нерідко виконував також функції операційної системи. Практично всі більш потужні комп'ютери також мали інтерактивні Бейсік-системи. Характерно, що практично не було компіляторів Бейсика, абсолютна більшість реалізацій представляли собою стандартний гібрид сатиричного редактора і інтерпретатора. Невдоволення примітивізмом вихідного Бейсика породжувало спроби поліпшити і базові засоби мови, що призвело до появи в деяких реалізаціях складних операторів розгалуження, додаткових видів циклів, іменованих процедур з параметрами.

Було створено кілька нових версій Бейсика для платформи IBM PC. Microsoft продавала Бейсік для MS-DOS / PC DOS, включаючи BASICA, GW-BASIC (модифікація BASICA, яка не потребує «прошивки» від IBM) і QuickBASIC. Borland, спочатку вийшла на ринок зі своїм відомим Turbo Pascal, в 1985 році випустила засновану на тій же програмному середовищі систему Turbo Basic 1.0 (його спадкоємці згодом продавалися іншою компанією під ім'ям PowerBASIC). Деякі інші мови використовували добре відомий синтаксис Бейсика в якості основи, на якій будувалася зовсім інша система (див. Наприклад, GRASS). Прагнення збільшити продуктивність Бейсік-програм призвело до появи повноцінних компіляторів (яким був, наприклад, згаданий Turbo Basic), а також «гібридних» систем, в яких при збереженні інтерпретації як основний методики виконання програми була реалізована часткова компіляція «на льоту», наприклад, компіляція коротких циклів. Крім того, по крайней мере, на платформі IBM поширилася псевдокомпіляції бейсик-програм, коли транслятор перекладав Бейсік-програму в псевдокод (нерідко - оборотний) і формував виконувану програму з об'єктного модуля інтерпретатора і кодованого модуля з текстом програми. Така програма запускалася і виконувалася як звичайна компілювати об'єктна програма, хоча по суті залишалася інтерпретується.

В середині 1980-х Бейсік стала основною мовою в складних моделях програмованих калькуляторів, які як раз до цього часу досягли потужності, що допускає застосування повноцінного мови високого рівня. Сам факт, що багато виробників, не змовляючись, вибрали в якості основи ЯВУ калькуляторів саме Бейсік, найкраще говорить про поширеність і популярності цієї мови в зазначений час. Так, Бейсік був вбудований в радянський калькулятор «Електроніка МК-85» і все його пізніші моделі. Застосування Бейсика в якості основного ЯВУ програмованих калькуляторів триває донині; в даний час саме «калькуляторного» Бейсік найбільше схожий на початковий варіант 1960-80х років, наприклад, реалізація для калькуляторів CITIZEN містить всього 14 ключових слів (не рахуючи математичних функцій) і допускає тільки односимвольні імена змінних.

До кінця 1980-х років персональні комп'ютери стали набагато могутніше і надавали можливості (такі, як графічний інтерфейс користувача), використання яких в Бейсике було вже не таким зручним. До того ж поява на комп'ютерах «навчального» і «домашнього» класу недорогих трансляторів промислових мов (насамперед - Паскаля і Сі), супроводжуваних зручними середовищами програмування та корисними бібліотеками (наприклад, Borland Pascal з бібліотекою Turbo Vision) створило Бейсік сильну конкуренцію. Бейсік почав здавати позиції, незважаючи на те, що величезна кількість його версій ще використовувалося і продавалося. В цей же час почалося стрімке зміна вигляду тих Бейсік-систем, які залишалися в експлуатації. Відбувався поступовий «дрейф» у бік визнаних структурних мов: розширився словник і набір конструкцій мови, з'явилися складні розгалуження, іменовані підпрограми і функції, довгі імена змінних. Крім того, зрослі можливості персональних комп'ютерів дозволили відмовитися від характерних особливостей Бейсика, введених для забезпечення ефективної інтерактивної роботи за текстовим терміналом: числових міток у кожного рядка і порядкового редагування.

опис

Синтаксис мови нагадує Фортран і багато елементів - явні запозичення з нього. Мова замислювався для навчання, тому його конструкції максимально прості. Як і в інших мовах програмування, ключові слова взяті з англійської мови. Основних типів даних два: рядки і числа. З появою версії Visual Basic, а також різних його модифікацій (таких як VBA), в мові з'явилися багато інших типів даних і доповнення, типові для сучасних мов програмування (наприклад, такі, як об'єктна модель). Оголошення змінних не вимагає спеціальної секції (на відміну від Паскаля). Оголошення змінної - це перше її використання.

Ранні версії Бейсика (такі як BASICA, GW-BASIC) істотно відрізняються від сучасних діалектів і сьогодні практично не використовуються.

ранні версії

Зовнішній вигляд програм на ранніх версіях Бейсика багато в чому визначався тим, що він призначався для середовища програмування зі рядковим редактором тексту. В такому редакторі користувач не мав можливості відображати весь текст на екрані (у вікні), переміщатися по ньому в будь-яких напрямках за допомогою клавіатури і / або миші. У малих редакторах користувач, щоб змінити текстову повинен дати команду зміни рядка із заданим номером, потім ввести новий текст зазначеного рядка. Щоб створити новий рядок потрібно дати команду вставки, знову таки вказавши номер. Введені рядки відображаються на екрані послідовно (незалежно від номерів). Щоб побачити зміни, застосовується команда виведення тексту, яка виводить рядки в правильному порядку (по зростанню номерів).

Все це відбилося в Бейсике. Кожен рядок починалася з номера. При введенні в редактор рядок виявлялася в початковому тексті програми на позиції, що відповідає її номеру. Щоб створити новий рядок потрібно було дописати рядок з номером, що знаходяться в діапазоні між номерами двох інших рядків. «Розсунути» рядки було неможливо, якщо потрібно вставити новий рядок між рядками з сусідніми номерами, доводилося повторно вводити ці рядки з іншими номерами, щоб забезпечити розрив в нумерації (або застосовувати спеціальну команду RENUM, яка перенумеровувати все вже введені рядки з постійним кроком, синхронно змінюючи все команди переходів). Для спрощення оперативного редагування програми склалася практика нумерувати рядки з кроком 10 - це дозволяло практично у всіх випадках вставляти нові рядки без зміни номерів раніше введених. Наприклад, щоб додати третій рядок між рядками 20 і 30, потрібно було написати рядок з номером 25. Типова рядок з програми на Бейсике виглядала так:

10 PRINT "Hello, World!"

Змінювати вручну номера вже наявних рядків було небезпечно, так як номери виконували роль міток для оператора GOTO. Раніше в Бейсике були допустимі тільки числові мітки для цього оператора, і наявність в кожному рядку унікального номера робило можливим безумовний перехід до будь-якої з них. Числові мітки і активне використання GOTO було неминучим при програмуванні на Бейсике, що сприяло поганий структурі коду і в великих проектах призводило до заплутування самих авторів. Був навіть придуманий жартівливий термін «макаронний програмування» (spagetti code), тому що логіка програми з частими переходами GOTO нагадує тарілку зі спагеті.

Ознакою кінця оператора служив кінець рядка. Щоб на одному рядку розмістити кілька операторів, потрібно поставити між ними двокрапка (це дозволялося не у всіх реалізаціях мови). Імена змінних в більшості діалектів могли складатися тільки з однієї літери, після якої можна було додати одну цифру, що так само не сприяло кращому розумінню коду. Для створення змінної строкового типу потрібно було після імені вказати знак долара ($). Мінлива без цього знака була числовий (з плаваючою точкою). Було ще кілька модифікаторів, що відносяться до числового типу: знак відсотка (%) - цілий тип, знак оклику (!) - звичайна точність, октоторп (#) - подвійна точність (для даних з плаваючою точкою, тобто десяткових дробів). У деяких версіях числові модифікатори могли не застосовуватися або застосовуватися не всі. В абсолютній більшості програм використовувався тільки базовий числовий тип

Вирази схожі з більшістю інших процедурних мов програмування, але в перших варіантах Бейсика їх набір був досить бідним. У самих ранніх варіантах число ключових слів не досягало навіть 20. Ось набір основних програмних конструкцій і інтерактивних команд, які були реалізовані практично в будь-який Бейсік-системі кінця 1970-х років:

  • LIST - вивід на монітор тексту програми в правильній послідовності рядків. Залежно від реалізації команда підтримувала параметри - діапазон рядків, який потрібно вивести. Іноді підтримувався варіант LLIST - висновок на принтер.
  • RUN - Запуск поточної програми з першого оператора рядки з найменшим номером. Міг підтримуватися параметр - номер рядка, з якого потрібно починати виконання.
  • REM - Коментар. Текст, який перебував після ключового слова і до кінця рядка, на виконання програми не впливав. Багато інтерпретаторів також підтримували як знак початку коментаря одиночну лапки ".
  • INPUT "Запрошення:", Змінна - вивід на монітор тексту "Запрошення:" і очікування, поки користувач не введе значення і не натисне Enter. Після цього в Зміну запишеться введене значення. У найпростіших реалізаціях запрошення в INPUT не підтримує і його потрібно було виводити окремим оператором PRINT (див. Нижче).
  • PRINT «Текст»; Мінлива; Мінлива; «Текст» - вивід на монітор послідовно перерахованих об'єктів (тексту і значень змінних). Залежно від реалізації, по-різному сприймалися роздільники: в одних випадках роздільник приводив до висновку хоча б одного пробілу, в інших - значення виводилися поспіль і роздільники потрібно було додавати вручну. Роздільник «;» виконував також функцію придушення перекладу на наступний рядок.
  • CLS - Очищення екрану терміналу. Залежно від реалізації, конструкції і режиму роботи терміналу текстовий курсор переносився або в верхній лівий, або в нижній лівий кут.
  • LET - Присвоєння (формат «LET Мінлива \u003d Значення»). В абсолютній більшості версій оператор LET підтримувався, але був факультативним - привласнення змінним значень записувалися без LET).
  • DIM - Опис масиву. На відміну від звичайних змінних, масиви вимагали опису. Максимальне число розмірностей масиву визначалося тільки реалізацією
  • DATA - Набір даних, що розміщуються прямо в тексті програми (аналог константи або масиву-константи).
  • READ - Команда зчитування з набору DATA.
  • GOTO Lbl - Команда безумовного переходу на мітку Lbl.
  • ON ... GOTO - Команда обчислюється переходу - після ON мало б іти обчислюється вираз або змінна, а після GOTO - набір міток через кому. Значення виразу вказувало номер мітки, на яку потрібно перейти.
  • IF ... THEN ... - Звичайний оператор розгалуження. Після IF розміщується логічне умова, після THEN - оператор, який повинен бути виконаний при істинності цієї умови. Для скорочення запису багато реалізації підтримували угоду - якщо після THEN йде число, то це - мітка, на яку потрібно перейти, тобто форма «IF ... THEN 150» рівнозначна «IF ... THEN GOTO 150». Також могли підтримуватися форми «IF ... GOTO ...»
  • FOR ПеременнаяЦікла \u003d НачальноеЗначеніе TO КонечноеЗначеніе STEP Крок - Тема циклу з кроком. Ініціює цикл, в якому Мінлива послідовно проходить ряд значень від НачальноеЗначеніе до КонечноеЗначеніе з кроком Крок. Тіло циклу обмежується заголовком і ключовим словом NEXT. Частина STEP могла опускатися - в цьому випадку крок був дорівнює одиниці. Коли ПеременнаяЦікла виходить за вказані межі, відбувається перехід за відповідний оператор NEXT.
  • NEXT - Завершення тіла циклу з кроком. Оператор показує, що необхідно перейти на заголовок поточного виконуваного циклу FOR і продовжити роботу. У більш розвинених реалізаціях NEXT міг містити список змінних циклу через кому - це означало, що в даній точці програми завершується тіло не одного, а декількох циклів. Застосування NEXT зі змінною також страхували від порушення логіки програми, так як викликало помилку часу виконання, якщо при виконанні цієї команди виявлялося, що активний цикл не по тій змінної, ім'я якої зазначено.
  • WHILE Умова - Тема циклу з передумовою. Цикл завершувався, якщо умова виявлялося помилково. В цьому випадку відбувався перехід за відповідний заголовку оператор WEND.
  • WEND - Завершення тіла циклу WHILE. Аналог NEXT але для циклу з передумовою.
  • GOSUB Метка - Перехід до підпрограми, що починається з мітки. Повернення відбувається при досягненні оператора RETURN. Рекурсивний виклик процедури був, як правило, заборонений і приводив до помилки часу виконання.
  • RETURN - Оператор повернення з підпрограми. Виконується безумовний перехід на оператор, наступний за командою GOSUB, якій був проведений перехід до підпрограми.
  • END - Завершення виконання програми. Система виходить в інтерпретатор і користувачеві видається запрошення на введення команд.
  • CHAIN \u200b\u200b- Завантаження діапазону рядків програми з зовнішнього носія.
  • OPEN - Відкриття файлу даних на зовнішньому носії.
  • CLOSE - Закриття файлу даних на зовнішньому носії.
  • GET - Послідовне читання значень зазначених змінних з файлу з переміщенням файлового покажчика за останній лічений символ.
  • PUT - Послідовна запис значень зазначених змінних в файл з переміщенням файлового покажчика за останній записаний символ.
  • DELETE - Команда інтерактивного режиму - видалення рядка з вказаним номером.
  • SAVE - Команда інтерактивного режиму - збереження поточної програми в файлі на зовнішньому носії.
  • LOAD - Команда інтерактивного режиму - завантаження в пам'ять програми з файлу на зовнішньому носії. Як правило, за замовчуванням вона приводила до знищення раніше завантаженої програми і даних.
  • RENUM - Команда інтерактивного режиму - перенумерація всіх або заданого діапазону рядків програми починаючи з заданого числа з зазначеним кроком. За замовчуванням - перенумеруйте всі рядки програми з кроком 10.

Умовний оператор (IF..THEN) спочатку мав тільки одну гілку - гілка ELSE в ньому була відсутня і моделювалася за допомогою безумовного переходу. Так, у наступній програмі виконується елементарна операція - введення числа і виведення повідомлення « Від'ємне число»Або« Позитивне число або нуль »в залежності від його значення:

10 INPUT I 20 IF I\u003e \u003d 0 THEN PRINT "Positive number or null": GOTO 40 30 PRINT "Negative number" 40 END

Був оператор переходу по обчислюється мітці ON..GOTO (успадкований від аналогічної конструкції Фортрана) - в ньому після ON вказувалося числове вираження, а після GOTO - список номерів рядків. Перехід відбувався на рядок, номер якої в списку відповідав значенню виразу. Присутні також цикли (цикл з лічильником FOR і цикл з передумовою WHILE).

Використання функцій, визначених користувачем (ділянок коду, для багаторазового використання), було можливо двома способами: визначаються функції і підпрограми.

Підпрограми не були аналогом функцій таких мов, як Сі або Паскаль, так як не мали імен і не могли приймати і / або повертати параметри. Параметри і результати передавалися через глобальні змінні (всі змінні в ранніх версіях Бейсика були глобальними). Підпрограми писалися зазвичай в кінці модуля, з нумерацією свідомо більшою, ніж плановане кількість рядків (наприклад, нумерація блоку підпрограм могла починатися з 5000, навіть якщо в програмі була пара сотень рядків). Підпрограми не мали заголовків і назв, і нічим не відрізнялися від будь-якого іншого ділянки коду. Виклик підпрограми здійснювався за допомогою ключового слова GOSUB<метка> . Це практично клон GOTO, за винятком одного: повернення в точку виклику відбувався автоматично, при досягненні в підпрограмі ключового слова RETURN. GOSUB, як і GOTO, тільки сприяли поганий структурі коду, так як відстежити виконання програми, що містить велику кількість безумовних переходів і підпрограм, було складним завданням. Рекурсія не допускалася.

Відсутність можливості давати підпрограм імена (і передавати по ним управління), неможливість передачі параметрів, відсутність локальних змінних, використання тільки числових міток у великих проектах викликало плутанину в коді і дуже ускладнювало налагодження.

У деяких діалектах Бейсика була можливість завантажити файл з кодом безпосередньо при виконанні програми (поточний при цьому вивантажуються) оператором CHAIN. Це була одна з найбільш корисних можливостей мови, так як вона дозволяла розбити великий проект на модулі, викликаючи їх в порядку необхідності.

критика

У пору свого розквіту (1970-1980 роки) Бейсік піддався жорсткій критиці. Крім констатації очевидних недоліків мови, пов'язаних з синтаксичної бідністю ранніх варіантів і відсутністю багатьох визнаних і зручних конструкцій і механізмів, Бейсік критикували за те, що його простота і бесструктурность заохочують застосування порочних методик розробки та сприяють виробленню небезпечних звичок програмування, які іноді можуть бути доречні при швидкому створенні малих програм для поточних потреб, але здатні привести до краху великих проектів.

Різко критикував повсюдно поширене початкове навчання програмуванню, що базується на Бейсике. Однією з «візитних карток» Едсгер Дейкстри став вислів:

Студентів, раніше вивчали Бейсік, практично неможливо навчити хорошому програмування. Як потенційні програмісти вони розумово понівечені без надії на відновлення

оригінальний текст (Англ.)

It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration

У відповідь на критику адепти Бейсика помічають, що критики приписують мови ті негативні сторони, які слід було б віднести до його неправильного застосування. Недоліки Бейсика (якщо мати на увазі ранні діалекти) проявляються при спробі професійної розробки на ньому складних і великих програм і при використанні його як базового мови для навчання програмістів, але ні для одного з цих застосувань даний язик не призначався; його основним завданням було надати студентам- непрограмістів можливість після мінімального навчання самостійно писати найпростіші програми для власних потреб, Щоб не відволікати на цю роботу фахівців. Цьому завданню мова цілком відповідає.

Якщо ж говорити про сучасні діалектах і реалізації Бейсика, то вони настільки далеко пішли від первісної форми мови, що все вищесказане навряд чи можна вважати належать до них. Сучасні діалекти Бейсика є досить структурованими мовами, вони співвідносяться з можливостями з такими мовами, як Сі, Паскаль і т. П.

Виробники

У різний час інтерпретатори BASIC випускалися різними організаціями, компаніями, фірмами:

радянські:

  • Вільнюський університет - Вільнюс
  • ВЦ СО АН СРСР - Новосибірськ
  • Нижегородський державний університет імені М. І. Лобачевського - Нижній Новгород

реалізації

  • Visual Basic (VBA, VBS, .NET)
  • Rapid-Q basic

Напишіть відгук про статтю "Бейсік"

Примітки

література

  • Dyakonov V., Munerman V., Samoylova T., Yemelchenkov Ye. The Revolutionary Guide to QBASIC. - Birmingham: Wrox Press Ltd, 1996. - 578 p.
  • Дьяконов В. П. Довідник по алгоритмів і програм на мові Бейсік для персональних ЕОМ. - М.: Наука, Физматлит, 1987. - 240 с.
  • Дьяконов В. П. Застосування персональних ЕОМ і програмування на мові Бейсік. - М.: Радио и связь, 1989. - 288 с.
  • Дьяконов В. П. Сучасні зарубіжні мікрокалькулятори. - М.: СОЛОН-Р, 2002. - 400 с.
стандарти
  • ANSI X3.60-1978 «FOR MINIMAL BASIC»
  • ISO / IEC 6373: 1984 «DATA PROCESSING - PROGRAMMING LANGUAGES - MINIMAL BASIC»
  • ANSI X3.113-1987 «PROGRAMMING LANGUAGES FULL BASIC»
  • ГОСТ 27787-88 «Мова програмування БЕЙСІК» (включає в себе стандарт ISO 6373: 1984)
  • ANSI X3.113 INTERPRETATIONS-1992 «BASIC TECHNICAL INFORMATION BULLETIN # 1 INTERPRETATIONS OF ANSI 03.113-1987»

посилання

  • Андрій Колесов. Авторський варіант. c незначною літературної правкою в журналі «Наука і життя» № 10/2000, с. 18-20.
  • Препринт Дартмутського коледжу від 1 жовтня 1964.
  • Thomas E. Kurtz. , 1977.
  • (Англ.)

Уривок, що характеризує Бейсік

Так дивно раптом для Наташі видався цей його лагідний, ніжний, задушевний голос.
- Не будемо говорити, мій друг, я все скажу йому; але про одне прошу вас - вважайте мене своїм другом, і якщо вам потрібна допомога, рада, просто потрібно буде вилити свою душу кому небудь - НЕ тепер, а коли у вас ясно буде в душі - згадайте про мене. - Він узяв і поцілував її руку. - Я щасливий буду, якщо в стані буду ... - П'єр зніяковів.
- Не кажіть зі мною так: я не стою цього! - скрикнула Наташа і хотіла піти з кімнати, але П'єр втримав її за руку. Він знав, що йому потрібно щось ще сказати їй. Але коли він сказав це, він здивувався сам своїм словам.
- Перестаньте, перестаньте, все життя попереду для вас, - сказав він їй.
- Для мене? Ні! Для мене все пропало, - сказала вона з соромом і самоприниженням.
- Все зникло? - повторив він. - Якщо б я був не я, а красивий, розумний і найкраща людина в світі, і був би вільний, я б цю хвилину на колінах просив руки та вашу любов.
Наташа в перший раз після багатьох днів заплакала сльозами вдячності і розчулення і поглянувши на П'єра вийшла з кімнати.
П'єр теж слідом за нею майже вибіг в передню, утримуючи сльози розчулення і щастя, душили його горло, не потрапляючи в рукави надів шубу і сіл в сани.
- Тепер куди накажете? - запитав кучер.
«Куди? задався питанням П'єр. Куди ж можна їхати тепер? Невже в клуб або гості? » Всі люди здавалися так жалюгідні, такі бідні в порівнянні з тим почуттям розчулення і любові, яке він відчував; в порівнянні з тим розм'якшеним, вдячним поглядом, яким вона останній раз через сліз глянула на нього.
- Додому, - сказав П'єр, незважаючи на десять градусів морозу відкриваючи ведмежу шубу на своїй широкій, радісно дихали груди.
Було морозно і ясно. Над брудними, напівтемними вулицями, над чорними дахами стояло темне, зоряне небо. П'єр, тільки дивлячись на небо, не відчував образливою ницості всієї земної в порівнянні з висотою, на якій знаходилася його душа. При в'їзді на Арбатській площі, величезний простір зоряного темного неба відкрилося очам П'єра. Майже в середині цього неба над Пречистенський бульваром, оточена, обсипана з усіх боків зірками, але відрізняючись від всіх близькістю до землі, білим світлом, і довгим, піднятим догори хвостом, стояла величезна яскрава комета 1812 го року, та сама комета, яка віщувала, як говорили, всякі жахи і кінець світу. Але в П'єр світла зірка ця з довгим променистим хвостом не порушували жодного страшного почуття. Навпаки П'єр радісно, \u200b\u200bмокрими від сліз очима, дивився на цю світлу зірку, яка, як ніби, з невимовною швидкістю пролетівши незмірні простору по параболічної лінії, раптом, як встромити стріла в землю, вліпили тут в одне обране нею місце, на чорному небі, і зупинилася, енергійно піднявши догори хвіст, світися і граючи своїм білим світлом між незліченними іншими, мерехтливими зірками. П'єру здавалося, що ця зірка цілком відповідала тому, що було в його розквітлої до нового життя, розм'якшеною і підбадьорений душі.

З кінця 1811 го року почалося посилене озброєння і зосередження сил Західної Європи, і в 1812 році сили ці - мільйони людей (рахуючи тих, які перевозили і годували армію) рушили з Заходу на Схід, до кордонів Росії, до яких точно так же з 1811 го року стягувалися сили Росії. 12 червня сили Західної Європи перейшли кордону Росії, і почалася війна, тобто відбулося противне людському розуму і всієї людської природи подія. Мільйони людей робили друг, проти друга така незліченна кількість злодіянь, обманів, зрад, злодійства, підробок і випуску фальшивих асигнацій, грабежів, підпалів і вбивств, якого в цілі століття не збере літопис всіх суден світу і на які, в цей період часу, люди , які здійснювали їх, не дивилися як на злочини.
Що справило це незвичайна подія? Які були причини його? Історики з наївною впевненістю говорять, що причинами цієї події були образа, нанесена герцогу Ольденбурзькому, недотримання континентальної системи, владолюбство Наполеона, твердість Олександра, помилки дипломатів і т. П.
Отже, варто було тільки Меттерниху, Румянцеву або Талейрана, між виходом і раутом, гарненько постаратися і написати поіскуснее папірець або Наполеону написати до Олександра: Monsieur mon frere, je consens a rendre le duche au duc d "Oldenbourg, [Государ брат мій, я погоджуюся повернути герцогство Ольденбурзькому герцогу.] - і війни б не було.
Зрозуміло, що таким уявлялося справу сучасникам. Зрозуміло, що Наполеону здавалося, що причиною війни були інтриги Англії (як він і говорив це на острові Св. Олени); зрозуміло, що членам англійської палати здавалося, що причиною війни було владолюбство Наполеона; що принцу Ольденбурзькому здавалося, що причиною війни було вчинене проти нього насильство; що купцям здавалося, що причиною війни була континентальна система, розоряти Європу, що старим солдатам і генералам здавалося, що головною причиною була необхідність вжити їх у справу; легітимістів того часу те, що необхідно було відновити les bons principes [хороші принципи], а дипломатам того часу те, що все сталося через те, що союз Росії з Австрією в 1809 році не був досить майстерно прихований від Наполеона і що ніяково було написано memorandum за № 178. Зрозуміло, що ці та ще незліченна, нескінченну кількість причин, кількість яких залежить від незліченної відмінності точок зору, уявлялося сучасникам; але для нас - нащадків, споглядають у всьому його обсязі громадность совершившегося події і вникає в його простий і страшний зміст, причини ці представляються недостатніми. Для нас незрозуміло, щоб мільйони людей християн убивали і мучили один одного, тому що Наполеон був властолюбний, Олександр твердий, політика Англії хитра і герцог Ольденбургский ображений. Не можна зрозуміти, який зв'язок мають ці обставини з самим фактом вбивства і насильства; чому внаслідок того, що герцог ображений, тисячі людей з іншого краю Європи вбивали і плюндрували людей Смоленської і Московської губерній і були убіваеми ними.
Для нас, нащадків - не істориків, які не захоплених процесом вишукування і тому з незатемнену здоровим глуздом споглядають подія, причини його представляються в незліченній кількості. Чим більше ми заглиблюємося в вишукування причин, тим більше нам їх відкривається, і будь-яка окремо взята причина або цілий ряд причин представляються нам однаково справедливими самі по собі, і однаково помилковими по своїй нікчемності в порівнянні з громадностью події, і однаково помилковими по недійсності своєї ( без участі всіх інших збіглися причин) провести вчинилося подія. Такий же причиною, як відмова Наполеона відвести свої війська за Віслу і віддати назад герцогство Ольденбурзькою, представляється нам і бажання або небажання першого французького капрала надійти на вторинну службу, бо, якщо б він не захотів йти на службу і не захотів би другий, і третій , і тисячний капрал і солдатів, настільки менше людей було б у війську Наполеона, і війни не могло б бути.
Якщо б Наполеон не образився вимогою відступити за Віслу і не велів наступати військам, не було б війни; але якщо б все сержанти не захотіли вступити на вторинну службу, теж війни не могло б бути. Теж не могло б бути війни, якби не було інтриг Англії, і не було б принца Ольденбургского і почуття образи в Олександрі, і не було б самодержавної влади в Росії, і не було б французької революції і наступних диктаторства і імперії, і всього того , що справило французьку революцію, і так далі. Без однієї з цих причин нічого не могло б бути. Стало бути, причини ці всі - мільярди причин - збіглися для того, щоб зробити те, що було. І, отже, ніщо не було винятковою причиною події, а подія мала відбутися тільки тому, що воно повинно було відбутися. Повинні були мільйони людей, відрікшись від своїх людських почуттів і свого розуму, йти на Схід із Заходу і вбивати собі подібних, точно так же, як кілька століть тому зі Сходу на Захід йшли натовпи людей, вбиваючи собі подібних.
Дії Наполеона і Олександра, від слова яких залежало, здавалося, щоб подія зробити або не зробити, - були так само мало довільні, як і дія кожного солдата, що йшов в похід за жеребом або по набору. Це не могло бути інакше тому, що для того, щоб воля Наполеона і Олександра (тих людей, від яких, здавалося, залежало подія) була виконана, необхідно було збіг незліченних обставин, без одного з яких подія не могла б відбутися. Необхідно було, щоб мільйони людей, в руках яких була дійсна сила, солдати, які стріляли, везли провіант і гармати, треба було, щоб вони погодилися виконати цю волю одиничних і слабких людей і були приведені до цього незліченною кількістю складних, різноманітних причин.
Фаталізм в історії неминучий для пояснення нерозумних явищ (тобто тих, розумність яких ми не розуміємо). Чим більше ми намагаємося розумно пояснити ці явища в історії, тим вони стають для нас нерозумніше і незрозумілішим.
Кожна людина живе для себе, користується свободою для досягнення своїх особистих цілей і відчуває всім істотою своїм, що він може зараз зробити або не зробити таке агресивна дія; але як скоро він зробить його, так дію це, вчинене в певний момент часу, стає неповернута і робиться надбанням історії, в якій воно має не вільний, а зумовлене значення.
Є дві сторони життя в кожній людині: життя особиста, яка тим вільніша, ніж абстрактні її інтереси, і життя стихійна, роїв, де людина неминуче виконує запропоновані йому закони.
Людина свідомо живе для себе, але служить несвідомим знаряддям для досягнення історичних, загальнолюдських цілей. Скоєний вчинок неповернення, і дія його, збігаючись у часі з мільйонами дій інших людей, отримує історичне значення. Чим вище стоїть людина на суспільній драбині, ніж з великими людьми він пов'язаний, тим більше влади він має на інших людей, тим очевидніше зумовленість і неминучість кожного його вчинку.
«Серце царево в руці божій».
Цар - є раб історії.
Історія, тобто несвідома, загальна, роїв життя людства, будь-якої хвилиною життя царів користується для себе як знаряддям для своїх цілей.
Наполеон, незважаючи на те, що йому більш ніж коли небудь, тепер, в 1812 році, здавалося, що від нього залежало verser або НЕ verser le sang de ses peuples [проливати або не проливати кров своїх народів] (як в останньому листі писав йому Олександр), ніколи більш як тепер не підлягав тим неминучим законам, які змушували його (діючи в відношенні себе, як йому здавалося, з власної волі) робити для спільної справи, для історії те, що повинно було відбутися.
Люди Заходу рухалися на Схід для того, щоб вбивати один одного. І за законом збігу причин підробивши самі собою і збіглися з цією подією тисячі дрібних причин для цього руху і для війни: докори за недотримання континентальної системи, і герцог Ольденбургский, і рух військ в Пруссію, розпочате (як здавалося Наполеону) для того тільки, щоб досягти збройного світу, і любов і звичка французького імператора до війни, яка збіглася з розташуванням його народу, захоплення грандіозністю приготувань, і витрати по приготуванню, і потреба придбання таких вигод, які б окупили ці витрати, і одурманені почесті в Дрездені, і дипломатичні переговори, які, на погляд сучасників, були введені з щирим бажанням досягнення миру і які тільки уражали самолюбство того чи іншого боку, і мільйони мільйонів інших причин, підробивши під має відбутися подія, що співпали з ним.
Коли дозріло яблуко і падає, - від чого воно падає? Чи від того, що тяжіє до землі, чи тому, що засихає стрижень, чи тому, що сушиться сонцем, що важчає, що вітер трясе його, чи тому, що стоїть внизу хлопчикові хочеться з'їсти його?
Ніщо не причина. Все це тільки збіг тих умов, при яких відбувається всяке життєве, органічне, стихійне подія. І той ботанік, який знайде, що яблуко падає через те, що клітковина розкладається тощо, буде так само прав, і так само не має рації, як і той дитина, що стоїть внизу, який скаже, що яблуко впало від того, що йому хотілося з'їсти його і що він молився про це. Так само прав і неправий буде той, хто скаже, що Наполеон пішов у Москву тому, що він захотів цього, і тому загинув, що Олександр захотів його смерті: як прав і неправий буде той, хто скаже, що завали в мільйон пудів підкопана гора впала через те, що останній працівник вдарив під неї останній раз киркою. В історичних подіях так звані великі люди суть ярлики, що дають найменувань події, які, так само як і ярлики, найменше мають зв'язку з самим подією.
Кожна дія їх, здається їм довільним для самих себе, в історичному сенсі мимоволі, а знаходиться в зв'язку з усім ходом історії і визначено предвечно.

29 го травня Наполеон виїхав з Дрездена, де він пробув три тижні, оточений двором, складеним з принців, герцогів, королів і навіть одного імператора. Наполеон перед від'їздом обласкав принців, королів і імператора, які того заслуговували, докорив королів і принців, якими він був не цілком задоволений, обдарував своїми власними, тобто взятими у інших королів, перлами і діамантами імператрицю австрійську і, ніжно обнявши імператрицю Марію Луїзу, як каже його історик, залишив її засмучення розлукою, яку вона - ця Марія Луїза, що вважалася його дружиною, незважаючи на те, що в Парижі залишалася інша дружина, - здавалося, не в силах була перенести. Незважаючи на те, що дипломати ще твердо вірили в можливість світу і старанно працювали з цією метою, незважаючи на те, що імператор Наполеон сам писав листа імператору Олександру, називаючи його Monsieur mon frere [Государ брат мій] і щиро запевняючи, що він не бажає війни і що завжди буде любити і поважати його, - він їхав до армії і віддавав на кожній станції нові накази, що мали на меті квапити рух армії від заходу на схід. Він їхав в дорожній кареті, запряженій шестериком, оточений пажами, ад'ютантами і конвоєм, по тракту на Позен, Торн, Данциг і Кенігсберг. У кожному з цих міст тисячі людей з трепетом і захопленням зустрічали його.
Армія просувалася із заходу на схід, і змінні шестерні несли його туди ж. 10 го червня він наздогнав армію і ночував в Вільковісском лісі, в приготовленої для нього квартирі, в маєтку польського графа.
На другий день Наполеон, обігнавши армію, в колясці під'їхав до Німану і, з тим щоб оглянути місцевість переправи, переодягнувся в польський мундир і виїхав на берег.
Побачивши на тому боці козаків (les Cosaques) і розстеляють степу (les Steppes), в середині яких була Moscou la ville sainte, [Москва, священне місто,] столиця того, подібного Скіфській, держави, куди ходив Олександр Македонський, - Наполеон, несподівано для всіх і противно як стратегічним, так і дипломатичних міркувань, наказав наступ, і на інший день війська його стали переходити Німан.
12 го числа рано вранці він вийшов з намету, розкинутої в цей день на крутому лівому березі Німану, і дивився в підзорну трубу на випливають з Вільковісского лісу потоки своїх військ, розливаються по трьом мостам, наведеним на Немане. Війська знали про присутності імператора, шукали його очима, і, коли знаходили на горі перед наметом відокремилась від свити фігуру в сюртуку і капелюсі, вони кидали вгору шапки, кричали: «Vive l" Empereur! [Хай живе імператор!] - і одні за іншими, не виснажуючи, випливали, все витікали з величезного, приховував їх досі лісу і, засмучений, за трьома мостам переходили на ту сторону.
- On fera du chemin cette fois ci. Oh! 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 pays tout de meme. Au revoir, Beauche; je te reserve le plus beau palais de Moscou. Au revoir! Bonne chance ... L" as tu vu, l "Empereur? Vive l" Empereur! .. preur! Si on me fait gouverneur aux Indes, Gerard, je te fais ministre du Cachemire, c "est arrete. Vive l" Empereur! Vive! vive! vive! 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 al" un des vieux ... Vive l "Empereur! .. [Тепер походимо! О! Як він сам візьметься, справа закипить. Їй богу ... Ось він ... Ура, імператор! Так ось вони, азіатські степи ... Однак погана країна. до побачення, Боше. я тобі залишу кращий палац у Москві. до побачення, бажаю успіху. Бачив імператора? Ура! Якщо мене зроблять губернатором в Індії, я тебе зроблю міністром Кашміру ... Ура! Імператор ось він! Бачиш його? Я його два рази як тебе бачив. Маленький капрал ... Я бачив, як він навісив хрест одному зі старих ... Ура, імператор!] - говорили голосу старих і молодих людей, найрізноманітніших характерів і положень в суспільстві. На всіх обличчях цих людей було одне загальне вираз радості про початок давно очікуваного походу і захоплення і відданості до людини в сірому сюртуку, що стояв на горі.
13 го червня Наполеону подали невелику чистокровних арабську коня, і він сів і поїхав галопом до одного з мостів через Німан, невпинно глушить захопленими криками, які він, очевидно, переносив тільки тому, що не можна було заборонити їм криками цими висловлювати свою любов до нього; але крики ці, супутні йому скрізь, обтяжували його і відволікали його від військової турботи, що охопила його з того часу, як він приєднався до війська. Він проїхав по одному з похитувалися на човнах мостів на ту сторону, круто повернув ліворуч і галопом поїхав у напрямку до Ковно, предшествуемий завмирає від щастя, захопленими гвардійськими кінними єгерями, розчищаючи дорогу по військах, скакати попереду його. Під'їхавши до широкої річці Вілії, він зупинився біля польського уланського полку, що стояв на березі.
- Віват! - також захоплено кричали поляки, расстроівая фронт і давлячи один одного, для того щоб побачити його. Наполеон оглянув річку, зліз з коня і сів на колоду, що лежала на березі. За безсловесному знаку йому подали трубу, він поклав її на спину підбіг щасливого пажа і став дивитися на ту сторону. Потім він заглибився в розгляданні аркуша карти, розкладеного між колодами. Чи не піднімаючи голови, він сказав що то, і двоє його ад'ютантів поскакали до польських уланів.
- Що? Що він сказав? - чулося в рядах польських улан, коли один ад'ютант під'їхав до них.
Було наказано, відшукавши брід, перейти на той бік. Польський уланський полковник, красивий старий чоловік, зашарівшись і плутаючись у словах від хвилювання, запитав у ад'ютанта, чи дозволено йому буде переплисти з своїми уланами річку, не знайде броду. Він з очевидним страхом за відмову, як хлопчик, який просить дозволу сісти на коня, просив, щоб йому дозволили переплисти річку в очах імператора. Ад'ютант сказав, що, ймовірно, імператор не буде незадоволений цим зайвим ретельністю.
Як тільки ад'ютант сказав це, старий вусатий офіцер з щасливим обличчям і блискучими очима, піднявши догори шаблю, прокричав: «Віват! - і, скомандував уланам слідувати за собою, дав шпори коня і під'їхав до річки. Він злобно штовхнув зам'яти під собою коня і шубовснув у воду, прямуючи вглиб до бистрині течії. Сотні уланів поскакали за ним. Було холодно і страшно на середині і на бистрині теченья. Улани чіплялися один за одного, звалювалися з коней, коні деякі тонули, тонули і люди, інші намагалися плисти хто на сідлі, хто тримаючись за гриву. Вони намагалися плисти вперед на ту сторону і, незважаючи на те, що за півверсти була переправа, пишалися тим, що вони пливуть і тонуть в цій річці під поглядами людини, який сидів на колоді і навіть не дивився на те, що вони робили. Коли повернувся ад'ютант, вибравши зручну хвилину, дозволив собі звернути увагу імператора на відданість поляків до його особи, маленька людина в сірому сюртуку встав і покликав до себе Бертьє, став ходити з ним взад і вперед по березі, віддаючи йому накази і зрідка невдоволено позираючи на які тонули улан, які розважали його увагу.
Для нього не було новиною переконання в тому, що присутність його на всіх кінцях світу, від Африки до степів Московії, однаково уражає і валить людей у \u200b\u200bбожевілля самозабуття. Він замовив собі коня і поїхав в свою стоянку.
Людина сорок улан потонуло в річці, незважаючи на вислані на допомогу човна. Більшість прибилася назад до цього берега. Полковник і кілька людей перепливли річку і насилу вилізли на той берег. Але як тільки вони вилізли в обшлепнувшемся на них, стікає струмками мокрій сукні, вони закричали: «Віват!», Захоплено дивлячись на те місце, де стояв Наполеон, але де його вже не було, і в ту хвилину вважали себе щасливими.
Ввечері Наполеон між двома розпорядженнями - одне про те, щоб якомога швидше доставити заготовлені фальшиві російські асигнації для ввезення в Росію, і інше про те, щоб розстріляти саксонця, в перехоплений листі якого знайдені відомості про розпорядженнях по французькій армії, - зробити третій розпорядження - про причислення кинувся без потреби в річку польського полковника до когорти честі (Legion d "honneur), якій Наполеон був главою.
Qnos vult perdere - dementat. [Кого хоче погубити - позбавить розуму (лат.)]

Російський імператор між тим більше місяця вже жив у Вільні, роблячи огляди і маневри. Ніщо не було готове для війни, якої всі чекали і для приготування до якої імператор приїхав з Петербурга. Загального плану дій не було. Коливання про те, який план з усіх тих, які пропонувалися, повинен бути прийнятий, тільки ще більше посилилися після місячного перебування імператора в головній квартирі. У трьох арміях був в кожній окремий головнокомандувач, але загального начальника над усіма арміями не було, і імператор не приймав на себе цього звання.
Чим довше жив імператор у Вільні, тим менше і менше готувалися до війни, втомившись чекати її. Всі прагнення людей, що оточували государя, здавалося, були спрямовані тільки на те, щоб змушувати государя, приємно проводячи час, забути про майбутню війну.
Після багатьох балів і свят у польських магнатів, у придворних і у самого государя, в червні місяці одному з польських генерал ад'ютантів государя спало на думку дати обід і бал государю від імені його генерал ад'ютантів. Думка ця радісно була прийнята всіма. Государ дав згоду. Генерал-ад'ютант зібрали по підписці гроші. Особа, яка найбільш могла бути приємна государю, була запрошена бути господинею балу. Граф Бенигсен, поміщик Віленської губернії, запропонував свій заміський будинок для цього свята, і 13 червня був призначений обід, бал, катання на човнах і феєрверк в Закрету, заміському будинку графа Бенігсена.
У той самий день, в який Наполеоном був відданий наказ про перехід через Німан і передові війська його, відтіснивши козаків, перейшли через російський кордон, Олександр проводив вечір на дачі Бенігсена - на балі, даваемом генерал ад'ютантами.
Був веселий, блискучий свято; знавці справи говорили, що рідко збиралося в одному місці стільки красунь. Графиня Безухова в числі інших російських дам, які приїхали за государем з Петербурга до Вільно, була на цьому балі, затемнюючи своєї важкої, так званої російської красою витончених польських дам. Вона була помічена, і государ удостоїв її танцю.
Борис Друбецкой, en garcon (холостяком), як він говорив, залишивши свою дружину в Москві, був також на цьому балі і, хоча не генерал ад'ютант, був учасником на велику суму в підписці для балу. Борис тепер був багатий чоловік, далеко пішов у почесті, вже не шукав заступництва, а на рівній нозі стояв з вищими зі своїх однолітків.
О дванадцятій годині ночі ще танцювали. Елен, що не мала гідного кавалера, сама запропонувала мазурку Борису. Вони сиділи в третій парі. Борис, холоднокровно поглядів на блискучі оголені плечі Елен, які виступали з темного газового із золотом сукні, розповідав про старих знайомих і разом з тим, непомітно для самого себе і для інших, ні на секунду не переставав спостерігати государя, що знаходився в тій же залі. Государ не танцював; він стояв у дверях і зупиняв то тих, то інших тими ласкавими словами, які він один тільки вмів говорити.
При мазурки Борис бачив, що генерал-ад'ютант Балашов, одне з найближчих осіб до государя, підійшов до нього і непрідворно зупинився близько від государя, який говорив з польської дамою. Поговоривши з дамою, государ глянув запитально і, видно, зрозумівши, що Балашев надійшов так тільки тому, що на той були важливі причини, злегка кивнув дамі і звернувся до Балашеву. Тільки що Балашев почав говорити, як здивування виразилося на обличчі государя. Він взяв під руку Балашева і пішов з ним через залу, несвідомо для себе розчищаючи по обидва боки сажнів на три широку дорогу боку перед ним. Борис помітив схвильоване обличчя Аракчеева, в той час як государ пішов з Балашева. Аракчеев, спідлоба дивлячись на государя і сопучи червоним носом, висунувся з натовпу, немов чекаючи, що керівник держави звернеться до нього. (Борис зрозумів, що Аракчеєв заздрить Балашеву і незадоволений тим, що якась, очевидно, важлива, новина не через нього передана государю.)
Але государ з Балашева пройшли, не помічаючи Аракчеева, через вихідну двері в освітлений сад. Аракчеев, притримуючи шпагу і злобно озираючись навколо себе, пройшов кроків за двадцять за ними.
Поки Борис продовжував робити фігури мазурки, його не припиняла мучити думка про те, яку новину привіз Балашев і яким би чином дізнатися її раніше за інших.
У фігурі, де йому треба було вибирати дам, шепнув Елен, що він хоче взяти графиню Потоцьку, яка, здається, вийшла на балкон, він, ковзаючи ногами по паркету, вибіг в вихідну двері в сад і, помітивши, що входить з Балашева на терасу государя , призупинився. Государ з Балашева прямували до дверей. Борис, заквапився, як ніби не встигнувши відсунутися, шанобливо притулився до одвірка і нагнув голову.
Государ з хвилюванням особисто ображеної людини договорював наступні слова:
- Без оголошення війни вступити в Росію. Я помирюся тільки тоді, коли жодного збройного ворога не залишиться на моїй землі, - сказав він. Як здалося Борису, государю приємно було висловити ці слова: він був задоволений формою вираження своєї думки, але був незадоволений тим, що Борис почув їх.
- Щоб ніхто нічого не знав! - додав пан, насупившись. Борис зрозумів, що це відносилося до нього, і, закривши очі, злегка нахилив голову. Государ знову увійшов до зали і ще близько півгодини пробув на балі.
Борис перший дізнався звістку про перехід французькими військами Німану і завдяки цьому мав нагоду показати деяким важливим особам, що багато, приховане від інших, буває йому відомо, і через те мав нагоду піднятися вище в думці цих осіб.

Несподівана звістка про перехід французами Німану було особливо несподівано після місяця несбивавшегося очікування, і на балі! Государ, в першу хвилину отримання звістки, під впливом обурення і образи, знайшов те, що сталась потім знаменитим, вислів, яке самому сподобалося йому і виражало цілком його почуття. Повернувшись додому з балу, государ о другій годині ночі послав за секретарем Шишковим і велів написати наказ військам і рескрипт до фельдмаршала князя Салтикова, в якому він неодмінно вимагав, щоб були поміщені слова про те, що він не помириться до тих пір, поки хоча один озброєний француз залишиться на російській землі.
На другий день було написано наступне лист до Наполеону.
«Monsieur mon frere. J "ai appris hier que malgre la loyaute avec laquelle j" ai maintenu mes engagements envers Votre Majeste, ses troupes ont franchis les frontieres de la Russie, et je recois al "instant de Petersbourg une note par laquelle le comte Lauriston, pour cause de cette agression, annonce que Votre Majeste s "est consideree comme en etat de guerre avec moi des le moment ou le prince Kourakine a fait la demande de ses passeports. Les motifs 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" agression. En effet cet ambassadeur n "y a jamais ete autorise comme il l" a declare 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 intentionnee de verser le sang de nos peuples pour un malentendu de ce genre et qu" elle consente a retirer ses troupes du territoire russe, je regarderai ce qui s "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. Il depend encore de Votre Majeste d "eviter a l" humanite les calamites d "une nouvelle guerre.
Je suis, etc.
(Signe) Alexandre ».
[ «Государ брат мій! Вчора дійшло до мене, що, незважаючи на прямодушність, з яким дотримувався я мої зобов'язання щодо до Вашого імператорської величності, війська Ваші перейшли російські кордони, і тільки лише тепер отримав з Петербурга ноту, якою граф Лористон сповіщає мене, з приводу цього вторгнення, що Ваша Величність вважаєте себе в неприязних стосунках зі мною, з того часу як князь Куракін зажадав свої паспорти. Причини, на яких герцог Бассано засновував свою відмову видати ці паспорт, ніколи не могли б змусити мене припускати, щоб вчинок мого посла послужив приводом до нападу. І в дійсності він не мав на те від мене веління, як було оголошено їм самим; і як тільки я дізнався про се, то негайно висловив моє незадоволення князю Куракіну, звелівши йому виконувати раніше доручені йому обов'язки. Якщо Ваша Величність не схильні проливати кров наших підданих через подібного непорозуміння і якщо Ви згодні вивести свої війська з російських володінь, то я залишу без уваги все, що сталося, і угода між нами буде можливо. В іншому випадку я буду змушений відбивати напад, яке нічим не була порушена з мого боку. Ваша Величносте, ще маєте можливість позбавити людство від лих нової війни.
(Підписав) Олександр ». ]

13 го червня, о другій годині ночі, государ, закликавши до себе Балашева і прочитавши йому свій лист до Наполеону, наказав йому відвезти цей лист і особисто передати французькому імператору. Відправляючи Балашева, государ знову повторив йому слова про те, що він не помириться до тих пір, поки залишиться хоч один озброєний ворог на російській землі, і наказав неодмінно передати ці слова Наполеону. Государ не написав цих слів в листі, тому що він відчував з своїм тактом, що слова ці незручні для передачі в ту хвилину, коли робиться остання спроба примирення; але він неодмінно наказав Балашеву передати їх особисто Наполеону.
Виїхавши в ніч з 13 го на 14 е червня, Балашев, сопутствуемий трубачем і двома козаками, до світанку приїхав в село Риконти, на французькі аванпости по цей бік Німану. Він був зупинений французькими кавалерійськими вартовими.
Французький гусарський унтер офіцер, в малиновому мундирі і волохатою шапці, крикнув на під'їжджає Балашева, наказуючи йому зупинитися. Балашев не негайно зупинився, а продовжував кроком порухатися по дорозі.
Унтер офіцер, насупившись і пробурчав якийсь лайка, насунувся грудьми коня на Балашева, взявся за шаблю і грубо крикнув на російського генерала, питаючи його: глухий він, що не чує того, що йому говорять. Балашев назвав себе. Унтер офіцер послав солдата до офіцера.
Не звертаючи на Балашева уваги, унтер офіцер став говорити з товаришами про своє полковому справі і не дивився на російського генерала.
Надзвичайно дивно було Балашеву, після близькості до вищої влади і могутності, після розмови три години тому з государем і взагалі звик по своїй службі до почестей, бачити тут, на російській землі, це вороже і головне - нешанобливе ставлення до себе грубої сили.
Сонце тільки починало підніматися з за хмар; в повітрі було свіжо і росисто. По дорозі з села виганяли стадо. У полях один за одним, як бульбашки у воді, вспирсківалі з чувиканьем жайворонки.
Балашев озирався навколо себе, чекаючи приїзду офіцера з села. Російські козаки, і трубач, і французькі гусари мовчки зрідка дивилися один на одного.
Французький гусарський полковник, мабуть, тільки що з ліжка, виїхав з села на красивій ситого сірому коні, сопутствуемий двома гусарами. На офіцера, на солдатах і на їх конях був вид достатку і хизування.
Це було те перший час кампанії, коли війська ще перебували в справності, майже рівній оглядового, мирної діяльності, тільки з відтінком ошатною войовничості в одязі і з моральним відтінком того веселощів і підприємливості, які завжди супроводжують засадам кампаній.
Французький полковник насилу утримував позіхання, але був чемний і, мабуть, розумів все значення Балашева. Він провів його повз своїх солдатів за ланцюг і повідомив, що бажання його бути подання імператору буде, ймовірно, відразу ж виконано, так як імператорська квартира, скільки він знає, знаходиться недалеко.
Вони проїхали село Риконти, повз французьких гусарських конов'язей, часових і солдатів, які віддавали честь свого полковнику і з цікавістю оглядали російський мундир, і виїхали на іншу сторону села. За словами полковника, в двох кілометрах був начальник дивізії, який прийме Балашева і проводить його за призначенням.
Сонце вже піднялося і весело блищало на яскравій зелені.
Тільки що вони виїхали за корчму на гору, як назустріч їм з під гори показалася купка вершників, попереду якої на вороному коні з блискучою на сонці збруєю їхав високий на зріст чоловік у капелюсі з пір'ям і чорними, завитими по плечі волоссям, в червоній мантії і з довгими ногами, випнутими вперед, як їздять французи. Людина цей поїхав галопом назустріч Балашеву, виблискуючи і розвіваючись на яскравому червневому сонці своїми перами, камінням і золотими галунами.
Балашев вже був на відстані двох коней від танцював йому назустріч з урочисто театральним особою вершника в браслетах, пір'ї, намистах і золоті, коли Юльнер, французький полковник, шанобливо прошепотів: «Le roi de Naples». [Король Неаполітанський.] Дійсно, це був Мюрат, званий тепер неаполітанським королем. Хоча і було абсолютно незрозуміло, чому він був неаполітанський король, але його називали так, і він сам був переконаний у цьому і тому мав більш урочистий і важливий вид, ніж раніше. Він так був упевнений в тому, що він дійсно неаполітанський король, що, коли напередодні від'їзду з Неаполя, під час його прогулянки з дружиною по вулицях Неаполя, кілька італійців прокричали йому: «Viva il re!», [Хай живе король! (Італ.)] Він з сумною посмішкою повернувся до дружини і сказав: «Les malheureux, ils ne savent pas que je les quitte demain! [Нещасні, вони не знають, що я їх завтра покидаю!]
Але незважаючи на те, що він твердо вірив у те, що він був неаполітанський король, і що він шкодував про прикрощі своїх покидає їм підданих, останнім часом, після того як йому ведено було знову вступити на службу, і особливо після побачення з Наполеоном в Данцигу, коли найясніший шурин сказав йому: «Je vous ai fait Roi pour regner a maniere, mais pas a la votre», [Я вас зробив королем для того, щоб царювати не по своєму, а на мою.] - він весело почав за знайоме йому справу і, як роз'їла, але не зажирілий, придатний на службу кінь, відчувши себе в упряжці, заграв в голоблях і, розрядившись якомога строкатіше і дорожче, веселий і задоволений, скакав, сам не знаючи куди і навіщо, по дорогах Польщі.
Побачивши російського генерала, він по королівськи, урочисто, відкинув назад голову з завитими по плечі волоссям і запитально подивився на французького полковника. Полковник шанобливо передав його величності значення Балашева, прізвище якого він не міг вимовити.

Розділ дуже простий у використанні. У запропоноване поле досить ввести потрібне слово, і ми вам видамо список його значень. Хочеться відзначити, що наш сайт надає дані з різних джерел - енциклопедичного, тлумачного, словообразовательного словників. Також тут можна познайомитися з прикладами вживання введеного вами слова.

Значення слова бейсик

бейсик в словнику кросвордист

бейсик

Енциклопедичний словник, 1998 г.

бейсик

БЕЙСІК (BASIC; від початкових букв англійських слів Beginners - для початківців, All-purpose - універсальний, Symbolic - символічний, Instruction - навчальний, Code - код) мову програмування, орієнтований на навчання основам програмування. Використовується в основному при програмуванні на персональних ЕОМ.

вікіпедія

Бейсік

Бейсік (від BASIC, Скорочення від - універсальний код символічних інструкцій для початківців) - сімейство високорівневих мов програмування.

Був розроблений в 1964 році професорами Дартмутського коледжу Томасом Курцем і Джоном Кемені.

Мова створювався як інструмент, за допомогою якого студенти-непрограмістів могли самостійно створювати комп'ютерні програми для вирішення своїх завдань. Набув широкого поширення у вигляді різних діалектів, насамперед як мова для домашніх комп'ютерів. До теперішнього моменту зазнав істотних змін, значно відійшовши від характерної для перших версій простоти, що межує з примітивізмом і перетворившись в досить ординарний мову високого рівня з типовим набором можливостей. Використовується як самостійна мова для розробки прикладних програм, головним чином, що працюють під управлінням ОС Windows різних версій. Також широко поширений в якості вбудованої мови прикладних програмних систем різного призначення і в якості мови для програмованих калькуляторів.

Бейсік (значення)

Бейсік, Basic:

  • Бейсік-інгліш - міжнародний штучна мова на основі англійської мови.
  • Бейсік - високорівнева мова програмування.
  • Бейсік - радянський побутової комп'ютер початку 1990-х років, клон ZX Spectrum.
  • Бейсік Вільнюс - реалізація мови програмування Бейсік для 16-розрядних комп'ютерів з процесорами архітектури PDP-11.

Приклади вживання слова бейсик в літературі.

Прогалини в рядку включені виключно для зручності програміста - Бейсік ігнорує їх.

Відмітимо, що Бейсік має власну змінну, що зберігає поточний стан курсору.

Якщо Ви підключите асемблерну підпрограму, яка змінить становище курсору, то Бейсік проігнорує нову позицію курсора, коли йому буде повернуто управління.

Відмітимо, що Бейсік зазвичай вимикає курсор, коли починає виконання програми.

оскільки Бейсік не дозволяє використання двійкових чисел, то потрібні деякі маніпуляції, щоб визначити атрибути.

коли Бейсік перетворює символ в 16-ву форму, то він повертає тільки одну цифру, якщо перша була нулем, тому віддалений нуль повинен бути відновлений, щоб цей метод працював правильно.

Мови високого рівня, такі КАПК Бейсік, Створюють ці області автоматично.

За замовчуванням Бейсік встановлює число буферів рівне 8, але Ви можете змінити це число на інше від 4 до 15.

Бейсік, Виконують підготовчу роботу для файлових операцій автоматично.

Мови високого рівня, такі як Бейсік, Вставляють ці символи автоматично, в той час як програми на асемблері повинні самі дбати про вставці цих символів після запису кожної змінної в файл.

Хоча в деяких випадках Бейсік прощає незакриті файли, але це не той випадок.

У файлах прямого доступу Бейсік розглядає всі змінні - включаючи числові - як строкові.

Однак можна встановити обробку помилок, з тим щоб коли відбувається критична помилка Бейсік автоматично переходив на процедуру відновлення при збоях, яку Ви створили.

При виконанні цієї процедури Бейсік передає управління з послідовності інструкцій, що складають програму на Бейсіке, в те місце, де зберігаються інструкції, які можуть бути декодовані в послідовність інструкцій мови асемблера.

Звичайне рішення цієї проблеми полягає в тому, що процедура поміщається в ті адреси пам'яті, до яких Бейсік не може отримати доступ.

Мета уроку:

    Ознайомити учнів з основами мови Бейсік. Перевірити знання минулого уроку. Виховання вміння слухати вчителя. Розвиток пізнавального інтересу.

План уроку:

Перевірка домашнього завдання. Пояснення нового матеріалу. Основні поняття мови Домашня робота. Підведення підсумків уроку.

Хід уроку

Перевірка домашнього завдання.

Постановка мети уроку.

Пояснення нового матеріалу.

Мова програмування Basic був створений в 1964 році двома професорами Дартмунского університету Джоном Кенема і Томасом Куртц. BASIC - це перші букви англійських слів Beginner "s All-purpose Symbolic Instruction Code (Всецелевой мову програмування для початківців). В даний час існує безліч версій цієї мови, які іноді дуже сильно відрізняються один від одного. Для навчальних закладів найпоширенішими є версії MSX , вперше реалізована на японському комп'ютері "Ямаха", і версії фірми Microsoft для комп'ютерів IBM. Крім цього в нашій країні популярністю користується версія Turbo-Basic фірми Borland. Без перебільшення можна сказати, що сьогодні Бейсік є найпоширенішим мовою програмування. Після появи потужних компіляторів Visual Basic цю мову став популярний і у професійних програмістів. Бейсік відноситься до мов програмування високого рівня. Як і інші мови, ця мова має алфавіт, синтаксис, семантику.

Алфавіт мови. Алфавіт мови Basic являє собою таблицю символів ASCII. Перша половина цієї таблиці (символи з кодом 0-127) - стандартна. Друга половина (символи з кодом 128-255) специфічна для кожної країни. У цій таблиці кожен символ має 8-бітове позначення. Отже, в алфавіт мови Basic входять всі прописні і заголовні букви англійської та російської алфавітів, цифри, а також набір спеціальних символів, який є на клавіатурі комп'ютера.

Змінні. У Бейсике розрізняють змінні таких типів:

    числові змінні; символьні змінні; змінні призначеного для користувача типу (записи); змінні-масиви.

Змінна - це величина, яка може змінюватися при виконанні програми. Крім зазначених у таблиці, цілі числа записують також у експонеціанальной записи, наприклад,

2,55.105 \u003d 2.55Е5; 7,15.10-7 \u003d 7.15Е-7

Програма на мові Бейсік обробляє дані двох типів - числові і символьні. Кожне число представлено в машині деякої комбінацією бітів. Будь-яке число можна по-різному подати в машині:

Ціле число в діапазоні від -32768 до 32768; довге ціле в діапазоні від - до; речові числа звичайної точності; речові числа подвійної точності;

Дані можна уявити змінними і константами.

Змінні. З поняттям змінної величини ви вже знайомі по урокам алгебри. Наприклад, в простому алгебраическом рівність c \u003d f + 2b - 5 значення змінної з залежить від значення змінної f і b, зазначених в правій частині рівності. Наприклад, при f \u003d 2 і b \u003d 6, с \u003d 9 .

Таке ж рівність можна записати в програмі на Бейсике.

c \u003d f + 2 * b - 5

У термінах мови Бейсік c , f і b - це імена змінних. Такі імена також називають ідентифікаторами.

ідентифікатори. У мові Бейсік ідентифікатор - це довільний набір символів, який може містити від 1 до 40 символів, причому перший символ повинен бути латинською буквою, а решта - латинські букви або цифри або символи типу @, #,% і. т.д.

приклад :

A, Ds, SodRan, k1, n123, dlina!

Тип ідентифікатора в Бейсике розпізнається за останнім символу в імені змінної.

% - ціле число;
& - довге ціле число;
! - дійсне число звичайної точності;
# - дійсне число подвійної точності;
$ - символьний тип.

У Бейсике передбачений інший спосіб опису типів змінних (qbasic). Якщо на початку програми помістити команду: DEFINT I - L, то всі змінні, імена яких починаються з літери I і лежать в діапазоні до букви L будуть вважатися цілими (INTEGER).

Загальний формат команди опису типів:

DEFINT X-X (цілі числа integer) DEFLNG X-X (довгі цілі числа long) DEFSNG X-X (речові числа звичайної точності, single) DEFDBL X-X (речові числа подвійної точності double) DEFSTR X-X (символьний тип string)

Константи. Константи, як числові так і символьні - це величини, які не змінюються в ході виконання програми.

наприклад:

p \u003d 3.1415
T $ \u003d "Скороднянская школа"
A \u003d 9575
m $ \u003d "Розклад на тиждень"

Іноді записані константи називають літералами. Відносно констант необхідно пам'ятати правила:

Роздільником цілої і дробової частини є точка; значення символьних констант полягає в лапки.

Числа можна записати в експоненційноїформі, наприклад:

0.0285 \u003d 2.85Е-2 або 0.0285 \u003d 2.85D-2
784.527 \u003d 7.84Е + 2
або 784.527 \u003d 7.84D + 2

Числа, записані в експоненційної формі, являють собою твір мантиси на порядок, т. Е. На 10 в ступені -2, +2 і т. П. Буква Е використовується для дійсних чисел звичайної точності, літера D - для дійсних чисел подвійної точності.

Іменовані константи. Якщо привласнити змінної деяке значення (числове або символьне) і в подальшому не змінювати ці значення, наприклад:

F3 \u003d 60, n% \u003d 15

CONST <имя_переменной = константа, имя переменной = константе>

Наприклад: CONST F2 \u003d 60, n% \u003d 15

Вирази і операції. Послідовність операцій, які необхідно провести над даними, щоб отримати необхідне значення, називається виразом.У Бейсике існує п'ять категорій операцій:

Арифметичні операції; Операції відносин; Логічні операції; Функціональні операції; Строкові операції.

Арифметичні операції.

Назва операції

знак
в матем.

знак в Бейсике

приклад в
математ.

приклад в
Бейсике

Ввозведеніе в ступінь

-

^

25

2^5

додавання

+

+

5+10

5+10

віднімання

-

-

a-b

a-b

множення

x; .

*

2.5

2*5

розподіл

:

/

10:2

10/2

Операції відносин.

функція - це заздалегідь визначена операція над даними. У Бейсике існує два види функцій: вбудовані і певні користувачем.

Вбудовані математичні функції

Назва функції

Запис в математиці

Запис в Бейсике

Приклад в Бейсике

абсолютна величина

експонента

Логарифм натуральні.

Залишок цілочисельного ділення (MOD)

19 MOD 6.7

Квадратний корінь

синус

SIN (3.14)

косинус

тангенс

арктангенс

Знак числового виразу

Всі інші тригонометричні функції також як і гіперболічні функції, визначаються за відомими математичними формулами, наприклад, ARCSIN (X) \u003d ATN (X / SQR (1-X ^ 2)) .

При вирішенні завдань дуже часто використовуються ще дві функції.

1. RND (1) - генератор випадкових чисел, який задає випадкові числа з інтервалу від 0 до 1.

приклад:

Задайте випадкове числа від 1 до 100. (Натуральне число).

N \u003d (RND (1) * 100 + 1)

2. INT (числове вираз) - ця функція відкидає дробову частину при діленні чисел.

приклад:

У прикладі першому необхідно, щоб числа N від 1 до 100 були натуральними.

N \u003d INT (RND (1) * 100 + 1)

Функція користувача.

У тих випадках, коли функція не є елементарною, або у функції кілька аргументів, зручно використовувати функцію користувача: DEF FN.Ім'я функції завжди повинно починатися з букв FN. DEF FN не може бути рекурсивної (не може викликати сама себе), і повинна бути визначена перед користувачем.

приклад:

Нехай X і Y - натуральні числа. R - залишок від ділення X на Y. Висловити R (X, Y) - R функція від X і Y.

R \u003d X - INT (X / Y) * Y - залишок від ділення X на Y
DEF FN R (X, Y) \u003d X-Y * INT (X / Y)

У цьому прикладі R (X, Y) - функція двох аргументів.

Запис математичних виразів на Бейсике.

Будь-яке математичне вираз на Бейсике записується у вигляді рядка. Щоб обчислити цей вираз, досить перед ним записати PRINT або ?.

обчислити:

https://pandia.ru/text/78/020/images/image003_37.gif "alt \u003d" (! LANG: Формула" width="121" height="42 src=">!}

PRINT (SIN (47 * PI / 180) -COS (78 * PI / 180) ^ 2) / (EXP (1.5) -SIN (13 * PI / 180))

Записати на Бейсике такі вирази:

  • Розробка під Windows
  • DONKEY.BAS. Входить в комплект IBM PC в 1981. Співавтор - Білл Гейтс

    Назва BASIC з'явилася як скорочення від «Beginner" s All-purpose Symbolic Instruction Code », що в дослівному перекладі означає« багатоцільовий мову символічних команд для початківців ». Це той випадок, коли дослівний переклад абсолютно точно передавав суть. ключовою особливістю BASIC "а була не тільки його простота, але і можливість, знаходити рішення завдань в режимі діалогу з комп'ютером.

    Для багатьох комп'ютерів кінця 60-х BASIC позиціонувався як єдина мова програмування високого рівня загального призначення, і з часом це призвело до появи різних його модифікацій. Поворотним моментом у розвитку мови стала поява Visual Basic.

    Передісторія

    В середині 50-х років роль програмування в машинних кодах стала зменшуватися. З'явилися мови вищого рівня - Fortran, Algol, Cobol і так далі.

    Першим з них і одним з найбільш поширених був Фортран (FORTRAN, від FORmula TRANslator - перекладач формул), розроблений групою програмістів фірми IBM в 1954 році (перша версія). Ця мова був орієнтований на науково-технічні розрахунки математичного характеру.

    Назва мови Algol (ALGOrithmic Language), перша версія якого з'явилася в 1958 році, підкреслює ту обставину, що він призначений для запису алгоритмів. Завдяки чіткій логічній структурі Алгол став стандартним засобом запису алгоритмів в науковій і технічній літературі.

    Тоді для мов програмування високого рівня була характерна предметна орієнтація. Крім того, подібні мови були надто складні для початківців розробників, особливо, якщо вони не були інженерами. Тому природно, що з часом з'явилася мова програмування для «простих смертних».

    BASIC. просто BASIC

    З ідеєю створення цієї мови програмування асоціюють відому історію про англійського місіонера.
    У XIX столітті одному англійському місіонера, який шукав можливість полегшити і спростити контакт з тубільцями, прийшла в голову геніальна думка - виокремити з англійської мови найпростішу його частина, практично не має граматики, і містить близько 300 найпоширеніших слів. Цей урізаний підвид англійської мови був названий BASIC ENGLISH, і як показала практика - він дійсно виявився дуже простим для засвоєння, і незабаром завоював популярність не тільки серед тубільного населення, а й серед іммігрантів, для яких англійська не була рідною мовою.
    Через сто років аналогічний шлях обрали співробітники математичного факультету Дартмутського коледжу. Вони вирішили полегшити взаємодію між комп'ютером і непрофесійним користувачем за допомогою «спрощеного» мови програмування.

    У 1964 році Томас Курц і Джон Камені створили спеціалізований мова програмування, який складався з простих слова англійської мови. Нова мова назвали BASIC.

    Вони використовували його для навчання студентів навичкам програмування. Мова вийшов настільки простим і зрозумілим, що через деякий час його почали застосовувати і в інших навчальних закладах.

    Серйозний вплив на BASIC надали Fortran II і Algol 60. Крім того, розробники реалізували в ньому механізми роботи для систем з режимом поділу часу, а також обробки тексту і матричної арифметики. Спочатку компілятор мови був написаний для мейнфрейма GE-265.

    розквіт

    У 70-х з'явилися більш компактні комп'ютери (ПК). Ця обставина вдало використовували Білл Гейтс і Пол Аллен, засновники Microsoft.

    Вони створили нову версію BASIC для перших комп'ютерів «Альтаїр» (MITS Altair), здатну працювати в 4КБ оперативної пам'яті. Згодом саме ця версія і перетворилася в один з найпопулярніших мов програмування в світі.


    Altair

    Періодом найбільшого розквіту і розвитку вихідного BASIC можна вважати кінець 1970-х - першій половині 1980-х років. Його версії з'явилися на інших платформах, і скоро стали розходитися мільйонними тиражами з усілякими змінами і доробками. Однією з найбільш популярних версій був Applesoft BASIC, що став стандартною мовою на Apple II.

    Applesoft BASIC був написаний фірмою Microsoft як заміна системі Integer BASIC, що використовувалася в найпершій моделі Apple II і володіла вельми обмеженими можливостями. Applesoft BASIC був прошитий в ПЗУ всіх моделей Apple II, починаючи з Apple II +, і всіх клонів Apple II. Також більш рання і урізана версія Applesoft BASIC була доступна на касетах для найпершої моделі Apple II.

    Для операційної системи CP / M була створена діалект BASIC-80, надовго визначив розвиток мови.

    Коли з'явилися перші персональні комп'ютери IBM PC, саме він став стандартом в програмуванні, але вже у вигляді GW-Basic.

    В середині 1980-х BASIC стала основною мовою в складних моделях програмованих калькуляторів, які як раз до цього часу досягли потужності, що допускає застосування повноцінного мови високого рівня. BASIC був вбудований в радянський калькулятор «Електроніка МК-85» і все його пізніші моделі.

    Також в 1985 році з'явилася IDE Quick Basic - інтегроване середовище розробки і компілятор мови програмування BASIC, що розроблялася компанією Microsoft з 1985 по 1988 рік. Існували версії для DOS і Mac OS. Використовуваний діалект BASIC був заснований на вдосконаленому діалекті GW-BASIC: була реалізована підтримка призначених для користувача типів, Конструкцій структурного програмування, значно розширена підтримка графічних і дискових операцій.

    Роберт «Боб» Зейла в 1987 році на основі своєї багаторічної розробки BASIC / Z створив Turbo Basic, а потім продав його компанії Borland. Журнал Infoworld назвав його одним з найбільш значних продуктів того року.

    На відміну від більшості реалізацій BASIC того періоду, Turbo Basic був повним компілятором, генерувати рідний код для MS-DOS.

    Незважаючи на величезну кількість версій мови BASIC, при розробці нової версії мови завжди зберігалася сумісність з колишніми версіями: з програмою, написаної для більш ранніх версій цілком (іноді з незначними змінами) можна було працювати і в наступних версіях цієї мови.

    Друге життя

    На початку 90-х з'явилася операційна система Microsoft Windows з новим графічним інтерфейсом користувача.

    щоб створити просту програму, Розробникам доводилося писати по кілька сторінок коду: прописувати об'ємні блоки коду для меню і вікон, шрифтів, очищати пам'ять, «малювати» кнопки і т.д. Однак переваги нового інтерфейсу були досить сильні, і у Windows з'явилися реальні перспективи стати популярною повсюдно.

    У Microsoft розуміли, що необхідно якось полегшити життя розробників. Тому компанія запустила кілька паралельних проектів зі створення нової мови програмування і середовища розробки для Windows.

    Друге життя BASIC отримав, коли Microsoft випустила Visual Basic. Він став логічним завершенням еволюції мови і, незважаючи на збереження звичних ключових слів, за структурою і набору можливостей був ближче до Pascal, ніж до початкового BASIC.

    У 1991 році з'явилася перша версія нової IDE Microsoft Visual Basic. Однак в той момент Microsoft досить скромно оцінювала можливості цієї системи, орієнтуючи її, все ж, на категорію початківців і непрофесійних програмістів.

    Звичайно, це був тільки перший крок, так як компанія Білла Гейтса планувала зміцнити позиції Windows на ринку. А це було б дуже важко зробити, залишивши комерційних розробників без ефективних засобів створення додатків під MS Windows.

    Система програмування, створена розробниками Visual Basic, дозволяла абстрагуватися від внутрішньої структури Windows. Меню, вікна, списки, кнопки, поля введення тексту та інші елементи інтерфейсу Windows додавалися в програму за допомогою найпростіших операцій drag & drop, і велика частина коду для їх ініціалізації і настройки генерировалась автоматично.

    Свою першу програму VB-програмісти могли створити вже через кілька хвилин після початку вивчення цієї мови. Більш того, Visual Basic дозволяв розробникам створювати нові елементи графічного інтерфейсу, які також могли використовуватися в програмах нарівні зі стандартними.

    Незважаючи на те, що багато З-розробники не сприймали всерйоз спроби Microsoft зробити простий і зрозумілий інструмент розробки Windows-програм, решта учасників ІТ-спільноти покладали на Visual Basic великі надії.

    У 1994 році компанія випустила Visual Basic for Applications. Саме в цей час, після включення VBA до складу Microsoft Office, Basic став одним з основних стандартів програмування для Windows.

    Спочатку замислювався як іграшка, Visual Basic від Microsoft неймовірно швидко завоював програмістський світ. Його популярність обумовлена \u200b\u200bдвома причинами: відносною простотою і продуктивністю.

    Програми на VB працювали повільніше своїх аналогів на C / C ++, але все ж вони досить швидкі для багатьох ділових цілей і вимагають набагато менше часу на розробку. Форми були тією самою сберегающей зусилля абстракцією, яку запропонував VB програмістам Windows.

    IDE VB дозволила розробляти вікна графічно, перетягуючи елементи управління, такі як кнопки і списки, з панелі інструментів в форму. отримавши задовільну зовнішній вигляд форми, можна було переходити до кодової частини і писати обробники подій для кожного елемента управління форми.

    Розробка програми в VB, таким чином, складалася з створення декількох форм, які взаємодіяли один з одним.

    З точки зору написання коду важливою відмінністю від того ж C ++ стала відмова від покажчиків. Так вирішив Білл Гейтс, ще під час розробки перших версій Microsoft BASIC. Хоча покажчики корисні, оскільки дозволяють прямий доступ до пам'яті за будь-якою адресою, їх використання пов'язане з помилками в тому випадку, якщо вони застосовуються неакуратно. А так як спочатку мова створювався для «простих смертних», це рішення виглядає цілком виправданим.

    Основні версії Visual Basic

    У першій версії (1991 рік) Алан Купер реалізував принцип зв'язку мови і графічного інтерфейсу.

    Починаючи з третьої версії (1993) в VB з'явилася підтримка MS Access.

    Visual Basic 4.0 (1995) - версія, в якій з'явилася можливість створювати як 32-х так і 16-розрядні Windows-програми. Крім того, в мову були додані класи.

    Починаючи з VB 5.0 (1997), з'явилася можливість розробляти власні COM-компоненти. Крім того, з'явилася нова віртуальна машина, Реалізована в динамічної бібліотеці MSVBVM50.DLL. Компілятор VB для трансляції використовував багатопрохідний режим, але в кінцевому рахунку покладався на компілятор Microsoft C ++ для отримання вихідного машинного коду після компіляції в проміжна мова. Використання бібліотеки часу виконання і внутрішнього інтерфейсу C ++ стало відправною точкою для формування технологіі.NET.

    VB версії 6 - це вже потужна мова, який можна використовувати для створення розподілених додатків із застосуванням компонентів СОМ і Microsoft Transaction Server. Microsoft запропонувала трирівневий підхід для архітектур «клієнт-сервер», в якому «тонкі» призначені для користувача інтерфейси взаємодіяли з віддаленими компонентами VB для отримання даних з бази даних або з іншої машини.

    Більш того, VB6 (1998) можна було використовувати для створення елементів управління Active-X, які працюють разом з Internet Explorer.

    У 2002 році з'явився перший випуск Visual Basic .NET. З цього моменту зворотна сумісність з класичною версією Visual Basic виявилася порушена.

    З 2005 року Visual Basic входить до складу IDE Microsoft Visual Studio 2005. До цього дня мова розвивається разом з IDE - аж до поточної версії - MS Visual Studio 2015.

    Мови Basic і Visual Basic пройшли серйозний шлях і зазнали істотних, можна сказати, незворотні зміни. Від їх початкової простоти мало що залишилося. В результаті VB перетворився в «звичайний» об'єктно-орієнтована мова програмування високого рівня.

    THE BELL

    Є ті, хто прочитали цю новину раніше вас.
    Підпишіться, щоб отримувати статті свіжими.
    Email
    ім'я
    Прізвище
    Як ви хочете читати The Bell
    без спаму