Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка Программирование на Delphi (2009.12.1....doc
Скачиваний:
7
Добавлен:
27.10.2018
Размер:
801.79 Кб
Скачать
    1. Контрольные вопросы

  1. Зачем нужен оператор присваивания?

  2. Что такое совместимость типов данных?

  3. Когда выполняется преобразование типов?

Лабораторная работа №3

  1. Оператор ветвления if

Оператор ветвления if — одно из самых популярных средств, изменяющих естественный порядок выполнения операторов программы. Вот его общий вид:

if <условие> then

<оператор 1>

else

<оператор 2>;

Условие — это выражение булевского типа, оно может быть простым или сложным. Сложные условия образуются с помощью логических операций и операций отношения. Обратите внимание, что перед словом else точка с запятой не ставится.

Логика работы оператора if очевидна: выполнить оператор 1, если условие истинно, и оператор 2, если условие ложно. Поясним сказанное на примере:

program Console;

{$APPTYPE CONSOLE}

uses

SysUtils;

var

A, B, C: Integer;

begin

A := 2;

B := 8;

if A > B then

C := A

else

C := B;

Writeln('C=', C);

Writeln('Press Enter to exit...');

Readln;

end.

В данном случае значение выражения А > В ложно, следовательно на экране появится сообщение C=8.

У оператора if существует и другая форма, в которой else отсутствует:

if <условие> then <оператор>;

Логика работы этого оператора if еще проще: выполнить оператор, если условие истинно, и пропустить оператор, если оно ложно. Поясним сказанное на примере:

program Console;

{$APPTYPE CONSOLE}

uses

SysUtils;

var

A, B, C: Integer;

begin

A := 2;

B := 8;

C := 0;

if A > B then C := A + B;

Writeln('C=', C);

Writeln('Press Enter to exit...');

Readln;

end.

В результате на экране появится сообщение С=0, поскольку выражение А > В ложно и присваивание С := А + В пропускается.

Один оператор if может входить в состав другого оператора if. В таком случае говорят о вложенности операторов. При вложенности операторов каждое else соответствует тому then, которое непосредственно ему предшествует. Например:

program Console;

{$APPTYPE CONSOLE}

uses

SysUtils;

var

A: Integer;

begin

Readln(A);

if A >= 0 then

if A <= 100 then

Writeln('A попадает в диапазон 0 - 100.')

else

Writeln('A больше 100.')

else

Writeln('A меньше 0.');

Writeln('Press Enter to exit...');

Readln;

end.

Конструкций со степенью вложенности более 2–3 лучше избегать из-за сложности их анализа при отладке программ.

    1. Задачи по лабораторной работе №3

Задача 1.

Даны три действительных числа X, Y, Z. Найти максимальное из этих трех чисел.

Задача 2.

Даны три действительных числа X, Y, Z. Найти минимальное из этих трех чисел.

Задача 3.

Даны три действительных числа X, Y, Z. Удвоить эти числа, если X > Y > Z , и заменить их абсолютными значениями, если это не так.

Задача 4.

Даны два действительных числа. Вывести первое число, если оно больше второго, и оба числа, если это не так.

Задача 5.

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

Задача 6.

Даны три действительных числа. Выбрать из них те, которые принадлежат интервалу (1, 3).

Задача 7.

Даны действительные числа X, Y (X ≠ Y). Меньшее из этих двух чисел заменить их полусуммой, а большее - их удвоенным произведением.

Задача 8.

Даны три действительные числа. Возвести в квадрат те из них, значения которых неотрицательны.

Задача 9.

Даны два действительных числа X, Y (X ≠ Y). Найти большее из них, если X отрицательное число, и меньшее, если это не так.

Задача 10.

Точка задана координатами X, Y. Определить, находится ли эта точка внутри круга радиусом R с центром в начале координат.

Задача 11.

Даны действительные числа А, В, С и D. Если А ≤ В ≤ С ≤ D, то каждое число заменить наибольшим из них; если А < В < С < D, то числа оставить без изменения; в противном случае все числа заменяются их квадратами.

Задача 12.

Даны действительные числа X, Y. Если X и Y отрицательны, то каждое значение заменить его модулем; если отрицательно только одно из них, то оба значения увеличить на 0.5; если оба значения неотрицательны и ни одно из них не принадлежит отрезку [0.5, 2.0], то оба значения уменьшить в 10 раз; в остальных случаях X и Y оставить без изменения.

Задача 13.

Даны действительные положительные числа X, Y, Z. Выяснить, существует ли треугольник с длинами сторон X, Y, Z.

Задача 14.

Определить, верно ли, что при делении неотрицательного целого числа А на положительное целое число В получается остаток, равный одному из заданных чисел R или S.

Задача 15.

Дано натуральное число N (N ≤ 100), определяющее возраст человека (в годах). Дать для этого числа наименование «год», «года» или «лет»: например, 1 год, 23 года, 45 лет и т.д.

Задача 16.

Найти значение функции, вычисляемое по формуле:

у = cos2 x при 0 < x < 2, иначе у = 1 - sin x2 .

Задача 17.

Перераспределить значения переменных X и Y так, чтобы в Х оказалось большее из этих значений, а в Y - меньшее.

Задача 18.

Переменной K присвоить номер четверти плоскости, в которой находится точка с координатами X и Y (XY ≠ 0).

Задача 19.

По номеру Y (Y > 0) некоторого года определить номер его столетия (учесть, что, к примеру, началом XX столетия был 1901, а не 1900 год).

Задача 20.

Для заданных x, у, z найти:

Контрольный пример: x = 3, у = 4, z = 5.

Ответ: 0,3952.