Смекни!
smekni.com

Графические возможности программирования в курсе информатики (стр. 2 из 13)

С помощью языков программирования можно создавать свои программы, решать нестандартные задачи, решить которые в стандартных пользовательских программах невозможно. Программирование вырабатывает у учащихся следующие развивающие функции: четкое логическое мышление, аккуратность и внимательность, и при этом развивает находчивость, изобретательность, фантазию и творческие способности. Недаром программирование, называют не только наукой, но и искусством.

Рассмотрим понятие и структуру системы программирования в целом, и языки в частности.

Системы программирования – это комплекс инструментальных программных средств, предназначенный для работы с программами на одном из языков программирования. Системы программирования предоставляют сервисные возможности программистам для разработки их собственных компьютерных программ.

В настоящее время разработка любого системного и прикладного программного обеспечения осуществляется с помощью систем программирования, в состав которых входят [10, c. 12]:

– трансляторы с языков высокого уровня;

– средства редактирования, компоновки и загрузки программ;

– макроассемблеры (машинно-ориентированные языки);

– отладчики машинных программ.

Системы программирования, как правило, включают в себя:

– текстовый редактор (Edit), осуществляющий функции записи и редактирования исходного текста программы;

– загрузчик программ (Load), позволяющий выбрать из директория нужный текстовый файл программы;

– запускатель программ (Run), осуществляющий процесс выполнения программы;

– компилятор (Compile), предназначенный для компиляции или интерпретации исходного текста программы в машинный код с диагностикой синтаксических и семантических (логических) ошибок;

– отладчик (Debug), выполняющий сервисные функции по отладке и тестированию программы;

– диспетчер файлов (File), предоставляющий возможность выполнять операции с файлами: сохранение, поиск, уничтожение.

Ядро системы программирования составляет язык. Существующие языки программирования можно разделить на две группы: процедурные и непроцедурные (рисунок 1).

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

Процедурные языки разделяют на языки низкого и высокого уровня [10, c. 154].

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


Рис. 1. Общая классификация языков программирования.


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

Фортран (FORmula TRANslating system – система трансляции формул); старейший и по сей день широко распространенный язык, особенно среди пользователей, которые занимаются численным моделированием. Это объясняется несколькими причинами [51, c. 125]:

– существованием огромных фондов прикладных программ на Фортране, накопленных за эти годы, а также наличием огромного количества программистов, эффективно использующих этот язык;

– наличием эффективных трансляторов Фортрана на всех типах ЭВМ, причем версии для различных машин достаточно стандартизированы и перенос программ с машины на машину, обычно не составляет больших трудностей;

– изначальной направленностью Фортрана на физико-математические и технические приложения; в частности, это проявилось в том, что в течение долгого времени он оставался единственным языком со встроенным комплексным типом переменных и большим набором встроенных функций для работы с такими переменными.

За прошедший период сформировалась новая методология и философия программирования. С начала 70-х годов Фортран подвергался заслуженной критике. Выпущенный в 1990 году транслятор MS-Fortran 5.0 практически полностью соответствует стандарту Fortran-90.

Большинство крупных научно-технических прикладных программ написано на Фортране потому, что он обладает переносимостью и устойчивостью, а также благодаря наличию встроенных математических и тригонометрических функций.

Бейсик (Basic – Beginner’s All-Purpose Symbolic Instruction Code – «универсальный символический код инструкций для начинающих»). Прямой потомок Фортрана и до сих пор самый популярный язык программирования для персональных компьютеров. Появился Бейсик в 1963 году (назвать автора было бы трудно, но основная заслуга в его появлении, несомненно, принадлежит американцам Джону Кемени и Томасу Курцу). Как и любые преимущества, простота Бейсика оборачивалась, особенно в ранних версиях трудностями структурирования; кроме того, Бейсик не допускал рекурсию – интересный прием, позволяющий составлять эффективные и в то же время короткие программы.

Разработаны мощные компиляторы Бейсика, которые обеспечивают не только богатую лексику и высокое быстродействие, но и возможность структурного программирования. По мнению некоторых программистов, наиболее интересными версиями являются GWBASIC, Turbo-Basic и Quick Basic.

В свое время появление Quick Basic ознаменовало рождение второго поколения систем программирования на языке Бейсик. Он предоставлял возможность модульного и процедурного программирования, создания библиотек, компиляции готовых программ и прочее, что вывело его на уровень таких классических языков программирования, как Си, Паскаль, Фортран и др. Более того, в связи с отсутствием официального стандарта языка Бейсик, его реализация в виде Quick Basic стала фактическим стандартом. Безусловными лидерами среди различных версий Бейсика были Quick Basic 4.5 и PDS 7.1 фирмы Microsoft, появившиеся в конце 80-х годов [13, c. 6].

В 1960 году командой во главе с Петером Науром (Peter Naur) был создан язык программирования Algol. Этот язык дал начало целому семейству Алгол-подобных языков (важнейший представитель – Pascal). Алгол (ALGOrithmic Language – алгоритмический язык); сыграл большую роль в теории, но для практического программирования сейчас почти не используется.

ПЛ/1 (PL/I Programming Language – язык программирования первый) разработан в 1964-1965 годах фирмой IBM. ПЛ/1 относится к числу универсальных языков, т. е. позволяет решать задачи из разных областей: численные расчеты, текстовая обработка, экономические задачи и т. д. По своим возможностям он перекрывает такие языки, как Фортран, Алгол-60 (созданный для численных расчетов), Кобол (для экономических задач), хотя в силу ряда причин вытеснить эти языки ПЛ/1 не смог.

ПЛ/1 содержит все основные конструкции, характерные для так называемых языков высокого уровня, а также ряд специфичных средств, удобных для практического программирования. Язык напоминает конструктор с большим числом деталей – пользователю достаточно освоить только те части языка, которые ему практически необходимы.

Вместе с тем, ПЛ/1 имеет и ряд недостатков, затрудняющих изучение и использование языка. Основные из них таковы, во-первых, имеется много дублирующих друг друга средств их сложно запомнить, не ясно, что когда применять, кроме того, это снижает как скорость трансляции, так и скорость выполнения программ. Во-вторых, программы получаются не совсем машинно-независимыми [23, с. 168].

В 1972 году во время совместной работы с Кеном Томпсоном Сотрудник фирмы Bell Labs Денис Ритчи создал язык Си(С – «си»), как инструментальное средство для реализации операционной системы Unix, однако популярность этого языка быстро переросла рамки конкретной операционной системы и конкретных задач системного программирования.

В настоящее время любая инструментальная и операционная система не может считаться полной, если в ее состав не входит компилятор языка Си.

Ритчи не выдумывал Си просто из головы – прообразом служил язык Би разработанный Томпсоном. Язык программирования Си был разработан как инструмент для программистов-практиков. В соответствии с этим главной целью его автора было создание удобного и полезного во всех отношениях языка.

Сиявляется орудием системного программиста и позволяет глубоко влезать в самые тонкие механизмы обработки информации на ЭВМ. Хотя язык требует от программиста высокой дисциплины, он не строг в формальных претензиях и допускает краткие формулировки.

Си – современный язык. Он включает в себя те управляющие конструкции, которые рекомендованы теорией и практикой программирования. Его структура побуждает программиста использовать в своей работе нисходящее проектирование, структурное программирование и пошаговую разработку модулей. В некотором смысле язык Си – самый универсальный, т.к. кроме набора средств, присущих современным языкам программирования высокого уровня (структурность, модульность, определенные типы данных). Большой набор операторов и средств требуют от программиста осторожности, аккуратности и хорошего знания языка со всеми иго преимуществами и недостатками [32, с. 140].

Язык C++ появился в начале 80-х годов, созданный Бьерном Страуструпом с первоначальной целью избавить себя и своих друзей от программирования на Си или различных других языках высокого уровня.

Очевидно, что больше всего C++ позаимствовал из языка Си, а также из непосредственного его предшественника языка BCPL. Эти заимствования обеспечили C++ мощными средствами низкого уровня, позволяющие решать сложные задачи системного программирования. Но что в первую очередь отличает C++ от Си – это разная степень внимания к типам и структурам данных. Это связанно с появлением понятий класса, производного класса и виртуальной функции, перенятых в свою очередь из языка Симула 67. Это дает в C++ более эффективные возможности для контроля типов и обеспечивает модульность программы.