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. Оператори умови. Програми з розгалуженнями. Команда розгалуження 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. 4. Оператори циклу мови ТР. Цикл – це процес виконання певного набору команд деяку кі-ль-кість разів. Цикл реалізують або за допомогою конструкції 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.
5.Файлові типи даних. Організація числових та текстових файлів у мові ТР Часто виникає потреба опрацьовувати інформацію, розташо-вану на зовнішніх но-сіях (на дисках). Прикладами таких даних є інформація про успіш-ність студентів, розклад руху транспорту, адресні книжки. Файл - це сукупність даних, які розташовані на зовнішньому носії. Дані у файлі назива-ються елементами. Кіль-кість даних, на відміну від масиву, під час описування файлу не зазначають. Еле-мент файлу не має індекса. Тип елементів може бути як простим, так і складеним, але не може бути файлом. Файловий тип даних описують у розділі описів типів так: 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(); 6. Успадкування, поняття та способи її підтримки в мові C++. Успадкування – процес, в результаті якого один об’єкт може успадковувати властивості іншого об’єкту. Можна створити ієрархію класів, що дозволяє розділити великі потоки інформації на складові частини і керувати ними окремо. Це здійснюється шляхом створення базових класів, які інкапсулюють найбільш характерні властивості об’єктів та похідних класів, які виражають конкретні особливості того чи іншого об’єкта. Наприклад: Базовий клас – транспортний засіб; похідний клас – автомобіль; другий похідний клас – легковий автомобіль. Успадкування буває однорівневе і багаторівневе (наслідування властивостей декількох базових класів). Інкап-суляція – це механізм, який поєднує дані і код, який маніпулює з цими даними, а також захищає і те, і інше від неправильного використання. Дані методи дозволяють спростити інтерфейс внутрішніх модулів програми, повторно використовувати відлагоджений код програми, спростити логіку роботи програми. На основі 3-х концепцій наслідування, інкапсуляції та поліморфізму виникає поняття класу – складний тип змінної, що інкапсулює внутрішні змінні та методи роботи з ними. 7.Поліморфізм, поняття та способи його підтримки в мові C++. Поліморфізм – в-ть, що полягає у використанні одного й того самого імені для виконання схожих але різних задач. Основне завдання поліморфізму полягає у створенні єдиного інтерфейсу при використанні багатьох методів. Інтерфейс – правила взаємодії з певним об’єктом. Єдиними типами змінних, які володіють цією властивістю є класи та структури (class, struct). Наприклад С має ряд ф-цій для визначення абсолютних значень: labs() – long; fabs() – float; abs – int. В ООП можна використати одну ф-цію наприклад abs(), а вона собі вибирає самий підходящий тип. abs (int a); abs(long a); abs(float a). Для різних типів даних використовують споріднені оператори. В залежності від типу змінної компілятор сам вибирає яку з ф-цій виконати. 8.Основні принципи об’єктно-орієнтованого програмування та їх підтримка в C++. Головною відмінністю С++ від С є можливість опрацьовувати новий тип даних, - клас. Ідея класу полягає в об’єднанні даних і алгоритмів їх опрацювання. Дані називаються полями класу, алгоритми – методами.В ООП програма представляється у вигляді взаємодії певної кількості абстрактних об’єктів. Модель такої програми представляється у вигляді графа. Об’єкти включають в себе не тільки локальні дані, а й локальні ф-ції та методи. Базується на 3-х принципах: 1) інкапсуляція; 2) поліморфізм; 3) успадкування. Інкап-суляція – це механізм, який поєднує дані і код, який маніпулює з цими даними, а також захищає і те, і інше від неправильного використання. Полі-морфізм – в-ть, що полягає у ви-користанні одного й того самого імені для виконання схожих але різних задач. Успадкування – процес, в результаті якого один об’єкт може успадковувати властивості іншого об’єкту. Дані 3 методи дозволяють спростити інтерфейс внутрішніх модулів програми, повторно використовувати відлагоджений код програми, спростити логіку роботи програми. На основі цих 3-х концепцій виникає поняття класу – складний тип змінної, що інкапсулює внутрішні змінні та методи роботи з ними.
Рефераты по информатике1.Мови програмування та іх класифікація Машинні мови: 1) функціональні (LISP, ML, Scheme); 2) об’єктно-орієнтовані (SIMULA, C++, Ada95, Java, Visual
Оценок: 444 (Средняя 5 из 5)
Специалисты RetsCorp работают в digital-сфере более 7 лет. За это время мы разработали более 500+ успешных проектов. Основываясь на своем опыте и знании рынка, мы с уверенностью можем сказать, что будет работать, а что — нет. Заказывая создание лендинга для бизнеса в нашей студии, вы получаете работающие решения, необходимые именно вашему бизнесу.
Сотрудничая с нами, вы будете не клиентом, а нашим партнером. Благодаря этому мы будем развивать ваш бизнес как собственный. Мы так же как и вы заинтересованы в успехе проекта, поскольку ваша успешность будет нашей рекламой.