Перейти к содержанию

Помоги мне! Программирование задачи обработки вектора на языке Pascal ABC


Рекомендуемые сообщения

Опубликовано
Program HelloWorld;
var v:array[1..50] of real;
n,i:integer;
begin
write('n = ');
read(n);
for i := 1 to n do
read(v[i]);
for i := 1 to n do
if v[i] < 0 then
v[i] := v[i] * v[i];
for i := 1 to n do
write(v[i],' ');
readln;
end.

Опубликовано

Я б избавился от одного цикла (последнего) использовав begin - end в цикле "проверки отрицательности".

Опубликовано
Я б избавился от одного цикла (последнего) использовав begin - end в цикле "проверки отрицательности".

Двухкопеечная оптимизация. Зато вывод совместится с логикой, что плохо. В общем и целом плохо, в промышленном программировании, а в этой конкретной программе сложности хэллоу ворлда как-то вообще без разницы, лишь бы цикл замены отрицательных чисел где-нибудь присутствовал.

Опубликовано

ArtyomK, когда нас учили программированию - нас, в первую очередь, натаскивали на экономию памяти, времени и ресурсов.

В данном случае ресурсов ноль. Но еще один цикл - это память и время!!!

А логика не нарушается, а даже наоборот.

Опубликовано
когда нас учили программированию - нас, в первую очередь, натаскивали на экономию памяти, времени и ресурсов.

Это важно, когда ты пишешь фрагмент кода, который часто исполняется. Например, алгоритм выделения ключевых точек на кадре видеопотока и нахождение сдвига точек между двумя кадрами. Обычно же (в промышленном программировании) важна простота и изменяемость кода. Обеспечивается, в числе прочего, поддержанием высокой связности и низкой связанности компонентов. Вдруг тебя попросят, например, в выводе писать только первые 5 элементов и в обратном порядке. Или в обработке переставить первые 5 элементов местами с последними 5.

Но, повторюсь, это я только объяснил, почему я сделал именно так. Вообще считаю, что в случае программы из 3 содержательных строк, споры об их взаиморасположении бессмысленны. (:

Но еще один цикл - это память и время!!!

Только время, кстати.

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...