1) Створіть новий проект. Змініть значення властивості Caption форми, розмістіть на формі компоненти і налаштуйте їхні властивості згідно з рисунком. Текстове поле Edit1 призначене для введення кількості покупців; поле Memo1 — для виведення значень елементів масиву; список ListBox1 — для виведення результатів обчислень.
2) Опишіть змінні, необхідні для розв’язування задачі, як глобальні, тому що областю видимості для них є процедури обробки події обох кнопок:
3) Властивості ScrollBars елемента керування Memo1 задайте значення ssAutoHorizontal. Створіть процедуру обробки події для кнопки Заповнити масив.
4) Створіть процедуру обробки події для кнопки Обчислити денний прибуток. Результати обчислення виведіть у поле списку ListBox1.
5) Створіть процедуру обробки події для кнопки Знайти кількість чеків. Запишіть оператори для знаходження кількості елементів масиву, значення яких більші за середнє значення. Результати обчислень виведіть у поле списку ListBox1.
6) Перевірте роботу програми. Збережіть проект у папці Завдання_1.
Завдання 2.
У масиві А[1..10] переставити місцями елементи, що стоять на парних і непарних місцях: A[1] на A[2], ..., A[9] на A[10].
Розв'язання:
1) Створіть новий проект. Змініть значення властивості Captіon форми і додайте на форму кнопку Виконати перестановку (див. рисунок).
2) Розмістіть на формі компонент StringGrid і налаштуйте його властивості таким чином:
3) У процедурі обробки події OnCreate для форми запрограмуйте виведення індексів елементів масиву в зафіксований рядок заголовків стовпців.
4) У процедурі обробки події OnClick для кнопки Виконати перестановку запрограмуйте: а) заповнення масиву значеннями клітинок
таблиці StringGrid1; б) попарну перестановку елементів; в) виведення значень елементів масиву до таблиці StringGrid1.
5) Додайте на форму кнопку Обнулити елементи. У процедурі обробки події OnClick для цієї кнопки запрограмуйте реалізацію очищення вмсту таблиці StringGrid1.
6) Перевірте роботу програми. Збережіть проект у папці Завдання_2. Завершіть роботу за комп’ютером.
2. Домашнє завдання
Створіть програму для знаходження добутку від'ємних елементів заданої таблиці. (Див. попередній урок - Вправа 2)
В версию Programming Taskbook для локально устанавливаемого PascalABC.NET (не сетевой версии) входит ГРИС Робот.
Исполнитель Робот - действует на прямоугольном клеточном поле. Между некоторыми клетками, а также по периметру поля находятся стены. Основная цель Робота — закрасить указанные клетки и переместиться в конечную клетку.
Исполнитель Робот и поле, на котором он работает, отображаются следующим образом:
Здесь большой желтый квадрат изображает Робота, маленький желтый квадрат в левом верхнем углу клетки — конечное положение Робота, черными точками помечены клетки, которые надо закрасить.
Команды исполнителя Робот содержатся в модуле Robot:
Right – перемещает Робота вправо;
Left – перемещает Робота влево;
Up – перемещает Робота вверх;
Down – перемещает Робота вниз;
Paint – закрашивает текущую ячейку;
WallFromLeft – возвращает True если слева от Робота стена;
WallFromRight – возвращает True если справа от Робота стена;
WallFromUp – возвращает True если сверху от Робота стена;
WallFromDown – возвращает True если снизу от Робота стена;
FreeFromLeft – возвращает True если слева от Робота свободно;
FreeFromRight – возвращает True если справа от Робота свободно;
FreeFromUp – возвращает True если сверху от Робота свободно;
FreeFromDown – возвращает True если снизу от Робота свободно;
CellIsPainted – возвращает True если ячейка, в которой находится Робот, закрашена;
CellIsFree – возвращает True если ячейка, в которой находится Робот, не закрашена.
Для вызова задания для исполнителя Робот используется следующий шаблон программы:
uses Robot;
begin Task('c1');
end.
Здесь Task — процедура, содержащаяся в модуле Robot и вызывающая задание с указанным именем.
Имеются следующие группы заданий для исполнителя Робот:
– a – вводные задания;
– c – цикл с параметром;
– if – логические выражения;
– w – циклы с условием;
– сif – циклы + логические выражения;
– count – переменные-счетчики;
– cc – вложенные циклы;
– p – процедуры без параметров;
– pp – процедуры с параметрами.
Для создания стандартного поля размера 9 × 11 используется процедура StandardField без параметров, а для создания поля размера N x M — процедура Field(N,M). Робот при этом помещается в центр поля.
1) Створіть новий проект. Змініть значення властивості Caption форми, розмістіть на формі компоненти і налаштуйте їхні властивості згідно з рисунком. Текстове поле Edit1 призначене для введення кількості покупців; поле Memo1 — для виведення значень елементів масиву; список ListBox1 — для виведення результатів обчислень.
2) Опишіть змінні, необхідні для розв’язування задачі, як глобальні, тому що областю видимості для них є процедури обробки події обох кнопок:
3) Властивості ScrollBars елемента керування Memo1 задайте значення ssAutoHorizontal. Створіть процедуру обробки події для кнопки Заповнити масив.
4) Створіть процедуру обробки події для кнопки Обчислити денний прибуток. Результати обчислення виведіть у поле списку ListBox1.
5) Створіть процедуру обробки події для кнопки Знайти кількість чеків. Запишіть оператори для знаходження кількості елементів масиву, значення яких більші за середнє значення. Результати обчислень виведіть у поле списку ListBox1.
6) Перевірте роботу програми. Збережіть проект у папці Завдання_1.
Завдання 2.
У масиві А[1..10] переставити місцями елементи, що стоять на парних і непарних місцях: A[1] на A[2], ..., A[9] на A[10].
Розв'язання:
1) Створіть новий проект. Змініть значення властивості Captіon форми і додайте на форму кнопку Виконати перестановку (див. рисунок).
2) Розмістіть на формі компонент StringGrid і налаштуйте його властивості таким чином:
3) У процедурі обробки події OnCreate для форми запрограмуйте виведення індексів елементів масиву в зафіксований рядок заголовків стовпців.
4) У процедурі обробки події OnClick для кнопки Виконати перестановку запрограмуйте: а) заповнення масиву значеннями клітинок
таблиці StringGrid1; б) попарну перестановку елементів; в) виведення значень елементів масиву до таблиці StringGrid1.
5) Додайте на форму кнопку Обнулити елементи. У процедурі обробки події OnClick для цієї кнопки запрограмуйте реалізацію очищення вмсту таблиці StringGrid1.
6) Перевірте роботу програми. Збережіть проект у папці Завдання_2. Завершіть роботу за комп’ютером.
2. Домашнє завдання
Створіть програму для знаходження добутку від'ємних елементів заданої таблиці. (Див. попередній урок - Вправа 2)
Объяснение:
В версию Programming Taskbook для локально устанавливаемого PascalABC.NET (не сетевой версии) входит ГРИС Робот.
Исполнитель Робот - действует на прямоугольном клеточном поле. Между некоторыми клетками, а также по периметру поля находятся стены. Основная цель Робота — закрасить указанные клетки и переместиться в конечную клетку.
Исполнитель Робот и поле, на котором он работает, отображаются следующим образом:
Здесь большой желтый квадрат изображает Робота, маленький желтый квадрат в левом верхнем углу клетки — конечное положение Робота, черными точками помечены клетки, которые надо закрасить.
Команды исполнителя Робот содержатся в модуле Robot:
Right – перемещает Робота вправо;
Left – перемещает Робота влево;
Up – перемещает Робота вверх;
Down – перемещает Робота вниз;
Paint – закрашивает текущую ячейку;
WallFromLeft – возвращает True если слева от Робота стена;
WallFromRight – возвращает True если справа от Робота стена;
WallFromUp – возвращает True если сверху от Робота стена;
WallFromDown – возвращает True если снизу от Робота стена;
FreeFromLeft – возвращает True если слева от Робота свободно;
FreeFromRight – возвращает True если справа от Робота свободно;
FreeFromUp – возвращает True если сверху от Робота свободно;
FreeFromDown – возвращает True если снизу от Робота свободно;
CellIsPainted – возвращает True если ячейка, в которой находится Робот, закрашена;
CellIsFree – возвращает True если ячейка, в которой находится Робот, не закрашена.
Для вызова задания для исполнителя Робот используется следующий шаблон программы:
uses Robot;
begin Task('c1');
end.
Здесь Task — процедура, содержащаяся в модуле Robot и вызывающая задание с указанным именем.
Имеются следующие группы заданий для исполнителя Робот:
– a – вводные задания;
– c – цикл с параметром;
– if – логические выражения;
– w – циклы с условием;
– сif – циклы + логические выражения;
– count – переменные-счетчики;
– cc – вложенные циклы;
– p – процедуры без параметров;
– pp – процедуры с параметрами.
Для создания стандартного поля размера 9 × 11 используется процедура StandardField без параметров, а для создания поля размера N x M — процедура Field(N,M). Робот при этом помещается в центр поля.
Объяснение: