Моё меню Общее меню Сообщество Правила форума Все прочитано
Вернуться   uForum.uz > ИКТ и телеком > IT-индустрия > Софт > Программирование
Сообщения за день Поиск
Знаете ли Вы, что ...
...инструкция по установке аватара описана в Правилах форума.
<< Предыдущий совет - Случайный совет - Следующий совет >>

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


 
 
Опции темы Опции просмотра
Старый 11.11.2010 20:56   #1  
Real ID Group Ultimate ex-wild_John
Супермодератор
Аватар для German Stimban
Оффлайн
Центр программистов Bepro
Начальник отдела
Сообщений: 8,039
+ 4,910  6,509/2,845
– 298  135/90

UzbekistanОтправить сообщение для German Stimban с помощью ICQОтправить сообщение для German Stimban с помощью Skype™LiveJournal
Обучение программированию в ВУЗах

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

В современных ВУЗах программированию учат как науке, а не как искусству. И это очень плохо. На выходе получаются "машины", которые могут составить любую программу, не задумываясь о красоте или элегантности кода. Сейчас обучаю группу по С++ - все студенты различных ВУЗов, все знакомы с языком. Проблема в том, что люди абсолютно не учат алгоритмов. Мало того, студентов не учат думать над решением - любая программа начинается не с нажатия клавиш на клавиатуре, а рождается в голове. Этого, к сожалению в ВУЗах нет.

Простая задача:
Вывести на экран все чётные числа от 1 до 1000, которые являются квадратами.
Народ довольно бодро начал набивать код:
Код:
...
for (i=0;i<=1000;i++)
{
if (i%2==0 && ...
и тут зависает, ибо не знает как проверить является число квадратом или нет. Немного поговорили о том, что решение "в лоб" как правило является неверным, последовательно оптимизировали до вида
Код:
for (i=2;i<=14;i++)
    cout<<4*i*i<<"\n";
с разъяснением каждого шага. Прошло немного времени, студенты получили следующую задачу:
Компьютер просит ввести число, пользователь вводит. Компьютер проверяет, если оно одновременно делится на 3 и на 2, выводит какую-либо строку на экран.
Снова начинается тихий ужас:
Код:
int a; bool d,e;
cin>>a;
d=a%2;
e=a%3;
if (d!=true && e!=true)
{
...
При этом, народ не абсолютно обратил внимание на то, что можно было бы всё реализовать проще - достаточно было бы одной проверки делимости на 6.

Исходя из написанного - нужно что-то делать с учебными программами в ВУЗах, чтобы обучали не только языкам программирования, но и логике и красоте составления программ.
PS. Ну и для затравки задача (просьба реализовать на любом языке):
Пользователь вводит число. Если оно оканчивается на 2 или на 7, компьютер выводит строку "Вам повезло"
__________________
Герман - это не имя, это особое состояние души (Джим Анджер)
Ответить 
"+" от:
 




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
Advertisement System V2.5 By Branden
OOO «Единый интегратор UZINFOCOM»


Новые 24 часа Кто на форуме Новички Поиск Кабинет Все прочитано Вверх