2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3, 4, 5, 6  След.

Каждый учащийся на программиста должен написать:
1. Текстовый редактор. 16%  16%  [ 10 ]
2. Архиватор. 11%  11%  [ 7 ]
3. Калькулятор. 17%  17%  [ 11 ]
4. Реализовать длинную арифметику. 21%  21%  [ 13 ]
5. Другое 35%  35%  [ 22 ]
Всего голосов : 63
 
 Re: Каждый учащийся на программиста должен написать:
Сообщение23.01.2011, 07:20 
Заслуженный участник


08/04/08
8562
arseniiv писал(а):
Я думаю, что интерпретатор. :-)

А интерпретатор всегда на ассемблере пишется? Или на чем?

 Профиль  
                  
 
 Re: Каждый учащийся на программиста должен написать:
Сообщение23.01.2011, 07:38 
Заморожен
Аватара пользователя


18/12/07
8774
Новосибирск
Joker_vD в сообщении #403008 писал(а):
Так а что же является доказательством, как не исходный код этой программы?

Рассуждение, показывающее, что такой код существует.

В данном случае --- рассуждение, ссылающееся на теорему о неподвижной точке.

 Профиль  
                  
 
 Re: Каждый учащийся на программиста должен написать:
Сообщение23.01.2011, 08:04 
Аватара пользователя


06/03/09
240
Владивосток
Alexu007 в сообщении #403069 писал(а):
Maslov в сообщении #401737 писал(а):
А ещё программу, печатающую собственный исходный текст.

А чё эта? Программа должна открыть на экране заранее подготовленный текстовый файл со своим исходником?

http://ru.wikipedia.org/wiki/Куайн_(программирование)

 Профиль  
                  
 
 Re: Каждый учащийся на программиста должен написать:
Сообщение23.01.2011, 10:23 


24/05/09

2054
Код:
program autobiografija (output);
  var c : array[1..14] of string[60];
      i : integer;
begin
c[ 1]:='program autobiografija (output);                            ';
c[ 2]:='  var c : array[1..14] of string[60];                       ';
c[ 3]:='      i : integer;                                          ';
c[ 4]:='begin                                                       ';
c[ 5]:='for i := 1  to  4 do writeln(c[i]);                         ';
c[ 6]:='for i := 1  to 13 do writeln(c[14,1],c[14,2],i:2,c[14,5],   ';
c[ 7]:='           c[14,6],c[14,7],c[14,8],c[i],c[14,8],c[14,9]);   ';
c[ 8]:='for i := 1  to  8 do write(c[14,i]);                        ';
c[ 9]:='for i := 1  to  8 do write(c[14,i]);                        ';
c[10]:='for i := 8  to 60 do write(c[14,i]);                        ';
c[11]:='writeln(c[14,8],c[14,9]);                                   ';
c[12]:='for i := 5  to 13 do writeln(c[i]);                         ';
c[13]:='end.                                                        ';
c[14]:='c[14]:='';                                                   ';
for i := 1  to  4 do writeln(c[i]);
for i := 1  to 13 do writeln(c[14,1],c[14,2],i:2,c[14,5],
           c[14,6],c[14,7],c[14,8],c[i],c[14,8],c[14,9]);
for i := 1  to  8 do write(c[14,i]);
for i := 1  to  8 do write(c[14,i]);
for i := 8  to 60 do write(c[14,i]);
writeln(c[14,8],c[14,9]);
for i := 5  to 13 do writeln(c[i]);
end.


И что, это высшая сложность в программировании? Это обязательно нужно написать начинающему программисту? Чё то я не уловлю, в чём тут задание - в цикле вывода массива строк на экран?

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

 Профиль  
                  
 
 Re: Каждый учащийся на программиста должен написать:
Сообщение23.01.2011, 10:38 
Заморожен
Аватара пользователя


18/12/07
8774
Новосибирск
Alexu007 в сообщении #403325 писал(а):
И что, это высшая сложность в программировании?

Копипаста? Нет, это далеко не высшая сложность :?

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

 Профиль  
                  
 
 Re: Каждый учащийся на программиста должен написать:
Сообщение23.01.2011, 11:00 


24/05/09

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

Мне вот раньше, когда ещё DOS была, нравилось разбирать .com или даже .exe и вытаскивать оттуда интересующие меня процедуры на ассемблере - и ведь получалось!

 Профиль  
                  
 
 Re: Каждый учащийся на программиста должен написать:
Сообщение23.01.2011, 11:18 
Заморожен
Аватара пользователя


18/12/07
8774
Новосибирск
Alexu007 в сообщении #403332 писал(а):
Ну наверное интересно, для тех кто ребусы разгадывать любит...

Ребусы?!

Это не совсем ребус, это глубоко идейная вещь. На подобных трюках основано доказательство теоремы Гёделя о неполноте и многое-многое другое...

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

-- Вс янв 23, 2011 14:25:39 --

Кстати, quine возможен не только в языках программирования, но и в естественном языке.

Х. Роджерс писал(а):
Примеры этого явления могут быть приведены в естественном языке. Выражение

"результат подстановки "5" в "$x$ есть простое число""

означает, конечно,

"5 есть простое число"

Выражение

"результат подстановки "результат подстановки $x$ в $x$" в "результат подстановки $x$ в $x$""

означает, как можно убедится, самое себя.

 Профиль  
                  
 
 Re: Каждый учащийся на программиста должен написать:
Сообщение23.01.2011, 11:25 
Заслуженный участник
Аватара пользователя


07/01/10
2015
Sonic86 в сообщении #401006 писал(а):
3. Калькулятор.

По-моему, тоже не совсем тривиальная задача. Я имею в виду не "2+5=", а небольшой символьно-численный матпакет (а-ля maxima лайт). В процессе можно научится и синтаксическому разбору (особенно, если этот калькулятор будет включать простенький ЯП) и изучить на практике вычметоды, алгоритмы.

 Профиль  
                  
 
 Re: Каждый учащийся на программиста должен написать:
Сообщение23.01.2011, 12:01 


24/05/09

2054
ИМХО далеко не каждый изучающий программирование планирует стать программистом. Отсюда и паника на программистских форумах: "Памагите я написал праграмму но ничего в ней не панимаю".

 Профиль  
                  
 
 Re: Каждый учащийся на программиста должен написать:
Сообщение23.01.2011, 12:22 
Заслуженный участник


08/04/08
8562
Читаю ответы и думаю - из каких соображений это предлагается. Я предлагал то, что учащийся мог бы написать нечто особо не мучаясь, но увидеть в результате реальную работающую программу и подумать "Ого! Да я могу!", что потом помогало осваивать более сложные вещи.
А вот что даст написание клиента к БД?

 Профиль  
                  
 
 Re: Каждый учащийся на программиста должен написать:
Сообщение23.01.2011, 13:18 
Заслуженный участник


09/09/10
3729
Sonic86 в сообщении #403361 писал(а):
А вот что даст написание клиента к БД?

Опыт. А точнее, рано или поздно любому программисту приходится его писать.

Alexu007 в сообщении #403325 писал(а):
Вот написать программу, которая в качестве данных берёт ексешник, и в результате анализа кода восстанавливает его исходник -

К сожалению, это невозможно.

 Профиль  
                  
 
 Re: Каждый учащийся на программиста должен написать:
Сообщение23.01.2011, 14:12 
Заслуженный участник


27/04/09
28128
Sonic86 в сообщении #403300 писал(а):
arseniiv писал(а):
Я думаю, что интерпретатор. :-)

А интерпретатор всегда на ассемблере пишется? Или на чем?
Зачееем. На любом языке, который душе угоден. :-) (Желательно, конечно, чтобы он быстро обрабатывал строки.) Вот, например, интерпретатор, предложенный сахаром.

 Профиль  
                  
 
 Re: Каждый учащийся на программиста должен написать:
Сообщение23.01.2011, 16:40 
Аватара пользователя


03/03/10
1341
Надо написать игру и оригинальный вирус (не разрушительный, а именно оригинальный, чтобы жертва оценила шутку и на понесла ущерба).

 Профиль  
                  
 
 Re: Каждый учащийся на программиста должен написать:
Сообщение23.01.2011, 16:56 
Заслуженный участник
Аватара пользователя


13/08/08
14495
Kitozavr, главное, чтобы жертва не нанесла ущерба программисту :-) .

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

 Профиль  
                  
 
 Re: Каждый учащийся на программиста должен написать:
Сообщение23.01.2011, 20:00 


24/05/09

2054
Базовые вещи должны быть. Подробный разбор общеизвестных алгоритмов:

- перевод bin-dec-hex и обратно
- арифметические операции
- сортировка
- реализация математических формул на языке программирования (арифметике)
- сжатие (Хаффман?)
- шифрование

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

Реальная задача преподавателя - не научить всю группу (курс) чему-либо, а выявить студентов имеющих способности - для дальнейшего обучения. Это в идеале, без учётов современных реалий, коррупции и т.п.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 80 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.

Модератор: Модераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: YandexBot [bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group