Файл: regeda_v_v_regeda_o_n_osnovy_programmirovaniya_na_vba.pdf

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

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

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

Добавлен: 02.12.2019

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

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

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
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),