Два пути:
Встраивают $Id$ или $Revision$ в коде. Тогда набор svn:keywords = "идентификационный Пересмотр" свойство на файле. Это даст Вам последний измененный пересмотр того исходного файла. Хороший для меньших проектов и сценариев.
, С другой стороны, используют Make-файл управляемый процесс и инструмент командной строки svnversion. (Конкретный язык - это должно работать на C/C++)
echo -n "#define VERSION 1.0.1-" > version.h
svnversion -n . >> version.h
Или некоторый более сложный сценарий сборки с sed и version.h.in. Тогда всего #include version.h
, Который даст Вам номер версии репозитория, который изменится с каждой фиксацией / обновление, и, вероятно, более соответствующий номер версии для большинства проектов.
Примечание: Я также использовал человекочитаемую строку версии, которую я вручную обновляю. Пример дал бы: Версия: 1.0.1-r13445
~J
По сути, компьютеры делают только несколько очень простых вещей:
Сила компьютеров заключается в том, что они могут делать эти простые вещи миллионы раз в секунду.
На физическом уровне игры, я считаю, что это все. можно научить. Помимо этого, я считаю, что необходимы компьютерные симуляции и / или мультимедийные презентации (или, по крайней мере, доска).
Вы можете продемонстрировать блокировку потока, если две команды будут соревноваться за две половинки ключа, открывающего дверь к некоторой награде (сладости для детей и т. Д.). Каждая команда берет половину ключа, и никто не может открыть дверь. Если они будут сотрудничать, то они оба получат награду.
Это может быть немного продвинуто - не уверен, что теперь перечитал его.
Это действительно было весело в классе CS: Живая машина Тьюринга.
Вам нужно:
Кое-где разместить формальные правила машины, вначале это чистый хаос :-D
Люди:
a. Группа людей, которые стоят в очереди и моделируют линейную память, вам просто нужен способ различать «единицы» и «нули». Мы сделали это, стоя на переднем или заднем плане, но я мог представить и другие способы ...
b. Один человек для каждого состояния машины
c. «Считывающая головка», которая перемещается влево или вправо по памяти.
Теперь вам просто нужны примеры программ, начните просто, например, с инвертирования шаблона. Затем переходите к более сложным программам, таким как увеличение / уменьшение.