Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
2. Организуйте контроль ввода в элемент «редактор», так что если вводимая строка не соответствует требованиям, то в окне сообщений выводится сообщение об ошибке, очищается строка «однострочный редактор».
3. Документируйте сеанс работы с приложением: запоминайте введенные исходные данные и полученный результат в элементе управления «многострочный редактор».
Рекомендации к выполнению
1. Для организации управляющей структуры программ используйте операторы While, Repeat.
2. Для преобразования введенных значений из строкового формата в числовой, а результатов – из числового формата в строковый формат используйте библиотечные подпрограммы StrToInt, StrToFloat, IntToStr, FloatToStr модуля Sysutils.
3. Организуйте контроль ввода данных в элемент «редактор». Для этого используйте блок try…finally и процедуру ShowMessage модуля Dialogs.
4. Чтобы компонент был доступен только для чтения, необходимо в его свойство ReadOnly занести значение True.
5. Чтобы на компонент нельзя было установить фокус ввода с помощью клавиши Tab, необходимо занести в его свойство TabStop значение False.
6. Документирование сеанса осуществляйте с помощью компонента «многострочный редактор», как показано в примере.
7. Разработанные приложения сохраняйте в отдельной папке.
Варианты заданий
1. Выведите заданный разряд целого числа. Разряды нумеруйте справа налево, начиная с единицы. Для решения используйте операции mod, div. Решите задачу дважды: первый раз – используя оператор while, второй раз – оператор repeat.
2. Выведите заданный разряд дробной части действительного числа. Разряды нумеруйте от десятичной точки направо, начиная с единицы. Для решения используйте функции Int, Frac. Решите задачу дважды: первый раз – используя оператор while, второй раз – оператор repeat.
3. Вычислите и выведите сообщение о четности введенного целого числа. Операции mod, div и функцию Odd не использовать. Решите задачу дважды: первый раз с помощью оператора while, второй раз – оператора repeat.
4. Вычислите и выведите сообщение о кратности пары введенных целых чисел. Операции mod, div и функцию Odd не использовать. Решите задачу дважды: первый раз с помощью оператор while, второй раз – оператора repeat.
5. Вычислите и выведите число Фибоначчи по его номеру, который вводится пользователем. Ряд чисел 1, 1, 2, 3, 4, 8, 13, … называются числами Фибоначчи. Каждое число называется «фибом». Таким образом, первый «фиб» или «фиб(1)» – это 1, «фиб(2)» – это 1, «фиб(3)» – это 2 и т. д. Ряд строится на основе того, что каждый последующий «фиб» является суммой двух предыдущих, т. е. фиб(8) = 21.
6. Напишите программу, которая вычисляет наибольший общий делитель (НОД) двух натуральных чисел.
Пример 1
Пусть требуется заполнить таблицу из двух колонок: в первую заносится графический символ, во вторую – код символа. Для решения этой задачи можно построить приложение, состоящее из одной формы следующего вида (рис. 5):

Рис. 5
Для хранения таблицы использован компонент «многострочный редактор», расположенный в правой части формы. Ввод символа и отображение его кода осуществляется в компоненты «однострочный редактор». Для переноса введенного символа и его кода из компонентов «однострочный редактор» в строку компонента «многострочный редактор» используется компонент «командная кнопка» с подписью «Запомнить». Для удаления последней строки из компонента «многострочный редактор» используется компонент «командная кнопка» с подписью «Удалить».
Первую строку компонента «многострочный редактор», содержащую текст «Символ Код», можно сформировать на этапе визуального проектирования формы. Для этого необходимо:
• выделить на форме компонент Memo1;
• в инспекторе объектов выделить свойство Lines и кликнуть указателем мыши на кнопке с тремя точками;
• в появившемся окне редактора ввести необходимый текст.
Чтобы можно было просматривать строки текста компонента «многострочный редактор», которые не помещаются на экране, необходимо в свойстве ScrollBars установить значение ssVertical.
Разработанной форме соответствует модуль, текст которого приведен ниже.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
Memo1: TMemo;
Button2: TButton;
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{Private declarations}
public
{Public declarations}
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
Edit2.Text:= IntToStr(Ord(Key)); //код введенного символа заносится в редактор
Edit1.Clear;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Lines. Add(Edit1.Text+' '+Edit2.Text); //добавляется строка в компонент Memo1
Edit1.SetFocus;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if Memo1.Lines. Count>1 then //удаляем из Memo1 последнюю строку, если строк больше одной
Memo1.Lines. Delete(Memo1.Lines. Count-1);
Edit1.SetFocus;
end;
end.
Пример 2
Пусть требуется подсчитывать количество значащих десятичных разрядов в целом неотрицательном числе и заполнять таблицу из двух колонок: в первую заносится введенное целое, во вторую – количество разрядов. Для решения этой задачи можно построить приложение, состоящее из одной формы следующего вида (рис. 6):

Рис. 6
Для хранения таблицы использован компонент «многострочный редактор», расположенный в правой части формы. Ввод целого и отображение количества разрядов в нем осуществляется в компоненты «однострочный редактор». Для переноса введенного целого и количества разрядов в нем из компонентов «однострочный редактор» в строку компонента «многострочный редактор» используется компонент «командная кнопка» с подписью «Запомнить». Для удаления последней строки из компонента «многострочный редактор» используется компонент «командная кнопка» с подписью «Удалить».
Первую строку компонента «многострочный редактор», содержащую текст «Символ Код», можно сформировать на этапе визуального проектирования формы. Для этого необходимо:
• выделить на форме компонент Memo1;
• в инспекторе объектов выделить свойство Lines и кликнуть указателем мыши на кнопке с тремя точками;
• в появившемся окне редактора ввести необходимый текст.
Чтобы можно было просматривать строки текста компонента «многострочный редактор», которые не помещаются на экране, необходимо в свойстве ScrollBars установить значение ssVertical.
Разработанной форме соответствует модуль, текст которого приведен ниже.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
Button1: TButton; // кнопка добавить
Memo1: TMemo;
Button2: TButton; // кнопка удалить
Button3: TButton;// кнопка вычислить
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Edit1Exit(Sender: TObject);
private
{Private declarations}
public
{Public declarations}
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
//добавляется строка к списку строк компонента Memo1
Memo1.Lines. Add(Edit1.Text+' '+Edit2.Text);
Edit1.SetFocus;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if Memo1.Lines. Count>1 then begin
//удаляем из Memo1 последнюю строку, если строк больше одной
Memo1.Lines. Delete(Memo1.Lines. Count-1);
end;
Edit1.SetFocus;
end;
procedure TForm1.Button3Click(Sender: TObject);
var k, n: Integer;
begin
n:= StrToInt(Edit1.Text);
k:= 0;
while n>0 do begin//вычисляем число разрядов
n:= n div 10;
inc(k);
end;
Edit2.Text:= IntToStr(k);
end;
procedure TForm1.Edit1Exit(Sender: TObject);
var a:Cardinal;
begin
try
a:= StrToInt(Edit1.Text);
except
on EConvertError do begin
showMessage('Ошибка ввода');
Edit1.SetFocus
end;
end;
end;
end.
Содержание отчета
1.Задание.
2.Текст программы на Object Pascal.
3.Тестовые наборы данных для тестирования приложения.
Контрольные вопросы
1. Назовите синтаксические правила написания оператора While.
2. Укажите порядок, в котором выполняется оператор While.
3. Как поместить в do= часть несколько операторов?
4. Что можно размещать между зарезервированными словами While и do?
5. Нарисуйте управляющую структуру, соответствующую оператору While, и укажите порядок выполнения узлов.
6. Назовите синтаксические правила написания оператора Repeat.
7. Укажите порядок, в котором выполняется оператор Repeat.
8. Что можно размещать между зарезервированными словами Repeat и until?
9. Нарисуйте управляющую структуру, соответствующую оператору Repeat, и укажите порядок выполнения узлов.
10. Охарактеризуйте множество значений типа Boolean, покажите, как записываются значения этого типа в тексте программы.
11. Перечислите операции, определенные на значениях типа Boolean, и поясните правила их выполнения.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |


