004 ЛАБОРАТОРНА РОБОТА4. Лабораторна робота 4 Тема Розробка циклічного обчислювального процесу. Конструювання інтерфейсу користувача
![]()
|
ЛАБОРАТОРНА РОБОТА №4Тема: Розробка циклічного обчислювального процесу.Конструювання інтерфейсу користувача. 1. Мета роботиДослідити роботу операторів циклу алгоритмічної мови Object Pascal. Засвоїти методику використання компонентів: Edit, Label, Button і Memo з розділу Standard Палітри Компонентів в середовищі Delphi для конструювання інтерфейсу користувача. 2. Постановка завдання Розробити проект з необхідних компонентів Delphi та оброблювач події мовою Object Pascal відповідно до заданого варіанта. Створити працездатне застосування з необхідним інтерфейсом. 3. Теоретичні відомості Оператори циклів Часто при розв’язанні задач необхідно багаторазово виконувати визначену послідовність дій. Такі повторювані дії називаються циклами. У мові Object Pascal можлива організація 3-х видів циклів: З параметром (оператор for). З передумовою (оператор while). З постумовою (оператор repeat). Оператор FOR Оператор циклу for організує виконання послідовності операторів заздалегідь задане число раз. Існують два варіанти оператора. Перший варіант (зі збільшенням лічильника): for <лічильник>:=<початкове значення> to <кінцеве знач.> do <оператор>; Другий варіант (зі зменшенням лічильника): for <лічильник>:=<початкове знач.> downto <кінцеве знач.> do <оператор>; де <лічильник> – змінна порядкового типу – параметр циклу; <початкове значення> і <кінцеве значення> – вирази, що повинні бути сумісними для присвоювання з параметром циклу; <оператор> – це оператор, що виконується в циклі та утворює так зване тіло циклу. Якщо в циклі необхідно виконати групу операторів, то її варто перетворити в один складений оператор, уклавши цю групу операторів в операторні дужки begin…end. Спочатку лічильнику привласнюється початкове значення. Потім значення лічильника порівнюється з кінцевим значенням. Далі, поки лічильник менше чи дорівнює кінцевому значенню (у першому варіанті), або більше чи дорівнює кінцевому значенню (у другому варіанті), виконується чергова ітерація циклу. У протилежному випадку відбувається вихід з циклу. Оператор циклу з передумовою WHILE Оператор while має наступний формат: while <логічний вираз> do <оператор>; <оператор> – це простий чи складений оператор, що виконується в циклі стільки разів, поки < логічний вираз > приймає значення true. Він складає так зване тіло циклу. Цикл припиняється, якщо при черговому обчисленні логічного виразу його значення виявиться рівним false. Якщо в циклі необхідно виконати групу операторів, то її варто перетворити в один складений оператор, уклавши в операторні дужки begin…end. Оператор циклу з постумовою REPEAT Оператор repeat має наступний формат: repeat <оператор1>; <оператор2>; …; <оператор> until <логічний вираз>; <оператор1>; <оператор2>; ...; <оператор>- оператори утворюючі тіло циклу. На початку виконується група <оператор1>; <оператор2>; ...; <оператор> . Потім обчислюється значення логічного виразу. Якщо воно дорівнює true, то цикл припиняється, у протилежному випадку виконується наступна ітерація циклу. У тіло циклу оператора repeat може входити довільна кількість операторів. Використання операторних дужок begin...end в операторі repeat не обов'язкове, хоча їх присутність не буде помилкою. 4. Програма роботи4.1. Записати запропонований викладачем варіант завдання з Додатка 1. 4.2. Ознайомитись з рекомендованою літературою та конспектом лекцій. 4.3. Програмування задачі: – розробити алгоритм; – скласти програму розв’язання задачі мовою Object Pascal. 4.4. Розв’язання задачі на ПЕОМ. Сконструювати інтерфейс користувача за допомогою відповідних візуальних компонент, відлагодити та розв’язати складену програму. 4.5. Оформлення звіту. Звіт повинен містити: – номер лабораторної роботи та її назву; – умову задачі та дані свого варіанта; – лістинг (або рукопис) програми з коментарями до кожної використаної змінної та скріншоти форми проекту; – результати розрахунку задачі; – висновки. Приклад 1. Обчислити значення змінної ![]() при заданому значенні х = 3.5 Розв’язання Створимо нову папку. Запустимо Delphi. Зі сторінки Standard Палітри Компонентів на Form1 розташуємо два компоненти Label, компоненти Button, Edit і Memo (рис. 4). ![]() 4. Для мітки Label1 установимо властивість Caption рівною 'Циклічний обчислювальний процес', а для Label2: 'х ='. 5. Для компонента Edit1 установимо значення властивості Text рівним порожньому рядку. 6. Для компонента Memo1 виберемо властивість Lines і клацнемо по кнопці з трьома крапками. У вікні, що з'явилося, String list editor видалимо рядок 'Memo1'. 7. Для кнопки Button1 установимо властивість Caption рівною 'Рішення'. 8. Створимо оброблювач події OnClick для кнопки Button1: procedure TForm1.Button1Click(Sender: TObject); var n, k: integer; s, f, x: real; begin x := StrToFloat(Edit1.Text); s := 0; for n:=5 to 10 do begin f:=1; for k:=1 to n do f:=f*k; s:=s+power(-1,n+1)*(2*n-1)/f*power(x,2*n); end; Memo1.Clear; Memo1.Lines.Add('Результат:'); Memo1.Lines.Add('s = '+FloatToStr(s)) end; 9. Збережемо проект за допомогою команди головного меню File|Save All і запустимо його на виконання використовуючи функціональну клавішу F9. Примітка: так як у тексті програми була використована функція power, що належить до модуля Math, то необхідно передбачити використання цього модуля, тобто добавити його ім’я після службового слова Uses. |