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

Вниз

Как нас учат   Найти похожие ветки 

 
Oleg_Gashev   (2002-07-16 01:00) [0]

Сегодня на занятиях преподаватель дал задание:
Есть шестизначное число.
В числе:
Первая цифра единица. В числе должны быть три восьмерки, одна четверка.
Написать программу, которая выводит все числа на экран.

Короче наш глубокоуважаемый преподаватель предложил написать программу перебором всех чисел от 100000 до 199999.

Вот это алгоритм!!! Пять балов! 99999 пробегов!

А всего достаточно 8. Я не стал вдоваться в подробности, нехотелось нах... посылать.


 
Anatoly Podgoretsky   (2002-07-16 01:06) [1]

Он еще и считать не умеет, минимальное число 14888, макс 18884


 
Anatoly Podgoretsky   (2002-07-16 01:10) [2]

Не видел вторую строку


 
Oleg_Gashev   (2002-07-16 01:12) [3]

И еще одна. Чему равно:
2^0+2^1+2^2+......+2^n.

Короче было предложено использовать степень.
В программе всю эту строку я заменил на 2^(n+1)-1. :))

После этого мне предложили все же посчитать эту сумму, используя цикл.

ГЫ. Гггениально.


 
RV   (2002-07-16 07:56) [4]

>
Anatoly Podgoretsky © (16.07.02 01:06)
Он еще и считать не умеет, минимальное число 14888, макс 18884

Число то 6 значное


 
RV   (2002-07-16 07:57) [5]

блин сам не дочитал второе выражение


 
Alx2   (2002-07-16 08:34) [6]

>Oleg_Gashev © (16.07.02 01:00)
>А всего достаточно 8.

160?


 
Eugene Lachinov   (2002-07-16 10:16) [7]

Алгоритм преподавателя запомнят все, твой забудется через n лет, может у него другие цели ?


 
Alx2   (2002-07-16 10:20) [8]

>Eugene Lachinov © (16.07.02 10:16)
Я думаю, цель должна быть научить людей мыслить. А после таких решений "в лоб" и появляется тормозной софт.


 
Romkin   (2002-07-16 10:31) [9]

А преподаватель какого предмета?
И, кстати, такие решения запоминаются, до сих пор помню некоторые приемы оптимизации, которым меня учили в конце 80-х


 
Eugene Lachinov   (2002-07-16 10:33) [10]

>Alx2
"...научить людей мыслить..." - согласен, но решения в лоб, наверно, самые надежные, сколько тут будет вариантов ответа, если продолжить, вот такие мы пишем программы.

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


 
id_privin   (2002-07-16 10:34) [11]


Где это так здорово учат?


 
Alx2   (2002-07-16 10:39) [12]

>Eugene Lachinov © (16.07.02 10:33)
>но решения в лоб, наверно, самые надежные,
>сколько тут будет вариантов ответа,

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


 
Странный Прохожий   (2002-07-16 10:46) [13]

Когда я был маленький и учился в школе, у нас тоже была информатика.

И училка была. Не знаю, из какой деревни её достали.

В общем, она путалась в кнопочках клавиатуры :)

И ещё говорила "контролЁр" вместо "контрОллер". Мы её иногда поправляли. Она при этом бесилась и впадала в педагогический ступор.

Дискеты 5.25"" она брала руками так, что пальцы попадали аккурат в окошко и дискетки портились.

Вдобавок ко всему, люто ненавидела детишек!

Далёкий 1987-й... БК-0011...




 
Alx2   (2002-07-16 10:54) [14]

В качестве шутки:
Попробуйте упростить следущий фрагмент цикла:

if odd(k) then b := 7 else b := 12;

На первом шаге k = 1.

PS.: odd(k)=true, если k нечетно.


 
Alx2   (2002-07-16 10:56) [15]

>Alx2 © (16.07.02 10:54)
Забыл сказать, что это фрагмент цикла for :)


 
Eugene Lachinov   (2002-07-16 11:02) [16]

b := b xor 11


 
Alx2   (2002-07-16 11:04) [17]

>Eugene Lachinov © (16.07.02 11:02)
Хм.. здорово :)
А если
if odd(k) then b := x1 else b := x2;
где x1 и x2 - const?


 
Eugene Lachinov   (2002-07-16 11:05) [18]

x1 xor x2


 
Alx2   (2002-07-16 11:06) [19]

>Alx2 © (16.07.02 11:04)
Тормознул :)
тогда b := b xor (x1 xor x2)


 
Alx2   (2002-07-16 11:08) [20]

>Eugene Lachinov © (16.07.02 11:05)
У меня просто засело: b := (x1+x2) - b;
А если последовательно три различных значения в цикле?


 
Eugene Lachinov   (2002-07-16 11:09) [21]

А если n :) ?


 
Alx2   (2002-07-16 11:12) [22]

>Eugene Lachinov © (16.07.02 11:09)
IMHO для n уже эффективнее использовать кострукции типа case. А вот для n = 3 еще не все потеряно :)


 
Eugene Lachinov   (2002-07-16 11:15) [23]

Не знаю насчет эффективности, но красота обеспечена :), можно создать массив
Arr : array[0..n-1] of Integer;
b := Arr[i mod n];


 
Alx2   (2002-07-16 11:21) [24]

>Eugene Lachinov © (16.07.02 11:15)
:)


 
Agent Smith   (2002-07-16 12:17) [25]

У нас в школе была училка по информатике. Кошмарррррр!!! Было много ламерских случаев, но , согласно тематике сайта, приведу один: шел урок (не у меня, а у параллельного класса - это было в 10м классе). У меня тогда уроки кончились и я просто зашел компы проверить (я там вроде как админом был...) Так вот. Они тогда проходили Паскаль и она их учила делать задержку в программе (delay(...);) Но она, конечно не знала, как это Н О Р М А Л Ь Н Ы Е люди делают. Говорит: для выполнения паузы в программе создайте цыкл от 1 до 100000 (или более в зависимости от задержки) и, чтобы Паскаль (имела в виду компилятор) не игнорировал, сделайте в нем пустое накопление суммы.
Вот так потом прораммисты используют системные ресурсы... И зачем нам тогда Athlon XP и Pentium 4? Чтобы делать цыклы, но уже до 10000000000000000000000000000000000?


 
Romkin   (2002-07-16 12:47) [26]

Современные проецессоры этот цикл скорее всего выкинут :-)) если его не выкинет оптимизатор Delphi :-))
И начнутся крики насчет глючности Delphi
А насчет учителей - учат как могут, все равно до сих пор непонятно, чему же в школе учить на Информатике, вот и учат Паскалю, а потом человек от компьютера шарахается - там Windows, а спросишь, в какой ОС он работал - отвечает: Turbo Pascal :-))


 
Alx2   (2002-07-16 12:51) [27]

>Agent Smith © (16.07.02 12:17)
На этом базировался специфичный глюк в Clipper


 
Mike B.   (2002-07-16 12:53) [28]

Олег, а где ты учишься?


 
cyborg   (2002-07-16 13:09) [29]

Батенька, пора кино снимать про страшного учителя информатики. :)
Жанр - фильм ужасов или комедия, на что бюджета хватит.


 
Катерина   (2002-07-16 14:51) [30]

Несколько лет назад я пошла преподавать в техникум информатики. Мне дали вести Clipper и Информационные технологии на 3 курсе. Больше всего меня поразили следующие вещи:
1. Преподаватели сами не писали программ. Они были милыми женщинами, следили, чтобы студенты не заходили с преподавательского входа, чтобы не курили в туалетах. Но в качестве программ они предлагали ученикам кусочки кода из учебников. Написать работающую программу почти ни одна из них не была в состоянии. На производстве они никогда не работали, или работали сто лет назад. И в последнее время не писали программы, а только читали учебники. Причем каждая читала только свои учебники. Общей суммой необходимых знаний, которые вкладывалась с головы студентов: железо, система, сеть, языки программирования, наверное, не владела ни одна, только свой кусок.
2. Программа обучения. Чертова туча языков: ассемблер, clipper, foxpro, basic и т.д. Причем ни один не осваивался на должном уровне. В результате такая каша в головах. Программы обучения старые, изучаются языки и версии, которые уже сейчас не используются. Практически все компиляторы DOS-овские.
3. Процесс обучения. На практических занятих задание дается одно на 2-3-4 человека. Столько же человек усаживается за один компьютер. К чему это сводится, объяснять не надо. Один с увлечением пишет, а остальные болтают у него за спиной. Когда я выразила удивление по этому поводу зав.уч.процессом: "Так мы не научим. Каждый должен работать над своей задачей за своим компьютером", она мне ответила: "Мы учим их работать в коллективе!" Но ведь прежде, чем учить работать в кол-ве, надо научить работать индивидуально. Работа в кол-ве - это следующий шаг, это гораздо труднее. И учить этому тоже гораздо сложнее.

Из всего этого я сделала три вывода об обучению программированию:
1. Преподавать программирование должны люди с производства (под производством я здесь понимаю и банк, и контору, и рекламное агенство, и завод, все, где программы разрабатываются и работают). Лучше всего организовать это сл.образом: год работаешь программистом, пишешь программы, год преподаешь.
2. Лучше меньше, да лучше. Обучить паре языков программирования, но так, чтобы студенты могли на этих языках программировать, достаточно глубоко. Остальные - для желающих - факультативно.
3. Научить каждого работать индивидуально. И только после этого -в коллективе.

В общем,через 4 месяца из техникума я ушла.


 
Alx2   (2002-07-16 15:07) [31]

А теперь, про студентов:)

Как-то у одногруппницы видел лабу по математической статистике на BP7.0:
более 2 тысяч строк кода и ни одной процедуры, ни одной функции. На экране сполшной занавес из букв и цифр. После офигенного "var" идет "begin", а под ним, где-то глубоко в преисподней, лежит "end."
Бедная. И как она все отладить умудрилась? Вот что значит усидчивость :))


 
Mike B.   (2002-07-16 15:08) [32]

А у меня программирование на первом курсе вел старенький дедушка, который лучшим языком считал Фортран (точнее Фортран VI). Сначала меня это возмущало, а потом я решил, ну что ж - вместо программирования я изучу историю программирования :-) А вообще всегда до всего доходил сам


 
Anatoly Podgoretsky   (2002-07-16 15:23) [33]

Romkin © (16.07.02 12:47)
Продавей компьютерного салона и покупатель
пк. какой у вас монитор
пр. цветной
пк. я спрашиваю какая модель
пр. цветной


 
anpsoft   (2002-07-16 18:37) [34]

Главная задача вузов сейчас заработать на студентах бабки. И не важно чему учат - программированию или чему либо другому.

Ради этой главной задачи нашего образования все техникумы переименовали в институты, все институты в университеты а университеты в академии или как-то еще покруче. А на самом то деле, учитывая кто там преподает и как, нужно было бы этот процесс в обратную сторону провести.

В каждой "деревне" пооткрывали кучу филиалов - и дерут, дерут, дерут. Кроме оплаты за обучение нужно платить за все - за экзамен, за зачет. Если не платить - тебе скажут что на 5 знает предмет только господь бог, на 4 только преподаватель, ну а ты если только на все 100% правильно на все ответы ответил, можешь на халяву только 3 получить.

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

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





 
Oleg_Gashev   (2002-07-16 18:58) [35]

> Mike B. © (16.07.02 12:53)
> Олег, а где ты учишься?

Sivan. Israel. Technical Educational Center.
Сертификационные программы Microsoft.
C#/.NET


 
ZZ   (2002-07-16 19:14) [36]

Маленькое замечание - Кому вся эта информатика нужна ? особенно в школе ... Учат только для галочки, и правильно делают.
Из 30 человек в классе, это надо было только 2-3м, которые и сами могут препода научить. 15-20 чел в группе - те же пропорции :) (это не для компьютерных специальностей , в которых зачем-то преподают программирвание :))) Да и у компьютерщиков - был бы диплом, а там...

Теперь о преподах - из 4 преподов, у которых я учился двое могли читать лекции, но с ответами на вопросы чуть выше их программы у них проблематично. А у других двоих с чтением теории туговато (аспиранты), но зато могут дать ответы на многие вопросы :)


 
Cobalt   (2002-07-16 22:12) [37]

А я вот научился программированию именно в техникуме, до этого ничего не знал. У нас была училка хорошая, не молодая, скорее всего что-то знала (из "старых" языков), а потом книжки читала или т.п.
В общем за первый семестр я научился основам, второй семестр слошные пятерки, на лето купил книжку по ТП 7.0(Фаронов), с Турбо Вижн, потом ей показал мои наметки в TV, и она меня вообще отпустила с ее занятий, только чистА чтоб контрольные писал, и всё.
Так что место месту рознь (и ссора;)
А дело было в 1998 году.


 
Oleg_Gashev   (2002-07-16 22:40) [38]

Все из той же серии. (Теория алгоритмов)
Задание:
Дано число n. Посчитать сумму всех чисел от 1 до n, кратных 3.

Было предложено использовать цикл от 1 до n.
---------------------------------------------------
NO COMMENTS.

Когда я предложил использовать формулу суммы чисел арифметической прогрессии...
НИКТО не знал, что это такое.
---------------------------------------------------
Доживу до экзамена?



 
SPeller   (2002-07-16 22:50) [39]

В школах информатика должна быть обязательно. Я вот начал осваивать Васик ещё не имея дома компьютера, хотел поступить куда-нить на связанное с электричеством, логикой, радиовещанием или т.п. Как только появилась в школе информатика, так я весь 10-й класс "зависал" в классе информатики; лучше училки освоил Ворд, за что начал школу снабжать документами и прочей печатной продукцией. За что получив на выпускном экзамене 2 по физике, в аттестат мне поставили 4 (какой я бессовестный:). В конце 11-го появился комп дома, и начались "зависания" дома, за VB, ну а потом уже и на Дельфю перешёл. И не надо говорить, что учителя в школах и в универах бездарные. Может быть, мне так повезло, но действительно "тупых" или немного "туповатых" людей в этом отношении я не встречал. Если бы не всеми презираемый Microsof QBasic в русской редакции, то сидел бы сейчас наверно с паяльником в руках, и не знал как хорошо создавать программы "доезжая" до них только своим умом. Спасибо за это нашей училке по информатике. Правда, с появлением инета начал "скатывать" готовые идеи, но я не признаю всякие там компоненты БЕЗ исходников. Есть таких несколько штук, но я ими никогда не пользуюсь. Какое-то у меня особое любопытство, как да чего оно там сделано, что оно такое красивое и раскуда тебе функциональное.
Ну ладно, опять я тут про свою биографию....
Потеме если, то "Как нас учат" - это как повезёт. Одим повезёт, хорошо научат, другим нет - хреново научат.


 
Вадим   (2002-07-16 22:58) [40]

Об "учителях":

Сижу дома, орет Tristania, я тащусь, одвременно что-то делаю.
Звонок в дверь. Открываю. У меня широко открываются глаза, вижу свою класс. рук. Она начинает говорить, я так понял, что школа взорвалась, виноват во всем я. Теперь мне школу восстанавливать. В школе сорваны ВСЕ уроки информатики из-за меня, я сломал ВСЕ компы. Теперь новые покупать должен :). Но я сразу заподозрил что-то неладное :). Я знал, что у меня училка ламерша, еще на первом уроке информатики она рассказывала, что есть ОС ДОС, а еще есть оболочка Виндовс, вроде Нортона.
На следующий день прихожу в школу нахожу эту дуру и начинаю незжать. Выяснилось, что я специально (цель "моего" поступка я не выяснил) ОЧИЩАЛ КОРЗИНЫ. Вы только представте эту картину: бегаю по классу во время урока и очищаю корзины!
Причем корзины были очищены уже очень давно на тех компах к которых я и не подходил.
Да еще и было мне заявлено, что нужно иметь смелость признаться в содеянном :).
В результате меня с матерью вызвали к директору. Сначала хотели заставить здавать экзамен по информатике, но в результате освободили от уроков информатики :).
Ответ на вопрос "А почему это вы меня обвиняете?" был: "А кто еще кроме тебя мог ЭТО (нет, я тущусь, очистить корзины) сделать?".


 
SPeller   (2002-07-16 23:06) [41]

2 Вадим © (16.07.02 22:58)

Ну.... корзину очистить тоже уметь надо... :-))


 
Сергей Суровцев   (2002-07-17 00:00) [42]

>Oleg_Gashev © (16.07.02 18:58)
>Sivan. Israel. Technical Educational Center.
>Сертификационные программы Microsoft.
>C#/.NET
Ну так с этого и надо было начинать, а то ты не знаешь,
как Windows написан...
А по поводу подхода скажу так - хороший подход. Из всей
вашей группы 90% напишут перебор, а 10% ПОДУМАЮТ, и напишут
нормально. И если так будет происходить почаще, то эти 10%
ПРИУЧАТСЯ ДУМАТЬ и еще "спасибо" скажут тому "профессору".



 
vuk   (2002-07-17 01:12) [43]

>есть ОС ДОС, а еще есть оболочка Виндовс, вроде Нортона
Если рассматривать старые версии Windows, то так оно, в общем-то и было.

P.S. Вот вспомнилось...
----------------------------------------------------------------
Сидят как-то Диггер, командир Нортон и товарищ Комманд Ком, а мимо идет отец Вындоуз. "Сидите, - говорит. - ну, ну. Скоро все подо мной сидеть будете". Никто ему так ничего и не ответил. Один товарищ Комманд Ком сплюнул и грязно выругался. "Проходи, проходи, - сказал, - оболочка дешевая".

Спросил как-то Диггер товарищ Комманда Кома: "За что же Вы,товарищ Комманд Ком, отца Вындоуза так не любите?". "Мышами от него воняет, быстро ответил тот, но, подумав, добавил, - от оболочки от дешевой".




 
Oleg_Gashev   (2002-07-17 19:06) [44]

>Сергей Суровцев © (17.07.02 00:00)
А по поводу подхода скажу так - хороший подход.


С таким подходом выше ламерства не подымаются.
За такие алгоритмы надо выгонять не только с курсов, а и с преподавательского состава также.


 
Oleg_Gashev   (2002-07-17 19:23) [45]

Чтоб было понятно к чему я все это виду, приведу пример.
Задача: вычисления факториала числа n.

Преподаватель пишет на доске алгоритм.

tmp=1
i=n
while i>=1
tmp=tmp*i
i=i-1

Ответьте господа на вопрос. Что делать, если i=0 ?????


 
Oleg_Gashev   (2002-07-17 19:24) [46]

Описка. Надо так:

Ответьте господа на вопрос. Что делать, если n=0 ?????


 
dimis   (2002-07-18 16:32) [47]

Oleg_Gashev>> А В ЧЕМ ПРОБЛЕМА?
O! по правилам равен 1



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

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

Наверх





Память: 0.59 MB
Время: 0.008 c
14-35443
RV
2002-07-17 11:10
2002.08.12
консольное окно


6-35398
Guardian
2002-05-30 07:32
2002.08.12
Отключение от Ineta


1-35236
Blacki
2002-07-30 12:40
2002.08.12
Умный алгоритм уменьшения картинки.


1-35381
idr
2002-07-30 14:15
2002.08.12
Printer.Canvas.CopyRect


4-35509
Burmistroff
2002-06-06 21:06
2002.08.12
PWideChar -> PChar





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский