Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.08.14;
Скачать: [xml.tar.bz2];

Вниз

Вот, сваял на скорую руку. Отведайте...   Найти похожие ветки 

 
PVOzerski   (2003-07-25 17:46) [40]

По WinAPI - тоже 35... А вот критика уже не столь буквоедская, по существу. Сорри, но вопрос по обработчик сообщений (что это метод класса и т.д.) в таком виде - это не WinAPI, а самый что ни на есть синтаксис Object Pascal применительно к VCL. Более того, требования к callback-функциям-обработчикам сообщений, предъявляемые WinAPI, совершенно другие.


 
Suntechnic   (2003-07-25 18:12) [41]

>PVOzerski ©
По WinAPI присоединяюсь к Вашей критике и добавлю ещё чуть- чуть.

2) ( hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM) >PVOzerski ©
По WinAPI присоединяюсь к Вашей критике и добавлю ещё чуть- чуть.

2) Многозадачность - способность ОС поддерживать работу нескольких приложений. Многопоточность - возможность паралельного выполнения нескольких веток кода внутри одного процесса.

Очень спорное утверждение.


Функция function PostMessage(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): BOOL ...

1) результатом имеет логический тип, который указывает обработано ли сообщение.

Я, честно говоря, не знаю, дают ли баллы за то что выбираешь это утверждение, но если это так, то это не правильно :)


 
pasha_golub   (2003-07-25 18:13) [42]

2PVOzerski

Принимается к рассмотрению. В первом случае явно укажу тип, а во втором перенесу в другой раздел. Поучавствуйте и Вы. добавьте пару вопросиков. А там потом Ваше имечко высвечиваться будет :-)


 
pasha_golub   (2003-07-25 18:16) [43]

2Suntechnic

Начну с конца. За это баллы не дают, а отнимают :-). Ответ неверный

А что некорректного в формулировке? Код мы можем назвать и ветками и направлениями и т.д., а главное ИМХО - это в рамках одного процесса (some threads in one task)!


 
Suntechnic   (2003-07-25 18:18) [44]

>pasha_golub ©
Начнём с того, что если процессор в системе один, то параллельно там ничего выполняться не может в силу физических причин :)


 
vuk   (2003-07-25 18:21) [45]

---------------------
Укажите правильную длину строк в символах.
var
{$H-}
S1:string;
{$H+}
S2: string[60];
S3: string;

1) Длина S2 равна 60 символов. Остальный строки не имеют фиксированного количества символов.
2) Длина S2 равна 60, S1 - 255, а длина S3 изменяется динамически.
3) Все строки имеют динамическую длину.
4) ( то, что возвращает функция length) ---------------------
Укажите правильную длину строк в символах.
var
{$H-}
S1:string;
{$H+}
S2: string[60];
S3: string;

1) Длина S2 равна 60 символов. Остальный строки не имеют фиксированного количества символов.
2) Длина S2 равна 60, S1 - 255, а длина S3 изменяется динамически.
3) Все строки имеют динамическую длину.
4) Правильного ответа нет.
---------------------

Здесь правильным ответом должен быть ответ 3. Т.к. длина в символах (то, что возвращает функция length) для каждой из этих строк будет динамическая в любом случае. Она определяется не во время объявления, а во время присвоения значения. А вот максимальная длина будет, понятное дело, разной.






 
Карелин Артем   (2003-07-25 18:21) [46]

Я бессовестно жульничал... Проходил тест с хелпом на экране. Мне так стыдно. :-)


 
pasha_golub   (2003-07-25 18:41) [47]

2Suntechnic

это ты точно подметил :-)

2Карелин Артем

Help не считается жульничеством, ИМХО. Опять же, главное не помнить, а уметь достать и сделать оперативно. Какой же мега-чел будет помнить все? Главное чтоб тест проходил ты и в отведенное время отвечал на вопросы. "Я так думаю". (х/ф "Мимино")


 
pasha_golub   (2003-07-25 18:42) [48]

2vuk

Да, спасибо. Мы с мужикамив чате "перетерли" и я согласился с MBo, которому кстати огромное спасибо, что вопрос некорректен!

Убираю


 
vuk   (2003-07-25 18:49) [49]

to pasha_golub:
>вопрос некорректен
Вопрос, кстати, нормальный. Если номер ответа поменять, то будет вопрос на понимание длины строки в символах. :o)


 
pasha_golub   (2003-07-25 18:55) [50]

2vuk

Честно, не понимаю.

Напиши в виде: Вопрос, Ответ1, Ответ2, Ответ3, Ответ4.

Ну баллы не забудь :-)

Обещаю если напишешь в базу вставлю :-)


 
vuk   (2003-07-25 18:59) [51]

А зачем что-то менять? Этот вопрос и оставить. Только правильный ответ будет 3 - Все строки имеют динамическую длину. Почему - уже объяснил.


 
Игорь Шевченко   (2003-07-25 19:01) [52]

PVOzerski © (25.07.03 17:32)

после моего прохождения теста некоторые ответы были исправлены :))


 
pasha_golub   (2003-07-25 19:05) [53]

2 vuk

ОК

2Suntechnic

Спасибо за вопросы.


 
vuk   (2003-07-25 19:08) [54]

to pasha_golub:
Небольшой совет. Для вывода текстов программ лучше использовать моноширинный шрифт. Читабельность лучше будет.


 
pasha_golub   (2003-07-25 19:11) [55]

2vuk

Спасибо, пример моноширинного можно?


 
Suntechnic   (2003-07-25 19:11) [56]

>pasha_golub ©
Да не за что. Если ещё чего в голову придёт, то добавлю, но выдумщик из меня неважный :)


 
vuk   (2003-07-25 19:16) [57]

Courier, Courier New.
Обратите внимение, на то, какие шрифты показывает IDE в настройках шрифта редактора (Editor properties->Display->Editor Font).


 
Ruf   (2003-07-25 19:18) [58]

Прикольно :)

OPERA 7.11


 
pasha_golub   (2003-07-25 19:20) [59]

2vuk

Поменял :-)


 
MalkoLinge   (2003-07-25 20:02) [60]


> Игорь Шевченко © (25.07.03 19:01)
> PVOzerski © (25.07.03 17:32)
>
> после моего прохождения теста некоторые ответы были исправлены
> :))

Пусть автор сделает Ролбэк, для чистоты эксперимерта :)


 
dataMaster   (2003-07-25 20:04) [61]

2MalkoLinge © (25.07.03 20:02)
>Пусть автор сделает Ролбэк, для чистоты эксперимерта :)

Тогда все моментально станут отличниками


 
PVOzerski   (2003-07-25 21:38) [62]

>другой раздел. Поучавствуйте и Вы. добавьте пару вопросиков. А >там потом Ваше имечко высвечиваться будет :-)
Извольте... Вот "тест", который в свое время разработчики FreePascal не прошли. Потом с моей подачи баги правили. Вспомнил потому, что речь зашла о Message hadnler"ах.
Пример (извините за громоздкость):

{$apptype console}
{$ifdef FPC}
{$mode Delphi}
{$endif}
type
t1=class
public
procedure DefaultHandler(var x);override;
procedure AAA(var x);message 1;
end;

t2=class(t1)
public
procedure BBB(var x);message 1;
end;

procedure t1.DefaultHandler(var x);
begin
write(1);
end;

procedure t1.AAA(var x);
begin
inherited;
write(2);
end;

procedure t2.BBB(var x);
begin
inherited;
write(3);
end;

var
One:word=1;
o:t2;

begin
o:=t2.Create;
o.Dispatch(One);
writeln;
o.Destroy;
end.

Вопрос: что прога напишет на экране? Правильный ответ: "123", так как inherited для t2.BBB будет t1.AAA (несмотря на несовпадение имен: у нас ведь здесь DMT, а не VMT), а для t1.AAA - как ни странно, t1.DefaultHandler.


 
Fantasist.   (2003-07-25 22:40) [63]

1. Замени переменную I на N. I путается с 1.
2. Вопрос про функции по умолчанию - тяжело понять, что означает написанный код, как его надо оценивать.
3. Насколько я помню, разрешение вызова функций со скобками (имеется ввиду Form1.Show() ) появилось только не так давно. Насколько я знаю, компиляторы Turbo Pascal такой синтаксис не поддерживают. Но здесь я могу ошибаться.




 
vuk   (2003-07-25 22:49) [64]

to Fantasist.:
>компиляторы Turbo Pascal такой синтаксис не поддерживают
Так ведь там, вроде как, написано Object Pascal.


 
Fantasist.   (2003-07-25 22:59) [65]


> Так ведь там, вроде как, написано Object Pascal.


Object Pascal вполне компилировался последними версиями Turbo Pascal. Появился он совсем не только в Делфи. Тогда не было еще class, а был object.


 
PVOzerski   (2003-07-25 23:34) [66]

IMHO, все-таки об Object Pascal начали говорить только с появлением Delphi, до этого речь шла только лоб объектно-ориентированном расширении Паскаля кстати, это началось даже не с BP, а с Паскаля для Macintosh, впоследствии купленного фирмой Symantec (Think Pascal)). Но здесь главная беда в том, что синтаксис Object Pascal меняется от версии к версии Delphi, и то, что правильно в одной версии, ошибочно в другой. Например, с течением времени уже в Delphi поменялись sizeof(integer), диапазон cardinal, байтовое представление типов bytebool/wordbool/longbool, появились перегружаемые процедуры, динамические массивы... Видимо, в тестах надо бы оговорить, о какой версии Delphi идет речь


 
pasha_golub   (2003-07-26 00:13) [67]

Я еще пока пишу с праздника День Админа так что могу заикаться :-)

Спасибо всем кто пишет и учавствует.

От администрации получен четкий ответ. А именно: "Спасибо за желание помочь в развитии и улучшении нашего сайта.

Идея создать on-line тестирование на сайте живет и обсуждается давно, вероятно будет
реализовываться. Когда до этого дойдет, возможно мы воспользуемся
вашей помощью и материалом." Так что я думаю пора "работать", а под этим в первую очередь я понимаю качество ответов\вопросов. А это уже за Вами.


 
Fantasist.   (2003-07-26 01:38) [68]


> Видимо, в тестах надо бы оговорить, о какой версии Delphi
> идет речь


Вот именно об этом я и веду разговор. "Object Pascal" не дает возможности точно представить, о чем идет речь.


 
PVOzerski   (2003-07-26 02:02) [69]

Слушайте, так как насчет новых вопросов?


 
PVOzerski   (2003-07-26 02:07) [70]

Например, по WinAPI: можно поспрашивать о том, какие где используются соглашения о параметрах (Win16/Win32)


 
PVOzerski   (2003-07-26 02:10) [71]

Или: как получить на Object Pascal адрес процедурной переменной.


 
PVOzerski   (2003-07-26 02:14) [72]

т.е.
addr(x)
addr(@x)
@x
@@x


 
PVOzerski   (2003-07-26 02:24) [73]

Еще "подводные камни", пригодные, IMHO, для тестов (только обыграть надо толково): выравнивание полей в record, значение "локальной" типизированной константы, изменяемой внутри функции, при следующем вызове функции, приоритетность булевых операторов (жуткая штука: сам все время скобками страхуюсь :^))...


 
PVOzerski   (2003-07-26 02:27) [74]

Еще дивная штука :^) - что значит этот 0 в строчке
property MyProp read fMyProp write SetMyProp default 0;


 
Almaz   (2003-07-26 02:40) [75]

var
A, B, I: ShortInt;
C: Integer;
begin
A := 100;
B := 100;
C := 1;
for I := 0 to A * B do Inc(C);
ShowMessage(IntToStr(C));
end;

Какое число будет выведено на экран ? :)


 
хм   (2003-07-26 05:19) [76]


procedure TForm1.Button1Click(Sender: TObject);
type
TR=record
case integer of
0:(a,b:word);
1:(scope:integer);
2:(q,w,e,r:byte);
end;
var a:tr;
begin
a.a:=$AABB;
a.b:=$CCDD;
showmessage(inttohex(a.scope,8));
a.q:=$AA;
a.w:=$BB;
a.e:=$CC;
a.r:=$DD;
showmessage(inttohex(a.scope,8));
end;


Чему равно a.scope?


 
PVOzerski   (2003-07-26 05:31) [77]

var
f:file of pChar;
s:pChar="Hello!";
begin
assign(f,"!!!!");
rewrite(f);
write(f,s);
close(f);
end.
Что будет в файле "!!!!"?


 
Marser   (2003-07-26 10:06) [78]

А у меня просто не хочет грузиться :-( Первый раз было уже 5 человек, а потом вообще без ответа.
> PVOzerski ©

Дык, "Hello!", наверно...


 
Anatoly Podgoretsky   (2003-07-26 10:47) [79]

Дык файл то file of pChar;


 
PVOzerski   (2003-07-26 11:18) [80]

2Marser © (26.07.03 10:06)
Если еще не сообразил:
указатель там на строку будет, а не содержимое строки. Вот был бы файл text, тогда было бы Hello.



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

Форум: "Потрепаться";
Текущий архив: 2003.08.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.62 MB
Время: 0.113 c
14-45088
Unknown user
2003-06-11 20:20
2003.08.14
Как определить ширину текста без Canvas


14-45147
gn
2003-07-30 16:23
2003.08.14
Norton Utilities for DOS


14-45157
Ivanesus
2003-07-30 14:34
2003.08.14
HyperThreading и Delphi


14-45161
KSergey
2003-07-30 14:53
2003.08.14
Code Complete


14-45067
Александр из Минска
2003-07-27 18:42
2003.08.14
Обучалка игры на гитаре





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский