Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Підпрограм, вікон повідомленьСодержание книги
Поиск на нашем сайте
Як приклад розглядається програма, яка дозволить ввести данні в масив записів з полями для збереження прізвищ та ініціалів співробітників, сум нарахованої заробітної плати. При введенні значень нарахованої заробітної плати програма повинна перевіряти значення і, якщо введено від’ємне число видавати повідомлення та знищувати уміст текстового поля. Командами меню Вікно користувач повинен мати змогу Очистити таблицю, підсумок або таблицю і підсумок, завершити роботу програми. Режим меню Розрахунок дає змогу визначити суму нарахування з фонду заробітної плати у пенсійний фонд (32% від загальної суми нарахувань), у фонд соціального страхування (4,4% від загальної суми нарахувань), у фонд зайнятості (0,5% від загальної суми нарахувань).
Рисунок 5.1 - Види вікна програми – приклада
На етапі візуальної розробки програми слід створити форму, розташувати на неї елементи управління, визначити їх властивості у відповідності з даними таблиці:
Далі слід розчинити вікно редактору меню командою Tools – Menu Editor, створити таке меню програми:
Щоб накопичити дані в масиві, організувати перевірку даних, що вводяться, на невід’ємність, масив слід оголосити, створити таку процедуру.
Для створення нової процедури Povid, яка повинна виводити повідомлення у випадку, якщо в полі нарахувань введено від’ємне число, слід перебуваючи у вікні коду виконати команду меню Tools – Add Procedure. У вікні діалогу треба ввести ім’я процедури, обрати перемикачі Sub, Public. До коду програми буде добавлено заголовок і останній рядок процедури, далі слід визначити параметри процедури і її вміст як у таблиці:
Наступним кроком створення програми може бути створення процедур, які пов’язані з командами режиму меню Вікно – Очистити: таблицю, підсумок або таблицю і підсумок, Вихід.
Для виконання розрахунків пропонується створити функцію RozSum командою меню Tools – Add Procedure, у вікні діалогу команди слід ввести ім’я функції, обрати перемикачі Function, Public. Далі треба створити коди процедур, які пов’язані з командами режиму Розрахунок.
5.3 Контрольні запитання 1. Коли слід створювати підпрограми? 2. Чим відрізняються підпрограми – процедури від підпрограм – функцій? 3. Як виконати процедуру? 4. Як можна використовувати результат, що повертає функція? 5. Що визначає параметр CodKey процедури MsgBox, функції MsgBox()? 6. Для чого використовується параметр CodIcon у процедурі MsgBox, функції MsgBox()? 7. Як проаналізувати обрану користувачем кнопку у вікні повідомлення, в залежності від виробу виконати різні дії?
5.4 Практичні завдання Завдання Розробити програму за індивідуальним варіантом. При розробці програми слід створити форму із застосування масивів елементів управління, меню програми, програмний код, перевірити дію програми. Далі необхідно зберегти програму на магнітному диску, надрукувати форму та код програми. Звіт про роботу повинен вміщувати: - блок-схему алгоритмічного процесу розв’язання задачі; - роздруковану форму програми; - роздрукований код програми.
Варіант №1 Створити програму, у ході виконання якої можна ввести дані про шість підприємств торгівлі: найменування, середньомісячний товарообіг, середньомісячні витрати обігу, кількість працюючих, торгова площа. Програма повинна дозволити вибрати з таблиці максимальні значення кожного з показників (середньомісячний товарообіг, середньомісячні витрати обігу, кількість працюючих, торгова площа), виводити назву підприємства, у якому відповідний показник максимальний. Управління роботою програми варто організувати за допомогою меню, у якому повинні міститися режими «Вибір», «Очищення», «Вихід».
Варіант №2 Створити програму, у ході виконання якої можна ввести дані про п'ять областей України: найменування, чисельність населення, середньомісячний обсяг виробництва, кількість вузів, кількість театрів. Програма повинна дозволити обрати з таблиці мінімальні значення кожного з показників (чисельність населення, середньомісячний обсяг виробництва, кількість вузів, кількість театрів), виводити назву регіону, у якому відповідний показник мінімальний. Управління роботою програми варто організувати за допомогою меню, у якому повинні міститися режими «Вибір», «Очищення», «Вихід».
Варіант №3 Створити програму, у ході виконання якої можна ввести дані про п'ять міст Донецької області: найменування, середньомісячний обсяг виробництва, чисельність населення, кількість шкіл, кількість лікарень. Програма повинна дозволити обрати з таблиці максимальні значення кожного з показників (середньомісячний обсяг виробництва, чисельність населення, кількість шкіл, кількість лікарень), виводити місто, у якому відповідний показник максимальний. Управління роботою програми варто організувати за допомогою меню, у якому повинні міститися режими «Вибір», «Очищення», «Вихід».
Варіант №4 Створити програму, у ході виконання якої можна ввести дані про найменування, покупну ціну, кількість реалізованого товару. При зміні значення хоча б одного з полів (ціна або кількість) програма повинна розраховувати і виводити у формі значення: сума покупна (ціна покупки * кількість); ціна продажу покупцю (10% торгової надбавки); сума реалізації покупцю (ціна продажу * кількість); ціна для постійних покупців (8% торгової надбавки); сума реалізації постійним покупцям (ціна продажу для постійних покупців * кількість). Меню програми повинне містити режими «Очищення», «Вихід». Варіант №5 Створити програму, у ході виконання якої можна ввести дані: ПІБ співробітника, нараховано за рік, стаж роботи, кількість днів, пропущених через хворобу. При зміні значення хоча б одного з полів (нараховано за рік, стаж роботи, кількість днів, пропущених через хворобу) програма повинна розраховувати і виводити у формі значення: основна сума премії (10% від суми нарахованої заробітної плати за рік для співробітників, стаж роботи яких менш 5 років, 15% від суми нарахованої для співробітників, стаж роботи яких менш 10 років і більш 5 років, 20% для співробітників, що відробили більш 10 років); додаткова сума премії: 100 грн., якщо через хворобу пропущено менш 5 днів у році, 50 грн. у тому випадку, якщо пропущено більш 5 але менш 15 днів; загальна сума премії. Меню програми повинне містити режими «Очищення», «Вихід». Варіант №6 Створити програму, у ході виконання якої можна ввести дані: найменування товару, сума фактичного залишку товару на складі, сума залишку за даними обліку. При зміні значення хоча б одного з полів (фактична або облікова суми) програма повинна розраховувати і виводити у формі значення: сума відхилення (факт – облікові дані); відсоток відхилення (сума відхилення / облікові дані * 100); розмір природного збитку, якщо відхилення негативне (нестача товару) – 2% від суми фактичного залишку товару; сума відхилення з урахуванням природного збитку (сума відхилення + розмір природного збитку). Меню програми повинне містити режими «Очищення», «Вихід».
Варіант №7 Створити програму, у ході виконання якої можна ввести дані про шість підприємств торгівлі: найменування, торгова площа, середньомісячний товарообіг, середньомісячні витрати, середньомісячний прибуток, вартість основних засобів. Програма повинна дозволити вибрати з таблиці мінімальні значення кожного з показників (торгова площа, середньомісячний товарообіг, середньомісячні витрати, середньомісячний прибуток, вартість основних засобів), виводити назву підприємства, у якому відповідний показник мінімальний. Управління роботою програми варто організувати за допомогою меню, у якому повинні міститися режими «Вибір», «Очищення», «Вихід».
Варіант №8 Створити програму, у ході виконання якої можна ввести дані про п'ять областей України: найменування, середньомісячний обсяг виробництва, чисельність працездатного населення, загальна кількість населення, кількість виробничих підприємств. Програма повинна дозволити вибрати з таблиці максимальні значення кожного з показників (середньомісячний обсяг виробництва, чисельність працездатного населення, загальна кількість населення, кількість виробничих підприємств), виводити назва регіону, у якому відповідний показник максимальний. Управління роботою програми варто організувати за допомогою меню, у якому повинні міститися режими «Вибір», «Очищення», «Вихід».
Варіант №9 Створити програму, у ході виконання якої можна ввести значення показників поточного року по п'яти містах Донецької області: найменування, середньомісячний обсяг виробництва, середньомісячний товарообіг роздрібної торгівлі, чисельність населення, середні доходи населення. Програма повинна дозволити вибрати з таблиці мінімальні значення кожного з показників (середньомісячний обсяг виробництва, середньомісячний товарообіг роздрібної торгівлі, чисельність населення, середні доходи населення), виводити місто, у якому відповідний показник мінімальний. Управління роботою програми варто організувати за допомогою меню, у якому повинні міститися режими «Вибір», «Очищення», «Вихід».
Варіант №10 Створити програму, у ході виконання якої можна ввести дані про найменування, покупну ціну, кількість реалізованого товару, відсоток торгової надбавки. При зміні значення хоча б одного з полів (ціна, кількість або відсоток надбавки) програма повинна розраховувати і виводити у формі значення: сума покупна (ціна покупки * кількість); ціна продажу покупцю з урахуванням торгової надбавки; сума реалізації покупцю (ціна продажу * кількість); ціна зі знижкою (знижка складає 3%); сума реалізації зі знижкою. Меню програми повинне містити режими «Очищення», «Вихід».
Варіант №11 Створити програму, у ході виконання якої можна ввести дані: найменування постачальника, суму фактичного надходження товару від постачальника, суму постачання за договором. При зміні значення хоча б одного з полів (фактична або договірна суми) програма повинна розраховувати і виводити у формі значення: сума недовиконання договору; сума перевиконання договору; відсоток відхилення (сума відхилення / договір * 100). Меню програми повинне містити режими «Очищення», «Вихід».
Варіант №12 Створити програму, у ході виконання якої можна ввести дані про шість шкіл: найменування, чисельність молодших класів, чисельність старших класів, чисельність викладачів, площа навчальних приміщень. Програма повинна дозволити обрати з таблиці максимальні значення кожного з показників (чисельність молодших класів, чисельність старших класів, чисельність викладачів, площа навчальних приміщень), виводити назву школи, у якій відповідний показник максимальний. Управління роботою програми варто організувати за допомогою меню, у якому повинні міститися режими «Вибір», «Очищення», «Вихід».
Варіант №13 Створити програму, у ході виконання якої можна ввести дані про п'ять держав СНД: найменування, чисельність населення, річний обсяг виробництва, кількість вузів, кількість театрів. Програма повинна дозволити обрати з таблиці максимальні значення кожного з показників (чисельність населення, річний обсяг виробництва, кількість вузів, кількість театрів), виводити назву країни, у якій відповідний показник максимальний. Управління роботою програми варто організувати за допомогою меню, у якому повинні міститися режими «Вибір», «Очищення», «Вихід».
Варіант №14 Створити програму, у ході виконання якої можна ввести дані про районів міста: найменування, середньомісячний обсяг виробництва, чисельність населення, кількість шкіл, кількість лікарень, кількість дитячих закладів. Програма повинна дозволити обрати з таблиці мінімальні значення кожного з показників (середньомісячний обсяг виробництва, чисельність населення, кількість шкіл, кількість лікарень, кількість дитячих закладів), виводити назву району, у якому відповідний показник мінімальний. Управління роботою програми варто організувати за допомогою меню, у якому повинні міститися режими «Вибір», «Очищення», «Вихід».
Варіант №15 Створити програму, у ході виконання якої можна ввести дані: найменування покупця, суму фактичної реалізації товару покупцю, суму реалізації згідно з договором. При зміні значення хоча б одного з полів (фактична або договірна суми) програма повинна розраховувати і виводити у формі значення: сума недовиконання договору; сума перевиконання договору; відсоток відхилення (сума відхилення / договір * 100). Меню програми повинне містити режими «Очищення», «Вихід».
Тест
Робота з файлами Файли довільного доступу Файл довільного доступу містить записи однакового розміру. Кожний запис може включати поля, в яких вміщуються дані. Наприклад, записи файлу з відомостями про співробітників Employees.txt підприємства можуть вміщувати дані про прізвище та ініціали робітника (поле довжиною 15 байт), освіта (поле у 4 байти). Кожний запис буде мати фіксовану довжину, вміщувати два поля, кожне з яких також має фіксований розмір.
Для доступу до файлу його слід розчинити оператором Open: Open "FileName" For Random As FileNumber Len = RecordLength FileName - ім'я файлу, можна задавати повне ім'я файлу з маршрутом пошуку (наприклад, "C:\Data.txt"); Random - визначає, що файл буде розчинено в режимі довільного доступу; FileNumber - номер файлу, ціле число в діапазоні від 1 до 511, яке визначає номер незайнятого в системі в дану мить файлу, так званий дескриптор файлу; RecordLength - визначення довжини запису файлу. Наприклад, щоб розчинити файл Employees.txt у режимі довільного доступу коли відомо, що номер файлу 5 не зайнято ніяким іншим файлом, можна виконати команду: Open "Employees.txt" For Random As 5 Len = 19 Якщо невідомо, який номер файлу в дану мить є незайнятим, можна скористатися функцією FreeFile, яка повертає номер незайнятого файлу. При записі, зчитуванні даних у файл послідовного доступу, коли один запис вміщує декілька полів, доцільно використовувати тип - запис. Змінна з типом даних запис буде вміщувати дані, які слід записати у файл, або навпаки приймати дані, що прочитано з файлу. У випадку, коли важко визначити довжину запису при роботі з різними типами даних, можна використовувати функцію Len(), яка повертає довжину змінної. Наприклад, для роботи з файлом Employees.txt буде використовуватись змінна PZ, яка має тип Person. Тип Person оголошено у вікні модуля так: Type Person Priz As String * 15 Osv As String * 4 End Type Для розчинення файлу Workers.txt можна виконати таку послідовність дій: DZ = Len(PZ) VF = FreeFile Open "Employees.txt" For Random As VF Len = DZ Якщо файл у поточному каталозі не буде знайдено, то створюється новий файл з ім'ям Employees.txt. При розчинені, створенні файлу довільного доступу обов’язково існує запис файлу з номером 1. Для визначення загальної кількості записів у файлі можна використовувати функцію FileLen(), яка повертає розмір файлу в байтах. Наприклад, щоб привласнити змінній ZKZ значення, яке відповідає загальній кількості записів у файлі, можна виконати таку дію: ZKZ = FileLen("Employees.txt") / DZ У коді програми обов'язково слід перевіряти, щоб звернення до записів файлу було коректним, номер запису, до якого здійснюється звернення, повинен бути у діапазоні від першого до останнього запису файлу. Для запису даних у файл використовується оператор Put Put # FileNumber, <номер запису файлу>, <змінна> Якщо <номер запису файлу> відповідає будь-кому з існуючих записів розчиненого файлу, то вміст запису буде змінено на нове значення - значення змінної, яка може бути одного зі стандартних типів, або типу - запис. Для того, щоб додати до файлу новий запис, слід звернутися до запису з номером: <останній запис> + 1. Наприклад, щоб додати до файлу Employees.txt новий запис про співробітника Матвієнко Л.І. з вищою освітою можна виконати дії: PZ.Priz = "Матвієнко Л.І." PZ.Osv = "вищ." Put #VF, ZKZ + 1, PZ Зчитування даних з файлу довільного доступу виконується оператором Get: Get # FileNumber, <номер запису файлу>, <змінна> Таким чином, можна прочитати будь-який запис файлу в змінну, зазначивши номер запису. Наприклад, якщо оголосити масив змінних PersZap для зчитування всієї інформації з файлу, можна прочитати дані всього файлу так: For i = 1 To ZKZ Get #VF, i, PersZap(i) Next При зчитуванні даних з файлу може стати у нагоді функція Eof() (від End of file), яка повертає значення True, якщо досягнуто кінця файлу, і False у зворотному випадку. Прочитати усі записи файлу доки не буде досягнуто кінця файлу можна так: i = 1 Do While Not EOF(VF) Get #VF, i, PersZap(i) txtPriz(i - 1).Text = PersZap(i).Priz txtOsv(i - 1).Text = PersZap(i).Osv i = i + 1 Loop Після виконання операцій з файлом його обов'язково слід зачинити оператором Close: Close # FileNumber Знищити записи файлу довільного доступу безпосередньо неможливо. Щоб виконати цю операцію, слід: 1) Створити тимчасовий файл у форматі, який відповідає формату файлу, що вміщує записи, які треба знищити. 2) Переписати у тимчасовий файл усі записи, крім тих, що знищуються. 3) Зачинити файл - джерело даних, знищити його оператором Kill "FileName" 4) Зачинити тимчасовий файл, перейменувати його оператором Name "OldName" As "NewName" Наприклад, щоб знищити п'ятий запис файлу Employees.txt можна виконати такі дії:
Файли послідовного доступу Файл послідовного доступу можна розглядати як послідовність рядків. У файлі послідовного доступу всі текстові рядки можуть мати різну довжину, тому система не може визначити позицію рядка в файлі, довільний доступ неможливий. При роботі з такими файлами щоб прочитати, наприклад, двадцятий рядок, слід перейти до початку файлу і прочитати дев'ятнадцять початкових рядків. Файли послідовного доступу зручні при роботі з текстом, оскільки можна працювати з рядками будь-якої довжини. Розчинити файл послідовного доступу можна в одному з трьох режимів: 1) для введення даних Input - режим зчитування даних з файлу; 2) для виведення Output - вивід тексту в файл, причому попередній уміст файлу втрачається; 3) для приєднання Append - режим, який дає змогу додати нові рядки у кінець файлу. Щоб розчинити файл, слід виконати команду: Open "FileName" For Mode As FileNumber FileName - режим доступу до файлу. Використовуючи оператор Print, можна записувати один або декілька символів за одну операцію запису, причому до файлу додається новий текстовий рядок. Print # FileNumber, <змінна або константа> [,<змінна або константа> …] Оператор Write дає змогу записати один або декілька символів за одну операцію запису, до файлу буде додано новий рядок. Write # FileNumber, <змінна або константа> [,<змінна або константа> …] Оператор Write відрізняється від оператору Print тим, що форматує дані при запису так
Наприклад, якщо виконати наступний фрагмент коду програми, буде створено файл Data.txt. Date = #10/06/2000# FN = FreeFile Open "C:\Data.txt" For Output As FN Write #FN, "Oдин", FN, Date Print #FN, "Два", FN, Date Уміст файлу Data.txt буде таким: "Oдин",1,#2000-10-06# Два 1 06.10.00 Оператор Input зчитує повний рядок з файлу і розміщує його в одну або декілька змінних. Input # FileNumber, <змінна > [,<змінна> …] Якщо запис файлу створено оператором Print, дані можна прочитати як один рядок у деяку змінну. У випадку, коли дані було записано оператором Write, кожну складову запису можна прочитати у окрему змінну для подальшого використання. Причому не слід забувати, що прочитані дані будуть текстового типу. Зчитування даних з файлу Data.txt можна виконати, наприклад, так: Open "C:\Data.txt" For Input As FN Input #FN, X, Y, Z lblX.Caption = X lblY.Caption = Y lblZ.Caption = Z Input #FN, M lblM.Caption = M У результаті виконання коду, значення властивості Caption об'єктів буде таким: об'єкт X: Oдин; об'єкт Y: 1; об'єкт Z: 2000-10-06; об'єкт M: Два 1 06.10.00. Після виконання операцій з файлами послідовного доступу, їх, як і файли довільного доступу, обов'язково зачинити оператором Close.
Бінарні файли Бінарні файли - це файли, у яких можуть утримуватися спеціальні символи, що не зустрічаються в текстових файлах. Уміст бінарного файлу - це набір символів, кожний з яких можна отримати окремо. До бінарних файлів належать файли, що виконуються, драйвери, шрифти і т.д. Бінарний файл можна розглядати як файл довільного доступу, кожний запис якого дорівнює 1 байту. У режимі бінарного доступу можна розчинити будь-який файл, але прийдеться працювати з кожним байтом цього файлу окремо. Розчинити файл можна командою: Open "FileName" For Binary As FileNumber Запис і зчитування даних у бінарних файлах виконується операторами Get i Put.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-08-12; просмотров: 176; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.135.220.239 (0.011 с.) |