Как происходит отслеживание свободного экстента? |
Индустрия чистых идей
1.3. Ключевые концепции, изученные в этой лекции
- Компьютеры – машины общецелевого назначения. Компьютер с загруженной программой превращается в машину специального назначения.
- Компьютерные программы обрабатывают, хранят и передают данные, представляющие информацию в интересах человека.
- Компьютер состоит из процессоров, памяти и коммуникационных устройств. Все вместе называется аппаратурой (hardware).
- Программы и связанные с ними интеллектуальные ценности называются ПО (software). ПО является инженерным продуктом чисто интеллектуальной природы.
- Программы должны быть сохранены в памяти до начала их выполнения. Они могут существовать в разных формах, некоторые из которых предназначены для человека и хранятся в читаемой форме, другие – непосредственно обработаны, чтобы их мог выполнять процессор.
- Компьютеры появляются в различных обликах: многие встраиваются в товары и устройства.
- Программы должны быть написаны так, чтобы их легко было понимать, расширять и повторно использовать. Они должны быть корректными и устойчивыми.
Новый словарь
В конце каждой лекции вы найдете такой список. Проверьте (и это есть первое упражнение лекции), знаете ли вы смысл каждого введенного термина, найдите его определение.
1-У. Упражнения
1-У.1. Словарь
Дайте точное определение каждого термина из словаря.
1-У.2. Данные и информация
Для каждого из следующих предложений скажите, характеризует ли оно данные, информацию или то и другое (поясните решение):
- "Вы можете найти детали рейса на сайте".
- "Когда печатаете в этом поле, используйте не более 60 символов на строку".
- "Ваш пароль должен содержать не менее 6 символов".
- "У нас нет данных о вашей оплате".
- "Вы не сможете оценить ее сайт, не подключив Flash".
- "Это прекрасно, что вы дали мне ссылку на ваш сайт, но я, к сожалению, не могу читать по-итальянски!"
- "Это прекрасно, что вы дали мне ссылку на ваш сайт, и мне хотелось бы читать по-русски, но мой браузер отображает кириллицу как мусор".
1-У.3. Дайте точное определение того, что вы хорошо знаете
Все хорошо знают алфавитный порядок, который еще называют лексикографическим порядком. В соответствии с этим порядком расположены слова в словарях и других упорядоченных по алфавиту списках. Для любых двух слов языка этот порядок устанавливает предшествование, какое слово встретится в словаре раньше другого. Так, слово "кожа" предшествует слову "кора", которое, в свою очередь, предшествует слову "корабль". В упражнении требуется:
Определить условия, при которых одно слово предшествует другому.
Другими словами, требуется дать определение лексикографического порядка. Это понятие вы, несомненно, умеете применять на практике. Упражнение требует точного определения интуитивно ясного понятия. Оно может понадобиться, если вам требуется, например, написать программу, составляющую упорядоченные списки.
Чтобы сконструировать определение, вы можете предполагать, что:
- слово является последовательностью из одной или нескольких букв (годится и предположение, что слово может быть пустым, не содержащим ни одной буквы). Укажите, какое определение слова вы выбрали;
- буква – это элемент конечного множества (алфавита);
- выбор алфавита не имеет особого значения. Важно только, что все буквы из алфавита уже упорядочены, так что для каждой пары букв алфавита известно, какая из них предшествует (меньше) другой.
Можно, например, воспользоваться прописными буквами латиницы – буквами, записанными в нижнем регистре, порядок для которых известен: a b c d e f g h i j k l m n o p q r s t u v w x y z.
Проблема в том, что требуется определение, а не рецепт. Не годится решение в форме: "Сравним первые буквы двух слов. Если первая буква первого слова меньше первой буквы второго слова, то первое слово предшествует второму, в противном случае будем …" Это рецепт, а не определение. Определение может иметь следующую форму: "Слово w1 предшествует слову w2, если и только если выполняется одно из следующих условий …"
Убедитесь, что ваше определение покрывает все возможные случаи и соответствует интуитивным свойствам лексикографического порядка, например, невозможно, чтобы для различных слов w1и w2 слово w1предшествовало w2 и слово w2 предшествовало w1.
Об этом упражнении. Цель – применить вид точных, не операционных знаний при конструировании ПО. Идея заимствована у известного датского ученого, основоположника структурного программирования Эдсгера Дейкстры.
1-У.4. Антропоморфизм
Сопоставьте компоненты и функции компьютерной системы с частями и функциями человеческого тела. Обсудите схожесть и различие.