Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование часть1.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
656 Кб
Скачать
☆

3.2. Задачи к пройденной теме

  1. Получить максимальное число из трех целых чисел.

Составим структурную схему решения задачи.

Рис. 3.2. Схема алгоритма нахождения максимального значения из трех целых чисел.

Алгоритм достаточно прозрачен. Сравниваем значения переменных X и Y, выбираем из них большее и сохраняем значение большей переменной в переменной с именем MAX, затем значение переменной Z сравниваем со значением переменной MAX и опять выбираем большее значение.

Запишем текст программы.

PROGRAM max_XYZ;

USES CRT;

VAR

X,Y,Z: integer; {входные переменные}

MAX: integer; {выходная переменная}

BEGIN

clrscr;

writeln('введите значения переменных X, Y, Z');

readln(X, Y, Z);

IF X > Y THEN

MAX := X

ELSE

MAX := Y;

IF Z > MAX THEN

MAX := Z; {обратите внимание: служебное слово ELSE отсутствует}

writeln('максимальное значение = ', MAX);

writeln('Нажмите любую клавишу для выхода...');

readln;

END.

  1. Даны целые числа X, Y, Z.

    1. Вычислить MAX (X+Y+Z, XYZ).

    2. Вычислить MIN (X, Y, X-Y).

PROGRAM MAX_2;

USES CRT;

VAR

X,Y,Z: integer;

MAX: integer;

BEGIN

clrscr;

writeln('введите значения переменных X, Y, Z');

readln(X, Y, Z);

IF X + Y + Z > X * Y * Z THEN

BEGIN

MAX := X + Y + Z;

writeln('Сумма чисел равна ', MAX);

END {обратите внимание на отсутствие ';' }

ELSE

BEGIN

MAX := X * Y * Z;

writeln('Произведение чисел равно ', MAX);

END; {а вот тут ';' необходимо для завершения ветвления}

writeln('Нажмите любую клавишу для выхода...');

readln;

END.

PROGRAM MIN_3;

USES CRT;

VAR

X,Y: integer;

MIN: integer;

BEGIN

clrscr;

writeln('введите значения переменных X, Y');

readln(X, Y);

IF X < Y THEN

MIN := X {';' ставить не нужно, иначе ветка ELSE не воспримится}

ELSE

MIN := Y; {а тут ';' означает конец ветвления IF}

IF X - Y < MIN THEN

MIN := X - Y;

writeln('наименьшее число ', MIN);

writeln('Нажмите любую клавишу для выхода...');

readln;

END.

  1. Даны действительные числа a, b, с. Проверить выполняются ли неравенства a < b < c. Напечатать на экране соответствующее сообщение.

PROGRAM N3;

USES CRT;

VAR

a,b,c: real;

BEGIN

clrscr;{очистка экрана}

writeln('введите значения переменных a, b, c');

readln(a, b, c);

IF ( a < b) AND ( b < c) THEN { A < B < C }

writeln('условие выполнено')

ELSE

writeln('условие не выполнено');

writeln('Нажмите любую клавишу для выхода...');

readln;

END.

  1. Даны два целых числа. Если первое число больше второго то заменить его их разностью, в противном случае — суммой, второе число не изменять.

PROGRAM N4;

USES CRT;

VAR

a,b: integer;

BEGIN

clrscr;

writeln('введите значения переменных a и b');

readln(a, b);

IF a > b THEN

a := a - b

ELSE

a := a + b;

writeln('a=', a , ' b=' , b);

writeln('Нажмите любую клавишу для выхода...');

readln;

END.

3.3. Задачи для самостоятельного решения

  1. Даны три действительных числа a, b и c. Определить, можно ли построить треугольник с такими длинами сторон.

  2. Верно ли, что для заданного четырехзначного числа выполняется соотношение: сумма первой и последней цифры равна разности второй и третьей цифры?

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

  4. Проверить, является ли год вашего рождения високосным, если да, то подсчитать количество уже прошедших високосных годов, если нет, то подсчитать количество високосных годов до 3000г.