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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.07.2008, 15:16   #11
ReaktiV
Пользователь
 
Аватар для ReaktiV
 
Регистрация: 25.07.2008
Сообщений: 82
По умолчанию

Вообще задание вот такое: вводится названия книг по очерёдно, затем каждое название книги, на примере Introduction to algorithms = 12^2-2^2+10^2=240 делается вот так, где число больше та книга и есть ответ.
ReaktiV вне форума Ответить с цитированием
Старый 26.07.2008, 16:36   #12
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Последний раз привожу Вам полное решение задачи. Если Вы решили учить Паскаль, учите. Читайте книги, разбирайте примеры, причем сначала и по-порядку. Что будет непонятно, выкладывайте сюда код, будем подсказывать.
В этой задаче приведенную формулу назовем характеристикой строки.
Код:
uses crt;
var s,s1:array[1..20]of string; {массивы строк}
    h:array[1..20]of integer; {массив характеристик}
    n,l1,l2,l3,i,max,nmax:integer;
    c:char; {символ окончания ввода строк}
begin
clrscr;
writeln('Vvedite nazvania knig:');
max:=0;n:=0;
repeat
n:=n+1;
readln(s[n]);{читаем очередную строку}
s1[n]:=s[n]; {запоминаем ее}
l1:=pos(' ',s[n])-1; {первое слово - позиция первого пробела в строке}
delete(s[n],1,pos(' ',s[n]));{удаляем первое слово с пробелом}
l2:=pos(' ',s[n])-1;  {второе слово так же}
delete(s[n],1,pos(' ',s[n]));
l3:=length(s[n]);  {третье слово - длина оставшейся строки}
h[n]:=sqr(l1)-sqr(l2)+sqr(l3); {считаем характеристику строки и заносим в массив}
if h[n]>max then
   begin
    max:=h[n];
    nmax:=n;  {находим максимальное значение и запоминаем его номер}
   end;
c:=readkey; {символ соответствует нажатой клавише}
until c=#27; {эта клавиша Esc}
writeln('Max harakteristika u stroki: ',s1[nmax]);
readln
end.
puporev вне форума Ответить с цитированием
Старый 26.07.2008, 20:18   #13
ReaktiV
Пользователь
 
Аватар для ReaktiV
 
Регистрация: 25.07.2008
Сообщений: 82
По умолчанию

Спасибо, просто у меня была загвоздка вот с этим "l3:=length(s[n]);" т.е. я не знал как определять длину.
1. А зачем удалять первое (к примеру) слово с пробелом?
ReaktiV вне форума Ответить с цитированием
Старый 26.07.2008, 20:31   #14
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Потому что pos(' ',s[n]); это первое появление пробела в строке и если мы не будем удалять начало строки до пробела включительно, то у нас все три слова будут равны первому слову.
puporev вне форума Ответить с цитированием
Старый 26.07.2008, 20:54   #15
ReaktiV
Пользователь
 
Аватар для ReaktiV
 
Регистрация: 25.07.2008
Сообщений: 82
По умолчанию

А как программа узнает где начинается название одной книги и кончается другая?
ReaktiV вне форума Ответить с цитированием
Старый 26.07.2008, 21:07   #16
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Мы вводим название книги из трех слов и нажимем Enter, т.е переходим на новую строку. В памяти компьютера сохраняется невидимые символы конца строки и перехода на новую строку (#10+#13). Когда мы пишем readln(s[n]), то мы считываем символы строки до признака конца строки, запоминаем эту строку, обрабатываем ее и т.д. Поскольку все это описано в цикле repeat . . until (повторять пока не нажмем Esc), то после обработки первой строки, программа переходит на следующую строку и так пока мы не закончим ввод строк.
Вообще скачайте какую-нибудь книгу по Паскалю и читайте, там умные люди все это написали.
puporev вне форума Ответить с цитированием
Старый 26.07.2008, 21:12   #17
ReaktiV
Пользователь
 
Аватар для ReaktiV
 
Регистрация: 25.07.2008
Сообщений: 82
По умолчанию

Ну а какую хорошую книгу (желательно с ссылкой) можете посоветовать.
ReaktiV вне форума Ответить с цитированием
Старый 26.07.2008, 21:28   #18
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Вот для начала два самых легких учебника, только основы.
Вложения
Тип файла: rar TPascal_7-учебник.rar (490.2 Кб, 13 просмотров)
Тип файла: rar Сидоров, Трушин.Школа.rar (285.5 Кб, 11 просмотров)
puporev вне форума Ответить с цитированием
Старый 27.07.2008, 15:29   #19
ReaktiV
Пользователь
 
Аватар для ReaktiV
 
Регистрация: 25.07.2008
Сообщений: 82
По умолчанию

А Вот автор Валерий Фаронов как он?
ReaktiV вне форума Ответить с цитированием
Старый 27.07.2008, 15:32   #20
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Валерий Фаронов тоже хорошо пишет для начинающих. По его книге я изучал основы Делфи 5. Только вот в интернете для бесплатного скачивания книг этого автора мне как-то не попадалось.
puporev вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с файлами в Pascale velgelmina Помощь студентам 3 26.03.2010 23:14
Проблема с работой програм на компах без С++ Bitrayder Общие вопросы C/C++ 2 02.03.2008 01:09
Паскаль. Работа с файлами, дисплеем. Надюха Помощь студентам 1 21.09.2007 07:43