Помощь - Поиск - Пользователи - Календарь
Полная версия: Задача на обработку строк, верна ли блок-схема
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Александр Сергеевич
Такая задачка: дан текст, вывести слова, отличные от последнего слова и удовлетворяющие свойству:
слово совпадает с начальным отрезком латинского алфавита (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 вложены
мисс_граффити
ну во-первых было бы не лишним подписать возле всех условий да/нет.
во-вторых - ошибок дофига.
в "конец" должны приходить только одним способом - то, что идет по линии 4 (внешний цикл).Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файла
Александр Сергеевич
спасибо за поправки smile.gif
я пока только учусь... насчет блоков условий if, если условие неполное
без else, рисовать стрелку и действия я так понимаю только в стороны, но так
получаются громоздкие схемы, ежели так как на первом скрине показано.
мисс_граффити
я ГОСТ наизусть не помню, но вроде можно и вниз. читается легче (ИМХО), когда в стороны. да и про громоздкость - спорно. чуть пошире получится, зато короче.
но главное - что соединяться ветви должны не перед тем блоком, который только по одной ветви, а после. и подписать надо, где да, где нет (истина/ложь, 0/1).

сам значок стрелки обязательно рисуется, если направление движения - вверх или влево.
а если о ГОСТе говорить, что размеры блоков во всей схеме должны быть одинаковы, и соотношение высота/ширина там тоже заданы.
Александр Сергеевич
вот в разных источниках по-разному нарисовано, потому и путаница возникает, насчет куда стрелки должны
идти из условного оператора при неполном условии, перечитал гост, конкретно по этому ничего нет там...
и в какую сторону должны выходить стрелки да/нет, тоже в разных источниках где как нарисовано...
мисс_граффити
главное подписывать, где да, а где нет =)
мне чаще попадалось влево (или вниз) да, вправо нет.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.