Отправляет email-рассылки с помощью сервиса Sendsay

Программирование на Delphi

  Все выпуски  

Программирование на Delphi . Подведение итогов конкурса


Информационный Канал Subscribe.Ru

Программирование на DELPHI
 
Разделы рассылки:
Разделы сайта:
Подведение итогов конкурса №2.


Доброго времени суток , уважаемые читатели!

Пришло время подвести итоги конкурса, который проводился довольно давно. Напомню, что нужно было ответить на 10 вопросов, связанных с Delphi. В конкурсе приняло участие довольно много читателей. Многих из них я "видел" впервые. До сих пор не могу понять, почему многие из вас не "участвуют" в рассылке, т.е. не задают вопросов, не отвечают на вопросы других. Большое количество аудитории и в конкурсах участия не принимает. Ну да ладно, не будем о грустном. Итак, перейдём непосредственно к прошедшему конкурсу...

Количество подписчиков: 2113.


Ответы на вопросы конкурса и общие результаты.

Ну что же, сначала разберём каждый вопрос в отдельности и найдём правильный ответ.

1. Разработчиком Delphi является:
A. Microsoft.
B. Borland.
C. Discreet.
D. Norton.

Вопрос простейший и абсолютно все ответили правильно. Верный ответ, естественно, B (Borland).

2. На Delphi можно писать...
A. Всё, что угодно.
B. Только приложения, работающие с БД.
C. Только web-приложения.
D. Только драйвера.
E. Всё, кроме БД-приложений.
F. Всё, кроме Web-приложений.
G. Всё, кроме драйверов.

Пожалуй, это был один из самых трудных вопросов, если вообще не самый трудный... Я безусловно согласен с большинством: Delphi - очень мощная и гибкая система. Именно это большинство и ответило A, что можно писать всё, что угодно. Спешу вас разочаровать, что это не так. Верный ответ: G. На Delphi нельзя писать драйвера, т.к. нет необходимых средств для отладки. Многие из вас потеряли на данном вопросе 2 балла.

3. Среда Delphi разработана в Delphi...
A. Да.
B. Нет.

Здесь голоса примерно поровну разделились. Как это не банально и тупо звучит, но Delphi действительно написан на Delphi, т.е. на самом себе. Видимо, 1-ая версия Delphi (которую вы вряд ли где-то найдёте; если найдёте - сообщите! ;)) была написана на каком-то другом языке программирования (скорее всего, на C++, но не могу сказать с уверенностью), но все последующие версии пишутся именно на предыдущих. Это легко проверить, если определить классы окон самой Delphi-оболочки. Правильный ответ: A.

4. Программу можно скомпилировать, даже если в коде есть ошибки, но тогда эти ошибки проявятся при выполнении программы...
A. Да.
B. Нет.

Чистое враньё. Правильный ответ: B. Удивительно, но некоторые посчитали это возможным и ответили A...

5. На Delphi можно создавать приложения для Linux:
A. Нет.
B. Да.

Второй по сложности вопрос. Здесь мнения также разделились примерно 50/50. Ответ: B. Создавать приложения для Linux можно, хотя и несколько экзотическими и порой неудобными способами.

6. Есть ли в Delphi поддержка RTL-библиотек (RunTime Libraries), как в Visual Basic?
A. Есть.
B. Нет.

Однозначно есть! Runtime Libraries - файлы *.bpl, расположены в системном каталоге Windows (system32 или system). Очень удобная, однако, вещь. Если вам нужно перенести программу на другой компьютер, то можно скомпилировать её в RTL-режиме и её размер уменьшится до удивительных размеров - примерно 20-30 Кб. Однако запустить её можно будет на другом компьютере только в том случае, если на нём есть эти библиотеки. Устанавливаются они одновременно с установкой Delphi, однако можно их и вручную скопировать, только "весят" они в несколько раз больше, чем ваша программа (стандартные библиотеки ~4 Мб).

7. Выполнение кода:

var List: TStrings;
i: integer;
...
for i:=0 to List.Count do
Memo1.Lines.Add(List[i]);

приведёт к:
A. Выводу всех строк List в Memo1.
B. Очистке List.
C. Ошибке.
D. Закрытию программы.

Большинство ответили верно - этот код вызовет ошибку. ListCount - число элементов списка, а в цикле идёт перебор всех этих элементов, начиная с 0, а не с единицы, а Count, будучи натуральным числом, начинается с единицы. Например, если в списке будет 5 элементов, то List.Count = 5, а вот последний элемент этого списка будет иметь индекс 4, а не 5, так как индекс идёт с нуля. На последнем этапе получаем: i = 5, Memo1.Lines.Add(List[5]); List[5] - несуществующее значение, отсюда и ошибка (C).

8. Какой из перечисленных типов включает в себя наибольший диапазон значений?
A. Single.
B. Double.
C. Extended.

И здесь ответили правильно далеко не все. Интересно, как все пишут программы? Наверное, многие ставят тип переменных просто наугад, не экономя память? Привыкайте определять перменные тем типом, который наиболее к ней подходит. Не загружайте дополнительную память и не берите такие типы, что значение переменной может выйти за диапазон этого типа. Правильный ответ: C. Можно было и в справочном руководстве, которое идёт вместе с Delphi, посмотреть :)

9. Можно ли запустить программу из Delphi с командными параметрами или только через Windows?
A. Можно.
B. Нельзя.

Естественно можно. Run - Parameters. Правильный ответ: A.

10. Укажите ДВЕ известные программы, написанные на Delphi:
A. Microsoft Word.
B. The Bat!.
C. Windows Commander.
D. 3D Studio MAX.

Третий по сложности вопрос из всех. Радует то, что почти никто не ответил, что Word на Delphi пишут :) Конечно же нет, Microsoft такие средства не использует. Популярный почтовый клиент The Bat! как раз написан на Delphi. Он - один из показателей того, что Delphi - мощная система. Многие сказали, что 3D Studio MAX также смастерили в Delphi, но это, конечно же, не так. Delphi не предназначен для написания таких программ. Точнее, написать их можно, но это очень неудобно. Вероятно, многие не знают, что такое 3DS Max. Это огромнейшая система трёхмерного моделирования, которой пользуются большинство разработчиков компьютерных игр и простых дизайнеров. Методом исключения остаётся, что Windows Commander, популярный файловый менеджер, также сделан в Delphi. Это так и есть. Правильные ответы: B, C.


Ну а теперь торжественный момент - награждение победителя (барабанная дробь)!

Собственно, победителя у нас нет, т.к. никто не ответил правильно на все вопросы. Многие ответили на 9 из 10 вопросов, что очень неплохой результат. Публиковать имена всех участников конкурса, конечно, не нужно. Посмотрите свои ответы и сравните с предложенными. Каждому из вас на "личный счёт" добавлено количество баллов, которое является удвоенным числом правильных ответов (5 прав. ответов = 10 баллов, 7 ответов = 14 баллов, 9 ответов = 18 баллов).

Отдельно хочу обратиться к тем, кто принял участие в конкурсе, но не отвечает на вопросы, задаваемые в рассылку: если вы будете работать в таком темпе, то ваши "аккаунты" станут недействительными. Иметь счёт с баллами просто бессмысленно в этом случае. Задумайтесь над этим. Никто не заставляет вас теперь не читать рассылку: если вы просто читаете её и не хотите помогать другим, то читайте на здоровье, но в конкурсах тогда лучше не участвовать. Очень хотелось бы, чтобы было наоборот, - чтобы всё больше и больше читателей отвечали на задаваемые вопросы, делились бы своими ссылками/файлами.

Ну вот и всё на сегодня. Удачи!

Ваш покорный слуга, Андрей.

 

http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphifaq
Отписаться

В избранное