Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.06.2011, 16:18   #1
spezzA
 
Регистрация: 24.11.2010
Сообщений: 6
По умолчанию что такое f.

В тексте все слова, начинающиеся с гласной буквы, переписать в обратном порядке.
Из слов с нечетным количеством букв удалить среднюю букву. Определить количество предложений в тексте.


объясните пожалуйста что такое f и как она работает в задаче.

Код:
uses
crt;
var
text: string;
delim: set of char;
glas: set of char;
SenDelim: set of char;

i, j: integer;
f: boolean;

start: integer;
kol: integer;

c: char;

sentence: integer;
begin
clrscr;
SenDelim:= ['.', '!', '?'];
delim:= [',', ' ', '"', ':', '-', '_']+SenDelim;
glas:= ['A', 'E', 'Y', 'U', 'I', 'O', 'a', 'e', 'y', 'u', 'i', 'o'];

writeln('Vvedite text:');
readln(text);

writeln(text);
writeln;

text:= text+'.';

f:= false;
sentence:= 0;
start:= 0;
kol:= 0;
i:= 1;

while i<= length(text) do
begin
if text[i] in SenDelim then
sentence:= sentence+1;
if not (text[i] in delim) then
begin
if f then
begin
kol:= kol+1;
end else
begin
kol:= 1;
start:= i;
f:= true;
end;

end else
begin
if f then
begin
f:= false;

if text[start] in glas then
begin
for j:= start to (kol+2*start)div 2 -1 do
begin
c:= text[j];
text[j]:= text[2*start+kol-j-1];
text[2*start+kol-j-1]:= c;
end;
end;

if odd(kol) then
begin
delete(text, (kol+2*start) div 2, 1);
i:= i-1;
end;


end;
end;
i:= i+1;
end;

delete(text, length(text), 1);

writeln('Kol-vo predlojeni: ', sentence);

writeln(text);


readkey;
end.

________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 13.06.2011 в 21:03.
spezzA вне форума Ответить с цитированием
Старый 13.06.2011, 16:21   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Переменная типа boolean может принимать одно из двух значений: истина или ложь (1 или 0, true or false соответственно). Видимо используется в какой-то проверке.
if f then можно записать также как if f=true then смысл от этого не изменится, но это масло масляное.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 13.06.2011 в 16:24.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что такое хорошо, а что такое плохо... EL_MoC Microsoft Office Word 6 14.04.2011 18:49
Что такое ^= ? k1r1ch Общие вопросы C/C++ 3 10.01.2010 17:15
Что такое @? k1r1ch Общие вопросы Delphi 11 11.09.2009 20:15
Что такое SE LOPKOT HTML и CSS 5 31.08.2009 21:50
то такое мастерство в программировании, что такое мастер программист и что он может? Cezar Свободное общение 29 02.06.2007 23:48