Лабораторна робота № 13.
Тема.
|
Підпрограми користувача.
|
Мета.
|
Формування вмінь і навиків створення та використання процедур та функцій користувача. Закріплення вмінь і навиків використання функцій вводу-виводу та обробки рядків. Застосування вмінь і навиків програмування алгоритмів лінійної, розгалуженої та циклічної структури.
|
Контрольні запитання.
Коли та з якою метою доцільно використовувати підпрограми?
Чи прискорює час виконання програми використання підпрограм? Чи зменшує об'єм коду програми та час її розробки таке виекористання?
Які типи підпрограм використовуються в Object Pascal? Чим відрізняються синтаксиси їх опису? Як викликаються підпрограми кожного типу?
Де описуються підпрограми користувача? Як визначити їх область видимості?
Від чого залежить результат виконання підпрограми? Параметри яких типів даних можуть використовуватися підпрограмою?
Чим формальні параметри підпрограми відрізняються від фактичних?
Як повернути результат виконання підпрограми-функції в основну програму?
Які виклики функцій називаються рекурсивними? Як їх здійснити? Які вимоги при цьому мають виконуватися для уникнення зациклень?
Завдання.
Скласти програму для обчислення значення виразу.
Вимоги до програми:
числові значення змінних ввести з клавіатури;
для обчислення значення виразу створити та використати власну функцію;
значення вхідних даних та остаточні результати виконання програми вивести в одному діалоговому вікні.
Варіанти.
при x=0.137, y=1.27, z=4.7561;
при x=0.0399, y=4.83, z=0.072;
при x=1.576, y=1.786, z=1.1236;
при x=12.743, y=0.654, z=0.0208;
при x=3.49, y=0.456, z=0.0059;
при x=0.0976, y=2.371, z=1.1587;
при x=82.356, y=34.42, z=7.0046;
при x=0.11578, y=4.675, z=4.654;
при x=3.7156, y=3.034, z=0.756;
при x=7.654, y=0.876, z=0.0987;
при x=0.036, y=3.987, z=4.654;
при x=0.327, y=0.0098, z=4.675;
при x=3.4, y=25, z=0.35;
при x=0.83, y=4.2 z=-6.7;
при x=6.8, y=0.75, z=12.
Скласти програму для розв'язання поставленого завдання.
Вимоги до програми:
значення текстового рядка для обробки ввести з клавіатури;
для обробки рядків створити та використати власну функцію;
результати виконання алгоритму вивести в одному діалоговому вікні, відобразивши в ньому як вхідний так і вихідний текстові рядки.
Варіанти:
Замінити в текстовому рядку кожну крапку трьома крапками;
Перетворити заданий текстовий рядок э n символів, видаливши кожен символ * і повторивши кожен символ, відмінний від *;
Видалити з текстового рядка всі буквосполучення про;
В заданому текстовому рядку видалити частину тексту, взяту в дужки (разом з дужками);
Текст задано таким чином: перший символ – цифра, яка вказує довжину першого слова, за першим словом – знову .цифра, яка вказує довжину другого слова (довжина кожного слова не перевищує 9 ) і так далі. Замість цифр, що вказують довжину слова, вставити числа, які вказують координату початку наступного слова;
В текстовому рядку видалити зайві пробіли між словами, залишивши по одному;
Розділити заданий текстовий рядок на рядки довжиною 80 символів, вставивши на місці символів завершення рядка символ ^;
В заданому текстовому рядку всюди замінити слово А1 словом А2 (довжини слів не співпадають);
Переписати даний текстовий рядок так, щоб порядок символів у ньому став оберненим, самі символи подвоїлися і перед кожним з'явилася крапка;
Розділити заданий текстовий рядок на рядки довжиною не більше 80 символів не розриваючи окремі слова;
В текст, який містить менше 50 символів, рівномірно вставити пробіли між: словами так, щоб довжина тексту становила рівно 50 символів;
З заданому текстовому рядку, у подвоїти всі букви л, н, с, о;
Дано текстовий рядок, який містить n символів, серед яких є хоча б одна крапка. Видалити з тексту всі коми, що передують першій крапці, і замінити знаком + всі цифри 3, які зустрічаються після першої крапки;
Перетворити задану послідовність символів, замінивши всі буквосполучення оце буквосполученням це;
Серед послідовності з n символів є хоча б один символ відмінний від пробілу. Видалити групи пробілів, якими починається 1 якими закінчується послідовність, а також замінити кожну внутрішню групу пробілів одним пробілом. Якщо вказаних груп пробілів немає в даній послідовності, то залишити її без змін.
Скласти програму для розв'язання поставленого завдання стосовно введеного текстового рядка (групи символів, відокремлених одним або кількома розділовими знаками, що не містять розділових знаків всередині себе, будемо називати словами).
Вимоги до програми:
значення текстового рядка для обробки ввести з клавіатури;
для обробки рядків створити та використати власні функції;
результати виконання алгоритму вивести в одному діалоговому вікні.
Варіанти:
Підрахувати загальну кількість слів;
Знайти кількість слів, що починаються на букву С;
Знайти кількість слів, в яких перший і останній символи співпадають;
Знайти яке-небудь слово, що починається з букви а, або вказати на його відсутність;
У словах з закінченням ий замінити його закінченням енький;
Знайти і вивести всі слова, що починаються складом не;
Визначити слово даного рядка з максимальною часткою голосних;
Визначити, скільки разів у тексті зустрічається введене слово;
Перетворити даний рядок, замінюючи всі слова оце словом це;
Визначити, який процент слів у тексті починається з букви к;
Визначити, який процент слів у тексті містить подвоєну приголосну;
Визначити, з якої букви починається найбільше слів у рядку;
В заданому текстовому рядку всюди замінити слово А1 словом А2 (довжини слів не співпадають);
Студенти шифрують свої записки, записуючи всі слова навпаки. Скласти алгоритм і програму шифрування і розшифровування тексту;
Вказати мінімальну кількість перших букв, за якими можна розрізняти слова рядка.
|