tag:blogger.com,1999:blog-27492701195548075542024-03-21T11:45:47.270-07:00основы программированияВероника Воробьеваhttp://www.blogger.com/profile/07160665309782277893noreply@blogger.comBlogger11125tag:blogger.com,1999:blog-2749270119554807554.post-17127388733140633622012-09-03T08:15:00.000-07:002009-09-03T12:48:31.107-07:00Оглавление<p><br /><a href="http://program11ab.blogspot.com/2009/09/basic.html"> Знакомство с языком BASIC</a><br /><a href="http://program11ab.blogspot.com/2009/09/blog-post.html">История языков программирования</a><br /><a href="http://program11ab.blogspot.com/2009/09/basic_03.html">Версии BASIC'а</a><br /><a href="http://program11ab.blogspot.com/2009/09/basic_5655.html">Структура программы на языке Basic</a><br /><a href="http://program11ab.blogspot.com/2009/09/basic_779.html">Структура команды BASIC'а</a><br /><a href="http://program11ab.blogspot.com/2009/09/basic_4505.html">Алфавит BASIC'а</a><br /><a href="http://program11ab.blogspot.com/2009/09/blog-post_2899.html">Типы данных</a><br /><a href="http://program11ab.blogspot.com/2009/09/basic_646.html">Язык Basic. Работа с переменными.</a><br /><a href="http://program11ab.blogspot.com/2009/09/blog-post_7301.html">Команда КОММЕТАРИЙ</a><br /><a href="http://program11ab.blogspot.com/2009/09/blog-post_654.html">Начало и конец программы</a>Вероника Воробьеваhttp://www.blogger.com/profile/07160665309782277893noreply@blogger.com0tag:blogger.com,1999:blog-2749270119554807554.post-15775569805081454642009-09-03T12:38:00.000-07:002009-09-04T05:39:28.442-07:00Начало и конец программы<p><br />
В Basic’е <span style="font-weight:bold;">не обязательно определять заголовок программы, но делать это рекомендуется</span>. Специального оператора для этого нет, но можно воспользоваться знаком комментария. Например:<br />
******************************************************<br />
10 REM Программа определения среднего арифметического трех чисел<br />
******************************************************<br />
<br />
Выполнение программы начинается со строки с наименьшим номером и заканчивается строкой, содержащей оператор END. Формат этого оператора:<br />
<br />
<span style="font-style:italic;">номер строки</span> (мнб) END<br />
<br />
При его достижении исполнение программы заканчивается. Следующие строки, если они есть, игнорируются. Указывать конец программы <span style="font-weight:bold;">желательно, но не обязательно</span>: если конец программы не указан, то выход из программы происходит по исполнении всех ее строк.Вероника Воробьеваhttp://www.blogger.com/profile/07160665309782277893noreply@blogger.com0tag:blogger.com,1999:blog-2749270119554807554.post-47510501411645573962009-09-03T11:41:00.000-07:002009-09-04T05:39:01.506-07:00Команда КОММЕТАРИЙ<p><br />
В программе может присутствовать текст, необходимый для пояснения имен объектов программы и этапов алгоритма. Такой текст на естественном (русском, например) языке и есть комментарий. Для введения комментария в программу используется специальный оператор – REM. Формат оператора: <br />
<br />
<span style="font-style:italic;">номер строки</span> (мнб) REM <span style="font-style:italic;">текст комментария</span> <br />
<br />
Здесь:<br />
<br />
REM – ключевое слово (название оператора);<br />
<br />
<span style="font-style:italic;">текст комментария</span> - произвольный текст, поясняющий программу.<br />
<br />
Заключать текст в кавычки необязательно, так как оператор REM – неисполняемый оператор.<br />
<br />
Вместо оператора REM можно применять апостроф ('). Апостроф не является оператором, поэтому двоеточие при его использовании не ставится.<br />
<br />
Отсутствие комментариев в программе считается дурным тоном.Вероника Воробьеваhttp://www.blogger.com/profile/07160665309782277893noreply@blogger.com0tag:blogger.com,1999:blog-2749270119554807554.post-3093323101660285352009-09-03T11:32:00.000-07:002009-09-04T05:38:30.237-07:00Язык Basic. Работа с переменными.<p><br />
Переменная - это область в памяти компьютера, где хранится некоторое значение. Каждая переменная имеет имя, значение и тип.<br />
<br />
Имя переменной обозначается английской букв и цифр, причем первой стоит буква, например: x, y, z, As1e4, B2. <span style="font-weight:bold;">Регистр значения не имеет.</span> Имя переменной служит для обозначения некоторой величины в программе, которая при выполнении программы может иметь какое-либо значение, но может быть и не определена. Пример задания часто употребляемой константы: pi=3.14159.<br />
<br />
Если в переменной хранится число, то это числовая переменная, если в переменной хранится слово или фраза, то это строковая (символьная) переменная. В Basic строковая переменная обозначается a$, b$ (в конце имени стоит знак доллара $). Смотри <a href="http://program11ab.blogspot.com/2009/09/blog-post_2899.html">Типы данных</a><br />
<br />
Содержимое хранится в переменной, до тех пор, пока оно не будет специально изменено.<br />
<br />
Операция передачи новых данных в переменную называется присваиванием и обозначается в Basic знаком "=", например, x=10. Команда присваивания будет рассмотрена в последующих постах.Вероника Воробьеваhttp://www.blogger.com/profile/07160665309782277893noreply@blogger.com0tag:blogger.com,1999:blog-2749270119554807554.post-42816710354613019412009-09-03T10:52:00.000-07:002009-09-04T05:38:01.741-07:00Типы данных<p><br />
Как правило, любой программе необходимы данные, которые каким-то образом обрабатываются программой. Эти данные могут быть совершенно различными. Так, в простейшем случае различают два типа данных: числовые и строковые (числа и слова).<br />
В BASIC можно объявить следующие стандартные <span style="font-weight:bold;">типы данных</span>:<br />
<table><tbody>
<tr><td align="center"><span style="font-weight:bold;">Тип</span></td><td align="center"><strong>Символ</strong></td><td align="center"><strong>Содержание</strong></td></tr>
<tr><td>INTEGER</td><td align="center">% <td>целые числа в интервале от -32 768 до +32 768</td></tr><br />
<br />
<tr><td>LONG</td><td align="center">&</td><td>целые числа в интервале от -2 147483648 до +2 147483648</td></tr><br />
<br />
<tr><td>SINGLE</td><td align="center">!</td><td>числа с плавающей запятой в интервале от ±8,43*10<sup>-37</sup> до ± 3,З7*10<sup>38</sup></td></tr><br />
<br />
<tr><td>DOUBLE</td><td align="center">#</td><td>числа с плавающей запятой в интервале от ±4,19*10<sup>-307</sup> до ±1,67*10<sup>308</sup></td></tr><br />
<br />
<tr><td>STRING</td><td align="center">$</td><td>любые тексты с максимальной длиной 32 767 знаков</td></tr><br />
</tbody></table><br />
Символ (например, $) используется в качестве суффикса в имени переменной (массива, константы) для обозначения типа переменной (массива, константы). Об этом разговор будет вестись в соответствующих постах. По умолчанию (при отсутствии такого суффикса-символа) в имени переменной (массива, константы) она считается SINGLE.Вероника Воробьеваhttp://www.blogger.com/profile/07160665309782277893noreply@blogger.com0tag:blogger.com,1999:blog-2749270119554807554.post-89655169681424705282009-09-03T10:27:00.000-07:002009-09-04T05:17:02.433-07:00Алфавит BASIC'а<p><br />
<span style="font-weight:bold;">Алфавитом языка программирования</span> называется совокупность букв, цифр и символов, употребляемых для записи конструкций языка.<br />
<br />
Алфавит языка Basic включает:<br />
десятичные цифры от 0 до 9; <br />
строчные и прописные буквы латинского алфавита от A до Z;<br />
математические символы<br />
+ сложение <br />
- вычитание <br />
/ деление<br />
\ целочисленное деление<br />
* умножение<br />
^ возведение в степень<br />
> больше<br />
< меньше
знаки препинания (. , : ; ! и т.п.)
скобки
пробел
специальные символы ($ % # @ & и т.п.)
Русские буквы (кириллица) используются <span style="font-weight:bold;">только</span> в комментариях (без кавычек) и в символьных константах (в кавычках).<br />
<br />
По каким правилам все эти символы используются - рассмотрим в следующих темах (постах).Вероника Воробьеваhttp://www.blogger.com/profile/07160665309782277893noreply@blogger.com0tag:blogger.com,1999:blog-2749270119554807554.post-89188455112058398652009-09-03T10:14:00.000-07:002009-09-04T05:15:51.575-07:00Структура команды BASIC'а<p><br />
Каждая команда состоит из:<br />
1. номера команды (может не быть - мнб)<br />
2. оператора (мнб!) - то есть самой команды, ключевого слова<br />
3. операнда или операндов (мнб) - параметра команды (например, если команда ПЕЧАТАТЬ, то ЧТО, если команда НАРИСОВАТЬ ОКРУЖНОСТЬ, то какого РАДИУСА и т.п.)<br />
******************<br />
Пример:<br />
10 PRINT x,y<br />
******************<br />
В данном примере 10 - номер команды, PRINT - оператор, x,y - операндыВероника Воробьеваhttp://www.blogger.com/profile/07160665309782277893noreply@blogger.com0tag:blogger.com,1999:blog-2749270119554807554.post-9291353363927006572009-09-03T09:36:00.000-07:002009-09-04T05:13:00.535-07:00Структура программы на языке Basic<p><br />
1. Программа на языке Basic состоит из последовательности строк.<br />
2. Каждая строка содержит номер (в ряде версий строки не нумеруются и мы это делать будем не всегда) и <br />
3. <span style="font-weight:bold;">один</span> или несколько операторов. <br />
<br />
Номера строк – это целые десятичные числа от 1 до 32767.<br />
Номер используется для:<br />
идентификации строк; <br />
установления очередности выполнения строк при запуске программы; <br />
обращения к операторам строки. <br />
<br />
Первоначально строки нумеруются с шагом 10, чтобы иметь возможность вставлять в программу новые строки без перенумерации всех строк программы. <br />
<br />
Если операторов в строке несколько, их отделяют друг от друга <span style="font-weight:bold;">двоеточием</span>. <br />
Операторы выполняются в порядке их записи сверху-вниз слева-направо.Вероника Воробьеваhttp://www.blogger.com/profile/07160665309782277893noreply@blogger.com0tag:blogger.com,1999:blog-2749270119554807554.post-65391731613607669692009-09-03T09:29:00.000-07:002009-09-04T05:12:34.586-07:00Версии BASIC'а<p><br />
<span style="font-weight:bold;">Диалекты: </span><br />
Applesoft BASIC<br />
Commodore BASIC<br />
GW-BASIC<br />
MSX BASIC<br />
Microsoft BASIC<br />
Turbo BASIC<br />
Visual Basic<br />
<span style="font-weight:bold;">Реализации и версии:</span><br />
Altair BASIC <br />
AmigaBASIC <br />
Applesoft BASIC Interpreter in Javascript <br />
Atari Microsoft BASIC I/II <br />
BASICA <br />
Cassette BASIC <br />
Color BASIC <br />
Commodore BASIC <br />
Commodore BASIC V1.0 <br />
Commodore BASIC V2.0 <br />
Commodore BASIC V10 <br />
Commodore BASIC V3.5 <br />
Commodore BASIC V4+ <br />
Commodore BASIC V4.0 <br />
Commodore BASIC V7.0 <br />
DOS33 <br />
EXIL <br />
EXIL 0.0.1 <br />
EXIL 0.1.0 <br />
EXIL 0.1.1 <br />
EXIL 0.1.2 <br />
FreeBASIC <br />
GW-BASIC <br />
GWBasic 2.01 <br />
GWBasic 2.02 <br />
GWBasic 3.20 <br />
GWBasic 3.22 <br />
GWBasic 3.23 <br />
Galaksija BASIC <br />
MBASIC <br />
MSX BASIC 1.0 / 1.1 <br />
MSX BASIC 2.0 <br />
MSX BASIC 3.0 <br />
MSX BASIC 4.0 <br />
MSX BASIC 4.1 <br />
NBASIC <br />
QBasic <br />
QBasic 1.0 <br />
QBasic 1.1 <br />
QuickBASIC <br />
QuickBasic 1.00 <br />
QuickBasic 1.01 <br />
QuickBasic 1.02 <br />
QuickBasic 2.00 <br />
QuickBasic 2.01 <br />
QuickBasic 3.00 <br />
QuickBasic 4.00 <br />
QuickBasic 4.00a <br />
QuickBasic 4.00b <br />
QuickBasic 4.50 <br />
SmallBASIC <br />
VB.NET <br />
VBScript <br />
Visual Basic for Applications <br />
WordBasic <br />
hbasicВероника Воробьеваhttp://www.blogger.com/profile/07160665309782277893noreply@blogger.com0tag:blogger.com,1999:blog-2749270119554807554.post-28710359574420141812009-09-03T07:54:00.000-07:002009-09-04T05:12:09.031-07:00Знакомство с языком BASIC<p><br />
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyIa8j3V4gN8oCXIlnY0lc6eU7EIO5WJeQ7u0AwrNzbqsWv6ciF2sHUJMFUSRI4NVESQX7wLSh3cWfZgK7YlYL9rrMRTdzGwN_jCkrK3L2Ypf5_im4CoFR5Qb8UQwjrGoKTNkOiQ5c4bs/s1600-h/eh1960_f22.jpg"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 300px; height: 248px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyIa8j3V4gN8oCXIlnY0lc6eU7EIO5WJeQ7u0AwrNzbqsWv6ciF2sHUJMFUSRI4NVESQX7wLSh3cWfZgK7YlYL9rrMRTdzGwN_jCkrK3L2Ypf5_im4CoFR5Qb8UQwjrGoKTNkOiQ5c4bs/s400/eh1960_f22.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5377255684057201026" /></a>Бейсик (от BASIC, сокращение от англ. Beginner’s All-purpose Symbolic Instruction Code — универсальный код символических инструкций для начинающих; англ. basic — основной, базовый) — семейство высокоуровневых языков программирования.<br />
<br />
<span style="font-weight:bold;">1. Появление</span><br />
<br />
Бейсик был придуман в 1963 году преподавателями Дартмутского Колледжа Джоном Кемени и Томасом Куртцом, и под их руководством был реализован командой студентов колледжа. Со временем, когда стали появляться другие диалекты, этот «изначальный» диалект стали называть Dartmouth BASIC.<br />
<br />
Бейсик был спроектирован так, чтобы студенты могли без затруднений писать программы, используя терминалы с разделением времени. Он предназначался для более «простых» пользователей, не столько заинтересованных в скорости исполнения программ, сколько просто в возможности использовать компьютер для решения своих задач не имея специальной подготовки.<br />
<br />
При проектировании языка использовались следующие восемь принципов: новый язык должен<br />
быть простым в использовании для начинающих<br />
быть языком программирования общего назначения<br />
предоставлять возможность расширения функциональности, доступную опытным программистам<br />
быть интерактивным<br />
предоставлять ясные сообщения об ошибках<br />
быстро работать на небольших программах<br />
не требовать понимания работы аппаратного обеспечения<br />
защищать пользователя от операционной системы<br />
<br />
Язык предназначался для обучения программированию и получил широкое распространение в виде различных диалектов, прежде всего, как язык для домашних микрокомпьютеров.<br />
<br />
<span style="font-weight:bold;">2. Развитие</span><br />
<br />
В конце 80-х годов насчитывалось около десятка систем Basic различных фирм-разработчиков. Однако главная борьба шла между QuickBasic (компания Microsoft) и TurboBasic (Borland). Вообще-то, конкуренция между этими двумя разработчиками средств программирования шла по целому спектру языков — Basic, Pascal и C. И результатом ее в 1989 году стало неявное мировое соглашение, когда Microsoft отказалась от дальнейшей поддержки Pascal, а Borland — Basic.<br />
<br />
Тогда многие комментаторы язвительно замечали, что Microsoft отказалась от Pascal в пользу Basic исключительно из-за личных пристрастий основателя и руководителя корпорации Билла Гейтса. Действительно, разработка в 1975 году интерпретатора Basic для микроЭВМ Altair 8800 была первым проектом двадцатилетних Билла Гейтса и Пола Аллена, только что основавших фирму Micro-Soft (в то момент они были единственными сотрудниками новой компании). С тех пор президент Microsoft постоянно участвовал в стратегии разработок Basic-систем корпорации и, до сих пор, перечисляя свои титулы, Билл Гейтс довольно часто добавляет "Basic-программист". (Но "отцом VB" считается Алан Купер — независимый программист, который в конце 80-х годов разработал и продал затем Microsoft прототип механизма визуального проектирования форм для Basic.)<br />
<br />
В начале 90-х годов Microsoft начала активную борьбу за продвижение в массы своей новой операционной системы Windows (против своей же, но более уже устаревающей MS-DOS).<br />
В 1991 году под лозунгом "теперь и начинающие программисты могут легко создавать приложения для Windows" появилась первая версия нового инструментального средства Microsoft Visual Basic.<br />
В конце 1993 г. Microsoft объявила о намерении создать на основе VB новую универсальную систему программирования для прикладных программ, которая получила название Visual Basic for Applications (VB для приложений).Вероника Воробьеваhttp://www.blogger.com/profile/07160665309782277893noreply@blogger.com0tag:blogger.com,1999:blog-2749270119554807554.post-8785473552111663402009-09-03T06:34:00.000-07:002009-09-04T05:10:46.786-07:00История языков программирования<p><br />
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwq-wRIvsooIUcHPVrhL2ElhQWmjgFd4LQyu5usJX7NG7iUZUV3CFLiOmtg6kse1JfnGVl75iRr4WLafh43mlvBy98OXjOcqFVEMLwrsQ4InEEEGWvz7dcNygap42l2IxqziZE2FnJ8Sw/s1600-h/p3.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 241px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwq-wRIvsooIUcHPVrhL2ElhQWmjgFd4LQyu5usJX7NG7iUZUV3CFLiOmtg6kse1JfnGVl75iRr4WLafh43mlvBy98OXjOcqFVEMLwrsQ4InEEEGWvz7dcNygap42l2IxqziZE2FnJ8Sw/s400/p3.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5377254359391892978" /></a><br />
1. <span style="font-weight:bold;">Машинный код</span> (также употребляются термины собственный код, или платформенно-ориентированный код, или родной код, или нативный код — от англ. native code) — система команд (язык) конкретной вычислительной машины (машинный язык), который интерпретируется непосредственно микропроцессором или микропрограммами данной вычислительной машины.<br />
<br />
2. <span style="font-weight:bold;">Язык ассемблера (автокод)</span> — язык программирования низкого уровня. В отличие от языка машинных кодов, позволяет использовать более удобные для человека мнемонические (символьные) обозначения команд.<br />
<br />
Данный тип языков получил свое название от названия транслятора (компилятора) с этих языков — ассемблера (англ. assembler — сборщик). Название обусловлено тем, что программа «автоматически собиралась», а не вводилась вручную покомандно непосредственно в кодах. При этом наблюдается путаница терминов: ассемблером нередко называют не только транслятор, но и соответствующий язык программирования («программа на ассемблере»).<br />
<br />
Исторически можно рассматривать ассемблер как второе поколение языков программирования ЭВМ (если первым считать машинный код).<br />
<br />
На ассемблере пишутся программы или фрагменты программ, для которых критически важны:<br />
быстродействие (драйверы, игры);<br />
объем используемой памяти (загрузочные сектора, встраиваемое (англ. embedded) программное обеспечение, программы для микроконтроллеров и процессоров с ограниченными ресурсами, вирусы, программные защиты).<br />
<br />
С использованием программирования на ассемблере производятся:<br />
Оптимизация критичных к скорости участков программ написанных на языке высокого уровня.<br />
Создание операционных систем.<br />
Программирование микроконтроллеров и других встраиваемых процессоров.<br />
Создание драйверов.<br />
Создание антивирусов и других защитных программ.<br />
Написание трансляторов языков программирования.<br />
<br />
Программирование на языке ассемблера характерно также для нелегальных сфер деятельности в ИТ, в частности, с использованием ассемблера производятся:<br />
Взлом программ.<br />
Создание вирусов и других вредоносных программ<br />
<br />
3. Недостатки ассемблера, сложность разработки на нем больших программных комплексов привели к появлению языков третьего поколения — <span style="font-weight:bold;">языков программирования высокого уровня</span> (Фортран, Лисп, Кобол, Паскаль, Си и др.). Именно языки программирования высокого уровня и их наследники в основном используются в настоящее время в индустрии информационных технологий.<br />
<br />
Программы, написанные на языках высокого уровня, проще для понимания программистом, но менее эффективны, чем их аналоги, создаваемые при помощи низкоуровневых языков. Языки высокого уровня имитируют естественные языки, используя некоторые слова разговорного языка и общепринятые математические символы. Эти языки более удобны для человека, с помощью них, можно писать программы до нескольких тысяч строк длиной.<br />
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjj10NPbkZGw-qw0yMSTCv9Me6V3O9tzY6HCOYrza3Y-vIUicU9WAriIWpfIIRiYkeHkpegMFPI0e9poFy3kKUcXQ5K7MuxH1NLOvsIE1Vlmfvhd9CTrk0tG2GE8tfqd8CVMpZymxVkXMk/s1600-h/proglang.gif"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 289px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjj10NPbkZGw-qw0yMSTCv9Me6V3O9tzY6HCOYrza3Y-vIUicU9WAriIWpfIIRiYkeHkpegMFPI0e9poFy3kKUcXQ5K7MuxH1NLOvsIE1Vlmfvhd9CTrk0tG2GE8tfqd8CVMpZymxVkXMk/s400/proglang.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5377251333578726386" /></a>Вероника Воробьеваhttp://www.blogger.com/profile/07160665309782277893noreply@blogger.com0