- •Основні концепції індустріалізації програми.
- •2. Задача супроводження проектів проблемних програм.
- •3. Задача налагодження проектів системних програм.
- •4. Роль засобів специфікації в системних програмах.
- •5. Специфікації мов та задач.
- •6. Базові технології розробки прикладних програм.
- •7. Технології генерації тестів та тестування.
- •8. Стандартизація комп"ютерних мов.
- •9. Етапи розробки прикладних програм з використанням технологічних комплексів.
- •10. Основи технології модульного програмування.
- •11. Організація міжмодульних зв"язків за даними.
- •12. Особливості угод про зв"язки за даними.
- •13. Організація міжмодульних зв"язків за управлінням.
- •16. Особливості угод про зв"язки в мові Pascal.
- •17. Органцізація передачі результатів підпрограм і функцій.
- •18. Технологія налагодження програм на рівні машинних команд.
- •21. Способи пошуку помилок при налагоджені програм.
- •22. Способи декомпозиції програм за структурами вхідних та вихідних даних. 23. Способи декомпозиції програм за обчислювальними формулами.
- •24. Технології тестування програм елементарними тестами для кореції їх роботи.
- •25. Технології тестування програм комплексними тестами.
- •26. Технології тестування програм тестами продуктивності.
- •29. Організація роботи з таблицями в програмах.
- •30. Роль ключових та функціональних полів в таблицях.
- •31. Організація роботи з таблицями з використанням прямої адреси.
- •32. Організація роботи з таблицями з використанням лінійного пошуку.
- •33. Організація роботи з таблицями з використанням двійкового пошуку.
- •39. Відношення порядку на ключових полях.
- •45. Структури і типи даних для визначення графів-автоматів.
16. Особливості угод про зв"язки в мові Pascal.
Модули подключаются к главной программе и к другим модулям с помощью следующей конструкции языка: uses список - модулей; Список модулей представляет собой список названий модулей, перечисленных через запятую. Он может включать как модули, созданные разработчиком для текущей программы, так и стандартные, входящие в поставку Delphi 5. Все указанные модули должны существовать. Например:
uses SysUtils, Forms, MyUnit;
В некоторых случаях местонахождение исходного текста модуля требуется задавать явно. Подобная потребность возникает в следующих случаях: - модуль расположен в отдельном каталоге, и в настройках Delphi 5 этот каталог не указан; - модули из разных каталогов имеют одинаковые имена. Для решения этих проблем в операторе uses после названия соответствующего модуля указывается ключевое слово in, а за ним в одинарных кавычках приводится путь к исходному тесту данного модуля:
uses Windows, MyUnit in 'c:\projects\games\dune5\MyUnit.pas', Main;
17. Органцізація передачі результатів підпрограм і функцій.
Оператор return завершает выполнение функции, в которой он задан, и возвращает управление в вызывающую функцию, в точку, непосредственно следующую за вызовом. Функция main передает управление операционной системе. Формат оператора:
return [выражение] ;
Значение выражения, если оно задано, возвращается в вызывающую функцию в качестве значения вызываемой функции. Если выражение опущено, то возвращаемое значение не определено. Выражение может быть заключено в круглые скобки, хотя их наличие не обязательно.
Если в какой-либо функции отсутствует оператор return, то передача управления в вызывающую функцию происходит после выполнения последнего оператора вызываемой функции. При этом возвращаемое значение не определено. Если функция не должна иметь возвращаемого значения, то ее нужно объявлять с типом void.
Таким образом, использование оператора return необходимо либо для немедленного выхода из функции, либо для передачи возвращаемого значения.
Пример:
int sum (int a, int b) { return (a+b); }
Функция sum имеет два формальных параметра a и b типа int, и возвращает значение типа int, о чем говорит описатель, стоящий перед именем функции. Возвращаемое оператором return значение равно сумме фактических параметров.
Пример:
void prov (int a, double b) { double c; if (a<3) return; else if (b>10) return; else { c=a+b; if ((2*c-b)==11) return; } }
Оператор return немедленно прекращает выполнение операторов в теле функции и передаёт управление в точку возврата. Поскольку вызов функции является выражением, точка возврата имеет значение. Это значение определяется значением выражения, которое обычно располагается непосредственно за оператором возврата return. Тип возвращаемого значения должен соответствовать типу, который указывается спецификатором определения в объявлении и определении функции.
Если в качестве спецификатора объявления в определении и объявлении функции используется ключевое слово void, оператор return в теле этой функции используется без выражения. В этом случае выражение вызова функции оказывается выражением типа void, а значение выражения вызова в точке возврата оказывается неопределённым. Такое выражение не может входить в состав выражений более сложной структуры в качестве операнда выражения, поскольку значение всего выражения оказывается неопределённым.
Выражение с неопределённым значением (выражение вызова функции типа void) может выступать лишь в качестве выражения-оператора. Главное - это не забыть поставить в конце этого выражения разделитель ';', который и превращает это выражение в оператор.