Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Песочница > Программы на бумаге


Автор: Innuendo 14.4.2006, 17:26
Хотелось бы услышать ваше мнение...
Вот у нас все экзамены по информатике, бакалавр и т.д сдаются на бумаге. Даются парочку заданий по теории и потмо 3 программы. Там такие программы, что без компа не обойтись.. Они даже не сколь сложные, сколь громоздкие... Очень легко сделать ошибки в этих вложенных до кучи в циклах, двумерных массивах и т.д.
Там оценивание идёт по полной. Заводят программу в комп и если всё правльно то все баллы. За каждую ошибку или недочёт по баллу снимает...
Как вы считаете? Это нормально писать программы на бумаге? Или надо контрольные/экзамены писать на компе, нормально как всегда, постепенно дорабатывая, исправляя ошибки и т.д.


П.С.Я на олимпиаде больше решаю, чем на контроше по информатике на бумажке smile

Автор: Void 14.4.2006, 17:36
Цитата(Innuendo @ 14.4.2006, 19:26 Найти цитируемый пост)
Это нормально писать программы на бумаге?

Если оценивают таким образом:
Цитата(Innuendo @ 14.4.2006, 19:26 Найти цитируемый пост)
Заводят программу в комп и если всё правльно то все баллы. За каждую ошибку или недочёт по баллу снимает...

то ненормально. Либо проверять точно также глазами по бумаге — общий алгоритм, а не число опечаток, либо разрешать пользоваться компилятором, имхо.

Автор: Innuendo 14.4.2006, 18:14
Вот именно, что нужен компилятор...
Вот нам на контроше дали задание типа 2 парня загадывают 8 чисел случайных в диапозане 1-40. Каждый загадает не повторяющиеся числа. Вывести на экран все числа которые они загадали(без повторений), те которые загадали они оба.
Это вообще умножение и сложение множеств... Но множества, как я помню, нигде кроме вара не заводятся (в паскале)... Приходится с массивами работать... Ну я начал рэндомом заполнять, проверять на повторяемость, чтоб не был в одном массиве одинаковым чисел.. Потм перебором их складывать и искать общие.. Конечно в этих всех циклах наделал ошибок не значительных (за комп сел, за 3 минуты всё исправил)... но балл намного снижен... Как такое с первого раза завести на бумаге? за компом-раз плюнуть smile

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

Автор: SoWa 14.4.2006, 18:19
Знаешь, напиши прогу на бумаге, нарисуй рядом "Ctrl+F9" и окошко дебаггера. smile И все прекрасно.

Автор: DezmASter 14.4.2006, 18:22
бредятина. на компе легче.

Автор: Innuendo 14.4.2006, 18:25
Но как с этим бороться? я думаю в 12-ом классе, на бакалавре экзамен по выбору выбрать информатику (так как в истории, географии и биологии я ноль)... Но писать 3 задачи чутос слабее олимпиадного уровня на бумаге как-то не хочется smile

Автор: DezmASter 14.4.2006, 18:29
Innuendo, бороться протестами и митингами. Революцию затейте что-ли smile

Автор: Void 14.4.2006, 18:59
Цитата(Innuendo @ 14.4.2006, 20:14 Найти цитируемый пост)
Но множества, как я помню, нигде кроме вара не заводятся (в паскале)...

Вот этого пассажа, честно говоря, не понял.

Да и вообще задача решается куда проще (не пинать, я Паскаль почти забыл):
Код

var a: array[1..40] of Integer;
    i: Integer;

begin
    for i := 1 to 8 do
    begin
        Inc(a[Random(40)]);
        Inc(a[Random(40)])
    end
    for i := 1 to 40 do
        if a[i] > 0 then Write(a[i]); (* все названные числа *)
    Writeln;
    for i := 1 to 40 do
        if a[i] = 2 then Write(a[i]) (* те, которые загадали оба *)
end.

Innuendo, согласись, что здесь ошибится гораздо сложнее, а ты сам себе изобрел сложности smile Хотя писать программы, конечно, надо с компилятором.

Автор: Innuendo 14.4.2006, 19:41
Void, множество это set.
Чем они удобней, что сумма(объединение), умножение, вычитание- стандартные функции. set заполняется вручную (в варе или в тайпа), а во время хода программы заполнить нельзя smile Поэтому приходится массивами работать, а там уже не сколь сложно, сколь вслепую сложно smile

Автор: Serkys 14.4.2006, 20:28
А у нас хорошо. На бумаге мы только алгоритмы пишем, да блок-схемы рисуем. А на контрольных нас или рассаживают по одному за комп (меня за одиноко стоящий учительский - чтобы не подсказывал smile ) и раздают задания. А на письменных контрах идёт теория и готовые части программ, в которые надо или строчку нужную вставить, или ошибку найти. Удобно, знаете ли.
А программы на бумаге - это беспонт. У меня вся блок-схема перечёрканая получется, а прога вообще наверное будет ужасной.
Добавлено @ 20:31
Насчёт множеств - нам давали задачи, которые массивами было решить куда проще, но т.к. проходили множества, то приходилось решать на множества.

Автор: asdf 14.4.2006, 20:35
Цитата(Innuendo @ 14.4.2006, 17:26 Найти цитируемый пост)
Там оценивание идёт по полной.

Цитата(Innuendo @ 14.4.2006, 17:26 Найти цитируемый пост)
Заводят программу в комп и если всё правльно то все баллы. За каждую ошибку или недочёт по баллу снимает

хотел бы я на это посмотреть smile

проголосовал на бумаге, т.к. мне это доставило бы несравнимо большее удовольствие чем, лишний балл к оценке

Это сообщение отредактировал asdf - 14.4.2006, 20:43

Автор: Chrisstoff 14.4.2006, 23:32
Цитата

Void, множество это set.
Чем они удобней, что сумма(объединение), умножение, вычитание- стандартные функции. set заполняется вручную (в варе или в тайпа), а во время хода программы заполнить нельзя smile Поэтому приходится массивами работать, а там уже не сколь сложно, сколь вслепую сложно smile

хммм... интересное почему это множества нельзя заполнять в рантайме...
компиль smile
Код

program Project1;

{$APPTYPE CONSOLE}

var
    Num: set of Byte;

begin
    Num := [ 0..9 ];
end.

Автор: DeadSoul 15.4.2006, 01:13
Цитата(Innuendo @ 14.4.2006, 17:26 Найти цитируемый пост)
Очень легко сделать ошибки в этих вложенных до кучи в циклах, двумерных массивах и т.д.

Вводи функции. Код каждой функции будет коротким и читабельным.
Цитата(Innuendo @ 14.4.2006, 17:26 Найти цитируемый пост)
За каждую ошибку или недочёт по баллу снимает...

Маразм. Я не уверен, что мой код скомпилируется

Автор: Innuendo 15.4.2006, 09:10
Цитата(DeadSoul @ 15.4.2006, 01:13 Найти цитируемый пост)
Маразм. Я не уверен, что мой код скомпилируется

аналогично

Цитата(Serkys @ 14.4.2006, 20:28 Найти цитируемый пост)
по одному за комп (меня за одиноко стоящий учительский - чтобы не подсказывал smile )

меня это так кумарит уже... Чувствуешь как-то не ловко себя...smile


Цитата(Serkys @ 14.4.2006, 20:28 Найти цитируемый пост)
На бумаге мы только алгоритмы пишем, да блок-схемы рисуем.

Вот так это хорошо, но чоб полностью программы заводить и чтоб они скомпилировались.


Цитата(asdf @ 14.4.2006, 20:35 Найти цитируемый пост)
хотел бы я на это посмотреть smile

ну насчёт департаментских работ не знаю, но наши местные школьные работы так и проверяются... Причуди информатички... она думает что он должен скомпилироваться сразу, кстати как она баллы снимает я не знаю, потому что она не особо может исправить ошбки в чужой программе, будь она даже простенькая...

Автор: DeadSoul 15.4.2006, 11:39
Цитата(Innuendo @ 15.4.2006, 09:10 Найти цитируемый пост)
потому что она не особо может исправить ошбки в чужой программе, будь она даже простенькая...


Innuendo, ты видел код в темах вида "Моя лаба не работает"? Там очень трудно искать ошибки, т.к. стиль написавшего обычно оставляет желать лучшего

Автор: Fixin 16.4.2006, 14:46
Когда егэ тренировался писать - тоже думал, что за *** - без компа-то. Потом написал, жив, причем писал на ненавистном паскале... Но там все-таки, наверное, также и проверяли глазками. А задание было... читать из файла таблицу, сортировка её, подсчет статистики, вывод всего в файл - новая таблица. Жопа полная... 

Автор: Innuendo 16.4.2006, 20:36
Цитата(Fixin @  16.4.2006,  14:46 Найти цитируемый пост)
Жопа полная...  

Вот именно, что просто за компом это задание кажется не сложным, просто нудноватым... Но на бумаге это будто ты без глаз...

Я считаю что на бумаге надо писать какие-то задачи, где надо думать над самим алгоритмом... Не какие-то стандартные функции с переборами массивов и т.д... а просто найти какое-то хорошее решение.. Тут главное работа мозгов, и на бумагу легко нанести... А вот эти все переборы на бумаге бесят... 

Автор: ivashkanet 16.4.2006, 20:44
Мое мнение: твоя училка сама не шибко знает информатику (чё смеетесь? таких полно!), 
а потому она уверена, что все должны программы писать на листочке и без одной ошибки.
А компилятор только будеттебе только "подсказывать" smile 
Поэтому и не допускает к компу.

Когда я преподавал в школе (да был такой грешок) я давал на выбор: на компе (исправлено) пишешь или на бумаге. На листе для начинающего легче (пока найдешь нужную кнопку...). 
И все равно на листе не снижал оценки за пунктуацию (ну там точки с запятой, запятые, ...).
Для меня главное было правильная идея, а с ней (идеей) любую программу можно написать.

P.S. Проголосовал за комп, но это мое ИМХО. А так кому как удоюнее  smile 

P.P.S. Void, ну ты конечно, завернул! 
Не сразу с твоим решением разобрался  smile Это ж надо было, так перевернуть задачу! 
Анализировать не числа выбранные участниками, а наоборот, как будто числа сами выбирают участников  smile 
В общем классное решение, нестандартно мыслишь!  

Автор: Void 16.4.2006, 21:36
ivashkanet, большинство реализацией множеств в Паскале работают по такому же принципу (отсюда и ограничение на число элементов). Так что ничего особенного в этом решении нет. 

Автор: Serkys 16.4.2006, 21:56
Цитата(ivashkanet @  16.4.2006,  21:44 Найти цитируемый пост)
 я давал на выбор: на листе пишешь или на бумаге.

Да ты вообще садюга smile  

Автор: darkart 16.4.2006, 22:09
Да, помню на первом курсе зачет по аудиторной практике:
Удалить в кольцевом двунаправленном списке  элементы, распологающиеся между двумя одинаковыми(имеется в виду ключ). Правда проверяли глазами, но все ф-ции(создание, инициализация, ввод... ). 

Автор: Innuendo 16.4.2006, 22:11
Цитата(ivashkanet @  16.4.2006,  20:44 Найти цитируемый пост)
(чё смеетесь? таких полно!), 

не, ну это не обсуждается... Покажите мне информатичку, которая понимает... У нас вообще понимают матерьал только те, кто заинтересован в этом...
Моя информатичка слышала где-то слово "Дельфи" и теперь использует его где угодно- думает умнее становится smile Как-то приношу работу какую-то... там на яваскрипте, открываю в блокнотике поправить, а она сразу: "О! Это Дельфи?"  smile  smile 

Цитата(ivashkanet @  16.4.2006,  20:44 Найти цитируемый пост)
Для меня главное было правильная идея, а с ней (идеей) любую программу можно написать.

Если бы наша училка могла вылавливать идею в написанных программах. Она же только то, что в учебнике написано понимает... шаг в сторону и уже дремучий лес.. К примеру работали как-то со строками...
Идёт перебор символов в строке... В учебники написано for i:=1 to length(s) do... Я написал for i:=1 to ord(s[0]) do... что одно и тоже... Оно подчеркнула, и сняла балл smile 

Автор: Void 16.4.2006, 22:16
Цитата(Innuendo @  17.4.2006,  00:11 Найти цитируемый пост)
Идёт перебор символов в строке... В учебники написано for i:=1 to length(s) do... Я написал for i:=1 to ord(s[0]) do... что одно и тоже... Оно подчеркнула, и сняла балл smile  

Я бы тоже снял. Учитель, быть может, и в самом деле ничего не смыслит и проверяет по шаблону. Но второй вариант менее очевиден и подразумевает использование нестандартизированной реализации строк, пусть и самой распространенной. 

Автор: Innuendo 16.4.2006, 23:07
Почему? ведь выподнит он одинаково. не навижу слово length... Куча слов в английском где наоборот идёт сочетание "ht"... и всегда ошибаюсь в этом слове smile 

Автор: Void 16.4.2006, 23:11
Innuendo, это называется «закладываться на детали реализации». Думаю, сейчас тебе быстро объяснят насколько это плохо в реальных проектах smile
Цитата(Innuendo @  17.4.2006,  01:07 Найти цитируемый пост)
Куча слов в английском где наоборот идёт сочетание "ht"... и всегда ошибаюсь в этом слове

smile
 

Автор: Exception 17.4.2006, 02:19
Прошу снять мысленно один голос из бумаги и добавить к компу. Я вчера был не в том состоянии, чтобы понять смысл этой темы, а потому выбрал вариант наугад smile . 

Автор: ТоляМБА 17.4.2006, 06:09
Цитата(Innuendo @  16.4.2006,  23:07 Найти цитируемый пост)
Куча слов в английском где наоборот идёт сочетание "ht"... и всегда ошибаюсь в этом слове
БРАТАН!!! 

Автор: ivashkanet 17.4.2006, 07:59
Цитата(Serkys @  16.4.2006,  21:56 Найти цитируемый пост)
Да ты вообще садюга   

Еще какой!!!
Ошибся паца, сильно не бейте  smile

Добавлено @ 08:03 
Цитата(Void @  16.4.2006,  21:36 Найти цитируемый пост)
ivashkanet, большинство реализацией множеств в Паскале работают по такому же принципу

Да..., значит я чего-то не до понял, когда учил Pascal (Пасцалsmile

Добавлено @ 08:08 
Цитата(Void @  16.4.2006,  23:11 Найти цитируемый пост)
Innuendo, это называется «закладываться на детали реализации»

Ученику в школе это знать не обязательно, ИМХО.

Но, Innuendo, есть всетаки какие-то стандарты 

Автор: batigoal 17.4.2006, 08:56
Я, например, считаю, что давать при приеме на работу набросать небольшое, но разностороннее приложение на бумаге (и проект, и код) - это нормально и правильно. Но при этом, разумеется, никто не будет проверять его на работоспособность - оценивать тоже надо визуально. 

Автор: Innuendo 17.4.2006, 18:01
Цитата(Lamer George @  17.4.2006,  08:56 Найти цитируемый пост)
Я, например, считаю, что давать при приеме на работу набросать небольшое, но разностороннее приложение на бумаге (и проект, и код) - это нормально и правильно. Но при этом, разумеется, никто не будет проверять его на работоспособность - оценивать тоже надо визуально.  

вот, вот... набросать алгоритм это можно, и нужно... а проверять на работоспособность это уже бред... мы же не компиляторы... 

Автор: Ignat 17.4.2006, 19:09
Innuendo, в этом есть и плюс, и минус...
Положительное в этой ситуёвине то, что появится навык писать "прозрачный" код. Т.е. код, в котором самому легко разобраться и найти ошибки.
Про отрицательную часть наговорили уже, т.е. скверная оценка по предмету при хороших знаниях.

Замечу, что если это инициатива вашей преподавательницы/сотрудника РайОНО (ну или что-то вроде), то это должно достаточно легко решиться жалобой в вышестоящие инстанции. Причем жалоба должна исходить не от тебя, а от группы заинтересованных родителей. 

Автор: Innuendo 17.4.2006, 21:44
Цитата(Ignat @  17.4.2006,  19:09 Найти цитируемый пост)
Замечу, что если это инициатива вашей преподавательницы/сотрудника РайОНО (ну или что-то вроде), то это должно достаточно легко решиться жалобой в вышестоящие инстанции. Причем жалоба должна исходить не от тебя, а от группы заинтересованных родителей.  

ближе к экзамену на баке подумаю что делать... 2года ещё smile 

Автор: sergejzr 17.4.2006, 21:57
Void, ты не учёл, что a[random(40)] может в процессе получится больше 2. Так что парой строк там не отделаешься. 
Если бы я был учителем, то синтактические ошибки (типа семиколона) не считал бы. А вообще тренироваться надо писать проги без ошибок. Со временем более менее получается. 
А маразм писать на бумаге или нет - об этом спору не может быть. Как задача поставлена, так её и решаем.  

Автор: Void 18.4.2006, 00:12
sergej.z, истину глаголешь smile Каюсь. Прибавляем с пяток строчек и решение все равно остается более прозрачным, чем вариант Innuendo.

Цитата(sergej.z @  17.4.2006,  23:57 Найти цитируемый пост)
А вообще тренироваться надо писать проги без ошибок. Со временем более менее получается. 

На клавиатуре… Пусть без компилятора, но на клавиатуре smile Ручка/карандаш — крайне неудобны. 

Автор: ТоляМБА 18.4.2006, 05:53
Может маленько не в тему, но когда однажды долго разбирался с прогой (долго работала), по экрану ездил-ездил туды-сюды, не мог найти, - распечатал листинг, разложил на столе, посмотрел, и за час-два откатал все слабые места и прога залетала. 

Автор: Ignat 18.4.2006, 09:00
Цитата(ТоляМБА @  18.4.2006,  06:53 Найти цитируемый пост)
ожет маленько не в тему, но когда однажды долго разбирался с прогой (долго работала), по экрану ездил-ездил туды-сюды, не мог найти, - распечатал листинг, разложил на столе, посмотрел, и за час-два откатал все слабые места и прога залетала.  


Я когда рефакторю чей-то код, часто так делаю... Листинг и карандаш. Хорошо помогает. 

Автор: sergejzr 18.4.2006, 12:15
Потому что "по бумаге" мозги лучше работают. Элементарное доказательство - чтение книги. Я лично с экрана очень плохо вчитываюсь. 

Автор: Innuendo 18.4.2006, 15:13
Цитата(Void @  18.4.2006,  00:12 Найти цитируемый пост)
На клавиатуре… Пусть без компилятора, но на клавиатуре smile Ручка/карандаш — крайне неудобны.  

для меня один фиг- на клаве, или ручкой... За компом этоя  имею ввиду в среде программирования smile с компилятором и с проверкой того, что ты делаешь smile

Цитата(sergej.z @  18.4.2006,  12:15 Найти цитируемый пост)
Потому что "по бумаге" мозги лучше работают. Элементарное доказательство - чтение книги. Я лично с экрана очень плохо вчитываюсь.  

ну это чуть не то... Но я кстати вообще с монитора читать не могу. Приходится идти печатать, если очень надо. А вот мой друг (псих) всё читает за компом. Даже по литературе там задавали "Герой нашего времени", "Отцы и Дети" и т.д. Он всё прочитал с монитора smile 

Автор: Void 18.4.2006, 16:41
Цитата(Ignat @  18.4.2006,  11:00 Найти цитируемый пост)
Я когда рефакторю чей-то код, часто так делаю... Листинг и карандаш. Хорошо помогает.  

Только листинг ты перед этим распечатываешь, а не ручками переписываешь smile 

Автор: Ignat 18.4.2006, 16:50
Цитата(Void @  18.4.2006,  17:41 Найти цитируемый пост)
Только листинг ты перед этим распечатываешь, а не ручками переписываешь

Дык ясен пень  smile 

Это же я в тему Толямбе говорил. 

Автор: sergejzr 19.4.2006, 23:21
Ручкой писать - другой прикол. Стараешься ошибок не делать, потому что пологаться на компилятор нельзя. 

Автор: Innuendo 20.4.2006, 14:06
Цитата(sergej.z @  19.4.2006,  23:21 Найти цитируемый пост)
Ручкой писать - другой прикол. Стараешься ошибок не делать, потому что пологаться на компилятор нельзя.  

тем более сразу написать я не могу.. приходится 2 листика иметь- черновик и чистовик.. потому что я всегд что-то добавляю, вставляю, а как вставить на бумаге.. поэтому мясо на бумаге smile 

Автор: sergejzr 20.4.2006, 14:24
Ну, когда по математике надо теоремку доказать - примерно тоже самое.. 

Автор: nikitao 20.4.2006, 15:55
До сих пор помню,как мне снизили оцену за то,что я вместо точки по привычке запятую поставил у вещественного числа  smile  

Автор: Innuendo 20.4.2006, 17:32
Цитата(nikitao @  20.4.2006,  15:55 Найти цитируемый пост)
До сих пор помню,как мне снизили оцену за то,что я вместо точки по привычке запятую поставил у вещественного числа 

Ну это такое что надо запомнить раз и навсегда smile
А вот за точку-с-запятой в паскале снижать не надо smile
Да и вот за несочетнаие типов снижают... Я же программу заведу, мне выдаст ошибку-"неосчетание типов", ну исправлю, и в чём проблема... эх... 

Автор: armageddon 25.4.2006, 21:28
мне кажется это бредом писать проги на бумаге, ведь в программе важно не то, поставлена ли здесь ; или правильно у вещественного типа . или , -все эти ошибки компилятор найдет и программисту не составит труда их исправить, а то как с точки зрения алгоритма написана прога 

Автор: batigoal 25.4.2006, 21:45
Цитата(armageddon @  25.4.2006,  22:28 Найти цитируемый пост)
мне кажется это бредом писать проги на бумаге, ведь в программе важно не то, поставлена ли здесь ; или правильно у вещественного типа . или , -все эти ошибки компилятор найдет и программисту не составит труда их исправить, а то как с точки зрения алгоритма написана прога  

Так вот как раз это и на бумаге нетрудно проверить. 

Автор: darkart 25.4.2006, 21:46
А вы не замечали, что иногда , у некоторых личностей написание кода на компе превращается в метод случайного поиска(научного тыка)? 

Автор: Void 25.4.2006, 21:51
darkart, замечали, как же. Этим личностям, увы, поможет только смена направления деятельности, но никак не замена компьютера на бумагу с ручкой, имхо. 

Автор: darkart 25.4.2006, 22:05
Void, тем более нельзя за комп пускатьsmile пусть сначала докажут, что умеют программировать, а не писать программы, имхо. 

Автор: nikitao 26.4.2006, 16:16
Цитата(Lamer George @  25.4.2006,  22:45 Найти цитируемый пост)
Так вот как раз это и на бумаге нетрудно проверить. 

Дык алгоритмы ж пол года на бумажке рисовали. smile .Зачем теперь то проверять. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)