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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.06.2010, 15:06   #1
Blueyeska
Пользователь
 
Регистрация: 28.04.2010
Сообщений: 11
Вопрос Паскаль. строки.

Считая строки s, s1 и s2 нормализованными, написать следующие процедуры-функции:
1. Func1 (s : string):word - возвращает количество слов в строке s.

2. Func2 (s : string; i : word):word - возвращает номер позиции, с которой начинается i-ое слово строки s.

3. Func3 (s : string; i : word):word - возвращает номер позиции последней литеры i-го слова строки s.
Blueyeska вне форума Ответить с цитированием
Старый 02.06.2010, 15:14   #2
Ol'ga_new
Форумчанин
 
Регистрация: 12.05.2010
Сообщений: 125
По умолчанию

А свои наработки имеются?
Ol'ga_new вне форума Ответить с цитированием
Старый 02.06.2010, 15:17   #3
Blueyeska
Пользователь
 
Регистрация: 28.04.2010
Сообщений: 11
По умолчанию

Так получилось, что вместо ГОСа по английскому, как предполагалось, мне сказали, что я буду сдавать программирование. Я в нём мало что понимаю.

Я даже не знаю, что значит "возвращает ..".
Blueyeska вне форума Ответить с цитированием
Старый 02.06.2010, 15:19   #4
L_Killer
Пользователь
 
Регистрация: 21.02.2010
Сообщений: 19
По умолчанию

возвращает количество слов в строке s.

function kol(s:string):word;
var i:integer;
k:word;
begin
for i:=1 to length(s) do
if s[i] = ' ' then inc(k);
k:=k+1;
kol:=k;
end;
L_Killer вне форума Ответить с цитированием
Старый 02.06.2010, 15:25   #5
Blueyeska
Пользователь
 
Регистрация: 28.04.2010
Сообщений: 11
По умолчанию

Можете, если не трудно, объяснить, что вообще значит "возвращение количества слов в строке"? Откуда что возвращается?
И что значит "inc(k)" ?

Последний раз редактировалось Blueyeska; 02.06.2010 в 15:30.
Blueyeska вне форума Ответить с цитированием
Старый 02.06.2010, 15:39   #6
L_Killer
Пользователь
 
Регистрация: 21.02.2010
Сообщений: 19
По умолчанию

Ну щас попробую... Возвращается значение, полученое путем вычислений внутри функции - вроде так, с формулировками я не силен.
inc(k) - это инкриментация значение. Ему соответствует выражение k:=k+1,
то есть это бональное наращивание, счетчик.
Я там посчитал количество пробелов и к этому числу прибавил единицу.

Например: "Дядя Петя шел с работы и зашел в магазин" - 8 пробелов и соответственно слов - 9.
L_Killer вне форума Ответить с цитированием
Старый 02.06.2010, 15:45   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Blueyeska
"Возвращение" это термин, оговаривающий результат некой функции, подставляемый в выражение, где участвует эта функция, соответственно в ту его часть, где она вписана т.е.
d:=5*ln(6) - Здесь функция ln вычислит что-то и результат попадет в выражение и будет умножен на 5
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.06.2010, 15:50   #8
Blueyeska
Пользователь
 
Регистрация: 28.04.2010
Сообщений: 11
По умолчанию

Спасибо большое! А с двумя другими задачами не поможете?
Blueyeska вне форума Ответить с цитированием
Старый 02.06.2010, 16:00   #9
Ol'ga_new
Форумчанин
 
Регистрация: 12.05.2010
Сообщений: 125
По умолчанию

Код:
function func2(s:string,i:word):word;
var z,j:word;
begin
z:=0;
j:=1;
while z<i do
begin
if (s[j]=' ') then z:=z+1;{inc(z)- что одно и тоже} 
j:=inc(j);
end;
func2:=j;
end;
Ol'ga_new вне форума Ответить с цитированием
Старый 02.06.2010, 16:04   #10
DoDge_VipeR
Форумчанин
 
Аватар для DoDge_VipeR
 
Регистрация: 30.04.2010
Сообщений: 317
По умолчанию

Код:
j:=inc(j);// или inc(j); или уж j:=j+1;
3)
Код:
function func3(s:string,i:word):word;
var k:integer;
begin
k:=func2(s,i);
while s[k]<>' ' do
inc(k);
func3:=k-1;
end;
icq:627719[сто сорок четыре] - помогу с Pascal & Delphi!

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


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Строки Паскаль Antonio_getscool Помощь студентам 1 19.12.2009 15:12
Паскаль,строки! DjDeniels-61 Помощь студентам 1 15.11.2009 12:15
Паскаль, строки Паскалька^^ Помощь студентам 7 25.10.2009 15:39