Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Delphi_LR4.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
273.99 Кб
Скачать

Interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type

TForm1=class(TForm)

Button1:TButton; //кнопка Перевірити

Label1:TLabel;

Edit1:TEdit; //поле введення числа

Label2:TLabel; //поле виводу результату

procedure Button1Click(Sender:TObject);

private

{Private declarations}

public

{Public declarations}

end;

var

Form1:TForm1;

Implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender:TObject);

var

n:integer; //перевіряєме число

d:integer; //подільник

r:integer; //залишок від ділення n на d

begin

n:=StrToInt(Edit1.Text);

d:=2; //спочатку будемо ділити на два

repeat

r:=n mod d;

if r <> 0 //n не розділилось без залишку на d

then d:=d+1;

until r=0; //знайдено число, на яке n розділилося без залишку

Label2.Сaption:=Edit1.Text;

if d=n

then Label2.Сaption:=Label2.Сaption+' - просте число.'

else Label2.Сaption:= Label2.Сaption+' - звичайне число.';

end;

end.

Рисунок 6 – Форма додатка Просте число

4 Інструкція goto

Інструкції if і case використовуються для переходу до послідовності інструкцій програми в залежності від деякої умови. Тому їх іноді називають інструкціями умовного переходу. Крім цих інструкцій управління ходом виконання програми існує ще одна – інструкція безумовного переходу goto.

У загальному вигляді інструкція goto записується таким чином:

goto Мітка

де Мітка – це ідентифікатор, що знаходиться перед інструкцією, яка повинна бути виконана після інструкції goto.

Мітка, яка використовується в інструкції goto, повинна бути оголошена в розділі міток, який починається словом label і розташовується перед розділом оголошення змінних. У програмі мітка ставиться перед інструкцією, до якої має бути виконаний перехід в результаті виконання інструкції goto. Відразу після мітки ставиться двокрапка.

У лістингу 4 наведено варіант процедури перевірки числа, в якій інструкція goto використовується для завершення процедури в тому випадку, якщо користувач введе невірні дані.

Лістинг 4. Просте число (використання інструкції goto)

procedure TForm1.Button1Click(Sender:TObject);

label //розділ оголошення міток

bye;

var

n:integer; //число, що перевіряється

d:integer; //подільник

r:integer; //залишок від ділення n на d

begin

n:=StrToInt(Edit1.Text);

if n <= 0 then

begin

MessageDlg('Число має бути більше нуля.', mtError, [mbOk], 0);

Edit1.Text:=";

goto bye;

end;

//введене додатне число

d:=2; //спочатку будемо ділити на два

repeat

r:=n mod d;

if r <> 0 //n не ділиться без залишку на d

then d:=d+1;

until r=0;

Label2.Сaption:=Edit1.Text;

if d=n

then Label2.Сaption:=Label2.Сaption+' — просте число.'

else Label2.Сaption:=Label2.Сaption+' — звичайне число.';

bye:

end;

Індивідуальні завдання

Варіанти.

  1. Скласти програму для обчислення функції з використанням структури while/do для організації циклу.

  2. Скласти програму, яка виводить значення функції доти, доки значення не буде менше (функція буде поступово зменшуватись в силу більшої швидкості зростання факторіалу). Починаючи з одиниці, необмежено збільшується до виконання зазначеної умови. По завершенні вивести кількість елементів та їх суму. Для організації циклу необхідно використати структуру for.

  3. Скласти програму для обчислення функції з використанням структури repeat/until для організації циклу.

  4. Скласти програму для обчислення функції з використанням структури repeat/until для організації циклу.

  5. Скласти програму, яка виводить значення функції доти, доки значення не буде менше , змінюється від 1 до . По завершенні вивести кількість елементів , їх суму та добуток. Для організації циклу необхідно використати структуру repeat/until.

  6. Скласти програму, яка обчислює значення функції . Для організації циклу необхідно використати структуру repeat/until.

  7. Скласти програму, яка обчислює значення функції . Для організації циклу необхідно використати структуру for.

  8. Скласти програму, яка обчислює значення функції . Для організації циклу необхідно використати структуру while/do.

  9. Скласти програму, яка обчислює значення функції . Для організації циклу необхідно використати структуру repeat/until.

  10. Скласти програму, яка обчислює значення функції . Для організації циклу необхідно використати структуру for.

  11. Скласти програму, яка обчислює значення функції . Для організації циклу необхідно використати структуру while/do.

  12. Скласти програму, яка обчислює значення функції . Для організації циклу необхідно використати структуру while/do.

  13. Скласти програму, яка обчислює значення функції . Для організації циклу необхідно використати структуру for.

  14. Скласти програму, яка обчислює значення функції . Для організації циклу необхідно використати структуру repeat/until.

  15. Задано кусково-неперервну функцію . Обчислити значення функції в області існування, у протилежному випадку вивести на друк повідомлення про відсутність розв’язку

.

  1. Задано кусково-неперервну функцію . Обчислити значення функції в області існування, у протилежному випадку вивести на друк повідомлення про відсутність розв’язку

.

  1. Задано кусково-неперервну функцію . Обчислити значення функції в області існування, у протилежному випадку вивести на друк повідомлення про відсутність розв’язку

.

  1. Скласти програму, яка обчислює значення функції . Для організації циклу необхідно використати структуру for.

  2. Скласти програму, яка обчислює значення функції . Для організації циклу необхідно використати структуру while/do.

  3. Скласти програму, яка обчислює значення функції . Для організації циклу необхідно використати структуру repeat/until.

  4. Написати програму для знаходження суми послідовності цілих чисел. Перше зчитане ціле число вказує кількість цілих чисел, які далі будуть введені. Програма повинна читати тільки по одному значенню в операторі виводу. Типова вхідна послідовність може мати вигляд

5 100 200 300 400 500,

де 5 вказує, що буде введено послідовно п’ять чисел, які потрібно скласти.

  1. Написати програму, яка рахує та друкує добуток непарних цілих від 1 до 15.

  2. Написати програму, яка роздрукує ромб. Необхідно використати операторі виводу, які друкують або одну зірочку (*), або один пропуск. Максимально використати повторення (з вкладеними структурами for) і мінімізувати число операторів виводу.

*

***

****

***

*

  1. Написати програму, яка обчислює і друкує суму цілих чисел від 1 до 10. Необхідно використати структуру while/do для організації циклу, який містить оператори обчислення та приросту. Цикл повинен бути завершеним, коли значення х стане рівним 11.

  2. Скласти програму, яка обчислює юліанську дату за роком (Y), номером місяця (М), номером дня (D) та значенням часу (H), яке задається у вигляді дійсного числа від (ціла частина від – порядковий номер дня в місяці, дробова частина від – частина доби, яка пройшла після півночі). Перевірки на достовірність завдання вихідної інформації виключені, щоб не перевантажувати текст програми.

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

  4. Скласти програму, яка обчислює дату григоріанського календаря за юліанською датою, що представлена дійсним числом.

  5. Скласти програму, яка обчислює порядковий номер дня року за його датою.

  6. Скласти програму, яка визначає день тижня за датою григоріанського календаря.

  7. Скласти програму, яка визначає кількість днів за номером місяця.

  8. Скласти програму упаковки та розпаковки часу доби. Вихідними даними для її роботи повинні бути або показання годинника (H – години, M –хвилини, S – секунди), або частина доби, яку представлено дійсним числом t (0<= t <= 1).

  9. Скласти програму для табличного представлення значень функції у діапазоні від до з інтервалом . Для організації циклу необхідно використати структуру while/do.

  10. Скласти програму для табличного представлення значень функції у діапазоні від до з інтервалом . Для організації циклу необхідно використати структуру repeat/until.

  11. Написати програму для обчислення функції , де змінюється у діапазоні від 0 до 12 з інтервалом 4. Для організації циклу необхідно використати структуру repeat/until.

  12. Скласти програму для табличного представлення значень функції , де змінюється у діапазоні від до з інтервалом , а – від –4 до 6 з інтервалом 2. Для організації зовнішнього циклу необхідно використати структуру repeat/until, а внутрішнього – for.

  13. Написати програму для обчислення функції , де змінюється у діапазоні від 0 до 20 з інтервалом 2, а – від –6 до 6 з інтервалом 2. Для організації зовнішнього циклу та внутрішнього циклів необхідно використати структуру for.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]