Другие языки программирования и технологии

Pascal(поиск минимальных среди двух чисел). Какой метод лучше?

1) var
a, b: real;

begin
writeln('Введите два целых числа: ');
readln(a, b);
if a > b then
writeln('Максимальное число= ', a)
else writeln('Максимальное число=', b);
end.

2)var
a, b, max: real;

begin
write('Введите два числа ->');
readln(a, b);
max := a;
if a < b then max := b;
writeln('Максимальное число = ', max);
end.
ИМХО, лучше так:

#include <iostream>

int main() {
std::cout << "numbers? ";
double a, b;
std::cin >> a >> b;
std::cout << "max: " << std::max(a, b) << std::endl;
return 0;
}
Виталий Якунин
Виталий Якунин
93 315
Лучший ответ
У вас и там и там методы одинаковые просто код (логически) по разному прописан.
Uri-Xtreem Asan
Uri-Xtreem Asan
57 036
а) Метод то один везде.
б) Для чего лучше то ?

Первый вариант, как уже указывали, быстрее, но не запоминается результат. Если нужно запоминать результат, то он не лучше и не хуже, он просто не подходит и всё.
Роман Рамиев
Роман Рамиев
37 556
Оба хороши. Но в случае равенства оба НЕВЕРНЫ!
И еще - заявлено, что ищется минимальный среди двух чисел, а все примеры на максимальное? Это в программировании называется знаешь как?
Дейдара Цукури
Дейдара Цукури
35 996
Строго говоря, лучше первый - выполняется чуть быстрее.
*D
*** D.a.g
14 270
Второй определенно лучше.
Когда кто-нибудь читает вашу программу, он часто имеет очень туманное представление о её алгоритме. В данном примере обе реализации очевидны и логика практически одна и та же.

Но если усложнить Вашу программу в 40 раз, то постоянное повторение одной и той же части кода будет сбивать с толку. А теперь представьте, что Вам надо вернуть минимальное число. Это значит, что Вам придется исправлять строки в двух местах. А если их будет 40?
К тому же читать много раз одно и то же довольно утомительно.

Идём дальше.

max := a;
if a < b then max := b;

не так очевидно, как

if a > b then
max := a;
else
max := b;

Но это моё собственное мнение и только. К тому же на начальном этапе это не так уж и важно.

Вообще в программировании на протяжении всей истории его развития тенденция устранение дублирования. Грубо говоря: не надо писать одно и то же в разных местах, если этого можно избежатью.
Пока это Вам мало чего, наверное, скажет. Но будет весьма полезно понимать, что лучше написать что-то один раз вместо двух, стараться писать ясно и использовать функциональность, реализованную другими людьми, если есть такая возможность.
AR
Arslan Rasulow
9 996
методов много но самые лучшие это "пузырек" и поиск макс. мин.

Похожие вопросы