Тестовые задания для программистов

confguru

ExAdmin
Команда форума
Автор оригинала: StUV
admin
не, серьезно - что подразумевалось под "парсер всех ссылок на страницы с переходом на следующие"

судя по встречающимся терминам - ничего сложного, а в одно целое что-то никак не связывается (притормаживаю, видимо =)
Ну типа поиского робота паука ,)
Нашел ссылку - загрузи по ссылки - там пропарси
 

Falc

Новичок
Автор оригинала: admin
Ну типа поиского робота паука ,)
Нашел ссылку - загрузи по ссылки - там пропарси
Это задачка на знание регов. а для проверки знания регов можно что-нить и похитрее придумать.
 

senator

Guest
а что вообще такое парсер, что он делает, как работает? где используется?
 

Линк

Guest
парсер (от англ parse) это некая программа, которая что либо разделяет на куски данных. например браузер - парсер HTML. libxml - парсер xml.

Господа говорят об HTML парсере, те программе которая бы доставала все ссылки из страницы и шла по ним

таким образом работают поисковые роботы

вроде я все верно понял
 

Линк

Guest
2lucas а еще он http клиент)) я просто пример привел что б человек понял))

2senator чего рассказать? я чего то Вас не понял)))


да! senator наверное надо еще результаты работы складывать в mysql и строить какую нить хитрую статистику (например индекс цитирования страницы).. Вы ведь хотели php+MysqL задание)
 

Romashov Kirill

Guest
А мне как-то раз в олимпиаде программеров довелось участвовать.
Самый прикол - выбирай одну систему из трёх - Basic, Pascal, С++.
А задания типа такого:
В файле file.txt лежат такие-то данные в таом формате, необходимо обработать эти данные определённым образом и записать результат в файл file2.txt
Самое весёлое - эти задания на пхп делаются в три счёта, а на остальных приходится потеть. Вот и спрашивается - не чтобы нормальный язык установить!

php по нормальным языком имею в виду.
 

Burunduk-13

[CBT], Старожил РНРClub'a
Автор оригинала: Romashov Kirill
А мне как-то раз в олимпиаде программеров довелось участвовать.
......
Самое весёлое - эти задания на пхп делаются в три счёта, а на остальных приходится потеть.
.....
На странных ты олимпиадах по програмированию участвовал.
На всех олимпиадах по програмированию, на которых я участвовал, ставка делаеться на то, что программист должен придумать быстрый алгоритм нетривиальной задачи. Все нормальные задачи придумываются так, чтобы ее можно было реализовать на любом языке програмирования под любой осью. На таких олимпах наоборот нельзя использовать специфиччные компилятору фишки.

Я не думаю, что на php можно реализовать быстрый алгоритм какой-нить средней олимпиадной задачи, так как IMHO в скорости интерпретатор php проиграет любому другому языку програмированию. А встроенных алгоритмов в php явно не хватает для решения задачи, так как в php не включаются нетривиальные алгоритмы (ну кроме поддержки длинной арифметики и чего-нить еще незначительного).

RK>Самое весёлое - эти задания на пхп делаются в три счёта, а на остальных приходится потеть.
можно пример такого олимпиадного задания?
 

Romashov Kirill

Guest
RK>Самое весёлое - эти задания на пхп делаются в три счёта, а на остальных приходится потеть.
можно пример такого олимпиадного задания?
Это олимпиада районного масштаба. Не особо сложные задания. У меня где-то были распечатки заданий, но сейчас не вспомню где. Вот например одно:
В файле 1.txt лежат рез-ты
Петя 1 5 10 3
Вася 10 5 3 15
Даша 11 1 4 3
Надо в файл 2.txt сохранить 4 таблицы типа:
1 конкурс:
1. Даша - 11 баллов
2. Вася - 10 баллов
3. Петя - 1 балл
2 конкурс:
....
И общую таблицу, отсортированную по сумме очков.

Вообще-то халява.
Про другие языки я сказал к тому, что перед этой олимпиадой (года 1,5 назад) я активно учил пхп. На другие языки внимание не уделил - и пролетел.
Сейчас начинаю Delphi учить. Прикольно.
 

Burunduk-13

[CBT], Старожил РНРClub'a
>Это олимпиада районного масштаба.
ну тогда понятно, извини.
Я сравнивал с олимпиадами республиканского (всеросийского) и международного уровня.

Но знаешь, такие задачи надо тоже уметь писать. А то привыкнеш к php, и потом будешь думать, где тебе на любом подручном компе взять сервер и php для того, чтобы показать свою программу. А так скомпилил и в путь.
 

Romashov Kirill

Guest
>Это олимпиада районного масштаба.
ну тогда понятно, извини.
Я сравнивал с олимпиадами республиканского (всеросийского) и международного уровня.

Но знаешь, такие задачи надо тоже уметь писать. А то привыкнеш к php, и потом будешь думать, где тебе на любом подручном компе взять сервер и php для того, чтобы показать свою программу. А так скомпилил и в путь.
Да, я знаю. Уже Delphi под руководством брата учу. Он уже Delphi до малейшей детальки знает. Прог кучу написал.
 

si

Administrator
Код:
#!/usr/bin/perl -w
use strict;

my %DAta = ();
my $count = 0;
my $input_file = 'input.txt';
my $output_file = 'output.txt';
my $i=1;

open (FIN, "< $input_file") or die("Can not open file for read ($!)\n");

while (<FIN>){
 	chomp;

	my ($name,@results) = split;

	$data{$name} = [ @results ];

	$count = scalar(@results) unless($count);
}

close FIN;

open (FOUT, "> $output_file") or die("Can not open file for write ($!)\n");

while ($i<=$count) {
	print FOUT "Конкурс: $i\n";

	foreach(sort { $data{$b}->[$i-1] <=> $data{$a}->[$i-1] } keys %DAta){
		print FOUT "$_ - ",$data{$_}->[$i-1]," баллов\n";
	}
	print FOUT "\n";

	$i++;
}
написано за 10 мин с отладкой, проверкой результатов +1 телефонный разговор не по теме :)

понятно что данная программа будет проигрывать в скорости программе написанной на си например, НО сколько времени пойдет у человека на написание и отладку такой программы (весьма примитивной). Я как уже сказал выше, получил результат через 10 мин после прочтения вопроса, и если использовать это программу необходимо 1 раз (или раз в месяц) и не на гигабайтах данных, имхо подобный вариант и будет самым быстрым (учитывая время разработки)
 

si

Administrator
вот кстати результат :)
#>cat output.txt
Конкурс: 1
Даша - 11 баллов
Вася - 10 баллов
Петя - 1 баллов

Конкурс: 2
Вася - 5 баллов
Петя - 5 баллов
Даша - 1 баллов

Конкурс: 3
Петя - 10 баллов
Даша - 4 баллов
Вася - 3 баллов

Конкурс: 4
Вася - 15 баллов
Даша - 3 баллов
Петя - 3 баллов
 

Burunduk-13

[CBT], Старожил РНРClub'a
понятно что данная программа будет проигрывать в скорости программе написанной на си например, НО сколько времени пойдет у человека на написание и отладку такой программы (весьма примитивной). Я как уже сказал выше, получил результат через 10 мин после прочтения вопроса, и если использовать это программу необходимо 1 раз (или раз в месяц) и не на гигабайтах данных, имхо подобный вариант и будет самым быстрым (учитывая время разработки)
полностью согласен.

А вот реальная олимпиадная задачка:
Найти длину максимальной общей подстроки двух строк.
Подстрока - это строка, из которой вычеркнули некоторое количество символов (от 0 до длины строки).
Если я не ошибаюсь, то длина каждой строки где-то до 100 символов. Ограничение по времени - 5 секунд.
 

Ямерт

The Old One
Я не думаю, что на php можно реализовать быстрый алгоритм какой-нить средней олимпиадной задачи, так как IMHO в скорости интерпретатор php проиграет любому другому языку програмированию
si, не помнишь какой мы тест гоняли с чтением и обработкой тескта (я, ты и АнтоХа)? Проги были написаны на C, PHP, Java, тест был на скорость выполнения задачи.
Я только помню, что на первом был C (или АнтоХа использовал C++?), на втором - Java, на третьем - PHP, с существенным отставанием.
 

si

Administrator
Я только помню, что на первом был C (или АнтоХа использовал C++?), на втором - Java, на третьем - PHP, с существенным отставанием.
так и было, поэтому скрипт я на перле и написал, он очень быстр для подобных задач.
 

василыч

Guest
Где-то было сказанно, что программист рождается один в 200 лет :)
В каждой шутке доля правды... :(
У меня в группе например из 30 с лихуем человек только 4 будут настоящими программистами. Не включая меня, тугодума тупого. Вот так вот.
Дкло тут не в задачках по пхп, а в общем умственном развитии, умении действительно ЛОГИЧЕСКИ МЫСЛИТЬ, быстро и правильно создавать алгоритм.

Я вот сейчас сижу и вспоминаю, какая сволочь мне предложила хэтэмээлом этим сраным заняться? Занялся я хтмлом, поом JS, потом - PHP, а потом - институт на программера и весёлое осознание того, что НЕ ПОТЯНУТЬ.
Э-эх...

senator
с твоими вопросами, которые ты тут задаёшь, тебе только и на работу устраиваться... постеснялся бы...
 
Сверху