Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Object Pascal: кроссплатформенные технологии > Помогите исправить блоу схему. срочно


Автор: PRo9 24.12.2008, 11:22
вот такая вот задача

Дана последовательность неотрицательных чисел последнее из которых равно нулю: причём других равных нулю чисел в последовательности нет. Найти последнее число, большее десяти, в этой последовательности. Если таких чисел нет напечатать ноль.

я написал вроде блок схему, но там запоминает номер числа, а нужно чтоб само число запоминало. Что нужно написать вместо того, что написано в красном кружочке?

http://ipicture.ru/

вот код

Код

i:=1; idx10=-1;
while (a[i]<>0) do begin {просматриваем до нуля}
  if a[i]>10 then idx10=i; {если >10, то запоминаем где оно}
  inc(i);
end;
if idx10=-1 
  then writeln('не нашлось чисел > 10')
  else writeln('последнее число >10 (',a[idx10],') найдено в позиции ',idx10);


Помогите. заранее спасибо

Автор: Kbl4AH 24.12.2008, 14:55
Все в коде у тебя верно...
а вот блок-схема не правильно нарисована...
во-первых, в таком цикле тоже должны быть ветви "да", "нет"::
во-вторых, возврат в цикл не нарисован...
в-третьих, в ветви условия "да" только блок idx10=i должен быть, а блок inc(i) должен быть после ветвей "да", "нет"
в-четвертых... после цикла нужно поместить блок условия с вариантами сообщений выводимых на экран...
препод придрался, наверное, потому (почему номер позиции, а не само число), потому что глядя на блок-схему не видно, что ты где-то выводишь число... видно только, что ты запоминаешь номер позиции... что противоречит требование к результату программы

Вариант решения:
Код

 ...........................................................
 for i := (high(a) - 1) downto low(a) do
  if a[i] > 10 then
   begin
    writeln(a[i]);
    readln;
    halt;
   end;
 writeln('0');
 readln;
end.

Автор: PRo9 24.12.2008, 15:33
А не можешь нарисовать правильно, если не сложно. Я просто не очень умею их рисовать

Автор: Kbl4AH 24.12.2008, 15:35
Цитата(PRo9 @  24.12.2008,  15:33 Найти цитируемый пост)
А не можешь нарисовать правильно, если не сложно

сложно smile 
тем более обозначения правильные не помню...

Для твоего кода я бы так блок-схему сделал...
Но соответсвие ГОСТ не гарантирую...
http://ipicture.ru/

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)