Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

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

Відповіді

1. Основні принципи внутрішнього представлення даних у комп’ютері. Необхідність типізації даних. Використання змінних.
Дані в комп’ютері представляються за допомогою двійкового коду.
Цілі числа представляються в двійковій системі числення, дійсні зберігаються з певною точністю в нормалізованій формі (знак-зсунутий порядок-нормалізована мантиса). Символи кодуються за допомогою таблиць кодування (ASCII, UNICODE…) за допомогою одно- або двобайтних двійкових чисел.
Типізація даних необхідна щоб комп’ютер міг взаємодіяти з даними, адже без неї комп’ютеру за наявності посилання на початок даних невідомо скільки читати/записувати, як кодувати інформацію і як оперувати нею. Тип відповідає за множину значень, множину допустимих операцій і спосіб збереження та виконання операцій.
Змінна – іменована частина програми, яка утримує певне значення. Змінні поділяються на змінні-значення (зберігаються в стеку, утримують значення) та змінні-посилання (в стеку зберігається посилання на дані в купі).

2. Алгоритм та його властивості. Блок-схема та псевдокод як способи запису алгоритмів. Базові елементи програми (у процедурному програмуванні).
Алгоритм – набір описів конкретної послідовності дій, потрібних комп’ютеру чи інтелектуальному пристрою щоб за певний час виконати те чи інше завдання.
Властивості алгоритму: дискретність (ряд закінчених кроків, відомі момент початку та кінця кожного з них), точність (команди виконавцю однозначні і на кожному кроці зрозуміло що робити далі), зрозумілість (виконавцю відомо як виконувати ту чи іншу команду), результативність (через скінченну кількість кроків задачу буде розв’язано, або процес розв’язання не може бути продовжений), масовість (алгоритм повинний бути застосовним до ряду однотипних задач).
Блок-схема – спосіб запису алгоритмів у вигляді блоків команд з’єднаних лініями зі стрілками.
Псевдокод – формальний спосіб запису алгоритмів, який не прив’язує алгоритм до певної мови програмування і тому може нехтувати деякими деталями реалізації, неважливими для розуміння алгоритму. В ньому мова програмування доповнюється природньою мовою.
У процедурному програмування базовими елементами програми є підпрограма – частина програмного коду з власним ім’ям, оформлена за певними правилами. Через таку концепцію у процедурному програмуванні також передбачені механізми передачі параметрів та повернення результату виконання підпрограмами.

3. Принципи моделювання структури реляційних баз даних. Первинний та зовнішній ключі. Поняття транзакції та цілісності бази даних.
Реляційна база даних складається з таблиць. Ім’я таблиці має бути унікальним.
кожна таблиця має сутність (базова одиниця даних, що зберігається в базі даних. Об’єкт з визначеною множиною властивостей, який можна легко ідентифікувати), що складається з атрибутів (мають унікальне ім’я). Екземпляр сутності складається з полів. Також деякі атрибути (первинний ключ одної таблиці і зовнішній ключ іншої) можна зв’язувати.
Первинний ключ – атрибут або множина атрибутів, які унікально ідентифікують кожен рядок таблиці. Зовнішній ключ – це первинний ключ, який з’являється як атрибут в іншій таблиці. Він використовується для зв’язування таблиць.
Транзакція – це послідовність операцій над даними, які СКБД обробляє як єдине ціле.
Цілісність бази даних: БД має містити повну інформацію яка адекватно відображає предметну область та не містить протиріч.

4. Переваги використання XML для зберігання даних. Схема документу XML. Поняття правильного та дійсного документу.
Переваги використання XML: стандартизація виду даних, використання тексту, зрозумілого людині, підтримка Юнікоду (кирилиця, символи…), можна описувати ієрархічні бази даних, простий синтаксис, оснований на міжнародних стандартах, простий текст, вільний від ліцензування або яких-небудь обмежень, не залежить від платформи, великий час існування стандарту та досвід роботи, не накладає обмежень на порядок розміщення атри бутів, існує стандарт перетворення вбудований в ОС та браузери…
Схема документу XML – це всього лише XML-файл із правилами щодо того, що може, а що не може міститися у файлі з XML даними. Файли схеми зазвичай мають розширення XSD, а файли з XML-даними мають розширення XML.
Правильний XML-документ – всі елементи документу мають бути вкладені і текст має відповідати синтаксису. Для визначення правильності документа необхідно: визначити використання тільки заданого набору дескрипторів, перевірити, щоб порядок проходження елементів і їх атрибутів повністю відповідав змісту документа або певним правилам.
Дійсний XML-документ – семантично правильний (виділено тегами заголовки, важливі фрази і так далі – правильно структуровано документ на рівні XML).

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

6. Можливі представлення програмної системи в рамках UML. Поняття прецеденту (варіанту використання) та дійової особи в UML. Можливі варіанти зв’язків між прецедентами.
Програмна система, що розглядається в рамках UML, представляється так: структурне представлення (діаграми класів, об’єктів), представлення реалізації (діаграми компонентів), представлення оточення (діаграми розгортання), представлення поведінки (діаграми кооперації, діаграми послідовностей, діаграми діяльності, діаграми станів), представлення користувача (діаграми прецедентів).
Прецедент (варіант використання) – опис деякої кількості послідовних дій, включаючи їх варіанти, які виконує система з метою отримання значущого результату для дійової особи.
Дійова особа – довільна зовнішня по відношенню до системи сутність, яка взаємодіє із системою та використовує її функціональні можливості для досягнення якихось цілей.
Можливі варіанти зв’язків: Спадкування, реалізація інтерфейсу, клас містить від 1 до n об’єктів іншого класу, інші типи відношень (в конспекті).

7. Особливості компіляції програм у середовищі.NET.
Вихідний текст програми за допомогою MSIL compiler перетворюються в MSIL код (збирання).
Цей код за допомогою JIT-компілятора перетворюється в двійковий код і виконується (з використанням базових класів і метаданих. спочатку завантажуються класи, потім JIT-компілятор перетворює частину програми у виконуваний код, який, виконуючись, в свою чергу може спонуками JIT-компілятор компілювани інші фрагменти коду).

8. Типи-значення та типи-посилання в.NET. Перетворення типів.
Див питання 1 +
Перетворення типів: менший при виконанні операцій перетворюється до більшого неявно. Більший можна явно перетворити до меншого. При цьому можуть бути втрачені дані.
Об’єкт деякого класу може бути неявно перетворений до батьківського класу. Батьківський клас може бути явно перетворений до похідного (якщо це можливо, якщо ні буде генеруватися виключна ситуація). Для перевірки, чи можливо певне перетворення використовується оператор is. Для перетворення без генерування виключної ситуації використовується as. Якщо перетворення неможливе, то змінній буде присвоєно значення null.

9. Основні операції в мові C#. Пріоритет операцій. Особливості побітових операцій в мові C#. Перевантаження операцій.
Операції є унарні (-, ~), бінарні (+, -, %, *, &, |, ^) та тарнарна операція вибору (?:). Найбільший пріоритет в унарних операцій, потім операції *, %, &, потім +, -, |…
Побітові операції виконуються над числами побітово х)
Є операція побітового зсуву. В ній крайні біти зазвичай заміняються на 0 в без знакових числах і на число в залежності від знакового розряду в знакових.
У власних класах можна перевантажувати операції. Тобто можна реалізувати щоб об’єкти ваших власних класів можна було додавати, віднімати, множити і т.д.

10. Загальна структура програми мовою C#. Стиль програмування. Правила написання коментарів. Види коментарів в мові C#.
Програма в C# складається з об’єктів, що взаємодіють. Гарним стилем вважається дотримання інтервалів, запис одної дії в рядок, відступи в операторних дужках… Стилі назв: верблюд (newProgram), паскалівський (NewProgram), стиль, що використовують в java/С++: new_program.
Коментарі виділяються в коді. Звичайні коментарі можна оформляти за допомогою // або /* та */. XML-коментарі оформляються за допомогою ///.

11. Оператори мови C#: умовні оператори, оператори циклу, оператори зміни порядку виконання (та доцільність їх використання).
Умовні оператори if, switch – за результатом умови вибирають команду або блок команд для виконання.
Цикли for, while, do while, foreach – повторюють команду/блок команд.
{} – групує код в блоки, label: … go to label – зміна порядок виконання коду, () – порядок виконання арифметичних операцій

12. Стандартне введення і виведення інформації у мові C# (консольні застосування). Форматоване виведення.
Стандартне введення та виведення в консоль виконується через статичні методи класу Console Write & WriteLine а також Read & ReadLine. Форматування виведення: в цих методах можна використовувати форматування виведення. Спочатку задається строка формата з оформленими певним чином місцями для підстановки значень (плейсхолдерами), а потім значення, які потрібно підставляти. Оформлюються місця підстановки наступним чином: {n, m: fk}, де n – порядковий номер елементу у списку виводу (нумерація з нуля), m – ширина поля виводу, f – символ специфікації формату, k – точність.

13. Методи в мові C#. Типи параметрів. Сигнатура метода. Перевантаження методів.
Методи в мові C# можуть визначатися лише всередині класу. Дони можуть бути пов’язані з об’єктом класу, або з самим класом (статичні методи). Патаметри можна передавати за значенням (в метод передаються копії) і за посиланням (в метод передаються посилання на парметри. Тобто змінюючи параметр в методі він буде змінюватися і в іншому методі, з якого викликано даний). Сигнатура методу складається з назви, кількості та типу параметрів, спосіб передавання параметрів. На сигнатуру не впливають імена параметрів і тип результату, який повертає метод. Перевантаженими називаються методи з однаковим іменем, але різною сигнатурою.

14. Рекурсія та її використання у програмуванні. Пряма та непряма рекурсія.
Рекурсія – звертання до самого себе (само повторюваний шаблон, виклик методом самого себе). Використовується для організації нескінченних обчислень. Потрібно обов’язково передбачити вихід з рекурсії.
Пряма рекурсія – коли метод викликає себе безпосередньо сам. Непряма – коли метод А викликає себе через посередника/посередників (метод В, який в свою чергу викликає метод А).

15. Обробка помилок. Традиційний та сучасний підходи. Обробка виключних ситуацій у мові C#.
Традиційний підхід – це при виникненні виключної ситуації завершувати роботу програми і виводити повідомленні про помилку, використовуючи для означення помилки коду (зазвичай числового). Для отримання як базових так і розширених відомостей про помилку треба було звертатися до документації.
Сучасний підхід – при виникненні виключної ситуації є можливість передати керування певному блоку коду, який обробить дану помилку і в найкращому випадку дасть змогу користувачеві працювати з програмою далі. В такий блок коду зазвичай передається об’єкт помилки, який містить точні відомості про те коли і де виникла помилка, а також способи її можливого розв’язання.

16. Використання масивів у мові C#.
Масив – це множина однотипних значень, що зберігаються під одним ім’ям і доступ до них відбувається за номером. Масиви часто використовуються коли треба зберегти певну кількість однотипних значень для наступної їх обробки. За допомогою масивів моделюють багато структур даних. Розмір масиву можна змінювати під час виконання, але для цього треба викликати окремо метод зміни розміру масиву.

17. Використання базових колекцій (ArrayList, List<>) у мові C#.
Колекції – дуже схожі на масиви, але знатні до динамічного розширання при додаванні елементу (без виклику окремого методу зміни розміру). Крім того, колекція ArrayList зберігає об’єкти типу object, що є базовим для всіх типів мови C#, що дає можливість зберігати в цій колекції об’єкти будю-якого типу (але через приведення типів сповільнюється робота програми). List – типізована колекція, швидкість роботи якої порівняна зі швидкість роботи масиву.

18. Особливості роботи з рядками у мові C#.
Робота з рядками в C# доволі зручно організована. Рядки в С# - це тип-посилання. Але поводить він себе як тип значення. Рядок складається з послідовності символів UNICODE. Можна доступатися до символів по їх номеру. Читати при цьому можна, а змінювати – ні. Текст, що утримує рядок, не можна змінити після його створення. Тільки створити новий рядок. Методи працюють з копією рядка. Є тип StringBilder – нормальний тип-посилання, що утримує рядок. Метод equals порівнює рядки на рівність. Метод compare порівнює лексично.

19. Введення і виведення інформації з використанням файлів у мові C# (консольні застосування).
Для виведенні інформації у файл і введення в нього використовується похідний від Stream клас FileStream. За допомогою нього можна відкрити файл як на зчитування, так і на запис. При цьому запис відбувається побайтово. Для запису посимвольно або побітово є класи StreamReader, StreamWriter, BinaryReader & BinaryWriter. Останні 2 є оболонками для байтових потоків, одним з яких і є FileStream.

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

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

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...