Размещение многострочного окна вывода (ТМето)

 

Для вывода результатов работы программы обычно используется текстовое окно, которое представлено компонентом (ТМето), Выберите в меню компонент Tmemo и поместите его на форму. С помощью мыши отрегулируйте его размеры и местоположение. После установки с помощью инспектора свойства ScrollBars - SSBoth в окне появятся вертикальная и горизонтальная полосы прокрутки.

В тексте программы появилась переменная Memo1 типа TМemo. Информация, которая отображается построчно в окно типа TMemo находится в массиве строк Memol.Lines. Каждая строка имеет тип String.

Для очистки окна используется метод Memol.Clear. Для того чтобы добавить новую строку в окно, используется метод Memo1.Lines.Add (переменная типа String).

Если нужно вывести число, находящееся в переменной действительного или целого типа, то его надо предварительно преобразовать к типу String и добавить в массив Memo1.Lines. Например, если переменная u := 100 целого типа, то метод Memo1.Lines.Add (‘Значение u == ’+IntToStr(u)) сделает это и в окне появится строка “Значение u =100''. Если переменная u :=-256,38666 действительная, то при использовании метода Меmо1.Lines.Add (‘Значение u=' +FloatToStrF(u.fffixed,8,2)) будет выведена строка "Значение u= -256.39". При этом под все число отводится восемь позиций, из которых две позиции занимает его дробная часть.

Если число строк в массиве Memo1 превышает размер окна, то для просмотра всех строк используется вертикальная полоса прокрутки. Если длина строки Memo1 превосходит количество символов в строке окна, то в окне отображается только начало строки. Для просмотра всей строки используется горизонтальная полоса прокрутки.

 

Написание программы обработки события создания формы (FormCreate)

 

При запуске программы возникает событие “создание формы” (OnCreate). Создадим обработчик этого события, который заносит начальные значения переменных x, y, z в соответствующие окна TEdit, а в окне Tmemo помешает строку с указанием номера группы и фамилию студента. Для этого дважды щелкнем мышью на любом свободном месте формы. На экране появится текст, в котором автоматически внесен заголовок процедуры - обработчика события создания формы:

Procedure TForml.FormCreate(Sender:TObJect);

Между begin...end записывается текст программы (см. пример, расположенный ниже).

 

Написание программы обработки события нажатия кнопки

(ButtonClick)

 

Поместите на форму кнопку TButton, которая находится на странице Standard панели стандартных компонентов. С помощью инспектора объектов измените заголовок (Caption) – Button1 на слово “Выполнить” или другое по вашему желанию. Отрегулируйте положение и размер кнопки.

После этого два раза щелкните мышью на кнопке, появится текст программы, дополненной заголовком процедуры обработчика события - нажатия кнопки^

Procedure Tform1.ButtonClick(Sender: TObject);

 

 

Запуск программы

Запустить программу можно нажав Run в главном меню Run, или клавишу F9, или пиктограмму. При этом происходит трансляция и, если нет ошибок, компоновка программы и создание единого загружаемого файла с расширением .exe. На экране появляется активная форма программы (фиг.1.2)

 
 

Работа с программой происходит следующим образом. Нажмите (щелкните мышью) кнопку “Выполнить”. В окне Memo1 появляется результат. Измените исходные значения x, y, z в окнах Edit и снова нажмите кнопку “Выполнить” - появится новые результаты. Завершить работу программы можно нажав или Program Reset в главном меню Run, или кнопку на форме.


Текст программы имеет вид:

 

Unit temal;

interface

uses

Windows, Messages, SysUlits., Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type

TFjrm1=class(Nform)

Labell: Tlabel;

Edit1:Tedit;

Label2: Tlabel;

Edit2: Tedit;

Label3: Tlabel;

Edit3: TEdIt;

Labe4: Tlabel;

Memo1:Tmemo;

Button:Tbutton;

procedure FormCreate(Sender: TObject);

procedure Вutton 1 Click( Sender TObject):

private

{Private declarations}

public

{ Public declarations}

end;

var

Form1: Tforrn1;

implementation

{SR*DFM}

procedure Tform1. FormCreate( Sender: TObject);

begin

Edit1.Text := '3,4'; // Начальное значение Х

Edit2.Text := '0,74': // Начальное значение Y

EditЗ.Техt := '19,43'; // Начальное значение Z

Memo1.Clear; //Очистка окна редактора Memo1

// Вывод строки в многострочный редактор Memol

Memol.Llnes.Add('Лa6.раб.N1. Ст.гр. 740102 Иванов А.А.');

end;

procedure Tform1.Button1Click(Sender: TObject);

var

x, y, z, a, b, c, u: extended;

begin

x : = StrToFloat(Edit1.Техt);

//Считывается значение X

Memo1.Lines.Aad(‘Х = '+Edit1.Text);

// Вывод Х в окно Memol

Y := StrToFloat(Edlt2.Text);

// Считывается значение Y

Memol.Lines.Add(‘Y ='+Edit2.Text);

// Вывод Y в окно Memol

Z := StrToFloat(Edit3.Text);

// Считывается значение Z

Memol.Lines.Add(‘Z = '+Edit3.Text);

// Вывод Z в окно Memol

// Вычисляем арифметическое выражение

a := Sqr(Sin(x+y)/Cos(x+y));

Ь := Exp(y-z);

C := Sqrt(Cos(Sqr(x))+Sln(Sqr(z)));

//Выводим результат в окно Memo1

Memo1.Lines.Add(‘Результат U:= ’+FloatToStrF(u,fffxed,8,3));

end;

end.

Индивидуальные задания

Предварительные замечания. По указанию преподавателя в соответствии с номером бригады выберете свое индивидуальное задание. Уточните условие задания и исходные данные. В соответствии с этим установите необходимое количество окон Edit, тексты заголовков на форме, размеры шрифтов, а также типы переменных и функции преобразования при вводе и выводе результатов.

Прочтите в приложении описание меню File, Edit, Run, а также компонентов TEdit, Tmemo, TButton. С помощью инспектора объектов измените цвет формы, шрифт выводимых символов.

 

Вычислить:

1.

При x=14.26, y =-1.22, z=3.5 t=0.564849.

2.

При x=-4.5, y=0.75 ,z=0.845 u=-55.6848.

3.

При x=3.74 , y=-0.825, z=0.16 , v=1.0553.

4. = .

При х=0.4 104 ,y=-0.875, z=-0.475 10 3 w=1.9873.

5. = +sin arctg(z).

При х=-15.24б, у=4.642 10 , z=20,001 102 а=-182.036.

6. .

При х=16.55 10 , у=-2,75, z=0,15 -38.902.

7. = 5arctg .

При х=0.1722, у=6.33, z=3,25 10 =-172.025,

8. .

При x=-2.235 10 , y=2.23, z=15.221 =39.374.

9. .

При x=1.825 10 , y=18.225, z=-3.298 10 , =1.2131.

10. .

При x=3.981 10 , y=-1.625 10 , z=0.512 =1.26185

11. .

При x=6.251, y=0.827, z=25.001 =0.7121

12. .

При х=3.251, у=0.325, z=0.466 l0 c=4.025.

13. .

Пpи x=17.421, y=10.365 10 , z=0.828 105 0.33056.

14. .

При x=12.3 , y=15.4, z=0.252 10 82.8257.

15. .

При x=2.444, y=0.869 , z=-0.13 h=-0.49871.

16. Вывести на экран 1 или 0 в зависимости от того, имеют ли три заданных целых числа одинаковую четность или нет.

17. Найти сумму цифр заданного четырехзначного числа.

18. Определить число, полученное выписыванием в обратном порядке цифр заданного трехзначного числа.

19, Вывести на экран 1 или 0 в зависимости от того, равна ли сумма двух первых цифр заданного четырехзначного числа сумме двух его последних цифр.

20. Вывести на экран 1 или 0 в зависимости от того, равен ли квадрат заданного трехзначного числа кубу суммы цифр этого числа.

21. Вывести на экран 1 или 0 в зависимости от того, есть ли среди первых трех цифр дробной части заданного положительного вещественного числа цифра ноль.

22. Вывести на экран 1 или 0 в зависимости от того, есть ли среди цифр заданного трехзначного числа одинаковые.

23. Присвоить целой переменной третью от конца цифру в записи положительного целого числа .

24. Присвоить целой переменной первую цифру из дробной части положительного вещественного числа.

25. Целой переменной S присвоить сумму цифр трехзначного целого числа .

26. Идет я секунда суток. Определить, сколько полных часов ( ) и полных минут (m) прошло к этому моменту.

27. Определить угол f между положениями часовой стрелки в начале суток и ее положением в h часов, m минут и s секунд (0<=h<=11,0<=m,s<=59).

28. Определить h-полное количество часов и m-полное количество минут, прошедших от начала суток до того момента, когда часовая стрелка повернулась на f градусов (0<=f<360)

29. Пусть k - целое от 1 до 365. Присвоить целой переменной п значение 1,2.. 6 или 7 в зависимости от того, на какой день недели (понедельник, вторник,… суббота или воскресенье) приходится -й день не високосного года, в котором 1 января -понедельник.

30. Поменять местами значения целых переменных x и y, не используя дополнительные переменные.


Работа 2.