IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Задача на обработку строк, верна ли блок-схема
Александр Сергеевич
сообщение 30.11.2012 0:58
Сообщение #1





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


Такая задачка: дан текст, вывести слова, отличные от последнего слова и удовлетворяющие свойству:
слово совпадает с начальным отрезком латинского алфавита (a.ab.abc и тд). учесть, что в диапазоне
'a'..'z' могут быть литеры, отличные от латинских.
решение такое
Const st=('abcdefghijklmnopqrstuvwxyz');
Var s,s1,ps:string;
i,j:byte;
b:boolean;
Begin
write('введите строку': ');readln(s);
i:=Length(s);ps:='';
While s[i]<>' ' do
dec(i);
ps:=Copy(s,i+1,Length(s));
Delete(s,i,Length(s));
s:=s+' ';
While Pos(' ',s)<>0 do
Begin
s1:=Copy(s,1,Pos(' ',s)-1);
Delete(s,1,Pos(' ',s));
if s1<>ps then
Begin
i:=0;j:=0;b:=true;
While (i<Length(s1))and(b) do
Begin
inc(i);
if not (('a'<=s1[i])and(s1[i]<='z')) then inc(j);
if not (s1[i]=st[i-j])and (('a'<=s1[i])and(s1[i]<='z')) then b:=false;
End;
if b then writeln(s1);
End;
End;
End.

вот такую схему нарисовал...
(в прикрепленном файле)
что-то я запутался со стрелками, там два цикла и оператор if вложены

Сообщение отредактировано: Александр Сергеевич - 30.11.2012 1:00


Эскизы прикрепленных изображений
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 1.12.2012 12:36
Сообщение #2


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


ну во-первых было бы не лишним подписать возле всех условий да/нет.
во-вторых - ошибок дофига.
в "конец" должны приходить только одним способом - то, что идет по линии 4 (внешний цикл).Прикрепленное изображениеПрикрепленное изображение


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Александр Сергеевич
сообщение 2.12.2012 0:38
Сообщение #3





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


спасибо за поправки smile.gif
я пока только учусь... насчет блоков условий if, если условие неполное
без else, рисовать стрелку и действия я так понимаю только в стороны, но так
получаются громоздкие схемы, ежели так как на первом скрине показано.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 2.12.2012 1:57
Сообщение #4


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


я ГОСТ наизусть не помню, но вроде можно и вниз. читается легче (ИМХО), когда в стороны. да и про громоздкость - спорно. чуть пошире получится, зато короче.
но главное - что соединяться ветви должны не перед тем блоком, который только по одной ветви, а после. и подписать надо, где да, где нет (истина/ложь, 0/1).

сам значок стрелки обязательно рисуется, если направление движения - вверх или влево.
а если о ГОСТе говорить, что размеры блоков во всей схеме должны быть одинаковы, и соотношение высота/ширина там тоже заданы.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Александр Сергеевич
сообщение 2.12.2012 11:09
Сообщение #5





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


вот в разных источниках по-разному нарисовано, потому и путаница возникает, насчет куда стрелки должны
идти из условного оператора при неполном условии, перечитал гост, конкретно по этому ничего нет там...
и в какую сторону должны выходить стрелки да/нет, тоже в разных источниках где как нарисовано...


Эскизы прикрепленных изображений
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 3.12.2012 2:33
Сообщение #6


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


главное подписывать, где да, а где нет =)
мне чаще попадалось влево (или вниз) да, вправо нет.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 25.06.2025 3:57
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"