Файл: regeda_v_v_regeda_o_n_osnovy_programmirovaniya_na_vba.pdf

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

Категория: Не указан

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

Добавлен: 02.12.2019

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

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

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

Оператор

 

INPUT

 

целесообразно

 

использовать

 

для

 

присвоения

 

значе

-

ний

 

тем

 

переменным

значения

 

которых

 

не

 

известны

 

заранее

Иначе

 

при

-

шлось

 

бы

 

каждый

 

раз

 

редактировать

 

программу

для

 

изменения

 

значения

 

переменной

2.4.5.

 

Оператор

 

DATA

 

создает

 

в

 

памяти

 

таблицу

 

констант

которые

 

затем

 

могут

 

присваиваться

 

переменным

 

с

 

помощью

 

оператора

 

READ

и

 

имеет

 

следующий

 

формат

:  

DATA  

константа

[,

константа

] . . .  

где

 

константа

 

 

это

 

любая

 

числовая

 

или

 

символьная

 

константа

Числовые

 

константы

 

могут

 

быть

 

целые

 

или

 

вещественные

в

 

десятичном

 

представлении

 

или

 

в

 

формате

 

с

 

плавающей

 

точкой

Символьную

 

константу

 

необязательно

 

заключать

 

в

 

кавычки

если

 

только

 

она

 

не

 

содержит

 

запятых

двоеточий

 

и

 

значимых

 

пробелов

 

или

 

в

 

начале

или

 

в

 

конце

Символьные

 

и

 

числовые

 

константы

 

могут

 

быть

 

произвольно

 

перемешаны

.  

Например

,  

DATA 22,"

Пенза

,   

ул

Красная

", 

Москва

, 22.33 

В

 

программе

 

допустимо

 

любое

 

число

 

операторов

 

DATA

стоящих

 

в

 

любом

 

месте

Все

 

данные

объявляемые

 

операторами

 

DATA

последова

-

тельно

 

объединяются

 

в

 

одну

 

непрерывную

 

таблицу

.  

2.4.6.

 

Оператор

 

READ

 

имеет

 

следующий

 

формат

READ 

переменная

 [, 

переменная

] . . . 

где

 

переменная

 

 

числовая

символьная

 

или

 

индексная

 

перемен

-

ная

Оператор

 

READ

 

используется

 

только

 

совместно

 

с

 

оператором

 

DATA

Он

 

читает

 

данные

перечисленные

 

в

 

операторе

 

DATA

и

 

присваивает

 

их

 

значения

 

переменным

 

из

 

указанного

 

в

 

нем

 

списка

Типы

 

переменных

 

должны

 

соответствовать

 

типам

 

данных

 

в

 

DATA

Иначе

 

при

 

выполнении

 

программы

 

выдается

 

сообщение

 

об

 

ошибке

 

номер

 2. 

Несколько

 

операторов

 

READ

 

могут

 

читать

 

данные

 

из

 

одного

 

опера

-

тора

 

DATA

выбирая

 

их

 

один

 

за

 

другим

Если

 

количество

 

переменных

 

в

 

операторах

 

READ

 

больше

чем

 

количество

 

данных

 

в

 

операторах

 

DATA

то

 

возникает

 

сообщение

 

об

 

ошибке

 

номер

 4. 

В

 

то

 

же

 

время

обязательно

 

ис

-

пользоваться

 

могут

 

и

 

не

 

все

 

данные

 

из

 

операторов

 

DATA

Пример

 

 

 

 

DATA 1, 33.4, 66, 44 

      READ 

a,b,c 

В

 

результате

 

работы

 

программы

 

переменным

 

присвоятся

 

следующие

 

значения

:

 

а

=1, b=33.4, 

с

=66.

 


background image

Чтобы

 

повторно

 

прочитать

 

данные

 

из

 

оператора

 

DATA

  (

снова

 

вер

-

нуться

 

к

 

началу

 

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

), 

применяют

 

оператор

 

RESTORE

имеющий

 

следующий

 

формат

 : 

RESTORE [

метка

где

 

метка

 

 

идентификатора

 

оператора

 

DATA

.

 

Если

 

метка

 

не

 

указа

-

на

то

 

имеется

 

в

 

виду

 

первый

 

из

 

операторов

 

DATA

 

в

 

программе

После

 

вы

-

полнения

 

RESTORE

  

оператор

 

READ

 

может

 

снова

 

читать

 

данные

 

из

 

этого

 (

и

 

следующих

операторов

 

DATA

Пример

 

DATA 21, 3.3,-44 :READ a,b 

REM 

В

 

результате

 

RESTORE      :READ 

с

  

REM  

а

=21, b=3.3, 

с

=21 

2.5.

 

Основные

 

операторы

 

вывода

 

в

 TURBO BASIC 

Операторы

 

вывода

 TB 

предназначены

 

для

 

вывода

 

данных

 

на

 

экран

принтер

 

и

 

в

 

файл

.  

2.5.1.

 

Оператор

 

PRINT

 

используется

 

для

 

вывода

 

информации

 

на

 

эк

-

ран

 

монитора

и

 

имеет

 

следующий

 

формат

{PRINT

?} [

список

 

выражений

 ]  

где

 

список

 

выражений

 

 

список

 

числовых

 

и

/

или

 

символьных

 

вы

-

ражений

разделенных

 

запятыми

пробелами

 

или

 

точками

 

с

 

запятой

Сим

-

вольные

 

константы

 

должны

 

быть

 

в

 

кавычках

Список

 

значений

 

выражений

 

выводится

 

на

 

экран

если

 

этот

 

список

 

пустой

 

и

 

оператор

 

не

 

заканчивается

 

точкой

 

с

 

запятой

 

или

 

запятой

то

 

кур

-

сор

 

переходит

 

на

 

следующую

 

строку

 

на

 

экране

Оператор

 

PRINT

 

без

 

пара

-

метров

 

выводит

 

на

 

экран

 

монитора

 

пустую

 

строку

Знаки

 

пунктуации

разделяющие

 

выражения

 

в

 

списке

 

выражений

 

или

 

стоящие

 

в

 

конце

 

оператора

 

PRINT

используются

 

для

 

определения

 

места

 

в

 

строке

 

экрана

куда

 

будут

 

выводиться

 

значения

 

этих

 

выражений

Запятая

 

в

 

качестве

 

разделителя

 

в

 

списке

 

приводит

 

к

 

переходу

 

в

 

на

-

чало

 

новой

 

зоны

 (

строка

 

экрана

 

делится

 

на

 

зоны

 

по

 14 

позиций

).  

Точка

 

с

 

запятой

 

или

 

пробел

 

(

пробелы

в

 

качестве

 

разделителя

 

в

 

спи

-

ске

 

приводит

 

к

 

выводу

 

очередного

 

значения

 

непосредственно

 

за

 

предыду

-

щим

 

через

 

пробел

.  

Если

 

предыдущий

 

оператор

 

PRINT

 

оканчивается

 

пробелом

то

 

по

-

следующий

 

оператор

 

PRINT

 

выводит

 

значения

 

с

 

начала

 

следующей

 

стро

-

ки


background image

Пример

:

 

a= -5 REM 

В

 

результате

 

на

 

экране

 

выведутся

 

значения

PRINT "1"; "2"   "3", "4"", "5" 

REM  1 2 3 4 5 

PRINT a ;  :  PRINT "y=" ; a+10 

REM   -5 y= 5 

За

 

выводом

 

числа

 

всегда

 

следует

 

пробел

положительному

 

числу

 

все

-

гда

 

предшествует

 

пробел

а

 

отрицательному

 

 

знак

 

минуса

2.5.2.

 

Оператор

 

PRINT USING

  

служит

 

для

 

вывода

 

данных

 

на

 

экран

 

монитора

 

в

 

указанном

 

формате

 

и

 

имеет

 

формат

PRINT USING v$ ; 

список

 

где

 

v$

 

 

символьная

 

константа

 

или

 

переменная

определяющая

 

фор

-

мат

 

вывода

список

 

 

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

 

разделенных

 

запятыми

 

или

 

точками

 

с

 

запятой

 

числовых

 

или

 

символьных

 

выражений

значения

 

кото

-

рых

 

выводятся

Рассмотрим

 

некоторые

 

значения

 

константы

 

 

v$

 

для

 

вывода

 

чисел

#

 

 

представляет

 

позицию

 

десятичной

 

цифры

содержит

 

цифру

 

или

 

пробел

 (

слева

 

от

 

цифр

); 

 

определяет

 

десятичную

 

точку

справа

 

от

 

этой

 

позиции

 # 

может

 

представлять

 

только

 

цифру

+

 (

в

 

начале

 

или

 

конце

 

строки

 

формата

 

указывает

что

 

знак

 

числа

 

(+ 

или

 -) 

выводится

 

в

 

эту

 

позицию

 

(

в

  

начале

 

или

 

конце

 

строки

 

формата

 

указывает

что

 

знак

 

отри

-

цательного

 

числа

 (

или

 

пробел

выводится

 

в

 

эту

 

позицию

^^^^ 

(

за

 

цифровыми

 

позициями

 

указывают

 

на

 

экспоненциальный

 

формат

 

и

 

заполняются

 

знаками

 

E

±

nn 

(

для

 

числа

 

с

 

простой

 

точностью

), 

где

 nn 

 

порядок

 

числа

 . 

Пример

:

 

X= 15.44378 

PRINT USING "###.##";x, :PRINT USING "+##.####";x, 
PRINT USING "-##.#";x,  :PRINT USING "#.#^^^^";x 

x= -15.44378: 

PRINT USING "###.##";x, :PRINT USING "+##.####";x, 
PRINT USING "-##.#";x,  :PRINT USING "+#.#^^^^";x 
PRINT USING "#.#";x 

В

 

результате

 

выполнения

 

этой

 

программы

 

получим

 

на

 

экране

 

15.44   +15.4438 

  

15.4  1.5

Е

+02 


background image

-15.44   -15.4438 

 -15.4  -1.5E+02 

%

-15.443799 

Если

 

вводимое

 

число

 

не

 

соответствует

 

формату

он

 

расширяется

 

влево

 

цифровыми

 

позициями

 

и

 

дополняется

 

слева

 

знаком

 %. 

Если

 

такое

 

случится

то

 

необходимо

 

отредактировать

 

формат

 

вывода

 

и

 

вновь

 

запус

-

тить

 

программу

2.5.3.

 

Оператор

 

LPRINT (LPRINT USING)

 

в

 

отличие

 

от

 

PRINT 

(PRINT USING)

 

выводит

 

информацию

 

не

 

на

 

экран

а

 

на

 

принтер

Как

 

правило

на

 

момент

 

отладки

 

программы

 

используют

 

оператор

 

PRINT 

(PRINT USING)

а

 

затем

 

его

 

он

 

заменяется

 

на

 

оператор

 

LPRINT 

(LPRINT USING)

2.5.4.

 

Функция

 

TAB (n)

 

используется

 

только

 

в

 

операторах

 

PRINT

 

и

 

LPRINT

Её

 

действие

 

состоит

 

в

 

переходе

 

на

 

позицию

 

n

 (

n

 

 

целое

 

выраже

-

ние

 

со

 

значением

 

от

 1 

до

 225) 

на

 

устройстве

 

вывода

если

 

же

 

текущая

 

по

-

зиция

 

больше

 

n

то

 

осуществляется

 

переход

 

на

 

позицию

 

n

 

в

 

следующей

 

строке

Функцию

 

TAB f(n)”*”

 

часто

 

используют

 

в

 

программах

 

для

 

упро

-

щенного

 

построения

 

графиков

 

функциональных

 

зависимостей

 

f(n). 

Где

 

по

-

ложения

 

звездочки

 

по

 

горизонтали

 

соответствуют

 

значениям

 

функции

 

f(n)

 

для

 

текущих

 

значений

 

n

В

 

отличии

 

от

 

привычного

 

графика

 

ось

 

у

 

распо

-

ложена

 

горизонтально

 

слева

 

направо

а

 

ось

 

Х

 

вертикально

 

сверху

 

вниз

Составить

 

программу

для

 

вычисления

 

и

 

вывода

 

на

 

экран

 

монитора

 

значений

 

функции

 

Y= 50/X

2

 

и

 

соответствующих

 

ей

 

значений

 

аргумента

 

в

 

виде

 

таблицы

 

для

 

х

 = 1, 2, ..., 8. 

Построить

 

на

 

экране

 

монитора

 

график

 

из

-

менения

 

этой

 

функции

 

для

 

тех

 

же

 

значений

 

аргумента

2.6.

 

Разветвляющиеся

 

программы

 

в

 TURBO BASIC 

Часто

 

в

 

программах

 

в

 

зависимости

 

от

 

выполнения

 

некоторого

 

логи

-

ческого

 

условия

 

необходимо

 

организовать

 

вычисление

 

либо

 

по

 

одним

ли

-

бо

 

по

 

другим

 

формулам

т

.

е

вычислительный

 

процесс

 

должен

 

идти

 

по

 

од

-

ной

 

или

 

по

 

другой

 

ветви

Подобные

 

программы

 

называются

 

разветвляю

-

щимися

.

 

Пример

Составить

 

программу

 

для

 

вычисления

 

значения

 

ступенчатой

 

функции

 

Z

 

для

 

любых

 

значений

 

X, a, b

Вывести

 

результат

 

в

 

документ

<

<

+

=

b

X

b

X

a

a

X

при

при

при

,

,

,

X

tg

X

cos

1

X

5

.

0

Z

2

2

 


background image

Здесь

 

вычислительный

 

процесс

 

имеет

 

три

 

ветви

Схема

 

этого

 

алго

-

ритма

 

представлена

 

на

 

рис

. 2.2.  

 

Рис

. 2.2 

После

 

присвоения

 

значений

 

переменным

 

X, a 

и

 b

 

в

 

зависимости

 

от

 

истинности

 

одного

 

из

 

условий

проверяемых

 

в

 

условном

 

символе

 3, 

зна

-

чение

 

функции

 

Z

 

будет

 

вычисляться

 

по

 

одному

 

из

 

трех

 

выражений

а

 

затем

 

произойдет

 

переход

 

в

 

общую

 

ветвь

 

к

 

символу

 

печати

 7. 

После

 

составления

 

схемы

 

алгоритма

 

можно

 

переходить

 

к

 

написанию

 

программы

 

в

 

соответст

-

вии

 

со

 

схемой

При

 

этом

 

в

 

зависимости

 

от

 

используемых

 

операторов

 

про

-

граммы

 

будут

 

несколько

 

отличаться

 

друг

 

от

 

друга

Ознакомиться

 

с

 

условными

 

операторами

 

языка

 TB, 

используемыми

 

при

 

составлении

 

разветвляющихся

 

программ

строчным

 

оператором

 

IF, 

IF

-

блоком

 

и

 

оператором

 

SELECT

Составным

 

элементом

 

этих

 

конструк

-

ций

 

является

 

условие

,

 

представляемое

 

целым

 

выражением

Равенство

 

нулю

 

выражения

 

воспринимается

  

как

  

логическая

 

ложь

неравенство

 

 

как

 

логи

-

ческая

 

истина

Оператор

 

безусловного

 

перехода

 

GOTO

 

метка

 

вызывает

 

пе

-

реход

 

к

 

оператору

 

с

 

указанной

 

меткой

2.6.1.

 

Строчный

 

оператор

 

IF

 

имеет

 

следующий

 

формат

IF x [ , ] THEN 

операторы

 [ ELSE  

операторы

 ] 

где

 

x

  

 

целое

 

выражение

операторы

  

 

оператор

 

или

 

последова

-

тельность

 

разделенных

 

двоеточием

 

выполняемых

 

операторов

Если

 

значение

 

x

 

истинно

  (

не

 

равно

 0), 

то

 

выполняются

 

операторы

следующие

 

за

 

THEN

,

 

после

 

чего

 

выполнение

 

строчного

 

IF

 

прекращается

 

и

 

программа

 

переходит

 

к

 

следующему

 

оператору

Если

 

x

 

ложно

, (

равно

 0),