- •Объектно-ориентированное программирование на языке Delphi
- •Алгоритмы и исполнители
- •Основные понятия объектно-ориентированного программирования
- •TButton
- •Проверочная работа №1. Алгоритмы и исполнители. Основные понятия ооп
- •Форма и размещение на ней простейших объектов
- •Лабораторная работа №1
- •Расположение объектов на форме
- •Лабораторная работа №2
- •Дополнительные возможности при работе с объектами Edit, Memo. Кнопка с изображением BitBtn
- •Лабораторная работа №3. MainMenu - главное меню формы
- •Проверочная работа №2. Работа с компонентами.
- •Арифметические операции в ооп
- •Лабораторнаяработа № 4
- •Лабораторная работа №5. Алгоритм решения математический задачи на языке.
- •Стандартные арифметические функции
- •Лабораторная работа № 6
- •Флажки (CheckBox) и переключатели (RadioButton). Условный оператор
- •Лабораторная работа №7
- •Проверочная работа №3. Условный оператор.
- •Оператор варианта
- •Лабораторная работа №8
- •Работа со строками в объектно-ориентированном программировании. Оператор цикла с параметрами
- •Лабораторная работа №9
- •Программирование циклических алгоритмов. Циклы «до» и «пока»
- •Лабораторная работа №10
- •Проверочная работа №4. Строки. Циклы
- •Рассмотрение дополнительных компонентов для ввода/вывода строк
- •Оператор присоединения (With)
- •Графические компоненты
- •Лабораторная работа №11
- •Работа с таблицами
- •Лабораторная работа №12
- •Массивы
- •Лабораторная работа №13
- •Проверочная работа №5. Массивы
- •Обработка событий мыши. Регулировка прозрачности формы
- •Процедуры и функции вызова диалоговых окон
- •Лабораторная работа №14
- •Работа с датой и временем
- •Лабораторная работа №15
- •Контрольная работа
- •Список рекомендуемой литературы
Лабораторная работа №5. Алгоритм решения математический задачи на языке.
Алгоритм решения задачи имеет 3 основные части:
ввод данных
Например:
a:=StrToInt(Memo1.text); // занести в переменную а содержимое многострочного редактора Memo1, переведенное из строкового в числовую форму для выполнения математических действий.
b:=StrToInt(Edit1.text); // занести в переменную b содержимое однострочного редактора Edit1, переведенное из строкового в числовую форму для выполнения математических действий.
проведение определенных действий, требуемых в условии задачи.
вывод результата или сообщения о проведенном анализе данных.
Вывод результата: c:=a+b; // ответ с
Memo1.text:=IntToStr(c); // вывод результата решения примера в многострочный редактор Memo1 путем перевода ответа из числовой в строковую форму.
Вывод сообщения: Edit1.text:=’Задача решена успешно!’; // вывод сообщения о проведенном анализе данных в многострочный редактор Edit1. Перевод сообщения из числовой в строковую форму НЕ ОСУЩЕСТВЛЯЕТСЯ!
Стандартные арифметические функции
-
abs(x)
Модуль х
cos(x)
Косинус х
exp(x)
Экспонента
frac(x)
Дробная часть от х
int(x)
Целая часть от х
random
псевдослучайное число [0,1)
random(x)
псевдослучайное число [0,x)
sin(x)
Синус х
sqr(x)
квадрат х
sqrt(x)
корень квадратный
Возведение в степень: xy = exp(y*ln(x))
Для работы с арифметическими функциями необходимо выполнять простое правило:
1. Для вывода значения функции х2 нужно описать две переменные x и y целого типа.
2. Ввести х с клавиатуры. Например, x:=StrToInt(Edit1.Text);
3. В программе y:=sqr(x);
4. Вывести значение у. Например, Memo1.Text:=IntToStr(y);
Лабораторная работа № 6
Для работы с арифметическими функциями необходимо выполнять простое правило:
1. Для вывода значения функции х2 нужно описать две переменные x и y целого типа.
2. Ввести х с клавиатуры. Например, x:=StrToInt(Edit1.Text);
3. В программе y:=sqr(x);
4. Вывести значение у. Например, Memo1.Text:=IntToStr(y);
Задания для самостоятельной работы:
1.
2.
3. Дано число. Вывести на экран его целую и дробную части.
4. Даны числа a, b, c. Возвести в третью степень a, в квадрат произведения b на с и найти модуль суммы этих чисел.
Флажки (CheckBox) и переключатели (RadioButton). Условный оператор
Флажки в среде программирования используются для выбора собственного решения (да/нет или да/нет/не уверен). В последнем случае флажок устанавливается, но выглядит блекло. Это решение отражается в свойстве State компонента, доступном как для чтения, так и для записи. State может быть 3 типов:
Установлен (Checked)
Не установлен (Unchecked)
Не уверен (Alignment)
Переключатели предназначены для выбора одного из нескольких взаимоисключающих решений. На форме помещаются, по меньшей мере, два таких компонента. Они могут иметь только два состояния, определяемых свойством Checked.
Условный оператор позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие. То есть Условный оператор - средство ветвления вычислительного процесса.
Структура условного оператора в общем виде:
IF <УСЛОВИЕ> THEN <ОПЕРАТОР №1> ELSE <ОП.2>;
где IF, THEN, ELSE - ЗАРЕЗЕРВИРОВАННЫЕ СЛОВА (если, то, иначе)
<условие> - произвольное выражение логического типа,
<операторы> - любые операторы, т.е. действия.
Далее можно разъяснить алгоритм работы условного оператора:
Вычисляется <условие>.
Если оно TRUE (истина), то выполняется оператор 1, а оператор 2 пропускается.
Если результат - FALSE (ложь), наоборот <оп.1> пропускается, а выполняется <оп.2>.
Рассмотрим структуру неполного ветвления. Запишем ее в общем виде:
IF <УСЛОВИЕ> THEN <ОПЕРАТОР>;
Условный оператор может быть использован для решения математических задач. Для облегчения работы с оператором на начальном этапе работы с ним, рассмотрим таблицу:
-
<Условие>
<Оператор>
a>0
k:=0; k:=k+1: //количество
a<0
s:=0; s:=s+a; //сумма
(a mod 2=0) а нацело делится на 2, а - четное
p:=1; p:=p*a; //произведение
…
…
В структуру условного оператора
IF <УСЛОВИЕ> THEN <ОПЕРАТОР №1> ELSE <ОП.2>;
вместо <УСЛОВИЕ> и <ОПЕРАТОР> вставляем нужные поля таблицы. В предлагаемые столбцы, можно вводить какие угодно условия и операторы, необходимые для решения задачи.
Запомним основные правила для работы с условным оператором:
перед else ; никогда не ставится;
если необходимо использовать составное условие, то каждое подусловие записывается в скобках через логические операции «и» (and) или «или» (or).
Например: Даны числа x, y, z. Найти количество чисел, которые больше 5 и меньше 10.
Var x, y, z, k : integer;
Обработаем событийную процедуру:
{раздел ввода данных}
x := StrToInt(Edit1.Text);
y := StrToInt(Edit2.Text);
z := StrToInt(Edit3.Text);
k := 0;
{раздел основного алгоритма}
if (x>5) and (x<10) then k := k+1;
if (y>5) and (y<10) then k := k+1;
if (z>5) and (z<10) then k := k+1;
{раздел вывода результата}
Memo1.Text := IntToStr(k);
Если на одной из ветвей находятся несколько операторов необходимо использовать операторные скобки begin … end.
Например: Увеличить значение t и m на единицу, если k – четное и уменьшить в обратном случае.
Var t, m, k : integer;
Рассмотрим алгоритм записи условия:
… if (k mod 2 = 0) then
Begin
t := t+1; m := m+1;
end // перед else ; не ставится!!!
else
Begin
t := t-1; m := m-1;
end; …
Другая форма записи увеличения на единицу числа: inc(<число>);
для уменьшения - pred(<число>); тогда решение представленного выше примера может быть записано следующим образом:
… if (k mod 2 = 0) then
Begin
inc (t); inc (m);
end
else
Begin
pred(t); pred (m); end; …