Смекни!
smekni.com

Так что же такое информатика? (стр. 2 из 4)

3) Какое место занимает информатика среди других фундаментальных наук?

Как ясно из сказанного, никакого. Место программирования в целом - среди технических видов деятельности, в чем-то - в ряду искусств и ремесел, место его теории - среди прикладных наук.

4) В школе, как известно, преподаются основы наук. Каково содержание основ информатики?

Трудно коротко ответить на этот сложный вопрос - сродни знаменитому Дедекиндову "Was sind und was sollen die...?" [8], но применительно не к числам, а к компьютерам "Что такое компьютеры и чем они должны быть?" (да простят меня коллеги-математики за святотатство).

В сборнике [4] опубликован "Обязательный минимум содержания образования по информатике". Документ носит полуофициальный характер, по содержанию довольно удачен, но в нем обозначены, большей частью, лишь заголовки тем. Я попытаюсь изложить, чем, на мой взгляд, должны быть наполнены его разделы: "Формализация и моделирование", "Информация и информационные процессы", "Алгоритмы и исполнители" и "Компьютер". В разделе "Представление информации", на мой взгляд, существенна лишь тема "Язык как способ представления информации", ее я совсем кратко коснусь ниже. Раздел "Информационные технологии" будет рассмотрен отдельно.

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

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

Не забыл я и про литературу, где слово стоит вроде бы на первом плане. Но:

Есть речи - значенье

Темно иль ничтожно,

Но им без волненья

Внимать невозможно...

Островки понятий рождаются средь моря предметов, событий, фактов. Все это составляет обстановку, в которой живет, трудится и мыслит человек. Обстановка редко удовлетворяет человека. Одни стремятся от нее сбежать, не понимая, что бегут они, в сущности, от себя. Другие мирятся с обстановкой, вживаются в нее - не будем осуждать их за безразличие или равнодушие. Поговорим о тех, кто своими действиями стремится эту обстановку изменить. Появление подобного желания характеризуется словами: перед человеком (или: передо мной) встала задача. Задача решена, если достигнуто желаемое изменение обстановки. Это случай почти невероятный: достигнутое крайне редко совпадает с желаемым. Как говорят, решение одной задачи порождает десять новых. Но отвлечемся и от этой стороны дела.

Прежде чем начать сами действия, надо составить их план. План строится на основе понятийной модели мира: индивидуальной при составлении личного плана, коллективной - если нашлась группа единомышленников. Сначала создается уже упоминавшаяся спецификация задачи - описание связи между располагаемыми средствами и возможностями (исходными данными) и желаемым результатом. Автор плана (не важно - один ли это человек или группа) должен убедить хотя бы самого себя, что планируемые действия приведут в наличных условиях к результату, удовлетворяющему спецификации задачи. Такое обоснование плана опять же исходит из модели. Но обоснование может оказаться ошибочным или неполным. Да и сама модель не может не абстрагироваться от многих составляющих реальной действительности - даже коллективный разум всего человечества составляет лишь часть, причем ничтожную часть, этой действительности. Но "безумству храбрых поем мы славу!".

Когда план действий составлен и обоснован, автор вправе назвать его алгоритмом решения задачи. Подчеркнем, что алгоритм - это всего лишь описание, более или менее подробное, предполагаемых действий. Сложные действия распадаются на ряд более простых, с теми - картина та же. Так мы добираемся до действий, про которые известно, как их исполнить и к какому результату это (предположительно) должно привести. Можно остановиться и на действиях, которые лишь обозначаются, а их планирование откладывается на будущее в надежде, что времени еще хватит. О принципе "Никогда не делай сегодня того, что можно отложить на завтра" при случае стоит еще поговорить.

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

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

Простейший пример работ такого класса - это вычисления, когда и то, и другое - это наборы чисел. Потому и машины были названы вычислительными, сокращенно - компьютерами. Пример посложнее - обработка произвольных текстов: самих алгоритмов (как противно писать их на птичьем машинном языке!), математических формул (почему бы не заставить машины доказывать теоремы?) или текстов на естественном языке (если меня самого не научили писать грамотно, то может машину можно этому научить, а еще лучше, если машина сумеет изъясняться на незнакомом мне тарабарском наречии). Еще более сложный пример - преобразование устной речи в письменную - был упомянут выше. Успехи во всех этих направлениях оказались довольно скромными, но по первому впечатлению - грандиозными и даже многообещающими. Да и по второму тоже: посмотрите на примеры переводов технической прозы с русского языка на английский, приводимые в рекламных буклетах, или вспомните, что чемпиону мира по шахматам пришлось отыгрываться после матча, проигранного им компьютеру.

Путь к появлению первых компьютеров был к тому моменту практически полностью открыт. Были известны и внедрены в практику способы сохранения данных сначала на перфоносителях, потом путем магнитной записи. Вычисления давно уже выполнялись не только на арифмометрах, но и на ручных клавишных, да и более сложных электромеханических счетных машинах. Существовали электронные реле (триггеры), электронно-лучевые трубки, была освоена импульсная электронная техника. В физике были известны полупроводники. Понятие алгоритма и родственное ему понятие рекурсивной функции существовали и были фундаментально освоены в математике. Оставалось (такая малость!) свести все это воедино. Когда жизнь приперла к стене (расчеты в ядерной физике, а чуть позже - в ракетной технике, оказались на грани человеческих возможностей или даже немного за ней), то на это ушли, если не месяцы, то лишь очень немногие годы.

За истекшие с тех пор полвека компьютеры из грандиозных лабораторных установок, пожиравших неимоверные энергетические и материальные ресурсы, стали почти что заурядными бытовыми приборами. Люди избавились от необходимости разговаривать с компьютерами на их внутреннем языке и перешли к тому, что было названо алгоритмическими языками высокого уровня, а позже - и к так называемым информационным технологиям.

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

Часть раздела "Представление информации" из того же "Минимума" мне хотелось бы осветить в отдельной публикации. Некогда мной была написана книга [3]. Приведу ее оглавление, и по сию пору отражающее мои представления о содержании и порядке изложения соответствующего материала:

1) языки программирования,

2) простые значения и их представления,

3) составные значения и их типы,

4) определения типов,

5) переменные и их описания,

6) операции и выражения,

7) операторы,

8) работа со ссылками,

9) процедуры,

10) файлы и операторы для работы с ними,

11) примечания в программах,

12) доказательство свойств алгоритмов.

В "Заключении" этой работы были перечислены темы, в нее не вошедшие, но существенные во всем этом круге вопросов: редактирование вводимых и выводимых данных, средства работы со строками, включая поиск по образцу, абстрактные типы данных, моделирование реальных процессов на ЭВМ, задержка вычислений и их параллельное исполнение.