Тема проблемен анализ


ТЕМА 10. ПРОМЕНЛИВИ И ПРОЦЕДУРИ



страница3/3
Дата06.04.2017
Размер0.53 Mb.
#18622
ТипАнализ
1   2   3
ТЕМА 10. ПРОМЕНЛИВИ И ПРОЦЕДУРИ
Освен име, тип на данните и значение, променливата притежава и област на действие (валидност). За процедурите също трябва да бъде ясно дали могат да се извикват от определени модули, или са ва­лидни за целия проект.
ЛОКАЛНИ ПРОМЕНЛИВИ- Локалните променливи се декларират в рамките на една процедура и могат да се използват само в нея. Използват се предимно за съхраняване на междинни резултати или за броячи с локално значение. След като се изпълнят командите на тази процедура, локалните променливи се изтриват от паметта. При ново повикване на процедурата, за тях отново се резервира памет.

ПРОМЕНЛИВИ И МОДУЛИ- Декларираните в частта за декларации на модула променливи могат да бъдат използвани само за този модул, но не и за останалите модули в рамките на проекта. Променливите на модула остават в па­метта през цялото време от изпълнението на програмата.


ГЛОБАЛНИ ПРОМЕНЛИВИ- глобалните променливи се декларират в отрязъка за декларации на модула чрез използване на следния синтаксис:

Public Име_на_променлива [As Тип]

Този тип променливи имат област на действие в процедурите на всички модули на програмата. Те остават в паметта през цялото време от изпълнението на програмата и не губят стойността си.

ОБЛАСТ НА ДЕЙСТВИЕ НА ПРОЦЕДУРИ


Областта на действие на процедурите се дефинира чрез ключовите думи Public и Private.

Public - разширява областта на действие в рамките на целия проект. Това означава, че. проце­дурата може да се извиква от процедурите на същия модул или от процедури на други модули в рамките на един проект.

Private - ограничава действието на процедурата само до модула, в който е дефинирана. Извикването на процедури се осъществява чрез задаване на нейното име и евентуално пред него може да присъства и командата Call.

[Call] Име_на_процедура [(Списък от аргументи)]

Изписването на оператора Call не е задължително, но с него програмата става по-разбираема и удобна за четене. Извикване на процедура означава, че управлението на програмата се предава на нея. След изпълнение на командите в тази процедура, управлението се връща обратно в извикващата проце­дура и изпълнението продължава от оператора, който е кодиран след Call.

Константи

Константите са числа, знакови низове или данни от тип дата/време, които не се променят по време на изпълнението на програмата.



Пример: DDS = Zena * 0.2; в случая 0.2 е константа и не се променя.

Администрирането и поддържането на програмата ще се улесни, ако се използва операторът Const:

[Public]Const Име_на_константа = Стойност

Име_на_константа е символично име, за което важат правилата за имена на променливи. Стойност може да бъде число, символен низ и др.

За декларирането и областта на действие на константите важат правилата за променливите. Има локални константи, глобални константи или такива, които са валидни само за един модул.

Примери:,

Const Pl= 3.14159265

Public Const Maximum =6

Const Codename = "Ivan"

Const Naselenie_Zemja -7E+09

Const Zena_km = 0.39 '= Цена за километър



Коментари

Използването на коментари говори за добър стил на програмиране. Коментарите започват със зна­ка апостроф (') или с командата Rem.



Забележка:

» Въведените с апостроф (') или с командата Rem коментари се оцветяват в зелено от VBA;

» При изпълнение на програмата, коментарите се игнорират

Пример: DDS = Zena*0.2 'ДДС е 20% от цената

ТЕМА 11. ИЗЧИСЛЯВАНЕ В VBA
В езика за програмиране VBA се използват познатите аритметични оператори +; -; *; /;^. При рабо­та с аритметични изрази с повече операции са в сила приоритетите на аритметичните действия, познати от математиката.

Пример:


Оператор

Резултат

Debug. Print 6+2*5

16

Debug. Print (6+2)*5

40

Rez = 2000 + (Nom*1.20)

2600 (Norn = 500)

Rez = 7+3*4/6-(8+2)/5

7

Забележка: Debug. Print е основен оператор за извеждане на данни; използва се предимно при тества­не на програма. Извеждането на данните е в директния прозорец, който се активира чрез меню View във Visual Basic-Editor.

Синтаксис: Debug.Print Израз

Математически функции и функции за конвертиране

Наред със самостоятелно програмираните функции има много готови, интегрирани във VBA функ­ции. Касае се за така наречените DLL-файлове (Dynamics Link Libraries, т.е. библиотеки), в които се съ­държат функции и процедури за определени области и са винаги на разположение при необходимост. Става дума за малки програми, които функционират на следния принцип:

Функцията се извиква по име, като при това в скобите се предава поне един аргумент. Аргументът (по правило числова стойност) се обработва от функцията. Като резултат на извикващата процедура се предава само една стойност (числова).

МАТЕМАТИЧЕСКИ ФУНКЦИИ



Sqr изчислява квадратен корен от число

Синтаксис: Променлива = Sqr(Число)

Debug. Print Sqr(Число)

При извикване на функцията Sqr се предава аргумента Число. Функцията пресмята квадратния корен и предава резултата на променлива или директно се показва в директния прозорец.


Rez = Sqr (25) Резултат: 5

Debug.Print Sqr(25)

В следващата таблица са представени най-използваните математически функции, вградени във VBA.


Функция

Цел

Abs (Число)

Абсолютна стойност

Cos(Ъгъл)

Косинус

Ехр(Число)

Експоненциална функция

int( Число)

Цяло число

Log(Число)

Натурален логаритъм

Rnd(Число)

Рандомизация (случайно число)

Sin(Ъгъл)

Синус

Sqr(Число)

Квадратен корен

Tan(Ъгъл)

Тангенс

ФУНКЦИИ ЗА КОНВЕРТИРАНЕ

С тяхна помощ стойности от един тип данни могат да бъдат преобразувани в друг тип. Към тази група принадлежат функциите str и val.

Str(Число) - използва се при извеждане на символни низове и числа

Пример:

MsgBox ( lme+", ти си на "+str(Godini)+"години!")

След изпълнение на функцията ще се получи: Иво, ти си на 18 години!

В променливата Ime е съхранено името Иво, а в променливата Godini числото 18 Двете променливи са свързани с константен текст Тъй като целият израз трябва да бъде от един тип, функцията str преобразува число­то 18 в символен низ - изписва се 18, но това вече не е число, а низ от два знака -1 и 8.

Val (Число) - използва се за преобразуване на знаков низ в число. При първия знак, който не е число, пре­образуването се прекратява.

Пример: Val (символен низ)

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

Dim Num


Num = Val("2345")' резултатът е числото 2345

Num = Val("1180 Sofia") 'резултатът е числото 1180




ТЕМА 12. ИТЕРАЦИИ (ПОВТОРЕНИЯ)
Понякога в хода на изпълнението на програмата се налага някоя част на програмата да се изпълни повече от един път, което води и новото изпълнение на блока от оператори в нея. В такива случаи всички езици за програмиране предлагат средства за организиране на цикли. VBA също предоставя на потреби­теля няколко възможности, а коя от тях ще бъде предпочетена, зависи преди всичко от конкретния проблем.


  1. Do-Loop цикли

Програмни структури за организиране на циклично изпълнение на блок от оператори.

Намиращите се между ключовите думи Do и Loop оператори се изпълняват дотогава, докато не се изпълни условието за повторение. Проверката за изпълнение на условието може да се направи в на­чалото, в края или някъде в тялото на цикъла.




Синтаксис 1:

Do [ {While | Until} Условие]

.

.



.

Оператори



[If Условие Then Exit Do]

.

.



.

Loop

Проверка на условието в началото на цикъла.Повторение на операторите от цикъла, докато условието е изпълнено (while) или докато условието не се изпълни (until).
Възможност за преждевременно излизане от цикъла, ако се изпълни друго условие.
След достигане на ключовата дума Loop, изпълнението отново се връща към оператора Do. Ако зададеното там условие още е в сила, операторите от тялото се изпълняват отново, в противен случай се излиза от цикъла.
Управлението се предава на следващия оператор, който не принадлежи на цикъла



Синтаксис 2:

Do

Оператори



[If Условие Then Exit Do]

Loop [{while ] Until}Условие]

Възможност за преждевременно излизане от цикъла , ако е изпълнено даденото условие. Проверка на условието за повторение в края на цикъла.




Забележка: При проверка на условието в края на цикъла, операторите от тялото на цикъ­ла ще се изпълнят поне веднъж.



2. While-Wend цикли

Програмна структура за организиране на циклично изпълнение на блок от оператори.

Намиращите се между ключовите думи while и Wend оператори ще се изпълняват дотогава, до­като условието за повторение е изпълнено. Проверката на условието се прави в началото на цикъла. Тази структура наподобява структурата Do whi le...Loop.



Синтаксис:

while Условие

Оператори



Wend

Тук се проверява дали условието е изпълнено.

При Да се изпълняват операторите от тялото на цикъла.

При достигане на ключовата дума wend, програмата отново се отклонява към оператора while





Забележка: За този вид организация на цикъл е характерно това, че проверката се извършва в началото на цикъла и е възможно цикъла да не се състои, ако условието не се изпълнява.


3. For-Next цикли- програмна структура за организиране на циклично изпълнение на блок от оператори

Намиращите се между ключовите думи For и Next оператори ще се изпълняват дотогава, дока­то условието за повторение е изпълнено. Проверката на условието се прави в началото на цикъла или в неговото тяло.





Синтаксис:

For Брояч = Нач.значение то Кр.значение [step Стъпка]

Оператори

[If Условие Then Exit For]

Next [Брояч]

Броячът (идентификатор) на цикъла е числова променлива. При първото преминаване през цикъла, броячът получава начална стойност (напр. 1).

Следват операторите от тялото на цикъла. Алтернативна възможност за преждевре­менно излизане от цикъла предлага командата Exit For при изпълнение на дадено условие.

При достигане на оператор Next програмата се отклонява към началото на цикъла -оператор For.


Броячът се увеличава според зададената стойност за стъпка (ако не е зададена такава стандартно се приема 1).

Цикълът се изпълнява докато броячът достигне значението на крайната стойност.



Циклите могат да бъдат влагани един в друг. Един външен цикъл може да съдържа в себе си ня­колко вътрешни цикъла. На следващата схема е показан пример за вложени For - цикли. Тук е валидно следното правило: първият For принадлежи на последния Next, вторият For на предпоследния Next ит.н.

Пример


For I=1 То 100

Sum=Sum+1



Next I

Числовата променлива / се увеличава с 1 при всяко преминаване през цикъла. В тялото на цикъла всяка стойност на брояча се прибавя към Sum. След изработване на цикъла в Sum ще се натрупа сбора на числата от 1 до 100.



ТЕМА 13. ВЪВЕЖДАНЕ И ИЗВЕЖДАНЕ НА ДАННИ ЧРЕЗ ФУНКЦИИТЕ INPUTBOX, MSGBOX


  1. Функция InputBox - много често в програмите се налага след въвеждане на данни в диалогово поле то да бъде затво­рено и ходът на програмата да продължи. VBA предлага на потребителя функцията InputBox с въз­можност за предварително дефиниране на диалоговото поле.




Синтаксис:

inputBox(Съобщение[,[Заглавие][,[Standart(|[,Xposition,YPosition]]])

Съобщение

Символен низ, който се извежда в диалоговата кутия с мак­симална дължина от 1024 знака. Ако съобщението е по-дълго от един ред ще трябва да се използват функциите Chr(13) за връщане на каретка и chr(10) пред тази част на текста, която отива на другия ред.

Заглавие Standard

Символен низ, който се записва в заглавната ивица на ди­алоговата кутия. Ако такъв не се въведе, се изписва името на програмата.

Символен низ, който да служи като стандартно значение.



Xposition

Разстояние по хоризонтала между левия ръб на диалого­вото поле и левия край на екрана.

Yposition

Разстояние по вертикала от горния ръб на диалоговото поле до горния край на екрана.

След кликване на бутона ОК от диалоговата кутия функцията InputBox връща на извикващата процедура символен низ (стринг) с въведените от потребителя данни в полето за въвеждане. Ако се клик-не на бутона Cancel се въвежда празен стринг ("").
2. Функция MsgBox - С помощта на тази функция потребителят получава междинни резултати в хода на изпълнението на програмата. Чрез кликване на бутон, той има възможност да реагира на съобщението в диалоговото поле. Работата с тази функция е много полезна за програмата, защото чрез отпечатване на данни и изда­ване на съобщения подпомага програмиста при откриване на грешки или при необходимост от решения на ситуации с отговори Да/Не.

Синтаксис:

MsgВох(Съобщение [, Тип [.Заглавие]])
където: Съобщение: Текст, който ще се появи в диалоговото поле

Тип: Символен низ, който се появява в титулната лента на диалоговата кутия. Ако този параметър отсъства, се изписва името на съответната програма.

Заглавие: Символен низ, който се появява в заглавната ивица. Ако този параметър от­съства, се изписва името на съответната програма





Каталог: old -> temi
temi -> Тема 1: Видове изображения, модели и формати
temi -> Утвърждавам: директор: / К. Петрова / професионална гимназия по икономика
temi -> Утвърждавам: директор: / К. Петрова / професионална гимназия по икономика
temi -> Тема 1: Изисквания за изработване на уеб-сайт
temi -> Тема компютърни мрежи
temi -> 1. Обща характеристика на информационните системи Същност Съществуват много дефиниции на понятието „информационна система”
temi -> План-конспекти по отчитане на външнотърговски сделки-теория
temi -> Основни понятия при формиране себестойността на изделия в производствени предприятия
temi -> 1. Маркетингови проучвания Marketingsforschungen
temi -> Въпрос 1: организационно-икономически аспекти на информационното общество


Сподели с приятели:
1   2   3




©obuch.info 2024
отнасят до администрацията

    Начална страница