Особенности решения простейших математических задач на объектно-ориентированном языке программирования Delphi

Разделы: Информатика


Особенности решения простейших математических задач на объектно-ориентированном языке программирования Delphi

Довольно часто при написании программ необходимо решать арифметические задачи разного уровня. Объектно-ориентированные языки программирования позволяют реализовать практически любую математическую задачу. Рассмотрим основные принципы решения данной проблемы. Для этого необходимо использовать не числа, как в математике, а переменные – символы, которые будут обозначать цифры в «общем» виде.

Существуют специальные знаки, позволяющие записывать арифметические действия:

  1. := - присваивание (А:=В).
  2. операции языка: + - сложение (А:=В+С)
    * - умножение
    ? - вычитание
    / - деление
  3. ; - символ для разделения инструкций языка (операторов)

Для решения арифметических задач необходимо описывать все используемые переменные:

Var a, b, c, dude: integer; //целые числа

x, y, z, max: real; // вещественные числа

Т.е. пример a+b=c мы будем решать следующим образом:

1. Заведем 3 переменные a, b, c. (Var a,b,c: integer;)

2. Запись c:=a+b будет означать, что результат суммы двух чисел, лежащих в ячейках a и b будет записан в переменную с. Обратим внимание, что в языке программирования Delphi запись с=а+b будет означать, что сумма чисел а и b равна с.

Теперь, если нам необходимо решить пример 2+4=6, при запуске программы мы в переменную a положим 2, в b – 4 и программа выдаст ответ 6.

Используя для ввода данных в языке программирования Delphi строковые поля (например, классов TEdit, TMemo), для решения математических задач необходимо использовать функции:

StrToInt (<переменная>) (перевод из строки в целый тип данных);

StrToFloat (<переменная>) (перевод из строки в вещественный тип данных);

Для вывода результата нужно обратно переводить из числового в строчный тип с помощью функций:

IntToStr (<переменная>) (перевод числа из целого в строчный тип);

FloatToStr(<переменная>) (перевод числа из вещественного в строчный тип);

Рассмотрим алгоритм решения арифметической задачи:

1. ввод данных

Например:

a:=StrToInt(Memo1.text); {занести в переменную а содержимое многострочного редактора Memo1, переведенное из строкового в числовую форму для выполнения математических действий}.

b:=StrToInt(Edit1.text); {занести в переменную b содержимое однострочного редактора Edit1, переведенное из строкового в числовую форму для выполнения математических действий}.

2. проведение определенных действий, требуемых в условии задачи.

Например, нахождение суммы а и b - c:=a+b; {ответ с}

3. вывод результата или сообщения о проведенном анализе данных.

Вывод результата:

Memo1.text:=IntToStr(c); {вывод результата решения примера в многострочный редактор Memo1 путем перевода ответа из числовой в строковую форму}.

Вывод сообщения:

Edit1.text:=’Задача решена успешно!’; {вывод сообщения о проведенном анализе данных в многострочный редактор Edit1}. В данном случае перевод сообщения из числового типа в строковую форму НЕ ОСУЩЕСТВЛЯЕТСЯ!

Решим простейший пример: найти сумму трех чисел, введенных с клавиатуры.

  1. Описываем после служебного слова VAR несколько переменных целого типа для удобства решения: Var a, b, c, s: integer;
  2. На форму заводим 3 метки: Label1, Label2, Label3. У каждой из них в свойстве Caption написать соответственно а=, в=, с=.
  3. Наносим однострочные элементы управления Edit1, Edit2, Edit3. В них будем вводить числа. Для этого в свойстве Text нужно удалить надписи.
  4. Заводим кнопку, которую называем Cумма.
  5. Наносим элемент управления Memo1 и удаляем все надписи в многострочном редакторе. Для этого в окне Свойства объекта выбираем свойство Lines и удаляем все надписи в нем.

Примерно ваша форма должна выглядеть так:

6. Активируем кнопку. Обрабатываем событие OnClick (по щелчку). Появляется процедура TForm1.Button1Click(Sender: TObject);
7. В теле процедуры присваиваем заведенным переменным значения строк следующим образом a:=StrToInt(Edit1.text); (аналогично для b и c)
8. Вычисляем сумму s:=a+b+c;
9. Выводим результат в Memo1. Для этого записываем Memo1.Text:=IntToStr(s);

Окно программного кода Unit1 в «общем» виде будет иметь следующий вид:

Таким образом, рассмотрены особенности решения простейших математических задач на объектно-ориентированном языке программирования Delphi. Представленные материалы были апробированы в Городском Дворце Творчества Детей и Молодежи г. Оренбурга.