КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Характер господарських операцій
За характером змін господарських операцій можна виділити чотири їх типи: 1. Операції, які змінюють тільки актив балансу. Суми за одними статтями збільшуються, а за іншими зменшуються. У результаті таких операцій один вид засобів ніби переходить (перетворюється) в інший вид засобів, що відображаються також в активному рахунку, тільки в іншому. Тому такий тип операцій призведе до зменшення коштів по одному активному рахунку і в той же самий час збільшить на таку ж суму коштів, що відображаються за будь-якого іншого активного рахунку. Загальна сума коштів в активі балансу не зміниться. Статті пасиву балансу не зачіпаються. Приклад такого переміщення коштів: д. 41.1 "Товари на складах» - к. 41.2 «Товари в роздрібній торгівлі». Такою проводкою ми позначаємо поставку товару в роздріб. 2. Те ж саме, що і в першому пункті, тільки в пасиві балансу. У результаті в пасиві балансу одних джерел стає більше, а інших - менше. У результаті підсумок пасиву балансу не змінюється, а актив взагалі не зачіпається. 3. Активно-пасивні зміни у бік збільшення підсумку балансу, коли дебетове сальдо активного рахунку збільшується, у пасивного рахунку збільшується кредитове сальдо. Таким чином загальна сума активу і пасиву балансу стануть більші. Наприклад, надходження товару оформляється наступним проведенням: д. 41.1 "Товари на складах» - к, 60.1 «Розрахунки з постачальниками та підрядниками в рублях». 4. Активно-пасивні можуть позначати рух коштів у бік зменшення підсумку балансу. Цей тип операцій є зворотним по відношенню до попереднього типу. Вибуття засобів відображається по тому активному рахунку, де вони враховувалися до вибуття. Зменшення засобів пов'язане з необхідністю зменшення відповідного джерела. Тепер давайте більш детально розберемо кругообіг коштів на даному підприємстві і господарські операції, що відбуваються при цьому. Суть його діяльності полягає в покупці комп'ютерних комплектуючих, моніторів, принтерів і т.д. і перепродажу їх оптовими партіями.
Рис. 6.5. Господарські операції при торгівлі (спрощено) Таблиця 2.3.2 Господарські операції, які будуть використані для розрахунку собівартості реалізованих товарів. http://www.bibliofond.ru/view.aspx?id=434988
КЛАС 1. НЕОБОРОТНІ АКТИВИ РАХУНОК 10 "ОСНОВНІ ЗАСОБИ" РАХУНОК 11 "ІНШІ НЕОБОРОТНІ МАТЕРІАЛЬНІ АКТИВИ" РАХУНОК 12 "НЕМАТЕРІАЛЬНІ АКТИВИ" КОРЕСПОНДУЄ РАХУНОК 13 "ЗНОС (АМОРТИЗАЦІЯ) НЕОБОРОТНИХ АКТИВІВ" КОРЕСПОНДУЄ РАХУНОК 14 "ДОВГОСТРОКОВІ ФІНАНСОВІ ІНВЕСТИЦІЇ" РАХУНОК 15 "КАПІТАЛЬНІ ІНВЕСТИЦІЇ" КОРЕСПОНДУЄ РАХУНОК 17 "ВІДСТРОЧЕНІ ПОДАТКОВІ АКТИВИ" РАХУНОК 18 "ДОВГОСТРОКОВА ДЕБІТОРСЬКА ЗАБОРГОВАНІСТЬ ТА ІНШІ НЕОБОРОТНІ АКТИВИ" РАХУНОК 19 "ГУДВІЛ" КЛАС 2. ЗАПАСИ РАХУНОК 20 "ВИРОБНИЧІ ЗАПАСИ" Рахунок 21 "Поточні біологічні активи" РАХУНОК 22 "МАЛОЦІННІ ТА ШВИДКОЗНОШУВАНІ ПРЕДМЕТИ" РАХУНОК 23 "ВИРОБНИЦТВО" КОРЕСПОНДУЄ РАХУНОК 24 "БРАК У ВИРОБНИЦТВІ" КОРЕСПОНДУЄ РАХУНОК 25 "НАПІВФАБРИКАТИ" РАХУНОК 26 "ГОТОВА ПРОДУКЦІЯ" РАХУНОК 27 "ПРОДУКЦІЯ СІЛЬСЬКОГОСПОДАРСЬКОГО ВИРОБНИЦТВА" РАХУНОК 28 "ТОВАРИ" КЛАС 3. КОШТИ, РОЗРАХУНКИ ТА ІНШІ АКТИВИ РАХУНОК 30 "КАСА" РАХУНОК 31 "РАХУНКИ В БАНКАХ" РАХУНОК 33 "ІНШІ КОШТИ" РАХУНОК 34 "КОРОТКОСТРОКОВІ ВЕКСЕЛІ ОДЕРЖАНІ" РАХУНОК 35 "ПОТОЧНІ ФІНАНСОВІ ІНВЕСТИЦІЇ" РАХУНОК 36 "РОЗРАХУНКИ З ПОКУПЦЯМИ ТА ЗАМОВНИКАМИ" РАХУНОК 37 "РОЗРАХУНКИ З РІЗНИМИ ДЕБІТОРАМИ" РАХУНОК 38 "РЕЗЕРВ СУМНІВНИХ БОРГІВ" РАХУНОК 39 "ВИТРАТИ МАЙБУТНІХ ПЕРІОДІВ" КЛАС 4. ВЛАСНИЙ КАПІТАЛ ТА ЗАБЕЗПЕЧЕННЯ ЗОБОВ'ЯЗАНЬ РАХУНОК 40 "СТАТУТНИЙ КАПІТАЛ" РАХУНОК 41 "ПАЙОВИЙ КАПІТАЛ" РАХУНОК 42 "ДОДАТКОВИЙ КАПІТАЛ" РАХУНОК 43 "РЕЗЕРВНИЙ КАПІТАЛ" РАХУНОК 44 "НЕРОЗПОДІЛЕНІ ПРИБУТКИ (НЕПОКРИТІ ЗБИТКИ)" РАХУНОК 45 "ВИЛУЧЕНИЙ КАПІТАЛ" РАХУНОК 46 "НЕОПЛАЧЕНИЙ КАПІТАЛ" РАХУНОК 47 "ЗАБЕЗПЕЧЕННЯ МАЙБУТНІХ ВИТРАТ І ПЛАТЕЖІВ" Рахунок 48 "Цільове фінансування і цільові надходження" РАХУНОК 49 "СТРАХОВІ РЕЗЕРВИ" Клас 5. Довгоспрокові зобов'язання Рахунок 50 "Довгострокові позики" Рахунок 51 "Довгострокові векселі видані" Рахунок 52 "Довгострокові зобов'язання за облігаціями" Рахунок 53 "Довгострокові зобов'язання з оренди" Рахунок 54 "Відстрочені податкові зобов'язання" Рахунок 55 "Інші довгострокові зобов'язання" Клас 6. Поточні зобов'язання Рахунок 60 "Короткострокові позики" Рахунок 61 "Поточна заборгованість за довгостроковими зобов'язаннями" Рахунок 62 "Короткострокові векселі видані" Рахунок 63 "Розрахунки з постачальниками та підрядниками" Рахунок 64 "Розрахунки за податками й платежами" Рахунок 65 "Розрахунки за страхуванням" Рахунок 66 "Розрахунки за виплатами працівникам" Рахунок 67 "Розрахунки з учасниками" Рахунок 68 "Розрахунки за іншими операціями" Рахунок 69 "Доходи майбутніх періодів" Клас 7. Доходи і результати діяльності Рахунок 70 "Доходи від реалізації" Рахунок 71 "Інший операційний дохід" Рахунок 72 "Дохід від участі в капіталі" Рахунок 73 "Інші фінансові доходи" Рахунок 74 "Інші доходи" Рахунок 75 "Надзвичайні доходи" Рахунок 76 "Страхові платежі" Рахунок 79 "Фінансові результати" Клас 8. Витрати за елементами Рахунок 80 "Матеріальні витрати" Рахунок 81 "Витрати на оплату праці" Рахунок 82 "Відрахування на соціальні заходи" Рахунок 83 "Амортизація" Рахунок 84 "Інші операційні витрати" Рахунок 85 "Інші затрати" Клас 9. Витрати діяльності Рахунок 90 "Собівартість реалізації" Рахунок 91 "Загальновиробничі витрати" Рахунок 92 "Адміністративні витрати" Рахунок 93 "Витрати на збут" Рахунок 94 "Інші витрати операційної діяльності" Рахунок 95 "Фінансові витрати" Рахунок 96 "Втрати від участі в капіталі" Рахунок 97 "Інші витрати" Рахунок 98 "Податок на прибуток" Рахунок 99 "Надзвичайні витрати" Клас 0. Позабалансові рахунки Рахунок 01 "Орендовані необоротні активи" Рахунок 02 "Активи на відповідальному зберіганні" Рахунок 03 "Контрактні зобов'язання" Рахунок 04 "Непередбачені активи й зобов'язання" Рахунок 05 "Гарантії та забезпечення надані" Рахунок 06 "Гарантії за забезпечення отримані" Рахунок 07 "Списані активи" Рахунок 08 "Бланки суворого обліку" Рахунок 09 "Амортизаційні відрахування"
Автоматизація ведення журналу операцій (головний журнал) 1. Створити книгу із листками План рахунків,
Операц, ВвідОперац ЖурналОперац
Створення проведень
2. Завести навчальний план рахунків. 3. Іменувати діапазон значень введеної таблиці як planRah використовуючи віконце іменування (a1). В процесі поповнення плану рахунків діапазон planRah треба коригувати за допомогою шляху Вставка/Имя/Присвоить вибором planRah та корекцією формули 4. Створити перше навчальне проведення на листку Операц, окрім стовпчику назви рахунків, який буде заповнятися автоматично. Для цього використаємо функцію Excel Вертикальний перегляд ВПР. Шукає значення у крайньому лівому стовпчику таблиці і повертає значення в тому самому рядку з указаного стовпця таблиці. Синтаксис Шукане_значення - це значення, яке має бути знайдено в першому стовпці масиву. Таблиця - таблиця з інформацією, у якій шукаються дані. Можна використовувати посилання на інтервал або ім'я інтервалу.• Якщо інтервальний_просмотр має значення ІСТИНА, то значення в першому стовпці аргументу «таблиця» повинні бути розташовані в порядку зростання:..., -2, -1, 0, 1, 2,..., AZ, FALSE, ІСТИНА; в Інакше функція ВПР може видати неправильний результат. Якщо «інтервальний_просмотр» має значення FALSE, то «таблиця» не зобов'язана бути відсортованої. • • Значення в першому стовпці аргументу «таблиця» можуть бути текстовими рядками, числами або логічними значеннями. • Текстові рядки порівнюються без обліку регістра букв. Номер_стовпчика - це номер стовпця в масиві «таблиця», в якому повинно бути знайдено відповідне значення. Якщо «номер_стовпчика» дорівнює 1, то повертається значення з першого стовпця аргументу «таблиця», якщо «номер_стовпчика» дорівнює 2, то повертається значення із другого стовпця аргументу «таблиця» і так далі. Інтервальний_просмотр - це логічне значення, яке визначає, чи потрібно, щоб ВПР шукала точну або наближену відповідність. Якщо цей аргумент має значення TRUE або пропущено, то повертається приблизно відповідне значення; іншими словами, якщо точна відповідність не знайдена, то повертається найбільше значення, яке менше, ніж шукане_значення. Якщо цей аргумент має значення FALSE, то функція ВПР шукає точну відповідність. Якщо таке не знайдено, то повертається значення помилки # N / A. 5. Для використання даної функції зручно іменувати значення номерів кредитових та дебетових рахунків відповідно nDtOper nKtOper. Для цього іменуємо відповідні комірки а потім коректуємо формулу діапазону знявши знак абсолютної адресації $ біля номерів стрічок по шаблону $A3. Потім використовуємо ВПР для пошуку імен по точному співпаданні номерів рахунків. Наприклад ВПР(nDtOper; planRah; 2;0). 6. При введены нових проведень назви рахунків будуть проставлятися автоматично Формування операцій для внесення в журнал 7. Додати кнопку Ввід операції на листок Операц (вид-панель інструментів-форми) 8. Створити макрос підготовки вводу операції: Сервіс/Макрос/НачатьЗапись на ім.’я VvidProv ввід проведення. Після цього можна заповнити декілька клмірок довільною інформацією або не робити цього. Завершити запис макросу Сервіс/Макрос/ЗавершитьЗапись 9. Викликати редактор коду VB Alt+F11 і знайти тіло створеного макросу – пошук в провому віконці. Від макросу залишити перші дві та останню стрічки. Перша стрічка задає його назву 2 – коментар, а остання – кінець макросу (підпрограми VB). 10. Сформувати текст макросу на зразок наступного Sub VvidProv() ' Dim Oper As String ' MsgBox ActiveSheet.Name If ActiveSheet.Name = " Операц " Then kOp = ActiveSheet.Cells(ActiveCell.Row, 1) Oper = ActiveSheet.Cells(ActiveCell.Row, 2) Sheets("ВвідОперац ").Range("kOp") = kOp Sheets("ВвідОперац ").Range("Oper") = Oper Sheets("ВвідОперац").Range("Oper").WrapText = True Worksheets("ВвідОперац ").Activate End If End Sub11. Приписати макрос кнопці Ввід операції. (права клавіша) а також давши вірне імя кнопці. Закрити вікно VB та випробувати дію макроса. 12. Здійснити аналіз роботи макроса. Тіло підпрограми включає описи змінних Dim, лінійні, умовні та циклічні оператори. В програмі використовуються прості змінні Oper та об’єкти. 13. Об'єкт Application є екземпляром власне Microsoft Excel. Застосовуючи до цього об'єкта різні методи, можна скористатися практично будь-якими командами меню Excel. Об'єкт Application має властивості ActiveWorkbook і ActiveSheet, які вказують на поточні об'єкти Workbook (робоча книга) і Worksheet (робочий лист). Можна вказати Excel.Application як значення аргументу <клас> функцій CreateObject () і GetObjectO, а також в операторі Dim objPlMH As New <клас>. 14. Основний об'єкт Excel - Workbook (робоча книга). За допомогою цього об'єкта здійснюється доступ до властивостей і структурі робочої книги Excel. Об'єкти workbook - це файли, які складаються з декількох об'єктів, що створюються Microsoft Excel: Worksheet (робочий аркуш) і Chart (діаграма). Об'єкти Worksheet і Chart містяться В родинах Worksheets і Charts. 15. Об'єкти Worksheet є підпорядкованими по відношенню до об'єкта Workbook і забезпечують доступ до властивостей і структурі робочих аркушів книги Excel. Об'єкти sheet аналогічні об'єктів Worksheet, але вони входять в сімейство Sheets, яке включає в себе як об'єкти Worksheet, так і об'єкти Chart, що представляють листи діаграм в робочій книзі. 17. Об'єкт Range - діапазон комірок робочого листа Excel. Це можуть бути окрема комірка, рядок, стовпець, прямокутна область робочого аркуша або незв'язаний (довільний набір комірок) або тривимірний діапазон комірок, що включає осередки на кількох робочих аркушах. Можна отримати або встановити значення діапазону комірок, визначивши об'єкт Range. Таких об'єктів, як осередок, рядок, стовпець просто не існує. Саме об'єкт Range зі своїми властивостями і методами забезпечує роботу як з окремою клітинкою, так і з їх діапазоном. Для посилання на необхідну групу комірок можна використовувати ім'я діапазону, що складається з цих осередків. Якщо іменовані діапазони відсутні на робочому аркуші, можна використовувати метод Cells об'єкта worksheet, щоб задати координати клітинки або групи осередків. Нижче наводяться два способи зміни значення комірки А1: ActiveSheet.Range ("Al").Value = 7 ActiveSheet.Cells (1,1).Value = 7
Оператори, які виконують роль розгалуження програми на підставі будь-якої умови, називаються операторами умовного переходу. Найпростішими операторами умовного переходу є оператори If.. Then; If.. Then.. Else. Перший оператор дозволяє вибирати єдину гілку процедури (ліва блок-схема), тоді як другий дає можливість вибирати з двох альтернативних гілок коду процедури (права блок-схема) на основі оцінки того, чи є умова рівним True або False.Синтаксис If..Then Варіант 1: If Condition Then Statements
Варіант 2: If Condition Then Statements End If
Condition - логічний вираз; Statements - один, декілька або жодного оператора VBA Перший варіант вимагає написання оператора в один рядок, при цьому в секції Statements можна вказувати декілька операторів, розділяючи їх двокрапкою. Другий варіант дозволяє вказувати декілька операторів в різних рядках. Синтаксис If..Then..Else
Варіант 1: If Condition Then Statements Else ElseStatements
Варіант 2: If Condition Then Statements Else ElseStatements End If Є можливість запуску макросу з довільного листка. Тому перед записом в форму вводу операцій перевіряємо, чи макрос запускався із листка операцій. Як у макросі дізнатися і використовувати поточне положення курсору? ActiveCell.Row і ActiveCell.Column - покажуть координати активної клітинки. WrapText - можливість включити / відключити переклад тексту на наступний рядок в осередках діапазону. Якщо ви хочете зробити знайдену книгу активною, то викличте метод Activate Внесення операцій в журнал Завести кнопки Провести та Скасувати в листок вводу операцій (ВвідОперац.). Іменувати поля першого рядка таблиці вводу операцій, наприклад: kOp, Ореr, Ndoc, datOper, sum Створити підпрограму очистки таблиці вводу (Sub Och()) та приписати її кнопці Скасувати. Переконатися в очистці вмістимого таблиці Створити шаблон програми проведення операції (Sub Prov()) та приписати її кнопці Провести. Спроектувати наступну структуру програми проведення за допомогою коментарів: ' Перевірка внесення дати та суми операції 'Реалізація проведення ' Пошук вільної стрічки в журналі операцій ' Пошук опису операції в переліку ' Цикл запису проведень з післяумовою ' Номери та назви кореспондуючих рахунків ' Заповнення дебетової частини проведення ' Заповнення кредитової частини проведення ' Перевірка наявності наступного проведення в операції 'очистка операції в формі вводу ' Обробка невизначеності операції
Перевірка визначеності операції datOper = ActiveSheet.Range("datOper") sumOper = ActiveSheet.Range("sum") If (sumOper > 0) And (datOper <> "") Then 'Реалізація проведення … ' Обробка невизначеності операції If (sumOper <= 0) Then MsgBox "Введіть обсяг операції" End If If (datOper = "") Then MsgBox …… End If End If
Реалізація проведення Dim Row, rowOp As Integer ……. kOp = ActiveSheet.Range("kOp") nDoc = ….. Row = 1 ' Пошук вільної стрічки в журналі операцій Do While Sheets("ЖурналОперац").Cells(Row, 1) <> "" Row = Row + 1 Loop ' Пошук опису операції в переліку rowOp = …… Do While Sheets("Операц").Cells(rowOp, 1) <>…… rowOp = ……. Loop
Цикл запису проведень з післяумовою
Do ' Номери та назви кореспондуючих рахунків rahZurDb = Sheets("Операц").Cells(rowOp, 5) nRahZurDb = Sheets("Операц").Cells(rowOp, 3) rahZurKr = …… nRahZurKr = ……. …….. ' Перевірка наявності наступного проведення в операції Loop While (Sheets("Операц").Cells(rowOp, 1) = "") And (Sheets("Операц").Cells(rowOp, 3) > 0)
Заповнення дебетової частини проведення (внесення підготовленої інформації із відповідним центруванням та опцією переносу по словах) Sheets("ЖурналОперац").Cells(Row, 1) = datOper Sheets("ЖурналОперац").Cells(Row, 1).HorizontalAlignment = xlCenter Sheets("ЖурналОперац").Cells(Row, 2) = nDoc Sheets("ЖурналОперац").Cells(Row, 2).HorizontalAlignment = xlCenter Sheets("ЖурналОперац").Cells(Row, 3) = rahZurDb With Sheets("ЖурналОперац").Cells(Row, 3) .HorizontalAlignment = xlLeft .WrapText = True End With Sheets("ЖурналОперац").Cells(Row, 4) = nRahZurDb Sheets("ЖурналОперац").Cells(Row, 4).HorizontalAlignment = xlLeft Sheets("ЖурналОперац").Cells(Row, 5) = sumOper Sheets("ЖурналОперац").Cells(Row, 5).HorizontalAlignment = xlCenter Row = Row + 1
Підведення підсумків обороту по рахунках за вибраний період
Заходимо на листок Головна Книга 1. Іменуємо першу комірку значень місяця обліку як датаКнига 2. занести номери та назви рахунків із плану 3. графи підсумків по рахунках заповнимо програмно. Встановлюємо кнопку «підсумки» після таблиці рахунків в головній книзі і приписуємо їй макрос SumRah 4. реалізуємо схему макросу 'цикл по рахунках книги 'цикл по записах журналу ' при співпадінні місяця і номера рахунків книги і журналу ' збільшення підсумків по рахунках ‘ кінець циклу по журналу ' запис підсумків по рахунку ‘ кінець циклу по книзі 5. реалізуємо підготовку циклу по рахунках книги Dim pidsMis, rowKn, rahKn, rahZur, misZur, rowZur As Integer Dim sumDeb, sumKred As Single pidsMis = Month(Sheets("Головна Книга").Range("датаКнига")) ' MsgBox "pidsMis = " & pidsMis rowKn = 4 ' цикл по рахунках книги Do While Sheets("Головна Книга").Cells(rowKn, 3) <> "" rahKn = Sheets("Головна Книга").Cells(rowKn, 3) ……rowKn = rowKn + 1 Loop для встановлення представлення функции месяц використали запис тестового макроса 6. реалізуємо підготовку циклу по записах журналу операцій rowZur = 2 sumDeb = 0 sumKred = 0 'цикл по записах журналу Do While Sheets("ЖурналОперац").Cells(rowZur, 4) <> "" rahZur = Sheets("ЖурналОперац")…… misZur = Month(Sheets("ЖурналОперац")…..) rowZur = ….. Loop 8. 'при співпадінні місяця і номера рахунків книги і журналу ' збільшення підсумків по рахунках If (misZur = pidsMis) And (rahZur = ….) Then sumDeb = sumDeb + Sheets("ЖурналОперац").Cells(rowZur, 5) sumKred = …… End If 9. ' запис підсумків по рахунку Sheets("Головна Книга").Cells(rowKn, 4) = sumDeb Sheets("Головна Книга").Cells(rowKn, ……
Типові алгоритми циклічної обробки інформації 1. Встановити необхідність циклічної обробки та її відношення до виводу результуючої інформації: - циклічна обробка + вивід після циклу - циклічна обробка із виводом. 2. Встановити тип циклічної обробки: по умові із зміною індексу або по перерахунку т 3. Встановити спосіб побудови результату: - Безпосередні обчислення - Сумування або добутки - S=0 - Цикл - S=S+A - ВсеЦикл - D=0 - Цикл - D=D*A - ВсеЦикл - рекурентні формули - ‘Початкові присвоєння - A0=1 - A1=1 - Цикл - ‘Обчислення - A2=A1+A0 - ‘Оновлення рекуренції - A0=A1 - A1=A2 - ВсеЦикл
Оголошення масиву Dim MyArray(100) As Integer Пошук максимуму Mx= MyArray(1) For i=1 To 100 If Mx< MyArray(i) Then Mx= MyArray(i) End If
Основи програмування на VBA. Описи змінних та масивів – зручно задавати перед виконуваними операторами. Змінна — це іменований контейнер для зберігання змінюваних даних. Наприклад Dim nMyAge As Integer Dim — це зона видимості змінної. Якщо змінна оголошена як Dim в області оголошень модуля, то вона буде доступна в усьому модулі, якщо в процедурі — тільки на час роботи цієї процедури. Друге слово в нашому оголошення (nMyAge) — це ідентифікатор (ім 'я) змінної. Третя частина нашого оголошення (As Integer) — ця вказівка на тип даних нашій змінній. Тип даних визначає, дані якого виду можна буде зберігати в цій змінній. У VBA передбачені наступні типи даних: числові: • Byte — ціле число від 0 до 255; • Integer — ціле число від − 32 768 до 32 767; • Long — велике ціле число від − 2 147 483 648 до 2 147 483 647; • Currency — велике десяткове число з 19 позиціями, включаючи 4 позиції після коми; • Decimal — ще більше десяткове число з 29 позиціями (після запя- тій можна використовувати від 0 до 28 позицій); • Single і Double — значення з плаваючою комою (Double в 2 рази більше)); строкові (String змінної довжини (приблизно до 2 млрд символів) і фіксованої довжини (приблизно до 65 400 символів)); дата і час (Date — від 01.01.100 до 31.12.9999); логічний (Boolean — може зберігати тільки значення True і False); об'єктний (Object — зберігає посилання на будь-який об'єкт в пам'яті); Variant — спеціальний тип даних, який може зберігати будь-які дру- гие типи даних. При привласненні значень змінним треба пам'ятати про наступне: строкові значення завжди полягають в подвійні лапки: sVar1 = "Hello" значення дата/час полягає в символи "грати" (#): dVar1 = #05/06/2004# Зверніть увагу, що при привласненні значення дати/часу таким "явним" способом нам доводиться використовувати прийняті в США стандарти: 05 в даному випадку — це місяць, 06 — день. А відображення цього значення (наприклад, у вікні повідомлення) залежатиме від регіональних налаштувань на комп'ютері користувача;
Найпростішою спосіб вивести інформацію користувачеві — використати вбудовану функцію VBA MsgBox(). Повний її синтаксис виглядає так: MsgBox(Текст [, кнопки] [, заголовок_вікна] [, файл_довідки, мітка_в_файлі_довідки]) Спрощений варіант використання MsgBox Текст
Масиви використовуються для зберігання в пам'яті множини значень. Замість того щоб оголошувати множину схожих один на одного змінних, набагато зручніше скористатися масивом. Оголошення масиву робиться дуже просто: Dim MyArray(2) As Integer Тут 2 — це верхня межа масиву (upper bound). За умовчанням нижньою межі масиву (lower bound) відповідає елемент з номером 0. Кількість елементів, яку може зберігати масив, — від 0 до верхньої межі включно. Присвоїти значення окремому елементу масиву (в нашому випадку — першому) можна дуже просто: MyArray(0) = 100 А потім це значення можна буде витягнути: MsgBox MyArray(0) Масиви можуть бути багатовимірними, зокрема, двовимірними: Dim MyArray(4, 9) У кожному рядку багатовимірного масиву зручно зберігати дані, що відносяться до одного об'єкту (наприклад, ім'я співробітника, унікальний номер, номер телефону). У VBScript в одному багатовимірному масиві може бути до 60 вимірів. Масиви можна створювати і заповнювати одночасно: Dim MyArray MyArray = Array(100, 200, 300, 400, 500) Вказувати розмір масиву необов'язково — він буде автоматично налаштований відповідно до кількості передаваних елементів. Очистити масив можна командою Erase: Erase MyArray Оператори Оператор — це найменша одиниця коду VBA, що здатна виконуватися. Арифметичних операторів в VBA всього 7. Чотири стандартних: додавання(+), віднімання (?), множення (*), ділення (/), і ще три: ü піднесення до степеня (^). Наприклад, 2^3 = 8; ü цілочисельне ділення (\). Ділить перше число на друге, відкидаючи (не округляючи) дробову частину. Наприклад, 5\2 = 2; ü ділення по модулю (Mod). Ділить перше число на друге, повертаючи тільки залишок. Наприклад, 5 Mod 2 = 1. Операторів порівняння в VBA всього 8: рівність (=). Наприклад, If (nVar = 10); більше, ніж (>) і менше ніж (<). Наприклад, If (nVar > 10); більше або рівно (>=) і менше або рівно (<=). Наприклад, If (nVar >= 10); не рівно (<>). Наприклад, If (nVar<>10); Наведемо деякі особливості порівняння рядкових значень: при порівнянні рядкових значень враховується регістр; пропуски в рядкових значеннях також враховуються; при порівнянні текстових рядків на більше/менше за умовчанням порівнюються просто двійкові коди символів — які більші або менші. Якщо потрібно використовувати той порядок, який йде в алфавіті, то потрібно скористатися командою Option Compare Text Майже в будь-якій програмі VBA використовуються оператори конкатенації, тобто злиття рядкових значень. В VBA їх два — (+) або (&). Рекомендується завжди використовувати оператор (&), тому що: - при використовуванні (&) проводиться автоматичне перетворення числовых значень в рядкові — немає небезпеки припуститися помилки; - при використовуванні оператора (+) сумування рядкового значення із значенням типу Null дає Null. Приклад використовування оператора (&): "Повідомлення користувачу " & vUserName Оператори умовного і безумовного переходу Загальний принцип їх роботи простий: перевіряється відповідність деяким умовам (істинність або хибність деяких виразів) і залежно від цього виконання програми спрямовується по одній або іншій гілці. Повний синтаксис виглядає так (необов'язкові частини поміщені в квадратні дужки): If Умова Then Команди1 [ElseIf УмоваN Then КомандиN] [Else Команди2] End If При цьому: Умова — вираз, який перевіряється на істинність. Якщо він істинний, то виконуються Команды1, якщо помилковиц — Команди2; УсловаN — додаткові умови, які також можна перевірити. У разі, якщо вони виконуються (вираз УсловаN істинний), то виконуються Команди N. Додаткові умови (разом з конструкцією ElseIf) можна повторювати необмежена кількість разів. Оператор If...Then застосовується: коли треба перевірити на одно умову і у разі відповідності зробити якусь дію: If nTemperature < 10 Then MsgBox "Надіти куртку" End If коли треба зробити те ж, що і в попередньому прикладі, а у разі невідповідності виконати іншу дію: If nTemperature < 10 Then MsgBox "Надіти куртку" Else MsgBox "Надіти ветровку" End If коли треба перевірити на відповідність декілька умов: If (nTemperature < 10) And (bRain = True) Then MsgBox "Надіти куртку і узяти парасольку" End If у разі, коли перевірка першої умови повернула False, треба перевірити на відповідність ще декілька умов (зручно використовувати ElseIf): If (bIGoInCar = True) Then MsgBox "Одягнутися для машини" ElseIf nTemperature < 10 Then MsgBox "Надіти куртку" Else MsgBox "Можна йти в сорочці" End If Робота з циклами Цикли використовуються в ситуаціях, коли нам треба виконати яку-небудь дію кілька разів. Перша ситуація — ми знаємо, скільки разів треба виконати певну дію, в цьому випадку використовується конструкція For...Next: For iCounter = 1 to 10 MsgBox "Лічильник: " & iCounter Next Щоб вказати, наскільки повинне наростати значення лічильника, використовується ключове слово Step:
For iCounter = 1 to 10 Step 2 MsgBox "Лічильник: " & iCounter Next
Можна і зменшувати початкове значення лічильника: For iCounter = 10 to 1 Step - 2 MsgBox "Лічильник: " & iCounter Next
Для безумовного виходу з конструкції For...Next використовується команда Exit For:
VStop = InputBox("Введіть значення останову") VInput = CInt(VStop) For iCounter = 1 to 10 MsgBox "Лічильник: " & iCounter If iCounter =VInput Then Exit For Next
Інший варіант циклу— Do While..Loop. Усе виглядає так само, за одним виключенням: цикл виконуватиметься до тих пір, поки умова істинна.
Do While MyVar <= 10 MyVar = MyVar + 1 MsgBox "MyVar = " & MyVar Loop
Можна переписати цикл так, щоб умова перевірялася після завершення циклу:
Do MyVar = MyVar + 1 WScript.Echo "MyVar = " & MyVar Loop While MyVar < 10
В цьому випадку цикл буде виконаний, принаймні, один раз. Негайний вихід з циклу можна зробити по команді Exit Do.
Типові алгоритми циклічної обробки інформації 4. Встановити необхідність циклічної обробки та її відношення до виводу результуючої інформації: - циклічна обробка + вивід після циклу - циклічна обробка із виводом. 5. Встановити тип циклічної обробки: по умові із зміною індексу або по перерахунку 6. Встановити спосіб побудови результату: - Безпосередні обчислення - Сумування або добутки - S=0 - Цикл - S=S+A - ВсеЦикл - D=0 - Цикл - D=D*A - ВсеЦикл - рекурентні формули - ‘Початкові присвоєння - A0=1 - A1=1 - Цикл - ‘Обчислення - A2=A1+A0 - ‘Оновлення рекуренції - A0=A1 - A1=A2 - ВсеЦикл 7. Алгоритм розв’язання задачі: - опис змінних - ввід даних - перевірка коректності даних - формування і вивід результату - очищення форми виводу
Архітектура персонального комп'ютера. Основна компонування частин комп'ютера і зв'язок між ними називається архітектурою. При описі архітектури комп'ютера визначається склад входять до нього компонент, принципи їх взаємодії, а також їх функції і характеристики. Рис. 1 Архітектура персонального комп'ютера
Розглянемо пристрої докладніше. Основна частина системної плати-мікропроцесор (МП) або процесор (CentralProcessingUnit), він керує роботою всіх вузлів ПК і програмою, яка описує алгоритм розв'язуваної задачі. МП має складну структуру у вигляді електронних логічних схем. У якості його компонент можна виділити: А) АЛУ-арифметико-логічний пристрій, призначений для виконання арифметичних і логічних операцій над даннямі та адресами пам'яті. Б) Регістри або мікропроцесорна пам'ять-сверхоперативная пам'ять, що працює зі швидкістю процесора, АЛУ працює саме з ними. B). УУ-пристрій управління-управління роботою всіх вузлів МП за допомогою вироблення і передачі іншим його компонентів управляючих імпульсів, що надходять від кварцового тактового генератора, який при включенні ПК починає вібрувати з постійною частотою (100МГц 400МГц-0, 200). Ці коливання і задають темп роботи всієї системної плати; Д) Пристрій управління спільною шиною -. Інтерфейсна система.
Для розширення можливостей ПК і підвищення функціональних характеристик мікропроцесора додатково може поставлятися математичний співпроцесор, службовець для розширення набору командМП. Наприклад, математичний співпроцесор IBM-сумісних ПК розширює можливості МП для вичислення з плаваючою точкою; співпроцесор в локальних мережах (LAN-процесор) розширює функції МП в локальних мережах. Швидкодія (продуктивність, тактова частота)-кількість операцій, які виконуються в секунду.
Інтерфейсна система-це: -Шина управління (ШУ)-призначена для передачі управляючих імпульсів і синхронізації сигналів до всіх пристроїв ПК; -Шина адреси (ША)-призначена для передачі коду адреси комірки пам'яті або порту вводу / виводу зовнішнього пристрою; -Шина даннях (ШД)-призначена для паралельної передачі всіх розрядів числового коду;
-Між МП і портами введення / виводу зовнішніх пристроїв;
-ОЗУ (оперативний запам'ятовуючий пристрій, ОП - оперативна япамять) або ОЗУ (оперативне запам'ятовуючий пристрій), служить для оперативного зберігання програм і даних, які зберігаються тільки на період роботи ПК. Вона енерго залежна, при відключенні живлення інформація втрачається. ОП виділяється особами функціями і специфікою доступа: (1) ОП зберігає не тільки дані, але і виконувану програму;
послідовний-забезпечує побитной обмін інформацією, Обачного до порту підключають модем; Сучасні ПК звичайно обладнані паралельним і 1 2 послідовними портами.
Машинна мова (англ. машинний код, машинний мова) - система кодів (команд), безпосередньо зрозумілих процесору, тобто таких, які можуть бути виконані ним безпосередньо, без перекладу. Кожна модель процесора має свій власний машинний мову, хоча в багатьох моделях ці набори команд сильно перекриваються. Кажуть, що процесор сумісний з процесором B якщо процесор повністю "розуміє" машинний код процесора B. Якщо процесор знає декілька команд, яких не розуміє процесор B, B то несумісний з A
"Слова" машинного мови називаються машинними інструкціями. Кожна з них описує елементарну дію, що виконується процесором, таке як "переслати байт з пам'яті в регістр". Програма - це просто довгий список інструкцій, виконуваних процесором.
Дата добавления: 2014-12-23; Просмотров: 496; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |