Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

24498

Работа добавлена на сайт samzan.net: 2016-03-05

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 21.5.2024

PAGE  10


начало

конец

Х=А+В

Х=А+В

Y=X+C

Z=Y^2

X>A

I=1,10,1

A

A

A, B

A, B

TEXT

+

-

I=A1, A2, A3

начало

_

+

 начало

EMBED Equation.3  

EMBED Equation.3  

EMBED Equation.3  

Деление  

 на  0

EMBED Equation.3  

EMBED Equation.3  

 Конец

+

-

 начало

  А, В, С

EMBED Equation.3  

EMBED Equation.3  

EMBED Equation.3  

  конец

EMBED Equation.3  

z – 5

  z2       , если z < 0

z2 - 1     ,если 0 ≤ z ≤ 1

  1

(1-z)       ,если z > 1

f =

 начало

EMBED Equation.3  

EMBED Equation.3  

EMBED Equation.3  

  EMBED Equation.3  

конец

-

+

начало

  EMBED Equation.3  

EMBED Equation.3  

EMBED Equation.3  

EMBED Equation.3  

EMBED Equation.3  

конец

PI=3.1416

X=1,2*PI,0.2*PI

Y=1-X: Y1=COS(X)

Y=0 OR Y1=0

“DEL. NA 0”

Z=SIN(2*X)/Y+1/Y1^2

X, Z

конец

+

_

S=S+S1

начало

конец

S=0

I=1,25

S1=0

J=1,I

I^2-J<>0

= (I ^ 2 + J ^ 3) / (I ^ 2 - J)
         S1 = S1 + Y

S

“DELENIE  

NA  0  PRI “I,J

начало

I=1,10

A(I);

“MASSIV A(10)”

I=1,10

A(I);

конец

конец

I MOD 10=0

“         “;

C(I);

C(I)

I=1,20

“MASSIV C(20)”

начало

+

_

начало

“MASSIV D(6,6)”

I=1,6

D(I,J)=INT(RNL*200-75)

D(I,J);

конец

“          “;

J=1,6

+

_

MAX=K(1)

IMAX=1

MAX; I

K(I)>MAX

MAX=K(I)

IMAX=I

I=1,30

конец

_

+

+

_

N=0

K(I) MOD 2=0

N=N+1

K1(N)=K(I)

I=1,30

I=1,N

K1(I);

I MOD 10=0

конец

“         “;

N

+

+

_

N2=0

K(I) >0

N2=N2+1

K3(N2)=K(I)

I=1,30

I=1,N2

K3(I);

_

I MOD 10=0

конец

“         “;

N2

+

_

MAX=D(I,1)

JMAX=J

‘STROKA ‘  I, MAX; J

D(I,J)>MAX

MAX=D(I,J)

JMAX=J

I=1,30

конец

I=1,30

+

MAX=D(1,1)

IMAX=1

IMAX, MAX

D(I,I)>MAX

MAX=D(I,I)

IMAX=I

конец

I=1,6

3

4

10

10

12

13

13

14

18

MAX= 117    I= 16

Введение

Возникновение информатики как науки связано с появлением ЭВМ и относится к 60-м годам ХХ столетия. В самом общем смысле под информатикой понимают фундаментальную естественную науку, изучающую процессы передачи, накопления и обработки информации с помощью ЭВМ. Роль вычислительной техники (ВТ) в различных отраслях человеческой деятельности постоянно возрастает. Оснащенность средствами ВТ определяет уровень развития современного общества и является основой автоматизации умственной деятельности человека. Сфера использования ЭВМ в настоящее время настолько широка, что нет такой отрасли, где применение ЭВМ было бы нецелесообразным. Это вызывает всё большую необходимость подготовки специалистов в области программирования и использования ЭВМ.

При решении задач на ЭВМ в первую очередь необходимо определить возможность решения поставленной задачи и выбрать соответствующий метод. Далее: необходимо разработать программу на одном из языков программирования, доказать правильность работы программы, протестировав ее, и предусмотреть возможность ее совершенствования на этапе использования.

Наиболее общая тактика разработки программ (программирования) состоит в разделении всей задачи на отдельные более простые задачи, решение которых приводит к решению первоначально поставленной задачи.

Программирование – сложнейший раздел информатики. В программировании синтезировано все то, что десятилетиями нарабатывалось в компьютерной науке. Это и результаты работы специалистов, работающих на стыке математики и информатики, это достижения в вычислительной технике, это огромный опыт формализации и решения сложнейших проблем в самом программировании, связанный с созданием больших программных комплексов.

1. Основные понятия и определения.

1.1. Алгоритм.

В настоящее время интерес к алгоритмам особенно велик благодаря возможности использования в научных исследованиях, в технике, в экономике и других областях вычислительных машин, выполняющих построение некоторых величин в точном соответствии с указанным алгоритмом. Эта возможность привлекательна по той причине, что явления и процессы, которые изучаются в рамках упомянутых исследований, часто удается описать с помощью понятий математики – функций, систем уравнений, неравенств и т.д. – и для получения конкретных сведений об изучаемых явлениях и процессах надо произвести некоторые действия над математическими объектами. Человеку достаточно описать алгоритм необходимых преобразований и вычислений, а сами действия (как правило, настолько обширные и громоздкие, что их невозможно выполнить вручную) выполнит вычислительная машина. Например, статистические расчеты, численные методы решения дифференциальных уравнений и т.п.

Алгоритм – конечный набор правил, позволяющий чисто механически решать любую конкретную задачу из некоторого класса однотипных задач. Исходные данные могут изменяться в некоторых пределах, но путь решения задачи определен однозначно. Алгоритм – синоним слов способ, рецепт. Наиболее распространенные формы задания алгоритма – словесный, табличный, блок-схема (структурная схема). Словесное задание позволяет описать алгоритм с помощью слов и предложений. Табличное задание служит для представления алгоритма в виде таблицы и расчетных формул. Блок-схема – это графическое представление логической структуры алгоритма, в которой каждое действие записывается соответствующей геометрической фигурой (см. таблицу 1), а внутри блоков записывается содержание этих действий (см. рис. 1).

                                                             Таблица 1. Основные блоки.

№№

п/п

Название

Обозначение

Пояснения

1

2

3

4

1

Процесс  

Вычислительное

действие  или  их  

последовательность

2

Решение

Проверка условия

( блок сравнения )

3

Модификация

Начало  цикла

4

Документ

Печать

результатов

5

Перфокарта

Ввод  данных  из

блока анных

Ввод  данных  с

клавиатуры                

6

Пуск,

останов                                                       

Начало, конец

7

Соединитель

Разрыв  линии  потока                                                                                  

8

Комментарий

Пояснения,

заголовки

Рис. 1.Примеры изображения элементов блок-схем.

  В  блоке  организации  циклов     
помещается  следующая  информация:                                      
     I - главная управляющая циклом;
     A1 - начальное значение главной  управляющей циклом;
     A2 - конечное значение главной управляющей циклом;
     A3 - шаг изменения значения главной управляющей циклом.
Параметры А1, А2, А3 главной управляющей циклом записываются через запятую. Если шаг изменения главной управляющей циклом А3 равен единице, то А3 в записи может опускаться.
Текст комментария может содержать любые символы языка.
Пути вычисления (связи между блоками) указываются стрелками. При естественном ходе вычислений - сверху вниз и слева направо - стрелки можно не указывать.

В зависимости от структуры алгоритма различают следующие типы – линейный, разветвленный, циклический.

Линейный алгоритм не содержит логических условий и имеет одну ветвь вычислений.

Пример 1: Вычислить высоты треугольника со сторонами А, В, С по формуле Герона:

 

        где   - полупериметр треугольника.

Введем дополнительную переменную:

.

Блок - схема алгоритма предложенной задачи представлена на рис.2.

Разветвляющийся алгоритм содержит одну или несколько ветвей вычислений. Вычисления идут по одному из нескольких возможных путей в зависимости от значений исходных данных или промежуточных результатов.

Пример 2: Вычислить значения функции , где: n и x - заданные параметры.

Блок - схема предложенной задачи представлена на рис.3.

 

                 Рис.2.                                           Рис.3.         

Циклический алгоритм содержит многократно повторяемые части.

Пример 3: Вычислить  при изменении x от 0 до 3 с                  шагом 0,1.

Предложенная задача может быть решена двумя способами:

  1.   с изменением параметра x математическим способом и использованием блока сравнения. Блок-схема представлена на рис. 4; 

 с изменением параметра x с помощью блока организации цикла. Блок-схема представлена на рис. 5.

                 Рис. 4.                                                Рис. 5.

Во время работы персональный компьютер (ПК) выполняет заданную программу, а программа является заданным алгоритмом, записанным в специальных обозначениях.

Правила записи алгоритма для выполнения его вычислительной машиной оказываются очень жесткими – автомат не может ничего додумать за человека. Совокупность средств и правил представления алгоритма в виде, пригодном для выполнения вычислительной машиной, называется языком программирования, а каждый алгоритм, записанный на некотором языке программирования, называется программой. Язык программирования нам необходим для того, чтобы написать текст программы, т.е. перечень инструкций, необходимых для решения поставленной задачи. Программа – упорядоченная последовательность действий для ЭВМ, реализующая алгоритм решения какой-либо задачи.

Программированием называется процесс подготовки задач

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

Microsoft Quick BASIC (Qbasic - просто Быстрый) "Бейсик"- диалоговый учебный язык программирования для персональных компьютеров. На современных компьютерах используется следующие версии Basic: GWBasic, QBasic 4.5, Turbo Basic для DOS, Visual Basic 3.0-6.0 для Windows. Здесь мы рассмотрим QBasic 4.5. QBasic входит в состав операционной системы MS-DOS 6.0-6.22. Есть русифицированная версия QBasic.

Qbasic является интерпретатором, т.е. программы, написанные на этом языке, могут выполняться только внутри его интегрированной среды. Однако это является и недостатком Qbasic. Qbasic, в отличии от более ранних версий языка Basic, поддерживает современные средства модульного программирования. Это свойство поднимает его до современных языков программирования. К достоинствам языка QBasic также следует отнести то, что

  1.  Qbasic содержит хороший экранный редактор;
  2.  Qbasic не ограничивает длину программы;
  3.  Qbasic отменяет необходимость нумерации строк
  4.  Qbasic позволяет использовать локальные переменные.

1.2. Этапы  программирования.

  1.  Составление плана решения поставленной задачи в виде набора операций (алгоритма), составление блок-схемы решения.

Описание плана решения задачи на языке программирования (составление программы).

Ввод текста программы в память ПК.

Компиляция – трансляция (перевод) программы с языка про-

      граммирования на машинный язык (т.е. в машинные коды).

Исправление ошибок в программе (отладка программы).

Выполнение программы и получение предварительных результатов.

Анализ полученных результатов и, при необходимости, корректировка программы.

Для описания конструкций языка Quick Basic в методических указаниях приняты следующие обозначения:

  1.  ключевые слова при задании общего вида (формата) оператора, команды или функции напечатаны прописными буквами. В то же время в программе в среде Qbasic при записи ключевых слов допускается использование и прописных, и строчных букв;

курсив используется для обозначения операндов и параметров, при написании программы они должны быть заменены соответствующими значениями;

элементы, заключенные в квадратные скобки, являются необязательными и могут быть использованы или опущены по желанию программиста;

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

обязательные пробелы обозначены знаком подчеркивания “_”.

2. Язык программирования Quick Basic

2.1. Среда Qвasic

Словарь Qbasic  содержит около 200 ключевых слов, каждое из которых обозначает выполнение определенного действия. Многие ключевые слова вместе с дополнительными параметрами формируют операторы, из которых и состоит текст программы.

Для входа в среду Qbasic необходимо запустить файл tb.exe, который обычно находится в каталоге Qbasic . После успешного вызова системы верхняя строка экрана монитора содержит «меню» возможных режимов работы среды Qbasic .

Рис. 6.

Начнем с меню File (рис. 6). Для того, чтобы открыть это меню, нужно щелкнуть на нем мышкой (рис. 7). В нем есть пункты New Program - создать новую программу; Open Program... - открыть программу; Save и Save As... - сохранить и сохранить как, и Exit - остальные нам пока не понадобятся.

          

                Рис. 7.                                     Рис. 8.

В меню  Edit (рис. 8): Undo - отменить последний ввод; Cut - вырезать в буфер; Copy - копировать туда же; Paste - вставить оттуда; Clear - удалить все. 

Меню Search: Find - найти какие-нибудь символы, а Change - найти что-нибудь, а потом заменить (иногда довольно полезная вещь).

Меню Run: Start- запуск написанной вами программы с начала; Continue - продолжение выполнения программы после прерывания ее. Make EXE File... - позволяет сделать из *.bas файла настоящую EXE-версию вашего программы, чтобы ее можно было запускать на машине без Бейсика.

Чтобы переключиться на русский язык, надо нажать правый Ctrl и правый Alt, а чтобы на английский язык, то нажать надо на те же клавиши, только слева.

И еще - если вы запустили программу, а выхода из нее не предусмотрели, то нажмите Ctrl+Break. Чтобы при наборе кода перейти на новую строку нажмите на кнопку ENTER.

При необходимости сохранить написанную программу, нужно воспользоваться меню File -> Save As . Откроется следующее окно:

Рис. 9.

По рисунку 9 видно, как можно выполнить эту операцию. Немного про имена файла: В DOS'e, под которым и работает QBasic, имя файла должно состоять не более, чем из 8-ми символов, начиная с латинской буквы. Далее могут следовать буквы или циры. Расширение после сохранения Qbasic ставит такое - bas. Это облегчит поиск нужного файла. Несколько слов о форматах - верхний формат стоит по умолчанию. Он убыстряет работу с Qbasic , может быть и размер файла будет немного меньше. Но зато файлы, сохраненные таким образом, нельзя открыть ничем, кроме Qbasic . Во втором формате в файле просто будет текст написанной вами программы. Такой файл можно открывать через любой редактор. При необходимости найти уже сохраненную программу используется File -> Open Program... При этом открывается практически такое же окно. В большом окошке можно выбрать нужный файл. А можно ввести название файла в верхнем окне, и Бейсик откроет его.

Команда меню Edit позволяет перейти к режиму редактирования программы.

Команда Compile служит для компиляции, т.е. перевода программы на Qbasic в машинные коды. При выполнении этой

команды выдается сообщения о результатах прохождения компиляции. Если в программе допущены синтаксические ошибки и ошибки, вызванные внутренними несоответствиями, то выдается сообщение. Список основных сообщений об ошибках приведен в Приложении 1. Следует отметить, что компилятор обнаруживает ошибки в написании команд, ошибки несоответствия типов данных и т.п., и не может обнаружить ошибок в алгоритме решения задачи. Из этого следует, что успешное выполнение компиляции, к сожалению, не означает, что задача решена правильно.

Для выполнения программы служит команда меню Run, в случае успешного выполнения программы результат показывается в окне Run системы.

Программа на Qbasic представляет собой последовательность строк. Каждая из строк содержит номер (может отсутствовать) и информационную часть. Номер строки определяет порядок размещения строк в программе и используется для указания строк при передаче управления. Информационная часть состоит из одного или нескольких операторов (команд), а также может включать комментарий. Если строка содержит несколько операторов, то они разделяются двоеточиями. Строка программы может содержать до 255 символов.

Режимы работы в среде Qbasic  можно разделить на:

1) режим работы с текстом программы;

2) режим работы с файлом;

3) режим отладки.

Текстовый редактор предоставляет пользователю возможности набора и редактирования текста. С его помощью создаются тексты программы, которые Вы просто набираете с помощью клавиатуры. Для перемещения по тексту можно использовать клавиши со стрелками или специальные клавиши (PgUp, PgDn, HOME, END). Курсор показывает место ввода текста. С помощью клавиши DELЕTE удаляют знак, находящийся над курсором (в позиции курсора),  BACKSPASEудаляет знак, стоящий слева от курсора. С помощью клавиши INSERT можно установить режим замены или вставки.

В режиме отладки происходит трансляция программы с языка программирования в машинные коды (при этом исправляются ошибки), выполнение программы, исправление ошибок, тестирование программы. Обычно при отладке используются команды меню Compile и Run.

2.2. Имена

Имя служит для обозначения объектов. В программировании слово «имя» очень часто заменяется словом «идентификатор». При составлении алгоритма, а затем текста программы мы, естественно работаем с некоторыми данными. Для того, чтобы их отыскать, нам необходимо каждому данному (переменной, константе и т.д.) дать имя, т.е. идентифицировать его. Идентификатор в Qbasic  всегда начинается буквой  латинского  алфавита, за которой могут следовать буква, цифра и знак подчеркивания. В идентификатор не могут входить пробелы и специальные символы, в качестве идентификаторов нельзя использовать зарезервированные слова (см. Приложение 2).

При использовании алгебраических выражений следует помнить о том, что их запись в тексте программы несколько отличается от математической записи. Например, недопустимо при записи выражений опускать знак умножения, запись возведения в степень отличается от математической, невозможно использовать и устанавливать верхние и нижние индексы, выражение записывается в одну строку (числитель и знаменатель дроби разделяются знаком “/” и берутся в скобки, см. примеры 7, 8).

2.3. Основные элементы языка

программирования Qbasic. 

2.3.1.Алфавит.

Алфавит языка состоит из прописных и строчных букв латинского алфавита, цифр от 0 до 9, специальных знаков. Для записи комментариев могут использоваться буквы русского алфавита. Комментарий  задается  либо с помощью апострофа

« ‘», либо с помощью оператора REM.

2.3.2. Типы данных.

Тип в программировании – это множество, для которого оговорен некоторый набор операций над элементами. В Qbasic используются константы, переменные и массивы.

Константаэто такой объект программы, который сохраняет в ней постоянное значение. Тип и значение константы определяются ее записью. Числовые константы могут быть целочисленными (целое число в диапазоне от –32768 до 32767) и вещественными (могут быть с обычной точностью – 6 знаков после запятой  и с двойной точностью – 16 знаков после запятой). Строковая константа – это заключенная в кавычки последовательность символов, при ее записи можно использовать любые символы.

Существует специальный оператор для описания констант:

CONST имя переменной=константа

Если переменная описана как константа с помощью этого оператора, Qbasic не позволит случайно изменить ее значение.

Переменнаяэто такой объект программы, который в процессе выполнения программы может иметь различные значения. Переменная характеризуется именем, типом и значением. Для обозначения переменных используются имена, которые не должны повторяться в пределах одной программы. Требования к именам переменных рассмотрены в разделе

      Переменные, также как и константы, могут быть: 1) целые; 2) вещественные; 3) логические; 4) символьные.

Если в переменной хранится число, то это числовая переменная, если в переменной хранится слово или фраза, то это строковая (символьная) переменная.

Тип переменной может быть задан:

1) явно (когда тип определяется последними символом в имени переменной: % - переменная целого типа, ! - переменная с обычной точностью, # - переменная с двойной точностью, $ - строковая переменная);

2) с помощью оператора DEF…, который указывает, что тип переменной будет определяться по первой букве имени переменной;

3) по умолчанию. Если тип переменной не задан, то она считается переменной с обычной точностью. Начальные значения числовых переменных устанавливаются по умолчанию равными нулю, а строковых  переменных - пустой строке.

Содержимое хранится в переменной до тех пор, пока оно не будет специально изменено.

Для работы с целыми числами в языке Basic служат следующие операторы:

1) Оператор Y = INT(X) округляет до целого дробное число X или результат деления A/B     Y = INT(A/B).

То же самое действие выполняет деление \ :    X = A \ B

Например:        INT(3.5) = 3

                         X = INT(8/3) = 2

                         X = 8 \ 3 = 2

2) Оператор MOD делит одно число на другое  и возвращает только остаток деления:   A  MOD  B.

     Этот оператор вычисляет остаток от деления:

Например:         14 MOD 5 = 4

                          11 MOD 4 = 3

                          17 MOD 3 = 2

                          15 MOD 2 = 1

С помощью этого оператора можно определять кратность числа какой-то величине, в том числе -  чётность или нечётность числа.

Массивы. Массив - это набор объектов одного типа, у каждого из которого есть свой индекс (номер). Массив представляет собой последовательность переменных. Отдельные элементы этой последовательности называются элементами массива. Каждый массив имеет имя и размерность. Имена массивов и их тип определяются аналогично простым переменным. Все элементы массива должны иметь один и тот же тип. Отдельный элемент массива обозначается именем массива и списком индексов. Список индексов должен содержать столько индексов, сколько измерений имеет соответствующий массив.

Для объявления массива используется оператор DIM:

DIM_имя массива (размерность)[,имя массива (размерность)…]

Имя массиваэто любое имя, присвоенное массиву. Размерность это числовое выражение, значение которого должно быть положительным числом, целая часть которого определяет максимальное значение соответствующего измерения. Минимальным значением измерения может быть либо 0, либо 1.

Например:     DIM  M(25),  MATR$(4,6)

По этому оператору в памяти ЭВМ будет отведено место под одномерный массив из 25 элементов с именем М с данными целого или действительного типа и под двумерный массив из 4 строк и 6 столбцов (всего 24 элемента) с именем MATR$ с данными строкового типа.

Например:     M(10)=25

              MATR$(2,3)=”A

По этим двум операторам десятому элементу массива с именем М будет присвоено значение 25, а элементу во второй строке третьего столбца массива MATR$ будет присвоено значение А.

2.3.3. Некоторые директивы языка.

Директива REM или апостроф ' - обозначает комментарий к программе или команде. Вся строка (как правило, это поясняющий текст), что идёт после знака комментария, не исполняется. Этот знак используется при отладке программ.

Оператор CLS - оператор очистки экрана. С него часто начинаются программы, работающие в текстовом режиме. В результате выполнения очистки экрана информация, находящаяся на экране, стирается, курсор размещается в верхнем левом углу экрана. Очистить экран можно в любой момент ввода данных с клавиатуры или во время выполнения программы.

Директива END означает конец программы. Применение этой команды в конце программы не является обязательным.

 

2.3.4. Выражения

Выражение задает порядок выполнения действий над элементами данных и состоит из операндов, скобок и знаков операций. Операндами могут быть константы, переменные, элементы массивов, обращения к функциям. Операции определяют

действия, которые надо совершить над операндами. При записи числовых выражений могут быть использованы арифметические и логические операции, а также операции сравнения. В строковых выражениях используется только одна операция – операция сцепления (+). Порядок выполнения операций в выражении определяется их приоритетами.

Арифметические операции в порядке их приоритета:

      вычисление выражений в скобках;

      вычисление функций;

      ^  - возведение в степень;

      -   - изменение знака;

      *  - умножение;

      /  - деление;

      \  - деление нацело;

      MODопределение остатка от деления;

     +  - сложение;

     -  - вычитание.

Операции сравнения (все они имеют одинаковый приоритет):

    =  - равно;

    < > (или > <) - не равно;

    <  - меньше;

    >  - больше;

    < = (или = <) - меньше или равно;

    > = ( или = >) - больше или равно.

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

Логические операции в порядке приоритета:

       NOT - логическое  отрицание (не);

       AND - конъюнкция, логическое   умножение (и);

       OR  -  дизъюнкция, логическое   сложение (или).

       XOR - исключающая дизъюнкция.

Например:   IF (J>3)_AND_(I>3) THEN MAS(I,J)=1

после выполнения этого оператора элементу массива М, находящемуся в I строке и J столбце присваивается значение 1, если переменные (индексы элементов массива) J и I имеют значение больше 3.

Вычисление выражений выполняется в соответствии с приоритетом операций: 1) вычисляются значения функций, 2) арифметические операции в соответствии с их приоритетом, 3) операция сцепления, 4) операции сравнения, 5) логические опе-

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

Операндами символьных выражений являются строки символов. Для этих выражений определена лишь одна операция - конкатенация (соединение) строк. Знак операции - "+", а результат операции - новая строка символов. Например, "Оболочка  "+"Windows" дает результат - " Оболочка Windows".

Выражение любой сложности должно записываться в одну строку.

Например:   выражение   

в Qbasic необходимо записать следующий оператор:

                   D=24 + (F1*SIN(X)^2) / (2*A - 4*F1)

2.3.5. Функции

Встроенные функции. Для облегчения работы программиста наиболее распространенные алгоритмы входят в состав языка программирования в виде встроенных функций (например, вычисление тригонометрических функций). Такие функции называются встроенными и являются частью системы Бейсик. Кроме встроенных функций, пользователь может определить свои собственные функции, которые можно использовать только в рамках одной программы. Встроенная функция имеет определенное имя, вслед за именем функции записываются в скобках аргументы функции. Если функция имеет несколько аргументов, то они разделяются запятыми. Далее в методических указаниях при описании встроенных функций «х» обозначает любое числовое выражение, «х$» - строковое выражение, «n» и «m» – выражения целого типа.

Основные функции Qbasic:

ABS(x) - абсолютное значение х;

INT(x) - наибольшее целое, не превосходящее х;

SGN(x) - знак х, эта функция равна 1 при х>0, равна 0

               при x=0, равна –1 при x<0;

SQR(x) - квадратный корень из х;

SIN(x) - вычисление синуса угла х (х в радианах);

COS(x) - вычисление косинуса угла х (х в радианах);

TAN(x) - вычисление тангенса угла х (х в радианах);

ATN(x) - вычисление арктангенса числового выражения х;

EXP(x) - вычисление функции ехр;

LOG(x) - вычисление натурального логарифма;

RND- генерация случайного числа между 0 и 1.

С помощью функции RND удобно заполнять массив (т.е. присваивать значения элементам массива), значения элементов которого лежат в заданном интервале.

1) A(I)=RND - значения элементов массива А будут действительными числами  в интервале от 0 до 1;

2) S(I)=RND*60 - значения элементов массива S будут действительными числами в интервале от 0 до 60;

3) D(I)=RND*50+32 - значения элементов массива D будут действительными числами  в интервале от 32 до 82;

4) B(I)=INT(RND*110)-70 - значения элементов массива В будут целыми числами  в интервале от -70 до 40.

Функции пользователя. Функция пользователя определяется внутри программы, которая использует эту функцию. Общий вид оператора определения функции пользователя:

DEF_FNимя [(параметр[,параметр]…]=выражение

Имя вместе с FN определяет имя функции, оно задается аналогично имени переменной и используется для обращения к функции. Параметр, который используется в определении функции, не связан с переменными программы, имеющими те же имена. Значения аргументов, заданных в обращении к функции, присваиваются соответствующим параметрам и используются при вычислении выражения. Выражение определяет функцию. Определение функции должно предшествовать ее использованию.

Пример 4:

DEF FNF1(X)=X^2+SQR(X)

INPUT Y

OTV=FNF1(Y*2)+ SQR(Y)

В результате выполнения этих операторов переменной OTV присваивается значение, равное . Значение переменной Y вводится с клавиатуры.

3. Операторы.

Операторпредписание в данном языке программирования, предназначенное для задания некоторого завершенного действия в процессе переработки информации на ЭВМ. Каждый оператор представляет собой законченную фразу языка и определяет некоторый этап обработки данных.

3.1. Оператор присваивания.

Одним из основных оператором языка является – оператор присваивания. Оператор имеет вид:

Имя переменной = выражение

Выражение вычисляется и его значение присваивается переменной с соответствующим именем.

Присвоить значение переменной можно с помощью оператора READ. Этот оператор является парным, то есть он может использоваться только вместе с оператором DATA (см п. 3.7.2).

Пример 5:  запись р = р + 3 означает, что к прежнему значению переменной р прибавляется три и этой же переменной присваивается ответ; после выполнения этого оператора значений  р  увеличится на три.

3.2. Операторы управления.

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

Оператор безусловного перехода  позволяет передавать управление любой строке программы. Общий вид оператора безусловного перехода:

GOTO_номер строки

Номер строкиэто метка перед строкой, первому оператору которой будет передано управление после выполнения оператора GOTO.

В качестве метки можно взять любое число, не обязательно совпадающее с номером строки, так как в Qbasic 4.5 строки можно не нумеровать. Двух одинаковых меток в одной программе быть не должно. Исполнение программы будет продолжено с той её части, которая начинается с указанной метки.

Условный оператор   выбирает то или иное действие, или группу действий в зависимости от истинности или ложности условия выбора. Условный оператор позволяет реализовать алгоритм с ветвлением. Этот оператор имеет вид:

IF_выражение - условие _THEN_группа операторов

 [_ELSE_группа операторов]

Выражение - условие – логическое соотношение, группа

операторовэто оператор или последовательность операторов, разделенных двоеточием, или номер строки, первому оператору которой должно быть передано управление. Часть операторов, начиная с ключевого слова ELSE, может быть опущена.

Если выражение-условие, принимает значение «истина», то выполняется группа операторов, следующая за THEN. Когда значение выражения-условия ложно, то выполняется группа операторов за  ELSE (операторы из THEN в этом случае не выполняются). Если в операторе опущена часть ELSE, то при невыполнении условия управление передается оператору, следующему за оператором IF.

Например:

          IF R>0 THEN SP=SP+1 ELSE SO=SO+1

В этом примере при R>0 (истинность условия) выполняется оператор присваивания SP=SР+1; при R£0 (ложность условия) выполняется оператор SO=SO+1.

Операторы IF могут быть вложенными, при этом каждый ELSE соответствует ближайшему предыдущему THEN. Формат записи вложенных условных операторов:

IF логическое выражение THEN  группа операторов 1

[ ELSE  IF  логическое выражение THEN  

         группа операторов 2  ]

……………………..

[ ELSE

        группа операторов n  ]

END IF

Пример 6. Составить программу вычисления функции:

1 вариант:                                        2 вариант:

IF Z<0 THEN                                     IF Z<0 THEN    

   F=(Z-5)/Z^2                                         F=(Z-5)/Z^2

ELSE  IF Z<=1 THEN                       IF Z<=1 AND Z>=0 THEN  

   F=Z^2-1                                               F=Z^2-1

ELSE                                                   IF Z>1 THEN   

   F=1/(1-Z)                                             F=1/(1-Z)

END  IF                                              PRINT "F=";F

PRINT "F=";F                                    END

END

Пример 7:

IF R>0 THEN  IF Р>0 THEN SP=SP+1 ELSE SO=SO+1

В этом примере:

при  R>0 и  Р>0  выполняется оператор SP=SР+1;

при  R> 0 и Р£0  выполняется оператор SO=SO+1;

при R£0 выполняется  оператор, следующий за оператором IF.

Пример 8:

          IF R>0 AND А=5 THEN SP=SP+1 ELSE SO=SO+1

В этом примере:

при  R>0 и  А=5  выполняется оператор SP=SР+1;

при  R<= 0 или А<>5  выполняется оператор SO=SO+1;

3.2.3. Оператор множественного выбора

Формат этого оператора:

SELECT CASE арифм_выражение или симв_выражение

CASE условие 1

<  группа операторов 1>

CASE условие 2

< группа операторов 2>

……………….

[ CASE ELSE

< группа операторов n >]

END SELECT

Условие оператора CASE можно указать в одном из трех форматов:

  1.  CASE константа 1, константа 2, …
  2.  CASE IS знак_отношения константа
  3.  CASE константа 1 TO константа 2

Константы в условии должны быть того же типа, что и выражение в SELECT CASE.

Алгоритм этого оператора заключается в следующем:

1) вычисляется значение выражения, записанного в SELECT CASE; 2) проверяется, удовлетворяет ли это значение одному из указанных в CASE условий; 3) если значение удовлетворяет какому-то условию, выполняется блок операторов, следующий за данным CASE.

3.3. Операторы цикла.

Цикл это команда повторить многократно указанную последовательность команд алгоритмического языка. Когда известно количество повторений некоторого действия или группы действий, мы говорим о конструкции цикла со счетчиком (или цикла с параметром). В том случае, когда количество повторений указанных действий заранее неизвестно, а зависит от некоторых условий, мы говорим о конструкции цикла с условием выхода.

Циклы с параметром FOR  имеет вид:

FOR_переменная = начальное  значение_TO_конечное значение[_STEP_приращение]

Операторы тела цикла

 NEXT_[переменная]

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

(приращение может быть отрицательным или положительным действительным или целым числом). Если шаг не задан, то по умолчанию значение приращения равно +1. Значения выражений, определяющих начальное, конечное значения, приращения не изменяются в процессе выполнения цикла. Каждому оператору FOR  должен соответствовать оператор NEXT.

В общем случае после выполнения оператора FOR  начинают выполняться строки программы, следующие за ним, пока не будет встречен оператор NEXT. По оператору  NEXT текущее значение управляющей переменной увеличивается на значение приращения. Если новое значение управляющей переменной оказывается больше, чем конечное значение, то цикл заканчивается, и выполнение программы продолжается с оператора, следующего за оператором NEXT. Если же новое значение управля-

ющей переменной не превосходит конечного значения, то управление передается оператору, следующему за оператором FOR, т.е. на повторное выполнение цикла. После завершения цикла управляющая переменная равна последнему значению, увеличенному на шаг приращения. Возможно, что шаг  <0, но тогда начальное значение будет больше чем, конечное значение.

Пример 8: Заполнить одномерный массив из пятнадцати элементов целыми случайными числами, значения которых лежат в интервале от –35 до 120, найти количество отрицательных элементов и их сумму.

DIM В(15)

SUM=0:  KOL=0

FOR I=1 TO 15

    В(I)=INT(RND*155)-35

    IF B(I)<0 THEN SUM=SUM+B(I): KOL=KOL+1

NEXT I

В этом примере операторы присваивания SUM=0 и KOL=0 служат для задания начальных значений суммы и количества отрицательных элементов.

Циклы могут быть вложенными один в другой. Обязательное условие вложения циклов:  цикл вложенный (внутренний) должен целиком помещаться внутри внешнего цикла.

FOR X=A TO B STEP H

...................

FOR Y=С TO D STEP N

……………

NEXT   Y

……………

NEXT  X

Циклы с предусловием начинается оператором WHILE:

WHILE_числовое выражение

Операторы тела цикла

                                WEND

Числовое выражениелюбое числовое выражение. Заканчивается выполнение цикла с предусловием оператором WEND, который задается без операндов. При выполнении цикла с пред-

условием, вычисляется значение выражения в оператореWHILE. Если это значение «истина», то выполняются операторы цикла, следующие за оператором WHILE, до тех пор, пока не будет встречен оператор WEND. После этого управление передается оператору WHILE. Работа цикла будет завершена тогда, когда логическое выражение в операторе WHILE будет «ложь», в этом случае управление будет передано оператору, следующему за оператором WEND.

Пример 9:  Вычислить функцию y=sin(x) при изменении x от 0,1 до 2 с шагом 0,01, найти значение х, соответствующее максимуму функции на заданном интервале.

X=0.1

MAX= - 1000

XMAX=0.1

WHILE   X<=2

    Y=SIN(X)

    IF Y>MAX THEN MAX=Y: XMAX=X

    PRINT   X, Y

    X=X+0.01

WEND

PRINT MAX, XMAX

END

Циклы с постусловием  начинается оператором REPEAT:

                         REPEAT

Операторы тела цикла

UNTIL_числовое выражение

Числовое выражениелюбое числовое выражение. При выполнении цикла c постусловием, сначала выполняются операторы тела цикла и вычисляется значение выражения в операторе UNTIL. Если это значение «ложь», то выполняются операторы цикла, следующие за оператором REPEAT, до тех пор, пока не будет встречен оператор UNTIL. Работа цикла будет завершена тогда, когда логическое выражение в операторе UNTIL будет ««истина», в этом случае управление будет передано оператору,

следующему за оператором UNTIL.

Пример 10: Вычислить функцию y=sin(x) при изменении x от 0,1 до 2 с шагом 0,01, найти значение х, соответствующее максимуму функции на заданном интервале.

X=0.1

MAX= - 1000

XMAX=0.1

REPEAT

    Y=SIN(X)

    IF Y>MAX THEN MAX=Y: XMAX=X

    PRINT   X, Y

    X=X+0.01

UNTIL   X>2

PRINT MAX, XMAX

END

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

Примером использования вложенных циклов можно считать работу с двухмерными массивами (матрицами).

Пример 11: Задать значения элементов двумерного массива и распечатать его. В данном примере внешний цикл имеет управляющую переменную I, внутренний цикл имеет управляющую переменную J.

DIM А(5,8)

FOR I=1 TO 5

  FOR J=1 TO 8

     А(I,J)=INT(RND*200)-50

     PRINT   А(I,J);

  NEXT J

PRINT

NEXT I

END

3.4. Прекращение выполнения и

завершение программы

Для прекращения выполнения программы используется оператор STOP, который не содержит операндов. Этот оператор

рекомендуется также использовать при отладке программы.

По оператору END закрываются все файлы. Наличие этого оператора в конце программы не является обязательным, если не используются подпрограммы. В случае его отсутствия Qbasic считает, что программа заканчивается после последней строки. Но END весьма полезен при необходимости прервать выполнение программы. Оператор END может и не быть последним оператором программы. Текст может продолжаться и после данной команды, но выполнение ее будет прервано сразу при встрече END.

3.5. Подпрограммы

Часто при выполнении программы в разных ее местах должен выполняться один и тот же алгоритм, который записывается группой операторов. Эту группу операторов можно оформить отдельно в виде подпрограммы и передавать ей управление по мере необходимости. В одном программе может быть несколько подпрограмм, подпрограмма в свою очередь может обращаться к другой подпрограмме.

Передачу управления подпрограмме выполняют операторы GOSUB:

GOSUB_номер строки

Для возврата из подпрограммы используется оператор:

RETURN

Номер строки – метка строки, содержащий первый оператор подпрограммы. По оператору GOSUB управление передается подпрограмме. Возврат к продолжению выполнения программы осуществляется по оператору RETURN, который является последним оператором в подпрограмме. Возврат  осуществляется на  оператор, следующий за оператором GOSUB. При использовании подпрограмм наличие оператора END  в основной программе обязательно.

Пример 12: Задать и распечатать значения элементов  в матрицах F(5,3) и G(6,7).

DIM  A(6,7)

PRINT “    MASSIV F(5,3)”

N=5: M=3

GOSUB 100

PRINT “    MASSIV G(6,7)”

N=6: M=7

GOSUB 100

END

100: REM   подпрограмма

FOR  I=1 TO N

  FOR  J=1 TO M

     А(I,J)=INT(RND*200)-50

     PRINT A(I,J);

  NEXT J:  PRINT:  NEXT I

RETURN

3.6. Организация ввода.

Оператор INPUT позволяет выполнять ввод с клавиатуры данных любого типа и присвоение их значений переменным, объявленным в программе. Данные, вводимые с клавиатуры последовательно присваиваются переменным и элементам массивов, которые заданы в операторе INPUT. Общий вид оператора:

INPUT [;][«подсказка»;]переменная[,переменная]

Подсказкастроковая константа, которая будет выведена на экран с вопросительным знаком в конце, задается для пояснения, какие данные требуется ввести. В случае отсутствия операнда подсказка на экран выводится вопросительный знак. Переменная – имя переменной или элемента массива, которым будет присвоено введенное значение. Символ «;» после слова INPUT отменяет перевод курсора на следующую строку после завершения ввода данных, последующий вывод данных на экран будет располагаться на той же строке.

Пример 13:

INPUT «Размерность массива»; N

После выполнения этой команды на экране в окне Run появится знак «?». Для продолжения выполнения программы, частью которой является этот оператор, необходимо с клавиатуры ввести значение переменной N и нажать ENTER.

Оператор READ позволяет присвоить значение переменной с помощью оператора READ. Этот оператор является парным, то есть он может использоваться только вместе с оператором DATA.

При написании программы с помощью оператора DATA можно описать список постоянных значений, используемых в этой программе, по оператору READ эти значения из списка присваиваются переменным или элементам массивов. Общий вид этих операторов

DATA_ константа [,константа]…

READ_ переменная [,переменная]…

Константалюбая константа, причем строковые константы можно не заключать в кавычки. Переменнаяэто имя переменной или элемента массива. Операторы DATA задаются в любом месте программы независимо от места задания READ.  При выполнении оператора READ константы последовательно выбираются из списка в операторе DATA, которых может быть несколько, и присваиваются переменным и элементам массивов, указанным в операторе READ. Очередной оператор READ выбирает константы не с начала списка, а с места в списке, на котором остановился предыдущий оператор READ. Неиспользованные константы из списка DATA игнорируются, а случай, когда списка констант недостаточно для всех переменных оператора READ,  является ошибкой.

Оператор RESTORE позволяет несколько раз прочитать одни и те же данные из блока данных. Он имеет формат:

RESTORE номер строки или метка

где номер строки должен указывать на оператор DATA.

Если не указан номер строки, следующий после RESTORE, оператор READ начнет чтение с первой константы блока данных. Блок данных удобен в тех случаях, когда несколько раз используется одна и та же последовательность констант.

Пример 14:          DATA 3, 4, 23 ,”ABC”

                      READ A, D

                      READ F(6), IM$

После выполнения этих операторов будут выполнены следующие присвоения: А=3;  D=4;  F(6)=23;  IM$=ABC

Оператор RANDOMIZE  служит для генерации случайных чисел. Он имеет вид:

RANDOMIZE_база

Если база не задана, то выполнение программы приостанавливается, на экран выдается запрос о задании базы генерации. Этот оператор и функция генерации случайных чисел RND широко используются при задании элементов массивов (см. пример 8). Возможно использование функции RND в программе без оператора RANDOMIZE, тогда при неоднократном выполнении программы будет выдаваться одна и та же последовательность случайных чисел.

3.7. Организация вывода.

В общем случае процесс выполнения программы можно разбить на три этапа: ввод исходных данных, их обработка и вывод результатов. Результаты работы программы можно вывести на экран монитора, на принтер или записать в специально организованный файл.

Вывод данных.

Оператор PRINT обеспечивает вывод числовых и строковых данных на экран дисплея. Числовые данные отображаются на экране в двух  формах:

- в экспоненциальной форма или в форме с порядком, например, число 0,25 будет представлено в виде 25Е-2;

- в форме десятичных чисел с десятичной точкой вместо запятой: 0.549.

Форма отображения зависит от диапазона их значений. Строковые данные выводятся на экран без преобразования. Оператор PRINT USING осуществляет вывод данных по шаблону, заданному программистом.

На экран дисплея информация выводится строками длиной 80 символов. Количество строк, размещающихся на экране, равно 25. Строки нумеруются сверху вниз от 1 до 25, а столбцы – слева направо от 1 до 80. Положение символа на экране задается номерами строки и столбца, на пересечении которых он находится.

Общие правила вывода данных на экран. Вывод информации на экран начинается с позиции, в которой находится курсор. Данные заполняют строку слева направо, курсор при этом автоматически продвигается. Чтобы обеспечить возможность вывода данных, начиная с любой позиции экрана, используется оператор:

LOCATE_[строка][,[столбец][,[курсор][,[начало][,конец]]]]

Строкачисловое выражение от 1 до 25, задающее номер строки, в которую будет перемещен курсор. Столбецчисловое выражение, задающее номер столбца, в который будет перемещен курсор. Курсорцелое число 1 (курсор будет виден на экране) или 0 (курсор будет невидимым). Начало, конецчисловые выражения, задающие размеры курсора. Основное назначение данного оператора – перемещение курсора в позицию, начиная с которой будет осуществляется вывод данных.

Для установки текстового или графического режима работы дисплея используется оператор:

SCREEN_режим.

Значение режим определяет текстовый (0) или графический (1, 2 или 9) режимы работы с выводимыми результатами.

Оператор PRINT предназначен для вывода на экран значений, перечисленных в списке выражений:

PRINT_[выражение[,выражение]]…[;]

Выражениелюбое числовое или строковое выражение.

Для разделения выражений используют запятую, пробел или точку с запятой. Позиция первого выводимого данного определяется положением курсора, а последующих данных– знаком пунктуации, заданным перед соответствующим элементом. Так запятая вызывает размещение очередного элемента с первой позиции следующей зоны (по умолчанию строка разбита на зоны по 14 позиций каждая). Если элементу предшествует пробел или точка с запятой, то он размещается сразу после предыдущего. Если очередное значение не помещается в текущей строке, то оно будет продолжено с начала следующей строки. Точка с запятой, указанная в конце оператора, отменяет переход на следующую строку после завершения вывода данных.

Вместо  ключевого  слова  PRINT  в  операторе можно использовать знак «?». Если при работе в среде Qbasic 4.5 вместо слова PRINT ставить знак вопроса "?", а затем нажать Enter, то слово PRINT само появится на экране.

Просто оператор PRINT без текста и знаков означает  переход  в следующую строку.

В результате выполнения оператора значения выражений, указанные в списке выражений, выводятся на экран. Если список выражений опущен, то выводится пустая строка.

Оператор PRINT  TAB устанавливает позицию при выводе данных. Могут использоваться встроенные функции TAB и  SPC, которые задаются в списке выражений. Эти функции имеют формат TAB(n) – осуществляет переход к n-ой позиции строки, SPC(n) – выводит на экран n пробелов.

Пример 15: Вывести на экран значения переменной Х с первой позиции и тригонометрических функций Sin(X) с 15-ой позиции, Cos(Х) с 30-ой позиции.

PRINT SPC(2); ”X”; TAB(19); ”SIN”; TAB(34); ”COS”

PRINT

FOR X=0.1 TO 1.5 STEP 0.1

    PRINT X; TAB(15); SIN(X); TAB(30); COS(X)

NEXT X

Оператор PRINT USING позволяет управлять формой представления выводимых данных, во всем остальном он идентичен оператору PRINT. Оператор имеет формат:

PRINT_USING шаблон [_шаблон]…; выражение [,выражение]…[;]

Шаблон - строковая константа или переменная, определяющая форму вывода значений. В числовом шаблоне используются символы «#» для задания количества символов в числе и знак «.» для задания положения десятичной точки. Выражение - любое числовое или строковое выражение.  

Например:

PRINT USING”####.###”;Y

Для вывода данных на принтер слово PRINT надо  заменить  на ключевое слово LPRINT. Программа будет выполнена правильно, и вся информация, предназначенная для вывода на экран, будет передана на устройство печати.

3.8. Графика  языка.

Построение графиком можно осуществить и в среде Qbasic. Существуют специальные операторы графики и функции, позволяющие строить изображения на экране дисплея.

Оператор задания  графического режима SCREEN рассматривался в предыдущем разделе.

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

        С помощью графических операторов в Qbasic  можно построить  любые  графики, гистограммы, круговые  диаграммы.

3.9. Работа с файлами.

Файлы с данными (результатами работы программы) не следует путать с файлами, в которых записаны тексты программы. Файлы, содержащие программы на Бейсике обычно имеют расширение BAS, а файлы с результатами – DAT. В зависимости от способа организации данных различают файлы с последовательным доступом (данные размещаются в порядке их поступления в файл) и произвольным доступом (доступ к данным может быть осуществлен в любом порядке, независимо от того, в какой последовательности данные были помещены в файл). Работа с файлами с произвольным доступом в методических указаниях не рассматривается. Обработка файлов с данными сводится к выполнению четырех основных операций: 1) открытие файла; 2) чтение данных из файла или 3) запись данных в файл; 4) закрытие файла.

Открытие файла осуществляется с помощью оператора OPEN, который имеет формат:

OPEN_спецификация файла_[FOR_тип обработки] AS[#]номер файла_[LEN=длина записи]

Спецификация файла определяет имя файла и устройство, на котором он расположен. Номер файла задается целочисленным выражением, которое может принимать значение от 1 до 15. Заданный номер должен использоваться при всех последующих обращениях к файлу в операторах ввода-вывода. Тип обработки определяет организацию данных и указывает направление передачи данных (ввод или вывод), может принимать следующие значения: INPUT - последовательный файл для ввода данных, OUTPUTпоследовательный файл для вывода данных, APPENDпоследовательный расширяемый файл (используется только для вывода). Если тип обработки не указан, то предполагается файл с произвольным доступом. Длина записи задается целочисленным выражением, операнд используется только при открытие файла с произвольным доступом.

Для записи данных в последовательный файл используются операторы PRINT и PRINT USING. В этом случае они будут иметь формат:

PRINT_#номер файла,[выражение[,выражение]]…[;]

PRINT_#номер файла,_USING_шаблон[_шаблон]…; вы-

ражение [,выражение]…[;]

После завершения работы с файлом необходимо его закрыть оператором CLOSE:

CLOSE_[[#]номер файла[,[#]номер файла]…]

В результате выполнения этого оператора закрываются все перечисленные в операторе файлы, если не один операнд не указан, то будут закрыты все открытые к этому моменту файлы.

Пример 16:   1) OPEN_c:\rez.dat”_for_output_as#1

           этот оператор открывает файл с именем rez и расши-рением dat на диcке С для ввода данных;

                     2) PRINT #1,NOM(I)

          – этот оператор записывает в этот файл I-ый элемент массива NOM.

Для того чтобы прочитать данные последовательно из файла используется операторы:

 INPUT_#номер файла[,переменная][,переменная]

         LINE_INPUT_#номер файла, переменная

При выполнении этих операторов символы последовательно выбираются из файла и интерпретируются как строковое или числовое значение. Оператор LINE INPUT вводит только строки символов. При чтении файла с диска необходимо предусмотреть проверку конца файла с помощью функции EOF, которая имеет формат:

EOF(номер файла)

Значение этой функции может быть использовано в операторе IF для принятия решения о дальнейшем ходе выполнения программы.

Пример 17:

OPEN “a:\dannye.dat” FOR INPUT AS #2

20 INPUT #2,G$

PRINT G$

IF EOF(2) THEN CLOSE #2

GOTO 20

В результате выполнения этих операторов данные символьного типа будут считаны из файла dannye.dat, находящегося на диске  а, и выведены на экран монитора.

Информацию, которая была записана в файл  в среде Qbasic, можно обрабатывать другими программами, например, системой электронных таблиц Excel. Эта система позволяет достаточно просто строить, редактировать и печатать графики и диаграммы различных типов. Для того чтобы обработать в Excel файл, созданный с помощью программы на Qbasic необходимо:

  1.   загрузить Excel;

в меню выбрать команду Файл, в ней команду Открыть;

в появившемся окне открытия файлов выбрать Все файлы и открыть нужный файл;

в появившемся окне «мастер текстов» выбрать команду с разделителем и нажать кнопку Далее;

в появившемся окне выбрать пробел в качестве символа-разделителя и нажать кнопку Далее;

в появившемся окне выбрать общий формат и нажать кнопку ОК

когда файл откроется, выбрать из меню команду Правка, в ней команду Заменить и заменить точки на запятые, т.к. в Excel в качестве разделителя целой и дробной части используется запятая.

Далее можно сохранить полученный файл в формате Excel и выполнить построение необходимых графиков.

4. Базовые алгоритмы.

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

  1.  задание массива (одномерного и двумерного) с  помощью  функции случайных чисел (примеры 7, 13, 16);

алгоритм вычисления суммы чисел (пример 13);

подсчет количества чисел, удовлетворяющих заданному        условию (пример 13);

поиск минимума (примеры 14, 16);

поиск максимума (пример 16);

замена местами содержимого двух ячеек (пример 17).

5. Советы по выполнению  задания.

  1.  Внимательно прочитайте задание и попытаетесь осмыслить задачу.

Напишите, что известно и что требуется получить.

Опишите данные, которые будут необходимы при решении: массивы, переменные для циклов и т.д.

Найдите базовые алгоритмы, на которых будет строиться  решение.

Пишите алгоритм сначала укрупненными блоками, а затем уже их детализируйте.

При работе на ЭВМ необязательно набирать сразу весь текст программы. Можно разбить программу на логически завершенные блоки и отлаживать ее постепенно.

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

Помните, что необходимо проверить все ветви программы, моделируйте при отладке программы различные ситуации. Цель тестирования – убедиться в том, что программа функционирует, как следует, и решает поставленную задачу.

  1.  Примеры  решения  задач.
6.1. Задачи  на  вычисление  функций  и  сумм.

1.  Вычислить функцию:

                                       
        при  изменении    от  0   до      с   шагом  .

       PRINT : PRINT : PRINT

       PI = 3.1416

       FOR X = 0 TO 2 * PI STEP .2 * PI

       Y = 1 - X

       Y1 = COS(X)

       IF Y = 0 OR Y1 = 0 THEN PRINT "DEL. NA 0": GOTO 10

       Z = SIN(2 * X) / Y + 1 / Y1 ^ 2

       PRINT USING "    X=#.##"; X;

       PRINT USING "    Z=###.###"; Z

       10 : NEXT X

    X=0.00      Z=    1.000

    X=0.63      Z=    4.083

    X=1.26      Z=    8.131

    X=1.88      Z=  11.197

    X=2.51      Z=    2.160

    X=3.14      Z=    1.001

    X=3.77      Z=    1.180

    X=4.40      Z=  10.156

    X=5.02      Z=  10.783

    X=5.65      Z=     1.739

    X=6.28      Z=     1.001

 

      2.   Вычислить  сумму:   .
         CLS
         PRINT :  PRINT :  PRINT
         S = 0
         FOR  I = 1 TO 25
         S1 = 0
         FOR  J = 1 TO I  
      IF I ^ 2 - J <> 0 THEN GOTO 20
      PRINT " DELENIE  NA  0  PRI  I="; I; " I    J="; J: GOTO 10
20 :    Y = (I ^ 2 + J ^ 3) / (I ^ 2 - J):  S1 = S1 + Y
10 :    NEXT  J
         S = S + S1
         NEXT   I
         PRINT "    S="; S
                         
DELENIE  NA  0  PRI   I= 1   I    J= 1
S= 1972.683
  1.  Задачи  с  использованием  массивов.

6.2.1.Задание и распечатка массивов.

1. Элементы массива задаются с клавиатуры:

  CLS

  DIM A(10)                                                       

  FOR  I = 1 TO 10

    INPUT A(I);

NEXT I

  PRINT : PRINT : PRINT: PRINT "        MASSIV A(10) "

 PRINT : PRINT "        ";

  FOR  I = 1 TO 10

    PRINT A(I); : NEXT  I

 

? 2  ? 45 ? 67 ? 34 ? 16 ? 29 ? 30 ? 45 ? 16 ? 13

                               MASSIV  A(10)

  1.  45  67  34  16  29  30  45  16  13

2. Элементы массива задаются формулой  .                   

       DIM B(20)

       PRINT  : PRINT : PRINT:  PRINT "        MASSIV  B(20) "

       PRINT  : PRINT "     ";

       FOR   I = 1 TO 20

         Y = I ^ 2 - 4

         IF Y <= 0 THEN   B(I) = 10: GOTO 10

         B(I) = (I - 2) / Y^0.5

10 :    PRINT "     B(";:   PRINT USING "##"; I;

         PRINT ") =";:   PRINT USING "##.##"; B(I);

         IF I MOD 4 = 0 THEN PRINT : PRINT "     ";

       NEXT I          

                                   MASSIV  B(20)

B(  1)=10.00    B(  2)=10.00    B(  3)=  0.45    B(  4)=  0.58

B(  5)=  0.65    B(  6)=  0.71    B(  7)=  0.75    B(  8)=  0.77

B(  9)=  0.80    B(10)=  0.82    B(11)=  0.83    B(12)=  0.85

B(13)=  0.86    B(14)=  0.87    B(15)=  0.87    B(16)=  0.88

B(17)=  0.89    B(18)=  0.89    B(19)=  0.90    B(20)=  0.90

3. Элементы массива вводятся из блока DATA:

 DIM C(20)

 DATA 12,23,24,75,45,15,18,31,45,86

 DATA 2,34,90,54,64,23,27,45,72,74

 PRINT : PRINT : PRINT

 PRINT "                  MASSIV C(20) "

 PRINT : PRINT "     ";

 FOR  I = 1 TO 20

   READ C(I)

   PRINT USING "####"; C(I);

   IF I MOD 10 = 0 THEN PRINT : PRINT "     ";

 NEXT I

               

                                     MASSIV   C(20)

12   23   24   75   45   15   18   31   45   86

  2   34   90   54   64   23   27   45   72   74

4. Элементы массива задаются случайными числами:

  DIM K(30)

  PRINT : PRINT : PRINT: PRINT "             MASSIV K(30) "

  PRINT : PRINT "     ";

  FOR  I = 1 TO 30

    K(I) = INT(RND * 200 - 75)

    PRINT USING "#####"; K(I);

    IF I MOD 10 = 0 THEN PRINT : PRINT "     ";

  NEXT I

                      MASSIV  K(30)

   66    31    40   -18   -15     79   -73    77     87    66

  -66      7    97    83     -1   117    99   -64   114     -3

   29    78   -65    43    18    -16    49    54    -23   -20

5. Элементы двухмерного массива ( матрицы ) задаются случайными числами:

  DIM  D(6,6)

  PRINT : PRINT : PRINT: PRINT "           MASSIV D(6,6) "

  PRINT : PRINT "     ";

  FOR  I = 1 TO 6

     FOR  J = 1 TO 6

       D(I,J) = INT(RND * 200 - 75)

       PRINT USING "#####"; D(I,J);

     NEXT  J

    PRINT : PRINT "     ";

  NEXT I

                MASSIV  D(6,6)

     66     31     40    -18    -15     79

    -73     77     87     66    -66       7

     97     83      -1   117     99    -64

   114      -3     29     78    -65     43  

     18    -16     49     54    -23    -20

     90     89     42   122   107    -30

6.2.2. Операции над элементами массивов.

      Нужно отметить, что значения элементов массивов уже заданы и распечатаны.

  1.  Найти максимальный элемент и его порядковый номер:

  PRINT:    MAX=K(1): IMAX=1

FOR  I = 1 TO 30

 IF K(I)>MAX THEN MAX=K(I): IMAX=I

NEXT I

PRINT”      MAX=”;MAX;”   I=”;IMAX

  1.  Найти минимальный элемент:

 

PRINT

MIN=K(1): IMIN=1

FOR  I = 1 TO 30

 IF K(I)<MIN THEN MIN=K(I): IMIN=I

NEXT I

PRINT”      MIN=”;MIN;”   I=”;IMIN

MIN=-73   I= 7

  1.  Найти четные элементы. Организовать из найденных элементов отдельный массив:

 

DIM K1(30)

N=0

FOR  I = 1 TO 30

IF K(I) MOD 2=0 THEN  N=N+1: K1(N)=K(I)

NEXT I

PRINT : PRINT "     ";

     FOR  I = 1 TO N

       PRINT USING "#####"; K1(I);

       IF I MOD 10 = 0 THEN PRINT : PRINT "     ";

    NEXT I

    PRINT: PRINT”      N=”; N

           66    40   -18   66   -66   -64   114    78    18   -16

           54   -20

     N=12

  1.  Найти нечетные элементы массива. Организовать из найденных элементов отдельный массив:

  …….

DIM K2(30)

N1=0

FOR  I = 1 TO 30

IF K(I) MOD 2<>0 THEN  N1=N1+1: K2(N1)=K(I)

NEXT I

PRINT : PRINT "     ";

     FOR  I = 1 TO N1

       PRINT USING "#####"; K2(I);

       IF I MOD 10 = 0 THEN PRINT : PRINT "     ";

    NEXT I

    PRINT: PRINT”      N=”;N1

      31   -15    79   -73    77    87     7    97    83    -1

    117    99     -3    29   -65    43   49   -23

    N= 18

Блок-схема  предложенной задачи аналогична  блок-схеме предыдущей задачи.

  1.  Найти положительные элементы. Организовать из найденных элементов отдельный массив:

  …….

DIM K3(30)

N2=0

FOR  I = 1 TO 30

IF K(I) >0 THEN  N2=N2+1: K3(N2)=K(I)

NEXT I

PRINT : PRINT "     ";

     FOR  I = 1 TO N2

       PRINT USING "#####"; K3(I);

       IF I MOD 10 = 0 THEN PRINT : PRINT "     ";

    NEXT I

    PRINT: PRINT”      N=”;N2

         66    31     40    79    77    87    66      7    97    83

       117    99   114    29    78    43    18    49    54

       N= 19

  1.  Найти элементы, кратные 3. Организовать из найденных элементов  отдельный массив:

  …….

DIM K4(30)

N3=0

FOR  I = 1 TO 30

IF K(I) MOD 3=0 THEN  N3=N3+1: K4(N2)=K(I)

NEXT I

PRINT : PRINT "     ";

     FOR  I = 1 TO N3

       PRINT USING "#####"; K4(I);

       IF I MOD 10 = 0 THEN PRINT : PRINT "     ";

    NEXT I

    PRINT: PRINT”      N=”;N3

  66   -18   -15    87    66   -66   117   99   114    -3

  78    18    54

  N= 13

  1.  Найти максимальный элемент в каждой

     строке матрицы и его порядковый номер:

  …….

PRINT

FOR  I = 1 TO 6

MAX=D(I,1): JMAX=1

  FOR  J = 1 TO 6

    IF D(I,J)>MAX THEN MAX=D(I,J): JMAX=J

  NEXT J

PRINT”      STROKA ”;I;:  PRINT USING”   MAX=###”;MAX;

PRINT”   J=”;JMAX

NEXT I

STROKA  1   MAX=  79   J= 6

STROKA  2   MAX=  87   J= 3

STROKA  3   MAX=117   J= 4

STROKA  4   MAX=114   J= 1

STROKA  5   MAX=  54   J= 4

STROKA  6   MAX=122   J= 4

  1.   Найти максимальный элемент в главной диагонали матрицы и его порядковый  номер:

  …….

  PRINT

MAX=D(1,1): IMAX=1

  FOR  I = 1 TO 6

 IF D(I,I)>MAX THEN MAX=D(I,I): IMAX=I

  NEXT I

  PRINT”      D(“;IMAX;”,”;IMAX;”)=”;MAX;

     D( 4 , 4 )= 78

  

6.3.  Задачи на приближенное вычисление

площади фигур, объемов.

1. Вычислить  приближенно площадь  фигуры, ограниченной  функцией   и  прямой  . Отрезок изменения разделить на 10 частей и суммировать площади прямоугольников с основанием  и высотой, равной значению функций на середине каждого интервала.                                         

Теперь решим это же уравнение на языке Qbasic.

Преобразуем  данные уравнения, приравняв их левые части:

Решаем квадратное уравнение:               

CLS

REM    A*X^2+B*X+C=0

A = 2: B = -1: C = -2

D = B ^ 2 - 4 * A * C:  D = D ^ .5

K1 = (-B + D) / (2 * A):  K2 = (-B - D) / (2 * A)

PRINT "  КОРНИ  УРАВНЕНИЯ   K1=";

PRINT USING "##.###"; K1;

PRINT "   K2=";

PRINT USING "##.###"; K2

L = K1 - K2

PRINT "  ДЛИНА  ОТРЕЗКА   L=";

PRINT USING "##.###"; L

DL = L / 10

PRINT USING " ДЛИНА  ЭЛЕМЕНТАРНОГО  ОТРЕЗКА  DL=##.###"; DL

REM        X0 - КООРДИНАТА  НАЧАЛА ОТРЕЗКА ;  

REM        X1 - КООРДИНАТА  КОНЦА  ОТРЕЗКА ;

REМ         X -  КООРДИНАТА   СЕРЕДИНЫ  ОТРЕЗКА   X=(X0+X1)/2 .

REM   Y1, Y2  -  ВЕЛИЧИНА  ФУНКЦИИ   НА  СЕРЕДИНЕ  ОТРЕЗКА.    

X0 = K2: S = 0

FOR   I = 1  TO 10

   X1 = X0 + DL:     X = (X0 + X1) / 2

   Y1 = X ^ 2 - 3: Y2 = X / 2 - 2

   DS = (Y2 - Y1) * DL

   S = S + DS:   X0 = X1

NEXT I

PRINT "    ПЛОЩАДЬ  ФИГУРЫ   S=";

PRINT  USING  "##.###"; S

 КОРНИ  УРАВНЕНИЯ   K1= 1.281   K2= - 0.781

 ДЛИНА  ОТРЕЗКА   L= 2.062

ДЛИНА  ЭЛЕМЕНТАРНОГО  ОТРЕЗКА   DL= 0.206

ПЛОЩАДЬ  ФИГУРЫ    S= 1.468

6.4.  Задачи с использованием метода итераций.

6.4.1.  Решение систем уравнений.

  1.  Вычислить корни уравнений

                               на отрезке [ 0; 1 ] с точностью  

Для определения корней уравнений можно использовать метод итераций. Для этого следует преобразовать уравнения в форму  X=f(X):

       X0 = 0: E = .1: K = 0

10 :  X = 1 - 2 / (3 + SIN(3 - X0))

       IF ABS(X - X0) <= E THEN GOTO 20

       X0 = X: K = K + 1

       IF K > 6 THEN GOTO 20

       GOTO 10

20 :  PRINT  USING"     X=#.##"; X

          ОТВЕТ:        X=0.43

6.4.2. Вычисление корней уравнений.

1.   на  отрезке  [ 0 ; 1 ]  с  точностью   .

 CLS

 x0 = 0: E = .001

 10 : Y = .2 + (COS(x0)) ^ 2 - 1 / (1 - x0 ^ 3) ^ .5

 IF Y < E THEN GOTO 20

 x0 = x0 + E

 IF x0 > 1 THEN GOTO 20

 GOTO 10

 20 : PRINT "   X=";:   PRINT USING "##.###"; x0

 ОТВЕТ:   X= 0.414

2.  Y=2-X  на  отрезке  [ 1 ; 2,5 ]  с  точностью  

     CLS

     X0 = 1: XK=2.5:  E = .001

10:   Y = 2 - X0

IF Y < E THEN GOTO 20

X0 = X0 + E

     IF X0 > XK THEN GOTO 20

GOTO 10

20:   PRINT "       X=";

     PRINT  USING”##.###”;X0

   

ОТВЕТ:      X= 1.999

6.5.  Вычислить значения определенных

интегралов.

1. Подынтегральная  функция  =, метод прямоугольников  с числом отрезков 50  на  интервале  интегрирования  [ 0 ; 2].      

     X = 0: S = 0

       DX = 2 / 50

       FOR  I = 1  TO  51

          Y = (X ^ 4 - 4) / (X + 2) ^ 2

          DS = Y * DX:   S = S + DS:  X = X + DX

          IF  X >= 2  THEN  GOTO  10

       NEXT  I

10 :  PRINT "   S=";   

 S= -.5189601

2.  Подынтегральная  функция  =, метод прямоугольников (по левому краю)  с числом отрезков 50  на  интервале  интегрирования  [ 0 ; 2].

       X = 0: S = 0:  DX = 2 / 50

       FOR  I = 1  TO  50

          Y =  X:   DS = Y * DX

          S = S + DS:   X = X + DX

          IF  X >= 2  THEN  GOTO  10

       NEXT  I

10:   PRINT "   S="; S

  ОТВЕТ:      S= 196

3.  Подынтегральная  функция  =, метод прямоугольников (по середине отрезка)  с числом отрезков 50  на  интервале  интегрирования  [ 0 ; 2].

      X = 0: S = 0

      DX = 2 / 50

      FOR I = 1 TO 50

      X1 = X + DX

      Y = (X + X1) / 2

      DS = Y * DX

      S = S + DS

      X = X + DX

      IF X >= 2 THEN GOTO 10

      NEXT I

10: PRINT "     S="; S

ОТВЕТ:   S=2

 

 

4.  Подынтегральная  функция  =, метод  трапеций  с числом отрезков 50  на  интервале  интегрирования  [ 0 ; 2].

      X = 0: S = 0

      DX = 2 / 50

      FOR I = 1 TO 50

      X1 = X + DX

      Y = X: Y1 = X1

      DS = (Y + Y1) / 2 * DX

      S = S + DS

      X = X + DX

      IF X >= 2 THEN GOTO 10

      NEXT I

10:  PRINT "     S="; S

  ОТВЕТ:    S= 2

Приложение 1

Список ошибок периода выполнения программы

При обнаружении ошибки во время компиляции управление передается текстовому редактору и курсор устанавливается в ошибочную строку. После прочтения сообщения следует нажать любую клавишу, исправить ошибку и повторить компиляцию. Структура сообщения об ошибке имеет вид:

ERROR_номер ошибки: сообщение

Далее приведены наиболее часто встречающиеся сообщения об ошибках с номером ошибки, переводом сообщения и наиболее вероятной причиной ошибки.

Bad file mod (54)неверный режим файла

- попытка вывода в файл, открытый для чтения, или чтения из файла, открытого для вывода.

Bad file name (52)неверное имя файла или номер

- ссылка на номер файла, который не открыт.

Disk full (61)переполнение диска

- обнаружена нехватка памяти на диске во время выполнения оператора print, write, close.

Disk not  ready (71)диск не готов

- открыта крышка дисковода или не установлен диск.

Division by zero (11)деление на ноль

- обнаружено деление на ноль или возведение ноля в отрицательную степень, эта ошибка возникает при делении 1 или –1 на 32768.

Duplicate definition (10)повторное определение

- попытка изменить размерность уже объявленного массива оператором DIM

Illegal function call (5) – неверный вызов функции

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

Input past end of file (62) – чтение после конца файла

- оператором INPUT пытаются читать пустой файл или файл, все данные которого уже прочитаны.

Internal error (51) – внутренняя ошибка

- нарушена работа Бейсик-системы.

Out of DATA (4) – исчерпан оператор DATA

- выполняется оператор READ, когда все данные в операторах DATA уже прочитаны.

Overflow (6)переполнение

- результат вычисление не может быть представлен числом во внутреннем представлении Бейсика.

Permission denied (70)нет доступа к диску

- попытка выполнить запись на защищенный диск.

RETURN without GOSUB (3) – RETURN без GOSUB

- оператор RETURN выполняется без предварительного вызова подпрограммы оператором GOSUB.

Subscript out of range (9) –индекс вне границ

- индекс выходит за допустимые границы.

Syntax error (2)синтаксическая ошибка

- в операторе READ строка символов, не представляющая число, присваивается числовой переменной.

Type mismatch (13)несоответствие типов

- недопустимый тип в операторе, функции или выражении.

«=» expected (414) - пропущен знак =

- в зарезервированном слове сделана синтаксическая ошибка.

Приложение 2

Список зарезервированных слов

Зарезервированные слова не должны использоваться в качестве имен переменных.

ABS, AND, ASC, ATN, AUTO, BEEP, BLOAD, BSAVE, CALL, CDBL, CHAIN, CHDIR, CHR$, CINT, CIRCLE, COMMON, CONT, COS, CSNG, CSRLIN, CVD, CVI, CVS, DATA, DATE$, DEF, DEFDBL, DEFINT, DEFSNS, DEFSTR, DELETE, DIM, DRAW, EDIT, ELSE, END, ENVIRON, ENVIRON$, EOF, EQV, ERASE, ERDEV$, ERL, ERR, ERROR, EXP, FIELD, FILES, FIX, FN, FOR, FRE, GET, GOSUB, GOTO, HEX$, IF, IMP, INKEY$, INP, INPUT, INPUT#, INPUT$, INSTR, INT, INTER$, IOCTL, IOCTL$, KEY, KEY$, KILL, LEFT$, LEN, LET, LINE, LIST, LLIST, LOAD, LOC, LOCATE, LOF, LOG, LPOS, LPRINT,LSET MERGE, MID$, MKDIR, MKD$, MKI$, MKS$, MOD, MOTOR, NAME, NEW, NEXT, NOT, OCT$, OFF, ON, OPEN, OPTION, OR, OUT, PAINT, PEEK, PEN, PLEY, PMAP, POINT, POKE, POS, PRESET, PRINT, PRINT#, PSET, PUT, RANDOMIZE, READ, REM, RENUM, RESET, RESTORE, RESUME, RETURN, RIGHT$, RMDIR, RND, RSET, RUN, SAVE, SCREEN, SGN,

SHELL, SIN, SOUND, SPACE$, SPC(, SQR, STEP, STICK, STOP, STR$, STRING, STRING$, SWAP, SYSTEM, TAB(, TAN, THEN, TIME$, TIMER, TO, TROFF, TRON, USING, USR, VAL, VARPTR, VARPTR$, VIEW, WAIT, WEND, WHILE, WIDTH, WINDOW, WRITE, WRITE#, XOR

Содержание

Введение ……………………………………………………….

1. Основные понятия и определения.

1.1. Алгоритм.

1.2. Этапы программирования.

2. Язык программирования Quick Basic.

2.1. Среда Qвasic.

2.2. Имена.

2.3. Основные элементы языка программирования Qbasic 

2.3.1.Алфавит.

2.3.2. Типы данных.

2.3.3. Некоторые директивы языка.

2.3.4. Выражения.

2.3.5. Функции.

3. Операторы.

3.1. Оператор присваивания.

3.4. Прекращение выполнения и завершение программы/

3.5. Подпрограммы/

3.6. Организация ввода.

3.7. Организация вывода.

3.8. Графика  языка.

3.9. Работа с файлами.

4. Базовые алгоритмы/

5. Советы по выполнению задания.

6. Примеры  решения  задач.

6.1. Задачи  на  вычисление  функций  и  сумм.

6.2.Задачи  с  использованием  массивов.

6.2.1. Задание и распечатка массивов.

6.2.2. Операции над элементами массивов.

6.3.  Задачи на приближенное вычисление площади фигур,

объемов.

6.4.  Задачи  с  использованием  метода  итераций.

6.4.1.  Решение  систем  уравнений.

6.4.2. Вычисление  корней  уравнений.

6.5.  Вычислить значения определенных интегралов.

Список литературы

Приложение 1

Приложение 2

Список литературы

Мельникова О.И., Бонюшкина А.Ю. Начала программирования на языке Qbasic. - М., «ЭКОМ», 2000. -303с.

Новичков В.С. Пылькин А.Н.  Начала программирования на языке Qbasic: Учеб. пособие для вузов.- Изд.: «Горячая линия – Телеком», 2007. - 268

Мамонтов Д.В. QBasic в задачах и примерах. – Санкт-Петербург: «ПИТЕР», 2005. -256 с.

Бобровский С. Программирование на языке QBASIC для школьников и студентов. - М., «Инфорком-Пресс», 1999, -208 с.

Зильднер Г. QuickBASIC для носорога. - М., "ABF", 1994. -482с.

Сафронов И. Бейсик в задачах и примерах.

     - Санкт-Петербург, "Сbhv", БХВ-Петербург, 2001. - 214с.

Глинский Я.Н., Анохин В.Е., Ряжская В.А., Бейсик. QBasic и Visual Basic.М.:"ДиаСофт", 2002, - 192 с.

Анеликова Л.А. Алгоритмика в теории и практике: примеры решения задач на базе классического языка программирования Qbasic .- М.: «Солон-Пресс», 2007, - 69 с.

Вик Курилович. Информатика: Языки Basic. –М: «Солон-Пресс», 2005 г., - 224 с.

Под ред. Симоновича К. С. Информатика. Базовый курс. – Санкт-Петербург: «Питер», 2007. – 638 с.

А.Н. Степанов. Информатика. Учебник для ВУЗов. – Санкт-Петербург: «ПИТЕР», 2006. – 684 с.




1. тема и бюджетное устройство Выполнил а- Студент ка 4 курса.html
2. . Необходимость совершенствования БП
3. ШКОЛА ПАРИКМАХЕРОВ ОЛЬГИ ЗАБОЕВОЙ Екатеринбург Гагарина 47 Контактные телефоны ~ 343 378 3
4. Доклад- Художник русской истории
5.  ОБЪЕМ УСЛУГ СВЯЗИ ОКАЗАННЫХ НАСЕЛЕНИЮ В РАСЧЕТЕ НА ОДНОГО ЖИТЕЛЯв фактически действовавших ценах; рублей;
6. Основные методы в работе информационно-консультационных служб
7. Тема домашнього завдання Розробка стратегії промислового підприємства за обраною галуззю
8. Лабораторная работа 1 Определение силы света лампочки накаливания и ее светового поля
9. Subjects they know lot bout for exmple politics B someone you py to come to your house nd look fter your children C someone whose job is to mke or repir things from wood D some
10. В языке есть слова
11. Последняя в течение десятилетий существовала в условиях автаркии и благодаря жесткой идеологической напра
12. Однако наиболее широкое распространение получили два способа- пайка погружением в расплавленный припой и п
13. Академия Охраны А
14. Технология выращивания и хранения сельскохозяйственных культур
15. Структура биологии как науки
16. Раздел ЛД заболеваний зубов и челюстей V2- Методы ЛД в стоматологии S- К неионизирующим излучениям относят
17. тема освітнього менеджменту
18. Тема- Проект организации ТО и ремонта МТП в ЦРМ хозяйства с годовым объемом работ 60000 часов Выпо
19. Маскировка
20.  1 Хронический неспецифический язвенный колит