IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Reply to this topicStart new topic
> Паскаль алярм, SOS!HELP! IDDQD
Necronix
сообщение 20 Nov 2007, 22:52
Сообщение #1

Мимо проходил
Сообщений: 1 616
Спасибо сказали: 17 раз




Товарсчи, в связи с форс мажорными обстоятельствами я как был дурак так и остался дурак rolleyes.gif
И ежели я к завтрашнему дню не сдам 5ю лабу( а я ее не сдам,бо как я выяснил недавно,оказался слишком туп biggrin.gif ) Требуется срочная помощь,бо завтра в 13:00 уже пора будет идти сдаваццо в плен. ЗадачкО простая,но не для меня spiteful.gif ЕЛси кто нибудь умный и милосердный окажет экстренную помощь. Буду премного благодарен ( +Ы не заставят себя ждать). А вот собственно и эта злобная кочГа апкатарайу я спотыкнулсО:
Дан текст, содержащий 100 символов. Определить в нем число слов и предложений. (Предложения отделены точкой или точкой и пробелом ).

В упор не знаю я как эти пробелы и точки проверятьsad.gif Бо в связи с вышеупомянутыми форсмажорными обстоятельствами( а именно смерть препода по програмингу) у нас образовалась такая существенная разница во времени между практикой програминга и теорией. Вышло так,что мы уже сдеалаи 3 работы,а нам только начали рассказывать про операторы.


--------------------
Ты хочешь знать,что гений-это я?!
Go to the top of the pageAdd Nick
 
+Quote Post
Гость_Berserker_*
сообщение 20 Nov 2007, 23:34
Сообщение #2







Если текст хранится в виде строки, то трудностей особыйх быть не должно. Пробел - #32, а точка - '.'

Код
words:=0;
sent:=0;
sym:=0;
for i:=1 to length(OurText) do
 begin
 if (OurText[i] = '.') then
   begin
   sent:=sent+1;
   sym:=0;
   Continue;
   end;
 if ((OurText[i] = #32) and (sym>0)) then
   begin
   sym:=0;
   words:=words+1;
   Continue;
   end;
 if (OurText[i] <> #32) then
   sym:=sym+1;
 end;
Go to the top of the pageAdd Nick
 
+Quote Post
gamecreator
сообщение 21 Nov 2007, 16:33
Сообщение #3

Яблочный произвол!
Сообщений: 11 080
Спасибо сказали: 3988 раз




Забыл в условии с точкой words:=words+1;
Go to the top of the pageAdd Nick
 
+Quote Post
Гость_Berserker_*
сообщение 21 Nov 2007, 20:19
Сообщение #4







Нет, там предложения, а не слова считаются.
Go to the top of the pageAdd Nick
 
+Quote Post
Гость_Д'якон_*
сообщение 21 Nov 2007, 20:27
Сообщение #5







Хорошо тогда подсчитай кол-во слов и предложений в этом тексте при помощи проги:
Код
Добрый день.Как дела.


Я думаю слов у тебя получится 3.
Go to the top of the pageAdd Nick
 
+Quote Post
Гость_Berserker_*
сообщение 21 Nov 2007, 20:50
Сообщение #6







Тут вы неправы. Мы не пишем слово сразу после точки! Разве что в конце можно добавить:

if (sym>0) word:=word+1;
Go to the top of the pageAdd Nick
 
+Quote Post
gamecreator
сообщение 21 Nov 2007, 21:07
Сообщение #7

Яблочный произвол!
Сообщений: 11 080
Спасибо сказали: 3988 раз




Это неважно, не засчитается же слово перед точкой потому что мы не пишем пробел перед точкой.
Go to the top of the pageAdd Nick
 
+Quote Post
Гость_Berserker_*
сообщение 21 Nov 2007, 21:31
Сообщение #8







Ну да smile.gif Что-то я стормозил. Действительно, слово нужно добавлятьи при проверке точки.
Go to the top of the pageAdd Nick
 
+Quote Post
izrukvruki
сообщение 15 Jan 2008, 10:47
Сообщение #9

Князь Бореи
Сообщений: 5 172
Спасибо сказали: 1350 раз




Мне никто не может подсказать алгоритм сравнения двух текстовых списков (на Паскале-Делфи или Бейсике)?

Список "ДОЛЖНОЕ" (то что должно быть) - название и коментарий:
А1 комментарии
А2 комментарии
...
Аn комментарии

Список "Фактическое" (то что есть в действительности - он может быть дополнен некоторыми новыми элементами В, но может не содержать некоторые элементы А - вот эти элементы и надо отследить) - содержит только название элемента:
A1
A2
...
A(i-1)
A(i+1)
...
An
B1
...
Bm

Должно выдать близкое:
"Нехватает элементов:
Ai коментарий

Добавлены элементы:
B1
...
Bm"
Go to the top of the pageAdd Nick
 
+Quote Post
Avaddon
сообщение 15 Jan 2008, 13:48 (Сообщение отредактировал Avaddon - 15 Jan 2008, 13:50)
Сообщение #10

Ангел
Сообщений: 450
Спасибо сказали: 4 раза




Цитата(gamecreator @ 21 Nov 2007, 22:07)
Это неважно, не засчитается же слово перед точкой потому что мы не пишем пробел перед точкой.


А как насчет других знаков препинания? Запятые, точки с запятыми, тире?

Весь вопрос в том, на что направлена лаба. По уму надо строить специальную
грамматику для конкретного задания и при помощи нее разбирать строку.
Ессно при помощи какого-нить конечного автомата, который можно написать и на паскале. А в функции сверток по грамматике вставлять счетчики слов и предложений yes.gif


--------------------
Смерть - не конец, жизнь - не начало...
Go to the top of the pageAdd Nick
 
+Quote Post
Night Hunter
сообщение 04 Mar 2008, 10:34
Сообщение #11

----_----
Сообщений: 2 032
Спасибо сказали: 643 раза




здравствуйте уважаемые форумчане!
Всвязи с форсможорными обстоятельствами (а именно отсутствием паскаля на компе) неможу выполнить следующий примерчег:

Ежели найдуццо добрые и отзывчивые люди (с паскалем smile.gif) выложите плиз файлик с паскалевским расширением...
Благодарность моя будет безмерна happy.gif
зы. нужно очень срочно
Go to the top of the pageAdd Nick
 
+Quote Post
hippocamus
сообщение 04 Mar 2008, 11:27 (Сообщение отредактировал hippocamus - 04 Mar 2008, 11:30)
Сообщение #12

допустим, мяў
Сообщений: 24 163
Спасибо сказали: 13531 раз




Код
function Calc(a, y: Single): Single;
begin
 Result:=sqr(sqr(a/(a+25))+y)+(sqr(a)/y);
end;


Добавлено ([mergetime]1204619252[/mergetime]):
Хотя, если у тебя старая версия Паскаля, то лучше писать наверное
Код
function Calc(a, y: Real): Real;
begin
 Calc:=sqr(sqr(a/(a+25))+y)+(sqr(a)/y);
end;


--------------------
Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская)
Go to the top of the pageAdd Nick
 
+Quote Post
izrukvruki
сообщение 04 Mar 2008, 11:28
Сообщение #13

Князь Бореи
Сообщений: 5 172
Спасибо сказали: 1350 раз




a в чем сложность то???

program XXX;
var a,y: real;
begin
readln ("a=", a);
readln ("y=", y);
if ((a+25)<>0) and (y<>0) then writeln (((a/(a+25))^2+y)^2+(a^2)/y);
else writeln ("Деление на ноль");
end
Go to the top of the pageAdd Nick
 
+Quote Post
hippocamus
сообщение 04 Mar 2008, 11:32
Сообщение #14

допустим, мяў
Сообщений: 24 163
Спасибо сказали: 13531 раз




biggrin.gif
О том, что "деление на ноль" прога сама напишет.


--------------------
Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская)
Go to the top of the pageAdd Nick
 
+Quote Post
izrukvruki
сообщение 04 Mar 2008, 12:27
Сообщение #15

Князь Бореи
Сообщений: 5 172
Спасибо сказали: 1350 раз




Компилятор напишет, а прога вылетит... Так она более верно работает
Go to the top of the pageAdd Nick
 
+Quote Post
Night Hunter
сообщение 04 Mar 2008, 12:30
Сообщение #16

----_----
Сообщений: 2 032
Спасибо сказали: 643 раза




Сложность в том, что паскаля нету...а надо файлик с расширением паскалевским...
Go to the top of the pageAdd Nick
 
+Quote Post
izrukvruki
сообщение 04 Mar 2008, 12:50
Сообщение #17

Князь Бореи
Сообщений: 5 172
Спасибо сказали: 1350 раз




СКОПИРУЙ мой пост в текстовый файл и замени расширение на .pas и тебе будет счастье
Go to the top of the pageAdd Nick
 
+Quote Post
Night Hunter
сообщение 04 Mar 2008, 13:46
Сообщение #18

----_----
Сообщений: 2 032
Спасибо сказали: 643 раза




и было мне счастье...
Go to the top of the pageAdd Nick
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 17 February 2026 - 03:52
Copyright by Алексей Крючков
Strategy Gamez by GrayMage
Programming by Degtyarev Dmitry
  Яндекс.Метрика