Языки Бейсик
.pdfВ.К. АЛИЕВ
ЯЗЫКИ БЕЙСИК
“CОЛОН - P” Москва, 200921
В.К. АЛИЕВ
Языки Бейсик
Данная книга - самое полное справочное пособие по языку Basic, одновременно является учебником по программированию на языке QBASIC. Особенное внимание уделено практи- ческим примерам программирования - примеры программ (написанные учителями и учащимися старших классов), приведенные в книге, отлажены и проверены в средах Visual Basic и QBasic, поэтому книгу можно использовать как справочник по технике и навыкам программирования.
Предназначена для самого широкого круга читателей-пользователей персонального компьютера, приступающих к изучению или занимающихся программированием - школьников старших классов, учащихся средних специальных учебных заведений, студентов техникумов и вузов, аспирантов, программистов, специализирующихся на VISUAL Basic, независимо от версии.
Данная книга принимала участие в ярмарке педагогических достижений во Владивостоке в октябре 1999 года, где завоевала диплом второй степени в номинации “Учебные пособия и методические разработки”.
Издательство “Солон-Р”
129337, г. Москва, а/я 5
Телефоны:
(499) 254-44-10, (499) 252-36-96
E-mail: Solon.Pub@relcom.ru
Ответственный за выпуск С. Иванов Макет и верстка В. Смирнов
Обложка Е. Жбанов
ISBN 5—93455—054—3 |
© “CÎËÎÍ - P”, |
9 |
|
|
|
|
2021 |
|
© В.К. Алиев, |
|
2 |
|
|
2021 |
|
От автора |
3 |
От автора
Когда начинаешь вплотную заниматься программированием, всегда сталкиваешься с
одной неловкостью: приходится переворошить несколько учебников или пособий. В своей работе я постарался наиболее полно осветить и синтаксис языка, и формат операторов, дать всевозможные таблицы символов и кодов, чтобы она стала самым полным изданием по языку программирования “Бейсик”.
Школьный курс информатики не нацелен на развитие у учащихся системного мышления, а лишь на получение необходимых знаний пользователя ЭВМ. Но практика показывает, что знания в наше время очень быстро устаревают. Если между появлением первой модели персонального компьютера PC IBM-286 и следующей PC IBM-386 прошло более трех лет, то между Pentium-2 и Pentium-3 — меньше года. А сейчас и они уже считаются устаревшими. Поэтому в задачу учителя все больше входит умение давать
учащимся способы развития системного мышления, проще говоря, учить их размышлять. Что, как мне кажется, я и делаю в этой книге.
Теперь несколько слов о том, кому она предназначена. Для новичков важны все главы. Для людей, уже знакомых с алфавитом языка “Бейсик”, будут интересны главы, описывающие операторы и функции языка. А те, кто постоянно работает и пишет программы, будут приятно удивлены главами одиннадцатой и двенадцатой, которые являются самым полным и современным справочником (если не считать технической документации) по языку программирования “Бейсик”. И пусть читателя не смущает то, что уже существует шестая версия Visual Basic’а, потому что внутри этой суперновой оболочки используется все тот же Tru (истинный) Бейсик, который, к сожалению, для англонеговорящего пользователя не очень понятен во встроенном справочнике.
Книга должна быть полезна и школьникам, начинающим изучать компьютер, и сту-
дентам, и профессионалам, действующим программистам, техникам-инженерам… Автор, сам проработав программистом добрый десяток лет, постарался собрать и скомпоновать материал так, как он хотел бы видеть хорошую книгу по программированию в то доброе время, когда сам с упоением программировал. И чему хочет нау- чить всех желающих.
Валерий Алиев.
e-mail: vkaliev@online.nakhodka.ru
4 |
Языки Бейсик |
Предисловие редактора
Необходимым условием технического прогресса является ликвидация компьютерной
неграмотности, к сожалению, в настоящее время довольно массовой. Хотя за последние десять лет персональные компьютеры в России получили весьма широкое распространение, количество специалистов и людей, свободно чувствующих себя при общении с вычислительной машиной, пока недостаточно. Необходимость в таких людях в ближайщие годы будет только возрастать, поскольку компьютеры находят применение во все больших областях человеческой деятельности. Однако в дружеском союзе человека с ЭВМ ведущая роль, естественно, остается за человеком. Эту роль должны себе хорошо представлять будущие специалисты, т.е. те, кто сегодня сидит за школьной партой. Именно им предстоит создавать гибкие производственные системы, безлюдные производства, безбумажные учреждения и целые заводы-автоматы. Один лишь школьный курс информатики здесь мало чем поможет, так как он не нацелен на развитие у школьников системного мышления, крайне важного для создателей и пользователей систем на основе ЭВМ.
В книге излагаются необходимые для практической работы с IBM PC сведения о компьютере, дано достаточно полное описание одного из популярных языков программирования — языка Basic. Для опытных пользователей будут полезны главы, в
которых в алфавитном порядке указаны операторы и функции языка.
Даны необходимые сведения об архитектуре современных персональных компьютеров, показаны методы использования программных средств для решения разных типов задач: инженерно-технических, экономических, логических и информацион- но-поисковых.Основное внимание уделено систематическому описанию средств и методов программирования на языке высокого уровня Бейсик. Приведены сведения о работе с файлами, звуковой информацией, сегментированными программами.
Для закрепления материала предлагается ряд примеров и упражнений, выполнение которых поможет в освоении элементов программирования.
Для усвоения материала, излагаемого в книге, практически не требуется никаких предварительных знаний из области вычислительной техники и программирования. Однако предполагается, что читатель имеет возможность работать на персональной ЭВМ, поскольку существенный упор делается на самостоятельное выполнение приведенных примеров и достижения адекватных результатов.
Следует отметить еще один важный аспект проблемы ликвидации компьютерной неграмотности. Компьютерный “ликбез” не делает никакой скидки “немцам”, “французам”, “итальянцам” и прочим, ориентированным на “другие” языки, и требует иного, более ответственного отношения к изучению английского языка как фундамента основ компьютерной грамотности. И хотя язык программирования Basic появился(май 1964г) позднее таких языков, как Фортран(1958г) и Кобол(1960г), это не помешало ему стать одним из самых массовых языков программирования, получивших наибольшее распространение в конце 70-х годов. В значительной степени этому способствовало как то, что Basic начали использовать как встроенный язык микрокомпьютеров, так и то, что операторы языка близки к разговорному английскому языку.
Предисловие редактора |
5 |
Язык Бейсик действительно универсален. С его помощью студент-социолог может написать программу обработки данных статистического обследования, студент-фило- лог, изучающий французский язык, — создать программу сопряжения неправильных глаголов, а будующий инженер — подготовить программу для расчета характеристик прочности моста в зависимости от применяемых материалов.
Хотя BASIC (Beginners All-Purpose Symbolic Code — универсальный символический код для начинающих) действительно является языком программирования для начинающих, одновременно со своими “старшими братьями”, такими как СИ и ФОРТРАН, он развивается и совершенствуется. Авторы языка Джон Кемени и Томас Курц в 1975 году провели ревизию своего детища. В свете получивших широкое распространение принципов структурного программирования, они ввели в Бейсик структурные возможности, а спустя десять лет предприняли еще один, более существенный пересмотр
языка, связанный с микрокомпьютерами. Сохранив все достоинства и простоту базовой версии, Д.Кемени и Т.Курц в содружестве с Американским институтом национальных стандартов (ANSI) разработали каноническую версию языка для микрокомпь-
ютеров, на основе которой разработан транслятор современного Visual Basic.
Пол Аллен и Бил Гейтс, основатели корпорации Microsoft, разработали первый интерпритатор Basic’а для персонального компьютера (Альтаир-8800), а корпорация
Microsoft является самым мощным разработчиком системного и прикладного про-
граммного обеспечения для современных персональных компьютеров, в силу чего современные пакеты Basic'а имеют как интерпритатор, что очень удобно на стадии отладки программ, так и компилятор, который обеспечивает получение абсолютного модуля, что является немаловажным при промышленной эксплуатации программных продуктов.
Книг по языку Бейсик, в том числе и переведенных на русский язык, выпущено великое множество. Тем не менее, данное издание достаточно актуально. Во-первых, автор представляет свое, цельное и компактное видение методологии обучения программированию. Во-вторых, книга возвращается к достаточно полному описанию “истинного Бейсика” (true Basic), что в современной литературе уже является редкостью, поскольку, как правило, “затушевывается” изложением концепций визуального программирования и подобными “новшествами”. Хотя в книге не затрагиваются вопросы объектно-ориентированного программирования, что является характерной чертой Visual Basic, это едва ли является недостатком, так как это значительно увели- чило бы размеры данной монографии и затруднило бы понимание основ языка программирования.
Книга предназначена для пользователей, программистов, инженерно-технических работников. Она может быть полезна для преподавателей, студентов вузов и колледжей, осваивающих работу на персональных компьютерах, а также школьников старших классов.
Доктор физико-математических наук профессор Иркутского Государственного университета В.Б.Иванов
e-mail: ivb@ivb.baikal.ru
6 |
Языки Бейсик |
Глава I. ЭВМ
Лекции по информатике Лекция 1.
1. ЭВМ (PC, компьютер)
Первоначальное название — миниэвм. Идея появилась и началась ее реализация практически одновременно на западе и в соцстранах (СССР в первую оче- редь). Основа идеи — так называемые интегральные схемы, которые позволили громоздкие ламповые блоки больших ЭВМ заменить на изящные платы размером не многим больше тетрадного листа бумаги. Несмотря на то, что американцы в приватных беседах считали, что развитие вычислительной техники в СССР в то время отставало лет на десять-пятнадцать, на самом деле это был ярко выраженный рекламный трюк с целью устранения самого сильного конкурента. В СССР были разработаны и успешно внедрялись такие типы ми- ни-ЭВМ, как ЕС-1840, ЕС-1841. У меня нет проверенных данных, но и нет доказательств, что IBM-PC был прототипом наших ЕС-1840, а не наоборот. Тем более, что первые американские мини-ЭВМ, типа Olivette или Apple, поче- му-то не получили должного развития. Но независимо от того, кто был первым, сейчас мы имеем то, что имеем. А имеем мы парк персональных компьютеров, которые в среде профессионалов обработки информации получили название IBM-подобные (по названию фирмы, которая начинала активно их производить и продавать). Именно мощнейшие ресурсы такой фирмы, как IBM, позволили с самого начала привлечь к разработке программного обеспе- чения этих ЭВМ лучших специалистов, что позволило спроектировать и создать довольно дружественный интерфейс с пользователем, надежную операционную систему с возможностью при наличии достаточной квалификации дополнять ее и расширять, то есть обеспечить обратную связь с пользователем. Это привело к тому, что фирма, которая занималась разработкой операционной системы, а это в настоящее время широко известная фирма Microsoft, применила тактику быстрого реагирования и внедрения самых лучших программных разработок частных программистов, причем без всяких гонораров. Опять же очень много было взято у наших (советских) программистов. Например, мало кто знает, что всемирно известная компьютерная игра “Тетрис” была придумана и запрограммирована советским программистом — москвичом.
Нас в рамках предмета “Информатики” в персональном компьютере будет интересовать только то, что он состоит из трех блоков:
1.Блок ввода информации
2.Блок обработки информации
3.Блок вывода информации
1.Блок ввода информации состоит:
—клавиатура
—дисковод
Глава I. ЭВМ |
7 |
—монитор
2.Блок обработки информации:
—оперативная память
—процессор
3.Блок вывода информации:
—дисководы
—монитор
—принтер
Следовательно, обрабатывать информацию может только блок обработки информации, причем обрабатывает процессор и только в оперативной памяти. Процессор может работать только под руководством программ. А программой называется строго определенная последовательность команд с единственным внешним входом, то есть операционная система, загружая программу в память, знает, какую команду выполнять первой.
Программы для ЭВМ пишутся на языках программирования. Языки бывают высокого и низкого уровня. К языкам низкого уровня относятся автокод и ассемблер. Работа на этих языках требует высокого профессионализма, знания компьютера, большой точности, скрупулезности, больших трудозатрат. Это удел немногих профессионалов, которые разрабатывают и внедряют операционные системы, многопользовательские интерфейсы, когда требуется учитывать быстродействие машины, экономить оперативную память, учитывать будущие технические разработки. Именно благодаря таким профессионалам в настоящее время разработано громадное количество программ, позволяющих человеку с минимальной подготовкой выполнять на ПК самые разнообразные работы.
Все остальные языки относятся к языкам высокого уровня. Из таких можно упомянуть Си, Ада, Паскаль, Бейсик. Наличие таких языков программирования и превратило само программирование из узкопрофессиональной деятельности в достояние многих как в силу личных наклонностей (хакеры), так и в силу необходимости создания компактных, быстродействующих или оригинальных программ, поскольку даже самый универсальный, программный пакет не может предусмотреть все возможные варианты, не говоря уже о том, что универсальный пакет именно в силу своей универсальности является неоптимальным по быстродействию и рациональному использованию машинной памяти. Поэтому представляется очевидным, что начальные знания технологии программирования необходимы достаточно большому количеству людей.
8 |
Языки Бейсик |
Глава II. Язык программирования
Итак, программы пишутся на языке программирования. И не все вспоминают, что люди, повторяя путь человечества, писать начинают гораздо позднее, чем говорить. Что русские люди с благодарностью и почтением уже несколько веков вспоминают Кирилла и Мефодия за то, что они изобрели азбуку, или, проще говоря, алфавит. И хотя человечество знает примеры письменности без алфавита, но таких примеров значительно меньше, чем примеров другого рода.1
2.1. Алфавит
Алфавитом языка называется совокупность букв, цифр, специальных символов, используемых для записи основных элементов языка. Алфавит языка Бейсик включает в себя:
—прописные и строчные латинские буквы от А до Z;
—прописные и строчные русские буквы от А до Я;
—десятичные цифры от 0 до 9;
—специальные знаки или спецсимволы.
2.2. Лексические единицы
Лексической единицей называется наименьший смысловой элемент, с помощью которых составляются выражения программы. Таких имеется четыре вида:
2.2.1.Операторы языка
это определенные (словарные) слова английского языка, которые записываются только латинскими буквами.2 Ниже приводится пример записи операторов.
READ
1 Язык Бейсик относится к языкам высокого уровня. Он был разработан как язык программирования в 1963 году профессорами Дартмутского колледжа Кемени и Куртц для специалистов, не являющихся профессиональными программистами. В 1974 году в качестве международного стандарта был утвержден MINIMAL BASIC(Beginer's All-purpose Symbolic Instruction Code — универсальный символический код для начинающих). С тех пор “пережил” несколько версий, сильно мутировал(от уже упомянутого Minimal Basic до объектно-ориентированного Microsoft Visual Basic, который представляет собой систему с широчайшим набором сервисных средств, обеспечивающих самую современную технологию программирования в прогрессивной среде Windows), но в большей своей части ухитрился остаться все-таки Бейсиком, то есть простым языком программирования для персональных микроЭВМ. Учитывая общую принципиальную особенность всех языков программирования — их совместимость снизу вверх, становится понятным тот факт, что язык Бейсик по объему использования занимает лидирующее место в сфере разработки прикладных программ.
2 Большая часть операторов Бейсик приводится в Главе 12.
Глава II. Язык программирования |
9 |
Write open pRint
Строго говоря, существует разница между прописными и строчными буквами, и правила хорошего тона требуют, чтобы применялись буквы одного регистра. Но существующие трансляторы Бейсика собственные операторы преобразуют в операторы из прописных букв на стадии грамматической проверки. Поэтому есть смысл при написании операторов не использовать прописные буквы.
2.2.2. Переменная
Важнейшими элементами программы являются переменные. Понятие переменной близко к понятию переменной величины в математике. Переменная в программировании — это именованное место в оперативной памяти компьютера, из чего следует, что переменная имеет имя (идентификатор) и значение (величина). Значение переменной в процессе выполнения программы может принимать любое значение из заданного множества. Значение переменной не обязательно известно на этапе трансляции, но к моменту использования ее в выражении оно должно быть известно, то есть определено. Переменная может входить в различные выражения. В Бейсике используются два типа переменных: простые è индексированные (массивы).
Простая переменная — это переменная, которой соответствует только одно зна- чение в каждый момент времени. Каждая переменная, используемая в программе, должна иметь имя. В качестве имени переменной нельзя использовать клю- чевые слова Бейсика. (Ключевые слова Бейсика приведены в главе XI-раздел 11.3.) Имя должно начинаться с буквы и не должно содержать специальных символов, вроде $ или &, которые могут входить в имя только в качестве суффиксов (См. глава XI-раздел 11.2.). Кроме того, в имени переменной не должно быть русских букв и необходимо учитывать, что в имени переменной уже различаются прописные и строчные буквы, то есть такие имена, как alfa103 и Alfa103 будут интерпретироваться транслятором как разные переменные.
2.2.3. Разделители
В языке Бейсик используются следующие разделители:
! @ # $ % & ( ) _ : “ ' ; . , ~ ` | \ и пробел
2.2.4. Константы
Константой называется некоторая величина, не изменяющая своего символьного или числового значения в течение выполнения всей программы. Имеются два типа констант:
—числовые константы представляют собой положительные или отрицательные числа двух видов:
—целочисленные константы, значения которых находятся в диапазоне — 32 768 до 32 767. Целочисленные константы при записи не должны содержать десяти-
10 |
Языки Бейсик |
чной точки. Перед положительной целочисленной константой может быть указан знак плюс; перед отрицательной константой записывается знак минус.
Примеры записи целочисленных констант:
— 32768 -1 |
0 |
5 |
+458 |
32767 |
—вещественные константы.
—Константа с фиксированной точкой — это положительное или отрицательное число и нуль, содержащие при записи десятичную точку. Десятичная точка отделяет целую часть числа от дробной. Если число заканчивается десятичной точкой, то считается, что дробная часть равна нулю. Знак плюс и дробную нулевую часть числа можно опустить. Общее количество знаков в числе должно быть не более 18 (максимальное число цифр может быть равно 16, знак числа и десятичная точка). Примеры записи числа с фиксированной точкой:
— 0.000000000001 |
-9. .1 |
145.73 |
— Константа с плавающей точкой — это положительное или отрицательное число, которое представлено в экспоненциальной форме
À=(+,-)Ì*N(+,-)p,
где N — основание системы исчисления; р — показатель степени (порядок)
— Символьные или строковые константы представляют собой набор произвольных символов, принадлежащих алфавиту языка Бейсик.
2.3. Выражения
Выражения — это лексические единицы, которые соединены между собой знаками операций двух типов:
—арифметических, сравнения, логических — для операций над числами;
—сцепления — для операций с символьными данными.
2.3.1. Арифметические операции
Выражения первого вида имеют сходство с обычным арифметическим выражением. Например
A=B+C*D/(7^5)
Порядок вычисления таких выражений следующий: сначала вычисляется выражение в скобках, затем возведение в степень, затем операции умножения и деления слева направо, затем сложения и вычитания слева направо.
В языке Бейсик можно выполнять следующие арифметические операции между числовыми величинами (операции указываются в порядке приоритета их выполнения)
^возведение в степень
- изменение знака на обратный * / умножение и деление
