Пробное ЕГЭ. Рассудите пожалуйста.

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич

Сообщение Alexeyslav »

Максимальное число 16-бит INTEGER это "32767", следующее значение 32768 это уже будет "-32768" это легко проверить на стандартном калькуляторе.
Контактная информация:
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2064
Зарегистрирован: Пт апр 24, 2009 11:39:16
Откуда: г.Оренбург

Сообщение Pika4u »

кошка Муся писал(а):Не буду придираться к оформлению и что макс integer 32768.

1 Подумайте, что выдаст прога, если все числа в массиве или неположительные, или оканчиваются на 7.
2 Не факт, что первое число массива -положительно
В задании сказано:Как минимум, в массиве есть один элемент,удовлетворяющий всем условиям))) Ну разобраться-в середине темы разобрались :))
Steve Jobs. 1955-2011. Мы помним, как ты преобразовал наш мир....
Реклама
Друг Кота
Аватара пользователя
Сообщения: 27071
Зарегистрирован: Пн фев 09, 2009 22:19:49
Откуда: Когда-то был прекрасный город для людей

Сообщение Муркиз »

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

А на пятерку требуется предложить метод, который работал бы везде и всегда. Что полностью отсутствует. Итого - двойка.
В основном из-за 32768.
Говорящий с текстолитом
Сообщения: 1658
Зарегистрирован: Вс дек 11, 2011 05:25:04
Откуда: Киев, Украина

Сообщение Tolmi »

Это всё понятно. Но вот решение как алгоритм для мелких МК - просто отлично. Ни тебе дополнительных переменных-флагов, ни лишних сравнений. Там, где компактность кода главнее переносимости - вполне сойдет. Я периодически провожу собеседования по поводу приёма на работу, если бы соискатель составил бы так алгоритм, а потом ещё и прокомментировал вред "магических констант", он бы у меня 100% прошел бы :tea:
In theory, theory and practice are the same. In practice, they're not.
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 3782
Зарегистрирован: Чт янв 26, 2012 14:44:34

Сообщение El-Eng »

Можно решить задачу и так: :)

Код: Выделить всё

Program C2;
const N=70;
var a:array [1..N] of Integer; i,m,j:Integer;
BEGIN
 for i:=1 to N do  readln(a[i]);

 m:=-1;

 for i:=1 to N do
  if ((a[i]>0) and (a[i] mod 10<>7))
   then if ((a[i]<m) or (m<0)) then m:=a[i];

 if m<0 then writeln("Неверные входные данные") else writeln(m);
END.
Like the eyes of a cat in the black and blue...
Реклама
Ответить

Вернуться в «Интеграция с ПК»