Математика и информатика часть II. Информатика Пособие для студентов


Скачать 2.97 Mb.
Название Математика и информатика часть II. Информатика Пособие для студентов
страница 9/27
Тип Методические указания
rykovodstvo.ru > Руководство эксплуатация > Методические указания
1   ...   5   6   7   8   9   10   11   12   ...   27

Практическое занятие №6. Языки программирования высокого уровня

1. Цель занятия


Цель занятия – познакомиться с языками программирования, знать их классификацию. Уметь анализировать возможности и особенности рассматриваемых языков программирования, делать выводы об общих и отличительных характеристиках языков высокого уровня.

2. Теоретический материал для практического занятия №6


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

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

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

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

Таблица 6.1



Языки программирования

Низкого уровня (машинно-зависимые)

Высокого уровня (машинно-независимые)

Процедурные (директивные)

Непроцедурные

Операционные

Структурно-ориентированные

Объектно-ориентированные

Проблемно-ориентированные

1

Машинные языки

Бейсик

Ада

Object Pascal

LISP (Лисп) – декларативный язык обработки списков, символьной информации

2

Ассемблеры

Фортран

ALGOL

C++

Prolog (Пролог) – декларативный язык логического программирования

3

Макроассемблеры

Фокал

ПЛ/1

Паскаль

Java

Языки описания сценариев: Perl, Python, Rexx, Tcl, JavaScript

4







Си

Visual Basic Delphi

Снобол

Примечание

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

Все языки программирования можно разделить на две группы: языки низкого уровня и высокого уровня.

2.1.1. Языки низкого уровня

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

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

К языкам программирования низкого уровня относятся машинно-ориентированные языки, которые отражают структуру конкретного типа компьютера (ассемблеры). Операторы языков ассемблеров и макроассемблеров – это те же машинные команды, но записанные мнемоническими кодами, а в качестве операндов используются не конкретные адреса, а символические имена.

Язык макроассемблера является расширением языка ассемблера за счёт включения макросредств, позволяющих создавать макрокоманды.

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

Все языки низкого уровня ориентированы на определенный тип компьютера, т.е. являются машинно-зависимыми.

2.2. Классификация языков программирования высокого уровня

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

Такой перевод на язык машинных кодов называется трансляцией, а выполняется он специальными программами – трансляторами.

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

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

Существует два основных вида трансляторов: интерпретаторы и компиляторы.

Компилятор (англ. Compiler – составитель) читает всю исходную программу (исходный модуль) целиком, делает её перевод на машинный язык, преобразуя всю программу в модуль на машинном языке (объектный модуль). Только после присоединения стандартных функций и процедур создаёт загрузочный модуль, который записывается в памяти ПК и выполняется. После компиляции исходная программа и компилятор для выполнения программы на компьютере не нужны, если в программе нет ошибок и она не будет изменяться.

Интерпретатор (англ. Interpreter – переводчик) это программа, которая переводит каждый оператор программы, записанной на алгоритмическом языке, на машинный язык и выполняет программу построчно, что позволяет сразу редактировать и исправлять ошибки.

Откомпилированные программы работают быстрее, интерпретируемые проще исправлять.

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

  1. Ввод и редактирование текста на языке программирования

  2. Трансляция

  3. Отладка программы.

Любой язык программирования содержит определённые правила записи, которые определяют синтаксис данного языка, смысл каждой команды составляет семантику языка. Если неправильно записан оператор, то появляется сообщение о синтаксической ошибке. Если оператор используется не по своему назначению, то это семантическая ошибка.

При запуске программы идёт проверка программы с целью поиска ошибок. Этот процесс называется тестированием. Если обнаружены ошибки, то необходимо их устранить. Процесс устранения ошибок называется отладкой.

Языки высокого уровня являются машинно-независимыми.

Языки высокого уровня можно разделить на алгоритмические (вычислительные) и проблемно-ориентированные (языки символьной обработки). К первому типу относят Фортран, Паскаль, Алгол, Бейсик, Си, ко второму типу – Лисп, Пролог, Снобол и др.

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

2.2.1. Процедурное программирование

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

В структурных языках одним оператором записываются целые алгоритмические структуры: ветвления, циклы и т.д. Широко распространены следующие структурные языки: Паскаль, Си, Ада, ПЛ/1.

В операционных языках для этого используются несколько операций. Среди операционных известны следующие языки: Фортран, Бейсик, Фокал.

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

2.2.2. Объектно-ориентированное программирование

Объектно-ориентированные языки не описывают подробной последовательности действий для решения задачи, хотя они содержат элементы процедурного программирования. Благодаря богатому пользовательскому интерфейсу, эти языки дают человеку возможность решить задачу в удобной для него форме. Примером такого языка может служить язык программирования визуального общения Object Pascal.

В основе объектно-ориентированного стиля программирования лежит понятие объекта, а суть его выражается формулой: «объект = данные + процедуры». Каждый объект интегрирует в себе некоторую структуру данных и доступные только ему процедуры обработки этих данных, называемые методами. Объединение данных и процедур в одном объекте называется инкапсуляцией и присуще объектно-ориентированному программированию.

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

Программирование рассматриваемого стиля заключается в выборе имеющихся или создании новых объектов и организации взаимодействия между ними. При создании новых объектов свойства объектов могут добавляться или наследоваться от объектов-предков. В процессе занятия с объектами допускается полиморфизм – возможность использования методов с одинаковыми именами для обработки данных разных типов.

К наиболее современным объектно-ориентированным языкам программирования относятся C++, C#, Java.

2.2.3. Системы визуально-ориентированного программирования

В последнее время многие программы, в особенности объектно-ориентированные, реализуются как системы визуального программирования. Отличительной особенностью таких систем является мощная среда разработки программ из готовых «строительных блоков», позволяющая создать интерфейсную часть программного продукта в диалоговом режиме, практически без кодирования программных операций.

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

К числу объектно-ориентированных систем визуального программирования относятся; Visual Basic, Delphi, Borland C++ Builder и Visual C++. Visual Basic применяется для создания приложений программных продуктов под Windows, Borland C++ Builder и Visual C++ применяются для разработки Интернет-обозревателей и операционных систем.

Появление языков данного поколения относится к середине 90-х годов 20 века. К языкам этого поколения относятся системы автоматического создания прикладных программ с помощью визуальных средств разработки, без знания программирования.

2.2.4. Проблемно-ориентированное (непроцедурное или декларативное) программирование

Проблемно-ориентированное программирование предназначено для решения задач определённого класса. Непроцедурное программирование появилось в период 196070 годов, которое стало быстро развиваться в 80-х годах 20-го века с целью создания интеллектуальных машин. К непроцедурным языкам относятся функциональные, логические языки, языки описания сценариев.

Функциональные и логические языки программирования относятся к декларативным языкам

1) Функциональное программирование

В функциональных языках программа описывает вычисление некоторой функции, полагая неизменность данных, и рассматривает процесс вычисления как получение результата математически описанной функции. Обычно эта функция задаётся как композиция других, более простых, те в свою очередь разлагаются на ещё более простые задачи и т.д. Один из основных элементов функциональных языков - рекурсия. Переменных, присваивания и циклов в классических функциональных языках нет.

Первым таким языком был LISP (Лисп). Долгое время этот язык занимал ведущее место, со временем появились другие языки функционального программирования, например Haskell. Большинство программ искусственного интеллекта составлено на языке LISP. Этот язык особенно популярен в США, в настоящее время интерес к языку Лисп в нашей стране растёт.

2) Логическое программирование

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

Позже появился язык PROLOG, в котором нет плана перебора вариантов, что явилось упрощением языка Planner. На основе языка Planner разработаны языки логического программирования: Popler, Conniver, Ether и др. На основе языка Пролог разработаны языки логического программирования: Mercury, Visual Prolog, Oz, Fril.

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

3) Языки описания сценариев

Языки описания сценариев, такие как Perl, Python, Rexx, Tcl, Java Script и языки оболочек UNIX, предполагают стиль программирования, весьма отличный от характерного для языков системного уровня. Они предназначаются не для написания приложения с нуля, а для комбинирования компонентов, набор которых создается заранее при помощи других языков. Развитие и рост популярности Internet также способствовали распространению языков описания сценариев.

3. Примеры выполнения задания к практическому занятию №6


Примером выполнения задания к практической работе №6 является таблица 6.1 классификации языков программирования.

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

4. Задания к практическому занятию № 6


В Приложении 2 из таблицы 6.2 выбрать свой вариант, дать описание языка программирования, который соответствует его заданию. В классификации языков указать его место.

В Приложении 2 даётся краткая характеристика некоторых из приведенных в таблице 6.2 языков программирования. Студент для выполнения данного задания может использовать дополнительные источники информации.

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

Задания ИДЗ №3 по теме «Языки программирования высокого уровня» не предусмотрено.

5. Вопросы для самоконтроля к практическому занятию № 6. Тема «Языки программирования высокого уровня».


1. К языкам программирования не относится:

1) Access; 2) Basic; 3) Pascal; 4) Java.

2. Языками разметки данных являются:

1) Basic; 2) HTML, XML; 3) Pascal; 4) MS DOS.

3. Системой программирования является:

1) C++ ; 2) Word; 3) Access; 4) Paint.

4. К языкам программирования относится:

1) Pascal; 2) Access; 3) Power Point; 4) Paint.

5. К языкам программирования высокого уровня не относится …

1) С++ ;2) Basic; 3) Pascal; 4) машинный.

6. К языкам программирования высокого уровня относится …

1) Basic; 2) машинный; 3) Paint; 4) Access.
1   ...   5   6   7   8   9   10   11   12   ...   27

Похожие:

Математика и информатика часть II. Информатика Пособие для студентов icon Программа дисциплины
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов направлений 231300. 62 «Прикладная...
Математика и информатика часть II. Информатика Пособие для студентов icon О. М. Топоркова информационные технологии
Учебное пособие предназначено для студентов вузов, обучающихся по направлениям подготовки Информатика и вычислительная техника; Прикладная...
Математика и информатика часть II. Информатика Пособие для студентов icon Учебное пособие для обучающихся в спбгу по направлениям астрономия,...
Учебное пособие для обучающихся в спбгу по направлениям астрономия, информатика, математика, механика, прикладная математика, физика,...
Математика и информатика часть II. Информатика Пособие для студентов icon Информатика
Учебное пособие предназначено для студентов гбпоу ио «иттриС» заочного отделения, обучающихся по специальностям тора, тэпс и опут....
Математика и информатика часть II. Информатика Пособие для студентов icon Программа итогового экзамена по направлению 01. 04. 02 "Прикладная математика и информатика"
Государственный междисциплинарный экзамен по направлению – 01. 04. 02 "Прикладная математика и информатика" включает дисциплины
Математика и информатика часть II. Информатика Пособие для студентов icon Рабочая программа по дисциплине «Системное и прикладное программное...
Рабочая пpогpамма составлена на основе на основании на основании решения кафедры «Вычислительная техника» Ульяновского государственного...
Математика и информатика часть II. Информатика Пособие для студентов icon Российской федерации
Содержание: умк по дисциплине математическийанализ для студентов направления подготовки 44. 03. 05 Педагогическое образование профилей...
Математика и информатика часть II. Информатика Пособие для студентов icon Образовательная программа высшего образования «Прикладная математика и информатика»
Государственная итоговая аттестация выпускника по направлению подготовки бакалавров 01. 03. 02 Прикладная математика и информатика...
Математика и информатика часть II. Информатика Пособие для студентов icon Образовательная программа высшего образования «Прикладная математика и информатика»
Государственная итоговая аттестация выпускника по направлению подготовки бакалавров 01. 03. 02 Прикладная математика и информатика...
Математика и информатика часть II. Информатика Пособие для студентов icon Рабочая программа дисциплины «Информатика» (по гос «Информатика и программирование»)
Рабочая программа предназначена для преподавания дисциплины «Информатика» студентам очной полной формы обучения по направлению подготовки...
Математика и информатика часть II. Информатика Пособие для студентов icon Е. П. Давлетярова Ю. А. Медведев Файловый менеджер Total Commander ч асть 2
«Информатика», «Математика и информатика», «Информационные и коммуникационные технологии в образовании», а также могут быть использованы...
Математика и информатика часть II. Информатика Пособие для студентов icon Учебное пособие предназначено: для использования в ходе подготовки...
Учебное пособие предназначено: для использования в ходе подготовки к компьютерному тестированию по курсу «Информатика» студентами...
Математика и информатика часть II. Информатика Пособие для студентов icon Программа дисциплины «Информатика и программирование» для направления...
Программа дисциплины «Информатика и программирование» для направления 01. 03. 04 «Прикладная математика» подготовки бакалавров
Математика и информатика часть II. Информатика Пособие для студентов icon Программа дисциплины «Информатика и программирование» для направления...
Программа дисциплины «Информатика и программирование» для направления 01. 03. 04 «Прикладная математика» подготовки бакалавров
Математика и информатика часть II. Информатика Пособие для студентов icon Российской Федерации Московский инженерно-физический институт (государственный...
Учебное пособие предназначено для студентов специальностей «эвм», «Прикладная математика и информатика» и«Автоматизированные системы...
Математика и информатика часть II. Информатика Пособие для студентов icon Методические указания содержат задания к лабораторным работам по...
Методические указания предназначены для студентов направления «Прикладная информатика» профиля «Прикладная информатика в экономике»,...

Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск