
- •Объектно-ориентированное программирование на языке 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
- •Контрольная работа
- •Список рекомендуемой литературы
Лабораторная работа №7
Флажки. При активизации двойным щелчком мыши CheckBox1 появится процедура TForm1.CheckBox1Click(Sender: TObject);
Задача: При установке флажка текст в Метке1 должен становиться жирным.
Procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if checkbox1.Checked=true
then Label1.font.Style:=font.style+[fsbold]
else Label1.font.Style:=font.style-[fsbold]
end;
То есть, если (if) флажок установлен, (then) текст в Метке1 должен становиться жирным, (else) а при повторном нажатии на флажок – обычным.
Рассмотрим применение таблицы для первого случая, когда необходимо текст в многострочном редакторе сделать жирным при установке флажка и обычным при повторном нажатии.
<Условие> |
<Оператор> |
CheckBox1.checked |
Memo1.Font.Style:=Memo1.Font.Style+[fsBold] |
|
Memo1.Font.Style:=Memo1.Font.Style-[fsBold] |
Вставив условия и операторы в шаблон получим:
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if CheckBox1.checked then
Memo1.Font.Style:=Memo1.Font.Style+[fsBold]
else
Memo1.Font.Style:=Memo1.Font.Style-[fsBold]
end;
Переключатели. Задача: При установке переключателей текст в Метке1 должен становиться желтым либо красным.
procedure TForm1.RadioButton1Click(Sender: TObject);
begin
if RadioButton1.Checked=true then Label1.Font.Color:=clyellow
end;
procedure TForm1.RadioButton2Click(Sender: TObject);
begin
if RadioButton2.Checked=true then Label1.font.Color:=clred
end;
Задания для самостоятельной работы:
Создать простейший текстовый процессор, содержащий переключатели цвета шрифта, флажки для определения стиля.
Вычислить наибольшее (max) из двух введенных чисел а и b.
Вычислить наименьшее (min) из трех чисел a, b, c.
Даны числа x, y, z. Найти количество чисел больших нуля.
Даны числа x, y, z. Найти сумму чисел меньших нуля и произведение чисел больших нуля.
Даны числа a, b, c. Вычислить модуль чисел меньших нуля, квадрат чисел не равных нулю и корень из чисел больших нуля.
Найти значение выражения z=3x-4, 0<x<=1и z=|x-x2|, 1<x<=10
s=max(x,y), x<0 s=min(x,y), x>=0
Известно, что из четырех чисел а1, а2, а3, а4 одно отлично от трех других, равных между собой. Вывести это число.
Даны два действительных числа x и y, не равные друг другу. Меньшее из этих чисел заменить половиной их суммы.
Придумать и решить несколько задач по данной теме.
Проверочная работа №3. Условный оператор.
Вариант №1.
Для чего необходим условный оператор?
________________________________________________________________________________________________________________________________
Переведите на язык программирования следующие высказывания
Если a больше b тогда c присвоить 1.
___________________________________________________________
Если a равно 5 тогда c присвоить b, иначе c присвоить b2.
______________________________________________________________________________________________________________________
Если a меньше 0 тогда b присвоить 5, c присвоить 10, иначе c присвоить 5 и d присвоить b.
______________________________________________________________________________________________________________________
Если 1>a>3 тогда c присвоить модуль a иначе c присвоить корень квадратный из b.
______________________________________________________________________________________________________________________
Напишите алгоритм нахождения наибольшего из 2 чисел.
________________________________________________________________________________________________________________________________
Напишите алгоритм нахождения суммы положительных чисел из a, b, c.
________________________________________________________________________________________________________________________________________________________________________________________________
Как ввести целое число в однострочное поле?
a:=IntToStr(Edit1.text);
a:=StrToInt(Memo1.text);
a:=IntToStr(Memo1);
a:=StrToInt(Edit1.text);
Выберите синтаксически правильную запись (может быть несколько вариантов ответа)
If a>b then c:=d; else c:=b;
If a>b then c:=5 and d:=7;
If a>b then c:=5+s;
If a<10 then c:=1 else c:=0;
If a=1 and b=6 then k:=k+1;
If (a=5) or (b=5) then c:=5;
If a≠10 then s:=s+b;
If a≥1 then
begin
c:=4; b:=4;
else
c:=5; b:=5;
end;
if a>0 then
begin
c:=1; d:=1;
end else k:=1;
Вариант №2*.
Приведите формат записи условного оператора (общий вид). ________________________________________________________
Переведите на язык программирования следующие высказывания
Если a равно b тогда c присвоить их сумму.
___________________________________________________________
Если a не равно b тогда c присвоить квадрат a иначе c присвоить корень квадратный из b.
___________________________________________________________
Если a меньше 10 тогда b присвоить модуль d, c присвоить квадрат a иначе c присвоить корень квадратный из b и d присвоить сумму a и b.
______________________________________________________________________________________________________________________
Если 1>a>10 тогда c присвоить верхнюю границу интервала иначе c присвоить нижнюю границу интервала.
___________________________________________________________
Напишите алгоритм нахождения наименьшего из 3 чисел.
________________________________________________________________________________________________________________________________
Напишите алгоритм нахождения количество положительных чисел и произведение отрицательных из x, y, z.
________________________________________________________________________________________________________________________________________________________________________________________________
Как вывести вещественное число в многострочное поле?
Memo1.Text:=IntToStr(a);
Edit1.Text:=StrToInt(a);
Memo1:=a;
Memo1.Text:=FloatToInt(a);
Memo1.Text:=FloatToStr(a);
Edit1.Text:=StrToFloat(a);
Выберите синтаксически правильную запись (может быть несколько вариантов ответа)
If x>y then c:=2; else c:=5;
If a>b then z:=2 and z:=2;
If a>1 then c:=sqr(s);
If a<=10 then c:=10 else c:=0;
If (a=1) and (b=6) then k:=k+1; z:=2; else k:=1; z:=z+2;
If (a=5) or (b=5) then c:=5;
If a≠10 then s:=sqrt(w);
If a≥1 then
begin c:=4; b:=4; end;
else c:=5; b:=5; end;
if a>0 then
begin c:=1; d:=1; end
else begin k:=1; z:=1 end;