§ 32. Что такое программирование
Основные темы параграфа:
♦ кто такие программисты; ♦ что такое язык программирования; ♦ что такое система программирования.
Кто такие программисты
Теперь вам предстоит ближе познакомиться еще с одним разделом информатики, который называется «Программирование».
Назначение программирования — разработка программ управления компьютером с целью решения различных информационных задач.
Специалисты, профессионально занимающиеся программированием, называются программистами. В первые годы существования ЭВМ для использования компьютера в любой области нужно было уметь программировать.
В 1970-х - 80-х годах XX века начинает развиваться прикладное программное обеспечение. Бурное распространение прикладного ПО произошло с появлением персональных компьютеров. Стало совсем не обязательным уметь программировать для того, чтобы воспользоваться компьютером. Люди, работающие на компьютерах, разделились на пользователей и программистов. В настоящее время пользователей гораздо больше, чем программистов.
Может возникнуть впечатление, что программисты теперь уже и не нужны! Но кто же тогда будет создавать все операционные системы, редакторы, графические пакеты, компьютерные игры и многое другое? Программисты, безусловно, нужны, причем задачи, которые им приходится решать, со временем становятся все сложнее.
Программирование принято разделять на системное и прикладное. Системные программисты занимаются разработкой системного программного обеспечения: операционных систем, утилит и пр., а также систем программирования. Прикладные программисты создают прикладные программы; редакторы, табличные процессоры, игры, обучающие программы и многие другие. Спрос на высококвалифицированных программистов, как системных, так и прикладных, очень большой.
Что такое язык программирования
Для составления программ существуют разнообразные языки программирования.
Язык программирования — это фиксированная система обозначений для описания алгоритмов и структур данных.
Популярными языками программирования сегодня являются Паскаль, Бейсик, Си, Фортран и др.
Что такое система программирования
Для создания и исполнения на компьютере программы, написанной на языке программирования, используются системы программирования.
Система программирования — это программное обеспечение компьютера, предназначенное для разработки, отладки и исполнения программ, записанных на определенном языке программирования.
Существуют системы программирования на Паскале, Бейсике и других языках.
В данной главе речь будет идти о средствах и способах универсального программирования — не ориентированного на какую-то узкую прикладную область. Примером узкоспециализированного программирования является Web-программирование, ориентированное на создание Web-сайтов. Для этих целей, например, используются языки НТМL, JavaScript. Языки Паскаль, Бейсик, Си относятся к числу универсальных языков программирования.
Разработка любой программы начинается с построения алгоритма решения задачи. Такие алгоритмы называют алгоритмами работы с величинами.
Компьютер как исполнитель алгоритмов
Вам уже известно, что всякий алгоритм составляется для конкретного исполнителя. Теперь в качестве исполнителя мы будем рассматривать компьютер, оснащенный системой программирования на определенном языке.
Компьютер-исполнитель работает с определенными данными по определенной программ. Данные — это множество величин.
Величины: константы и переменные
Компьютер работает с информацией, хранящейся в его памяти. Отдельный информационный объект (число, символ, строка, таблица и пр.) называется величиной.
Всякая обрабатываемая программой величина занимает свое место (поле) в памяти ЭВМ. Значение величины — это информация, хранимая в этом поле памяти.
Существуют три основных типа величин, с которыми работает компьютер: числовой, символьный и логический. Изучая базы данных и электронные таблицы, вы уже встречались с этими типами. В данной главе мы будем строить алгоритмы, работающие с числовыми величинами.
Числовые величины в программировании, так же как и математические величины, делятся на переменные и константы (постоянные). Например, в формуле (а2 - 2аb + b2) а, b — переменные, 2 — константа.
Константы записываются в алгоритмах своими десятичными значениями, например: 23, 35, 34. Значение константы хранится в выделенной под нее ячейке памяти и остается неизменным в течение работы программы.
Переменные в программировании, как и в математике, обозначаются символическими именами. Эта имена называют идентификаторами (от глагола «идентифицировать», что значит «обозначать», «символизировать»). Идентификатор может быть одной буквой, множеством букв, сочетанием букв и цифр и т. д. Примеры идентификаторов: А, X, ВЗ, prim, r25 и т. п.
Система команд
Вам известно, что всякий алгоритм строится исходя из системы команд исполнителя, для которого он предназначен.
Независимо от того, на каком языке программирования будет написана программа, алгоритм работы с величинами составляется из следующих команд:
• присваивание;• ввод;• вывод;• обращение к вспомогательному алгоритму;• цикл;• ветвление.
Команда присваивания
Команда присваивания — одна из основных команд в алгоритмах работы с величинами. Записывать ее мы будем так:
<переменная> := < выражение>
Значок «:=» читается «присвоить». Например:
Z := X + Y
Компьютер сначала вычисляет выражение, затем результат присваивает переменной, стоящей слева от знака «:=».
Прочерк в ячейке Z обозначает, что начальное число в ней может быть любым. Оно не имеет значения для результата данной команды.
Если слева от знака присваивания стоит числовая переменная, а справа — математическое выражение, то такую команду называют арифметической командой присваивания, а выражение — арифметическим.
В частном случае арифметическое выражение может быть представлено одной переменной или одной константой. Например:
Х:= 5Y:=Х
Команда ввода
Значения переменных, являющихся исходными данными решаемой задачи, как правило, задаются вводом.
Команда ввода в описаниях алгоритмов будет выглядеть так:
ввод <список переменных>.
Например:
ввод А, В, С
Вот схема выполнения приведенной выше команды.
1. Память до выполнения команды:
А — В — С —
2. Процессор компьютера получил команду ввод А, В, С, прервал свою работу и ждет действий пользователя.
3. Пользователь набирает на клавиатуре:
1 3 5
и нажимает клавишу <ВВОД> (<Епtег>).
4. Память после выполнения команды:
A 1 В 3 С 5
5. Процессор переходит к выполнению следующей команды программы.
При выполнении пункта 3 вводимые числа должны быть отделены друг от друга какими-нибудь разделителями. Обычно это пробелы.
Из сказанного выше можно сделать вывод:
Переменные величины получают конкретные значения в результате выполнения команды присваивания или команды ввода.
Команда вывода
Результаты решения задачи сообщаются компьютером пользователю путем выполнения команды вывода.
Команда вывода в алгоритмах будет записываться так:
вывод <список вывода>
Например:
вывод X1, Х2
По этой команде значения переменных X1 и Х2 будут вынесены на устройство вывода (чаще всего это экран).
1. В схематическом виде (как это сделано в параграфе) отразите изменения значений в ячейках, соответствующих переменным А и В, в ходе последовательного выполнения команд присваивания:
1) A:=1 2) A:=1 3) A:=1
B:=2 B:=2 B:=2
A:=A+B C:=A A:=A+B
B:= 2xA A:=B B:=A-B
B:=C A:=A-B
Присваивание; свойства присваивания
Поскольку присваивание является важнейшей операцией в алгоритмах, работающих с величинами, то поговорим о ней более подробно.
Переменная величина получает значение в результате присваивания.
Присваивание производится компьютером при выполнении одной из двух команд из представленной выше системы: команды присваивания или команды ввода.
Рассмотрим последовательность выполнения четырех команд присваивания, в которых участвуют две переменные а и b. В приведенной ниже таблице против каждой команды указываются значения переменных, которые устанавливаются после ее выполнения.
Такая таблица называется трассировочной таблицей, а процесс ее заполнения называется трассировкой алгоритма. Компьютер выполняет команды в порядке их записи в алгоритме.
Команда | a | b |
a:= 1 | 1 | — |
b:= 2 x a | 1 | 2 |
a:= b | 2 | |
b:= a + b | 4 |
Прочерк в таблице обозначает неопределенное значение переменной. Конечные значения, которые получают переменные а и b, соответственно равны 2 и 4.
Этот пример иллюстрирует три основных свойства присваивания. Вот эти свойства:
1) пока переменной не присвоена значения, она остается неопределенной;2) значение, присвоенное переменной, сохраняется вплоть до выполнения следующего присваивания этой переменной нового значения;3) новое значение, присвоенное переменной, заменяет ее предыдущее значение.
Обмен значениями двух переменных
Рассмотрим еще один очень полезный алгоритм, с которым при программировании часто приходится встречаться. Даны две переменные величины X и Y. Требуется произвести между ними обмен значениями. Например, если первоначально было: X= 1; Y = 2, то после обмена должно стать: X = 2, Y = 1.
Хорошим аналогом для решения такой задачи является следующая: даны два стакана, в первом — молоко, во втором — вода; требуется произвести обмен их содержимым. Всякому ясно, что в этом случае нужен дополнительный третий пустой стакан. Последовательность действий будет следующей:
1) перелить из 1-го в 3-й;2) перелить из 2-го в 1-й;3) перелить из 3-го во 2-й.
Цель достигнута!
По аналогии для обмена значениями двух переменных нужна третья дополнительная переменная, Назовем ее Z. Тогда задача решается последовательным выполнением трех операторов присваивания (пусть начальные значения 1 и 2 для переменных X и Y задаются вводом):
Команда | X | Y | Z |
ввод X, Y | 1 | 2 | - |
Z:=X | 1 | ||
X:=Y | 2 | ||
Y:=Z | 1 | ||
вывод X, Y |
Действительно, в итоге переменные X и Y поменялись значениями. На экран будут выведены значения X и Y в таком порядке: 2, 1. В трассировочной таблице выводимые значения выделены жирным шрифтом.
Аналогия со стаканами не совсем точна в том смысле, что при переливании из одного стакана в другой первый становится пустым. В результате же присваивания (Х:=Y) переменная, стоящая справа (Y), сохраняет свое значение.
Описание линейного вычислительного алгоритма
И наконец, рассмотрим пример составления алгоритма для решения следующей математической задачи: даны две простые дроби; получить дробь, являющуюся результатов их деления.
В школьном учебнике математики правила деления обыкновенных дробей описаны так:
1. Числитель первой дроби умножить на знаменатель второй.2. Знаменатель первой дроби умножить на числитель второй.3. Записать дробь, числителем которой является результат выполнения пункта 1, а знаменателем — результат выполнения пункта 2.
© ООО «Знанио»
С вами с 2009 года.