Лекция 1. Основы языков программирования.

 

Сама по себе ЭВМ ничего делать не может. Для того чтобы заставить машину сделать что-то полезное, надо описать каждый шаг, который она должна выполнить, то есть разработать алгоритм, на основе которого составляется программа для исполнения на ЭВМ.

Алгоритм - это детально описанная последовательность действий (операций), однозначно приводящая к решению поставленной задачи.

Программа - это алгоритм, реализованный на некотором языке программирования.

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

· Для управления работой компьютера, распределения его ресурсов, поддержания диалога с пользователем, оказания помощи в разработке новых программ и выполнении работ, связанных с обслуживанием ЭВМ;

· Для решения прикладных задач из различных областей человеческой деятельности.

Первая из указанных групп программ называется системным (базовым) программным обеспечением, вторая - прикладным программным обеспечением.

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

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

Чтобы снять проблемы программирования на данном уровне, были созданы языки высокого уровня, такие, как ФОРТРАН, БЕЙСИК, ПАСКАЛЬ, СИ и др. В них сделана попытка сориентировать задачу программирования на людей, а не на машину. В языках высокого уровня программа состоит из операторов - инструкций, схожих с выражениями на английском языке, формат арифметических выражений в них близок к обычной алгебраической записи. Но поскольку ЭВМ может выполнять только команды машинного языка, программу на языке высокого уровня требуется преобразовать в эквивалентные последовательности команд машинного кода. Эта операция выполняется специальной программой, называемой транслятором. Транслятор преобразует исходную программу, написанную на языке высокого уровня, в эквивалентный объектный модуль на машинном языке. Это процесс называется трансляцией.