0 / 0 / 0
Регистрация: 14.04.2009
Сообщений: 22
|
|
1 | |
Объяснение принципа действия программы14.04.2009, 17:11. Показов 1909. Ответов 17
Метки нет Все метки)
(
Здравствуйте!
Объясните пожалуйста как действует данная программа: Код
PROGRAM vz_ub; USES CRT; LABEL 1; CONST n=15; TYPE t = ARRAY [1..n] OF integer; VAR A : t; i,max,imax,v : integer; {счетчик, возр. посл-ть , № элемента возр.посл-ти, промеж. переменная} min,imin,u : integer; {убывающая последовательность , № эл-та убыв. посл-ти, промеж. переменная} BEGIN CLRSCR; WRITELN('Enter ',n,' numbers 0<=A[i]<1000 :' ); FOR i:=1 TO n DO READ(A[i]); v:=0; u:=0; FOR i:=1 TO n-1 DO IF A[i]<A[i+1] THEN BEGIN v:=v+1; u:=0; IF max<v THEN BEGIN max:=v; imax:=i+1; END; END ELSE IF A[i]>A[i+1] THEN BEGIN u:=u+1; v:=0; IF min<u THEN BEGIN min:=u; imin:=i+1; END; END; WRITELN (' vozrastaut '); FOR i:=imax-max TO imax DO WRITE(' ',A[i],','); WRITELN ; WRITELN (' ubivaiut '); FOR i:=imin-min TO imin DO WRITE(' ',A[i],','); READKEY; END. Код
v:=v+1; u:=0; IF max<v THEN Программа выполняет следующме задачи: выводит на экран максимально длинные - строго возрастающие подпоследовательности чисел;строго убывающие подпоследовательности чисел. Очень нужна помощь, помогите пожалуйста!
0
|
|
14.04.2009, 17:11 | |
Ответы с готовыми решениями:
17
Объяснение программы Объяснение условия программы Объяснение программы Нужно объяснение кода программы |
4 / 4 / 1
Регистрация: 15.04.2009
Сообщений: 63
|
|
15.04.2009, 22:32 | 2 |
А условия задания у тебя нету?
0
|
0 / 0 / 0
Регистрация: 14.04.2009
Сообщений: 22
|
|
16.04.2009, 21:41 [ТС] | 3 |
Условие заключается в следующем:
Дан целочисленный массив А из N элементов (0<N<100; 0<=A[i]<1000). Выделить и напечатать максимально длинные: - строго возрастающие подпоследовательности чисел; - строго убывающие подпоследовательности чисел; Добавлено через 13 часов 10 минут 46 секунд Хотел отредактировать, чтобы была подсветка чинтаксиса но не нашел иконки редактирования =(
0
|
4 / 4 / 1
Регистрация: 15.04.2009
Сообщений: 63
|
|
17.04.2009, 13:27 | 4 |
В общем боюсь ошибиться я в этом не спец, и боюсь не праильновыразить мысль... но всётаки попроую
![]() по моему накатал чушь) надеюсь правильно ![]()
1
|
14 / 14 / 2
Регистрация: 14.04.2009
Сообщений: 66
|
|
17.04.2009, 14:06 | 5 |
v=v+1 считает кол-во возрастаний подряд. u=u+1 cчитает колво убываний подряд.
Пример: Последовательность (987-) -8 (765) 1 скобка это последовательность убывающая. u=2; но тут сделует число 8 которое свидетельствует о завершении убывания и о начале маленького возрастания 7--8. v=1; но тут начинается новое убывание и сейчас U должно равняться 1, но если бы мы не обулили его, то оно сейчас бы было равным 2+1=3; Вопросы есть?
1
|
4 / 4 / 1
Регистрация: 15.04.2009
Сообщений: 63
|
|
17.04.2009, 14:10 | 6 |
Ы... надо мне больше сидеть за паскалём
![]()
0
|
0 / 0 / 0
Регистрация: 14.04.2009
Сообщений: 22
|
|
17.04.2009, 16:43 [ТС] | 7 |
Да, можно вопросик:
А зачем тогда max<v это условие? т.е. откуда он берет это max значение? А потом присваивает опять же max:=v т.е. он получил число(?) и потом приравнял к тому же числу. Спасибо!
0
|
14 / 14 / 2
Регистрация: 14.04.2009
Сообщений: 66
|
|
17.04.2009, 17:24 | 8 |
он находит самую длинную последовательость-max. Т.е. последовательность 98(9876)98. В скобках последовательность максимальной длинны, и если будет далее последовательность длиннее нашей скобки например 654321 то она станет максимальной(мах)
1
|
0 / 0 / 0
Регистрация: 14.04.2009
Сообщений: 22
|
|
18.04.2009, 10:35 [ТС] | 9 |
С этим все ясно благодарю за разъяснение!
imax:=i+1, если я правильно понял, то этой коммандой , он перебирает числа этой последователоьности, так? ------------- И еще: FOR i:=imax-max TO imax DO в данном случае он сортирует последовательность? Спасибо!
0
|
0 / 0 / 0
Регистрация: 14.04.2009
Сообщений: 22
|
|
19.04.2009, 12:02 [ТС] | 10 |
С этим вроде разобрался!
Я тут набросал алгоритм, но неуверен правильно ли Проверьте если несложно. Спасибо!
0
|
14 / 14 / 2
Регистрация: 14.04.2009
Сообщений: 66
|
|
19.04.2009, 12:06 | 11 |
Я в блок схемах не очень ). Но мне кажется что если у тебя if... then... else то 2 пути от if влево если then и в право если else.
1
|
4 / 4 / 1
Регистрация: 15.04.2009
Сообщений: 63
|
|
19.04.2009, 13:15 | 12 |
На сколько я знаю блок схемы, то могу сказать одно что она у тебя соствлена не правильно, у тебя не показано 4ёх циклов FOR, потом в блоках IF обычно 2 плеча выходят...
1
|
0 / 0 / 0
Регистрация: 14.04.2009
Сообщений: 22
|
|
19.04.2009, 14:38 [ТС] | 13 |
А куда цикл запихнуть? Он выделяется отдельно или входит в другой? Как это показать?
А насчет отвлетвлений, например здесь: IF A[i]<A[i+1] THEN BEGIN v:=v+1; u:=0; Здесь ведь нет else значит, если условие невыполняется программа закрывается, как это показать на схеме? То есть сразу вести на стоп это отвлетвление? Спасибо! Добавлено через 5 минут 48 секунд Вы уж извените неуча, просто, я вечерник, лекция по пакалю была всего одна... Поэтому сразу понять все было непосилам. А потом эти лабы бесконечные, нет чтобы обьяснить, ведь все нормальные люди разделяют материал, а не засовывают в одну единственную лекцию ![]()
0
|
14 / 14 / 2
Регистрация: 14.04.2009
Сообщений: 66
|
|
19.04.2009, 16:06 | 14 |
Вот схема, но так как я со схемами не очень тут могут быть неправельно фигуры (квадраты, ромбы, круги). Тут показан смысл IF.
1
|
4 / 4 / 1
Регистрация: 15.04.2009
Сообщений: 63
|
|
19.04.2009, 18:09 | 15 |
Я нарисовал блок схему, а вот как её сюды воткнут не знаю
![]() ![]()
0
|
14 / 14 / 2
Регистрация: 14.04.2009
Сообщений: 66
|
|
19.04.2009, 18:19 | 16 |
там где кнопка быстрый ответ рядом есть расширенный режим. туда нажимаеш и находиш кнопку управление файлами.
1
|
4 / 4 / 1
Регистрация: 15.04.2009
Сообщений: 63
|
|
19.04.2009, 18:43 | 17 |
Вот что то типа того, по моему....
1
|
0 / 0 / 0
Регистрация: 14.04.2009
Сообщений: 22
|
|
19.04.2009, 20:36 [ТС] | 18 |
ааа, спасибо большое!
Без вас, право, не справился бы...
0
|
19.04.2009, 20:36 | |
Помогаю со студенческими работами здесь
18
Объяснение программы Объяснение результата работы программы объяснение действия полевика Объяснение программы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |