Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК_Информатика-344 готовый.doc
Скачиваний:
33
Добавлен:
30.04.2019
Размер:
4.96 Mб
Скачать
  1. Языки программирования высокого уровня, базы данных.

    1. Системы программирования.

    2. Понятия «банк данных», «база данных», «система управления базой данных».

    3. Виды и модели баз данных.

    4. Элементы базы данных.

    5. Информационно-логическая модель базы данных.

    6. Языковые средства баз данных.

    7. СУБД Microsoft Access.

§7.1. Системы программирования

Даже при наличии десятков тысяч готовых программ пользователям может понадобиться нечто такое, чего не делают имеющиеся (готовые) программы или делают не так. В этих случаях для разработки новых программ используются системы программирования.

Физические принципы работы устройств ЭВМ таковы, что компьютер может воспринимать только машинный код – набор команд, состоящих из единиц и нулей. На начальной стадии развития ЭВМ человеку необходимо было составлять программы только на машинном языке, понятном компьютеру. Каждая команда состояла из кода операций и адресов операндов, выраженных в виде различных сочетаний единиц и нулей.

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

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

  • язык программирования, определяющий синтаксис команд;

  • преобразователь исходного текста программы в машинный код;

  • вспомогательные средства, в том числе, библиотеки, отладчик, компоновщик и другие средства.

В мире насчитывается несколько десятков систем программирования (соответственно, и языков), которые могут быть классифицированы по различным признакам.

Компьютерные программы используют систему команд процессора и периферийных устройств. По степени зависимости исходного программного кода от конкретной вычислительной системы различается два типа языков программирования:

  • машинно-ориентированные языки, предназначенные для использования на тех ЭВМ, для которых они разработаны (например, Assembler);

  • машинно-независимые языки, предназначенные для использования на любых ЭВМ (их большинство). Это языки высокого уровня, созданные для снижения трудоемкости разработки программ (например, Basic, C, Pascal).

Алфавит и синтаксис языков программирования определяется исходя из стремления приблизить их к человеческому языку, но вместе с тем обеспечить возможность перевода записи алгоритма с языка программирования в машинный код. В отличие от человеческого языкам программирования свойственна строгость синтаксических и семантических правил.

По способу получения машинного кода выделяется два типа языков программирования:

  • компилируемые, большинство языков, например, C или Pascal;

  • интерпретируемые, например, Basic или FoxPro.

В соответствии с подходом к разработке программного обеспечения выделяется два типа языков программирования:

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

  • объектно-ориентированные, значительное распространившиеся в последнее время. Прототипом объектно-ориентированного программирования явился язык моделирования Simula-1 (1964 г.). Но в самостоятельный стиль оно оформилось лишь с появлением языка Smalltalk (1972 г.), первоначально предназначенного для реализации функций машинной графики.

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

Рассмотрим некоторые существующие языки программирования в порядке увеличения их уровня.

1) Язык шестнадцатеричного кода – упрощен за счет представления четырех двоичных цифр одной шестнадцатеричной, но все равно очень сложен и практически не используется.

2) Ассемблер (Assembler) – предназначен для представления в удобочитаемой символической форме программ, написанных на машинном языке. Иногда используется в качестве дополнения к языкам высокого уровня для программирования критичных ко времени выполнения фрагментов программ.

3) Макроассемблер (MacroAssembler) – расширение языка Ассемблер, которое позволяет определять и использовать новые, более мощные команды.

4) Си (C) разработан в 1972 г. (так его назвали потому, что предыдущая версия называлась «B»). Сочетает достоинства современных высокоуровневых языков (в части структур данных и управляющих структур) с возможностью эффективного использования аппаратных ресурсов компьютера, которое обычно обеспечивается только на уровне языка Ассемблер. Однако синтаксис языка затрудняет программирование и понимание составленных программ.]

5) БЕЙСИК (BASICBeginner's All-purpose Symbolic Instruction Code – многоцелевой код символических инструкций для начинающих) создан в 1964 г. для использования новичками при написании простых программ. Первоначально работа велась только в режиме интерпретации. Сегодня существует множество несовместимых между собой диалектов (версий) языка, причем современные весьма развиты и мало чем напоминают своего предка.

6) ФОРТРАН (FORTRANFORmule TRANslator – формульный транслятор) разработан в 1955 г. компанией IBM. Считается «рабочей лошадью» научных работников за счет своей приспособленности к ведению сложных вычислений и используется до настоящего времени, несмотря на свою ограниченность и «корявость».

7) Паскаль (Pascal) создал Никлаус Вирт в 1968 г. и назвал его в честь французского математика Блэза Паскаля. В этом языке полностью реализована концепция структурного программирования не только путем упорядочения связей между фрагментами программы, но и за счет структуризации данных. Один из наиболее популярных языков программирования.

8) Модула-2 (Modula-2) разработал Никлаус Вирт в 1981 г. (по существу это развитие Паскаля). Его особенности состоят в высокой модульности программ и наличии средств описания параллельных процессов.

9) Ада (Ada) создан в 1980 г. по заказу Министерства обороны США. Назван так в честь Ады Лавлейс (первый в мире программист), которая была ассистентом Чарльза Бэббиджа. Этот универсальный язык вводит строгую дисциплину программирования, что препятствует написанию «плохих программ». Несмотря на достоинства, обладает громоздкостью, что отталкивает программистов.

10) Лого (Logo) разработан в 1969 г. с целью обучения детей и используется в настоящее время. Отличается простотой, но весьма богатыми возможностями, среди которых процедуры, графические средства и т.д.

Также существует два некогда популярных языка, утративших свои позиции в настоящее время:

  • АЛГОЛ (ALGOLALGOrithmic Language – алгоритмический язык) создан в 1958 г. Применялся для описания алгоритмов решения задач численного анализа. Обладает богатым набором средств, высокой строгостью и стройностью, но и большой сложностью;

  • КОБОЛ (COBOLCOmmon Business Oriented Language – общепринятый деловой ориентированный язык) разработан в 1958 – 60 гг. в США. Применялся при написании программ для решения учетно-экономических и управленческих задач. Обеспечивает наглядную и достаточно компактную запись алгоритмов в форме, независимой от конкретной ЭВМ.

Программа на объектно-ориентированном языке программирования состоит из совокупности взаимосвязанных объектов, характеризующихся своим состоянием (набором свойств) и поведением (набором действий). Задачей программиста является определение возможных событий для каждого объекта и соответствующих этим событиям реакций объекта. Когда с объектом происходит предусмотренное событие, он должен ответить на него, вызвав соответствующую процедуру обработки данного события. Системы программирования с объектно-ориентированными языками характеризуются богатой средой программирования с графическими возможностями. Примерами таких систем являются Visual Basic, Visual C (язык C++) и Delphi (язык Object Pascal).

Кроме перечисленных, существуют специализированные языки, например, для построения экспертных систем. Таковым является язык ЛИСП (LISPLISt Processing language – язык обработки списков), разработанный в 1961 г. в США. Используется специалистами как основной язык программирования для создания систем искусственного интеллекта.

Долгое время программирование и логика были непересекающимися областями исследований. Только в 1973 г. впервые было опубликовано описание языка ПРОЛОГ (PROLOGPROgrammation en LOGique – логическое программирование). В настоящее время существует около двух десятков реализаций языка, некоторые из которых оформлены в виде интегрированных сред. Язык также используется для построения экспертных систем.

В настоящее время ведущими разработчиками систем программирования являются компании Microsoft и Borland International.