Языки программирования
Цели: познакомиться с основными понятиями программирования; познакомиться с различными классификациями и видами языков программирования, познакомить с основными конструкциями алфавита языка программирования Бейсик.
Программирование в машинных кодах невероятно сложно и трудоемко. Когда-то самые первые программы писали именно так, но сегодня машинным кодом уже не пользуются, хотя очень небольшие нестандартные процедуры иногда записывают с помощью мнемоник ассемблера, а потом заносят их в библиотеку, чтобы использовать в дальнейшем.
Множество вспомогательных операций, необходимых для создания программы, поручили самому же компьютеру. Так появились языки программирования. Программа на языке программирования записывается с помощью более-менее понятных человеку слов и символов. При этом получается так, что чем ближе язык программирования к машинному коду, тем удобнее программа для процессора — она и выполняется быстрее, и места в памяти меньше занимает. А чем ближе язык к человеческому, тем удобнее он людям, но тем меньше в нем команд для управления регистрами процессора. Языки, близкие к процессору, называют языками низкого уровня, а языки, удобные для людей, — языками высокого уровня.
Язык самого низкого уровня известен — это язык машинного кодирования (ближе к процессору ничего не может быть). Чуть выше лежит уровень языка ассемблера, а далее идут сотни всевозможных прочих языков.
Программу на языке программирования записывают в обычном текстовом редакторе и получают текстовый файл. Такой программный код, записанный на языке программирования высокого уровня, называют исходным модулем (кодом, текстом). Исходный текст программы состоит из специальных команд (операторов языка программирования). Процессор их исполнить не может, и исходный код преобразуют в инструкции процессора. Это преобразование берут на себя трансляторы.
Есть два вида трансляторов: компиляторы и интерпретаторы. Компилятор преобразует исходный код в машинный. В результате получается так называемый объектный модуль. Он записан в машинном коде, но работать он тоже пока не может — к нему надо подключить стандартные процедуры, которые использовал программист. Эти процедуры выбираются из библиотек, прилагающихся к языку программирования. Операцию выбора процедур из библиотек и подключения их к объектному коду выполняет специальная программа — редактор связей. Только после этого получается работающая программа — ее называют рабочим кодом или исполняемым кодом.
Кроме компиляторов используются также интерпретаторы. Это такие трансляторы, которые обрабатывают текст не заранее, а непосредственно во время работы программы. Интерпретатор — это программа-посредник, читающая команды из исходного файла и переводящая их на язык процессора «на ходу» (прямо во время работы программы).
Классы языков программирования высокого уровня
Использование языков программирования высокого уровня для создания программ началось в 60-х годах. С тех пор и по настоящее время создано и используется множество различных языков программирования, как универсальных, так и ориентированных на определенный круг задач.
Каждый язык программирования имеет свое название. Названия большинства языков программирования были зафиксированы при их первоначальном появлении. С тех пор правила, используемые в языках, могли существенно меняться, но название языки, как правило, осталось без изменения.
В настоящее время языки программирования делят на процедурные (большинство «классических» языков программирования, например FORTRAN, PASCAL, BASIC, С), логические (ЛИСП, ПРОЛОГ и др.) и объектно-ориентированные (C++, Java и др.).
При создании коротких программ удобно использовать процедурные языки программирования; логические языки используют при теоретическом исследовании алгоритмов, в работах по изучению искусственного интеллекта, в операциях с базами данных, и создании систем управления войсками и промышленными объектами; а объектно-ориентированные языки программирования лучше всего подходят при разработке больших и сложных программ (например, компьютерных игр).
Несмотря на серьезнейшие различия между разными языками программирования, все они имеют аналогичные средства реализации основных операций. Более того, при создании любой программы можно использовать язык программирования любого типа, хотя трудоемкость работы при использовании разных языков будет разной.
С основными особенностями языков программирования мы познакомимся на примере одного из простейших процедурных языков программирования — языка BASIC. Интерпретатор для этого языка прилагается к последним версиям MS-DOS (например, MS-DOS 6.22). Версия, которую мы рассмотрим, называется QuickBasic (QBASIC). Именно на примере этого языка и будет рассказано об основах программирования. Далее мы будем говорить просто о языке BASIC, имея в виду QuickBasic. Следует понимать, что эта версия представляет собой существенно обновленный и относительно осовремененный вариант классического языка BASIC.
Языки программирования
Категория | Представление программ и данных | Представление о работе программы | Связь частей программы между собой |
Процедурные | Программа и обрабатываемые данные представляют собой отдельные, вообще говоря, не связанные друг с другом, элементы | Работа программы рассматривается как последовательное выполнение операторов | Связь различных частей программы осуществляется только через данные, которые могут обрабатываться ими совместно |
Объектно-ориентированные | Данные и методы их обработки инкапсулирован в рамках единого объекта | Работа программы рассматривается как последова- тельность событий и соответствующих реакций различных объектов на эти события | Отдельные части программы могут наследовать методы и элементы данных друг у друга |
Логические | Данные и правила их обработки объединены в рамках единого логического структурного образования | Работа программы рассматривается как преобразование («упрощение») этого образования в соответствии со строгими логическими правилами | Разбиение программы на отдельные независимые части затруднительно |
Основные конструкции языка Бейсик.
1. Алфавит языка Бейсик. Алфавит - совокупность символов и сочетаний
символов, предназначенных для обозначения объектов языка.
Алфавит языка Бейсик состоит из:
букв( А, В, ...., Z;a, b,...,z; А, Б, , Я; а, б, , я.)
цифр (0,1, 2, ,9.)
знаков операций ( " +" , " - ", " ^ " и т.д.)
разделителей
специальных знаков
ключевых знаков
2. Константы.
Константы - это величины, не изменяющиеся в процессе исполнения.
В Бейсике константы могут быть:
строковые (литерные) - различные буквы и символы, а также их сочетания
целые - числа, принадлежащие множеству целых чисел
вещественные (действительные) – действительные числа
3. Переменные.
Переменные - это величины, способные применятся в процессе выполнения программы, какие-либо значения из любого множества. Переменные разделяются на:
строковые (литерные) - начинаются с букв и содержат не более 2-х символов, обозначаются знаком $
А$,А1$,АВ$.
целые ( обозначаются знаком %) А%,А1%, 2%,АВ%
вещественные ( числа, употребляемые без знака)
4. Арифметические выражения.
Арифметические выражения составляются из констант и переменных с помощью арифметических знаков, математических функций и скобок. Для обозначения арифметических операций и функций используются следующие символы:
№ п/п | Операция и функции в математике | Соответствующие Символы в Математике | Соответствующие символы в Бейсике |
1 | Сложение | + | + |
2 | Вычитание | - | - |
3 | Умножение | * | * |
4 | Деление | | / |
5 | Деление нацело | | \ |
6 | Возведение в степень | (23 ) | ^ (2^3) |
7 | Синус | sinx | Sin(x) |
8 | Косинус | COSX | Cos(x) |
9 | Тангенс | tgx | Tan(x) |
10 | Котангенс | ctgx | 1/tan(x) |
11 | Натуральный логарифм | In х | LOG(X) |
12 | Логарифм по основанию «а» |
|
|
13 | Экспонента | Е | ЕХР(Х) |
14 | Корень квадратный | √х | SQR(X) |
15 | Модуль | |х| . | MOD(X) |
Примеры:
1) Записать выражение на языке Бейсик
A) Решение: (а^ 2 - 4* а* b) / ( d^3)
Б) Решение: (5*(SIN(X))/ (Х^2+1)
B) Решение: ( Z^ 2 -3* (mod(Z)) + 17) / (1 / ( TAN ( У))
Контрольные вопросы:
Какие классификации языков программирования вы знаете?
Дайте краткую характеристику каждому классу языков программирования.
Перечислите основные элементы алфавита языка программирования Бейсик.
Какие особенности записи арифметических выражений в Бейсике?