Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Розвиток методології програмування від процедурного до об’єктно- орієнтованого підходу.
Однією з революційних концепцій програмування було структурне програмування, що базувалось на процедурній абстракції. Процедури (або просто підпрограми) дозволяли структурувати текст програми, допускали повторне використання окремих частин програми (реалізоване у вигляді виклику процедури з будь-якого місця програми, в тому числі і з самої процедури). Тим самим ця концепція наводила певний порядок у програмах (яким були притаманні багатократні переходи та заплутаність текстів програм). Найбільш поширеними мовами програмування високого рівня в межах цієї концепції були мови ПЛ/1, Pascal, C, Modula-2. Структурні мови програмування дозволяли писати досить складні програми. Проте фатальним для концепції структурного програмування ставав об’єм програми. В той час як важливою підтримкою складних інженерних проектів виступало програмування, написання реально складної та великої програми в межах цієї концепції ставало неможливою.Один із нових підходів до програмування одержав назву об’єктно-орієнтованого програмування (ООП). Для реалізації цієї концепції були створені нові мови програмування. Одним із найбільш вдалих проектів була мова С++, яка повністю підтримувала весь парк програм, створених для компіляторів з мови С. Саме цей факт і забезпечив мові С++ комерційний успіх. Іншими прикладами об’єктно-орієнтованих мов програмування служать мови Smalltalk, Java та інші.Концепція об’єктно-орієнтованого програмування базується на трьох основних принципах. По-перше, об’єкт інкапсулює (приховує) у собі дані та методи, які ними оперують, залишаючи назовні лише можливість послати або одержати повідомлення – дозволену інформацію про себе. По-друге, існує можливість створювати нові об’єкти з розширеним списком можливостей шляхом спадкування від існуючих об’єктів. І нарешті, різні об’єкти можуть мати методи з однаковим інтерфейсом, проте різним функціонуванням. Ця властивість реалізує підхід, що одержав назву поліморфізму. Його ідея: один інтерфейс – багато методів.Сучасні мови програмування доросли таким чином до так званого «метапрограмування», або програмування з допомогою шаблонів – можна створювати програми, які створюють інші програми як результат своєї роботи. Таким чином, мова програмування одержує певну самостійність, яка з одного боку значно спрощує розв’язання багатьох проблем, проте й вносить певний елемент некерованості, незалежності від авторського задуму.
Особлиості компіляції програм у середовищі NET Microsoft.NET Framework — це програмна технологія, запропонована фірмою Microsoft для створення програм різних типів. Особливість технології є сумісність різних служб, створених різними мовами програмування. Програми можуть звертатись до методів та класів, створених на цій платформі з використанням різних мов. Це можливо через те що середовище розробки.NET при компіляції кожної програми, створеної будь-якою мовою програмування, що існують на платформі.NET, створює двійковий код, спеціальною проміжною мовою, що одержала назву MSIL, або просто IL. Далі, коли платформно-незалежний код мовою IL має бути пристосований до довільної конкретної платформи, на якій буде «жити» програма, цю задачу виконує спеціальний JIT (just-in-time compiler) компілятор («компіляція на льоту»). Роботою цього компілятора керує спеціальна служба CLR (Common Language Runtime) – стандартне середовище виконання для мов.NET. CLR керує всіма задачами низького рівня, пов’язаними з розгортанням застосувань, використанням пам’яті, тощо. Крім цього, частиною.NET є стандартна система типів CTS (Common Type System), та потужна бібліотека базових класів, які використовуються усіма мовами платформи.NET
12. Мова С# – це мова жорстокої типізації. Це означає, що кожний об’єкт в програмі має відноситись до одного з визначених типів. Всі типи даних, що використовуються в С#, діляться на 2 категорії типи-значень (value types) та типи-посилання (reference types). Типи – значень – це ті, які можуть зберігати певні значення (числові, символьні, текстові, тощо). Вони розташовані у так званому стеку – спеціальній області пам’яті програми, елементи якої обслуговуються за принципом черги (англ. LIFO, last input – first output) – елемент, записаний останнім, вибирається першим.
13. Основні операції мови С#: 1.Арифметичні операції: (+) – додавання, (-) – віднімання, (*) – множення, (/) – ділення, (%) – визначення залишку від ділення – є бінарними операціями і виконуються над операндами довільних цілих та дійсних чисел, формуючи результат, тип якого визначається правилами «просування по сходинках типів». 2. Операції інкременту та декременту. Унарні операції інкременту (++) та декременту (--) викликають відповідно збільшення або зменшення операнду дійсного або цілого типу на одиницю. Фактично, ці операції задають неявне присвоєння нового значення змінній.Вони мають префіксну форму (коли знак операції ++ чи -- записується перед змінною) та постфіксну форму (коли знак операції ++ чи -- записується після змінної). В обох випадках змінна, до якої застосована операція інкреметну або декременту, буде збільшена або зменшена на одиницю, проте при префіксній формі ці зміни відбудуться перед використанням змінної у виразі, а при постфіксній формі – після використання змінної у виразі. 3. Операції відношення (порівняння). Бінарні операції відношення: (==) – перевірка на рівність, (!=) – перевірка на нерівність, (>) – перевірка чи більший перший операнд за другий, (>=) – перевірка чи не менший перший операнд за другий, (<) – перевірка чи менший перший операнд за другий, (<=) – перевірка чи не більший перший операнд за другий. Кожна з цих операцій формує значення true або false в залежності від результату порівняння. 4. Логічні операції. Виконуються над операндами логічного типу та визначають результат логічного типу. Логічні операції мають дві форми: звичайну та скорочену. Звичайні логічні операції: (&) – логічне множення або логічне «І», (|) – логічне додавання або логічне «АБО», (^) – логічне виключне «АБО», (!) – логічне заперечення «НІ». Крім того, логічні множення та додавання мають ще скорочені форми, які позначаються знаками && та || відповідно. 5. Порозрядні (бітові) операції виконуються над відповідними бітами внутрішнього подання лише цілих операндів. Результатом виконання є ціле відповідного операндам типу. Таких операцій є 6: (&) – порозрядне «І», тобто кон’юнкція бітів, (|) – порозрядне «АБО»,тобто диз’юнкція бітів, (^) – порозрядне виключне «АБО», (>>) – порозрядний зсув праворуч, (<<) – порозрядний зсув ліворуч, (~) – порозрядне заперечення. Всі операції, крім останньої, є бінарними. Слід зауважити, що при зсуві ліворуч (<<) на вказану правим операндом кількість позицій внутрішнє подання лівого операнду просто зсувається ліворуч, а позиції, що вивільняються, заповнюються нулями. При зсуві праворуч (>>) позиції, що вивільняються ліворуч, заповнюються нулями для беззнакового операнду, якщо ж зсув виконується для знакового операнду, то на вільні ліві позиції розповсюджується знаковий розряд, тобто для від’ємного числа вільні позиції ліворуч заповняться одиницями. 6. Умовна (тернарна) операція має наступну синтаксичну форму: <вираз_1>? < вираз_2>: < вираз_3>. Назву «тернарна» ця операція має тому, що її визначають 3 вирази. Перший вираз повинен мати тип bool. Якщо його значення рівне true, то обчислюється значення другого виразу, яке і визначає всю тернарну операцію. Якщо ж значення першого виразу false, то обчислюється значення третього виразу, і його значення стає значенням всього тернарного виразу. 7. Операції присвоєння. Крім звичайної операції присвоєння (=) в мові С# виконуються ще 10 скорочених операцій присвоєння, які позначаються як <op>=, де знак <op> може бути замінений на знак однієї з операцій: + - * / % & | ^ >> <<. При цьому значення конструкції <змінна> <op>= <вираз>; обчислюється наступним чином: <змінна> = <змінна> <op> <вираз>. 8. Пріоритет операцій. При складанні виразів слід враховувати, що порядок виконання операцій у виразі визначається пріоритетом операцій. Проте правилом хорошого тону слід вважати використання дужок, які підкреслюють порядок обчислень та роблять вираз більш зрозумілим.
14. Поняття змінної. Використання змінних, констант, read-only змінних. . Константа – це величина, яке не змінює свого значення. Отже, значення константи має бути визначене в той момент, коли ви описуєте константу в програмі, тобто знайомите з нею компілятор. Змінна – це очевидно, величина, яка протягом роботи програми може набувати різних значень. Вище вже говорилось про необхідність типізації даних, тобто кожна змінна програми має відноситись до певного типу даних, допустимих в межах синтаксису (тобто правил використання слів) даної мови програмування. Змінні також мають бути «представлені» компілятору. Проте тут слід розрізняти два етапи: опис (декларацію) змінної, який для компілятора є повідомленням про характер змінної та дає змогу контролювати її використання в програмі, та визначення змінної, тобто власне створення змінної в пам’яті. Надання початкового значення змінній називається ініціалізацією. Фізичні та математичні константи мають усталені імена, наприклад, – стала Ейлера, – гравітаційна стала, тощо. Змінні в математиці також позначають звичними літерами – . Імена змінних та констант в програмі звуться ідентифікаторами. Складати ідентифікатори програміст має право довільно, не обмежуючи свою фантазію, в межах, звісно власної культури та правил синтаксису мови. Хороший стиль програмування (більше про стиль програмування можна самостійно прочитати у посібниках [1, 2]) означає, як мінімум, що програма, яку ви створюєте, має властивість readability – зручність для читання та сприйняття, а отже, і внесення змін та супроводження її. Тому ідентифікатори слід вибирати так, щоб вони відбивали зміст змінної або константи.
15.Умовні оператори мови С#
Умовний оператор if використовується для розгалуження процесу обчислень на два напрями. Структурна схема оператора наведена на рис.
Формат оператора if (логічна умова) оператор1 [else оператор2] Спочатку обчислюється логічна умова. Якщо вона має значення true, виконується перший оператор, інакше — другий. Після цього управління передається на оператор, який слідує за умовним оператором if. Гілка else може бути відсутньою. Якщо в якій-небудь гілці потрібно виконати декілька операторів, їх необхідно укласти в блок. Блок може містити будь-які оператори, у тому числі описи інших умовних операторів, але не може складатися з одних описів. Приклад if (a>b) Console.WriteLine(“a>b”); else Console.WriteLine(“a<=b”);
|
||||||||
Последнее изменение этой страницы: 2017-02-07; просмотров: 325; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.60.149 (0.013 с.) |