Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Білети з інформатики.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
176.45 Кб
Скачать

3. Технологія Java.

Сутність цієї технології полягає у тому, що ісходний текст програми переводиться в проміжний код, який називається JAVA Byte Code. Цей проміжний код, за допомогою інтерпретатора, можна маленькими частинами швидко перевести в машинний код та виконати. Інтерпретатор JAVA byte code – JAVA Virtual Machine (JVM) і компанія SUN безкоштовно розповсюджує ці інтерпретатори для різних платформ.

Java технологія є дуже перспективною для застосквання в розробках неокомерційного спрямування. Обмеженість інструментарію Java не проявляється в проектах невеликого обсягу і з лихвою компенсується простотою програмування розподілених програм, які працюють з мережею Internet/Intranet . Переносимість Java програм спрощує обмін навчальними програмами між різними навчальними закладими, відкрииває можливість сумісних розробок та створення стандартних навчальних програм, наприклад для шкіл. Крім того, дуже привабливою з точки зору ефективності, залишається ідея втілення в навчальних закладах мережевих комп'ютерів (Network Computers), які працюють на базі Java, замість звичних персональних комп'ютерів (Personal Computers).

Білет 11

1.Підпрограма - частина програми, яка реалізує певний алгоритм і дозволяє звернення до неї з різних частин загальної (головної) програми. В термінах мов програмування: функції (С), процедури (Pascal), методи (в термінології об'єктно-орієнтованого програмування в мовах C++, Java, С# та ін.).

Рекомендації по використанню підпрограм:

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

Ті фрагменти програми, що повторюються, оформлюються у вигляді підпрограми, а у місцях повтору ставлять операторів виклику цієї підпрограми.

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

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

Виконання виклику підпрограми відбувається у два етапи:

Запам’ятовується адреса точки повернення. Ця адреса записується у область оперативної пам’яті, яка називається стеком.

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

Повернення з підпрограми у точку виклику:

Із стека зчитується адреса точки повернення.

Ця адреса використовується для того, щоб передати керування у точку виклику та почати виконання наступного оператора.

У мікропроцесорах є відповідні команди – команда виклику підпрограми та команда повернення з підпрограми.

2. Комп'ютерний вірус - це невелика програма, що написана програмістом високої кваліфікації, здатна до саморозмноження й виконання різних деструктивних дій. На сьогоднішній день відомо понад 50 тис. Комп'ютерних вірусів. Існує багато різних версій стосовно дати народження першого комп'ютерного вірусу. Однак більшість фахівців сходяться на думці, що комп'ютерні віруси, як такі, вперше з'явилися у 1986 році, хоча історично виникнення вірусів тісно пов'язане з ідеєю створення самовідтворюючих програм.

Одним із "піонерів" серед комп'ютерних вірусів вважається вірус "Brain", створений пакистанським програмістом на прізвище Алві. Тільки у США цей вірус вразив понад 18 тис. комп'ютерів. На початку епохи комп'ютерних вірусів розробка вірусоподібних програм носила чисто дослідницький характер, поступово перетворюючись на відверто вороже протистояння користувачів та безвідповідальних, і навіть кримінальних "елементів". В ряді країн карне законодавство передбачає відповідальність за комп'ютерні злочини, в тому числі за створення та розповсюдження вірусів.

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

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

Існує дуже багато різних вірусів. Умовно їх можна класифікувати наступним чином:

завантажувальні віруси або BOOT-віруси: заражають boot-сектори дисків. Дуже небезпечні, можуть призвести до повної втрати всієї інформації, що зберігається на диску;

файлові віруси: заражають файли. Поділяються на:

віруси, що заражують програми (файли з розширенням .EXE і .COM);

макровіруси: віруси, що заражують файли даних, наприклад, документи Word або робочі книги Excel;

віруси-супутники: використовують імена інших файлів;

віруси сімейства DIR: спотворюють системну інформацію про файлові структури;

завантажувально-файлові віруси: здатні вражати як код boot-секторів, так і код файлів;

віруси-невидимки або STEALTH-віруси: фальсифікують інформацію прочитану з диска так, що програма, якій призначена ця інформація отримує невірні дані. Ця технологія, яку, інколи, так і називають Stealth-технологією, може використовуватися як в BOOT-вірусах, так і у файлових вірусах;

ретровіруси: заражують антивірусні програми, намагаючись знищити їх або зробити непрацездатними;

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

3.Microsoft .NET (читається дот-нет) — програмна технологія, запропонована фірмою Microsoft як платформа для створення як звичайних програм, так і веб-програм. Багато в чому є продовженням ідей та принципів, покладених в технологію Java.

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

Кожна бібліотека (збірка) в .NET має свідчення про свою версію, що дозволяє усунути можливі конфлікти між різними версіями збірок.

.NET — крос-платформена технологія, в цей час існує реалізація для платформи Microsoft Windows, FreeBSD (від Microsoft) і варіант технології для ОС Linux в проекті Mono (в рамках угоди між Microsoft з Novell), DotGNU [1].

Захист авторських прав відноситься до створення середовищ виконання (CLR — Common Language Runtime) для програм .NET. Компілятори для .NET випускаються багатьма фірмами для різних мов вільно.

.NET поділяється на дві основні частини — середовище виконання (по суті віртуальна машина) та інструментарій розробки.

Середовища розробки .NET-програм: Visual Studio .NET (C++, C#, J#), SharpDevelop, Borland Developer Studio (Delphi, C#) і т. д. Середовище Eclipse має додаток для розробки .NET-програм. Застосовні програми також можна розроблювати в текстовому редакторі та використовувати консольний компілятор.

Як і технологія Java, середовище розробки .NET створює байт-код, призначений для виконання віртуальною машиною. Вхідна мова цієї машини в .NET називається CIL (Common Intermediate Language), також відома як MSIL (Microsoft Intermediate Language), або просто IL. Застосування байт-кода дозволяє отримати кроссплатформеність на рівні скомпільованого проекту (в термінах .NET: збірка), а не на рівні початкового тексту, як, наприклад, в С. Перед запуском збірки в середовищі виконання (CLR) байт-код перетворюється вбудованим в середовище JIT-компілятором (just in time, компіляція на льоту) в машинні коди цільового процесора.

Слід зазначити, що один з перших JIT-компіляторів для Java був також розроблений фірмою Microsoft (тепер в Java використовується досконаліша багаторівнева компіляція — Sun HotSpot). Сучасна технологія динамічної компіляції дозволяє досягнути аналогічного рівня швидкодії з традиційними «статичними» компіляторами (наприклад, С++) і питання швидкодії часто залежить від якості того чи іншого компілятора.

Білет 12