Лабораторная работа №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 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; 10>0> |