- •Лабораторная работа №1 Структура программы на языке Pascal и организация ввода-вывода данных
- •Var Form1: tForm1;
- •Var z: integer;
- •Лабораторная работа № 2
- •Var X,a,y:real;
- •Лабораторная работа № 3 Проект с несколькими формами
- •Form1 (Unit1)
- •Var Form1: tForm1; X,y,s,r,p:real;
- •Implementation
- •Form2 (Unit2)
- •Implementation
- •Лабораторная работа №4
- •Var X ,I: integer;
- •Inc (I);{следующий номер делителя}
- •Var m,n,nod,nok:word; I,k:word;
- •Лабораторная работа №5
- •Var I,p:integer;
- •Var a:array[size]of integer;
- •I,n,imax:size;
- •Var I:size;
- •Var n:integer;//количество строк в поле Memo1
- •Var I,p:integer;
- •Var a:array[size,size]of integer; m,n:size; max:integer;
- •Imax,jmax: size; I,j,k: integer;
- •Лабораторная работа №6
- •Var Str:string; otvet, I, n: integer;
- •Лабораторная работа №7
- •Var f: textfile; I: integer;
- •Var f: textfile; ch:string; I,s: integer;
- •Vozr,rost:integer;
- •Var st,r:string; rzap:sz; I:integer; f1:TextFile;
- •Лабораторная работа №8
- •Interface
- •Лабораторная работа №9
- •Var I,j,k:integer;
- •Var I,j:integer;
- •Var b:vec; n1,I,j,k:integer;
- •Приложение 1
- •Приложение 2
Var z: integer;
begin
randomize; if a[1]='П' then
Label1.Top:=random(Form1.Height-Label1.Height-10);
if j<20 then begin z:=random(7);
case z of
0:col:='r';
1:col:='b';
3:col:='g';
4:col:='y';
5:col:='m';
6:col:='l';
end;
end;
if (j > 245)or(j<20) then h:=-h;
case col of
'r': r:=j;
'g': g:=j;
'b': b:=j;
'y': begin r:=j; g:=j; end;
'm': begin r:=j; b:=j; end;
'l' : begin g:=j; b:=j; end;
end;
Label1.Caption:=
'('+IntToStr(r)+','+IntToStr(g)+','+IntToStr(b)+')';
Label1.Font.Color:= rgb(r,g,b); inc(j,h);end;
Пример 1.2 "Убегающая" кнопка
На форме появляется текст вопроса “Вы хотели бы закончить МИРЭА?” и две кнопки “Да”и “Нет”. При попытке нажать кнопку “Да” она убегает. При нажатии на кнопку “Нет” выводится текстовое сообщение “Ну и зря”.
Процедура обработки движения мыши
procedure TForm1.Button1MouseMove
(Sender: TObject; Shift: TShiftState; X,Y: Integer);
begin
if x<=Button1.Width div 2 then
Button1.Left := Button1.Left +1
else
Button1.Left:= Button1.Left -1;
if y<=Button1.Height div 2 then
Button1.Top := Button1.Top +1
else Button1.Top := Button1.Top -1;
if (Button1.Top < 0)or (Button1.Left < 0)or
(Button1.Top >Height-Button1.Height-15)
or (Button1.Left > Width-Button1.Width-15)
then with Button1 do begin
Left := 128; Top:=224;
end; end;
Процедура обработки щелчка на кнопке "Нет"
procedure TForm1.Button2Click(Sender: TObject);
begin
Label1.Caption := 'Ну и зря.';
Label1.Left := (Width-Label1.Width) div 2;
end;
Лабораторная работа № 2
Алгоритмизация и программирование решения задач
линейной и разветвляющейся структуры
с использованием одной формы
Цель работы:
изучить особенности ввода и вывода данных стандартных типов языка Object Pascal,
получить навыки написания программ линейной и разветвляющейся структуры (операторы IF и CASE),
получить навыки работы с функциями перевода из строкового представления данных в числовые и обратно.
Теоретическое введение
Вся информация, вводимая пользователем с клавиатуры через окно редактирования (объект Edit свойство Text или объект Memo свойства Lines), имеет текстовую или строковую форму представления. Например, введенное пользователем значение "123" программа воспринимает не как число 123, а как строку символов "123". Для дальнейшей обработки необходимо перевести число из строкового представления в целое (функция StrToInt) или вещественное (функция StrToFloat), аналогично при выводе информации надо воспользоваться функциями преобразования из числовой формы в строковую (функции StrToInt, StrToFloat).
Пример 2.1 Калькулятор
Постановка задачи: Даны два вещественных числа. Выполнить над ними выбранную пользователем арифметическую операцию, вывести результат.
Описание переменных: первый, второй операнды, результат - все вещественного типа.
Алгоритм:
Ввести значение первого операнда.
Перевести значение первого операнда из строкового представления в вещественное представление.
Ввести значение второго операнда.
Перевести значение второго операнда из строкового представления в вещественное представление.
Обработать выполнение выбранной пользователем арифметической операции.
Для операции "деление", проверить не равно ли нулю значение второго операнда, если его значение равно нулю, то вывести сообщение об ошибке.
Перевести результат из вещественной формы представления в строковую форму.
Вывести результат.
Процедура обработки щелчка на кнопке "Сложить":
procedure TForm1.Button1Click(Sender: TObject);
begin
edit3.Text:=floattostr(strtofloat(edit1.text)+strtofloat(edit2.text));
end;
Процедура обработки щелчка на кнопке "Вычесть"
procedure TForm1.Button2Click(Sender: TObject);
begin
edit3.Text:=floattostr(strtofloat(edit1.text)-strtofloat(edit2.text));
end;
Процедура обработки щелчка на кнопке "Умножить"
procedure TForm1.Button3Click(Sender: TObject);
begin
edit3.Text:= floattostr(strtofloat(edit1.text)*strtofloat(edit2.text));
end;
Процедура обработки щелчка на кнопке "Разделить"
procedure TForm1.Button4Click(Sender: TObject);
begin
if edit2.text <> '0' then
edit3.Text := floattostr(strtofloat(edit1.text) / strtofloat(edit2.text))
else
edit3.text:= 'Ошибка. Деление на нуль';
end;
Пример 2.2 Вычисление функции
Вычислить значение функции , где
Описание переменных:
-
Имя
Тип
Семантика
x
a
y
вещественный
вещественный
вещественный
аргумент
параметр
значение функции
Вид формы с компонентами:
Процедура обработки щелчка на кнопке “Расчет”
procedure TForm1.Button1Click(Sender: TObject);