Image.Canvas.LineTo(X, Y);

Операція in перевіряє, чи міститься елемент ssLeft у наборі Shift, тобто, чи була натиснута ліва кнопка миші.

Для того, щоб змінити колір лінії при малюванні на полотні, треба вибрати олівець (Pen):

Image.Canvas.Pen.Color := clRed;

Цей запис встановлює колір (Color) олівця (Pen) у червоний (clRed). Додайте цей рядок в процедуру оброблення і перегляньте результати програмування. Після цього видаліть рядок.

Примітка.Зверніть увагу, що у випадку необхідності компонент Image самостійно перерисовує (відновлює) зображення: наприклад, якщо форму згорнути та розгорнути, то малюнок компонента Image зберігається. Це і є основною перевагою використання компонента Image для малювання (при малюванні на полотні інших компонентів зображення треба відновлювати програмно при виникненні події OnPaint).

Крок 3. Малювання графічних примітивів

Додайте на панель інструментів ще одну кнопку швидкого доступу, назвіть її Circle (коло). Властивість GroupIndex установіть в 1: тепер кнопка кольору Color і кнопка малювання кола Circle відносяться до різних груп і їх поведінка незалежна. Властивість AllowAllUp установіть в true, що дозволить використовувати кнопку Circle як перемикач (натиснутий/віджатий стан).

Натискання кнопки Circle переводить програму в режим малювання кола, що здійснюється при натисканні лівої кнопки миші на рисунку.

Введіть у модулі ChildUnit дві нові глобальні змінні, які визначать координати кола:

xc, yc : Integer;

Згенеруйте для Image процедуру оброблення події OnMouseDown і введіть туди наступний код:

//Якщо натиснута кнопка Circle

If MainForm.Circle.Down Then

Begin

xc := X; // Присвоїти координатам кола

yc := Y; // координати миші

Image.Canvas.Ellipse(xc-100, yc-100, xc+100, yc+100);

End;

Примітка. Для того, щоб властивість Down(натиснута) кнопки Circle, описаної у модулі головної форми, була доступна й у модулі дочірньої форми, необхідно в останньому зробити запис uses MainUnit;

Запустіть програму і перегляньте результати програмування. При натисканні лівої кнопки миші виводиться коло, при русі миші рисується лінія.

Для того, щоб переміщати коло, необхідно модифікувати процедуру оброблення події переміщення миші:

if ssLeftinShiftThen// Якщо натиснута ліва кнопка миші

//Якщо натиснута кнопка Circle

If MainForm.Circle.Down Then

Begin

// Стерти старе коло

Image.Canvas.Ellipse(xc-100, yc-100, xc+100, yc+100);

xc := X; // Присвоїти координатам кола

yc := Y; // нові координати

// Намалювати нове коло

Image.Canvas.Ellipse(xc-100, yc-100, xc+100, yc+100);

end // Інакше намалювати лінію

else Image.Canvas.LineTo(X, Y);

Зверніть увагу, що для стирання кола використовується той саме код, як і для малювання. Такий підхід здійснюється завдяки встановлення інвертованого стилю виведення:

Image.Canvas.Pen.Mode := pmNotXor;

Цей рядок треба помістити в процедуру оброблення події OnCreate (при створенні) форми Child.

Контрольні питання

1. Що таке Canvas? Назвіть основні властивості та методи класу TCanvas.

2. Поясніть рядок кодуIf ssLeft inShiftThenImage.Canvas.LineTo (X, Y);

3. У чому полягає перевага використання компонента Image для малювання графічних примітивів?

4. Поясніть значення властивостей Down, GroupIndex та AllowAllUp кнопок швидкого доступу.

5. У чому полягають переваги інвертованого стилю виведення графічних об’єктів?

Варіанти завдань

1. Реалізувати метод для переміщення мишею виведеної на полотно точки (пікселя). Подвійне натискання кнопки миші над точкою приводить до зміни її кольору.

2. Реалізувати метод «гумової нитки»: натискання кнопки миші фіксує один кінець відрізка, другий кінець переміщається відповідно до зміни місцеположення курсору миші до наступного натискання, потім фіксується даний кінець і т. ін.

3. Реалізувати метод для рисування дуги (один кінець дуги фіксується першим натисканням кнопки миші, другий кінець слідує за курсором миші до другого натискання).

4. Реалізувати метод для рисування прямокутника (один кут прямокутника фіксується першим натисканням кнопки миші, другий кут слідує за курсором миші до наступного натискання кнопки миші).

5. Реалізувати метод для зміни мишею розмірів тексту, виведеного у нарисований на полотні прямокутник. Змінювати розміри тексту треба перетягуванням мишею одного з кутів прямокутника.

6. Реалізувати метод для зміни мишею розмірів зчитаного з диска рисунка (використовувати компонент Image). Змінювати розміри рисунка треба перетягуванням мишею одного з кутів компонента Image.

7. Реалізувати метод для переміщення мишею раніше виведеного на полотно відрізка лінії.

8. Реалізувати метод для повороту мишею раніше виведеного на полотно відрізка лінії (миша повинна підхоплювати один з кінців відрізка при зафіксованому іншому кінці).

9. Реалізувати метод для переміщення мишею виведеного на полотно прямокутника.

10. Реалізувати метод для зміни мишею розмірів виведеного на полотно прямокутника.

11. Реалізувати метод для переміщення мишею виведеного на полотно трикутника.

12. Реалізувати метод для зміни мишею радіуса виведеного на полотно кола.

13. Розбийте форму на прямокутники у шаховому порядку. Натискання мишею довільного прямокутника приводить до його забарвлення чорним кольором. Повторне натискання зафарбовує прямокутник у білий колір.

14. Реалізувати метод виділення курсором миші (при натиснутій лівій клавіші) виведеного заздалегідь на полотно тексту. Текст можна виділяти кольором або змінюючи шрифт.

15. Реалізувати метод набору тексту за допомогою миші. Вибір символів здійснюється з роздрукованої на полотні таблиці символів. Натискання на символ приводить до його появи в рядку тексту на полотні.


Лабораторна робота № 8

Тема: Використання одновимірнихмасивів.

Мета:Практичне застосування одновимірнихмасивів при написанні програм на мові Object Pascal у системі Delphi.

Теоретична частина

Розглянемо технологію створення програми, що вводить значення елементів одновимірного масиву a[10] дійсного типу і знаходить його максимальний елемент.

1. Зробіть опис масиву aіз 10 елементів дійсного типу. Обробка елементів масиву буде здійснюватися у різних процедурах головного модуля програми, тому опис масиву a повинен бути глобальним (інший шлях – здійснити опис масиву a як члену класу форми).

2. Розташуйте на формі компонент типу TEdit та компонент типу TButton– вони будуть слугувати для введення значень елементів масиву a[10]. Видаліть рядок, що за умовчання відображається на поверхні TEdit. На поверхні кнопки зробіть надпис “Введення значення”.

3. Введіть глобальну змінну цілого типу Count, що буде використовуватися як поточний номер елемента масиву.

Згенеруйте процедуру оброблення натискання на кнопку та введіть у неї наступний код:

Var

Code : Integer;

begin

// Збільшення поточного номера елемента масиву

inc(Count);

If Count ≤ 10 Then Val(Edit1.Text, a[Count], Code);

Edit1.Text := ‘’; // Очищення рядка

end;

Якщо поточний номер елемента масиву (змінна Count) менший ніж кількість його елементів, введене у поле Edit1.Text значення заноситься у даний елемент масиву a[Count]. Для трансформації змісту рядка у дійсне значення використовується стандартна процедура Val.Примітка. Параметр Code використовується для фіксації номеру некоректного символу у рядку (якщо такий є). Якщо помилки немає, параметр Code містить 0.

4. Запустіть додаток та вивчіть його властивості. Примітка. Десятковим роздільником дійсного числа при введенні у поле Edit1.Text є кома.

5. Зробіть кнопку Button1 кнопкою за умовчання (для цього властивість Default треба встановити у true) – це надає можливість викликати оброблювач Button1Click натисканням клавіші Enter.

6. Для виведення результату можна використати будь-який з елементів редагування або зображення тексту.

Розташуйте на формі компонент типу TListBox, що призначений для відображення масиву рядків. Основною властивістю TListBox є масив елементів Items.

7. Розташуйте на формі компонент типу TButton і на поверхні кнопки зробіть надпис “Пошук максимуму”. Згенеруйте процедуру оброблення натискання на кнопку та введіть у неї наступний код:

Var

i : Integer; // Змінна циклу

// Змінна для зберігання значення поточного максимуму

max : Real;

begin

max := a[1];

for i := 1 to 10 do // Для всіх елементів масиву

Begin

If a[i] > max Then max := a[i];

ListBox1.Items.Add(IntToStr(i) + ‘ – ‘ + FloatToStr(a[i]));

End;

ListBox1.Items.Add(‘Максимальний елемент – ‘ + FloatToStr(max));

end;

Алгоритм пошуку максимального елемента масиву є добре відомим. У процесі аналізу номери елементів масиву та їх значення трансформуються у рядковий тип за допомогою функцій IntToStr(i), FloatToStr(a[i]) та додаються у ListBox1 за допомогою методу Add. Примітка. Для трансформації рядка символів у ціле (дійсне) значення використовуються функції StrToInt, StrToFloat.

Контрольні запитання

1. У чому полягає відмінність між глобальним та локальним описом змінних? У чому полягає особливість опису змінної як члену класу?

2. Які стандартні процедури та функції використовуються для трансформації дійсного (або цілого) значення у рядок символів та навпаки?

3. Для чого використовується компонент типу TListBox? Назвіть основні властивості та методи TListBox.

Варіанти завдань

1. Ввести цілочисловий масив із 12 елементів. Знайти максимальний і мінімальний елементи масиву та поміняти їх місцями. Вивести на екран одержаний у результаті масив.

2. Ввести цілочисловий масив із 10 елементів. Знайти мінімальний і максимальний елементи масиву та поставити їх на місце першого та останнього елемента масиву. Вивести на екран одержаний у результаті масив.

3. Ввести масив із 10 дійсних чисел. Визначити, у скільки разів кожне з них більше мінімуму і менше максимуму даної послідовності. Вивести на екран результати у вигляді двох стовпчиків.

4. Ввести цілочисловий масив із 12 елементів. Знайти у ньому два найменших числа та визначити їх порядкові номери. Результати надрукувати.

5. Дана послідовність із 10 різних цілих чисел. Знайти суму елементів цієї послідовності, розташованих між максимальним і мінімальним елементами (у суму включити й обидва ці числа). Результат надрукувати.

6. Обчислити суму і кількість кратних числу три негативних елементів масиву X[10]. Результати надрукувати.

7. Обчислити суму і кількість елементів масиву х[10], що кратні числу три та задовольняють умові хі ≤ -2 або xі ≥ 2. Результати надрукувати.

8. Обчислити середнє арифметичне позитивних елементів масиву A[10] та їх кількість. Результати надрукувати.

9. Знайти середнє геометричне позитивних елементів масиву A[8] та їх кількість. Результати надрукувати.

10. Обчислити суму квадратів негативних елементів цілочислового масиву A[5] та їх кількість. Результати надрукувати.

11. Знайти і вивести на екран усі позитивні парні елементи масиву a[10] цілого типу та визначити їх кількість.

12. Знайти суму та кількість усіх непарних елементів масиву a[12] цілого типу, що задовольняють умові аі ≤ -3 або аі ≥ 1. Результати надрукувати.

13. Знайти добуток та кількість кратних числу три негативних елементів масиву a[10] цілого типу. Результати надрукувати.

14. Дана послідовність із 8 цілих чисел. Обчислити суму та кількість елементів масиву, кратних 2 та 3. Результати надрукувати.

15. Ввести послідовність із 12 натуральних чисел. Обчислити суму та кількість тих із них, порядкові номери яких кратні 2 та 3. Результати надрукувати.


Лабораторна робота № 9

Тема:Використання двовимірних масивів (матриць).

Мета:Ознайомитись із технологією оброблення двовимірних масивів (матриць) на мові програмування Object Pascal у системі Delphi.

Теоретична частина

Для подання текстових даних у виді таблиці слугує компонент TStringGrid (палітра Additional).

Основні властивості компонента TStringGrid:

ColCount – кількість колонок.

RowCount – кількість рядків.

+Options

goEditing – можливість редагування вмісту комірки (натискання Enter або F2 переводить комірку у режим редагування).

goAlwaysShowEditor – постійний режим редагування (якщо включене goEditing).

Таким чином, введення даних у комірки потребує встановлення значення опцій goEditing та goAlwaysShowEditor у true.

Доступ до кожної комірки таблиці здійснюється за допомогою властивості Cells.

property Cells[ACol, ARow: Integer]: String;

Cells – двовимірний масив рядків (типу String), що містяться в комірках таблиці.

ACol, ARowномер стовпчика і рядка (починаючи з нуля). Нульовий стовпчик та рядок таблиці візуально виділяються та слугують для виведення заголовків таблиці.

Наведемо приклад обчислення суми всіх елементів таблиці StringGrid1:

Var

// Змінна для зберігання поточного значення суми

Sum : Integer;

i, j : Integer; // Змінні циклу

Begin

Sum := 0;

For i := 1 To StringGrid1.ColCount-1 do

For j := 1 To StringGrid1.RowCount-1 do

Sum := Sum + StrToInt(StringGrid1.Cells[i, j]);

Edit1.Text := IntToStr(Sum); // Виведення результату

end;

Примітка.При введенні значень у матрицю великої вимірності доцільно автоматизувати процес її заповнення за допомогою генератора випадкових чисел.

Контрольні питання

1. Для чого призначений компонент TStringGrid? Назвіть властивості, що містять кількість рядків та колонок TStringGrid.

2. Як встановити режим редагування комірок TStringGrid? Як перейти у режим редагування комірки TStringGrid?

3. Розкрите значення властивості Cells.

Варіанти завдань

Знайти максимальний і мінімальний елементи матриці A[5][5] і поміняти їх місцями. На екран вивести вхідну та трансформовану матриці.

Знайти у кожному рядку матриці F(4, 5) максимальний і мінімальний елементи і помістити їх на місце першого й останнього елементів рядка. На екран вивести вхідну та трансформовану матриці.

Знайти рядок із найбільшою сумою елементів матриці T(5, 5). Надрукувати номер знайденого рядка.

Обчислити середнє арифметичне позитивних елементів кожного рядка матриці A[5][6] та надрукувати результати у вигляді стовпця.

Підрахувати суму та кількість елементів матриці X[5][3], що задовольняють умові: -2 ≤ Xіj ≤ 3. На екран вивести результати підрахунків.

Переписати елементи матриці Х[5][5], що задовольняють умові -10 ≤ Xіj ≤ 10, на відповідні місця матриці У[5][5], і підрахувати їх кількість. На екран вивести вхідну, сформовану матриці та підраховану кількість переписаних елементів.

Обчислити і запам’ятати суму і кількість позитивних елементів кожного стовпчика матриці А[5][4]. Результати надрукувати у вигляді двох рядків.

Обчислити і запам’ятати суму і кількість ненульових елементів кожного рядка матриці А[4][5]. Результати надрукувати у вигляді двох стовпців.

Записати на місце негативних елементів матриці A(5, 5) нулі, а на місце позитивних – одиниці. На екран вивести вхідну та трансформовану матриці, а також підраховану кількість позитивних і негативних елементів вхідної матриці.

Записати на місце елементів матриці A(4, 5), сума індексів яких парна – нулі, а на місце елементів, сума індексів яких непарна – одиниці. На екран вивести вхідну та трансформовану матриці.

Обчислити суму і кількість позитивних елементів матриці A(5, 5), що знаходяться під головною діагоналлю і на ній. На екран вивести вхідну матрицю та результати підрахунків.

Обчислити суму і кількість ненульових елементів матриці A(5, 5), що знаходяться над головною діагоналлю. На екран вивести вхідну матрицю та результати підрахунків.

Знайти добутки елементів кожного рядка матриці A(5, 5) та найбільший з одержаних результатів. На екран вивести вхідну матрицю та результати підрахунків.

Для цілочислової матриці A(5, 5) знайти для кожного рядка кількість елементів, кратних п’яти, і найбільший з отриманих результатів. На екран вивести вхідну матрицю та результати підрахунків.

Замінити всі елементи матриці A(5, 5), сума індексів яких кратна 2, на 2, 3 на 3, 4 на 4, 5 на 5. Вивести на екран вихідну й отриману матриці.


Лабораторна робота № 10

Тема:Розв’язання числових задач.

Мета:Вдосконалення навичок програмування у процесі розв’язування задач, пов’язаних із властивостями чисел та числових рядів у системі Delphi.

Варіанти завдань

Примітка. Всі програми повинні забезпечувати інтерфейс із користувачем у вигляді запрошення на введення вхідних даних та виведення пояснень до результатів підрахунків.

1. Числа Піфагоравизначаються рівністю: с2 = а2 + b2, де a, b, c – цілі числа. Скласти програму для знаходження 5 чисел Піфагора.

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

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

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

5. Скласти програму, що виводить на екран перші 20 чисел Фібоначчі, які формуються за наступними правилами:

F1 = 1; F2 = 1;

Fi+2 = Fi+1 + Fi (i ≥ 1). Таким чином, F3 =2, F4 =3.

6. Скласти програму для перевірки обчислення наступного числа Фібоначчі (див. попереднє завдання) шляхом множення попереднього на 1,618. Результати вивести на екран у виді двох стовпчиків – у першому відображається точне значення елементів ряду Фібоначчі, у другому – наближене. Точність результату обмежити трьома знаками після коми.

7. Підрахувати факторіал введеного з клавіатури цілого числа. Факторіалом числа називається функція n! = 1×2×3×…×n.

8. Ввести з клавіатури дійсне число х. Підрахувати і вивести на екран ЕОМ цілу та дробову частини числа х, потім – число х,округлене до найближчого цілого. Врахувати, що цілою частиною числа х є найбільше ціле, що не перевищує х. Наприклад, для від’ємного числа -7.16 цілою частиною є -8. Не використовувати стандартні функції мови програмування.

9. Ввести кути у градусах, що утворюють годинна і хвилинна стрілки з променем, який проходить крізь центр циферблата та цифру 12. Підрахувати та вивести на екран час у форматі години : хвилини, а також повне число хвилин, що минули з 12:00.

10.Ввести цілі числа m і n (0 < m ≤ 12, 0 ≤ n < 60), що вказують момент часу. Визначити найменший час (число повних годин і хвилин), коли годинна і хвилинна стрілки на циферблаті співпадуть.

11.Ввести дійсні позитивні числа x, y, z. Визначити, чи існує трикутникіз сторонами, що мають довжину x, y, z. Визначити найменше із чисел x, y, z. Результати вивести на екран.

12.Ввести дійсні числа x, y, z. Перевірити, чи виконується нерівність x < y < z. Якщо ні, то відсортувати ці числа у порядку зростання та вивести на екран.

13.Ввести дійсні числа a, b, c. Визначити чи має рівняння ax2+bx+c = 0 дійсні корені. Якщо так, то знайти їх. Інакше вивести на екран повідомлення, що дійсних коренів немає.

14.Одержати шкалу температур t за Цельсієм від 0 до 100 градусів та їх еквівалентів за шкалою Фаренгейту T, використовуючи для переведення формулу T = 9/5*t + 32. Результати оформити у вигляді таблиці, яку надрукувати у кілька стовпчиків і естетично її оформити (використовуючи різні кольори).

15.Вивести на екран ЕОМ таблицю множення у кілька стовпчиків і естетично її оформити (використовуючи різні кольори).


Завдання для самостійної роботи

Тема: Розроблення комп’ютерних ігор.

Мета: Вдосконалення навичок програмування у процесі розв’язування задач, що мають в основі ігрові ситуації та потребують програмування стратегії ходу ЕОМ.

Варіанти завдань

(вибір варіанта завдання здійснюється за бажанням та відповідно

рівню підготовки студента)

Найпростіші ігри

1. Розробити гру “Відгадай число”. Програма за допомогою генератора випадкових чисел вибирає число у діапазоні від 0 до 99, яке необхідно відгадати за п’ять спроб. Гравець вводить варіант відповіді. Після кожної спроби програма повідомляє, більше чи менше введене число від задуманого. Набрані за вірні відповіді очки виводяться на екран ЕОМ.

2. Розробити гру “Іподром”. Треба вибрати одного з трьох коней, що приймають участь у бігах. Перемога зараховується, якщо кінь приходить першим. Швидкість пересування коней на різних етапах вибирається генератором випадкових чисел.

3. Розробити гру “Поле чудес”. Програма за допомогою генератору випадкових чисел вибирає слово з попередньо введеного словника слів однакової довжини. Якщо вводиться буква, що є у даному слові, вона відкривається. Набрані очки виводити на екран ЕОМ.

4. Створити програму для тренування зорової пам’яті. На екран ЕОМ виводиться послідовність різнокольорових графічних примітивів (що обирається генератором випадкових чисел, наприклад: прямокутник, коло, лінія, еліпс, точка, трикутник). Після цього екран очищається. Гравцю необхідно вказати та ввести у комп’ютер порядок демонстрації фігур, їх вид та колір. Якщо відповідь правильна – зараховується перемога, інакше програма вказує помилки гравця.

5. Необхідно за найменшу кількість кроків (натискань клавішів управління курсором) перевести курсор в ділянку екрана (невелике коло), місцеположення якого невідоме (воно вибирається генератором випадкових чисел). Переміщення курсору супроводжується звуковим сигналом: якщо курсор наближається до ділянки, то звук стає вищим; віддаляється – нижчим (можливо також використовувати кольорові ефекти).

Більш складні ігри

6. Розробити програму для гри у “П’ятнашки”.

7. Розробити найпростіший варіант гри “Тетріс”.

8. Розробити найпростіший варіант гри “Лабіринт” (задача якої – пройти крізь лабіринт, шляхи якого комп’ютер автоматично згенерував на екрані ЕОМ).

9. Розробити найпростіший варіант гри “Автомобільні перегони”. Зобразити на екрані ЕОМ дорогу, на якій з’являються перешкоди. Клавіші стрілок надають можливість їх об’їзду. Можливо використовувати як вид зверху на дорогу так і з місця водія автомобіля.

10.Розробити найпростіший варіант гри “Зоряні війни”. Вздовж екрану у довільних напрямках рухається об’єкт (для вибору напрямків руху використати генератор випадкових чисел). Клавіші стрілок дозволяють навести на нього курсор-хрестик. Пробіл здійснює постріл.

11.Розробити найпростіший варіант гри “Scorch” (клавіші стрілок дозволяють керувати кутом нахилу гармати та потужністю пострілу. Необхідно за найменшу кількість пострілів знищити супротивника).

12.Розробити найпростіший варіант гри у теніс для двох гравців (чи гравця та ЕОМ).

Найпростіші інтелектуальні ігри

(потребують програмування стратегії ходу ЕОМ)

13.Розробити найпростіший варіант програми гри з комп’ютером у “Морський бій”.

14.Розробити програму гри з комп’ютером у “Хрестики-нулики”.

15.Написати простішу шахову програму, що грає за білих королем та ферзем супроти короля, яким керує гравець.


Контрольна робота

Тема:Розв’язування задач із використанням одновимірних масивів.

Мета:Перевірка вмінь розв’язувати задачі з використанням одновимірнихмасивів при написанні програм на мові Object Pascal у системі Delphi.

Варіанти завдань

(ініціалізація масивів здійснюється при їх визначенні)

1. Розташувати у масиві R[N] спочатку позитивні, а потім негативні елементи масиву Z[N], N=10.

2. Переписати підряд у масив Y позитивні й у масив Z негативні елементи масиву X[10].

3. Переписати підряд елементи масиву X[14], що задовольняють умові -10 ≤ Xі ≤ 10, у масив Y, і підрахувати їх кількість.

4. Визначити цілочисловий масив із 12 елементів. Підрахувати, скільки з них більше своїх “сусідів”, тобто попереднього і наступного числа.

5. Визначити цілочисловий масив із 15 елементів. Встановити, чи утворять вони зростаючу послідовність.

6. Визначити цілочисловий масив із 14 елементів. Встановити кількість інверсій у цій послідовності (тобто таких пар елементів, в яких більше число знаходиться зліва від меншого).

7. Визначити цілочисловий масив із 12 елементів. Встановити, скільки разів у послідовності його елементів змінюється знак (наприклад, у послідовності 1, -34, 8, 14, -5 знак змінюється 3 рази).

8. Дана послідовність позитивних цілих чисел, в якій є 0. Обчислити суми чисел, що знаходяться до і після 0.

9. Визначити послідовність із 10 дійсних чисел, в якій є хоча б одне від’ємне число. Знайти середнє арифметичне чисел, що за ним слідують.

10. Дана послідовність із 10 цілих чисел. Визначити, з скількох від’ємних чисел вона починається.

11. Ввести 8 дійсних чисел. Знайти порядковий номер того з них, яке найбільш близьке до якогось цілого числа. Результат (число та його порядковий номер) надрукувати.

12. Дана послідовність із 10 дійсних чисел. Надрукувати числа, що мають лише цілу частину, а також знайти їх суму.

13. Ввести дві послідовності із 5 цілих чисел у кожній. Знайти та надрукувати всі числа першої послідовності, що не входять до другої послідовності (вважаючи, що хоча б одне таке число є).

14. Ввести цілочисловий масив із 10 елементів. Визначити суму та кількість позитивних елементів масиву до першого негативного. Вивести на екран результати.

15. Трансформувати цілочисловий масив із 12 елементів за наступними правилами: негативні елементи замінюються на відповідне абсолютне значення, позитивні елементи зводяться до квадрату. Надрукувати одержаний масив.


Список літературних джерел

1. Абрамов В.Г., Трифонов Н.П. Введение в язык Паскаль. – М.: Наука, 1988. – 320 с.

2. Аладьев В.З., Тупало В. Г. Компьютерная хрестоматия. Программное обеспечение персональных компьютеров. – К.: Украинская энциклопедия, 1993. – 447 с.

3. Александровский А. Delphi 5. Разработка корпоративных приложений. – М.: ДМК, 2000. – 512 с.

4. Архангельский А. Я. Object Pascal в Delphi. – М.: ЗАО «Издательство Бином», 1999. – 224 с.

5. Архангельский А. Я. Программирование в Delphi 6. – М.: ЗАО «Издательство Бином», 2002. – 1120 с.

6. Бобровский С. Delphi 5: Учебный курс. – СПб.: Питер, 2002. – 640 с.

7. Вирт Н. Алгоритмы + структуры данных = программы. – М.: Мир, 1985. – 406 с.

8. Довгаль С.И., Сбитнев А.И. Персональные ЭВМ: ТурбоПаскаль V 6.0, Объектное программирование, Локальные сети. – К.: Информсистема сервис, 1993. – 440 c.

9. Калверт Ч. Delphi 4. Энциклопедия пользователя: Пер. с англ. – К.: ДиаСофт, 1998. – 800 с.

10. Кэнту М. Delphi 4 для профессионалов. – СПб.: Питер, 1999. – 1120 с.

11. Мизрохин С.В. TURBO PASCAL и объектно-ориентированное программирование. – М.: Финансы и статистика, 1992. – 192 c.

12. Панчик М. П. Вычисления. Алгоритмизация. Программирование. – М.: Просвещение, 1988. – 207 с.

13. Рейсфорд К. Delphi 4. Освой самостоятельно. – М.: ЗАО «Издательство Бином, 1999. – 752 c.

14. Тейксера С. Borland Delphi 6. Руководство разработчика. Пер. с англ. – М.: Издательский дом «Вильямс», 2001. – 1120 с.

15. Тейксера С. Delphi 5. Руководство разработчика. – Том 1. Основные методы и технологии программирования: Пер. с англ. – М.: Издательский дом «Вильямс», 2001. – 839 с.

16. Тейксера С. Delphi 5. Руководство разработчика. – Том 2. Разработка компонентов и программирование баз данных: Пер. с англ. – М.: Издательский дом «Вильямс», 2001. – 992 с.

17. Фаронов В. Программирование баз данных в Delphi 6: Учебный курс. – СПб.: Питер, 2002. – 352 с.

18. Фаронов В. Delphi 6: Учебный курс. – СПб.: Питер, 2002. –512 с.