Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

1. Операці́йна агато — це програмне забезпечення, що реалізує зв’язок між прикладними програмами і апаратними засобами комп’ютера.



Операційні системи

1. Операці́йна агато — це програмне забезпечення, що реалізує зв’язок між прикладними програмами і апаратними засобами комп’ютера.

2. Перші комп’ютери взагалі не мали ОС. На початку 60-х вони лише комплектувались набором інструментів для розробки, планування та виконання завдань. Спонтанний характер розробки ОС призвів до наростання кризових явищ, пов’язаних, перш за все, зі складністю та великими розмірами розроблюваних систем. ОС погано масштабувались і були повністю несумісними між собою. У 1969 році розробили та реалізували ОС «Юнікс». Нова ОС увібрала в себе багато рис попередниць, але на противагу їм мала цілий ряд переваг. Юнікс стала прототипом єдиної ОС, котру можна було використовувати у найрізноманітніших обчислювальних системах, і — більше того — швидко та з мінімумом зусиль перенести на іншу апаратну архітектуру.

3. Функції операційної системи

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

- Стандартизований доступ до периферійних пристроїв (пристрої введення-виведення).

- Завантаження програм у оперативну пам’ять і їх виконання.

- Керування оперативною пам’яттю (розподіл між процесами, організація віртуальної пам’яті).

- Керування доступом до даних енергозалежних носіїв (твердий диск, оптичні диски тощо), організованим у тій чи іншій файловій системі.

- Забезпечення користувацького інтерфейсу.

- Мережеві операції, підтримка стеку мережевих протоколів.

Додаткові функції:

- Паралельне або псевдопаралельне виконання задач (багатозадачність).

- Розподіл ресурсів обчислювальної системи між процесами.

- Організація надійних обчислень (неможливості впливу процесу на перебіг інших), основана на розмежуванні доступу до ресурсів.

- Взаємодія між процесами: обмін даними, синхронізація.

- Захист самої системи, а також користувацьких даних і програм від дій користувача або програм.

- Багатокористувацький режим роботи та розділення прав доступу (автентифікація, авторизація)

 

4. Класифікація ОС:

За способом реалізації багатозадачності витісняючи багатозадачність.

За кількістю програм, що виконуються одночасно: багатозадачні та однозадачні.



За типом інтерфейсу: текстовий та графічний

Особливості реалізації алгоритмів в керування основними ресурсами задач.

5. ДОС (Дискові Операційні Системи) – Це системи, що беруть на себе виконання лише перших чотирьох функцій. Як правило, вони є деяким резидентним набором підпрограм, не більш того. ДОС завантажує призначену для користувача програму в пам’ять

і передає їй управління, після чого програма робить з системою все, що їй заманеться. При завершенні програми вважається хорошим тоном залишати машину в такому стані, аби ДОС могла продовжити роботу. Якщо ж програма наводить машину в якесь інший стан, що ж, ДОС нічим їй в цьому не може перешкодити.

Характерний приклад — різні завантажувальні монітори для машин класу Spectrum. Як правило, такі системи працюють одночасно лише з однією програмою.

Дискова операційна система MS DOS для IBM РС-совместимых машин є прямим спадкоємцем одного з таких резидентних моніторів.

Існування систем цього класу обумовлене їх простотою і тим, що вони споживають мало ресурсів. Для машин класу Spectrum це більш ніж критичні параметри. Ще одна причина, по якій такі системи можуть використовуватися навіть на досить мошных машинах, — вимога програмної сумісності з ранніми моделями того ж сімейства комп’ютерів.

6. Будь – яка ОС в своїй побудові повинна мати зрозумілу і раціональну структуру. Це означає, що ОС поділяється на частини, які називають модулями. Будь – який модуль являє собою функціонально завершену програму із чіткими правилами взаємодії з іншими модулями. Функціональна складність будь – якої ОС приводить до складності архітектури ОС. У звичайному порядку до циклу ОС входять стандартні та виконуючі модулі, бібліотеки різних типів модулів.

Програмні модулі спеціалізованого типу — це всі конфігураційні файли ОС, файли документації, які містять текст допомоги. Більшість сучасних ОС являють собою добре структуризовані модульні системи, які можуть розвивати свої функції і переносить на нові платформи. Для ОС MS – DOS до модулів спеціального формату відносять завантажувач ОС, драйвери вводу-виводу, процесор.

7. Всі основні електронні схеми комп’ютера і необхідні додаткові пристрої включаються в системну плату, або підключаються до неї за допомогою слотів розширення. Найважливішою частиною системної плати є чипсет, який складається, як правило, з двох частин — північного моста (Northbridge) і південного моста (Southbridge). Зазвичай північний і південний міст розташовані на окремих мікросхемах. Саме північний і південний мости визначають, в значній мірі, особливості системної плати і те, які пристрої можуть підключатися до неї.

 

Сучасна системна плата ПК, як правило, включає чипсет, що здійснює взаємодію центрального процесора з ОЗП і основною оперативною пам’яттю, з портами вводу/виводу, із слотами розширення PCI Express, PCI, а також, зазвичай, з USB, SATA і IDE/ATA. Більшість пристроїв, які можуть приєднуватися до системної плати, роблять це за допомогою одного або декількох слотів розширення або сокетів, а деякі сучасні системні плати підтримують бездротові пристрої, що використовують протоколи IrDA, Bluetooth, або 802.11 (Wi-Fi)

8. Процес — одне з найважливіших понять у архітектурі операційних систем та програмуванні. Процес — об’єкт операційної системи, контейнер системних ресурсів, призначених для підтримки виконання програми. Коли в середовищі операційної системи запускається прикладна програма, система створює спеціальний об’єкт – процес, – який призначений для підтримки її виконання. Хоча може здатися, що програма й процес – поняття схожі, вони фундаментально відрізняються. Програма – це статичний набір команд, а процес – контейнер для ресурсів, які використовуються при виконанні екземпляра програми[1]. Системна реалізація та функції процесу в різних операційних системах дещо відмінні.

9. Стек — різновид лінійного списку, структура даних, яка працює за принципом «останнім прийшов — першим пішов». Всі операції в стеку можна проводити тільки з одним елементом, який знаходиться на верхівці стеку та був введений в стек останнім.

10. Дескриптор – це структура даних, яка представляє відкритий екземпляр базового об’єкта операційної системи, наприклад, файл, ключ реєстру, об’єкт синхронізації тощо[1]. Дескриптор однозначно ідентифікує створений об’єкт і надає доступ до об’єкта, дозволяючи читати та змінювати його стан.

Дескриптор може бути використаний будь-яким потоком процесу для доступу до властивостей об’єкта, і саме його передають функціям, які працюють з об’єктами. Для покращення надійності у роботі операційної системи Microsoft забезпечила залежність дескрипторів від конкретного процесу. Тому, якщо передати дескриптор іншому процесу, він не зможе використовувати відповідний об’єкт ядра.

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

Якщо при звертанні до об’єкта ядра відповідній функції передати невірний дескриптор, вона завершиться з помилкою ERROR_INVALID_HANDLE (недопустимий дескриптор). Якщо виклик функції, яка створює об’єкт ядра, невдалий, то звичайно повертається значення 0 (NULL). Така ситуація можлива при гострій нестачі пам’яті або за наявності проблем із доступом.

 

11Поті́к — це структура всередині процесу, яка містить виконавчий код та отримує процесорний час для його виконання[1]. Потік, на відміну від процесу, може виконувати якісь дії. Без потоку програма не може виконуватися. Кожен процес має один або кілька потоків. Програму, алгоритм якої реалізується у кількох потоках, називають агато потоковою.

Хоча в кожного потоку свій контекст виконання, кожен потік усередині одного процесу використовує його віртуальний адресний простір (а також інші ресурси, які належать процесу). Це означає, що всі потоки в процесі можуть записувати й зчитувати вміст пам’яті інших потоків даного процесу. Але потоки не можуть посилатися на адресний простір іншого процесу. Виняток може бути в ситуації, коли процес надає частину свого адресного простору як розділ загальної пам’яті через об’єкт «проектований файл» (file mapping object), або коли один із процесів має право на відкриття іншого процесу й використовує функції доступу до пам’яті між процесами. За замовчуванням у потоку немає власного маркера доступу, але він може отримати його, і це дозволить йому підміняти контекст захисту іншого процесу.

12.

13.

14.

15.

16. Забезпечувати працездатність комп’ютерної мережі компанії, справність всієї комп’ютерної техніки та програмного забезпечення а також інформаційну безпеку компанії – це і є робота системного адміністратора.

17. Види планування: довготермінове, середньо термінове і короткотермінове. Довготермінове планування: засоби планування визначають, яку з програм треба завантажити у пам’ять для виконання. Називають також статичним, оскільки воно не залежить від поточного стану системи. Система дає можливість створювати процеси і потоки до досягнення деякої максимально можливої межі, після чого подальші спроби створити новий процес або потік спричинятимуть помилку. Середньотермінове: засоби планування керують переходом потоків із призупиненого стану в стан готовності й назад. Керуючі блоги готових до виконання потоків організовуються у пам’яті в структуру, яку називають чергою готових потоків. Короткотермінове планування: планування процесора є найважливішим видом планування. Воно дає змогу відповісти на два базових запитання: коли переривати виконання потоку та якому потокові з числа готових до виконання потрібно передати процесор у цей момент.

18.

19.

20.

21.

22.

23.

24.

25.

26.

27. Віртуальна пам’ять – це технологія, в якій вводиться рівень додаткових перетворень між адресами пам’яті, що використовуються процесом і адресами фізичної пам’яті комп’ютера. Такі перетворення мають забезпечувати захист пам’яті та відсутність прив’язання процесу до адрес фізичної пам’яті. Завдяки віртуальної пам’яті, фізичної пам’яті адресного простору процесу може бути фрагментованою, оскільки основний обсяг пам’яті, який займає процес, більшу частину часу залишається вільним.

28.

29.

30.

31. Свопінг – це тимчасове, повне відвантаження процесу, що знаходиться в стані очікування у зовнішню пам’ять. Одним із методів вивільнення пам’яті для процесів, що перебувають негайного виконання є стопінг. Планувальник ОС не викликає перенесені процеси у зовнішню пам’ять із свого розряду і при настанні умов активізації процесу, що знаходиться в області стопінга на диску, цей процес переміщається в оп. пам’ять. Якщо вільного місця в Оп пам’яті не має, то вивантажується інший процес. При стопінгу процес переміщується між пам’яттю і диском і протягом деякого часу процес може бути відсутнім у оп пам’яті.

32.

33.

34. Засоби перевірки дисків прийнято розглядати в двох категоріях: 1) засоби логічної перевірки; 2) Засоби діагностики поверхні. Логічні помилки усувають засобами самої ОС, а фізичні дефекти поверхні лише локалізуються – ОС бере до уваги факт ушкодження магнітного шару у визначених секторах і виключає їх з активної роботи. Логічні помилки файлової структури мають два характерних правила: загублені і загальні кластери. Загублені кластери утворюють в результаті неправильного завершення роботи.

35.

36.

37. Завдання підсистем вв: Основним завдання підсистем вв є реалізація доступу до зовнішніх пристроїв і прикладних програм, яка повинна забезпечити: 1) Ефективність, спільне використання і захист зовнішніх пристроїв за умов багатозадачності. 2) Універсальність для прикладних програм, при цьому потрібно завжди залишати можливість прямого доступу до пристроїв, минаючи стандартний інтерфейс. 3) Універсальність для розробників системного програмного забезпечення, що під час розробки драйвера для нового пристрою, можна було скористатися наявними напрацюваннями і легко забезпечити інтеграцію цього драйвера у підсистему вв.

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

39. Фізична організація пристроїв вв: Однією з головних функцій ОС є керування всіма пристроями введення-виведення комп’ютера. ОС повинна передавати пристроїв команди, перехоплювати переривання і обробляти помилки; вона також повинна забезпечувати інтерфейс між пристроями та іншою частиною системи. Пристрої введення-виведення діляться на два типи: блок-орієнтовані пристрої і байт-орієнтовані пристрої. Блок-орієнтовані пристрої зберігають інформацію в блоках фіксованого розміру, кожен з яких має свою власну адресу. Найпоширеніше блок-орієнтоване пристрій – диск. Байт-орієнтовані пристрої не адресуються і не дозволяють проводити операцію пошуку, вони генерують або споживають послідовність байтів. Прикладами є термінали, рядкові принтери, мережеві адаптери. Однак деякі зовнішні пристрої не відносяться ні до одного класу, наприклад, годинник, які, з одного боку, не адресуються, а з іншого боку, не породжують потоку байтів. Це пристрій лише видає сигнал переривання в деякі моменти часу.

 

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

40. Сукупність каталогів і системних структур даних, що відстежують розміщення файлів на диску і вільний дисковий простір, називається файловою системою. Основною структурною одиницею будь-якої файлової системи є файл і каталог. Файл – мінімальна структурована іменована послідовність даних. Каталог (папка) є своєрідною об’єднує структурою для розташованих на диску файлів. Каталог може містити в собі файли та інші (вкладені) каталоги. Каталоги та файли утворюють на диску деревоподібну ієрархічну структуру – дерево каталогів. Єдиний каталог не входить ні в одну з директорій називається кореневим каталогом.

41.

42.

43.

44.

45.

46.

47.

48.

49.

50.

51.

52.

53.

54.

55.

56.

57.

58.

59.

60.

61.

62.

63.

64.

 


 

Основи програмування

1. 1 етап постановка завдання: а) збір інформації про завдання, б) формулювання умови завдання, в) визначення кінцевої мети завдання, г) визначення форми кінцевих результатів, д) опис даних.2 етап аналіз і дослідження завдання, моделі: а) аналіз існуючих аналогів, б) аналіз тех. І програмних засобів, в) розробка математичної моделі, г) розробка структур даних. 3 етап розробка алгоритмів: а) вибір методу проектування алгоритмів, б) вибір мови запису алгоритму, в)вибір тестів та методів тестування, г) проектування алгоритму. 4 етап Програмування: а) вибір мови програмування, б) уточнення способу організації даних, в) запис алгоритму на вибраній мові програмування. 5 етап тестування та відладка: а) синтаксична відлатка, б) відладка симантики та логічної структури, в) тестові розрахунки та аналіз тестування, г) удосконалення програм. 6 етап супровід програм: а) допрацювання програми для вирішення конкретних завдань, б) складання документації до програм.

2. Алгоритм – це чіткий, точний та повний опис послідовності дій для вирішення конкретного завдання. Алгоритмам потрібно мати властивості однозадачності, зрозумілості, дискретності, універсальності та правильності. Однозадачність – це точний опис дій та послідовності їх виконання. Відсутність їх неоднозадачного тлумачення. Зрозумілість – означає, що виконавець правильно сприйме кожну команду і зможе її виконати. Дискретність – це властивість, яка означає, що всі команди алгоритму чітко відокремлені одна від одної. Універсальність – це можливість використовувати алгоритм для розв’язання подібних задач. Правельність – це властивість, яка означає, що виконання алгоритму дає правильні результати розв’язування.

3. Способи запису алгоритмів: Словесний, Графічний, Мовою програмування.

4. Блок-схеми алгоритмів: Блок-схема – це фізичне представлення задачі для її аналізу або розв'язування за допомогою спеціальних символів (геометричних образів), які позначають такі елементи, як операції, потік, дані тощо.

5. Базові структури алгоритмів: є 3 видів: лінійні, розгалуженні та циклічні. Лінійні – алгоритм, дія якого виконується одна за одною від початку до кінця. Розгалужені – алгоритм, в якому виконується ті або інші дії, залежно від результату перевірки умови. Циклічні – алгоритми, в яких одна й та сама послідовність дій виконується декілька разів, доки не виконається задана умова.

6.Алфавіт мови Pascal: Програми на будь-якій мові програмування складаються з синтаксичних конструкцій, які наз командами. Команди будуються з лексем. Неподільних елементів мови. Слова поділяються на службові, стандартні імена та імена, які користувач дає різним об’єктам. Основні службові слова: and, array, begin, case, const, do, else, file,for,if,in… Стандартні: назви стандартних типів даних, назви стандартних сталих, назви стандартних функцій, назви стандартних процедур. Структура програми: заголовок програми, розділи описів та оголошень, виконувальна частина.

7. Розділ описів та оголошень:. Для опису (оголошення) постійних величин використовується службове слово CONST, змінних — VAR. За допомогою оголошення встановлюється не тільки факт існування змінної, але і її тип.

• різновиди цілого типу — Integer, Shortint, Longint, Byte, Word;

• різновиди дійсного типу — Real, Singl, Double, Extended, Comp;

• символьний тип Char;

• логічний тип Boolean.

8.

9.

10.

11. Прості лінійні програми на мові Pascal:як правило використовуються сталі значення та змінні, які можуть набувати будь-яких значень в процесі роботи програми. Константи задаються в розділі const і вказуються їхні значення. Змінні оголошуються в розділі var із значеннями їхнього типу. Дія команди обчислюється вираз і його значення надається змінній. Вираз призначений для опису формул, за якими виконуються обчислення. Вираз і змінна повинні бути одного типу, або узгодженні. Прості лінійні програми складаються з команди присвоєння, введення, виведення даних та викликів процедур.

12. На мові Pascal є багато стандартних процедур та функцій, які описанні в внутрішніх та зовнішніх модулях. Більшість математичних та системних функцій та процедур знаходиться в модулі system.tpm.Цей модуль оголошувати в програмі не потрібно, він підключається автоматично. Abc(x)- модуль х, sqrt – корінь, odd true falce.

13. Типи даних у мові Pascal:Тип змінної визначає її допустиме значення та операції, які можна над нею виконувати. Стандартні типи даних: Змінна – це поіменована ділянка оперативної пам’яті комп’ютера, де зберігаються значення деякої величини. Числові цілі, числові змінні, символьний та логічний.

Символьний тип ((char) – це множина символів кодової таблиці комп’ютера. Логічний (Boolean). Нестандартні прості типи: type, Перерахований тип – утворюють з індетефікаторів шляхом їх об’єднання у список, який записують у круглих дужках. Діапазонний тип - -це звуження деякого базового упорядкованого типу. Рядковий тип даних (string) – довільна послідовність, яка склад не більше ніж 3 255 символів У розділі констант. Типові сталі: дають змогу оголосити зміну та надавати їй значення.

14.Використання різних типів даних у програмах:

15.Алгоритм з розгалуженням. Умовний оператор IF-THEN-ELSE:Команда розгалуження дозволяє виконувати певні умови і в залежності від результату перевірки цих умов обирати певні варіанти дій.

16. Команда розгалуження має два різновиди: Повна команда розгалуження, має наступний вигляд: If<логічний вираз>then<оператор 1>else<оператор 2>.Дія команди – якщо логічний вираз істинний, то виконується оператор 1, а якщо хибний, тоді оператор 2. Коротка команда розгалуження має вигляд: if<логічний вираз> then<оператор1>. Дія команди – якщо логічний вираз істинний то виконується оператор 1,інакше виконується наступна конструкція після операторів..

17.Вкладені умовні конструкції:

18.Оператор вибору case: case<вираз>of - список значень -:-оператор; else –оператор-; end. Дія команди:якщо значення виразу збігається із значенням зі списку, то виконується відповідний оператор, а інші оператори цієї конструкції не виконуються. Якщо значення виразу не збігається з жодним із списку, то виконується самий перший оператор. Вираз може бути простою змінною, цілою змінною, логічною або перерахованого типу.

19. Застосування генератоа випадкових чисел: застосовується у масивах, для задання елементів масиву. RANDOMIZE – процедура, яка включає генератор випадкових чисел. x:= random(a) - функція, яка вибирає випадкове число від 0 до а.

20. Оператор циклу FOR-TO-DO: for<параметр>:=<початкове зн>to<кінцеве зн>do<оператор>; Дія команди: параметр циклу присвоюється початкове значення. Якщо це знач меньшдорівнює ніж кінцеве, то виконуються оператори. Після виконання операторів, значення параметра автоматично збільшується на 1 і знову порівнюється з кінцевим зн і тд. Коли значення параметра стане більше ніж кінцеве знач, цикл завершує встою роботу та виконуються наступні після циклу оператори. Оператор може бути зміного, символьного, цілого, логічного або перерахованого типу.

21. Оператор циклу WHILE-DO: While<логічний вираз> do<оператори>; Дія команди: доки значення логічного виразу істинний, виконуються оператори. Істинний логічний вираз виконує умову продовження процесувиконання операторів циклу.

22.Оператор циклу REPEAT-UNTIL: цикл з після умовою repeat<оператори> until<логічний вираз>; Дія команди команди виконуються в циклі доки значення логічного виразу не стане істинним. Істиний логічний вираз задає умову виходу з циклу. На відмінну від інших циклів оператори в циклі виконується принаймні 1 раз.

23. Вкладені циклічні структури: Існує можливість утворити цикл всередині тіла другого циклу. Такий цикл зветься вкладеним циклом. Вкладений цикл щодо циклу в тіло якого він вкладений буде йменуватися внутрішнім циклом, і навпаки цикл в тілі якого ісеує вкладений цикл буде йменуватись зовнішнім щодо вкладеного. Всередині вкладеного циклу може бути наступний вкладений цикл, утворюючи наступний рівень вкладеності і так далі. Кількість рівнів вкладеності, як правило, не обмежується.

Повна кількість виконання тіла внутрішнього циклу не перевищує добутку кількості ітерацій внутрішнього і всіх зовнішніх циклів. Наприклад взяв три вкладених один в одного цикли, кожний по 10 ітерацій, отримаємо 10 виконань тіла зовнішнього циклу, 100 для циклу другого рівня і 1000 в найбільш вкладеному циклі.

Одна з проблем, пов'язаних із вкладеними циклами — організація дострокового виходу з них. В багатьох мовах програмуванняє оператор дострокового завершення циклу (break у Сі, exit у Паскалі, last в Perl і т. п.), але він, як правило, забезпечує вихід лише з циклу того рівня, звідки викликаний. Виклик його у вкладеному циклі призведе до завершення лиш цього вкладеного циклу, зовнішній цикл продовжить виконання. Проблема може здатися надуманою, але вона дійсно іноді виникає при програмуванні складної обробки даних, коли алгоритм вимагає негайного переривання за певних умов, наявність яких можна перевірити тільки в глубоко вкладеному циклі.

24. Організація роботи зі структурами даних в Pascal:

25.Процедури та функції: Процедура користувача є підвпорядкованою, але завершеною програмою, яка оголошена в розділі описів старшої програми і до якої звертаються з будь-якого місця програми, потрібну кільк разів. Procedure<назва>(< список формальних параметрів >); <розділи описів та оголошень процедури>begin <тіло процедури>;end; в списку формальних параметрів перераховуються змінні разом із зазначенням їхніх типів. Розрізняють параметри аргументу і параметри результату. Перед списками параметрів – var. Процедури викликають за допомогою програми виклику <назва проц>(<список фактичних параметрів>); фактичні і формальні повині бути однакові за типом та кіль. Змінні описані в розділі описів основної прог – глобальні, вони діють в усіх підпрограмах. А в конкретній процедурі – локальними.

Функція – це допоміжна підпрограма, результатом якої є деяке знач. на відміну від процедуре, може повертатися в місце виклику лише один результат простого стандартного типу. Function<назва>Список формальних параметрів):<тип функції>;<розділи описів та оголошень>;begin <тіло функції>;<назва функції:=вираз>; виклик <назва функції> (<список фактичних параметрів>);

26. Загальна структура процедур та функцій:

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

28.Взаємодія основної програми із процедурами та функціями:

29.Параметри процедур та функцій: формальні та фактичні параметри. Параметр формальний: Формальний параметр представляє собою ідентифікатор або спеціальний символ мови програмування. В описанні функції можуть бути вказані деякі характеристики її параметрів (типи та класи значень, спосіб використання фактичних параметрів).

Параметр фактичний: Параметр, що використовується під час звертання до функції. В різних мовах програмування, фактичними параметрами можуть бути вирази, рядки, ідентифікатори змінних, масивів, перемикачів, процедури та функції, тощо.

Принцип роботи: Під час виконання функції, замість її формальних параметрів підставляють відповідні значення фактичних параметрів. Тип, кількість і порядок слідування формальних і фактичних параметрів, зазвичай, мають відповідати один одному.

30. Рекурсивні функції: Процедура рекурсивна — процедура в програмуванні, у тілі якої знаходиться явне звернення до неї самої, або через іншу процедуру. Застосування рекурсивних процедур, у багатьох випадках допомагає скоротити алгоритми, зробити їхню форму компактнішою. У програмуванні рекурсія — виклик функції чи процедури з неї самої (звичайно з іншими значеннями вхідних параметрів), чи безпосередньо через інші функції (наприклад, функція А викликає функцію B, а функція B — функцію A). Кількість вкладених викликів функції чи процедури називається глибиною рекурсії. Міць рекурсивного визначення об'єкта в тім, що таке кінцеве визначення здатне описувати нескінченно велике число об'єктів. За допомогою рекурсивної програми ж можливо описати нескінченне обчислення, причому без явних повторень частин програми. Існує спеціальний тип рекурсії, називаний «хвостовою рекурсією». Інтерпретатори і компілятори функціональных мов програмування, що підтримують оптимізацію коду (вихідного і/чи що виконується), виконують хвостову рекурсію в обмеженому обсязі пам'яті за допомогою ітерацій.

 

31. Одномірні та двомірні масиви: Масив – це скінчений набір елементів одного базового типу, які зберігаються в послідовно розташованих комірках оперативної пам’яті та мають спільну назву. Масиви розрізняють одно та багатовимірні. Двовимірний масив – це табл. Значень, яка склад з рядків та стовпчиків. Розмірність масиву (ксть елементів) найчастіше задають у вигляді діапазону або назви деякого перерахованого типу даних. Вигляд: array[<розмір>] of <базовий тип даних>; Описувати масиви можна в розділі опису типів констант та в розділі оголошень змінних.

32. Доступ до елементів масиву: над масивами визначена одна єдина команда копіювання m1:=S. Доступ до елементів масиву здійснюється через назву масива та номер його елемента. Цей номер, індекс, записується в квадратних дужках: Z[1]:=0; masiv[10]:=x*25; Для опрацювання ел масиву найкраще використовуэться команди циклу. Для того, щоб задати ел масиву автоматично у певному діапазоні, використовується генератор випадкових чисел: RANDOMIZE – процедура, яка включає генератор випадкових чисел. x:= random(a) - функція, яка вибирає випадкове число від 0 до а.

33. Методи сортування масивів: Сорт мас – це впорядкування їх ел в порядку зростання, спадання або у вказаному порядку. Існує багато методів сортування, які відрізняються за собою по шв, часу та якості сортування. 1) послідовний пошук: задача зводиться до перебору всіх ел заданого масиву та порівнює їх з вказаним ключом, кільк операцій при послідовному пошуці дорівнює кількості елементів масиву. 2) Бульбашкове сортування: полягає у відшуканні найбільших значень ел масиву та перестановці їх на початок.

34. Алгоритми пошуку масивів:

35. Рядкові величини. Функції для роботи з величинами: Дане типу рядок – це послідовність довільних символів. Рядок може містити від 0 до 255 символів. Змінні рядкового типу оголошуються за допомогою службового слова String. Var<змінна>:string[n]; де n – довжина рядка. Операції з’єднання та порівняння. Над даними рядкового типу визначені такі стандартні функції: 1) length(рядок) – кільк символів у рядку.2) copy (<рядок>, <№символа>,<кільк символів>) – копіює з вказаного рядка вказану кільк символів, починаючи з № символа. 3) pos (r1, r2) – визначаэ № символа з якого рядок r1 входить в рядок r2. 4) concat (s1, s2… sn) об'єднує рядки в один.

36. Дане типу рядок – це послідовність довільних символів. Рядок може містити від 0 до 255 символів. Змінні рядкового типу оголошуються за допомогою службового слова String. Var<змінна>:string[n]; де n – довжина рядка. Операції з’єднання та порівняння. Процедури: 1) insert (<рядок1>, <рядок2>, <№символа>) – вставляє рядок з вказаного рядка вказану кільк символів з № рядка. 2) Delete (<рядок>, <№символа>, <кільк символів>). 3) str (<число>, <рядок>) – переводить числове значення в рядкове. 4) val (<рядок>, <число>, <код помилки>) – переводить рядкове значення в числове, якщо це моливо, інакше повертає в код помилки.

37. Особливості виконання рядкових величин:

38. Записи в мові Pascal: Запс – це структурований тип даних, що склад з фіксованого числа компонентів одного або кількох типів. Описується запис у розділі Type <назва типу> = record <поле №>:<тип даних поля>; end: var <ім’я змінної>:<назва типу запису>;. Об’єм пам’яті необхідний для запису склад. З довжини його полів. Звертання до поля запису здійснюється за допомогою імені змінної та імені поля розділених крапкою, така комбінація наз складеним іменем.

39.Операції над записами: Оператор приєднання with використовується для спрощення роботи з компонентами запис. що б не використовувати складене ім’я компонентів запису використовують оператор with, у якому вказується змінна типу запис, після цього можна працювати з іменем полів, як із звичайними змінними.

40.Множини:

41.Файли. Організація роботи з файлами: Для обробки довільних значень в програмі, їх можна вводити двома способами: 1) за допомогою клавіатури. 2) використовуючи відповідні носії даних. Файл – це структура даних з однорідними компонентами, які наз записами. Існує 3 типи файлів: 1) 2)текстові файли, які склад з символів та рядків. 3) не типізовані файли, які працюють з блоками даних по 128 байт в кожному. Файловий тип – це єдиний засіб зв’язку програми із зовнішнім середовищем. Тільки через файли в мові Pascal можна передавати в програму вхідні дані і отримувати з програми результат.

42.Двійкові файли:

43. Текстові файли:

44.Стандартні засоби опрацювання файлів:

45.Типізовані файли: типізовані файли, записи, які мають чітко визначений тип даних.

46.Нетипізовані файли: не типізовані файли, які працюють з блоками даних по 128 байт в кожному.

47.Списки:

48.Робота з лінійним списком:

49.Розробка динамічних об’єктів:

50.Вказівники та динамічна пам’ять:

51.Виділення та звільнення динамічної пам’яті:

52.Робота з пам’яттю в програмах:

53.Робота з графікою:

54.Розробка графічних об’єктів:

55.Використання тексту в графічному режимі:

56.Модулі. Особливості написання модулів на мові Pascal:

57.Створення власних модулів:

58.Робота з динамічними зображеннями:

59.Поняття черги та стеку:

60.Методи програмування динамічних зображень. Анімація:


Дата добавления: 2015-10-21; просмотров: 52 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
Типовой экзаменационный билет | Эффективное средство для проблемной кожи

mybiblioteka.su - 2015-2024 год. (0.034 сек.)