Контролювання процесу виконання програми.
Мета роботи: Навчитись оголошувати, формувати і опрацьовувати одновимірні масиви даних у Турбо Паскаль-програмах; оволодіти основними способами відлагодження програми шляхом контролю за ходом її виконання. Завдання лабораторної роботи: ; 1. Ознайомитись з можливостями вбудованого відлагоджувача інтегрованого середовища Turbo Pascal 7.0 для контролю за ходом виконання програми, пошуку та виявлення помилок на етапі її реалізації. 2. Розробити алгоритм розв’язку задачі, вказаної в індивідуальному завданні. Накреслити блок-схему алгоритму розв’язку, роз’яснити її потрібними коментарями. 3. Написати програму розв’язку задачі на мові Турбо Паскаль, дотримуючись правил і вимог, сформульованих у завданні до лабораторної роботи № 5. Зауваження: для оголошення масиву створити власний тип (через розділ Type), у якому вказати задану максимально можливу кількість елементів; дійсну кількість елементів, які будуть опрацьовуватись при кожній конкретній реалізації програми, вводити з клавіатури. 4. Ввести і записати у файл в особистому каталозі текст розробленої програми. 5. Відкомпілювати програму, виправити синтаксичні та інші помилки в її тексті. 6. Встановити курсор на одному з операторів (рядків) тіла головного циклу програми. Запустити програму на виконання до досягнення даного оператора (F4). 7. Відкрити вікно спостереження Watch і вивести в нього поточні значення основних змінних програми. Записати їх у звіт. 8. Перейти в режим покрокового виконання програми. Виконати в цьому режимі 6‑10 кроків реалізації програми, фіксуючи зміни в значеннях елементів програми, виведених у вікно спостереження. 9. Встановити точку зупинки Breakpoint на одному з операторів тіла циклу. Продовжити виконання програми командою Run (Ctrl + F9), записуючи значення змінних після кожної зупинки програми. 10. Зняти встановлену точку зупинки і завершити роботу програми. 11. Встановити точку зупинки на іншому операторі програми. Повторно виконати програму до вибраного рядка. У вікні спостереження подивитись поточні значення змінних. 12. Перейти у вікно редактора і внести якусь зміну в текст програми. Спробувати продовжити виконання програми, зазначити повідомлення, яке висвітлюється в цьому випадку. 13. Використовуючи можливі режими виконання і відлагодження програми, отримати результати її реалізації для різних значень вхідних даних. 14. Оформити звіт з лабораторної роботи, в якому вказати: · задачу індивідуального завдання; · блок-схему алгоритму розв’язку задачі; · текст програми розв’язку задачі з коментарями, ім’я файлу, в який записано текст програми; · результати процесу виконання програми – навести введені вхідні дані, вказати точки зупинок програми, поточні значення змінних, які контролювались через вікно спостереження, форму і значення отриманих результатів розв’язку задачі; · висновок, в якому зазначити, що засвоєно в процесі виконання даної лабораторної роботи. Варіанти індивідуальних завдань: 1. Сформувати і надрукувати вектор з N трицифрових випадкових чисел, у кожному з яких повинна співпадати перша і остання цифра. Визначити найбільший і найменший елементи сформованого вектора (максимальне значення N – 60). Підказка: для генерації випадкових чисел скористатись відповідними підпрограмами модуля System. 2. З клавіатури ввести вектор дійсних чисел (максимальна розмірність – 18 елементів). Визначити і надрукувати номери двох найбільших елементів введеного вектора. Розробити такий алгоритм, щоб для пошуку обох найбільших елементів використовувати тільки один спільний цикл. 3. З клавіатури ввести масив цілих чисел (максимальна розмірність – 125 елементів). Переставити елементи введеного масиву так, щоб він був відсортованим за спаданням значень. Надрукувати результат сортування. 4. З клавіатури ввести два вектори цілих беззнакових чисел (максимальна розмірність кожного – 45 елементів). Утворити третій вектор зі спільних елементів двох введених. Надрукувати сформований вектор або вивести повідомлення про відсутність спільних елементів. 5. З клавіатури ввести масив дійсних чисел (максимальна розмірність – 60 елементів). Перетворити елементи масиву за правилом: якщо а[і] >0, то збільшити а[і] на квадрат найменшого елемента масиву, інакше збільшити а[і] на квадрат найбільшого елемента масиву. Надрукувати результуючий масив. 6. З клавіатури ввести вектор дійсних чисел (максимальна розмірність – 30 елементів). Циклічно зсунути його елементи на одну позицію вліво. Надрукувати результуючий вектор. Підказка: циклічний зсув означає, що перший елемент масиву переходить на місце зсунутого останнього. 7. Сформувати вектор зі заданої кількості (не більше 50-ти) різних чотирицифрових випадкових чисел. Надрукувати створений вектор. Визначити відсоток елементів вектора, які містять цифру 7. Підказка: скористатись підпрограмами модуля System для генерації рівномірно розподілених випадкових чисел. 8. З клавіатури ввести довге ціле число. Утворити масив з цифр цього числа. Визначити, чи є серед цифр однакові. Якщо немає, то сформувати і вивести на екран нове число з інверсним (зворотнім) порядком цифр. 9. З клавіатури ввести вектор довгих цілих чисел (максимальна розмірність – 16 елементів). Перевірити, чи елементи введеного вектора розташовані за спаданням значень. Якщо так, то вивести відповідне повідомлення, якщо ні – то визначити номер найменшого елемента вектора. 10. З клавіатури ввести два довгих цілих числа. Сформувати два масиви, кожен з яких буде складатись з усіх дільників відповідного числа. Надрукувати дільники, які є парними і спільними для обох чисел. 11. Сформувати вектор з 28-и різних випадкових натуральних чисел, що потрапляють у проміжок [ g 1, g 2] (значення g 1 та g 2 вводяться з клавіатури). Надрукувати створений вектор та окремо – його найбільший і найменший елементи. Підказка: скористатись підпрограмами модуля System для генерації рівномірно розподілених випадкових чисел. 12. З клавіатури ввести вектор цілих чисел (максимальна розмірність – 40 елементів). За кожним елементом із заданим певним значенням вставити його дублікат. Якщо масив не містить елементів з таким значенням, то вивести відповідне повідомлення. 13. З клавіатури ввести масив дійсних чисел (максимальна розмірність – 20 елементів). Визначити номер найменшого елемента масиву і вилучити його. Вилучення виконати шляхом зсуву на одну позицію вліво всіх елементів, що розташовані за максимальним. Надрукувати результуючий масив. 14. З клавіатури ввести масив дійсних чисел з парною кількістю елементів (не більше 40‑а). Поміняти місцями значення двох сусідніх елементів введеного вектора (першого з другим, третього з четвертим і т.д.). Визначити номери мінімального та максимального елементів нового вектора. Надрукувати результуючий вектор. 15. З клавіатури ввести вектор дійсних чисел (максимальна розмірність – 75 елементів). Переставити елементи введеного вектора так, щоб він був відсортованим за зростанням значень. Надрукувати результат сортування. 16. З клавіатури ввести вектор дійсних чисел (максимальна розмірність – 38 елементів). Всі додатні елементи, що не належать відрізку [ a, b ], замінити одиницею. Всі інші (від’ємні і належать заданому відрізку) – розділити на максимальне значення елемента масиву. 17. Сформувати і надрукувати вектор з К ; чотирицифрових випадкових чисел, у кожному з яких перша та остання цифри повинні бути одинаковими (максимальне значення К – 150). Визначити кількість непарних елементів у сформованому векторі. Підказка: для генерації випадкових чисел скористатись відповідними підпрограмами модуля System. 18. З клавіатури ввести довге ціле число. Утворити масив з цифр цього числа і знайти їх суму. Кожну парну цифру в масиві замінити меншою непарною. Сформувати і надрукувати нове число зі зміненими цифрами. 19. З клавіатури ввести вектор цілих чисел (максимальна розмірність – 45 елементів). Циклічно зсунути його елементи вправо на одну позицію. Надрукувати результуючий вектор. Підказка: циклічний зсув означає, що останній елемент масиву переходить на місце зсунутого першого. 20. З клавіатури ввести вектор дійсних чисел (максимальна розмірність - 60). Перевірити, чи елементи введеного вектора розташовані в порядку зростання значень. Якщо так, то вивести відповідне повідомлення, якщо ні – то визначити найбільший елемент вектора. 21. З клавіатури ввести масив дійсних чисел (максимальна розмірність – 30 елементів). Ті з додатніх елементів масиву, які є меншими за середнє значення всіх введених чисел, збільшити в півтора раз. Надрукувати результуючий масив. 22. З клавіатури ввести вектор дійсних чисел (максимальна розмірність – 45 елементів). Утворити новий масив, кожен елемент якого дорівнює півсумі значень двох сусідніх елементів введеного вектора. Надрукувати сформований масив і визначити номер його мінімального елемента. 23. Сформувати вектор з 50-и непарних тририцифрових випадкових чисел. У векторі не повинно бути однакових елементів. Підказка: скористатись підпрограмами модуля System, що генерують рівномірно розподілені випадкові числа. 24. З клавіатури ввести два вектори довгих цілих чисел (максимальна розмірність кожного – 30 елементів). Визначити і надрукувати значення них елементів двох векторів. 25. Сформувати і надрукувати масив з перших 30-и простих чисел натурального числового ряду. Підказка: простими є числа, які не мають інших цілочисельних дільників, крім 1. 26. З клавіатури ввести вектор дійсних чисел (максимальна розмірність – 40 елементів). Всі елементи вектора, які розташовані за максимальним, збільшити у 2 рази. Надрукувати результуючий вектор. 27. З клавіатури ввести вектор цілих чисел (максимальна розмірність – 18 елементів). Сформувати новий вектор з тих елементів введеного масиву, які цілочисельно діляться на його останній елемент. Надрукувати створений вектор або вивести повідомлення про відсутність таких елементів. 28. З клавіатури ввести вектор цілих чисел (максимальна розмірність - 80 елементів). Вставити у масив заданий елемент після першого додатного елемента масиву. Надрукувати сформований вектор або вивести повідомлення про відсутність додатніх елементів.
|