1.Мови програмування та іх класифікація Машинні мови: 1) функціональні (LISP, ML, Scheme); 2) об’єктно-орієнтовані (SIMULA, C++, Ada95, Java, Visual Basic); 3) імперативні (FORTRAN, Basic, C, Ada, COBOL, ALGOL, APL, Pascal); 4) декларативні (GPSS, Prolog). Імперативна або процедурна парадигма є традиційним підходом до процесу програмування: запис послідовності команд для одержання бажаного результату. Для розв’язку задачі iмперативна парадигма пропонує знайти алгоритм її рішення. Декларативна парадигма протилежна імперативній. Головним є точне формулювання задачі, а не алгоритм її розв’язку. Основна частина програми складається з описів. Декларативний підхід застосовується для моделювання систем. Функціональна парадигма розглядає процес розробки програм як конструювання її з деяких Black Box (функцій), кожна з яких отримує початкові дані (на вході) i виробляє відповідний результат (на виході). Перевага функціональної парадигми над імперативною в тому, що вона стимулює модульний підхід до розробки програм. Об’єктно-орієнтована парадигма передбачає об’єктно-орієнтоване програмування. Елемент даних розглядається як активний об’єкт а не пасивний. Перевагою модульної структури є те, що всі взаємодії модулів здійснюються шляхом пересилки повідомлень. Загальна характеристика мов програмування, транслятори і компілятори. С++ є розширенням мови С. С++ - це мова ООП, суть якого полягає в об’єднанні даних та алгоритмів їх опрацювання в єдине ціле. Узагальнене програмування, яке також підтримується мовою С++, - це ще один спосіб програмування, де код програми створюють незалежно від типу даних. Текст будь-якої програми складається з команд, описів змінних, сталих, приєднань бібліотек тощо. Такий текст називають програмним кодом. Мови С та С++ використовують базовий алфавіт з латинських символів (великих та малих), знаків пунктуації, цифр та _ . За допомогою значущого алфавіту формуються лексеми – значущі слова, які розрізняються компілятором (транслятором). Шляхом компонування лексем формується програма, яка задає певну послідовність дій для ЦП. Програма набирається в текстовому редакторі і компілятором перетворюється в машинний код. Всі мови програмування поділяють на два типи: трансляторні і компіляторні. Компіляторний тип: на основі тексту програми створюється автономний виконавчий модуль (exe-файл). Паскаль, С, С++. Трансляторний тип: вихідний текст програми перетворюється у внутрішній код (транслюється) та виконується транслятором в покроковому режимі. Basic, Java.
2.Поняття про структурне прог-ня. Структура пр-ми та аналіз розділів на мові ТР. Характеризується використанням локальних змінних, підпрограм та функцій, застосуванням рекурсії (виклик функції самої себе). Структурне програмування дозволяє підтримувати програми розміром до 50 тис. лінійок вихідного тексту. Модель програми можна представити у вигляді дерева. Мови C, Pascal використовують структурне програмування. Структурне програмування являє собою сукупність рекомендованих технологічних прийомів, що охоплюють виконання всіх етапів розробки програмного забезпечення. Основні принципи виконання розробки: - принцип низхідної розробки, який рекомендує на всіх етапах спочатку визначати найбільш загальні моменти, а потім поетапно виконувати деталізацію (що дозволяє послідовно концентрувати увагу на невеликих фрагментах розробки); - власне структурне програмування, яке рекомендує визначені структури алгоритмів і стиль програмування (чим наглядніший текст програми, тим менша ймовірність помилки); - принцип наскрізного структурного контролю, що передбачає проведення змістовного контролю всіх етапів розробки (чим раніше знайдена помилка, тим простіше її виправити). В основі структурного програмування лежить декомпозиція (розбиття на частини) складних систем з ціллю наступної реалізації у вигляді окремих невеликих (до 40-50 операторів) підпрограм. Програма складається із заголовкаprogram ; розділів описової частини uses – приєднання бібліотек та модулів; label – оголошення міток (позначок); const – оголошення сталих; type – опис типів; var – оголошення змінних; procedure – оголошення процедур користувача function – оголошення функцій користувача та виконуваної частини begin end. Заголовок та усі розділи, окрім останнього, є необов’язковими. Розділювачем між конструкціями (командами) програми є символ “;”. У кінці програми завжди має стояти крапка. Заголовок програмі надає програміст. У програму можуть входити коментарі. Коментар фрагмент тексту програми, взятий в фігурні дужки або записаний так: (* коментарКоментар слугує для пояснення роботи програми і не впливає на виконання команд. Він може бути розташований у довільному місці програми. З:Особливим видом коментаря є директива. Дирек-тиви призначені для задавання режимів функціонування компілятора. Як і коментар, директиву записують у фігурних дужках, де після відкриваючої дужки зазначають символ $, наприклад, директива {$N+} забезпечує застосування математичного співпроцесора тощо. Усі величини, які входять у програму, повинні бути описані у розділі сталих (конс-тант), якщо вони не мінятимуть значення протягом виконання програми: const = ; … = ; або у розділі оголошення змінних, якщо вони обчислюватимуться: var : ; … : ; Елементи списків записують через кому.
3. Структуровані (складені) типи даних мови ТР. Усі наведені вище типи даних є стандартними. Їх не треба описувати у розділі типів. Користувач може визначити свої власні типи даних у розділі type так: type = ; … = ; До простих нестандартних типів належать перерахований, діапа-зонний та ряд-ковий типи. Перерахований тип утворюють з ідентифікаторів (імен користу-вача) шля-хом їх об’єднання у список, який записують у круглих дужках: type = (, , …, ); Приклад. type week=(mon, tue, wed, thu, fri, sat, sun); Номер першого елемента списку завжди є 0. Дані пере-рахо-ваного типу не можна вводити з клавіатури чи виводити. Даними пере-рахо-ваного типу не можуть бути числові чи символьні значення. Діапазонний тип це звуження деякого базового упорядкова-но-го типу. Його описують наступним чином: type = ..; Рядковий тип даних (string). Значенням змінної рядкового типу може бути довільна послідовність, яка складається не більше, ніж з 255 символів. Змінні рядкового типу можна описати у розділі опи-су констант, типів, або оголосити у розділі змінних. Напри-клад, const s = ‘Bye!’; type t = string[10]; var top : t; w : string. У квадратних дужках зазначають довжину рядка.
4. Оператори умови. Програми з розгалуженнями. Команда розгалуження if (умовна команда) має два різновиди. Повна команда розгалуження має вигляд if then else ; Якщо логічний вираз істинний, то виконується команда , в протилежному випадку команда . Команди 1 та 2 можуть бути простими або складеними. Приклад. Нехай x=9. У результаті виконання команд if x>7 then y:=x*x else y:=sin(x); if x<5 then z:=exp(x) else z:=sqrt(x); В результаті отримаємо y=81, z=3. У команді розгалуження перед службовим словом else символ “;” не ставиться. Коротка команда розгалуження має вигляд if then ; Якщо логічний вираз істинний, то виконується команда , інакше виконується команда, яка знахо-дить-ся за даною конструкцією. Команда goto – це команда безумовного переходу, яка змі-нює послідовність виконання інших команд програми шляхом пере-ходу до виконання команди, що має мітку: goto ; Мітка може стояти перед довільною командою в програмі. Вона від-окремлюється від команди двокрапкою. : ; Позначку треба заздалегідь оголосити на початку програми у розділі label: label ; Позначка може починатися з букви або бути числом від 0 до 9999. Команда вибору сase має вигляд case of : ; … : else end; Тут вираз – це проста змінна цілого, символьного, перерахова-ного або лог. типу; списки значень – сталі або діапазони, тип яких збігається з типом виразу. Якщо список значень скла-да-ється з декількох елементів, то вони перераховуються через кому. Складова части-на else може бути від-сут-ня – тоді матимемо коротку форму команди case. Якщо значення виразу збігається зі значенням із списку i, то ви-конується команда з номером i, а інші команди цієї конструк-ції не викону-ють-ся. Якщо зна-чення виразу не збігається з жодним значен-ням з жодного списку, то вико-нується команда n+1 або, у випадку короткої форми, наступна команда після команди case.
5. Оператори циклу мови ТР. Цикл – це процес виконання певного набору команд деяку кі-ль-кість разів. Цикл реалізують або за допомогою конструкції if-goto, або, що значно ефективніше, за допомогою команд циклу. Є три ви-ди команд циклів: з параметром, з передумовою та з після-умовою. Команда циклу з параметром (for). Є два різновиди команди for. Розглянемо перший: for := to do ; Тут параметр – це змінна цілого, символьного, логічного або пере-ра-хо-ва-ного типу, а вирази і 2 задають початкове та кінцеве зна-чен-ня пара-метрa. Параметру циклу присвоюється значення ви-ра-зу . Якщо це значення менше-рівне, ніж значення виразу , то викону-єть-ся коман-да . Після виконання команди 1 значення параметра автоматично збільшується на і знову порів-нюєть-ся зі значенням виразу і т.д. Коли значення параметра стане більшим, ніж зна-чення виразу , то виконується наступна після цик-лу команда. Приклад. Нехай s=0. Після виконання команди циклу for i:=4 to 6 do begin s:=s+i; z:=2*i end; змінна s набуде значення 0+4+5+6=15, а змінна z – 12. Розглянемо другий різновид команди циклу for: for := downto do ; Ця команда діє як попередня, але крок зміни пара-мет-ра є –1. Команда циклу з передумовою (while) має вигляд: while do ; Доки значення логічного виразу істинне, викону-єть-ся команда . Істинний логічний вираз описує умову продов-жен-ня процесу виконання команди циклу. Команда циклу з післяумовою (repeat) має вигляд: repeat until ; Команди виконуються в циклі, доки значення логічного виразу не стане істинним. Істинний логічний вираз задає умову виходу з циклу. Команди після команди repeat виконаються принаймні один раз у випадку невиконання умови після команди until. Приклад. Нехай змінні x, y мають значення x=5, y=0. У ре-зуль-таті виконання команди repeat y:=y+x; z:=2*x; x:=x–2 until x<=1; змінні y, z, x набудуть значень y=0+5+3=8, z=6, x=1.
6-7. Процедури та функції у мові ТР Підпрограми призначені для реалізації алгоритмів опрацювання окремих частин деякої складної задачі. Розріз-няють два види під-про-грам – під-про-грами-процедури та підпро-грами-функ-ції. Під-програми поді-ля-ються на стандартні та підпрограми користу-вача. Стандартні підпрограми створювати не потрібно – вони містяться у стандартних модулях System, Crt, Dos, Graph тощо. Під-програма користувача — це по-йме-нована група команд, яку створюють і опису-ють в основній програмі в розділах procedure або function і до якої звертаються з будь-якого місця програми потрібну кількість разів. Процедури (procedure). Загальний опис процедури: procedure (); ; begin end; У списку формальних параметрів перераховують змінні разом із зазначенням їхніх типів. Розрізняють параметри-аргументи (параметри-значення) – вхідні дані для процедури, і параметри-результати (параметри-змінні), через які можна по-вер-тати результати роботи процедури в основну про-граму. Перед списками параметрів-результатів кожного типу за-пи-сують слово var. Зауважимо, що масиви фіксованих розмірів у списках формальних параметрів не можна описувати за до-помогою слова array (див. зразки програм). Розділи описів і оголошень у підпрограмах мають таку саму структуру як і в основній програмі. П-д. procedure сina(k: integer; var c: real); begin c:=k*10; с:=c+1; end; У наведеному прикладі k є формальним параметром-аргументом, с – формальним параметром-результатом. До процедури звертаються з розділу команд основної програми або іншої підпрограми. Процедуру викликають за допомогою команди виклику: (); Фактичними параметрами-аргументами можуть бути сталі, змінні, вирази, а параметрами-результатами лише змінні. Типи даних тут не зазначають. Між фактичними і формальними параметрами має бути відповідність за кількістю й типами. Команда виклику функціонує так: значення фактичних пара-метрів присвоюються відповідним формальним параметрам процедури, виконується процедура, визначаються параметри-результати, значення яких надаються (повертаються) відповідним фактич-ним па-ра-метрам у команді виклику. Змінні, описані в розділі описів основної програми, наз. глобальними. Вони діють у всіх підпрограмах, з яких складається про-грама. Змінні, описані в розділі описів конкретної процедури чи функції, наз. локальними. Вони діють тільки в межах даної про-це-дури чи функції. Процедури можуть отримувати і повертати значення не тільки через параметри-результати, але й через глобальні змінні. Тому списків параметрів у п-рі може не бути. Функції (function). Функція, на відміну від процедури, може повертати в місце виклику лише один результат простого стандарт-ного типу. Загальний опис функції: function () : ; ; begin
end; У розділі команд функції має бути команда присвоєння значення деякого виразу назві функції. Результат функції поверта-ється в основну програму через її назву. Виклик функ-ції здійс-ню-ється лише з виразів так: ()
9.Файлові типи даних. Організація числових та текстових файлів у мові ТР Часто виникає потреба опрацьовувати інформацію, розташо-вану на зовнішніх но-сіях (на дисках). Прикладами таких даних є інформація про успіш-ність студентів, розклад руху транспорту, адресні книжки. Файл - це сукупність даних, які розташовані на зовнішньому носії. Дані у файлі назива-ються елементами. Кіль-кість даних, на відміну від масиву, під час описування файлу не зазначають. Еле-мент файлу не має індекса. Тип елементів може бути як простим, так і складеним, але не може бути файлом. Файловий тип даних описують у розділі описів типів так: type =file of ; або безпосередньо у розділі огол-ня змінних: var : file of ; П-д. type myfile = file of integer; list = file of string[20]; var file1, file2: myfile; druzi: list; komanda: file of boolean; Дії з файлами. Для того, щоб знайти потрібний елемент файлу, необхідно послідовно переглянути всі попередні. Це нази-ва-ється послідовним доступом до файлу. Для опрацювання файлу його необхідно відкрити, виконати не-обхідні дії та закрити. Для визнач. кінця файлу є стандартна логічна функція eof (). Значення цієї функції буде true, якщо досягнуто кінець файлу. Файл можна відкрити лише або для читання, або для запи-су-ван-ня в нього інформації. Для роботи з файлами є такі команди: assign(,) - налагоджує зв’язок між іменем файлу і файлом на зовнішньому носії; reset() - відкриває файл для читання з нього даних; read(,) - читає (вводить) дане з файлу в оперативну пам’ять; close() - закриває файл; rewrite() - відкриває файл для записування в нього даних; write(,) - записує (виводить) дане у файл. Текстові файли. Дані у типованих файлах, описаних вище, певним чином кодуються комп’ютером. Ці файли не можна реда-гувати або переглядати за допомогою звичайного тексто-вого редак-тора. Тому, окрім типованих, використо-вують текстові фай-ли, які не мають такого недоліку. Елементами текстових файлів є рядки (послідовності символів: букв, цифр, знаків та пропусків). Такий файл можна створювати та реда-гувати за допомогою текстового редак-то-ра. Розмежовувачем між елементами файлу є пропуск. Уведення кож-ного рядка закінчу-ється натисканням на клавішу вводу. Для перевірки чи є символи у рядку викор. функцію eoln(). Текстові файли опис. у розділі опису змінних так: var : text; Дані з рядка текстового файлу можна зчитати за допомогою команд: read(, ); readln(, ); дія яких була описана вище. Різниця між цими командами така: під час виконання команди readln зайві дані у рядку ігноруються і на-ступна команда read чи readln буде зчитувати дані з наступного рядка. Рядок текстового файлу можна створити за допомогою звичайного текстового редактора або програмним способом за допомогою команд: write(, ); writeln(, ); На відміну від звичайних файлів у текстовий файл можна дода-вати (дописувати) дані. Для цього замість процедури rewrite використовують процедуру append(); 10. Успадкування, поняття та способи її підтримки в мові C++. Успадкування – процес, в результаті якого один об’єкт може успадковувати властивості іншого об’єкту. Можна створити ієрархію класів, що дозволяє розділити великі потоки інформації на складові частини і керувати ними окремо. Це здійснюється шляхом створення базових класів, які інкапсулюють найбільш характерні властивості об’єктів та похідних класів, які виражають конкретні особливості того чи іншого об’єкта. Наприклад: Базовий клас – транспортний засіб; похідний клас – автомобіль; другий похідний клас – легковий автомобіль. Успадкування буває однорівневе і багаторівневе (наслідування властивостей декількох базових класів). 13.Базові типи даних, приведення типів в мовах С/С++. Усі даін, які беруть участь в розв’язуванні задачі, ретельно класи-фікують за типами. Тип визначає допустимі значення даного, операції, які можна над ним виконувати, й обсяг оперативної пам’яті, який резервується для нього. Обсяг може залежати також від різновиду операційної системи комп’ютера. Визначити, який обсяг пам’яті компілятор надає даному того чи іншого типу, можна за допомогою команди sizeof(). П-д: cout << sizeof(short int) виведе на екран монітора цифру 2. Це означає, що дане типу short int займає в пам’яті 2 байти. Типи: 1) char – символьний - займає не менше 1 байта (-127 - +127); 2) int – ціле число – не менше 2 байт (-32767 - +32767); 3) float – числа з плаваючою комою – не менше 4 байт та 6 значущих цифр (3,4*10-38 – 3,4*1038); 4) long – ціле число – не менше 4 байт (-2 млрд - +2 млрд); 5) double – 8 байт – плаваюча кома з подвійною точністю; 6) long double – 10 байт – не менше 10 значущих цифр. Нові типи: 7) bool (в С++) або _Bool (в С) – логічна змінна – 1 байт (True & False). Для визначення розміру змінної в пам’яті викоритовується оператор sizeof – повертає ціле число байт, які займає змінна в пам’яті. Модифікатори змінних: 1) signed – знакове число; 2) unsigned – беззнакове число; 3) short (короткий) – використовується для типу int, має 2 байта. Символьний тип (char) – це множина символів кодової таблиці комп’ютера ASCII. Символьна стала – це один символ, узятий в лапки або число у 8-, 10- чи 16-й системі числення, яке є кодом символу у таблиці ASCII. Тип void застосовують до ф-цій, які не повертають значення у точку виклику або до ф-цій без параметрів. Типи користувача – це такі типи даних, які створює сам користувач. typedef
11.Поліморфізм, поняття та способи його підтримки в мові C++. Поліморфізм – в-ть, що полягає у використанні одного й того самого імені для виконання схожих але різних задач. Основне завдання поліморфізму полягає у створенні єдиного інтерфейсу при використанні багатьох методів. Інтерфейс – правила взаємодії з певним об’єктом. Єдиними типами змінних, які володіють цією властивістю є класи та структури (class, struct). Наприклад С має ряд ф-цій для визначення абсолютних значень: labs() – long; fabs() – float; abs – int. В ООП можна використати одну ф-цію наприклад abs(), а вона собі вибирає самий підходящий тип. abs (int a); abs(long a); abs(float a). Для різних типів даних використовують споріднені оператори. В залежності від типу змінної компілятор сам вибирає яку з ф-цій виконати. 12.Структура програми в мовах С/С++, директиви препроцесора. Найпростіша програма мовою С++ має такий загальний вигляд: // коментарі #include void main() { ; } Складніші програми містять значну кількість функцій та додаткових елементів. В загальному випадку програма мовою С++ має такий вигляд: // коментарі #include ... #include ... ; ; ; ... main(опис формальних параметрів){ ; ; ;} Препроцесор- це програма, яка опра-цьовує директиви. Директиви препроцесора – це команди компілятора відповідної мови програмування, які виконуються до початку компіляції програми. Директиви мови С++ починаються із символа #. Типи директив: #include – означає, що до програми необхідно приєднати про-грамний код із зазначеного після неї файлу. Файли, які приєднують дирек-тивою #include називаються файлами заголовків. Усі стандартні команди та функції мови С++ визначені у файлах заголовків. #define – має подвійне значення – 1) оголошує сталу; 2) переозначує команди чи записує функції, наприклад, так : #define D(a, b,c) ((b)*(b)-4*(a)*(c)).Тепер скрізь для обчислення дискримінанта замість команди d=b*b-4*a*c можна записувати d=D(a, b, c).Директива #undef – скасовує дію #define.Наприклад,#define D(a, b, c) ((b)*(b)-4*(a)*(c); #undef D; #define D(a, b, c) ((a)*(b)*(c)) ;
14.Оператори організації циклів. Цикл(повторення)- це процесор виконання певного набору команд деяку кількість раз. У мові С++ є три команди циклу – for, while, do while. Оператор for має вигляд: for(;;) ; Вираз 1 призначений для підготовки циклу i виконується один раз. Переважно тут задають початкові значення змінних циклу (підготовляють цикл). У виразі 2 записують умову виходу з циклу. У виразі 3 – команди зміни параметрів циклу. Вирази 1 i 3 або один із них у команді for можуть бути відсутні. У цьому випадку опускати символ “;” не можна. Наприклад, for(;і<10;)i++;. Дія команди: 1)Обчислюється значення виразів 1 і 2. 2)Якщо значення виразу 2 істинне – виконується команда 1. Якщо хибне – програма переходить до наступної після for команди. 3)Обчислюються значення виразів i перевіряється пункт 2). Оператор з передумовою while має вигляд: while (); Дія команди: 1)Обчислюється значення виразу. Якщо воно істинне, то переходимо до пункту 2), якщо хибне – до пункту 3). 2)Виконується команда 1 i відбувається перехід до пункту 1). 3)Відбувається перехід до наступної після while команди. Виразом може бути довільний логічний вираз, стала або змінна цілого типу. Команда 1 може бути порожньою, простою або складеною. Команда while може бути виконана один раз, декілька разів або не бути виконана жодного разу. Оператор з післяумовою do while має вигляд: do ; while();. Дія команди: 1) Виконується команда 1 i обчислюється значення виразу. 2) Якщо значення виразу істинне, то переходим до 1), якщо значення виразу хибне – відбувається перехід до наступної після do while команди. Команда 1 у циклі do while на відміну від циклу while буде виконуватись хоча б один раз завжди. Оператори керування ходом програми. Оператор if (якщо) – умовного переходу має дві форми: повну i коротку. Повна: if () ; else;. Дія команди: Обчислюється значення логічного виразу. Якщо це значення істинне, то виконується команда 1, у протилежному випадку – команда 2. Команда 1 та команда 2 можуть бути порожніми, простими або складеними. Коротка: if (); Дія команди: Обчислюється значення логічного виразу. Якщо воно істинне, то виконується команда 1, інакше виконується команда, яка записана після оператора if. Оператор switch дозволяє виконати перехід на різні фрагменти коду. Він має вигляд: switch(); {case: : break; … case: : break; default : ;} Вираз та ознаки мають бути цілочисельні. Оскільки транслятор мови С++ може розглядати значення змінних типу char i enum як цілі дані, то на місці виразу та ознак можуть бути сталі цілого, символьного або перерахованого типів. На місці команди 1 – n може бути одна команда, декілька команд або не бути жодної команди. Дія команди: Якщо значення виразу збігається зі значенням ознаки n, то виконується команда з номером n i розглядається наступний за нею рядок case i т.д. для того, щоб припинити дію команди switch записують команду break. Якщо значення виразу не збігається із жодною з ознак, то виконується команда n+1 або, у випадку короткої форми, наступна команда після команди switch. Оператор break – закінчує виконання певного циклу або оператора switch. Оператор continue – виконує передачу керування на початок циклу. сontinue використовуються лише всередині циклу. Оператор goto – безумовний перехід. Ця команда змінює послідовність виконання інших команд шляхом переходу до виконання команди, що має позначку (мітку): goto;. Мітки не об’являються, розміщуються перед довільною командою програми. Вона відокремлюється від команди дво-крапкою (:), а саме: :. Оператор return – повертає управління в точку виклику функції. Може бути з аргументом або без аргумента. 15.Основні принципи об’єктно-орієнтованого програмування та їх підтримка в C++. Головною відмінністю С++ від С є можливість опрацьовувати новий тип даних, - клас. Ідея класу полягає в об’єднанні даних і алгоритмів їх опрацювання. Дані називаються полями класу, алгоритми – методами.В ООП програма представляється у вигляді взаємодії певної кількості абстрактних об’єктів. Модель такої програми представляється у вигляді графа. Об’єкти включають в себе не тільки локальні дані, а й локальні ф-ції та методи. Базується на 3-х принципах: 1) інкапсуляція; 2) поліморфізм; 3) успадкування. Інкап-суляція – це механізм, який поєднує дані і код, який маніпулює з цими даними, а також захищає і те, і інше від неправильного використання. Полі-морфізм – в-ть, що полягає у ви-користанні одного й того самого імені для виконання схожих але різних задач. Успадкування – процес, в результаті якого один об’єкт може успадковувати властивості іншого об’єкту. Дані 3 методи дозволяють спростити інтерфейс внутрішніх модулів програми, повторно використовувати відлагоджений код програми, спростити логіку роботи програми. На основі цих 3-х концепцій виникає поняття класу – складний тип змінної, що інкапсулює внутрішні змінні та методи роботи з ними.
Рефераты по информатике1.Мови програмування та іх класифікація Машинні мови: 1) функціональні (LISP, ML, Scheme); 2) об’єктно-орієнтовані (SIMULA, C++, Ada95, Java, Visual
Оценок: 1175 (Средняя 5 из 5)
Специалисты RetsCorp работают в digital-сфере более 7 лет. За это время мы разработали более 500+ успешных проектов. Основываясь на своем опыте и знании рынка, мы с уверенностью можем сказать, что будет работать, а что — нет. Заказывая создание лендинга для бизнеса в нашей студии, вы получаете работающие решения, необходимые именно вашему бизнесу.
Сотрудничая с нами, вы будете не клиентом, а нашим партнером. Благодаря этому мы будем развивать ваш бизнес как собственный. Мы так же как и вы заинтересованы в успехе проекта, поскольку ваша успешность будет нашей рекламой.