- •Введение (1 час)
- •Лекция 1. Основные этапы развития информационного общества
- •Лекция 2. Виды профессиональной информационной деятельности человека
- •Лекция 3. Понятие информации
- •Лекция 4. Кодирование информации
- •Лекция 5. Измерение информации
- •Лекция 6. Системы счисления
- •Лекция 7. Перевод чисел в системах счисления
- •Лекция 8. Информация и моделирование
- •Лекция 9. Файловая система хранения, поиска и обработки информации
- •Лекция 10. Основы алгоритмизации
- •Лекция 11. Основные типы алгоритмических структур
- •Линейная конструкция
- •Разветвляющаяся конструкция
- •Циклическая конструкция
- •Лекция 12. Введение в язык программирования
- •Лекция 13. Архитектура компьютеров
- •Лекция 14. Программное обеспечение
- •Лекция 15. Логические основы компьютера
- •Лекция 16. Объединение компьютеров в локальную сеть
- •Лекция 17. Защита информации, антивирусная защита
- •Лекция 18. Текст как информационный объект
- •Лекция 19. Технология обработки тестовой информации
- •Лекция 20. Динамические (электронные) таблицы
- •Лекция 21. Встроенные функции в электронных таблицах
- •Лекция 22. Диаграммы и графики в электронных таблицах
- •Лекция 23. Базы данных
- •Лекция 24. Создание базы данных
- •Лекция 25. Технология обработки графической информации
- •Лекция 26. Компьютерные презентации
- •Лекция 27. Телекоммуникационные технологии
- •Лекция 28. Деятельность в локальных и компьютерных сетях
Лекция 12. Введение в язык программирования
Системы и технологии программирования.
Особое место в ПО компьютера занимают системы программирования. Как правило, система программирования включает в себя три основных компонента:
1) язык программирования — язык, на котором пишутся программы;
2) транслятор (интерпретатор или компилятор) — программа, «переводящая» язык программирования на язык компьютера;
3) библиотеку программ — заранее разработанные программы, реализующие типовые функции и вычислительные методы. В настоящее время таких типовых программ в мире насчитывается несколько тысяч.
Универсальные языки программирования наиболее удобны в использовании, поскольку максимально приближены к естественному человеческому языку, и, конечно, процесс компиляции для них достаточно сложен. Языки этого класса (Basic, Си, Pascal, Ada и др.) объединяет одно — они шаг за шагом последовательно реализуют алгоритм, поэтому их называют алгоритмическими, что представляется не совсем корректным, поскольку любое программирование связано с реализацией того или иного алгоритма. Более правильным представляется называть эти языки процедурно-ориентированными и также связанную с ними технологию технологей программирования.
Разработка любого программного средства может быть представлена как процесс, состоящий из ряда последовательных преобразовании одною описания решаемой задачи в другое, начиная от постановки задами и закапчивая программой, реализованной в кодах конкретного компьютера.
Весь процесс реализации конкретной задачи на компьютере, с определенной степенью условности, можно разделить на 10 этапов:
1. Содержательная постановка задачи.
2. Математическая постановка задачи.
3. Формализация математической постановки — выбор метода решения.
4. Разработка алгоритма решения задачи.
5. Разработка ПО, реализующего алгоритм.
6. Отладка ПО (выявление и устранение ошибок).
7. Тестирование ПО и анализ результатов.
8. Проведение доработок по итогам тестирования.
9. Разработка технической документации (инструкций) для пользователей.
10. Сдача в эксплуатацию.
Все время существования программного средства от зарождения идеи до его создания и эксплуатации обычно определяют как жизненный цикл.
Эволюция техники модульного программирования привела к появлению объектно-ориентированного стиля программирования, который во многом унифицировал процесс создания ПО. К достоинствам этого метода относится то, что в нем более полно реализуется технология структурного программирования, облегчается процесс создания сложных иерархических систем, появляется удобная возможность создания пользовательских библиотек объектов в различных областях применения.
В последнее время в связи с совершенствованием технических средств отображения информации утверждается новый графический подход к решению проблемы автоматизации разработки ПО, основанный на идее привлечения визуальных форм представления программ, в большей степени соответствующих образному способу мышления человека.
В настоящее время известно достаточно большое количество удачных инструментальных средств визуализации программирования. Прежде всего это относится к визуальным средствам разработки экранных форм, меню и других элементов программы (MS Windows, Visual Basic и т.д.), средствам автоматизации проектирования ПО (CASE-средствам), средствам быстрой разработки приложений для информационных систем (Visual FoxPro), текстовым и графическим редакторам, издательским системам и т.д.
Синтаксис программы.
У каждого языка программирования есть синтаксис и семантика. Синтаксис — это совокупность формальных правил написания программ на данном языке, семантика — это смысловое значение написанного.
Важным элементом синтаксиса является алфавит языка, который представляет собой набор всех допустимых в языке символов.
Зарезервированными являются такие слова, смысл которых однозначно трактуется компилятором языка и другим быть не может. Вот почему их нельзя использовать иначе, чем по прямому назначению. В отличие от зарезервированных слова пользователя задаются самим программистом и им же определяется смысл их использования.
Например, в Turbo Pascal используются следующие зарезервированные слова: and, asm, array, begin, case, const, constructor, destructor, div, do, downto, else, end, file, for и др.
При наборе программы эти слона отображаются на экране белым цветом, напоминая нам, что они являются ключевыми.
Идентификаторы, или имена, могут присваиваться константам, переменным, меткам, типам, объектам, процедурам, функциям, модулям, программам, полям записей, иными словами, всему тому, что может быть поименовано. Важно познакомиться с правилами оформления идентификаторов. Любые ошибки в написании имен приведут к синтаксической ошибке, и программа не будет выполняться.
Типы данных — важнейшее понятие языка, поскольку все объекты языка характеризуются типами, которые в значительной степени определяют операции над ними, а также вид «компьютерного» представления соответствующих данных. В языке существует ряд стандартных типов данных, целый, вещественный, символьный, логический и пр. Для каждого типа есть правила их обозначения. Эти обозначения пишутся вслед за именем.
Правила оформления констант также играют важную роль в синтаксисе языка программирования. Например, при записи десятичных дробей используется десятичная точка, а не запятая, символьные данные оформляются в кавычках, аргумент функции всегда оформляется в скобках, следующих за именем функции, и т. д.
Любой язык программирования имеет целый ряд встроенных функций, т.е. готовых программ, одно обращение к которым по их имени приводит к получению результата, например sin (х), cos(x), log(x) и т.д. Напомним, что функция sqrt (х) обеспечивает нахождение квадратного корня из указанного аргумента.
Алгоритм, записанный на языке программирования, называется программой.
Каждый шаг алгоритма представлен некоторой командой. Команды в программе оформляются по правилам языка программирования и называются операторами языка программирования. Заметим, что для любой программы характерен естественный порядок исполнения команд, т.е. команды исполняются в порядке их написания в программе. Этот порядок может быть нарушен командами передачи управления (операторами перехода), которые относятся к управляющим командам, т.е. таким, которые не выполняют непосредственно обработку информации, а управляют работой программы.
Любая программа выполняется в результате ее трансляции — перевода записи операторов на язык компьютера. Каждый оператор в программе после трансляции будет представлен набором кодов команд. Эти команды выполняются в оперативной памяти компьютера.
Все константы и переменные размещаются в своих ячейках памяти в соответствии с присвоенными им идентификаторами — именами.
Код команды содержит не только эти имена данных, но и адреса ячеек оперативной памяти, в которых размещается значение соответствующих данных, а также код самой операции, предусмотренной в операторе. Операция может быть арифметической (сложение, вычитание, умножение, деление), встроенной функцией (которые сами являют собой набор команд), логической (сравнения) или управления (переход, ввод, вывод, старт, стоп, конец, пауза или задержка).
Интересно отметить еще одну особенность выполнения команд в компьютере. Например, основной арифметической командой является сложение. Операция вычитания представлена в компьютере как сложение с отрицательным числом, а операция умножения — как многократное сложение, соответственно операция деления — как многократное вычитание. Выполняет эти операции в компьютере сумматор. При этом важнейшую роль играет способ представления чисел в компьютере: целых, дробных, положительных и отрицательных. Правила записи этих чисел есть в синтаксисе языка и их следует неукоснительно выполнять.
Операторы языка программирования позволяют приступить к написанию простейших программ с использованием типовых алгоритмических конструкций.
Математическая запись формулы, записанная по правилам языка программирования справа от знака присваивания, называется арифметическим выражением. Арифметические выражения используются повсеместно при работе с компьютером — в программах-калькуляторах, электронных таблицах, что будет рассмотрено в дальнейшем. Важную роль в записи арифметического выражения играют встроенные функции, которые сами представляют собой команды для компьютера, требующие вычисления, а также скобки, позволяющие четко определить порядок операций в арифметическом выражении, в том числе для оформления дробного выражения с помощью деления числителя на знаменатель.
Ранее вы познакомились с основными алгоритмическими конструкциями: линейной, разветвляющейся и циклической. Для реализации этих конструкций используются соответствующие операторы языка программирования. Синтаксис (правила) записи операторов в различных языках программирования могут несколько отличаться. В связи с этим можно использовать список правил оформления операторов языка — неотъемлемую часть ПО (системы) языка программирования, представленную в разделе «Помощь». Часто в системе языка программирования автоматически воспроизводится типовой оператор при наборе первых символов оператора, а пользователю требуется его подправить. Рассмотрим основные операторы, реализующие типовые алгоритмические конструкции.
Оператор присваивания. Этот оператор работает так: результат вычисления выражения в правой части требуется присвоить в качестве значения переменной Y. Именно потому, что данный оператор выполняет функции не только вычисления, но и присваивания, в левой его части не может быть выражения, а только имя одной переменной — ячейки памяти компьютера, в которую производится запись результата вычисления.
Оператор ввода данных. Этот оператор размещает данные в оперативной памяти компьютера. Имена переменных, записанных в операторе INPUT в произвольном порядке, получают значения, вводимые с клавиатуры в этом же порядке, т.е. первой переменной соответствует первое введенное значение, второй — второе и т.д. Синтаксис оператора в общем виде будем называть его форматом.
Оператор вывода. Этот оператор предназначен для вывода результатов или на экран монитора или на принтер.
Существуют два вида операторов (команд) перехода. Оператор безусловного перехода передает управление к другой команде всегда, вне зависимости от каких бы то ни было условий.
Оператор условного перехода передает управление только в случае истинности некоторого условия, а в противном случае — просто игнорируется.
Смысл этого оператора состоит в том, что если условие истинно, то выполняется оператор или группа операторов, следующих за словом THEN, а если условие ложно, то выполняется оператор или группа операторов, следующих за словом ELSE (иначе). Конструкция ELSE здесь заключена в квадратные скобки. По правилам описания форматов это означает ее необязательность. В случае отсутствия в формате конструкции ELSE оператор выполняет также действия: если условие истинно, то выполняется оператор или группа операторов, следующих за словом THEN, а в противном случае — оператор, следующий за оператором IF в программе. Если используется группа операторов, то они разделяются двоеточиями.
Для реализации циклических алгоритмических конструкций используется оператор цикла, в языке Basic это «связка» операторов FOR и NEXT. Первый из них является начальным и главным оператором. Он открывает собой тело цикла, т. е. группу операторов, которые будут циклически выполняться фиксированное число раз.
Семантика программы.
Программа на языке программирования представляет собой алгоритм, записанный с помощью операторов языка. Собственно алгоритм и является семантикой программы. Большую роль играет правильная запись алгоритма средствами синтаксиса языка. Но не менее важную функцию выполняет и правильно построенная структура программы, отражающая порядок выполнения команд алгоритма компьютером.
В каждой программе имеется описательная (декларативная) и исполняемая часть. Описать имя переменной или функции — в первую очередь присвоить им тип.
Раздел описания констант.
Раздел описания переменных.
Раздел описания типов.
Раздел описания меток.
