Файл: "ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ QBASIC".pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 13.03.2024

Просмотров: 44

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Содержание:

Введение.

Первая персональная ЭВМ или первый персональный компьютер был разработан Стивом Джобсом и Стивом Возняком в 1979 году. Авторы работали в фирме Atari, выпускавшей игровые автоматы. В свободное время они собирали в гараже устройство, которое потом и стало первой персональной ЭВМ. Результат превзошел все ожидания, было сделано еще несколько экземпляров для друзей и знакомых. После чего компьютер был запущен в серию и стал называться Apple II. Машина воспринимала последовательности нулей и единиц -команды. Так первый способ программирования -"в кодах", представлял собой составление на бумаге списка команд для ЭВМ, после чего они вручную помещались на носитель. Процесс был трудоемким. Вскоре была написана программа-переводчик, переводящая наименования команд в соответствующие коды. Появился первый язык программирования- Ассемблер, который мало отличался от машинного языка. В этом случае, команды микропроцессора по договоренности назывались определенными словами. К примеру, команда вызова подпрограммы - CALL (вызов) и др. Затем была создана программа-компановщик LINK, связывающая все части вводимой программы в единый монолитный блок и привязывающая ее к определенному начальному адресу. После обработки компановщиком осуществлялся окончательный перевод и можно было ввести результат в машину при помощи резидентной подпрограммы - загрузчика. Загрузчик находил на диске файл с именем введенной команды и с расширением COM и начинал работать, загружая содержимое файла в первую ячейку памяти, настраивая таким образом счетчик команд микропроцессора на эту ячейку. Начиналось выполнение введенной программы. В результате появилась возможность писать программы на примитивном "человеческом" языке. На Ассемблере программы получались громоздкими, поэтому затем была создана программа - переводчик более высокого уровня, которая сама переводила сложные математические формулы в набор ассемблеровских команд. В результате появились языки высокого уровня. Одним из первых был Фортран (от англ.-FORmulaTRANslator-переводчик формул ). Язык оказался удачным в применении к научным расчетам. Таким образом, чтобы пользоваться языком высокого уровня необходимо иметь как минимум транслятор и компановщик. Загрузчик всегда есть в операционной системе. Чтобы программы-переводчики и компановщик правильно обрабатывали вводимую программу, необходимо строго соблюдать грамматику того или иного языка. Конечным продуктом обработки программы, написанной на языке высокого уровня является файл, содержащий только коды команд процессора. Если в запускаемой программе ничего не меняется, то процесс ее запуска предельно прост. Но если необходимо, что-то изменить в программе, весь процесс перевода придется повторить заново, и это довольно продолжительная по времени процедура. Такие трансляторы называются компиляторами, к ним принадлежат, например, языки Паскаль, Си, Турбо Бейсик. В результате возникла идея: переводить в машинные коды не всю программу, а только ту строку, с которой машина в настоящий момент работает. Чтобы процесс отладки программы стал очень быстрым, объединили переводчика с программой редактора, это позволило изменять текст любой строки и присвоить определенной кнопке на клавиатуре функцию остановки программы в любой момент - кнопка BREAK или СТОП. В этом случае, при обнаружении ошибки переводчик сообщает, что в строке с таким-то номером обнаружена такая-то ошибка. Выполнение программы прерывается и переходит в режим редактирования. Кнопкой СТОП можно оперативно вмешиваться в процесс выполнения программы и изменять что угодно в любой строке. Такие языки назвали интерпретируемыми, а программа -переводчик- интерпретатором. Интерпретируемые языки хороши для начинающих. К таким языкам относится и Бейсик. В случае программ, написанных на компилируемых языках типа Фортран, отлаженная программа компилируется раз и навсегда, т.е. не производится при каждом запуске. Для интерпретируемых языков процесс перевода повторяется каждый раз, когда запускается программа, поэтому выполняются значительно медленнее. И как следствие, в целях экономии времени, затрачиваемого на перевод, интерпретируемые языки сильно упрощены.


История создания языка Бейсик началась в 1963 году. Преподаватели Дартмутского Колледжа Джон Кемени и Томас Куртиц в качестве учебного языка придумали алгоритмический язык Basic (Бейсик). Новый язык был очень прост в изучении. Под их руководством группа студентов разработала этот проект. В последствии, с течением времени, начали появляться многочисленные диалекты этого языка, «изначальный» же диалект назвали Dartmouth BASIC. Таким образом, Бейсик изначально задумывался, как язык для пользователей, которые не столько были заинтересованы в скорости программ, сколько в возможности использовать компьютер для решения собственных задач. BASIC - это аббревиатура, которая расшифровывается так: Beginner’s All-purpose Symbolic Instruction Code - универсальный код символических инструкций для начинающих). Создатели языка руководствовались следующими принципами. Язык должен быть простым в использовании для начинающих; быть языком программирования нового назначения; предоставлять возможность расширения функциональности, доступную опытным программистам; быть интерактивным; предоставлять ясные сообщения об ошибках; быстро работать на небольших программах; не требовать понимания работы аппаратного обеспечения; защищать пользователя от операционной системы. Основанием для нового языка послужили частично Фортран II и частично Алгол-60. Были произведены некоторые добавления, делающие язык удобным для работы в режиме разделения времени и, позднее, обработки текста и матричной арифметики. Сначала Бейсик был реализован на мейнфрейме GE-265 с поддержкой множества терминалов. Язык уже использовался на нескольких миникомпьютерах, но его настоящее распространение началось с его появления на микрокомпьютере Altair 8800. Многие языки программирования были слишком большими по меркам тех времен, поэтому рядовые пользователи не могли их использовать. Для машин с таким медленным носителем, как бумажная лента (позднее – аудиокассета) и без подходящего текстового редактора Бейсик стал настоящим решением проблемы. В 1975 году Майкрософт (в то время это были лишь двое – Билл Гейтс и Пол Ален) при участии Монте Давидова выпустила Altair BASIC. Потом его версии появились на другой платформе под лицензией. Через небольшой промежуток времени появились 6 миллионов копий и вариантов языка, один из них, Applesoft BASIC, стал стандартным языком на Apple II. Для операционной системы CP/M был создан собственный диалект BASIC-80, который надолго вперед определил развитие языка. В 1979 году Майкрософт обсуждала с поставщиками компьютеров лицензию интерпретатора Бейсик на их компьютерах. ROM BASIC был включен в ПЗУ IBM PC – этот компьютер мог автоматически загружаться в Бейсик. В то время IBM не придавала большого значения персональным компьютерам (основным полем ее деятельности были мейнфреймы), поэтому она разрешила Майкрософт продавать интерпретатор отдельно. Это сделало Майкрософт пионером в среде ПО нового поколения – не привязанного к конкретной аппаратуре и поставляемого отдельно от компьютера.


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

Ранние версии Бейсика (такие как BASICA, GW-BASIC) сильно отличались от современных диалектов и сегодня практически не используются. Причём отличались настолько сильно, что начинающий программист не каждую программу на старом Бейсике сможет перевести на современный Бэйсик. Структура программы на ранних версиях Бейсика во многом формировалась с учётом того, что он предназначался для среды программирования со строчным редактором текста. В таком редакторе пользователь не имел возможности отображать весь текст на экране (в окне), не мог перемещаться по нему в любых направлениях с помощью клавиатуры и/или мыши. В строчных редакторах пользователь для изменения строки текста должен дать команду изменения строки с заданным номером, затем ввести новый текст указанной строки. «Раздвинуть» строки было невозможно, если требовалось вставить новую строку между строками с соседними номерами, приходилось повторно вводить эти строки с другими номерами, чтобы обеспечить разрыв в нумерации (либо применять специальную команду RENUM, которая изменяла номера всех уже введённых строк с постоянным шагом). Понятно, что при создании более-менее сложной программы практически невозможно предугадать, сколько в ней будет строк и в каком порядке они будут следовать. Поэтому для обеспечения последующего редактирования программы стало принято нумеровать строки с шагом 10 (а иногда и больше). Это позволяло в большинстве случаев без проблем вставлять новые строки без изменения номеров строк, которые были введены ранее. Признаком конца оператора служит конец строки. Чтобы на одной строке разместить несколько операторов, нужно поставить между ними двоеточие (это разрешалось не во всех реализациях языка). В версиях Бейсика для ЭВМ, не имеющих операционных систем, строки должны быть пронумерованы. Один из наиболее известных интерпретаторов языка Бэйсик - это QBasic от Microsoft. QBasic на IBM PC программы могут записываться в обоих формах - с нумерацией и без нумерации строк. Много лет он бесплатно поставлялся вместе с операционными системами MS-DOS и Windows. QBasic имел неплохие по тем временам графические и звуковые возможности. Поэтому на QBasic создавались даже игры. В настоящее время эта версия не потеряла своей актуальности и используется в качестве учебного языка для начинающего пользователя, делающего первые шаги в изучении программирования. Изучение програмирования на языке Qbasic не потеряло своей актуальности и в настоящее время. Большое достоинство Бейсика, из-за которого его изучение продолжается в школах и поныне, — это возможность создавать диалоговые программы. Кроме того, пользователь, имеющий опыт работы в QBasic может создавать программы на других современных и продвинутых версиях этого языка, овладев основными понятиями объективно-ориентированного программирования.


Основы программирования на языке QBasic.

Языки программирования - искусственные языки. Они служат как бы посредниками в общении между человеком и компьютером. От естественных они отличаются ограниченным числом "слов", значение которых понятно транслятору, и очень строгими правилами записи команд (операторов). Программа, написанная на любом языке программирования, представляет собой набор инструкций, описывающих процесс выполнения алгоритма задачи. Инструкции записываются по определенным правилам, предусмотренным требованиями языка. Инструкции исходной программы называются командами или операторами.

Алгоритм.

Изначально необходимо продумать ход решения задачи, т. е. разработать алгоритм ее решения. Алгоритмом называется общий единообразный, точно определённый способ решения любой задачи из данной массовой проблемы. Алгоритм формирует жесткую схему работы программы, все операторы, содержащиеся в программе, выполняются в раз и навсегда установленном порядке. Алгоритм может быть описан словесно, графом (обычно это блок-схема) и на языке программирования (это и будет программа). Разработка алгоритма является определяющим этапом в процессе программирования, поскольку задает логическую структуру программы. Программный способ и состоит в записи алгоритма по правилам языка программирования. Эта запись называется исходной программой на данном языке. Как правило, программы пишутся на языках высокого уровня, т.е. на языках программирования, не зависящих от особенностей конкретной ЭВМ и ориентированных на широкий круг пользователей. QBasic относится к таким языкам. Алгоритм любой сложности можно реализовать, используя только три конструкции: следование (оператор за оператором), повторение (цикл), выбор (альтернатива). При разработке программы следует иметь в виду, что в укрупненном виде любой алгоритм, а следовательно, и программа, состоит из трех частей: ввод данных; обработка данных; вывод результата.

Алгоритм линейной структуры, это алгоритм, в котором символы располагаются на схеме в том же порядке, в каком должны быть выполнены предписываемые ими действия (как правило, сверху вниз), действия выполняются только один раз и строго в том порядке, в котором они записаны. Алгоритм разветвляющейся структуры – это такая схема, в которой предусмотрено разветвление требуемой последовательности действий, в котором то или иное действие выполняется после анализа условий. Каждое направление называется ветвью. Количество ветвей в алгоритме разветвляющейся структуры не обязательно равно двум. Алгоритм, в котором предусмотрено неоднократное выполнение одной и той же последовательности действий, т.е. группа операторов выполняется несколько раз подряд, называется алгоритмом циклической структуры или циклом. Цикл позволяет существенно сократить размер записи алгоритма, представить его компактно, путём соответствующей организации предписываемых действий. Повторять какие-либо действия имеет смысл при различных значениях параметров (параметры цикла), изменяемых при каждом новом выходе на повторение.


Алгоритм должен обладать следующими свойствами: дискретностью, т.е. состоять из последовательности простых действий, однозначностью- не оставлять места для двусмысленности толкования, должен приводить к решению задачи, должен иметь возможность исполнения и быть конечным, его можно было бы применять для решения целой группы задач, отличающихся только исходными данными.

Алгоритмический язык отличается от машинного языка тем, что состоит из слов и символов, как естественный язык. Алгоритмический язык отличается от естественного языка тем, что в нем мало основных слов (обычно 30-40) и очень строгие правила составления предложений.

Язык программирования Qbasic (как и любой другой язык) образуют три его составляющие: алфавит, синтаксис и семантика. Алфавит – это фиксированный для данного языка набор основных символов, т. е. «букв», из которых должен состоять любой текст на этом языке – никакие другие символы в тексте не допускаются. Синтаксис – это правила построения фраз, позволяющие определить, правильно или неправильно написана та или иная фраза. Семантика определяет смысловое значение предложений языка. Основными понятиями в языках программирования обычно являются алфавит языка, константы, переменные, встроенные функции, логические и арифметические выражения.

Алфавит языка QBasic состоит из букв, цифр, шестнадцатеричных цифр, специальных символов и ключевых слов. Все компоненты языка формируются из множества символов стандарта ASCII. Буквы – это буквы латинского алфавита от a до z и от A до Z. В QBasic нет различия между прописными и строчными буквами, если они не входят в символьные выражения. Буквы русского алфавита можно использовать только в комментариях и символьных строках. Цифры – это арабские цифры от 0 до 9. Шестнадцатеричные цифры имеют значения 0, ..., 9, A, .., F. Специальные символы в QBasic – это: символ пробела, +, -, *, /, \, =, ,, ', ., :, ;, <, >, (, ), ^, ?, _, @, $, # и т.д. К специальным относятся также следующие пары символов: <>, <=, >=. Ключевые слова представляют собой служебные слова (например, DIM, END, IF и т.д.). Их можно использовать только по своему назначению и нельзя переопределять. Знаки операций предназначены для обозначения различных действий. Они могут обозначаться либо небуквенными символами (+, * и т.д.), либо ключевыми словами (NOT, MOD и т.д.). Знаки арифметических операций: + (сложение), – (вычитание), * (умножение), / (деление), \ (деление нацело), MOD (остаток от деления нацело), ^ (возведение в степень). Знаки отношений: > (больше), < (меньше), >= (больше или равно), <= (меньше или равно), = (равно), <> (не равно). Знаки логических операций: NOT (отрицание), OR (логическое сложение (ИЛИ)), AND (логическое умножение (И)), XOR (исключающее ИЛИ), EQV (эквивалентность), IMP (импликация).