Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПО_ЛР17.doc
Скачиваний:
4
Добавлен:
27.09.2019
Размер:
3.3 Mб
Скачать

Примеры составления алгоритмов заданий и использования в реализованных программах операторов ввода-вывода

Задача 1

Даны два числа a и b. Получите число maxab, равное наибольшему из исходных. Если исходные числа равны, то maxab положить равным любому из них.

Решение

Для решения задачи нужно ввести значения переменных a и b, сравнить их значения и в зависимости от результата сравнения maxab положить равным а или b.

Обратите внимание на то, что вместе с результатом выводятся и исходные данные. Это позволит упростить тестирование и повысить наглядность вывода. Во втором варианте решения данной задачи мы не сравнивая присваиваем переменной-результату maxab первое «попавшееся» значение, а затем сравниваем это значение со вторым числом.

Схема алгоритма

maxab:=b

Да Нет

maxab:=a

Рис. 1.1 Схема алгоритма программы задачи 1 (вариант 1)

maxab:=b

maxab:=a

Да

Нет

Рис. 1.2 Схема алгоритма программы задачи 1 (вариант 2)

Текст программы

program lr1_1_1;

{ Даны два числа a и b. Получите число maxab, равное наибольшему из исходных.

Если исходные числа равны, то maxab положить равным любому из них.

Разработал учащий гр. ЭВС-31 Иванов И.И.}

uses

crt;

var

a,b,maxab:real;

begin

clrscr;

write(‘Введите два числа через пробел ’);

readln(a,b);

if a>=b then

maxab:=a

else

maxab:=b;

writeln(‘ a= ’,a:8:2,’ b= ‘b:8:2,’ maxab= ‘,maxab:8:2);

readkey;

end.

Основная часть программы, соответствующая второй схеме будет выглядеть так.

maxab:=a;

if maxab<b then

maxab:=b;

С точки зрения времени выполнения программы первый вариант предпочтителен, но на практике приходится пользоваться обоими. Например, если необходимо найти наибольший из трех, то какой бы вариант не был применен для нахождения наибольшего из первых двух, этот наибольший нужно сравнить с третьим, т.е. возникнет необходимость во втором варианте.

Контрольные примеры

Контрольный пример 1

Исходные данные: a=1, b=2; результат maxab=2.

Контрольный пример 2

Исходные данные: a=3, b=1; результат maxab=3.

Контрольный пример 3

Исходные данные: a=1, b=1; результат maxab=1.

Примечание. При записи результата мы не учитываем формат вывода его в программе.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]