Реферат: Звіт про проходження практики за спеціальністю інженер компютерних систем

ЗМІСТ

 

Вступ                                                                                                                3

1. Дослідженняоб'єкту практики                                                                    4

2. Дослідження процесускладання, монтажу, налагодження і тестування створюваного апаратногозабезпечення комп’ютерних систем і мереж       7

3. Універсальне таспеціалізоване апаратне забезпечення комп'ютерних систем і мереж, які використовуютьсяна об'єкті практики                        14

4. Універсальне  та спеціалізоване   програмне  забезпечення   комп'ютерних
систем і мереж, які використовуються на об'єкті практики                     15

5. Рекомендації щодополіпшення існуючих на об'єкті практики технологічних процесів створення тавикористання комп'ютерних систем і мереж та їх програмного забезпечення                                              17

6. Індивідуальне завдання повиробничій практиці                                      18

Висновки                                                                                                       20

Література                                                                                                      21

Додаток 1. Скріпт перевіркиправильності вводу індексу; вивід для заповнення форми СП-5.                                                                               22

Додаток 2. Скріпт переносуданих з Web-форми в файл бази даних.        23

Додаток 3. Скріпт створенняфайлу бази даних сортувальної таблиці.               25

Додаток 4. Скріпт виводусортувальної таблиці для друку.                                 27


ВСТУП

У кожному вузі України передбачено проходження студентами виробничоїпрактики, яка є обов’язковим складовим елементом підготовки будь-якогоспеціаліста. Під час проходження практики студент  закріплює здобуті знання інавички, отримуючи практичний досвід роботи в реальних економічних умовах.

Студент може мати досконалі теоретичні знання, але може розгубитися вситуації, коли виникне необхідність прийняти рішення в реальних економічнихумовах. Тому необхідно забезпечувати студентам змогу пройти виробничу практикуще під час навчання у вузі, для того, щоб спробувати себе не тільки в ролітеоретика, але й практика.

Виробнича практика для студентів спеціальності 7.091501«Комп'ютерні системи та мережі» є невід'ємною складовою частиноюпроцесу їх професійної підготовки і проводиться на сучасних підприємствах та-організаціях, оснащених відповідним апаратним та програмним забезпеченнямкомп'ютерних систем та мереж.

Виробнича практика передбачає отримання необхідного обсягупрактичних знань та умінь відповідно до кваліфікаційного рівняінженера-системотехніка.

Метою виробничої практикидля студентів спеціальності 7.091501 є оволодіння студентами сучасними методамиефективного застосування комп'ютерних та мережнихтехнологій для вирішення задач комплексної автоматизації підприємств і установ,вивчення практичних рішень в галузі організації та побудовирегіональних, корпоративних та локальних комп'ютерних мереж,розподілених комп'ютерних систем, дослідження характеристик,виконуваних функцій, етапів розробки, тестування та впровадженнявикористовуваних на об'єктах практики універсального та спеціалізованогоапаратного та програмного забезпечення комп'ютерних системта мереж.

1.Дослідження об’єкту практики

Українськедержавне підприємство поштового зв”язку “Укрпошта” (УДППЗ “Укрпошта”) є національнимоператором поштового зв”язку України згідно зрозпорядженням КМУ від10 січня 2002 року.

Діяльність УДППЗ “Укрпошта” регламентується Законом України “Пропоштовий зв”язок”, іншими Законами України, а також нормативними актами ВПС.

Україна з 1947 року є членом Всесвітнього поштового союзу (ВПС),двічі обиралась і нині входить до складу Адміністративної ради, вищоговиконавчого органу ВПС. У 1991 році Адміністрація зв”язку України увійшла доРегіональної співдружності в галузі зв”язку (РСЗ), з 1994 року УДППЗ “Укрпошта”є членом Асоціації європейських державних поштових операторів “PostEurop”.

Укрпошта функціонує як самостійна господарська одиниця з 1994року, коли галузь зв”язку в результаті реформування була розподілена напоштовий та електрозв”язок. Тоді було утворено два об”єднання, у тому числіУкраїнське об”єднання поштового зв”язку “Укрпошта”, яке в липні 1998 року реорганізованов нині діюче УДППЗ “Укрпошта” згідно з Програмою реструктуризації Укрпошти,затвердженою постановою Кабінету Міністрів України від 04.01.98 за №1 .

До складу підприємства входять 31 філіалів (27 регіональнихдирекцій, у тому числі дві міських – Київська та Севастопольська, Дирекція зоброблення та перевезення пошти, дирекція «Автотранспошта», дирекція«Видавництво „Марка України“, дирекція „Головний навчальнийцентр “Зелена Буча»).

Мережа поштового зв”язку охоплює всі регіони України і налічує 24 поштамти,400 вузлів поштового зв’язку та 26 центрів поштового зв«язку, 3517міських, 9880 сільських, 125 пересувних, 22 сезонних відділення та 1824 пунктипоштового зв’язку.

У системі Укрпошти працюють понад 115 тис. чол., з них понад 48тис. листонош.

Доставка поштових відправлень в Україні забезпечується власнимавтомобільним транспортом. Для перевезення пошти та друкованих видань діють 33магістральні автомобільні маршрути довжиною понад 29 тисяч кілометрів. Парктранспортних засобів, задіяних на перевезенні, становить понад 4,3 тис.автомобілів.

Українська пошта здійснює прямий поштовий обмін з 58 країнамисвіту; двосторонній обмін поштовими переказами з 17 країнами, односторонній – з5, двосторонній обмін електронними переказами між Україною і Москвою, обмінвідправленнями з післяплатою – з 10 країнами.
УДППЗ “Укрпошта” як національний поштовий оператор має забезпечувати наданняуніверсальних послуг поштового зв”язку, перелік яких і відповідні тарифизатверджуються Кабінетом Міністрів. В Україні до цих послуг належитьпересилання простих та рекомендованих поштових карток, листів, бандеролей, атакож посилок без оголошеної цінності масою до 10кг.
Загалом, Укрпошта пропонує споживачам понад 70 видів послуг, у тому числі звикористанням найсучасніших інформаційних технологій, насамперед електронної ігібридної пошти, електронного переказу, послуг Інтернет. У перспективі — здійснення передплати через Інтернет, електронної торгівлі, наданняінформаційних послуг, послуг ІР-телефонії з передачею відеозображення тощо.

У підприємстві діють корпоративні комунікаційна мережа таавтоматизовані системи для оптимізації управлінських рішень, автоматизаціїобробки технологічної і фінансової документації. Швидкими темпамивпроваджується комп”ютерна техніка на робочих місцях обслуговування клієнтів,що дає змогу розширювати номенклатуру послуг та підвищувати їх якість.

УДППЗ “Укрпошта” бере участь у реалізації Національної програмиінформатизації “Електронна Україна”. Йде цілеспрямована робота зі створення воб”єктах поштового зв”язку Інтернет-пунктів з метою забезпечення доступушироких верств населення до всесвітньої інформаційної мережі. Нині у філіалахпідприємства діють 78 таких пунктів, планується працювати в цьому напрямку інадалі.

Важливим напрямом діяльності Укрпошти є вдосконаленняорганізаційно-технологічної структури підприємства. Нині розпочато реалізаціюПрограми оптимізації мережі поштового зв”язку, що включає проведенняширокомасштабного комплексу робіт, спрямованих на підвищення ефективностівиробництва, поліпшення якості надання послуг та скорочення непродуктивнеихвитрат. Суть оптимізації полягає в реорганізації районних вузлів зв”язку шляхомїх укрупнення і створення міжрайонних вузлових центрів, побудованих запринципом функціональної доцільності, а не за адміністративно-територіальнимподілом регіонів України.

Підприємство є стабільною структурою, що маєдавні традиції, користується довірою населення, забезпечує доступність послугна всій території держави.


2. Дослідженняпроцесу складання, монтажу, налагодження і тестування створюваного апаратногозабезпечення комп’ютерних систем і мереж

Під архітектурою будемо розуміти сукупність принципів і правил увідповідності з якими будуються обчислювальні системи різних видів.Розглядаючи питання архітектури комп'ютерних мереж (КМ), насамперед,необхідно визначити їх призначення та область застосування. Так основнимпризначеннямкомп'ютерної мережі є надання великому числу користувачіводночасного доступу до її обчислювальних ресурсів. Виходячи з цього, комп'ютернамережа може бути визначена як система розподіленої обробки інформації, щоскладається з комп'ютерів, територіально-розосереджених і взаємодіючих міжсобою за допомогою засобів зв'язку. Комп'ютери, що входять до складу мережі,виконують досить широке коло функцій, основними серед яких є:-  організація доступу до мережі;-  управління передачею інформації;-  надання обчислювальних ресурсів і послуг абонентаммережі.Відповідно до цього по функціональній ознаці всю безліч систем КМ можнарозділити на абонентські, комутаційні і головні (Host) підсистеми.Абонентська підсистема являє собою комп'ютер,орієнтований на роботу в складі КМ і забезпечує користувачам доступ до їїобчислювальних ресурсів.Комутаційні підсистеми є вузлами комутаціїмережі передачі даних і забезпечують організацію складових каналів передачіданих між абонентським підсистемами. Як керуючі елементи вузлів комутаціївикористовуються процесори телеобробки або спеціальні комутаційні (мережеві)процесори.Великою різноманітністю характеризуються Host підсистеми або мережевісервери. Сервером прийнято називати спеціальний комп'ютер, що виконуєосновні сервісні функції, такі як: управління мережею, збір, обробку,зберігання і надання інформації абонентам КМ. У зв'язку з великим числомсервісних функцій доцільне розділення серверів за їх функціональнимпризначенням. Наприклад, файл-сервер визначається як мережевийкомп'ютер, що здійснює операції по зберіганню, обробці і наданню файлів данихабонентам КМ. У свою чергу, комп'ютер, що забезпечує абонентським системамефективний доступ до КМ, отримав назву сервер доступу і т.д.Класифікація КМ

В залежності відосновної класифікаційної ознаки покриття території всі КМ поділяють на групи:

-    Локальні (Local Area Network);-    Глобальні (Wide Area Network);-    Регіональні (Metropolitain Area Network);-    Корпоративні КМ.

Головною вимогою, яка ставиться до мереж, є виконання мережеюїї основної функції – забезпечення користувачам потенційної можливості доступудо розділюваних ресурсів усіх комп'ютерів, об'єднаних у мережу. Всі інші вимоги– продуктивність, надійність, сумісність, керованість, захищеність,розширюваність і масштабованість – зв'язані з якістю виконання цієї основноїзадачі.

Хоча всі цівимоги дуже важливі, часто поняття «якість обслуговування» (Quality of Service,QoS) комп'ютерної мережі трактується більш вузько – у нього включаються тількидві найважливіші характеристики мережі – продуктивність і надійність.

Незалежно відобраного показника якості обслуговування мережі існують два підходи до йогозабезпечення. Перший підхід, мабуть, покажеться найбільш природним з поглядукористувача мережі. Він полягає в тому, що мережа (точніше, персонал який їїобслуговує) гарантує користувачу дотримання деякої числової величини показникаякості обслуговування. Наприклад, мережа може гарантувати користувачу А, щокожен з його пакетів, посланих користувачеві В, буде затриманий мережею небільш, ніж на 150 мс. Або, що середня пропускна здатність каналу міжкористувачами А і В не буде нижче 5 Мбіт/с, при цьому канал буде допускатипульсацію трафіка в 10 Мбіт на інтервалах часу не більш 2 секунд. Технологіїframe relay і АТМ дозволяють будувати мережі, що гарантують якістьобслуговування по продуктивності.

Другий підхідполягає в тому, що мережа обслуговує користувачів відповідно до їхніхпріоритетів. Тобто якість обслуговування залежить від ступеня привілейованостікористувача чи групи користувачів, до якої він належить. Якість обслуговуванняв цьому випадку не гарантується, а гарантується тільки рівень привілеївкористувача. Таке обслуговування називається обслуговуванням best effort – знайбільшим старанням. Мережа намагається по можливості більш якісно обслужитикористувача, але нічого при цьому не гарантує. За таким принципом працюють,наприклад, локальні мережі, побудовані на комутаторах із пріоритезацією кадрів.

Продуктивність

Потенційно високапродуктивність – це одне з основних властивостей розподілених систем, до якихвідносяться комп'ютерні мережі. Ця властивість забезпечується можливістюрозпаралелення робіт між декількома комп'ютерами мережі. На жаль, цю можливістьне завжди вдається реалізувати. Існує кілька основних характеристикпродуктивності мережі:

• час реакції;

• пропускназдатність;

• затримкапередачі і варіація затримки передачі.

Час реакції мережі є інтегральною характеристикоюпродуктивності мережі з погляду користувача. Саме цю характеристику має наувазі користувач, коли говорить: «Сьогодні мережа працює повільно».

У загальному випадку час реакції визначається як інтервалчасу між виникненням запиту користувача до якої-небудь мережної служби йодержанням відповіді на цей запит.

Очевидно, щозначення цього показника залежить від типу служби, до якої звертаєтьсякористувач, від того, який користувач і до якого сервера звертається, а такожвід поточного стану елементів мережі – завантаженості сегментів, комутаторів імаршрутизаторів, через які проходить запит, завантаженості сервера і т.п.

Тому є сенсвикористовувати також і середньозважену оцінку часу реакції мережі, усереднюючицей показник по користувачам, серверам і за часом дня (від якого в значній мірізалежить завантаження мережі).

Час реакціїмережі звичайно складається з декількох складових. У загальному випадку в ньоговходить час підготовки запитів на клієнтському комп'ютері, час передачі запитівміж клієнтом і сервером через сегменти мережі і проміжне комунікаційнеустаткування, час обробки запитів на сервері, час передачі відповідей відсервера клієнту і час обробки одержуваних від сервера відповідей наклієнтському комп'ютері.

Зрозуміло, щокористувача розкладання часу реакції на складові не цікавить – йому важливийкінцевий результат; однак для мережного фахівця дуже важливо виділити ззагального часу реакції складові, відповідним етапам мережної обробки даних, –передачу даних від клієнта до сервера через сегменти мережі і комунікаційнеустаткування.

Пропускназдатністьвідображає обсяг даних, переданих мережею чи її частиною за одиницю часу.Пропускна здатність вже не є користувацькою характеристикою, тому що вонаговорить про швидкість виконання внутрішніх операцій мережі – передачі пакетівданих між вузлами мережі через різні комунікаційні пристрої. Зате вонабезпосередньо характеризує якість виконання основної функції мережі –транспортування повідомлень – і тому частіше використовується при аналізіпродуктивності мережі.

Найчастіше припроектуванні, настроюванні й оптимізації мережі використовуються такіпоказники, як середня і максимальна пропускні здатності. Середня пропускназдатність окремого елемента чи всієї мережі дозволяє оцінити роботу мережі навеликому проміжку часу, протягом якого в силу закону великих чисел піки і спадиінтенсивності трафіку компенсують один одного. Максимальна пропускна здатністьдозволяє оцінити можливості мережі справлятися з піковими навантаженнями,характерними для особливих періодів роботи мережі, наприклад ранкових годин,коли співробітники підприємства майже одночасно реєструються в мережі ізвертаються до розділюваних файлів і баз даних.

Пропускнуздатність можна вимірювати між будь-якими двома вузлами мережі, наприклад міжклієнтським комп'ютером і сервером, між вхідним і вихідним портамимаршрутизатора. Для аналізу і настроювання мережі дуже корисно знати дані пропропускну здатність окремих елементів мережі.

Важливовідзначити, що через послідовний характер передачі пакетів різними елементамимережі загальна пропускна здатність мережі будь-якого складеного шляху в мережібуде дорівнювати мінімальній з пропускних здатностей складових елементівмаршруту. Для підвищення пропускної здатності складеного шляху необхідно впершу чергу звернути увагу на самі повільні елементи – у даному випадку такимелементом, швидше за все, буде маршрутизатор. Варто підкреслити, що колипереданий по складеному шляху трафік буде мати середню інтенсивність, якаперевершує середню пропускну здатність самого повільного елемента шляху, точерга пакетів до цього елемента буде рости теоретично до нескінченності, апрактично – доти, поки не заповнитися його буферна пам'ять, а потім пакетипросто почнуть відкидатися і губитися.

Звичайно при визначенніпропускної здатності сегмента чи пристрою в переданих даних не виділяютьсяпакети якогось визначеного користувача, чи додатка комп'ютера – підраховуєтьс-язагальний обсяг переданої інформації. Проте для більш точної оцінки якостіобслуговування така деталізації бажана, і останнім часом системи керуваннямережами всі частіше дозволяють її виконувати.

Надійність і безпека

Однієї з першихцілей створення розподілених систем, до яких відносяться й КМ, було досягненнябільшої надійності в порівнянні з автономними ПК.

Для оцінкинадійності складних систем застосовується такий набір характеристик, зокрема:готовність, цілісність даних, узгодженість, імовірність доставки пакета,безпека, відмовостійкість.

Готовність,коефіцієнт готовності (availability) означає частку часу, протягом якого система може бутивикористана. Готовність може бути поліпшена шляхом введення надмірності вструктуру системи: ключові елементи системи повинні існувати в декількохекземплярах, щоб при відмові одного з них функціонування системи забезпечувалиінші.

Щоб систему можнабуло віднести до високонадійних, вона повинна як мінімум мати високуготовність, але цього недостатньо. Необхідно забезпечити цілісність даних ізахист їх від спотворень. Крім цього, повинна підтримуватися узгодженість(несуперечність) даних, наприклад, якщо для підвищення надійності на декількохфайлових серверах зберігається кілька копій даних, то потрібно постійнозабезпечувати їхню ідентичність.

Оскільки мережапрацює на основі механізму передачі пакетів між кінцевими вузлами, то однією зхарактеристик надійності є імовірність доставки пакета вузлу призначення безспотворень. Поряд з цією характеристикою можуть використовуватися й іншіпоказники: імовірність втрати пакету, імовірність спотворення окремого бітапереданих даних, співвідношення загублених пакетів до доставленого.

Іншим аспектомзагальної надійності є безпека (security), тобто здатність системизахистити дані від несанкціонованого доступу. У розподіленій системі це зробитинабагато складніше, ніж у централізованій. Іншим вразливим місцем можуть бутизалишені без догляду персональні комп'ютери. Крім того, завжди є потенційнапогроза взлому захисту мережі від неавторизованих користувачів, якщо мережа маєвиходи в глобальні мережі загального користування.

Ще однієюхарактеристикою надійності є відказостійкість (fault tolerance). Умережах під відказостійкістю розуміється здатність системи приховати відкористувача відмову окремих її елементів. Наприклад, якщо копії таблиці базиданих зберігаються одночасно на декількох файлових серверах, то користувачіможуть просто не помітити відмову одного з них.

Розширюваність(extensibility) означає можливість порівняно легкого додавання окремих елементів мережі(користувачів, комп'ютерів, додатків, служб), нарощування довжини сегментівмережі і заміни існуючої апаратури більш потужною (продуктивною). При цьомупринципово важливо, що легкість розширення системи іноді може забезпечуватися вдеяких дуже обмежених межах.

Масштабованість(scalability)означає, що мережа дозволяє нарощувати кількість вузлів і довжину зв'язків удуже широких межах, при цьому продуктивність мережі не погіршується. Длязабезпечення масштабованості мережі доводиться застосовувати додатковекомунікаційне устаткування і спеціальним чином розподіляти структуру мережі.

Прозорість(transparency) мережі досягається в тому випадку, коли мережа представляєтьсякористувачам не як безліч окремих комп'ютерів, зв'язаних між собою складноюсистемою кабелів, а як єдина традиційна робоча станція із системою поділу часу

Сумісністьабо інтегрованість означає,що мережа здатна містити в собі найрізноманітніше програмне й апаратнезабезпечення, тобто в ній можуть співіснувати різні операційні системи, щопідтримують різні стеки комунікаційних протоколів, і працювати апаратні засобиі додатки різних виробників. Мережа, яка складена з різнотипних елементів,називається неоднорідною чи гетерогенною, а якщо гетерогенна мережа працює безпроблем, то вона є інтегрованою. Основний шлях побудови інтегрованих мереж – використаннямодулів, виконаних відповідно до відкритих стандартів і специфікацій.

3.Універсальне таспеціалізоване апаратне забезпечення комп'ютерних систем і мереж, яківикористовуються на об'єкті практики

Усвоїй роботі Золочівський вузол поштового зв’язку використовує наступний апаратний комплекс:

-    сервер-роутерна базі Intel Pentium ІІІ 550 Мhz, 128 Mb RAM, 40 Gb ATA 100, 2 x LAN-CARD (вихід в мережу Інтернет та підтримка корпоративної мережі);

-    сервердля бухгалтерії на базі AMD Duron 1.4 Ghz, 128Mb RAM, 20 Gb ATA 100;

-    локальнамережа — Ethernet.Побудована звикористанням двох 8-мипортових switchфірми Surecom. Як фізичне середовищепередачі даних  використовується вита пара UTP-5;

-    3 модеми IDC-2814, що забезпечують доступ до корпоративної мережі через міжміський телефоннийзв’язок;

-    блоки безперебійного живлення фірми APC(в залежності від потребвикористовуються різні моделі);

-    персональні комп’ютери різноманітних конфігурацій (від Pentium 100Mhz до Pentium IV1,7 Ghz).Використовуються як офісні машини (набір текстів, електронних таблиць,формування звітності та ін.);

-    принтериEpsonLX-300, Epson LX-300+, HP 1100A, OKI B4200L.

На підприємстві використовуєтьсярезервування електромережі: від короткотермінових зникнень електроенергіїкомп’ютерна техніка захищена блоками безперебійного живлення; якщоелектроживлення не відновлюється через 3 хвилини – вмикається автономнадизельна-електростанція.


4.Універсальне  та спеціалізоване   програмне  забезпечення   комп'ютерних систем і мереж, яківикористовуються на об'єкті практики

У підрозділах адміністрації,технічної підтримки і бухгалтерії використовується операційна система Windows95, 98.

На сервері-роутерівстановлено операційну систему FreeBSD REALESE 5.2.1.

Сервером длябухгалтерії керує SCO Open Server 4.5.

Захист від зовнішніхатак здійснюється відповідним налаштуванням  граничного маршрутизоторапід керуванням FreeBSD (налаштуванню підлягає служба IPWF2), який перешкоджає проникненню помилковогопакету даних у мережу.

Для доступу доресурсів Unix-машин на підприємстві використовується стандартна система захисту цієї операційноїсистеми. Захист від доступу, що не санкціонується, здійснюється за допомогою процедури введення логіну-пароля.

Доступ доконкретного ресурсу здійснюється задопомогою різних серверів.

Авторизація-це право на доступ до деякого об'єкта  або  на виконання  якої-небудь системної  дії.  У більшості систем UNIX всі рішенняз приводу доступу приймаються на  основі простих дискреційних критеріїв, або виходячи з того, чи є root  власником процесу,  що здійснює доступ. Кореневий бюджет маєповноваження на виконання таких системних дій, які не може виконувати ніякийінший процес. Операційна Система визначає   два  типи  авторизації:  авторизація  ядра  і авторизація підсистеми.  Авторизація ядра пов'язана з процесами. (Процес -  це програма,  що виконується в системі в даний момент.)Вони дозволяють процесу виконувати певні  дії, якщо процес  наділенийнеобхідними привілеями.  Авторизація підсистеми пов'язана з користувачами. Вонидозволяють користувачеві виконувати спеціальні дії за допомогою командпідсистеми (надійні утиліти і програми). Підсистема — це зв'язний набір файлів,пристроїв і  команд,  що служать длявиконання деякої функції.

На серверахвідключені невживані сервіси, що знижує можливість проникнення стороннього, алене виключає його зі стовідсотковою імовірністю. Кожний день на спеціальних інформаційних серверахпублікується інформація  про виявлення «дір» в захисті конкретної версіїпрограмного забезпечення. У обов'язок системного адміністратора мережі входить постійно стежити за такогороду інформацією і своєчасно оновлювативерсії програмних продуктів, що використовуються  в роботі фірми.

Фізичний доступдо серверів обмежений тільки працівниками технічного персоналу.

         Довідповідних ресурсів серверів мають доступ тільки авторизовані користувачі,ведеться сувора політика регулярної зміни паролів, що дозволяє отримати додаткові гарантії безпеки.

         Також,на підприємстві використовуються автоматизовані робочі місця (АРМ):

— „Електронний переказ” Система призначена дляприйому-передачі грошових електронних переказів, внутрішньо корпоративнихтелеграм, службових повідомлень.

— „Автоматизована система реєстрованої кореспонденції”. Призначенадля полегшення роботи з реєстрованою кореспонденцією: покликана піднятинадійність та швидкість проходження реєстрованої кореспонденції. На даниймомент відбувається її впровадження в роботу.

Нажаль детальніша інформація по цих системах знаходиться підгрифом ДСК.


5. Рекомендації щодо поліпшення існуючих на об'єкті практикитехнологічних процесів створення та використання комп'ютерних систем і мереж таїх програмногозабезпечення

         Розглянувшиіснуючий комплекс апаратного і програмного забезпечення можна виділити такінедоліки:

-          відсутністьсистеми автоматичного резервного копіювання важливої інформації на серверах таробочих станціях;

-          моральназношеність частини апаратного забезпечення;

-          використанняна робочих станціях застарілих операційних систем Windows 95 та 98;

-          недостатнядокументованість програмних продуктів власного виробництва (АРМ);

-          часткованедостача комп’ютеризованих робочих місць в період створення різноманітних формзвітності.

Для вирішенняданних задач необхідно таке апаратне забеспечення:

-          RAID-система створення гарантованої копіїінформації з можливістю гарячої заміни носіїв (з підтримкою системи запису такорекції помилок RAID5) для використання на серверах;

-          заміна частини персональних комп’ютерівна нові, створення нових комп’ютеризованих робочих місць.

Програмнезабеспечення:

-          Провестимодернізацію операційних систем до Windows 2000 або Windows XP з останніми виправленнями (Service Pack 4 для Windows 2000 та Service Pack 1 для Windows XP);

-          Norton Ghost Enterprise Edition або аналогічне, яке дозволяє проводити резервне копіюванняважливої інформації з робочих станцій на виділений сервер або робочу станцію.


6. Індивідуальне завдання.

         Моїміндивідуальним завдання було написати програму, яка автоматизувала процесстворення сортувальної таблиці передплатних видань.

         Завданнянаступне: в районі є 28 відділень зв’язку. Нехай 1-ше відділення виписало 30примірників, 2-ге – 40, 3-тє – 25, 4-те – 5, інші не виписали жодного; взагальному всі відділення виписали 100 примірників якогось видання. В такомувигляді до Львівської дирекції і йде замовлення на передплачене видання („нампотрібно 100 примірників певного видання”).  При цьому інформація проконкретного замовника заноситься до спеціальної картотеки форм СП-5 („1-шевідділення замовило 30 примірників певного видання” і т.д.).

         Нанаступному етапі з заданою періодичністю видання починає надходити з обласноїдирекції. Приходить воно у вигляді стосу з ста примірників. Для того, щобзнати, скільки примірників перенаправити у певні районні відділення нампотрібна сортувальна таблиця наступного вигляду:

Відділення1 Відділення2 Відділення3 .. . Відділення 28 Видання 30 25 4 - Видання 2 5 5 5 Видання 3 3 3 25

         Створюєтьсявона на основі даних карток СП-5 з картотеки.

         Заповненнятакої таблиці трудомісткий процес: одна людина витрачає на нього в середньому25-30 годин, тобто це приблизно 3-4 дні безперервної клопіткої роботи. За умовиавтоматизації цього процесу за допомогою комп’ютерної техніки, створення такоїтаблиці займе приблизно 4-6 годин за умови введеної картотеки форм СП-5.

Реалізація.

Дане завдання я розділив на дві частини: створення картотекиперіодичних видань і підтримання її в актуальному стані; формуваннясортувальної таблиці.

Мовою реалізації була вибрана мова Web-програмуваня PHP.

Перша частина програмискладається з кількох модулів. Спочатку користувач вводить в Web-формі індекс потрібного видання;дані з форми попадають в скріпт, який перевіряє коректність введеного індексу (введений індекспорівнюється з індексами всіх передплатних видань України, для цього існуєспеціальний електронний каталог видань в вигляді файлу бази даних), також, користувач заповнює виведену форму СП-5 для заданоговидання. Після виконання цього скріпта керування передається іншому модулю: цеймодуль вносить введені дані з Web-форми,створеної попереднім скріптомв файл бази даних (Data Base File).

         Другачастина програми складається з двох скріптів: перший створює на основі файлівкартотеки форм СП-5 сортувальну таблицю у вигляді файла баз даних, іншийвиводить дані з цього файлу в вигляді придатному для друку.


ВИСНОВКИ

Виробнича практика є джерелом накопичення практичного досвідуроботи по вибраній спеціальності та закріплення теоретичних знань. Вонавідіграє важливу роль у підготовці спеціалістів високого рівня, які б володілисучасними технологіями, вміло використовували методологію та методикипроектування інформаційних систем

В ході проходження виробничої практики було проведенодослідження об’єкта, його структури та функцій,наявного апаратного та програмного забеспечення і комплексу задач, щовирішується ним. Також булопроведено ознайомлення з технологічнимипроцесами складання, монтажу, налагодження і тестування комп'ютерних мереж.

На основі аналізу існуючих апаратних та програмних засобівбули виявленні недоліки побудови існуючого комплексу апаратно-програмнихзасобів та намічені шляхи виправлення даної ситуації.


Список використаної літератури:

1.      Немет Э., Снайдер Г., СибассС., Хейн Т. Р., // Н50 UNIX: Руководство системного администратора. Для профессионалов / Пер. сангл. – СПб.: Питер; К.: Издательская група BHV, 2002. – 928 c.: ил.

2.      Армстронг (мл.), Джеймс //А83 Секреты UNIX: 2-е изд.: Пер. с англ. –М.: Издательский дом «Вильямс», 2001. – 1072 с.: ил. – Парал. тит. англ.

3.      Олифер   В.Г.,    Олифер    Н.А.    „Компьютернне    сети: технологии,протоколы. Учебник.“- Питер, 2000 — 672 с.

4.      Николайчук Я.М., Яцків В.В., ГринчишинТ.М. Перспективи створення телефонних ліній на основі відкритого оптичногоканалу зв’язку // Вісник Технологічного університету Поділля. 2002.Т2– №3. – С. 47 – 50.
Додаток 1. Скріпт перевірки правильності вводу індексу; вивід для заповненняформи СП-5.

<?php       

echo „<!DOCTYPE HTML PUBLIC\“-//W3C//DTD HTML 3.2 Final//RU\»>

<HTML>

    <HEAD>

    <TITLE>Заголовокдокумента</TITLE>

    </HEAD>

<BODY>";

//Перевірка на правильність вводу індексу

$type = $_GET['index'] + 10;

if ($type == 10) {

  echo «Введено неправильнийіндекс.»;

  return;

}

$finding_counter = 0;

//відриваемо базу

$db = dbase_open(«C:\Apache2\htdocs\BD\Kpit.dbf», 0);

//кількість записів в базі

$records_counter = dbase_numrecords($db);

//Пошук по базі

for ($c=0; $c<$records_counter; $c++) {

  $temp_record = dbase_get_record ($db,$c);

  if ($temp_record[0] == $_GET['index']) {

     $temp_record[1] = convert_cyr_string($temp_record[1], d, w); //перекодування назви видання з ср866 в win-1251

     $temp_record[1] = str_replace ('"','\'', $temp_record[1]);

     echo "<BR>Індекс: "; echo$_GET['index'];

     echo "<BR>Видання:$temp_record[1]";

     $finding_counter = 1;

    }

  if ($finding_counter == 1)

    break;

  }

  if ($finding_counter == 0) {

    echo «Видання з індексом »; echo$_GET['index']; echo " не знайдено.";

    return;

  }

 

$today = getdate();

echo "<FORMACTION=\"/Scripts/SP1_Zl_in2.php\">

    Кількість комплектів:

    <INPUT TYPE=\«text\»SIZE=\«1\» NAME=\«amount\»>

    <br>

    㺁    02  㺃    04  㺅    06   㺇    08  㺉    10  㺋    12<BR>

    <INPUTTYPE=\«text\» SIZE=\«1\» NAME=\«01\»>

    <INPUTTYPE=\«text\» SIZE=\«1\» NAME=\«02\»>

    <INPUTTYPE=\«text\» SIZE=\«1\» NAME=\«03\»>

    <INPUTTYPE=\«text\» SIZE=\«1\» NAME=\«04\»>

    <INPUTTYPE=\«text\» SIZE=\«1\» NAME=\«05\»>

    <INPUTTYPE=\«text\» SIZE=\«1\» NAME=\«06\»>

    <INPUTTYPE=\«text\» SIZE=\«1\» NAME=\«07\»>

    <INPUTTYPE=\«text\» SIZE=\«1\» NAME=\«08\»>

    <INPUTTYPE=\«text\» SIZE=\«1\» NAME=\«09\»>

    <INPUTTYPE=\«text\» SIZE=\«1\» NAME=\«10\»>

    <INPUTTYPE=\«text\» SIZE=\«1\» NAME=\«11\»>

    <INPUTTYPE=\«text\» SIZE=\«1\» NAME=\«12\»>

    <br>

    <INPUT TYPE=\«hidden\»NAME=\«index\» VALUE=\""; echo $_GET['index']; echo "\">

    <INPUT TYPE=\«hidden\»NAME=\«name\» VALUE=\""; echo $temp_record[1]; echo "\">

    <INPUT TYPE=\«hidden\»NAME=\«smsp\» VALUE=\""; echo $temp_record[5]; echo "\">

    <INPUT TYPE=\«hidden\»NAME=\«month\» VALUE=\""; echo $today['mon']; echo "\">

    <INPUT TYPE=\«hidden\»NAME=\«year\» VALUE=\""; echo $today['year']; echo "\">

 

  <BR>  <BR>

    <INPUT TYPE=\«submit\»SIZE=\«5\» VALUE=\«Прийняти\»>

</FORM>";

echo "</BODY>

</HTML>";

?>


Додаток 2. Скріпт переносу даних з Web-форми в файл бази даних.

<?php

$bd = dbase_open («C:\\Apache2\\htdocs\\BD\\2004_Zl_SP1.DBF»,2);

$arr_to_bd[0] = $_GET['index'];

$arr_to_bd[1] = convert_cyr_string($_GET['name'], w, a);

$arr_to_bd[2] = $_GET['amount'];

$arr_to_bd[3] = $_GET['01'];

$arr_to_bd[4] = $_GET['02'];

$arr_to_bd[5] = $_GET['03'];

$arr_to_bd[6] = $_GET['04'];

$arr_to_bd[7] = $_GET['05'];

$arr_to_bd[8] = $_GET['06'];

$arr_to_bd[9] = $_GET['07'];

$arr_to_bd[10] = $_GET['08'];

$arr_to_bd[11] = $_GET['09'];

$arr_to_bd[12] = $_GET['10'];

$arr_to_bd[13] = $_GET['11'];

$arr_to_bd[14] = $_GET['12'];

$arr_to_bd[15] = $_GET['smsp'];

$arr_to_bd[16] = $_GET['month'];

$arr_to_bd[17] = $_GET['year'];

//$records_counter = dbase_numrecords( $bd);

dbase_add_record ($bd, $arr_to_bd);

//dbase_replace_record ($bd, $arr_to_bd,$records_counter);

echo "<br> $temp";

echo «Запис добавлено. <br>»;

dbase_close($bd);

echo "<AHREF=\"\\SP1_Zl_in.html\"> Ввести нову квитанцію.</A>";

?>


Додаток 3. Скріпт створення файлу бази данихсортувальної таблиці.

<?php

$bd_1 = dbase_open(«C:\\Apache2\\htdocs\\BD\\2004_1_SP5.DBF»,0);

$bd_2 = dbase_open(«C:\\Apache2\\htdocs\\BD\\2004_2_SP5.DBF»,0);

$bd_3 = dbase_open(«C:\\Apache2\\htdocs\\BD\\2004_3_SP5.DBF»,0);

$bd_4 = dbase_open(«C:\\Apache2\\htdocs\\BD\\2004_4_SP5.DBF»,0);

$bd_5 = dbase_open(«C:\\Apache2\\htdocs\\BD\\2004_5_SP5.DBF»,0);

$bd_6 = dbase_open(«C:\\Apache2\\htdocs\\BD\\2004_6_SP5.DBF»,0);

$bd_7 = dbase_open(«C:\\Apache2\\htdocs\\BD\\2004_7_SP5.DBF»,0);

$bd_8 = dbase_open(«C:\\Apache2\\htdocs\\BD\\2004_8_SP5.DBF»,0);

$bd_9 = dbase_open(«C:\\Apache2\\htdocs\\BD\\2004_9_SP5.DBF»,0);

$bd_10 =dbase_open(«C:\\Apache2\\htdocs\\BD\\2004_10_SP5.DBF», 0);

$bd_11 =dbase_open(«C:\\Apache2\\htdocs\\BD\\2004_11_SP5.DBF», 0);

$bd_12 =dbase_open(«C:\\Apache2\\htdocs\\BD\\2004_12_SP5.DBF», 0);

$bd_13 = dbase_open(«C:\\Apache2\\htdocs\\BD\\2004_13_SP5.DBF»,0);

$bd_14 =dbase_open(«C:\\Apache2\\htdocs\\BD\\2004_14_SP5.DBF», 0);

$bd_15 =dbase_open(«C:\\Apache2\\htdocs\\BD\\2004_15_SP5.DBF», 0);

$bd_16 =dbase_open(«C:\\Apache2\\htdocs\\BD\\2004_16_SP5.DBF», 0);

$bd_17 = dbase_open(«C:\\Apache2\\htdocs\\BD\\2004_17_SP5.DBF»,0);

$bd_18 =dbase_open(«C:\\Apache2\\htdocs\\BD\\2004_18_SP5.DBF», 0);

$bd_19 =dbase_open(«C:\\Apache2\\htdocs\\BD\\2004_19_SP5.DBF», 0);

$bd_20 =dbase_open(«C:\\Apache2\\htdocs\\BD\\2004_20_SP5.DBF», 0);

$bd_21 =dbase_open(«C:\\Apache2\\htdocs\\BD\\2004_21_SP5.DBF», 0);

$bd_22 =dbase_open(«C:\\Apache2\\htdocs\\BD\\2004_22_SP5.DBF», 0);

$bd_23 =dbase_open(«C:\\Apache2\\htdocs\\BD\\2004_23_SP5.DBF», 0);

$bd_24 = dbase_open(«C:\\Apache2\\htdocs\\BD\\2004_24_SP5.DBF»,0);

$bd_25 =dbase_open(«C:\\Apache2\\htdocs\\BD\\2004_25_SP5.DBF», 0);

$bd_26 =dbase_open(«C:\\Apache2\\htdocs\\BD\\2004_26_SP5.DBF», 0);

$bd_27 =dbase_open(«C:\\Apache2\\htdocs\\BD\\2004_27_SP5.DBF», 0);

$bd_Zl = dbase_open(«C:\\Apache2\\htdocs\\BD\\2004_Zl_SP5.DBF»,0);

$bd_ST =dbase_open(«C:\\Apache2\\htdocs\\BD\\2004_04_ST.DBF», 2);

$records_counter = dbase_numrecords($bd_1);

//Внесення даних по ВЗ Б.К

for ($i=1; $i<=$records_counter; $i++) {

   $temp_record = dbase_get_record ($bd_1, $i);

   $records_counter_ST = dbase_numrecords($bd_ST);

   for ($e=1; $e<=$records_counter_ST; $e++) {

     $temp_record_ST = dbase_get_record ($bd_ST, $e);

     if ($temp_record[0] == $temp_record_ST[0]) {

       for ($q=0;$q<=29;$q++)

         $temp_rec[$q] = $temp_record_ST[$q];

       $temp_rec[2] = $temp_record_ST[2] + $temp_record[6];

       dbase_replace_record ($bd_ST, $temp_rec, $e);

       break;

     }

   }

}

//Внесення даних по ВЗ Бібщани

for ($i=1; $i<=$records_counter; $i++) {

   $temp_record = dbase_get_record ($bd_2, $i);

   $records_counter_ST = dbase_numrecords($bd_ST);

   for ($e=1; $e<=$records_counter_ST; $e++) {

     $temp_record_ST = dbase_get_record ($bd_ST, $e);

     if ($temp_record[0] == $temp_record_ST[0]) {

       for ($q=0;$q<=29;$q++)

         $temp_rec[$q] = $temp_record_ST[$q];

       $temp_rec[3] = $temp_record_ST[3] + $temp_record[6];

       dbase_replace_record ($bd_ST, $temp_rec, $e);

       break;

     }

   }

}

//Внесення даних по ВЗ Бортків

for ($i=1; $i<=$records_counter; $i++) {

   $temp_record = dbase_get_record ($bd_3, $i);

   $records_counter_ST = dbase_numrecords($bd_ST);

   for ($e=1; $e<=$records_counter_ST; $e++) {

     $temp_record_ST = dbase_get_record ($bd_ST, $e);

     if ($temp_record[0] == $temp_record_ST[0]) {

       for ($q=0;$q<=29;$q++)

         $temp_rec[$q] = $temp_record_ST[$q];

       $temp_rec[4] = $temp_record_ST[4] + $temp_record[6];

       dbase_replace_record ($bd_ST, $temp_rec, $e);

       break;

     }

   }

}

//Внесення даних по ВЗ В.Вільшаниця

for ($i=1; $i<=$records_counter; $i++) {

   $temp_record = dbase_get_record ($bd_4, $i);

   $records_counter_ST = dbase_numrecords($bd_ST);

   for ($e=1; $e<=$records_counter_ST; $e++) {

     $temp_record_ST = dbase_get_record ($bd_ST, $e);

     if ($temp_record[0] == $temp_record_ST[0]) {

       for ($q=0;$q<=29;$q++)

         $temp_rec[$q] = $temp_record_ST[$q];

       $temp_rec[5] = $temp_record_ST[5] + $temp_record[6];

       dbase_replace_record ($bd_ST, $temp_rec, $e);

       break;

     }

   }

}

//Внесення даних по ВЗ Вороняки

for ($i=1; $i<=$records_counter; $i++) {

   $temp_record = dbase_get_record ($bd_5, $i);

   $records_counter_ST = dbase_numrecords($bd_ST);

   for ($e=1; $e<=$records_counter_ST; $e++) {

     $temp_record_ST = dbase_get_record ($bd_ST, $e);

     if ($temp_record[0] == $temp_record_ST[0]) {

       for ($q=0;$q<=29;$q++)

         $temp_rec[$q] = $temp_record_ST[$q];

       $temp_rec[6] = $temp_record_ST[6] + $temp_record[6];

       dbase_replace_record ($bd_ST, $temp_rec, $e);

       break;

     }

   }

}

//Внесення даних по ВЗ Глиняни

for ($i=1; $i<=$records_counter; $i++) {

   $temp_record = dbase_get_record ($bd_6, $i);

   $records_counter_ST = dbase_numrecords($bd_ST);

   for ($e=1; $e<=$records_counter_ST; $e++) {

     $temp_record_ST = dbase_get_record ($bd_ST, $e);

     if ($temp_record[0] == $temp_record_ST[0]) {

       for ($q=0;$q<=29;$q++)

         $temp_rec[$q] = $temp_record_ST[$q];

       $temp_rec[7] = $temp_record_ST[7] + $temp_record[6];

       dbase_replace_record ($bd_ST, $temp_rec, $e);

       break;

     }

   }

}

//Внесення даних по ВЗ Гологори

for ($i=1; $i<=$records_counter; $i++) {

   $temp_record = dbase_get_record ($bd_7, $i);

   $records_counter_ST = dbase_numrecords($bd_ST);

   for ($e=1; $e<=$records_counter_ST; $e++) {

     $temp_record_ST = dbase_get_record ($bd_ST, $e);

     if ($temp_record[0] == $temp_record_ST[0]) {

       for ($q=0;$q<=29;$q++)

         $temp_rec[$q] = $temp_record_ST[$q];

       $temp_rec[8] = $temp_record_ST[8] + $temp_record[6];

       dbase_replace_record ($bd_ST, $temp_rec, $e);

       break;

     }

   }

}

//Внесення даних по ВЗ

for ($i=1; $i<=$records_counter; $i++) {

   $temp_record = dbase_get_record ($bd_8, $i);

   $records_counter_ST = dbase_numrecords($bd_ST);

   for ($e=1; $e<=$records_counter_ST; $e++) {

     $temp_record_ST = dbase_get_record ($bd_ST, $e);

     if ($temp_record[0] == $temp_record_ST[0]) {

       for ($q=0;$q<=29;$q++)

         $temp_rec[$q] = $temp_record_ST[$q];

       $temp_rec[9] = $temp_record_ST[9] + $temp_record[6];

       dbase_replace_record ($bd_ST, $temp_rec, $e);

       break;

     }

   }

}

//Внесення даних по ВЗ

for ($i=1; $i<=$records_counter; $i++) {

   $temp_record = dbase_get_record ($bd_9, $i);

   $records_counter_ST = dbase_numrecords($bd_ST);

   for ($e=1; $e<=$records_counter_ST; $e++) {

     $temp_record_ST = dbase_get_record ($bd_ST, $e);

     if ($temp_record[0] == $temp_record_ST[0]) {

       for ($q=0;$q<=29;$q++)

         $temp_rec[$q] = $temp_record_ST[$q];

       $temp_rec[10] = $temp_record_ST[10] + $temp_record[6];

       dbase_replace_record ($bd_ST, $temp_rec, $e);

       break;

     }

   }

}

//Внесення даних по ВЗ

for ($i=1; $i<=$records_counter; $i++) {

   $temp_record = dbase_get_record ($bd_10, $i);

   $records_counter_ST = dbase_numrecords($bd_ST);

   for ($e=1; $e<=$records_counter_ST; $e++) {

     $temp_record_ST = dbase_get_record ($bd_ST, $e);

     if ($temp_record[0] == $temp_record_ST[0]) {

       for ($q=0;$q<=29;$q++)

         $temp_rec[$q] = $temp_record_ST[$q];

       $temp_rec[11] = $temp_record_ST[11] + $temp_record[6];

       dbase_replace_record ($bd_ST, $temp_rec, $e);

       break;

     }

   }

}

//Внесення даних по ВЗ

for ($i=1; $i<=$records_counter; $i++) {

   $temp_record = dbase_get_record ($bd_11, $i);

   $records_counter_ST = dbase_numrecords($bd_ST);

   for ($e=1; $e<=$records_counter_ST; $e++) {

     $temp_record_ST = dbase_get_record ($bd_ST, $e);

     if ($temp_record[0] == $temp_record_ST[0]) {

       for ($q=0;$q<=29;$q++)

         $temp_rec[$q] = $temp_record_ST[$q];

       $temp_rec[12] = $temp_record_ST[12] + $temp_record[6];

       dbase_replace_record ($bd_ST, $temp_rec, $e);

       break;

     }

   }

}

//Внесення даних по ВЗ

for ($i=1; $i<=$records_counter; $i++) {

   $temp_record = dbase_get_record ($bd_12, $i);

   $records_counter_ST = dbase_numrecords($bd_ST);

   for ($e=1; $e<=$records_counter_ST; $e++) {

     $temp_record_ST = dbase_get_record ($bd_ST, $e);

     if ($temp_record[0] == $temp_record_ST[0]) {

       for ($q=0;$q<=29;$q++)

         $temp_rec[$q] = $temp_record_ST[$q];

       $temp_rec[13] = $temp_record_ST[13] + $temp_record[6];

       dbase_replace_record ($bd_ST, $temp_rec, $e);

       break;

     }

   }

}

//Внесення даних по ВЗ

for ($i=1; $i<=$records_counter; $i++) {

   $temp_record = dbase_get_record ($bd_13, $i);

   $records_counter_ST = dbase_numrecords($bd_ST);

   for ($e=1; $e<=$records_counter_ST; $e++) {

     $temp_record_ST = dbase_get_record ($bd_ST, $e);

     if ($temp_record[0] == $temp_record_ST[0]) {

       for ($q=0;$q<=29;$q++)

         $temp_rec[$q] = $temp_record_ST[$q];

       $temp_rec[14] = $temp_record_ST[14] + $temp_record[6];

       dbase_replace_record ($bd_ST, $temp_rec, $e);

       break;

     }

   }

}

//Внесення даних по ВЗ

for ($i=1; $i<=$records_counter; $i++) {

   $temp_record = dbase_get_record ($bd_14, $i);

   $records_counter_ST = dbase_numrecords($bd_ST);

   for ($e=1; $e<=$records_counter_ST; $e++) {

     $temp_record_ST = dbase_get_record ($bd_ST, $e);

     if ($temp_record[0] == $temp_record_ST[0]) {

       for ($q=0;$q<=29;$q++)

         $temp_rec[$q] = $temp_record_ST[$q];

       $temp_rec[15] = $temp_record_ST[15] + $temp_record[6];

       dbase_replace_record ($bd_ST, $temp_rec, $e);

       break;

     }

   }

}

//Внесення даних по ВЗ

for ($i=1; $i<=$records_counter; $i++) {

   $temp_record = dbase_get_record ($bd_15, $i);

   $records_counter_ST = dbase_numrecords($bd_ST);

   for ($e=1; $e<=$records_counter_ST; $e++) {

     $temp_record_ST = dbase_get_record ($bd_ST, $e);

     if ($temp_record[0] == $temp_record_ST[0]) {

       for ($q=0;$q<=29;$q++)

         $temp_rec[$q] = $temp_record_ST[$q];

       $temp_rec[16] = $temp_record_ST[16] + $temp_record[6];

       dbase_replace_record ($bd_ST, $temp_rec, $e);

       break;

     }

   }

}

//Внесення даних по ВЗ

for ($i=1; $i<=$records_counter; $i++) {

   $temp_record = dbase_get_record ($bd_16, $i);

   $records_counter_ST = dbase_numrecords($bd_ST);

   for ($e=1; $e<=$records_counter_ST; $e++) {

     $temp_record_ST = dbase_get_record ($bd_ST, $e);

     if ($temp_record[0] == $temp_record_ST[0]) {

       for ($q=0;$q<=29;$q++)

         $temp_rec[$q] = $temp_record_ST[$q];

       $temp_rec[17] = $temp_record_ST[17] + $temp_record[6];

       dbase_replace_record ($bd_ST, $temp_rec, $e);

       break;

     }

   }

}

//Внесення даних по ВЗ

for ($i=1; $i<=$records_counter; $i++) {

   $temp_record = dbase_get_record ($bd_17, $i);

   $records_counter_ST = dbase_numrecords($bd_ST);

   for ($e=1; $e<=$records_counter_ST; $e++) {

     $temp_record_ST = dbase_get_record ($bd_ST, $e);

     if ($temp_record[0] == $temp_record_ST[0]) {

       for ($q=0;$q<=29;$q++)

         $temp_rec[$q] = $temp_record_ST[$q];

       $temp_rec[18] = $temp_record_ST[18] + $temp_record[6];

       dbase_replace_record ($bd_ST, $temp_rec, $e);

       break;

     }

   }

}

//Внесення даних по ВЗ

for ($i=1; $i<=$records_counter; $i++) {

   $temp_record = dbase_get_record ($bd_18, $i);

   $records_counter_ST = dbase_numrecords($bd_ST);

   for ($e=1; $e<=$records_counter_ST; $e++) {

     $temp_record_ST = dbase_get_record ($bd_ST, $e);

     if ($temp_record[0] == $temp_record_ST[0]) {

       for ($q=0;$q<=29;$q++)

         $temp_rec[$q] = $temp_record_ST[$q];

       $temp_rec[19] = $temp_record_ST[19] + $temp_record[6];

       dbase_replace_record ($bd_ST, $temp_rec, $e);

       break;

     }

   }

}

//Внесення даних по ВЗ

for ($i=1; $i<=$records_counter; $i++) {

   $temp_record = dbase_get_record ($bd_19, $i);

   $records_counter_ST = dbase_numrecords($bd_ST);

   for ($e=1; $e<=$records_counter_ST; $e++) {

     $temp_record_ST = dbase_get_record ($bd_ST, $e);

     if ($temp_record[0] == $temp_record_ST[0]) {

       for ($q=0;$q<=29;$q++)

         $temp_rec[$q] = $temp_record_ST[$q];

       $temp_rec[20] = $temp_record_ST[20] + $temp_record[6];

       dbase_replace_record ($bd_ST, $temp_rec, $e);

       break;

     }

   }

}

//Внесення даних по ВЗ

for ($i=1; $i<=$records_counter; $i++) {

   $temp_record = dbase_get_record ($bd_20, $i);

   $records_counter_ST = dbase_numrecords($bd_ST);

   for ($e=1; $e<=$records_counter_ST; $e++) {

     $temp_record_ST = dbase_get_record ($bd_ST, $e);

     if ($temp_record[0] == $temp_record_ST[0]) {

       for ($q=0;$q<=29;$q++)

         $temp_rec[$q] = $temp_record_ST[$q];

       $temp_rec[21] = $temp_record_ST[21] + $temp_record[6];

       dbase_replace_record ($bd_ST, $temp_rec, $e);

       break;

     }

   }

}

//Внесення даних по ВЗ

for ($i=1; $i<=$records_counter; $i++) {

   $temp_record = dbase_get_record ($bd_21, $i);

   $records_counter_ST = dbase_numrecords($bd_ST);

   for ($e=1; $e<=$records_counter_ST; $e++) {

     $temp_record_ST = dbase_get_record ($bd_ST, $e);

     if ($temp_record[0] == $temp_record_ST[0]) {

       for ($q=0;$q<=29;$q++)

         $temp_rec[$q] = $temp_record_ST[$q];

       $temp_rec[22] = $temp_record_ST[22] + $temp_record[6];

       dbase_replace_record ($bd_ST, $temp_rec, $e);

       break;

     }

   }

}

//Внесення даних по ВЗ

for ($i=1; $i<=$records_counter; $i++) {

   $temp_record = dbase_get_record ($bd_22, $i);

   $records_counter_ST = dbase_numrecords($bd_ST);

   for ($e=1; $e<=$records_counter_ST; $e++) {

     $temp_record_ST = dbase_get_record ($bd_ST, $e);

     if ($temp_record[0] == $temp_record_ST[0]) {

       for ($q=0;$q<=29;$q++)

         $temp_rec[$q] = $temp_record_ST[$q];

       $temp_rec[23] = $temp_record_ST[23] + $temp_record[6];

       dbase_replace_record ($bd_ST, $temp_rec, $e);

       break;

     }

   }

}

//Внесення даних по ВЗ

for ($i=1; $i<=$records_counter; $i++) {

   $temp_record = dbase_get_record ($bd_23, $i);

   $records_counter_ST = dbase_numrecords($bd_ST);

   for ($e=1; $e<=$records_counter_ST; $e++) {

     $temp_record_ST = dbase_get_record ($bd_ST, $e);

     if ($temp_record[0] == $temp_record_ST[0]) {

       for ($q=0;$q<=29;$q++)

         $temp_rec[$q] = $temp_record_ST[$q];

       $temp_rec[24] = $temp_record_ST[24] + $temp_record[6];

       dbase_replace_record ($bd_ST, $temp_rec, $e);

       break;

     }

   }

}

//Внесення даних по ВЗ

for ($i=1; $i<=$records_counter; $i++) {

   $temp_record = dbase_get_record ($bd_24, $i);

   $records_counter_ST = dbase_numrecords($bd_ST);

   for ($e=1; $e<=$records_counter_ST; $e++) {

     $temp_record_ST = dbase_get_record ($bd_ST, $e);

     if ($temp_record[0] == $temp_record_ST[0]) {

       for ($q=0;$q<=29;$q++)

         $temp_rec[$q] = $temp_record_ST[$q];

       $temp_rec[25] = $temp_record_ST[25] + $temp_record[6];

       dbase_replace_record ($bd_ST, $temp_rec, $e);

       break;

     }

   }

}

//Внесення даних по ВЗ

for ($i=1; $i<=$records_counter; $i++) {

   $temp_record = dbase_get_record ($bd_25, $i);

   $records_counter_ST = dbase_numrecords($bd_ST);

   for ($e=1; $e<=$records_counter_ST; $e++) {

     $temp_record_ST = dbase_get_record ($bd_ST, $e);

     if ($temp_record[0] == $temp_record_ST[0]) {

       for ($q=0;$q<=29;$q++)

         $temp_rec[$q] = $temp_record_ST[$q];

       $temp_rec[26] = $temp_record_ST[26] + $temp_record[6];

       dbase_replace_record ($bd_ST, $temp_rec, $e);

       break;

     }

   }

}

//Внесення даних по ВЗ

for ($i=1; $i<=$records_counter; $i++) {

   $temp_record = dbase_get_record ($bd_26, $i);

   $records_counter_ST = dbase_numrecords($bd_ST);

   for ($e=1; $e<=$records_counter_ST; $e++) {

     $temp_record_ST = dbase_get_record ($bd_ST, $e);

     if ($temp_record[0] == $temp_record_ST[0]) {

       for ($q=0;$q<=29;$q++)

         $temp_rec[$q] = $temp_record_ST[$q];

       $temp_rec[27] = $temp_record_ST[27] + $temp_record[6];

       dbase_replace_record ($bd_ST, $temp_rec, $e);

       break;

     }

   }

}

//Внесення даних по ВЗ

for ($i=1; $i<=$records_counter; $i++) {

   $temp_record = dbase_get_record ($bd_27, $i);

   $records_counter_ST = dbase_numrecords($bd_ST);

   for ($e=1; $e<=$records_counter_ST; $e++) {

     $temp_record_ST = dbase_get_record ($bd_ST, $e);

     if ($temp_record[0] == $temp_record_ST[0]) {

       for ($q=0;$q<=29;$q++)

         $temp_rec[$q] = $temp_record_ST[$q];

       $temp_rec[28] = $temp_record_ST[28] + $temp_record[6];

       dbase_replace_record ($bd_ST, $temp_rec, $e);

       break;

     }

   }

}

//Внесення даних по ВЗ Золочів

$records_counter = dbase_numrecords($bd_Zl);

for ($i=1; $i<=$records_counter; $i++) {

   $temp_record = dbase_get_record ($bd_Zl, $i);

   $records_counter_ST = dbase_numrecords($bd_ST);

   for ($e=1; $e<=$records_counter_ST; $e++) {

     $temp_record_ST = dbase_get_record ($bd_ST, $e);

     if ($temp_record[0] == $temp_record_ST[0]) {

       $temp_rec[0] = $temp_record_ST[0];

       $temp_rec[1] = $temp_record_ST[1];

       for ($q=2;$q<29;$q++)

         $temp_rec[$q] = $temp_record_ST[$q];

       $temp_rec[29] = $temp_record_ST[29] + $temp_record[6];

       dbase_replace_record ($bd_ST, $temp_rec, $e);

       break;

     }

   }

}

dbase_close ($bd_1);

dbase_close ($bd_2);

dbase_close ($bd_3);

dbase_close ($bd_4);

dbase_close ($bd_5);

dbase_close ($bd_6);

dbase_close ($bd_7);

dbase_close ($bd_8);

dbase_close ($bd_9);

dbase_close ($bd_10);

dbase_close ($bd_11);

dbase_close ($bd_12);

dbase_close ($bd_13);

dbase_close ($bd_14);

dbase_close ($bd_15);

dbase_close ($bd_16);

dbase_close ($bd_17);

dbase_close ($bd_18);

dbase_close ($bd_19);

dbase_close ($bd_20);

dbase_close ($bd_21);

dbase_close ($bd_22);

dbase_close ($bd_23);

dbase_close ($bd_24);

dbase_close ($bd_25);

dbase_close ($bd_26);

dbase_close ($bd_27);

dbase_close ($bd_Zl);

dbase_close ($bd_ST);

?>


Додаток 4. Скріпт виводу сортувальної таблицідля друку.

<?php

$bd = dbase_open («C:\\Apache2\\htdocs\\BD\\2004_04_ST.DBF»,0);

$rec_counter = dbase_numrecords ($bd);

echo "<TABLE BORDER>

";

echo "<TR><TD>Індекс</TD><TD>Назвавидання</TD><TD>Б.К</TD><TD>Біб</TD><TD>Бор</TD><TD>В.В</TD><TD>Вор</TD><TD>Глн</TD><TD>Гол</TD><TD>Гонч</TD><TD>Єл</TD><TD>Жук</TD><TD>Заст</TD><TD>Кур</TD><TD>Кол</TD><TD>Нов</TD><TD>Підг</TD><TD>Плг</TD><TD>Пом</TD><TD>Пол</TD><TD>Поч</TD><TD>Ремз</TD><TD>Сас</TD><TD>Скв</TD><TD>Слв</TD><TD>Снв</TD><TD>Стр</TD><TD>Чер</TD><TD>Ясн</TD><TD>Зол</TD></TR>";

for ($i=1; $i<=$rec_counter; $i++) {

//  if ($i==100) break;

  $temp_record2 = dbase_get_record ($bd, $i);

    if ($temp_record2[2] != 0) {

      echo"<TR><TD><CENTER>$temp_record2[0]</CENTER></TD>";

      echo "<TD>$temp_record2[1]</TD>";

      for ($t=2; $t<29; $t++)

       if ($temp_record2[$t] == 0)

         echo"<TD><CENTER> </CENTER></TD>";

       else

         echo"<TD><CENTER>$temp_record2[$t]</CENTER></TD>";

         echo"<TD><CENTER>$temp_record2[29]</CENTER></TD></TR>";}

else

    if ($temp_record2[3] != 0){

      echo "<TR><TD><CENTER>$temp_record2[0]</CENTER></TD>";

      for ($t=1; $t<29; $t++)

         echo"<TD><CENTER>$temp_record2[$t]</CENTER></TD>";

         echo"<TD><CENTER>$temp_record2[29]</CENTER></TD></TR>";}

else

    if ($temp_record2[4] != 0){

      echo "<TR><TD><CENTER>$temp_record2[0]</CENTER></TD>";

      for ($t=1; $t<29; $t++)

         echo"<TD><CENTER>$temp_record2[$t]</CENTER></TD>";

         echo"<TD><CENTER>$temp_record2[29]</CENTER></TD></TR>";}

else

    if ($temp_record2[5] != 0){

      echo "<TR><TD><CENTER>$temp_record2[0]</CENTER></TD>";

      for ($t=1; $t<29; $t++)

         echo"<TD><CENTER>$temp_record2[$t]</CENTER></TD>";

         echo"<TD><CENTER>$temp_record2[29]</CENTER></TD></TR>";}

else

    if ($temp_record2[6] != 0) {

      echo "<TR><TD><CENTER>$temp_record2[0]</CENTER></TD>";

      for ($t=1; $t<29; $t++)

         echo"<TD><CENTER>$temp_record2[$t]</CENTER></TD>";

         echo"<TD><CENTER>$temp_record2[29]</CENTER></TD></TR>";}

else

    if ($temp_record2[7] != 0) {

      echo "<TR><TD><CENTER>$temp_record2[0]</CENTER></TD>";

      for ($t=1; $t<29; $t++)

         echo"<TD><CENTER>$temp_record2[$t]</CENTER></TD>";

         echo"<TD><CENTER>$temp_record2[28]</CENTER></TD></TR>";}

else

    if ($temp_record2[8] != 0) {

      echo"<TR><TD><CENTER>$temp_record2[0]</CENTER></TD>";

      for ($t=1; $t<29; $t++)

         echo"<TD><CENTER>$temp_record2[$t]</CENTER></TD>";

         echo"<TD><CENTER>$temp_record2[28]</CENTER></TD></TR>";}

else

    if ($temp_record2[9] != 0) {

      echo"<TR><TD><CENTER>$temp_record2[0]</CENTER></TD>";

      for ($t=1; $t<29; $t++)

         echo"<TD><CENTER>$temp_record2[$t]</CENTER></TD>";

         echo"<TD><CENTER>$temp_record2[29]</CENTER></TD></TR>";}

else

    if ($temp_record2[10] != 0) {

      echo"<TR><TD><CENTER>$temp_record2[0]</CENTER></TD>";

      for ($t=1; $t<29; $t++)

         echo"<TD><CENTER>$temp_record2[$t]</CENTER></TD>";

         echo"<TD><CENTER>$temp_record2[29]</CENTER></TD></TR>";}

else

    if ($temp_record2[11] != 0) {

      echo"<TR><TD><CENTER>$temp_record2[0]</CENTER></TD>";

      for ($t=1; $t<29; $t++)

         echo"<TD><CENTER>$temp_record2[$t]</CENTER></TD>";

         echo"<TD><CENTER>$temp_record2[29]</CENTER></TD></TR>";}

else

    if ($temp_record2[12] != 0) {

      echo"<TR><TD><CENTER>$temp_record2[0]</CENTER></TD>";

      for ($t=1; $t<29; $t++)

         echo"<TD><CENTER>$temp_record2[$t]</CENTER></TD>";

         echo"<TD><CENTER>$temp_record2[29]</CENTER></TD></TR>";}

else

    if ($temp_record2[13] != 0) {

      echo"<TR><TD><CENTER>$temp_record2[0]</CENTER></TD>";

      for ($t=1; $t<29; $t++)

         echo"<TD><CENTER>$temp_record2[$t]</CENTER></TD>";

         echo"<TD><CENTER>$temp_record2[29]</CENTER></TD></TR>";}

else

    if ($temp_record2[14] != 0) {

      echo"<TR><TD><CENTER>$temp_record2[0]</CENTER></TD>";

      for ($t=1; $t<29; $t++)

         echo"<TD><CENTER>$temp_record2[$t]</CENTER></TD>";

         echo"<TD><CENTER>$temp_record2[29]</CENTER></TD></TR>";}

else

    if ($temp_record2[15] != 0) {

      echo"<TR><TD><CENTER>$temp_record2[0]</CENTER></TD>";

      for ($t=1; $t<29; $t++)

         echo"<TD><CENTER>$temp_record2[$t]</CENTER></TD>";

         echo"<TD><CENTER>$temp_record2[29]</CENTER></TD></TR>";}

else

    if ($temp_record2[16] != 0) {

      echo"<TR><TD><CENTER>$temp_record2[0]</CENTER></TD>";

      for ($t=1; $t<29; $t++)

         echo"<TD><CENTER>$temp_record2[$t]</CENTER></TD>";

         echo"<TD><CENTER>$temp_record2[29]</CENTER></TD></TR>";}

else

    if ($temp_record2[17] != 0) {

      echo"<TR><TD><CENTER>$temp_record2[0]</CENTER></TD>";

      for ($t=1; $t<29; $t++)

         echo"<TD><CENTER>$temp_record2[$t]</CENTER></TD>";

         echo"<TD><CENTER>$temp_record2[29]</CENTER></TD></TR>";}

else

    if ($temp_record2[18] != 0) {

      echo"<TR><TD><CENTER>$temp_record2[0]</CENTER></TD>";

      for ($t=1; $t<29; $t++)

         echo"<TD><CENTER>$temp_record2[$t]</CENTER></TD>";

         echo"<TD><CENTER>$temp_record2[29]</CENTER></TD></TR>";}

else

    if ($temp_record2[19] != 0) {

      echo"<TR><TD><CENTER>$temp_record2[0]</CENTER></TD>";

      for ($t=1; $t<29; $t++)

         echo"<TD><CENTER>$temp_record2[$t]</CENTER></TD>";

         echo"<TD><CENTER>$temp_record2[29]</CENTER></TD></TR>";}

else

    if ($temp_record2[20] != 0) {

      echo"<TR><TD><CENTER>$temp_record2[0]</CENTER></TD>";

      for ($t=1; $t<29; $t++)

         echo"<TD><CENTER>$temp_record2[$t]</CENTER></TD>";

         echo"<TD><CENTER>$temp_record2[29]</CENTER></TD></TR>";}

else

    if ($temp_record2[21] != 0) {

      echo"<TR><TD><CENTER>$temp_record2[0]</CENTER></TD>";

      for ($t=1; $t<29; $t++)

         echo"<TD><CENTER>$temp_record2[$t]</CENTER></TD>";

         echo"<TD><CENTER>$temp_record2[29]</CENTER></TD></TR>";}

else

    if ($temp_record2[22] != 0) {

      echo"<TR><TD><CENTER>$temp_record2[0]</CENTER></TD>";

      for ($t=1; $t<29; $t++)

         echo"<TD><CENTER>$temp_record2[$t]</CENTER></TD>";

         echo"<TD><CENTER>$temp_record2[29]</CENTER></TD></TR>";}

else

    if ($temp_record2[23] != 0) {

      echo"<TR><TD><CENTER>$temp_record2[0]</CENTER></TD>";

      for ($t=1; $t<29; $t++)

         echo"<TD><CENTER>$temp_record2[$t]</CENTER></TD>";

         echo"<TD><CENTER>$temp_record2[29]</CENTER></TD></TR>";}

else

    if ($temp_record2[24] != 0) {

      echo"<TR><TD><CENTER>$temp_record2[0]</CENTER></TD>";

      for ($t=1; $t<29; $t++)

         echo"<TD><CENTER>$temp_record2[$t]</CENTER></TD>";

         echo"<TD><CENTER>$temp_record2[29]</CENTER></TD></TR>";}

else

    if ($temp_record2[25] != 0) {

      echo"<TR><TD><CENTER>$temp_record2[0]</CENTER></TD>";

      for ($t=1; $t<29; $t++)

         echo"<TD><CENTER>$temp_record2[$t]</CENTER></TD>";

         echo"<TD><CENTER>$temp_record2[29]</CENTER></TD></TR>";}

else

    if ($temp_record2[26] != 0) {

      echo"<TR><TD><CENTER>$temp_record2[0]</CENTER></TD>";

      for ($t=1; $t<29; $t++)

         echo"<TD><CENTER>$temp_record2[$t]</CENTER></TD>";

         echo"<TD><CENTER>$temp_record2[29]</CENTER></TD></TR>";}

else

    if ($temp_record2[27] != 0) {

      echo"<TR><TD><CENTER>$temp_record2[0]</CENTER></TD>";

      for ($t=1; $t<29; $t++)

         echo"<TD><CENTER>$temp_record2[$t]</CENTER></TD>";

         echo"<TD><CENTER>$temp_record2[29]</CENTER></TD></TR>";}

else

    if ($temp_record2[28] != 0) {

      echo"<TR><TD><CENTER>$temp_record2[0]</CENTER></TD>";

      for ($t=1; $t<29; $t++)

         echo"<TD><CENTER>$temp_record2[$t]</CENTER></TD>";

         echo"<TD><CENTER>$temp_record2[29]</CENTER></TD></TR>";}

else

    if ($temp_record2[29] != 0) {

      echo"<TR><TD><CENTER>$temp_record2[0]</CENTER></TD>";

      for ($t=1; $t<29; $t++)

         echo"<TD><CENTER>$temp_record2[$t]</CENTER></TD>";

         echo "<TD><CENTER>$temp_record2[29]</CENTER></TD></TR>";}

}

echo "

</TABLE>

";

dbase_close ($bd);

?>

еще рефераты
Еще работы по информатике, программированию