![](/user_photo/2706_HbeT2.jpg)
- •Лабораторная работа №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
Form1 (Unit1)
Var Form1: tForm1; X,y,s,r,p:real;
Implementation
uses Unit2; {$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
//Сумма X+Y
begin S:=x+y; end;
procedure TForm1.Button2Click(Sender: TObject);
//Ввод X,Y
begin x:=StrToFloat(Edit1.text);
y:=StrToFloat(Edit2.text) end;
procedure TForm1.Button3Click(Sender: TObject);
//ВызовForm2
begin Button3.Enabled:=True;
Form2.Show; Button5.SetFocus end;
procedure TForm1.Button4Click(Sender: TObject);
//Разность X-Y
begin R:=x-y end;
procedure TForm1.Button5Click(Sender: TObject);//Вывод R,S
begin Form2.Edit1.Text:=FloatToStr(R);
Form2.Edit2.Text:=FloatToStr(S); end;
end.
Form2 (Unit2)
Implementation
uses Unit1; {$R *.DFM}
procedure TForm2.Button2Click(Sender: TObject); //Выход
begin Form1.Close end;
procedure TForm2.Button1Click(Sender: TObject);
//Произведение X*Y
begin P:=x*y; end;
procedure TForm2.Button3Click(Sender: TObject); //Вывод P
begin Edit3.Text:=FloatToStr(P); end;
end.
Сохранить все сделанное командой File/Save All.
Запустить программу (Run). При успешном запуске программы на экране появится окно Form1 с компонентами:
В окна редакторов Edit1 и Edit2 ввести значение переменных X и Y. Замечание: в числах с дробной частью вводить символ “.”, а не “,”.
Нажать на кнопки в следующей последовательности:
“Ввод X, Y”;
“Сумма X+Y”;
“Разность X-Y”;
“Вывод R, S”;
“Вызов Form2”;
Активизировать щелчком мыши Form2 и нажать на кнопки в следующей последовательности:
“Умножение X*Y”;
“Вывод P”;
Вид Form2 после выполнения:
Просмотреть результаты.
Для завершения работы нажать кнопку “Выход”.
Лабораторная работа №4
Алгоритмизация и программирование решения типовых задач циклической структуры
Цель работы:
изучить основные типы циклов процедурного программирования,
получить навыки программирования вложенных циклов.
Ниже рассмотрены примеры стандартных задач, для нахождения решения которых используются все виды циклов. Для каждого примера приведены постановка задачи, вид формы с компонентами, процедуры обработки событий щелчка на кнопке "Расчет" или "Выполнить", содержащих решение задачи. Процедура обработки события щелчка на кнопке "Выход" является аналогичной примерам, приведенным в предыдущих лабораторных работах, и поэтому здесь не рассматривается.
Пример 4.1. Поиск всех делителей целого числа
Постановка задачи: дано натуральное число, найти все его делители. Вид формы с компонентами:
Процедура обработки щелчка на кнопке "Расчет"
procedure TForm1.Button1Click(Sender:TObject);
Var X ,I: integer;
pol : integer; {половина исследуемого числа}
tec : integer; {текущее значение делителя}
begin ListBox1.Items.Clear; {очистка списка}
x := abs (StrToInt(Edit1.Text));
pol := x div 2; {половина числа}
tec := 2; {минимальный делитель} i := 0;
while tec <= pol do
begin
if x mod tec=0 then begin
Inc (I);{следующий номер делителя}
ListBox1.Items.Add(IntToStr(i)+
’-й делитель равен’+IntToStr(tec)); end;
inc(tec); end;
if I=0 then ListBox1.Items.Add(‘простое число’);
end;
Пример 4.2
Нахождение наибольшего общего делителя (НОД) и
наименьшего общего кратного (НОК) двух чисел
Вид формы с компонентами:
Процедура обработки щелчка на кнопке “Расчет
procedure TForm1.Button1Click(Sender: TObject);