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.
Другие языки программирования и технологии
Pascal(поиск минимальных среди двух чисел). Какой метод лучше?
ИМХО, лучше так:
#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;
}
#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;
}
У вас и там и там методы одинаковые просто код (логически) по разному прописан.
а) Метод то один везде.
б) Для чего лучше то ?
Первый вариант, как уже указывали, быстрее, но не запоминается результат. Если нужно запоминать результат, то он не лучше и не хуже, он просто не подходит и всё.
б) Для чего лучше то ?
Первый вариант, как уже указывали, быстрее, но не запоминается результат. Если нужно запоминать результат, то он не лучше и не хуже, он просто не подходит и всё.
Оба хороши. Но в случае равенства оба НЕВЕРНЫ!
И еще - заявлено, что ищется минимальный среди двух чисел, а все примеры на максимальное? Это в программировании называется знаешь как?
И еще - заявлено, что ищется минимальный среди двух чисел, а все примеры на максимальное? Это в программировании называется знаешь как?
Строго говоря, лучше первый - выполняется чуть быстрее.
Второй определенно лучше.
Когда кто-нибудь читает вашу программу, он часто имеет очень туманное представление о её алгоритме. В данном примере обе реализации очевидны и логика практически одна и та же.
Но если усложнить Вашу программу в 40 раз, то постоянное повторение одной и той же части кода будет сбивать с толку. А теперь представьте, что Вам надо вернуть минимальное число. Это значит, что Вам придется исправлять строки в двух местах. А если их будет 40?
К тому же читать много раз одно и то же довольно утомительно.
Идём дальше.
max := a;
if a < b then max := b;
не так очевидно, как
if a > b then
max := a;
else
max := b;
Но это моё собственное мнение и только. К тому же на начальном этапе это не так уж и важно.
Вообще в программировании на протяжении всей истории его развития тенденция устранение дублирования. Грубо говоря: не надо писать одно и то же в разных местах, если этого можно избежатью.
Пока это Вам мало чего, наверное, скажет. Но будет весьма полезно понимать, что лучше написать что-то один раз вместо двух, стараться писать ясно и использовать функциональность, реализованную другими людьми, если есть такая возможность.
Когда кто-нибудь читает вашу программу, он часто имеет очень туманное представление о её алгоритме. В данном примере обе реализации очевидны и логика практически одна и та же.
Но если усложнить Вашу программу в 40 раз, то постоянное повторение одной и той же части кода будет сбивать с толку. А теперь представьте, что Вам надо вернуть минимальное число. Это значит, что Вам придется исправлять строки в двух местах. А если их будет 40?
К тому же читать много раз одно и то же довольно утомительно.
Идём дальше.
max := a;
if a < b then max := b;
не так очевидно, как
if a > b then
max := a;
else
max := b;
Но это моё собственное мнение и только. К тому же на начальном этапе это не так уж и важно.
Вообще в программировании на протяжении всей истории его развития тенденция устранение дублирования. Грубо говоря: не надо писать одно и то же в разных местах, если этого можно избежатью.
Пока это Вам мало чего, наверное, скажет. Но будет весьма полезно понимать, что лучше написать что-то один раз вместо двух, стараться писать ясно и использовать функциональность, реализованную другими людьми, если есть такая возможность.
методов много но самые лучшие это "пузырек" и поиск макс. мин.
Похожие вопросы
- помогите сделать задачу по Pascal Указать минимальный нечетный элемент в последовательности, содержащей целые числа.
- Pascal среди трехзначных чисел найти те, суммуа цифр которых не равна 8
- Среди двузначных чисел вывести на экран те, сумма цифр которых равна х(0<х<18). Число х вводится с клавиатуры.В паскале!
- помогите, пожалуйста, очень срочно нужно как отсортировать число 1079011205 методом пузырька ???
- Метод секущих pascal
- как решить через abc pascal задачу "Дано натуральное число n. Получить все простые делители этого числа"
- Pascal . Дан массив вещественных чисел. Найти сумму элементов, номера которых являются простыми числами
- Скиньте пожалуйста рабочий код для поиска обратной матрицы методом гаусса, в Pascal ABC?
- Дан массив из 100 целых чисел. Заменить элементы между минимальным и максимальным значениями Pascal!
- как вывести на экран из массива чисел минимальное число, стоящие на нечетных позициях?