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

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

Вернуться   Форум программистов > Операционные системы > Софт
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.07.2009, 03:14   #11
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию Строгость кода

Поддержу evg_m, а вот «снимок рабочего дня» что-то внятное даст относительно профессионала — но не студента.

Судя по обращениям студентов (в эту ветку форума), могут быть весьма расплывчаты сами формулировки* так называемых лаб. А их решения мерить строками... это только ради написания диплома!

Или даже (как это и должно быть) при чёткой и конкретной постановке задачи — вот сравните, насколько разными могут быть решения по числу строк, хоть оба они довольно-таки изящны и обнаруживают весьма основательную подготовку!

Вообще это любопытно — знает ли сеть, сколько и чего я набил на своём терминале (мониторе), пока я это не сохранил и никуда не отправил?!
___________________________
* например: создать (на таком-то языке) матрицу — в виде таблицы на экране? или сначала как двумерный массив? или как массив одномерных массивов...

Последний раз редактировалось Sasha_Smirnov; 18.07.2009 в 04:36.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 18.07.2009, 04:12   #12
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию За рамками дипломного проекта

Пусть чуть-чуть не в тему, но иногда лаба решается в курилке на пачке беломора — а потом уже «набивается» за 5 минут и сразу компилируется. Так бывает не часто, но мой однокурсник (и я) иногда так и делали.

Билл Гейтс и Пол Аллен вообще в самолёте «строчили» свой проект!
Sasha_Smirnov вне форума Ответить с цитированием
Старый 18.07.2009, 05:20   #13
BaronTreep
Форумчанин
 
Регистрация: 29.05.2009
Сообщений: 320
По умолчанию

Нашел такую тему - "Статистический анализ текстов", он кстати используется в поисковиках. Так вот там анализ идет на уровне отдельных слов, то есть на синтаксическом/лексическом уровне. В ЯП смысл находится гораздо "выше" - на семантическом уровне, поэтому по любому нужно писать интерпритатор заточенный под данную лабораторную, либо более общий и использующий базу данных - "номер лабараторной"|"вариант решения".

Вот. Только это всё размышление на тему. Лучше взять пример по проще, например - "написать алгоритм, осуществляющий возведение в степень". Какие тут могут быть варианты:

1. Рекурсия.
2. Цикл, итератор.
3. Через экспоненту.

Относительно нетрудно сделать интерпретатор, заточенный под эту задачку и устанавливающий - в том направлении вообще идет решение (используются ли рекурсия/циклы...), нормальные ли логические связи. В конце концов интерпретатор может для каждой задачи иметь базу тестов, выполнять их и составлять статистику их успешности/неуспешности.
BaronTreep вне форума Ответить с цитированием
Старый 18.07.2009, 15:02   #14
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию База сравнения

Да, действительно нужно какое-то статистическое мерило!

Это только на стадионе априори ясно, что круг 400 м вся группа пробежит за 1—2 минуты.

BaronTreep, а Вы тот случай, когда я сразу ввожу весь код (он у меня, допустим, был в голове; или на флэшке) как обработали бы?

Мой вариант — автосохранение вводимого текста каждые 5 минут, но он, мне кажется, будет «подтормаживать» всю лабу!

P/s: о-го-го вы развили тему! Спасибо. Маленький презент: →

Последний раз редактировалось Sasha_Smirnov; 18.07.2009 в 15:59. Причина: спасибо.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 18.07.2009, 15:37   #15
BaronTreep
Форумчанин
 
Регистрация: 29.05.2009
Сообщений: 320
По умолчанию

Цитата:
тот случай, когда я сразу ввожу весь код (он у меня, допустим, был в голове; или на флэшке) как обработали бы?

Мой вариант — автосохранение вводимого текста каждые 5 минут, но он, мне кажется, будет «подтормаживать» всю лабу!
Это как dy/dt, если dt -> 0, то производная расходится... Чтобы отслеживать процесс во времени нужно чтоб он протекал, а не мгновенно случался. Автор видимо имеет ввиду протяженные л.р. Но тогда (для длительных и сложных работ) способ с интерпретатором получается сложноват (мягко говоря).

А пересылка каждые пять мин. файла с исходным текстом на главный комп. на производительность врят ли окажет влияние.

Как пишут умные люди - "Начинайте разработку с тестов", поэтому хороший вариант - база тестов + их выполнение + результат. Вот так просто, и на творчество нет посягательств.

Например вариант без интерпритатора:
1) Установить шаблон проекта - изначально в main функцию (или в dpr файл) добавляется функция, написанная администратором, учащиеся её менять не имеют права. В функции строится некий способ (интерфейс) для ввода тестов. Можно в лабе указать - использовать переменные с такими-то именами, чтобы с тестовой функцией было проще.
2) Потом все это компилится и возникает exe файл.
3) Сервер мониторит рабочие компы на предмет наличия exe - если нет, то оценка 0 (или минус бесконечность :-).
4) При наличии exe сервер посылает тестовой функции в прогме тесты (например через пар. ком. строки). Тестовая функция работает и пишет статистику.

Примерно так, конечно может получится, что это тоже нереализуемый вариант, но нечто подобноя, как я слышал, иногда используют (может не так топорно).
BaronTreep вне форума Ответить с цитированием
Старый 18.07.2009, 20:35   #16
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

Цитата:
отслеживать успешные и неудачные попытки компиляции (запуски программы)

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

Тут вспомниается история про каких-то двух известных физиков ( я их фамилии забыл). Первый работал профессором, второй все еще был студент и профессор дал ему задание измерить высоту здания, выдав ему барометр. (ну знаете, по разности давления внизу и вверху вычислить высоту здания). Сначала он на веревке спустил барометр и измерил длинну. ЗАтем он придумал еще 5 способов решения этой задачи, так и не воспользовавшись "эталонным".
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс

Последний раз редактировалось ROD; 18.07.2009 в 20:38.
ROD вне форума Ответить с цитированием
Старый 19.07.2009, 00:01   #17
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию Спустимся с небес!

Как и многим учёным-статистикам, похоже, придётся в Вашем проекте достаточно далеко уйти от творческого процесса программирования — и мерить всех «линейкой» — жёстко заданной эталонной шкалой времени.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 19.07.2009, 15:41   #18
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию Се ля ви

Цитата:
Сообщение от BaronTreep Посмотреть сообщение
Как пишут умные люди - "Начинайте разработку с тестов", поэтому хороший вариант - база тестов + их выполнение + результат. Вот так просто, и на творчество нет посягательств.
Как и многим студентам-дипломникам, похоже, придётся в Вашем проекте достаточно далеко уйти от реальности — и мерить всех временн́ыми «спецлинейками» — теми средними результатами, которые накоплены в этой вот базе тестов.

К сожалению, тех знатоков, кто использует встроенные функции, это «вынесет» из подопытной группы!

Например, в одном из языков можно элементы N-мерного массива сложить одной строкой кода:
Код:
SUM(A)
А по моему опыту известно, что «по инерции» б́ольшая часть группы думает: «О! Так это же вложенные циклы, YESSS!»

Получается, что на каждой лабе, где идёт такой хронометраж (по объёму кода), нужно громогласно заявлять: «Забудьте все изящные приёмы программирования и пиш́ите как дети!», что, конечно же, ставит саму идею науки с ног на голову.
Sasha_Smirnov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите пожалуйста как написать или какие разделы/библиотеки изучить для написания программы в делфи7 CeLaVie Помощь студентам 2 27.08.2008 23:47
Процесс - на вкладке процессы, напротив процесса программы должно быть написано SYSTEM Terran Общие вопросы Delphi 3 10.01.2008 21:03
отслеживание загрузки программы ГОСЕАН Общие вопросы Delphi 4 13.12.2007 18:04
Изучение формата написания программы на языке Assembler и ее отладки в симуляторе Av Anna_fors Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 21.08.2007 14:52