Друзья!
Теперь, когда мы разобрали, что такое программирование и языки программирования, можно, наконец, приступить и к самим программам.
Мы уже знаем, что программа – это инструкция для компьютера, однако, возникает вопрос: «А как создать такую инструкцию?» Чтобы ответить на него, давайте воспользуемся испытанным приемом: посмотрим, а как вообще создаются инструкции.
В обыденной жизни нам встречается очень много инструкций. Мне, почему-то, в первую очередь приходят в голову инструкции по сборке мебели (составленные из рук вон плохо!) и рецепты из поваренных книг (составленные обычно хорошо). Итак, что же мы видим в этих образчиках человеческого творчества?
1. «Комплект поставки: лицевая панель – 1шт., боковые стенки – 2шт., верхняя панель – 1шт. … и т.д. вплоть до шурупов – 24шт.» Далее (иногда на другой странице) видим: «Вставить шипы на боковых стенках в отверстия в верхней панели и закрепить шурупами (см. рис. 1). Вставить шипы на боковых стенках в отверстия нижней панели…»
2. «300 г. ванильных сухарей, 1 стакан молока, 50 г масла, 3 столовые ложки сахара, одна столовая ложка какао…» и далее «… растопить масло, перемешать с сахаром, добавить какао, перемешать…»
Как вы думаете, почему я столь подробно остановился на этих, на первый взгляд, не имеющих никакого отношения к программированию инструкциях? Да просто потому, что не имеют они отношения к программированию только на первый взгляд! А на самом деле, они очень точно объясняют нам, как надо писать программы. Смотрите, оба описания состоят как бы из двух частей: сначала перечисляются составные части, ингредиенты, короче, то, над чем будут производиться манипуляции согласно инструкции. А уж затем по шагам описываются собственно манипуляции.
В программировании составные части, ингредиенты, над которыми будут производиться действия, называются данными. Описания действий называются исполняемой частью, исполняемым кодом, или просто кодом. Таким образом, любая программа состоит из данных и кода, вне зависимости от того, на каком языке она написана.
Если идти дальше, то можно заметить, что в перечислении ингредиентов присутствуют две категории предметов. В одну категорию входят стаканы, чайные ложки, столовые ложки, коробки, ящики, контейнеры, вагоны – то есть вместилища, в которых можно что-то хранить. К другой категории относятся молоко, сахар, мука, масло, шурупы, винты, гайки, цемент, песок, пиломатериалы – то есть, то, что можно хранить в предметах первой категории. При этом, далеко не всякие вместилища годятся для хранения любых предметов – было бы странно, например, хранить винты чайными ложками, молоко – вагонами, а апельсины - бочками. То есть, в зависимости от типов и количеств хранимых вещей, в материальном мире применяются различные хранилища.
Точно такая же картина наблюдается и в программировании. При этом хранилища для данных, используемые в программах, называются переменными. А то, что хранится в переменной, называется значением переменной. И, точно так же, как в обыденной жизни существуют абсолютно разные виды предметов и для их хранения требуются разные виды контейнеров, в программировании существуют разные типы данных и для их хранения используются переменные разных типов. Типичный пример: программа для работы с текстами использует буквы в качестве данных и, значит, ей будут нужны переменные, способные хранить буквы или даже целые тексты, а программе-калькулятору хранить тексты не нужно, зато нужно хранить самые разные числа.
Примечание 1. Набор используемых типов данных зависит от применяемого языка программирования, поэтому мы займемся этим вопросом в одной из следующих лекций.
Примечание 2. Детальное описание того, как различные данные хранятся в компьютере, выходит за пределы данной лекции, но будет помещено в дополнении, посвященном внутренней форме представления данных в компьютере и недесятичным системам счисления.
Может возникнуть вопрос, откуда в переменной берется значение. А откуда в стакане берется молоко (или у кого-то – водка, а у кого-то, может быть, и песочек из песочницы)? Налили его (ее, родимую!) туда, или насыпали. А чтобы голову не морочить – налили, насыпали, нацедили – можно использовать одно слово – поместили. А в программировании говорят что переменной присвоили значение.
Впрочем, хватит о данных. Давайте теперь поговорим о том, как устроен код.
Как вы уже поняли, код – это последовательность инструкций вида «сделай то-то и то-то». Однако, далеко не всегда эти инструкции просто лежат по порядку.
Возьмем пример из обыденной жизни - торт «Наполеон». Для его изготовления нужны, скажем, 12 коржей и крем. Вряд ли в рецепте «Наполеона» вы найдете 12 раз повторенное описание изготовления коржа. Скорее всего вы его там вообще не найдете, а вместо этого будет написано нечто вроде: «Приготовить 12 коржей (см. стр. 87)». А на этой «стр. 87» лежит полная инструкция приготовления коржа, естественно, со своими ингредиентами и со своей последовательностью действий. Дальше во всех рецептах блюд, где используются коржи, просто написано «(см. стр. 87)». То же самое может относиться к крему и другим составным частям.
Таким образом, инструкция создания сложного изделия строится по модульному принципу – она ссылается на более простые инструкции для составных частей, которые описаны отдельно.
По такому же принципу строятся и компьютерные программы. В зависимости от языка программирования эти отдельные инструкции для составных частей могут называться процедурами, подпрограммами, функциями, методами.
Автор: Sashok Sam
Information
- Posted on 31.01.2010 20:42
- Просмотры: 3008