Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.30;
Скачать: CL | DM;

Вниз

Провертьте мое задание   Найти похожие ветки 

 
Вован Сем   (2006-07-11 16:44) [0]

Нужна с одного символа получить строку, которая все время растет в длину. Лаб. работа на курсах. Но не всегда правильно работает.


uses
 crt;

const
 min=255;

var
 buf:array[1..24,1..80,1..2] of byte absolute $B800:0000;
 chs:array[1..24,1..80,1..2] of char absolute buf;
 cmd,par,r_s:string;
 len:byte absolute r_s;
 b_a:array[0..min] of byte absolute r_s;
 c_c:byte;

procedure test;
begin
{...}
end;

begin
 fillchar(b_a,sizeof(b_a),0);
 clrscr;
 if paramcount<>0 then
   r_s:=paramstr(1)
  else
   r_s:=chr(min);
 repeat
   while (b_a[1]>0) and (buf[9,71,1]<>79) do
   begin
     if not ( b_a[1] in [9,13,32,34] ) then
     begin
       clrscr;
       for c_c:=1 to len do
       begin
         buf[4,c_c,1]:=b_a[c_c];
       end;
       Test;
     end;
     if keypressed then buf[9,71,1]:=79;
     dec(b_a[1]);
   end;
   for c_c:=1 to len do
   if b_a[c_c]=0 then
   begin
     if b_a[len]=0 then
      inc(len);
     b_a[c_c]:=min;
     dec(b_a[c_c+1]);
   end;
   if keypressed then buf[9,71,1]:=79;
 until buf[9,71,1]=79;
end.


 
Сергей М. ©   (2006-07-11 16:51) [1]

Это что, ТурбоПаскаль ?


 
Игорь Шевченко ©   (2006-07-11 16:59) [2]


>  Провертьте мое задание


Преподаватель проверит


 
Вован Сем   (2006-07-11 17:00) [3]

Так сказали на паскале?!


 
Вован Сем   (2006-07-11 17:01) [4]

а можно как то сократить алгоритм


 
Сергей М. ©   (2006-07-11 17:10) [5]


> Вован Сем   (11.07.06 17:00) [3]
>
> Так сказали на паскале?


Это ты нас спрашиваешь ?)


 
Вован Сем   (2006-07-11 17:24) [6]

Я Прошу совета у Великих мастеров. Плиз


 
Сергей М. ©   (2006-07-11 17:26) [7]

Ну так и обозначть задание именно так как оно звучит в оригинале, слово в слово !)


 
Вован Сем   (2006-07-11 17:34) [8]

Составить программу с использованием массивов для нахождения требуемого словосочетания в строках. Строку изменять перебором, используя функции inc(char)  и dec(char), начиная с первого символа.


 
Сергей М. ©   (2006-07-11 17:39) [9]


> Составить программу


На Паскале ? Или именно в ТурбоПаскале ?


 
Вован Сем   (2006-07-11 17:44) [10]

С помощью Паскаля, так было сказано.


 
Virgo_Style ©   (2006-07-11 18:34) [11]

Задание пугает еще сильнее, чем восьмая строка программы


 
Вован Сем   (2006-07-11 18:46) [12]

Такое вот задание дали на курсах. Програмка работает, но есть ошибки в алгоритме.


 
Virgo_Style ©   (2006-07-11 19:24) [13]

c использованием массивов
массив=строка? Тогда по-другому и не сделаешь.
массив<>строка? а зачем он тогда нужен?

Строку изменять перебором
какую? Я так понимаю, что требуется генерировать всякую, кхм, муть и искать в ней требуемое сочетание. М-м-м... нетривиальное мышление %-)
Причем не сказано, каким образом изменять. Если я буду произвольному символу делать inc или dec (случайно), это удовлетворяет постановке задачи, или где?
Кстати, массив, видимо, должен использоваться именно в этой части задачи... в общем-то его было бы сложно не использовать, бо строки являются не чем иным, как массивами...

Что до программы - не нравится вот это:
> buf:array[1..24,1..80,1..2] of byte absolute $B800:0000;
>  chs:array[1..24,1..80,1..2] of char absolute buf;

Тьма с ним, со вторым массивом, в принципе, почему бы и нет, дело вкуса... а вот зачем absolute $B800:0000 - вот это меня смущает оченно сильно.


 
Шпиён   (2006-07-11 19:37) [14]


> Virgo_Style ©   (11.07.06 19:24) [13]


> Что до программы - не нравится вот это:
> > buf:array[1..24,1..80,1..2] of byte absolute $B800:0000;
>
> >  chs:array[1..24,1..80,1..2] of char absolute buf;
> Тьма с ним, со вторым массивом, в принципе, почему бы и
> нет, дело вкуса... а вот зачем absolute $B800:0000 - вот
> это меня смущает оченно сильно.

DOS -)
Если правильно помню - вывод в буфер экрана


 
Шпиён   (2006-07-11 19:41) [15]

Уточнение:
$B800:0000 - это адрес сегмента видеопамяти в текстовом режиме.


 
Вован Сем   (2006-07-12 10:50) [16]


> Причем не сказано, каким образом изменять.

Я показал в коде, что сначала строка состоит из одного символа.
п.1
Перебор идет от значения 255 до 0, далее длина строки увеличена на 1.
п.2.
Теперь второй элемент =255 и повторяем п.1 до тех пор пока второй элемент не будет равен 0 и т.д. процедура тест сравнивает строку с внешним параментром и повторяем процес. Ну еще есть проверка символов которых не может быть с помощью строки
if not ( b_a[1] in [9,13,32,34] ). вот вроде так.


 
Kolan ©   (2006-07-12 11:16) [17]


> Составить программу с использованием массивов для нахождения
> требуемого словосочетания в строках.

Это понятно..
> Строку изменять перебором

А это что значит?


 
Вован Сем   (2006-07-12 11:23) [18]

Если уж нельзя в Турбо, то хоть дайте просто алгоритм правильный


 
Вован Сем   (2006-07-12 11:23) [19]


> > Строку изменять перебором
>
> А это что значит?

читай 16 пост


 
Вован Сем   (2006-07-12 11:48) [20]

to Kolan ©
перебором символов, может так понятно.


 
Ketmar ©   (2006-07-12 13:20) [21]

то ли трава забористая, то ли я сильно отстал от жизни...
хоть кто-нибудь понял, чего хотят в задании? %-)


 
Alien1769 ©   (2006-07-12 13:27) [22]


> хоть кто-нибудь понял, чего хотят в задании? %-)

Лично, я узрел в этой "програмке" подбор пароля. IMHO


 
Сергей М. ©   (2006-07-12 13:37) [23]


> Ketmar ©   (12.07.06 13:20) [21]


Курсы те, на которых формулируются задания в такой жуткой формулировке - "фтопку".


 
Вован Сем   (2006-07-12 21:51) [24]


> Курсы те, на которых формулируются задания в такой жуткой
> формулировке - "фтопку".

Может я и ламер, но меня преподаветель курсов оценила, хотя и не заметила моей ошибки в алгоритме.
Спасибо всем кто "оценил" мое творчество...



Страницы: 1 вся ветка

Текущий архив: 2006.07.30;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.027 c
2-1152513739
Darkwing
2006-07-10 10:42
2006.07.30
Delphi не открывает проект


3-1148750418
Katyyha
2006-05-27 21:20
2006.07.30
А что-нибудь еще.


1-1150467729
_RusLAN
2006-06-16 18:22
2006.07.30
Получение данных из Excel через Clipboard


6-1142508826
antoxa2005
2006-03-16 14:33
2006.07.30
Подскажите, а как читать HTML страницу? Как текстовый файл много


2-1152682196
Yegorchic
2006-07-12 09:29
2006.07.30
DLL и форма