Советы и лайфхаки

Basic операторы – Основные операторы BASIC.

Основные операторы BASIC.

Поиск Лекций

 

Мы рассмотрим несколько основных операторов языка.

CLS – очищает экран. Формат CLS[{0,1,2}]

Очищает либо текстовую, либо графическую области просмотра. Если была установлена графическая области просмотра (с помощью VIEW), то очищает только графическую область просмотра. В противном случае очищает текстовую область просмотра или весь экран.

0 – полностью очищает экран

1 - очищает графическую область просмотра или весь экран, если графическая область просмотра не была установлена.

2 – очищает текстовую область просмотра.

 

INPUT – оператор производит операцию ввода информации с клавиатуры дисплея в оперативную память.

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

Пример:

Команда в программе Результат на экране монитора.

INPUT k ?

INPUT “k=”,k k=

INPUT k1, k2, k3 ?

INPUT a1$, k1, a2$, k2 ?

В результате действия оператора, в первом случае, на экране дисплея появится «?» и машина будет ждать ввода числа «К» с клавиатуры, т.е. надо ввести с помощью клавиатуры нужное число и нажать на клавишу ввода (ENTER).

Количество вводимых данных должно соответствовать количеству переменных в списке. Если введено недостаточное количество значений, то компьютер вновь выводит знак «?» и ждет дополнительного ввода данных. Избыточные значения игнорируются. В третьем и четвертом примере показано, что с помощью одного оператора можно вводить как несколько чисел, так и сочетания разных типов констант.

REM – оператор позволяет включать комментарий в программу.

Формат: REM<произвольный текст>.

Оператор REM относится к невыполняемым операторам и не оказывает никакого влияния на порядок работы программы. Он используется только на уровне транслятора. Его единственная задача появится в листинге, и помочь своим текстом расшифровать фрагмент программы.

 

PRINT – Оператор обеспечивает вывод информации на дисплей, как числовой, так и символьной.

Пример1: PRINT «Исходные данные»

PRINT X,Y

В результате выполнения 1го оператора PRINT на экране будет напечатан текст «исходные данные», начиная с первой позиции строки экрана, во втором случае напечатаются значения «X» и «Y», из памяти на момент их печати.

Пример 2: PRINT «Значение Х=»;Х, «Значение Y=»;Y

Этот пример демонстрирует одновременное применение в операторе печати текста и значение числа, если на момент печати X и Y соответственно равны, например 50 и 70, то после выполнения этого оператора на дисплее будет напечатано: значение X=50 значение Y=70

 

Для вывода информации на принтер используют следующую форму оператора: LPRINT.

 

Оператор LET – оператор присвоения значения выражения, стоящего справа от знака = , переменной стоящей слева от знака =.

Переменная и выражение должны быть или оба числовыми или оба символьными.

Имя оператора LET может быть опущено.

Пример:

10 LET A=1

10 A=1

100 X= X*2+B

 

В операторе 100 происходит вычисление переменной X по формуле X=X*2+B, причем, здесь, заранее должно быть присвоено значение переменных X и B в программе.

 

Оператор DATA – служит для предварительной подготовки и хранения в памяти значений исходных данных.

Формат оператора: DATA <список констант>

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

 

Пример: DATA 10,20,5,0.5

 

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

Оператор READ – осуществляет ввод данных, значения которых представлены в операторе DATA.

Формат оператора: READ<список переменных>

 

Пример: DATA 10,20,5,0.5

READ A,B,S,D

 

После выполнения этих операторов переменные примут следующие значения

A=10, B=20, C=5, D=0.5, E=начало, F=конец.

Оператор

GOTO – оператор безусловного перехода.

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

Формат оператора: GOTO<№ оператора куда перейти>

Пример:

100 GOTO 200 т.е. перейти к оператору с номером 200

 

Условные операторы

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

Общий вид оператора:

IF…THEN…ELSE…

IF<условие> THEN [блок операторов1] [ELSE [блок операторов2]]

Где <условие> логическое выражение

IF< условие > THEN<№ строки операторов>

IF< условие > ELSE <№ оператора>

Пример1:

 

IF x>0 THEN y=A*X*B ELSE Y=*X^2+B

Если <условие> = истина, то оператор 1

Если <условие> = ложь, то оператор 2

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

IF<условие> THEN

[блок операторов1]

ELSE

[блок операторов2]

END IF.

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

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

FOR…NEXT

Формат:

FOR<переменная цикла> = A TO B [STEP C]

… операторы

NEXT<переменная цикла>

 

Где <переменная цикла> - числовая переменная, используется как счетчик цикла.

A, B – числовые выражения, определяющие начальное и конечное условие цикла.

C – величина приращения счетчика после каждого цикла.

Если С=1, то обычно приращение не указывается.

Циклы FOR…NEXT могут быть вложенными друг в друга. Тогда каждый оператор цикла должен иметь своё имя переменной цикла (имя счетчика).

Хотя компилятору это безразлично, располагайте операторы между FOR и NEXT, с отступом на 2 или 3 пробела от края, выделяя, таким образом, структуру цикла.

Оператор DIM

Оператор DIM – объявляет массивы.

Формат команды:

DIM {переменная (индексы)} где:

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

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

 

Оператор используется для явного описания размерности массива и количества его элементов путем указания имени массива, за которым следует одно или два числа, заключенных в скобки. Если в программе отсутствует описание массива, то при первом использовании его элемента BASIC по умолчанию резервирует место в памяти для 11 элементов одномерного массива или для 121 элемента двумерного массива. Имена массивов в списке разделяется запятыми.

Пример:

 

300 DIM A(5), В(4,5)

 

Значение индекса элементов массива может принимать значение от 0 до числа, указанного в описании массива.

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

Пример:

 

10 DIM C%(10), A$(5,6), D(7)

 

Где массив С – одномерный массив из целых значений.

Где массив А – двумерный массив из строковых переменных.

Где массив D – одномерный вещественный массив.

 

GOSUB и RETURN (подпрограмма).

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

Формат команды:

GOSUB №(номер строки программы)

RETURN

Пример:

 

10 REM ”главная программа”

100 GOSUB 500

200 GOSUB 500

300 STOP

500 REM

600 RETURN

700 END

 

FUNCTION

Процедура FUNCTION имя [(параметры)] [STATIC]

имя [блок операторов]

Имя = выражение [блок операторов]

END FUNCTION

- имя – имя функции и возвращаемый ею тип данных, указанный суффиксом типа данных (%,&,!,#,$).

параметры – одна или несколько переменных, указывающих параметры, которые передаются в функцию при ее вызове:

переменная – имя переменной.

тип – тип данной переменной

переменная [()][AS тип][, переменная[()][AS тип]]…

[STATIC] – указывает, что значение локальных переменных функции сохраняются между вызовами функций.

[выражение] – возвращаемое значение функции.

 

Варианты третьего задания на контрольную работу.

Задание №3 содержит два вида заданий программирование разветвляющегося и циклического алгоритмов. Первый вид задания имеет нечетные номера вариантов - второй четные. Кроме этого в приложениях №1 и№2 даны среда программирования QBASIC и образец оформления третьего задания. В приложении №3 приводятся встроенные функции реализованные в среде QBASIC.

Пример №1. Программирование разветвляющегося алгоритма.

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

 

 

 

 

Алгоритм решения данной задачи будет иметь вид:

 

 

По полученному алгоритму запишем текст программы (используя блочную форму оператора IF):

 

CLS

REM С разветвлением

Pi=3.14

INPUT «Введите а»;а

INPUT «Введите х»;х

IF x>0 THEN

y=sin(Pi/(12+x))+x^2-5*a

ELSE

y=sin(Pi/(12+x))+x^2+5*a

END IF

PRINT «y=»;y

END

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

Пример №2. Программирование циклического алгоритма.

Пусть необходимо составить программу для вычисления функции:

для х=-1 до 3 с шагом 0.5

Алгоритм решения данной задачи будет иметь вид:

 

Приведем один из возможных вариантов программы:

 

CLS

REM Циклическая программа

FOR х=-1 TO 3 STEP 0.5

y=(exp(x^2)+exp(-x^2))/2

PRINT “y(”;x;”)=”;y

NEXT х

END

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

  1. Y =
  2. M= , для х= 0¸3; шаг 0,5.
  3. Y =

 

  1. N= , для х=0,4¸4; шаг 0,4.
  2. Y =

6. P= , для х=0¸10; шаг 1.

  1. Y =

 

  1. R= e- , для х=0¸2; шаг 0,2.
  2. . Y =
  1. L= sin , для х=0¸3; шаг 0,3.

 

  1. Y =

 

 

  1. M= , для х=0¸4; шаг 0,5.

 

  1. Y=

 

  1. N= 5x- 8lnx – 8, для х=2¸5; шаг 0,1.

 

  1. R = где L(x)=
  1. N= 5x- 8lnx – 8, для х=2¸5; шаг 0,1.

 

  1. R = где L(x)=

 

  1. P= x- 2,89 sin - 0,126, для х=-1¸3; шаг 0,2.

19. R = где L(X)=

  1. R= tgx-e-x +x-1, для х=-1¸1; шаг 0,1.

 

  1. R=
  2. L= ln(x+ )+x+4, для х=1¸5; шаг 0,25.
  1. R =

 

  1. N= , для х=0¸5; шаг 0,25.

 

  1. R =

 

26.

  1. R =

29. R= где L(z)=

 

 

 


Рекомендуемые страницы:

poisk-ru.ru

Основные операторы BASIC — Мегаобучалка

 

Мы рассмотрим несколько основных операторов языка.

CLS – очищает экран. Формат CLS[{0,1,2}]

Очищает либо текстовую, либо графическую области просмотра. Если была установлена графическая области просмотра (с помощью VIEW), то очищает только графическую область просмотра. В противном случае очищает текстовую область просмотра или весь экран.

0 – полностью очищает экран

1 - очищает графическую область просмотра или весь экран, если графическая область просмотра не была установлена.

2 – очищает текстовую область просмотра.

 

INPUT – оператор производит операцию ввода информации с клавиатуры дисплея в оперативную память.

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

Пример:

Команда в программе Результат на экране монитора.

INPUT k ?

INPUT “k=”,k k=

INPUT k1, k2, k3 ?

INPUT a1$, k1, a2$, k2 ?

В результате действия оператора, в первом случае, на экране дисплея появится «?» и машина будет ждать ввода числа «К» с клавиатуры, т.е. надо ввести с помощью клавиатуры нужное число и нажать на клавишу ввода (ENTER).

Количество вводимых данных должно соответствовать количеству переменных в списке. Если введено недостаточное количество значений, то компьютер вновь выводит знак «?» и ждет дополнительного ввода данных. Избыточные значения игнорируются. В третьем и четвертом примере показано, что с помощью одного оператора можно вводить как несколько чисел, так и сочетания разных типов констант.

REM – оператор позволяет включать комментарий в программу.

Формат: REM<произвольный текст>.

Оператор REM относится к невыполняемым операторам и не оказывает никакого влияния на порядок работы программы. Он используется только на уровне транслятора. Его единственная задача появится в листинге, и помочь своим текстом расшифровать фрагмент программы.

 

PRINT – Оператор обеспечивает вывод информации на дисплей, как числовой, так и символьной.

Пример1: PRINT «Исходные данные»

PRINT X,Y

В результате выполнения 1го оператора PRINT на экране будет напечатан текст «исходные данные», начиная с первой позиции строки экрана, во втором случае напечатаются значения «X» и «Y», из памяти на момент их печати.



Пример 2: PRINT «Значение Х=»;Х, «Значение Y=»;Y

Этот пример демонстрирует одновременное применение в операторе печати текста и значение числа, если на момент печати X и Y соответственно равны, например 50 и 70, то после выполнения этого оператора на дисплее будет напечатано: значение X=50 значение Y=70

 

Для вывода информации на принтер используют следующую форму оператора: LPRINT.

 

Оператор LET – оператор присвоения значения выражения, стоящего справа от знака = , переменной стоящей слева от знака =.

Переменная и выражение должны быть или оба числовыми или оба символьными.

Имя оператора LET может быть опущено.

Пример:

10 LET A=1

10 A=1

100 X= X*2+B

 

В операторе 100 происходит вычисление переменной X по формуле X=X*2+B, причем, здесь, заранее должно быть присвоено значение переменных X и B в программе.

 

Оператор DATA – служит для предварительной подготовки и хранения в памяти значений исходных данных.

Формат оператора: DATA <список констант>

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

 

Пример: DATA 10,20,5,0.5

 

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

Оператор READ – осуществляет ввод данных, значения которых представлены в операторе DATA.

Формат оператора: READ<список переменных>

 

Пример: DATA 10,20,5,0.5

READ A,B,S,D

 

После выполнения этих операторов переменные примут следующие значения

A=10, B=20, C=5, D=0.5, E=начало, F=конец.

Оператор GOTO – оператор безусловного перехода.

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

Формат оператора: GOTO<№ оператора куда перейти>

Пример:

100 GOTO 200 т.е. перейти к оператору с номером 200

 

Условные операторы

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

Общий вид оператора:

IF…THEN…ELSE…

IF<условие> THEN [блок операторов1] [ELSE [блок операторов2]]

Где <условие> логическое выражение

IF< условие > THEN<№ строки операторов>

IF< условие > ELSE <№ оператора>

Пример1:

 

IF x>0 THEN y=A*X*B ELSE Y=*X^2+B

Если <условие> = истина, то оператор 1

Если <условие> = ложь, то оператор 2

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

IF<условие> THEN

[блок операторов1]

ELSE

[блок операторов2]

END IF.

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

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

FOR…NEXT

Формат:

FOR<переменная цикла> = A TO B [STEP C]

… операторы

NEXT<переменная цикла>

 

Где <переменная цикла> - числовая переменная, используется как счетчик цикла.

A, B – числовые выражения, определяющие начальное и конечное условие цикла.

C – величина приращения счетчика после каждого цикла.

Если С=1, то обычно приращение не указывается.

Циклы FOR…NEXT могут быть вложенными друг в друга. Тогда каждый оператор цикла должен иметь своё имя переменной цикла (имя счетчика).

Хотя компилятору это безразлично, располагайте операторы между FOR и NEXT, с отступом на 2 или 3 пробела от края, выделяя, таким образом, структуру цикла.

Оператор DIM

Оператор DIM – объявляет массивы.

Формат команды:

DIM {переменная (индексы)} где:

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

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

 

Оператор используется для явного описания размерности массива и количества его элементов путем указания имени массива, за которым следует одно или два числа, заключенных в скобки. Если в программе отсутствует описание массива, то при первом использовании его элемента BASIC по умолчанию резервирует место в памяти для 11 элементов одномерного массива или для 121 элемента двумерного массива. Имена массивов в списке разделяется запятыми.

Пример:

 

300 DIM A(5), В(4,5)

 

Значение индекса элементов массива может принимать значение от 0 до числа, указанного в описании массива.

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

Пример:

 

10 DIM C%(10), A$(5,6), D(7)

 

Где массив С – одномерный массив из целых значений.

Где массив А – двумерный массив из строковых переменных.

Где массив D – одномерный вещественный массив.

 

GOSUB и RETURN (подпрограмма).

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

Формат команды:

GOSUB №(номер строки программы)

RETURN

Пример:

 

10 REM ”главная программа”

100 GOSUB 500

200 GOSUB 500

300 STOP

500 REM

600 RETURN

700 END

 

FUNCTION

Процедура FUNCTION имя [(параметры)] [STATIC]

имя [блок операторов]

Имя = выражение [блок операторов]

END FUNCTION

- имя – имя функции и возвращаемый ею тип данных, указанный суффиксом типа данных (%,&,!,#,$).

параметры – одна или несколько переменных, указывающих параметры, которые передаются в функцию при ее вызове:

переменная – имя переменной.

тип – тип данной переменной

переменная [()][AS тип][, переменная[()][AS тип]]…

[STATIC] – указывает, что значение локальных переменных функции сохраняются между вызовами функций.

[выражение] – возвращаемое значение функции.

 

Варианты третьего задания на контрольную работу.

Задание №3 содержит два вида заданий программирование разветвляющегося и циклического алгоритмов. Первый вид задания имеет нечетные номера вариантов - второй четные. Кроме этого в приложениях №1 и№2 даны среда программирования QBASIC и образец оформления третьего задания. В приложении №3 приводятся встроенные функции реализованные в среде QBASIC.

Пример №1. Программирование разветвляющегося алгоритма.

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

 

 

 

 

Алгоритм решения данной задачи будет иметь вид:

 

 

По полученному алгоритму запишем текст программы (используя блочную форму оператора IF):

 

CLS

REM С разветвлением

Pi=3.14

INPUT «Введите а»;а

INPUT «Введите х»;х

IF x>0 THEN

y=sin(Pi/(12+x))+x^2-5*a

ELSE

y=sin(Pi/(12+x))+x^2+5*a

END IF

PRINT «y=»;y

END

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

Пример №2. Программирование циклического алгоритма.

Пусть необходимо составить программу для вычисления функции:

для х=-1 до 3 с шагом 0.5

Алгоритм решения данной задачи будет иметь вид:

 

Приведем один из возможных вариантов программы:

 

CLS

REM Циклическая программа

FOR х=-1 TO 3 STEP 0.5

y=(exp(x^2)+exp(-x^2))/2

PRINT “y(”;x;”)=”;y

NEXT х

END

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

  1. Y =
  2. M= , для х= 0¸3; шаг 0,5.
  3. Y =

 

  1. N= , для х=0,4¸4; шаг 0,4.
  2. Y =

6. P= , для х=0¸10; шаг 1.

  1. Y =

 

  1. R= e- , для х=0¸2; шаг 0,2.
  2. . Y =
  1. L= sin , для х=0¸3; шаг 0,3.

 

  1. Y =

 

 

  1. M= , для х=0¸4; шаг 0,5.

 

  1. Y=

 

  1. N= 5x- 8lnx – 8, для х=2¸5; шаг 0,1.

 

  1. R = где L(x)=
  1. N= 5x- 8lnx – 8, для х=2¸5; шаг 0,1.

 

  1. R = где L(x)=

 

  1. P= x- 2,89 sin - 0,126, для х=-1¸3; шаг 0,2.

19. R = где L(X)=

  1. R= tgx-e-x +x-1, для х=-1¸1; шаг 0,1.

 

  1. R=
  2. L= ln(x+ )+x+4, для х=1¸5; шаг 0,25.
  1. R =

 

  1. N= , для х=0¸5; шаг 0,25.

 

  1. R =

 

26.

  1. R =

29. R= где L(z)=

 

 

 

megaobuchalka.ru

Операторы в Visual Basic | Microsoft Docs

  • Время чтения: 20 мин
  • Соавторы

В этой статье

Оператор в Visual Basic — это полная инструкция.A statement in Visual Basic is a complete instruction. Он может содержать ключевые слова, операторы, переменные, константы и выражения.It can contain keywords, operators, variables, constants, and expressions. Каждая инструкция принадлежит к одной из следующих категорий:Each statement belongs to one of the following categories:

  • Операторы объявления, который переменную, константу или процедуру, а также можно указать тип данных.Declaration Statements, which name a variable, constant, or procedure, and can also specify a data type.

  • Исполняемые операторы, запуска действия.Executable Statements, which initiate actions. Эти инструкции можно вызвать метод или функция, и они могут цикл или ветвь, состоящие из блоков кода.These statements can call a method or function, and they can loop or branch through blocks of code. Исполняемые операторы содержат операторы присваивания, которые присваивают значение или выражение переменной или константы.Executable statements include Assignment Statements, which assign a value or expression to a variable or constant.

В этом разделе описывается каждой категории.This topic describes each category. Кроме того в этом разделе описывается, как объединить несколько операторов в одной строке и дальнейшие инструкции на нескольких строках.Also, this topic describes how to combine multiple statements on a single line and how to continue a statement over multiple lines.

Операторы объявленияDeclaration statements

Используйте операторы объявления для именования и определения процедур, переменных, свойства, массивов и констант.You use declaration statements to name and define procedures, variables, properties, arrays, and constants. При объявлении элемента программирования, можно также определить его тип данных, уровень доступа и область.When you declare a programming element, you can also define its data type, access level, and scope. Дополнительные сведения см. в разделе характеристики объявленных элементов.For more information, see Declared Element Characteristics.

В следующем примере содержится три объявления.The following example contains three declarations.

Public Sub applyFormat()
    Const limit As Integer = 33
    Dim thisWidget As New widget
    ' Insert code to implement the procedure.
End Sub

Первое объявление — Sub инструкции.The first declaration is the Sub statement. Вместе с соответствующим ему End Sub оператор, он объявляет процедуру с именем applyFormat.Together with its matching End Sub statement, it declares a procedure named applyFormat. Он также указывает, что applyFormat является Public, означающее, что его можно вызвать любой код, который могут ссылаться на нее.It also specifies that applyFormat is Public, which means that any code that can refer to it can call it.

Второе объявление — Const инструкцию, которая объявляет константу limit, указав Integer тип данных и значение 33.The second declaration is the Const statement, which declares the constant limit, specifying the Integer data type and a value of 33.

Третье объявление — Dim инструкцию, которая объявляет переменную thisWidget.The third declaration is the Dim statement, which declares the variable thisWidget. Тип данных — это конкретный объект, а именно объект создан из Widget класса.The data type is a specific object, namely an object created from the Widget class. Можно объявить переменную любой простой тип данных или любого типа объекта, который предоставляется в приложении, которое вы используете.You can declare a variable to be of any elementary data type or of any object type that is exposed in the application you are using.

Начальные значенияInitial Values

При выполнении кода, содержащего оператор объявления, Visual Basic резервирует память, необходимую для объявленного элемента.When the code containing a declaration statement runs, Visual Basic reserves the memory required for the declared element. Если элемент содержит значение, Visual Basic инициализирует его значением по умолчанию для типа данных.If the element holds a value, Visual Basic initializes it to the default value for its data type. Дополнительные сведения см. в разделе «Поведение» в оператор Dim.For more information, see "Behavior" in Dim Statement.

Можно назначить начальное значение переменной как часть ее объявлении, как показано в следующем примере.You can assign an initial value to a variable as part of its declaration, as the following example illustrates.

Dim m As Integer = 45
' The preceding declaration creates m and assigns the value 45 to it.

Если переменная является объектной переменной, можно явно создать экземпляр своего класса, при объявлении с помощью оператор New ключевое слово, как показано следующем примере.If a variable is an object variable, you can explicitly create an instance of its class when you declare it by using the New Operator keyword, as the following example illustrates.

Dim f As New System.Windows.Forms.Form()

Обратите внимание на то, что начальное значение, указываемое в операторе объявления не назначен переменной, пока выполнение не достигнет его оператора объявления.Note that the initial value you specify in a declaration statement is not assigned to a variable until execution reaches its declaration statement. До этого времени переменная содержит значение по умолчанию для типа данных.Until that time, the variable contains the default value for its data type.

Исполняемые операторыExecutable statements

Выполняемая инструкция выполняет действие.An executable statement performs an action. Его можно вызвать процедуру, переход в другое место в коде, цикл через несколько операторов, или вычислить это выражение.It can call a procedure, branch to another place in the code, loop through several statements, or evaluate an expression. Оператор присваивания является особым случаем исполняемого оператора.An assignment statement is a special case of an executable statement.

В следующем примере используется If...Then...Else управления структурой для выполнения различных блоков кода в зависимости от значения переменной.The following example uses an If...Then...Else control structure to run different blocks of code based on the value of a variable. В каждом блоке кода For...Next цикл выполняется заданное число раз.Within each block of code, a For...Next loop runs a specified number of times.

Public Sub startWidget(ByVal aWidget As widget,
    ByVal clockwise As Boolean, ByVal revolutions As Integer)
    Dim counter As Integer
    If clockwise = True Then
        For counter = 1 To revolutions
            aWidget.spinClockwise()
        Next counter
    Else
        For counter = 1 To revolutions
            aWidget.spinCounterClockwise()
        Next counter
    End If
End Sub

If Инструкции в предыдущем примере проверяет значение параметра clockwise.The If statement in the preceding example checks the value of the parameter clockwise. Если значение равно True, он вызывает spinClockwise метод aWidget.If the value is True, it calls the spinClockwise method of aWidget. Если значение равно False, он вызывает spinCounterClockwise метод aWidget.If the value is False, it calls the spinCounterClockwise method of aWidget. If...Then...Else Заканчивается структуру управления End If.The If...Then...Else control structure ends with End If.

For...Next Цикла в каждом блоке вызывает соответствующий метод несколько раз, равное значению revolutions параметра.The For...Next loop within each block calls the appropriate method a number of times equal to the value of the revolutions parameter.

Операторы присваиванияAssignment statements

Операторы присваивания выполняют операции присваивания, состоящих старта значение правой части оператора присваивания (=) и сохранив его в элемент слева, как показано в следующем примере.Assignment statements carry out assignment operations, which consist of taking the value on the right side of the assignment operator (=) and storing it in the element on the left, as in the following example.

v = 42

В предыдущем примере, оператор присваивания сохраняет значение литерала 42 в переменной v.In the preceding example, the assignment statement stores the literal value 42 in the variable v.

Соответствующие элементы программированияEligible programming elements

Программный элемент слева от оператора присваивания, должно иметь возможность принять и сохранить значение.The programming element on the left side of the assignment operator must be able to accept and store a value. Это означает, что он должен быть переменной или свойства, не ReadOnly, или он должен быть элемент массива.This means it must be a variable or property that is not ReadOnly, or it must be an array element. В контексте оператора присваивания, иногда называется такой элемент

lvalue, «левое значение».In the context of an assignment statement, such an element is sometimes called an lvalue, for "left value."

Значение справа от оператора присваивания, создается с помощью выражения, которое может содержать любое сочетание литералы, константы, переменные, свойства, элементы массива, другие выражения или вызовы функций.The value on the right side of the assignment operator is generated by an expression, which can consist of any combination of literals, constants, variables, properties, array elements, other expressions, or function calls. Это показано в следующем примере.The following example illustrates this.

x = y + z + findResult(3)

В предыдущем примере добавляется на значение, содержащееся в переменной y со значением в переменной zи затем добавляет значение, возвращаемое вызовом функции findResult.The preceding example adds the value held in variable y to the value held in variable z, and then adds the value returned by the call to function

findResult. Общее значение этого выражения затем сохраняется в переменной x.The total value of this expression is then stored in variable x.

Типы данных в операторах присваиванияData types in assignment statements

Помимо числовых значений можно также назначить оператор присваивания String значения, как показано в следующем примере.In addition to numeric values, the assignment operator can also assign String values, as the following example illustrates.

Dim a, b As String
a = "String variable assignment"
b = "Con" & "cat" & "enation"
' The preceding statement assigns the value "Concatenation" to b.

Можно также назначить Boolean значения, с помощью либо Boolean литерал или Boolean выражение, как приведенный ниже пример иллюстрирует.You can also assign Boolean values, using either a Boolean literal or a Boolean expression, as the following example illustrates.

Dim r, s, t As Boolean
r = True
s = 45 > 1003
t = 45 > 1003 Or 45 > 17
' The preceding statements assign False to s and True to t.

Аналогичным образом, можно назначить соответствующие значения для элементов программирования из Char, Date, или Object тип данных.Similarly, you can assign appropriate values to programming elements of the Char, Date, or Object data type. Кроме того, экземпляр объекта можно назначить элемент, объявленный в классе, из которого создается этот экземпляр.You can also assign an object instance to an element declared to be of the class from which that instance is created.

Составные операторы присваиванияCompound assignment statements

Составные операторы присваивания сначала выполняют операцию над выражения перед назначением его к программному элементу.Compound assignment statements first perform an operation on an expression before assigning it to a programming element. В следующем примере демонстрируется один из этих операторов +=, которая увеличивает значение переменной в левой части оператора значение выражения в правой части.The following example illustrates one of these operators, +=, which increments the value of the variable on the left side of the operator by the value of the expression on the right.

n += 1

Предыдущий пример добавляет 1 к значению n, а затем сохраняет новое значение в n.The preceding example adds 1 to the value of n, and then stores that new value in n. Это краткий эквивалент следующего оператора:It is a shorthand equivalent of the following statement:

n = n + 1

Использование операторов этого типа могут выполняться различные операции составного присваивания.A variety of compound assignment operations can be performed using operators of this type. Список этих операторов и Дополнительные сведения о них, см. в разделе операторы присваивания.For a list of these operators and more information about them, see Assignment Operators.

Оператор объединения и присваивания (&=) можно использовать для добавления строки в конец уже существующих строк, как показано в следующем примере.The concatenation assignment operator (&=) is useful for adding a string to the end of already existing strings, as the following example illustrates.

Dim q As String = "Sample "
q &= "String"
' q now contains "Sample String".

Преобразования типов в операторах присваиванияType Conversions in Assignment Statements

Значение, назначенное переменной, свойства или элемента массива должно иметь тип данных конечного элемента.The value you assign to a variable, property, or array element must be of a data type appropriate to that destination element. В общем случае следует попытаться создать значение одного типа данных, что и у конечного элемента.In general, you should try to generate a value of the same data type as that of the destination element. Тем не менее некоторые типы могут преобразовываться в другие типы во время назначения.However, some types can be converted to other types during assignment.

Сведения о преобразовании типов данных, см. в разделе преобразования типов в Visual Basic.For information on converting between data types, see Type Conversions in Visual Basic. В двух словах Visual Basic автоматически преобразует значение заданного типа в любой другой тип, к которому он может быть расширен.In brief, Visual Basic automatically converts a value of a given type to any other type to which it widens. Объект расширяющее преобразование — один, всегда является успешным во время выполнения и приводит к потере данных.A widening conversion is one in that always succeeds at run time and does not lose any data. Например, Visual Basic преобразует Integer значение Double при необходимости, так как Integer можно расширить до Double.For example, Visual Basic converts an Integer value to Double when appropriate, because Integer widens to Double. Для получения дополнительной информации см. Widening and Narrowing Conversions.For more information, see Widening and Narrowing Conversions.

Сужающие преобразования (те, которые не являются расширяющими) выполняются с риском сбоя во время выполнения или потери данных.Narrowing conversions (those that are not widening) carry a risk of failure at run time, or of data loss. Явное сужающее преобразование можно выполнять с помощью функции преобразования типа, или можно направить компилятор неявно выполнять все преобразования, задав Option Strict Off.You can perform a narrowing conversion explicitly by using a type conversion function, or you can direct the compiler to perform all conversions implicitly by setting Option Strict Off. Дополнительные сведения см. в разделе явные и неявные преобразования.For more information, see Implicit and Explicit Conversions.

Размещение нескольких операторов на одной строкеPutting multiple statements on one line

Можно использовать несколько операторов в одной строке, разделяя их точкой с запятой (:) символов.You can have multiple statements on a single line separated by the colon (:) character. Это показано в следующем примере.The following example illustrates this.

Dim sampleString As String = "Hello World" : MsgBox(sampleString)

Хотя иногда и удобно, эта форма синтаксиса делает код сложно читать и обслуживать.Though occasionally convenient, this form of syntax makes your code hard to read and maintain. Таким образом рекомендуется хранить один оператор для строки.Thus, it is recommended that you keep one statement to a line.

Продолжение инструкции на нескольких строкахContinuing a statement over multiple lines

Инструкция обычно занимает на одной строке, но если она слишком велика, продолжить его на следующую строку, с помощью последовательность продолжения строки, который состоит из пробела и символа подчеркивания (_) следуют символ возврата каретки.A statement usually fits on one line, but when it is too long, you can continue it onto the next line using a line-continuation sequence, which consists of a space followed by an underscore character (_) followed by a carriage return. В следующем примере MsgBox исполняемой инструкцией располагается на двух строках.In the following example, the MsgBox executable statement is continued over two lines.

Public Sub demoBox()
    Dim nameVar As String
    nameVar = "John"
    MsgBox("Hello " & nameVar _
        & ". How are you?")
End Sub

Неявное продолжение строкиImplicit line continuation

Во многих случаях можно продолжить инструкцию на следующей строке без символа подчеркивания (_).In many cases, you can continue a statement on the next consecutive line without using the underscore character (_). Следующие элементы синтаксиса неявно продолжают инструкцию на следующей строке кода.The following syntax elements implicitly continue the statement on the next line of code.

  • После запятой (,).After a comma (,). Пример:For example:

    Public Function GetUsername(ByVal username As String,
                                ByVal delimiter As Char,
                                ByVal position As Integer) As String
    
        Return username.Split(delimiter)(position)
    End Function
    
  • После открывающей скобки (() или перед закрывающей скобкой ()).After an open parenthesis (() or before a closing parenthesis ()). Пример:For example:

    Dim username = GetUsername(
        Security.Principal.WindowsIdentity.GetCurrent().Name,
        CChar("\"),
        1
      )
    
  • После открывающей фигурной скобки ({) или перед закрывающей фигурной скобки (}).After an open curly brace ({) or before a closing curly brace (}). Пример:For example:

    Dim customer = New Customer With {
      .Name = "Terry Adams",
      .Company = "Adventure Works",
      .Email = "[email protected]"
    }
    

    Дополнительные сведения см. в разделе инициализаторы объектов: именованные и анонимные типы или Инициализаторы коллекций.For more information, see Object Initializers: Named and Anonymous Types or Collection Initializers.

  • После открытого встроенного выражения (<%=) или перед закрытием встроенного выражения (%>) в XML-литерала.After an open embedded expression (<%=) or before the close of an embedded expression (%>) within an XML literal. Пример:For example:

    Dim customerXml = <Customer>
                          <Name>
                              <%=
                                  customer.Name
                              %>
                          </Name>
                          <Email>
                              <%=
                                  customer.Email
                              %>
                          </Email>
                      </Customer>
    

    Дополнительные сведения см. в разделе встроенные выражения в XML.For more information, see Embedded Expressions in XML.

  • После оператора объединения (&).After the concatenation operator (&). Пример:For example:

    cmd.CommandText = 
        "SELECT * FROM Titles JOIN Publishers " &
        "ON Publishers.PubId = Titles.PubID " &
        "WHERE Publishers.State = 'CA'"
    

    Дополнительные сведения см. в разделе операторы, перечисленные по функциональным возможностям.For more information, see Operators Listed by Functionality.

  • После операторов присваивания (=, &=, :=, +=, -=, *=, /=, \=, ^=, <<=, >>=).After assignment operators (=, &=, :=, +=, -=, *=, /=, \=, ^=, <<=, >>=). Пример:For example:

    Dim fileStream =
      My.Computer.FileSystem.
        OpenTextFileReader(filePath)
    

    Дополнительные сведения см. в разделе операторы, перечисленные по функциональным возможностям.For more information, see Operators Listed by Functionality.

  • После бинарных операторов (+, -, /, *, Mod, <>, <, >, <=, >=, ^, >>, <<, And, AndAlso, Or, OrElse, Like, Xor) в выражении.After binary operators (+, -, /, *, Mod, <>, <, >, <=, >=, ^, >>, <<, And, AndAlso, Or, OrElse, Like, Xor) within an expression. Пример:For example:

    Dim memoryInUse =
      My.Computer.Info.TotalPhysicalMemory +
      My.Computer.Info.TotalVirtualMemory -
      My.Computer.Info.AvailablePhysicalMemory -
      My.Computer.Info.AvailableVirtualMemory
    

    Дополнительные сведения см. в разделе операторы, перечисленные по функциональным возможностям.For more information, see Operators Listed by Functionality.

  • После Is и IsNot операторы.After the Is and IsNot operators. Пример:For example:

    If TypeOf inStream Is 
      IO.FileStream AndAlso
      inStream IsNot
      Nothing Then
    
        ReadFile(inStream)
    
    End If
    

    Дополнительные сведения см. в разделе операторы, перечисленные по функциональным возможностям.For more information, see Operators Listed by Functionality.

  • После знака квалификатора элемента (.) и перед именем члена.After a member qualifier character (.) and before the member name. Пример:For example:

    Dim fileStream =
      My.Computer.FileSystem.
        OpenTextFileReader(filePath)
    

    Тем не менее, необходимо использовать знак продолжения строки (_) после знака квалификатора элемента при использовании With инструкции или указании значений в списке инициализации для типа.However, you must include a line-continuation character (_) following a member qualifier character when you are using the With statement or supplying values in the initialization list for a type. Рассмотрите возможность разрыва строки после оператора присваивания (например, =) при использовании With инструкций или списки инициализации объекта.Consider breaking the line after the assignment operator (for example, =) when you are using With statements or object initialization lists. Пример:For example:

    ' Not allowed:
    ' Dim aType = New With { .
    '    PropertyName = "Value"
    
    ' Allowed:
    Dim aType = New With {.PropertyName =
        "Value"}
    
    
    
    Dim log As New EventLog()
    
    ' Not allowed:
    ' With log
    '    .
    '      Source = "Application"
    ' End With
    
    ' Allowed:
    With log
        .Source =
          "Application"
    End With
    

    Дополнительные сведения см. в разделе с... Завершить с помощью инструкции или инициализаторы объектов: именованные и анонимные типы.For more information, see With...End With Statement or Object Initializers: Named and Anonymous Types.

  • После квалификатор свойство оси XML (. или [email protected] или ...).After an XML axis property qualifier (. or [email protected] or ...). Тем не менее, необходимо использовать знак продолжения строки (_) при указании квалификатора элемента при использовании With ключевое слово.However, you must include a line-continuation character (_) when you specify a member qualifier when you are using the With keyword. Пример:For example:

    Dim customerName = customerXml.
      <Name>.Value
    
    Dim customerEmail = customerXml...
      <Email>.Value
    

    Дополнительные сведения см. в разделе свойства оси XML.For more information, see XML Axis Properties.

  • После меньше-символ "больше" (<) или перед больше-знак больше (>) при указании атрибута.After a less-than sign (<) or before a greater-than sign (>) when you specify an attribute. Также после-знак больше (>) при указании атрибута.Also after a greater-than sign (>) when you specify an attribute. Тем не менее, необходимо использовать знак продолжения строки (_) при указании атрибутов уровня сборки или уровня модуля.However, you must include a line-continuation character (_) when you specify assembly-level or module-level attributes. Пример:For example:

    <
    Serializable()
    >
    Public Class Customer
        Public Property Name As String
        Public Property Company As String
        Public Property Email As String
    End Class
    

    Дополнительные сведения см. в разделе Обзор атрибутов.For more information, see Attributes overview.

  • До и после операторов запроса (Aggregate, Distinct, From, Group By, Group Join, Join, Let, Order By, Select, Skip, Skip While, Take, Take While, Where, In, Into, On, Ascending, и Descending).Before and after query operators (Aggregate, Distinct, From, Group By, Group Join, Join, Let, Order By, Select, Skip, Skip While, Take, Take While, Where, In, Into, On, Ascending, and Descending). Не удается прервать линию между ключевыми словами операторов запросов, состоящих из нескольких ключевых слов (Order By, Group Join, Take While, и Skip While).You cannot break a line between the keywords of query operators that are made up of multiple keywords (Order By, Group Join, Take While, and Skip While). Пример:For example:

    Dim vsProcesses = From proc In
                        Process.GetProcesses
                      Where proc.MainWindowTitle.Contains("Visual Studio")
                      Select proc.ProcessName, proc.Id,
                             proc.MainWindowTitle
    

    Дополнительные сведения см. в разделе запросы.For more information, see Queries.

  • После In ключевое слово в For Each инструкции.After the In keyword in a For Each statement. Пример:For example:

    For Each p In
      vsProcesses
    
        Console.WriteLine("{0}" & vbTab & "{1}" & vbTab & "{2}",
          p.ProcessName,
          p.Id,
          p.MainWindowTitle)
    Next
    

    Дополнительные сведения см. в разделе для каждого... Следующий оператор.For more information, see For Each...Next Statement.

  • После From ключевое слово в инициализатор коллекции.After the From keyword in a collection initializer. Пример:For example:

    Dim days = New List(Of String) From
      {
       "Mo", "Tu", "We", "Th", "F", "Sa", "Su"
      }
    

    Дополнительные сведения см. в разделе Инициализаторы коллекций.For more information, see Collection Initializers.

Исходный код не всегда говорит само за себя, даже для программиста, написавшего его.Source code is not always self-explanatory, even to the programmer who wrote it. Для документирования кода таким образом, большинство программистов использует комментарии.To help document their code, therefore, most programmers make liberal use of embedded comments. Комментарии в коде можно описать в процедуру или определенную инструкцию для тех, кто будет работать с ним в дальнейшем.Comments in code can explain a procedure or a particular instruction to anyone reading or working with it later. Visual Basic игнорирует комментарии во время компиляции, и они не влияют на скомпилированный код.Visual Basic ignores comments during compilation, and they do not affect the compiled code.

Строки комментариев начинаются с апостроф (') или REM разделенных пробелами.Comment lines begin with an apostrophe (') or REM followed by a space. Они могут добавляться в любом месте в коде, за исключением в строке.They can be added anywhere in code, except within a string. Для добавления комментария в инструкцию вставьте апостроф или REM после инструкции, за которой следует комментарий.To append a comment to a statement, insert an apostrophe or REM after the statement, followed by the comment. Комментарии можно также перейти на отдельной строке.Comments can also go on their own separate line. В следующем примере показано эти возможности.The following example demonstrates these possibilities.

' This is a comment on a separate code line.
REM This is another comment on a separate code line.
x += a(i) * b(i) ' Add this amount to total.
MsgBox(statusMessage) REM Inform operator of status.

Проверка ошибок компиляцииChecking compilation errors

Если после ввода строки кода, отображается строка синей волнистой (а также появляется сообщение об ошибке), есть синтаксическая ошибка в инструкции.If, after you type a line of code, the line is displayed with a wavy blue underline (an error message may appear as well), there is a syntax error in the statement. Необходимо найти сведения об ошибках с помощью инструкции (по в списке задач или ошибки с помощью указателя мыши при наведении и чтения сообщение об ошибке) и исправить ее.You must find out what is wrong with the statement (by looking in the task list, or hovering over the error with the mouse pointer and reading the error message) and correct it. До устранения всех синтаксических ошибок в коде, приложение скомпилировано не будет правильно.Until you have fixed all syntax errors in your code, your program will fail to compile correctly.

docs.microsoft.com

Оператор - бейсик - Большая Энциклопедия Нефти и Газа, статья, страница 1

Оператор - бейсик

Cтраница 1

Операторы Бейсика записываются в строки. Символ ВК означает нажатие клавиши Возврат каретки и в дальнейшем в приводимых примерах записываться не будет. В строке может быть несколько операторов. Однако один оператор не может занимать более чем одну строку.  [1]

Операторы бейсика используются для составления программы, реализующей алгоритм решения нашей задачи. Но после того, как программа подготовлена и введена в ЭВМ, жизнь программы еще только начинается. От конечного результата нас отделяет довольно много ступенек, по которым придется пройти.  [2]

Какие операторы бейсика могут выполняться в режиме непосредственного исполнения.  [3]

Каким оператором Бейсика обеспечивается ввод исходных данных с клавиатуры в ходе исполнения программы.  [4]

Оказывается, большинство операторов БЕЙСИКа и даже целые строки программы можно выполнять, однократно посылая их БЕЙСИК-системе, но без номера строки. Обратите внимание на то, что после отработки каждой команды для непосредственного исполнения БЕЙСИК-система сообщает о готовности.  [6]

Подпрограммы составляются из нумерованных операторов БЕЙСИКа, так же как и остальная программа. Первым ее оператором является обычно оператор комментария REM, поясняющий назначение подпрограммы.  [7]

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

Как уже говорилось, оператор Бейсика VIEW предназначен для выделения фрагмента пространства экрана, в котором производятся последующие графические операции. Этот оператор действует только в графическом режиме, так что при выводе на экран любых текстов все символьные позиции отсчитываются от границ экрана, а не отдельных окон.  [9]

В строке 15 помещен оператор Бейсика WIDTH, блокирующий автоматическую генерацию управляющей команды, которая вызывает перевод каретки и переход на новую строку.  [10]

Отметим, что а операторе Бейсика GOTO в качестве метки используется ссылка на строку, содержащую комментарий. При выполнении комментарий игнорируется и выполняется следующий оператор Бейсика.  [11]

Ранее уже говорилось, что оператор Бейсика CLS производит очистку экрана. Следует также иметь в виду, что при работе в графическом режиме он, кроме того, устанавливает в исходное положение курсор.  [12]

В программе употреблен новый для читателя оператор Бейсика LOCATE. С его помощью можно переместить курсор в любую точку экрана и с этой позиции начать вывод информации, задаваемый следующим за ним оператором PRINT. Далее LOCATE будет обсуждаться более подробно, здесь же достаточно того, что он позволяет установить, начиная с какой точки экрана будет произведен вывод. Первый параметр оператора LOCATE указывает, насколько курсор отстоит по вертикали ( вдоль оси ординат Y) от верхнего края экрана.  [13]

Двоеточие, вообще говоря, не является оператором стандартного БЕЙСИКа. Обычно в программах на БЕЙСИКе каждый оператор пишут с новой строки, имеющей свой собственный номер. Поэтому двоеточие можно успешно использовать для уменьшения количества строк.  [14]

Последнее бывает полезно при реализации каких-либо возможностей ЭВМ, не достигаемых операторами бейсика.  [15]

Страницы:      1    2    3

www.ngpedia.ru

Visual Basic - Оператор If...Then...Else (Урок 8) | NubClub

Оператор If...Then...Else.

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

В Visual Basic есть довольно большое количество различных операторов, некоторые из них способны вскипятить мозг даже бывалому программисту. Чтобы "не закипеть", мы рассмотрим только самые основные операторы на которых работает 95% программ, остальные операторы мы изучим по мере необходимости, таким образом тебе не придется зазубривать целый учебник и можно будет сразу же перейти к практическим занятиям.

Выкладывая данный урок, я подразумеваю, что у тебя есть познания в области математики начальных классов.
Что за познания? Это те самые примеры, в которых мы вычитали, складывали, умножали,... Припоминаешь такое? Отлично! Значит есть ещё порох в пороховницах.

Перед тем, как приступить к изучению оператора If...Then...Else необходимо познакомиться с арифметическими и логическими операторами, без которых оператор If...Then...Else нам никак не применить с точки зрения глубокой практики. Ладно, хватит скучных наставлений и отступлений, присаживайся поудобней, мы переходим к делу!

Арифметические операторы
С помощью данных операторов можно; делить, умножать, складывать и т.д.
Тут всё так же просто, как в школе в начальных классах.

+ (сложение)
- (вычитание)
* (умножение)
/ (деление с остатком) в школе знаком деления был вот это знак : запомни эти отличия и не путай
\ (целочисленное деление, без остатка)

Операторы сравнения
Это довольно важные операторы. С помощью данных операторов можно сравнивать числа, строки и другие данные. Без операторов сравнения невозможно построить логику или ветвление в программе.
Важно запомнить, что операторы сравнения сравнивают два выражения и возвращают логическое значение Boolean в виде True(если условие верно) и False(если условие не верно).
True в переводе с английского означает - Правда
False в переводе с английского означает - Ложь
С ходу возможно это покажется непонятным, но не переживай, чуть ниже ты поймешь что вся эта чертовщина значит.

= (равно)
Значение первого выражения равно значению второго выражения, либо это может быть результат сложения/вычитания/... двух вычислений.

<> (неравенство)
Значение первого выражения не равно значению второго выражения

< (меньше)
Значение первого выражения меньше значения второго выражения

> (больше)
Значение первого выражения больше значения второго

<= (меньше или равно)
Значение первого выражения меньше или равно значению второго

>=
(больше или равно)
Значение первого выражения больше или равно значению второго

Вижу-вижу, что тебе уже стало страшновато, на самом деле ничего страшного нет!
Читай дальше и ты убедишься, что всё довольно просто.
Ниже мы хорошенько подкрепим всё на примерах и на практике.
И так, арифметические и логические операторы мы рассмотрели, теперь можно перейти непосредственно к самому оператору If...Then...Else

Оператор If...Then...Else
Сначала давай посмотрим, что означают слова оператора, если их перевести с английского на русский язык.
If переводится, как Если
Then переводится, как То
Else переводится, как Иначе

Для чего используется оператор If...Then...Else?
С помощью данного оператора можно делать ветвление программ, без этого оператора невозможно написать серьезную программу.
Перейдем к типичным примерам.

Как компьютер обрабатывает оператор If...?
Допустим, что у нас есть две переменных:

Код (vb.net):

  1. Dim var1 = 10

  2. Dim var2 = 5

и допустим, что у нас есть условие:

Код (vb.net):

  1. If var1 > var2 Then

  2. MsgBox("Да, переменная var1 больше переменной var2")
  3. End If

Как условие показанное выше работает?
Компьютер посмотрит на переменные var1 и var2, если var1 действительно больше var2, значит условие верно(True - Правда) и компьютер покажет MsgBox.
Если условие будет не верно(False - Ложь), то компьютер не покажет MsgBox.
Убедиться в этом можно поменяв значения переменных на другие числа, чтобы условие получилось не верно, тогда мы не увидим MsgBox.

Внимание!


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

Нажмите, чтобы раскрыть...


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

Арифметические операторы
+ (сложение)
- (вычитание)
* (умножение)
/ (деление)

Спойлер: Арифметические примеры - НАЖМИ + Сложение:

Код (vb.net):

  1. 'Пример показывает как можно сложить два числа

  2.         Dim chislo1 As Integer = 5

  3.         Dim chislo2 As Integer = 5

  4.  

  5.         Dim resultat As Integer

  6.         resultat = chislo1 + chislo2

  7.  

- Вычитание:

Код (vb.net):

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

  2.         Dim chislo1 As Integer = 5

  3.         Dim chislo2 As Integer = 5

  4.  

  5.         Dim resultat As Integer

  6.         resultat = chislo1 - chislo2

  7.  

* Умножение:

Код (vb.net):

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

  2.         Dim chislo1 As Integer = 5

  3.         Dim chislo2 As Integer = 5

  4.  

  5.         Dim resultat As Integer

  6.         resultat = chislo1 * chislo2

  7.  

/ Деление:

Код (vb.net):

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

  2.         Dim chislo1 As Integer = 5

  3.         Dim chislo2 As Integer = 5

  4.  

  5.         Dim resultat As Integer

  6.         resultat = chislo1 / chislo2

  7.  

Операторы сравнения
= (равно)
<> (неравенство)
< (меньше)
> (больше)
<= (меньше или равно)
>= (больше или равно)

Спойлер: Операторы сравнения - НАЖМИ = Равно:

Код (vb.net):

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

  2.         Dim stroka As String = "Привет NubClub!"

  3.  

  4. 'Если stroka равна тексту в двойных кавычках значит покажи мне MsgBox

  5.         If stroka = "Привет NubClub!" Then

  6.             MsgBox("Переменная равна тексту, который мы ищем!")
  7.         End If

<> Неравенство:

Код (vb.net):

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

  2.         Dim stroka As String = "Привет NubClub!"

  3.  

  4. 'Если stroka не равна тексту в двойных кавычках значит покажи мне MsgBox

  5.         If stroka <> "Я начинающий программист" Then

  6.             MsgBox("Текст в переменной stroka не равен тексту в кавычках!")
  7.         End If

< Меньше:

Код (vb.net):

  1. 'Пример показывает как можно сравнить два числа

  2.         Dim chislo1 As Integer = 10

  3.         Dim chislo2 As Integer = 5

  4.  

  5. 'Если chislo2 меньше chislo1 значит покажи мне MsgBox

  6.         If chislo2 < chislo1 Then

  7.             MsgBox("Значение переменной chislo2 меньше значения переменной chislo1")
  8.         End If

> Больше:

Код (vb.net):

  1. 'Пример показывает как можно сравнить два числа

  2.         Dim chislo1 As Integer = 10

  3.         Dim chislo2 As Integer = 5

  4.  

  5. 'Если chislo1 больше chislo2 значит покажи мне MsgBox

  6.         If chislo1 > chislo2 Then

  7.             MsgBox("Значение переменной chislo1 больше значения переменной chislo2")
  8.         End If

<= Меньше или равно:

Код (vb.net):

  1. 'Пример показывает как можно сравнить два числа

  2.         Dim chislo1 As Integer = 10

  3.         Dim chislo2 As Integer = 5

  4.  

  5. 'Если chislo2 меньше или равно chislo1 значит покажи мне MsgBox

  6.         If chislo2 <= chislo1 Then

  7.             MsgBox("Значение переменной chislo2 меньше или равно значению переменной chislo1")
  8.         End If

>= Больше или равно:

Код (vb.net):

  1. 'Пример показывает как можно сравнить два числа

  2.         Dim chislo1 As Integer = 10

  3.         Dim chislo2 As Integer = 5

  4.  

  5. 'Если chislo1 больше или равно chislo2 значит покажи мне MsgBox

  6.         If chislo1 >= chislo2 Then

  7.             MsgBox("Значение переменной chislo1 больше или равно значению переменной chislo2")
  8.         End If

Оператор If...Then...Else - Ветвление
Выше были приведены довольно простые примеры использования условий If...Then, т.е. без ветвления и без применения Else.
Теперь давай рассмотрим примерчики с ветвлением, они немного посложнее, но без них никуда.
По своей сути с применением Else все примеры останутся такими же как и выше, добавится лишь небольшое ветвление программы.
Что добавится?
Если раньше у нас MsgBox появлялся только тогда, когда условие было верно, то с применение Else можно вызвать MsgBox даже тогда, когда условие не верно.

И так, пример.

Код (vb.net):

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

  2.         Dim stroka As String = "Привет NubClub!"

  3.  

  4. 'Если stroka равна тексту в двойных кавычках значит покажи мне MsgBox с текстом - Переменная равна тексту, который мы ищем!

  5. 'Если stroka НЕ РАВНА тексту в двойных кавычках значит покажи мне MsgBox с текстом - Переменная не равна тексту, который мы ищем!

  6.         If stroka = "Привет NubClub!" Then

  7.             MsgBox("Переменная равна тексту, который мы ищем!")
  8.         Else

  9.             MsgBox("Переменная не равна тексту, который мы ищем!")
  10.         End If

Бывают случаи, что у нас одна переменная и несколько значений с текстом, которые нужно проверить. Что тогда делать? Снимать штаны и бегать?!
Нет, это не наш метод
Есть более элегантное решение. Можно усложнить наше условие с помощью ElseIf и таким образом проверить сколько угодно строк, в разумных пределах конечно. Если строк очень много, то тут уже придут на помощь циклы, с которыми мы поработаем на следующих уроках.

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

Код (vb.net):

  1.  

  2.         'Сигналы светофора.

  3.         Dim red As String = "Красный"

  4.         Dim yellow As String = "Желтый"

  5.         Dim green As String = "Зеленый"

  6.  

  7.         'Текущий сигнал светофора yellow(желтый)

  8.         Dim signal As String = yellow

  9.  

  10.         If signal = red Then

  11.             MsgBox("Горит красный. Стоим!")
  12.         ElseIf signal = yellow Then

  13.             MsgBox("Горит желтый. Готовимся!")
  14.         ElseIf signal = green Then

  15.             MsgBox("Горит зеленый. Можно идти!")
  16.         Else

  17.             MsgBox("Светофор сломан, беда!")
  18.         End If

  19.  

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

Дополнение
Оператор if может быть однострочным, примеры:

Код (vb.net):

  1.         If var1 = var2 Then var3 = var4

Код (vb.net):

  1.         If TextBox1.Text = var2 Then var3 = var4

Код (vb.net):

  1.         If var1 = var2 Then MsgBox("NubClub это круто!")
На этом данный урок закончен и мы переходим к домашнему заданию в котором мы доведем светофор до ума и сделаем его динамическим, чтобы им можно было управлять через интерфейс.
Будет увлекательно, присоединяйся!

Скрытое содержимое, Вам необходимо войти или зарегистрироваться.

Вы не можете просматривать этот текст.

За самое лучшее выполненное задание, победителю будет начислено 500 руб!
Итоги будут подведены перед началом следующего урока.


Нравятся уроки?

Поделись с друзьями и ставь лайк!

Остались вопросы по уроку?
Задавай их в комментариях!

nub-club.com

Программирование в BASIC: Основные операторы языка BASIC

Примеры записи
Переменной А присваивается значение 2
Задание одномерного массива с максимальным номером 7
Задание матрицы размерности 3*4
Ввод чисел 5,7,9
 Присвоение переменным A,B,C численных значений, заданных оператором DATA
Поворот стека данных
Ввод значения A с клавиатуры
Ввод значения n после печати появления n=
Вывод на экран значения C
Вывод на экран значения после комментария
PRINT USING ‘####.##’; A(I) Форматный вывод на экран
Безусловный переход к строке с номером
If Условие Then
Оператор 1
Else
Оператор 2
End If
IF X<=10 THEN Y=X^3 ELSE Y=1/(X^2+1) Вычислить Y=X3, если X≤10, иначе Y=1/(X2+1)
For Счетчик = Начальное Значение To Конечное значение
Действия
Next Счетчик
Организация цикла с параметром X, меняющимся от -4 до 4 с шагом 0,2
Select Case Переменная или выражение
Case Значение 1
Действие
Case Значение 1
Действие
...
Case Else Действие в случае несовпадения End Select 
Case "Понедельник"MsgBox "Салат из шпината"MsgBox "Салат из морской капусты"MsgBox "На этот день у нас ничего не предусмотрено" Оператор Select Case идеально подходят для проверки одного и того же значения, которое нужно много раз сравнить с разными выражениями. 
Организация итерационного цикла  (с предусловием)
Обращение к подпрограмме, начинающейся со строки n
Возврат из программы
Печать комментария при выводе листинга программы
Остановка вычислений в любом месте программы
Переход в графический режим
Конец программы
Задание функций

programmabasic.blogspot.com

Основные операторы BASIC.

⇐ ПредыдущаяСтр 4 из 6Следующая ⇒

 

Мы рассмотрим несколько основных операторов языка.

CLS – очищает экран. Формат CLS[{0,1,2}]

Очищает либо текстовую, либо графическую области просмотра. Если была установлена графическая области просмотра (с помощью VIEW), то очищает только графическую область просмотра. В противном случае очищает текстовую область просмотра или весь экран.

0 – полностью очищает экран

1 - очищает графическую область просмотра или весь экран, если графическая область просмотра не была установлена.

2 – очищает текстовую область просмотра.

 

INPUT – оператор производит операцию ввода информации с клавиатуры дисплея в оперативную память.

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

Пример:

Команда в программе Результат на экране монитора.

INPUT k ?

INPUT “k=”,k k=

INPUT k1, k2, k3 ?

INPUT a1$, k1, a2$, k2 ?

В результате действия оператора, в первом случае, на экране дисплея появится «?» и машина будет ждать ввода числа «К» с клавиатуры, т.е. надо ввести с помощью клавиатуры нужное число и нажать на клавишу ввода (ENTER).

Количество вводимых данных должно соответствовать количеству переменных в списке. Если введено недостаточное количество значений, то компьютер вновь выводит знак «?» и ждет дополнительного ввода данных. Избыточные значения игнорируются. В третьем и четвертом примере показано, что с помощью одного оператора можно вводить как несколько чисел, так и сочетания разных типов констант.

REM – оператор позволяет включать комментарий в программу.

Формат: REM<произвольный текст>.

Оператор REM относится к невыполняемым операторам и не оказывает никакого влияния на порядок работы программы. Он используется только на уровне транслятора. Его единственная задача появится в листинге, и помочь своим текстом расшифровать фрагмент программы.

 

PRINT – Оператор обеспечивает вывод информации на дисплей, как числовой, так и символьной.

Пример1: PRINT «Исходные данные»

PRINT X,Y

В результате выполнения 1го оператора PRINT на экране будет напечатан текст «исходные данные», начиная с первой позиции строки экрана, во втором случае напечатаются значения «X» и «Y», из памяти на момент их печати.

Пример 2: PRINT «Значение Х=»;Х, «Значение Y=»;Y

Этот пример демонстрирует одновременное применение в операторе печати текста и значение числа, если на момент печати X и Y соответственно равны, например 50 и 70, то после выполнения этого оператора на дисплее будет напечатано: значение X=50 значение Y=70

 

Для вывода информации на принтер используют следующую форму оператора: LPRINT.

 

Оператор LET – оператор присвоения значения выражения, стоящего справа от знака = , переменной стоящей слева от знака =.

Переменная и выражение должны быть или оба числовыми или оба символьными.

Имя оператора LET может быть опущено.

Пример:

10 LET A=1

10 A=1

100 X= X*2+B

 

В операторе 100 происходит вычисление переменной X по формуле X=X*2+B, причем, здесь, заранее должно быть присвоено значение переменных X и B в программе.

 

Оператор DATA – служит для предварительной подготовки и хранения в памяти значений исходных данных.

Формат оператора: DATA <список констант>

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

 

Пример: DATA 10,20,5,0.5

 

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

Оператор READ – осуществляет ввод данных, значения которых представлены в операторе DATA.

Формат оператора: READ<список переменных>

 

Пример: DATA 10,20,5,0.5

READ A,B,S,D

 

После выполнения этих операторов переменные примут следующие значения

A=10, B=20, C=5, D=0.5, E=начало, F=конец.

Оператор GOTO – оператор безусловного перехода.

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

Формат оператора: GOTO<№ оператора куда перейти>

Пример:

100 GOTO 200 т.е. перейти к оператору с номером 200

 

Условные операторы

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

Общий вид оператора:

IF…THEN…ELSE…

IF<условие> THEN [блок операторов1] [ELSE [блок операторов2]]

Где <условие> логическое выражение

IF< условие > THEN<№ строки операторов>

IF< условие > ELSE <№ оператора>

Пример1:

 

IF x>0 THEN y=A*X*B ELSE Y=*X^2+B

Если <условие> = истина, то оператор 1

Если <условие> = ложь, то оператор 2

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

IF<условие> THEN

[блок операторов1]

ELSE

[блок операторов2]

END IF.

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

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

FOR…NEXT

Формат:

FOR<переменная цикла> = A TO B [STEP C]

… операторы

NEXT<переменная цикла>

 

Где <переменная цикла> - числовая переменная, используется как счетчик цикла.

A, B – числовые выражения, определяющие начальное и конечное условие цикла.

C – величина приращения счетчика после каждого цикла.

Если С=1, то обычно приращение не указывается.

Циклы FOR…NEXT могут быть вложенными друг в друга. Тогда каждый оператор цикла должен иметь своё имя переменной цикла (имя счетчика).

Хотя компилятору это безразлично, располагайте операторы между FOR и NEXT, с отступом на 2 или 3 пробела от края, выделяя, таким образом, структуру цикла.

Оператор DIM

Оператор DIM – объявляет массивы.

Формат команды:

DIM {переменная (индексы)} где:

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

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

 

Оператор используется для явного описания размерности массива и количества его элементов путем указания имени массива, за которым следует одно или два числа, заключенных в скобки. Если в программе отсутствует описание массива, то при первом использовании его элемента BASIC по умолчанию резервирует место в памяти для 11 элементов одномерного массива или для 121 элемента двумерного массива. Имена массивов в списке разделяется запятыми.

Пример:

 

300 DIM A(5), В(4,5)

 

Значение индекса элементов массива может принимать значение от 0 до числа, указанного в описании массива.

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

Пример:

 

10 DIM C%(10), A$(5,6), D(7)

 

Где массив С – одномерный массив из целых значений.

Где массив А – двумерный массив из строковых переменных.

Где массив D – одномерный вещественный массив.

 

GOSUB и RETURN (подпрограмма).

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

Формат команды:

GOSUB №(номер строки программы)

RETURN

Пример:

 

10 REM ”главная программа”

100 GOSUB 500

200 GOSUB 500

300 STOP

500 REM

600 RETURN

700 END

 

FUNCTION

Процедура FUNCTION имя [(параметры)] [STATIC]

имя [блок операторов]

Имя = выражение [блок операторов]

END FUNCTION

- имя – имя функции и возвращаемый ею тип данных, указанный суффиксом типа данных (%,&,!,#,$).

параметры – одна или несколько переменных, указывающих параметры, которые передаются в функцию при ее вызове:

переменная – имя переменной.

тип – тип данной переменной

переменная [()][AS тип][, переменная[()][AS тип]]…

[STATIC] – указывает, что значение локальных переменных функции сохраняются между вызовами функций.

[выражение] – возвращаемое значение функции.

 

Варианты третьего задания на контрольную работу.

Задание №3 содержит два вида заданий программирование разветвляющегося и циклического алгоритмов. Первый вид задания имеет нечетные номера вариантов - второй четные. Кроме этого в приложениях №1 и№2 даны среда программирования QBASIC и образец оформления третьего задания. В приложении №3 приводятся встроенные функции реализованные в среде QBASIC.

Пример №1. Программирование разветвляющегося алгоритма.

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

 

 

 

 

Алгоритм решения данной задачи будет иметь вид:

 

 

По полученному алгоритму запишем текст программы (используя блочную форму оператора IF):

 

CLS

REM С разветвлением

Pi=3.14

INPUT «Введите а»;а

INPUT «Введите х»;х

IF x>0 THEN

y=sin(Pi/(12+x))+x^2-5*a

ELSE

y=sin(Pi/(12+x))+x^2+5*a

END IF

PRINT «y=»;y

END

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

Пример №2. Программирование циклического алгоритма.

Пусть необходимо составить программу для вычисления функции:

для х=-1 до 3 с шагом 0.5

Алгоритм решения данной задачи будет иметь вид:

 

Приведем один из возможных вариантов программы:

 

CLS

REM Циклическая программа

FOR х=-1 TO 3 STEP 0.5

y=(exp(x^2)+exp(-x^2))/2

PRINT “y(”;x;”)=”;y

NEXT х

END

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

  1. Y =
  2. M= , для х= 0¸3; шаг 0,5.
  3. Y =

 

  1. N= , для х=0,4¸4; шаг 0,4.
  2. Y =

6. P= , для х=0¸10; шаг 1.

  1. Y =

 

  1. R= e- , для х=0¸2; шаг 0,2.
  2. . Y =
  1. L= sin , для х=0¸3; шаг 0,3.

 

  1. Y =

 

 

  1. M= , для х=0¸4; шаг 0,5.

 

  1. Y=

 

  1. N= 5x- 8lnx – 8, для х=2¸5; шаг 0,1.

 

  1. R = где L(x)=
  1. N= 5x- 8lnx – 8, для х=2¸5; шаг 0,1.

 

  1. R = где L(x)=

 

  1. P= x- 2,89 sin - 0,126, для х=-1¸3; шаг 0,2.

19. R = где L(X)=

  1. R= tgx-e-x +x-1, для х=-1¸1; шаг 0,1.

 

  1. R=
  2. L= ln(x+ )+x+4, для х=1¸5; шаг 0,25.
  1. R =

 

  1. N= , для х=0¸5; шаг 0,25.

 

  1. R =

 

26.

  1. R =

29. R= где L(z)=

 

 

 

©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.

arhivinfo.ru

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *