Автор работы: Пользователь скрыл имя, 11 Декабря 2013 в 22:12, курс лекций
Delphi – это среда быстрой разработки, в которой в качестве языка про-граммирования используется язык Delphi. Язык Delphi – строго типизиро-ванный объектно-ориентированный язык, в основе которого лежит хорошо знакомый программистам Object Pascal. В настоящее время программистам стала доступна очередная версия пакета Delphi – Borland Delphi 7 Studio.
В процессе работы программы можно менять исходные данные в окнах Edit сколь угодно раз.
Процедура TForm1.Button2Click(Sender: TObject) образуется при двойном щелчке в поле имени события OnClick в окне Object Inspector (вкладка Events). Перед этим нужно выделить кнопку Завершить. Инструкция Form1.Close закрывает окно Form1. На этом программа прекращает свою работу.
Контрольные вопросы к лекции 1
Символы объявляются в разделе описаний после слова var. Инструкция объявления символьной переменной в общем виде выглядит так:
Имя: Char;
Значением переменной символьного типа может быть любой отображаемый символ:
Переменная типа Char может получить значение в результате выполнения инструкции присваивания. Например, в результате выполнения инструкций
с1:=‘*’;
c2:=c1;
переменная с1 получает значение присваиванием константы, а переменная с2 – присваиванием значения переменной с1.
Переменные типа Char можно сравнивать друг с другом или с символьной константой. Можно написать:
‘0’ < ‘1’ < ‘2’ < … < ‘9’ < ‘a’ < ‘b’ < ‘c’ < ‘d’ < …< ‘z’ < ‘A’ < ‘B’ < ‘C’ < … < ‘Z’ < ‘а’ < ‘б’ < ‘в’ < … < ‘я’ < ‘А’ < ‘Б’ < ‘В’ < … < ‘Я’
В тексте программы вместо символа можно указать его код, подставив перед числом оператор #. Такой способ записи используется для записи служебных символов, которые во время набора программы нельзя ввести с клавиатуры. Например, часто используемый при записи сообщений символ «новая строка» записывается так: #13 (код клавиши Enter). Часто используются функции Chr и Ord. Значением функции Chr является символ, код которого указан в качестве параметра. Например, в результате выполнения инструкции c:=Chr(32) переменной с будет присвоено значение пробел. Функция Ord позволяет определить код символа, который передается ей в качестве параметра. Например, в результате выполнения инструкции k:=Ord(‘*’) переменная k будет содержать число 42 – код символа *.
Программа, текст которой приведен в листинге 2, выводит таблицу кодировки букв русского алфавита. Основную работу выполняет процедура обработки события OnActivate, которая формирует и выводит в поле Label1 таблицу. Это событие происходит при активизации формы приложения, и поэтому процедура TForm1.FormActivat выполняется автоматически, сразу после появления формы на экране. Вид окна программы до и в процессе работы представлен на рис. 5.
procedure TForm1.FormActivate(Sender: TObject); Листинг 2
var
st:string; // таблица формируется как строка символов
dek:byte; // код символа
i,j:integer; // номер строки и столбца таблицы
begin
for i:=0 to 15 do // шестнадцать строк
begin
dek:=i+192; // 192 - код русской буквы А
for j:=1 to 4 do // 4 столбца
begin
st:=st+chr(dek)+'-'+IntToStr(
dek:=dek+16;
end;
st:=st+#13; // переход к новой строке экрана
end;
label1.Caption:=st;
end;
Тип строковой переменной – String. Переменная строкового типа должна быть описана в разделе объявления переменных. Инструкция объявления в общем виде выглядит так:
Имя: String; или Имя: String [длина];
где
В тексте программы последовательность символов, являющаяся строкой, заключается в одинарные кавычки. Например, чтобы присвоить строковой переменной parole значение, нужно записать: parole:= ‘Большой секрет’; или parole:= ‘2010’;
К строковым переменным и константам можно применить операцию сложения, в результате выполнения которой получается новая строка. Например, в результате выполнения инструкций
first_name:= ‘Иван ’;
last_name:= ‘Иванов’;
ful_name:=first_name+last_
переменная ful_name получит значение ‘Иван Иванов’.
Некоторые функции, используемые при работе со строками:
Функция length
Эта функция возвращает длину строки. Значением функции (типа integer) является количество символов, из которых состоит строка.
Процедура delete
Позволяет удалить часть строки. В общем виде обращение к ней выглядит так:
delete(Строка,p,n)
где
Функция pos
Позволяет определить положение подстроки в строке. В общем виде выглядит так:
Pos(Подстрока, Строка);
где Подстрока – строковая константа или переменная, которую надо найти в строковой константе или переменной Строка.
Например, в результате выполнения инструкции
p:=pos(‘Пе’,’Санкт-Петербург’)
значение переменной р будет равно 7. Если в строке нет искомой подстроки, то значение функции pos будет равно нулю.
Функция copy
Позволяет выделить фрагмент строки. В общем виде выглядит так:
copy(строка,p,n);
где
Например, в результате выполнения инструкции
st:= ‘Инженер Иванов’;
fam:=copy(st,9,6);
значением переменной fam, будет строка ‘Иванов’.
Для закрепления материала предлагается самостоятельно составить программу для вычисления корней квадратного уравнения ax2 + bx + c = 0.
Форма имеет вид, показанный на рис. 6.
В процессе работы программы необходимо сначала вычислить дискриминант по формуле b2 – 4ac. Затем проверить его знак: если дискриминант меньше нуля, в поле Label4 должна быть выведена надпись: Действительных корней нет, в противном случае в это поле должны быть выведены значения корней уравнения, вычисленные по следующим формулам (Рис. 7):
Если вы затрудняетесь в составлении проекта, посмотрите Листинг 3.
Примечание:
Наличие кнопки Завершить не обязательно. Завершить работу программы можно, закрыв окно Form1 вручную.
// нажатие кнопки Выполнить Листинг 3
procedure TForm1.Button1Click(Sender: TObject);
var
a,b,c,d:real; // коэффициенты уравнения и дискриминант
x1,x2:real; // корни уравнения
rez:boolean; // логическая переменная принимает значения true (истина) или false (ложь)
mes:string; // сообщение
begin
a:= StrToFloat(Edit1.Text); b:= StrToFloat(Edit2.Text);
c:= StrToFloat(Edit3.Text); d:=sqr(b)-4*a*c;
if d<0 then rez:=false
else begin
rez:=true;
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
end;
if rez then mes:='Корни уравнения:
'+#13+'x1='+FloatToStrF(x1,
'x2='+FloatToStrF(x2,ffFixed,
else mes:='Действительных корней нет';
label4.Caption:=mes;
end;
// нажатие кнопки Завершить
procedure TForm1.Button2Click(Sender: TObject);
begin
Form1.Close;
end;
Контрольные вопросы к лекции 2
Программа может получить исходные данные из окна ввода. Окно ввода – это стандартное окно, которое появляется на экране в результате вызова функции InputBox. Значение функции InputBox – строка, которую ввел пользователь. В общем виде инструкция ввода данных с использованием функции InputBox выглядит так:
Переменная:= InputBox(Заголовок, Подсказка, Значение);
где
В качестве примера приведена следующая инструкция:
s:=InputBox('Фунты-килограммы'
Окно ввода, соответствующее этой инструкции, приведено на рис. 8.
Следует обратить внимание на то, что значение функции InputBox (string) строкового типа. Поэтому если программе нужно получить число, то введенная строка должна быть преобразована в число при помощи соответствующей функции преобразования. Например, фрагмент программы пересчета веса из фунтов в килограммы, обеспечивающий ввод исходных данных из окна ввода, может выглядеть так:
s:=InputBox('Фунты-килограммы'
funt:=StrToFloat(s);
Программа может вывести результат своей работы в окно сообщения (Рис. 9). Вывести на экран окно с сообщением можно при помощи процедуры ShowMessage или функции MessageDig. Процедура ShowMessage выводит на экран окно с текстом и командной кнопкой ОК . В общем виде инструкция вызова процедуры ShowMessage выглядит так:
Функция MessageDig более универсальна. Она позволяет поместить в окно с сообщением один из стандартных значков, «Внимание», задать количество и тип командных кнопок и определить, какую из кнопок нажал пользователь. В общем виде обращение к функции MessageDig выглядит так:
Выбор:= MessageDig(Сообщение, Тип, Кнопки, КонтекстСправки),
где
Таблица 2
Константа |
Тип сообщения |
Значок |
mtMarning |
Внимание |
|
mtError |
Ошибка |
|
mtInformation |
Информация |
|
mtConfirmation |
Подтверждение |
|
mtCuston |
Обычное |
Без значка |
Таблица 3
Константа |
Кнопка |
Константа |
Кнопка | |
mbYes |
Yes |
mbAbort |
Abort | |
mbNo |
No |
mbRetry |
Retry | |
mbOK |
OK |
mbIgnore |
Ignore | |
mbCancel |
Cancel |
mbAll |
All | |
mbHelp |
Help |
Информация о работе Курс лекций по дисциплине "Программирование и комьпютеры"