- •Лабораторная работа №17 изучение интегрированной среды pascal: Организация ввода-вывода
- •Порядок выполнения лабораторной работы
- •Что нужно знать для выполнения работы
- •Полный условный оператор
- •If логическое_выражение then оператор1
- •Вложенные условные операторы
- •Мин.Значение .. Макс.Значение
- •Примеры программ с условным оператором
- •Примеры составления алгоритмов заданий и использования в реализованных программах операторов ввода-вывода
- •Содержание пояснительной записки
- •Контрольныe вопросы
- •Список использованной и рекомендуемой литературы
- •Приложение 1.
- •Приложение 2 Основные директивы компилятора Паскаля
- •Приложение 3 Основные сообщения об ошибках Паскаля
Примеры составления алгоритмов заданий и использования в реализованных программах операторов ввода-вывода
Задача 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.
Примечание. При записи результата мы не учитываем формат вывода его в программе.