Курс лекций по дисциплине "Программирование и комьпютеры"

Автор работы: Пользователь скрыл имя, 11 Декабря 2013 в 22:12, курс лекций

Краткое описание

Delphi – это среда быстрой разработки, в которой в качестве языка про-граммирования используется язык Delphi. Язык Delphi – строго типизиро-ванный объектно-ориентированный язык, в основе которого лежит хорошо знакомый программистам Object Pascal. В настоящее время программистам стала доступна очередная версия пакета Delphi – Borland Delphi 7 Studio.

Вложенные файлы: 1 файл

лекции по проге.doc

— 748.50 Кб (Скачать файл)

В процессе работы программы  можно менять исходные данные в окнах Edit сколь угодно раз.

Процедура TForm1.Button2Click(Sender: TObject) образуется при двойном щелчке в поле имени события OnClick в окне Object Inspector (вкладка Events). Перед этим нужно выделить кнопку Завершить. Инструкция Form1.Close закрывает окно Form1. На этом программа прекращает свою работу.

 

Контрольные вопросы  к лекции 1

 

  1. Какой язык используется в Delphi в качестве языка программирования?
  2. Сколько окон появляется на экране после запуска Delphi?
  3. Перечислите окна, появляющиеся на экране после запуска Delphi.
  4. В каком окне следует набирать текст программы?
  5. С чего начинается работа над новым проектом?
  6. Что такое компонент Edit?
  7. Для чего используют компонент Label?
  8. Для чего использует компонент Button?
  9. Что нужно сделать, чтобы создать процедуру обработки события?
  10. Что нужно сделать, чтобы сохранить проект?

 

СИМВОЛЫ И СТРОКИ

Символы

Символы объявляются  в разделе описаний после слова 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:=dek+16;

      end;

      st:=st+#13;      // переход к новой строке экрана

   end;

   label1.Caption:=st;

end;


Строки

Тип строковой переменной – String. Переменная строкового типа должна быть описана в разделе объявления переменных. Инструкция объявления в общем виде выглядит так:

Имя: String;     или       Имя: String [длина];

где

    • Имя – имя переменной:
    • String – ключевое слово обозначения строкового типа:
  • длина – константа целого типа, которая задает максимально допустимую длину строки.

В тексте программы последовательность символов, являющаяся строкой, заключается в одинарные кавычки. Например, чтобы присвоить строковой переменной parole значение, нужно записать:   parole:= ‘Большой секрет’;   или    parole:= ‘2010’;

К строковым переменным и константам можно применить  операцию сложения, в результате выполнения которой получается новая строка. Например, в результате выполнения инструкций

first_name:= ‘Иван ’;

last_name:= ‘Иванов’;

ful_name:=first_name+last_name;

переменная ful_name получит значение ‘Иван Иванов’.

Некоторые функции, используемые при работе со строками:

Функция length

Эта функция возвращает длину строки. Значением функции (типа integer) является количество символов, из которых состоит строка.

Процедура delete

Позволяет удалить часть  строки. В общем виде обращение  к ней выглядит так:

delete(Строка,p,n)

где

    • Строка – переменная или константа строкового типа;
    • p – номер символа, с которого начинается удаляемая подстрока;
    • n – длина удаляемой подстроки.

Функция pos

Позволяет определить положение  подстроки в строке. В общем  виде выглядит так:

Pos(Подстрока, Строка);

где Подстрока – строковая константа или переменная, которую надо найти в строковой константе или переменной Строка.

Например, в результате выполнения инструкции

p:=pos(‘Пе’,’Санкт-Петербург’);

значение переменной р будет равно 7. Если в строке нет искомой подстроки, то значение функции pos будет равно нулю.

Функция copy

Позволяет выделить фрагмент строки. В общем виде выглядит так:

copy(строка,p,n);

где

    • Строка – выражение строкового типа;
    • 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,ffFixed,6,3)+#13+

                              'x2='+FloatToStrF(x2,ffFixed,6,3)

          else mes:='Действительных корней нет';

   label4.Caption:=mes;

end;

 

// нажатие кнопки Завершить

procedure TForm1.Button2Click(Sender: TObject);

begin

   Form1.Close;

end;


Контрольные вопросы  к лекции 2

  1. Перечислите, что может быть значением переменной символьного типа.
  2. может ли быть значением переменной символьного типа буква русского или латинского алфавита?
  3. может ли быть значением переменной символьного типа цифра?
  4. может ли быть значением переменной символьного типа знак препинания?
  5. может ли быть значением переменной символьного типа специальный символ?
  6. Где объявляются символы?
  7. Что такое строка?
  8. Где объявляются строковые переменные?
  9. Можно ли к строковым переменным и константам применить операцию сложения?

 

ОКНА ВВОДА  И ВЫВОДА


Программа может получить исходные данные из окна ввода. Окно ввода – это стандартное окно, которое появляется на экране в результате вызова функции InputBox. Значение функции InputBox – строка, которую ввел пользователь. В общем виде инструкция ввода данных с использованием функции InputBox выглядит так:

Переменная:= InputBox(Заголовок, Подсказка, Значение);

где

  • Переменная – переменная строкового типа, значение которой должно быть получено от пользователя;
  • Заголовок – текст заголовка окна ввода;
  • Подсказка – текст поясняющего сообщения;
  • Значение – текст, который будет находиться в поле ввода, когда окно ввода появится на экране.

В качестве примера приведена следующая инструкция:

s:=InputBox('Фунты-килограммы','Введите  вес в фунтах','');

Окно ввода, соответствующее  этой инструкции, приведено на рис. 8.

Следует обратить внимание на то, что  значение функции InputBox (string) строкового типа. Поэтому если программе нужно получить число, то введенная строка должна быть преобразована в число при помощи соответствующей функции преобразования. Например, фрагмент программы пересчета веса из фунтов в килограммы, обеспечивающий ввод исходных данных из окна ввода, может выглядеть так:

   s:=InputBox('Фунты-килограммы','Введите  вес в фунтах','');

   funt:=StrToFloat(s);

Программа может вывести результат  своей работы в окно сообщения (Рис. 9). Вывести на экран окно с сообщением можно при помощи процедуры ShowMessage или функции MessageDig. Процедура ShowMessage выводит на экран окно с текстом и командной кнопкой      ОК     . В общем виде инструкция вызова процедуры ShowMessage выглядит так: 

                                ShowMessage(сообщение);

Функция MessageDig более универсальна. Она позволяет поместить в окно с сообщением один из стандартных значков, «Внимание», задать количество и тип командных кнопок и определить, какую из кнопок нажал пользователь. В общем виде обращение к функции MessageDig выглядит так:

Выбор:= MessageDig(Сообщение, Тип, Кнопки, КонтекстСправки),

где

  • Сообщение – текст сообщения;
  • Тип – тип сообщения. Сообщение может быть информационным, предупреждающим или сообщением о критической ошибке. Каждому типу сообщения соответствует определенный значок. Тип сообщения задается именованной константой (табл. 2).

Таблица 2

Константа

Тип сообщения

Значок

mtMarning

Внимание

mtError

Ошибка

mtInformation

Информация

mtConfirmation

Подтверждение

mtCuston

Обычное

Без значка


 

  • Кнопки – список кнопок, отображаемых в окне сообщения. Список может состоять из нескольких разделенных запятыми именованных констант (табл. 3).

Таблица 3

Константа

Кнопка

 

Константа

Кнопка

mbYes

Yes

 

mbAbort

Abort

mbNo

No

 

mbRetry

Retry

mbOK

OK

 

mbIgnore

Ignore

mbCancel

Cancel

 

mbAll

All

mbHelp

Help

     

Информация о работе Курс лекций по дисциплине "Программирование и комьпютеры"