Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб -1.doc
Скачиваний:
93
Добавлен:
16.02.2016
Размер:
648.19 Кб
Скачать

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

Задания для самостоятельной работы:

  1. Создать простейший текстовый процессор, содержащий переключатели цвета шрифта, флажки для определения стиля.

  1. Вычислить наибольшее (max) из двух введенных чисел а и b.

  2. Вычислить наименьшее (min) из трех чисел a, b, c.

  3. Даны числа x, y, z. Найти количество чисел больших нуля.

  4. Даны числа x, y, z. Найти сумму чисел меньших нуля и произведение чисел больших нуля.

  5. Даны числа a, b, c. Вычислить модуль чисел меньших нуля, квадрат чисел не равных нулю и корень из чисел больших нуля.

  6. Найти значение выражения z=3x-4, 0<x<=1и z=|x-x2|, 1<x<=10

  7. s=max(x,y), x<0 s=min(x,y), x>=0

  8. Известно, что из четырех чисел а1, а2, а3, а4 одно отлично от трех других, равных между собой. Вывести это число.

  9. Даны два действительных числа x и y, не равные друг другу. Меньшее из этих чисел заменить половиной их суммы.

Придумать и решить несколько задач по данной теме.

Проверочная работа №3. Условный оператор.

Вариант №1.

  1. Для чего необходим условный оператор?

________________________________________________________________________________________________________________________________

  1. Переведите на язык программирования следующие высказывания

    1. Если a больше b тогда c присвоить 1.

___________________________________________________________

    1. Если a равно 5 тогда c присвоить b, иначе c присвоить b2.

______________________________________________________________________________________________________________________

    1. Если a меньше 0 тогда b присвоить 5, c присвоить 10, иначе c присвоить 5 и d присвоить b.

______________________________________________________________________________________________________________________

    1. Если 1>a>3 тогда c присвоить модуль a иначе c присвоить корень квадратный из b.

______________________________________________________________________________________________________________________

  1. Напишите алгоритм нахождения наибольшего из 2 чисел.

________________________________________________________________________________________________________________________________

  1. Напишите алгоритм нахождения суммы положительных чисел из a, b, c.

________________________________________________________________________________________________________________________________________________________________________________________________

  1. Как ввести целое число в однострочное поле?

    1. a:=IntToStr(Edit1.text);

    2. a:=StrToInt(Memo1.text);

    3. a:=IntToStr(Memo1);

    4. a:=StrToInt(Edit1.text);

  2. Выберите синтаксически правильную запись (может быть несколько вариантов ответа)

    1. If a>b then c:=d; else c:=b;

    2. If a>b then c:=5 and d:=7;

    3. If a>b then c:=5+s;

    4. If a<10 then c:=1 else c:=0;

    5. If a=1 and b=6 then k:=k+1;

    6. If (a=5) or (b=5) then c:=5;

    7. If a≠10 then s:=s+b;

    8. If a≥1 then

begin

c:=4; b:=4;

else

c:=5; b:=5;

end;

    1. if a>0 then

begin

c:=1; d:=1;

end else k:=1;

Вариант №2*.

    1. Приведите формат записи условного оператора (общий вид). ________________________________________________________

  1. Переведите на язык программирования следующие высказывания

    1. Если a равно b тогда c присвоить их сумму.

___________________________________________________________

    1. Если a не равно b тогда c присвоить квадрат a иначе c присвоить корень квадратный из b.

___________________________________________________________

    1. Если a меньше 10 тогда b присвоить модуль d, c присвоить квадрат a иначе c присвоить корень квадратный из b и d присвоить сумму a и b.

______________________________________________________________________________________________________________________

    1. Если 1>a>10 тогда c присвоить верхнюю границу интервала иначе c присвоить нижнюю границу интервала.

___________________________________________________________

  1. Напишите алгоритм нахождения наименьшего из 3 чисел.

________________________________________________________________________________________________________________________________

  1. Напишите алгоритм нахождения количество положительных чисел и произведение отрицательных из x, y, z.

________________________________________________________________________________________________________________________________________________________________________________________________

  1. Как вывести вещественное число в многострочное поле?

    1. Memo1.Text:=IntToStr(a);

    2. Edit1.Text:=StrToInt(a);

    3. Memo1:=a;

    4. Memo1.Text:=FloatToInt(a);

    5. Memo1.Text:=FloatToStr(a);

    6. Edit1.Text:=StrToFloat(a);

  2. Выберите синтаксически правильную запись (может быть несколько вариантов ответа)

    1. If x>y then c:=2; else c:=5;

    2. If a>b then z:=2 and z:=2;

    3. If a>1 then c:=sqr(s);

    4. If a<=10 then c:=10 else c:=0;

    5. If (a=1) and (b=6) then k:=k+1; z:=2; else k:=1; z:=z+2;

    6. If (a=5) or (b=5) then c:=5;

    7. If a≠10 then s:=sqrt(w);

    8. If a≥1 then

begin c:=4; b:=4; end;

else c:=5; b:=5; end;

    1. if a>0 then

begin c:=1; d:=1; end

else begin k:=1; z:=1 end;